@stacksjs/stx 0.2.86 → 0.2.88
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-shell.js +57 -57
- package/dist/cli.js +66 -66
- package/dist/dev-server/serve-app.js +58 -58
- package/dist/dev-server/serve-file.js +57 -57
- package/dist/dev-server.js +57 -57
- package/dist/index.js +57 -57
- package/dist/template-compiler.js +53 -53
- package/package.json +5 -5
|
@@ -725,7 +725,7 @@ catch (e) {
|
|
|
725
725
|
}
|
|
726
726
|
return result;
|
|
727
727
|
// eslint-disable-next-line pickier/no-unused-vars
|
|
728
|
-
`)}var DW,r5,wX,iN,kW,nN,bW,EW=65536;var d0=k(()=>{DW={maxSanitizeDepth:10,allowBracketNotation:!1},r5={...DW};wX=[/\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/],iN=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"]),kW=new Set(["__proto__","constructor","prototype"]),nN=/[\w)\]]\s*\[\s*['"]/;bW=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 RX(){CW=0,s3.clear()}function E4($,Z){let Y=CW++,X=`<!--__STX_${$.toUpperCase()}_${Y}__-->`;return s3.set(X,{type:$,expression:Z}),X}function MX(){let $={};for(let[Z,Y]of s3)$[Z]={type:Y.type,expression:Y.expression};return $}function aN($){let Z={},Y=/<!--__STX_(EXPR|COND|RAW)_(\d+)__-->/g,X;while((X=Y.exec($))!==null){let J=X[0],Q=X[1].toLowerCase(),G=s3.get(J);Z[J]={type:Q,expression:G?.expression||""}}return Z}function r3($,Z){let Y=$;for(let[X,J]of Z)Y=Y.split(X).join(J);return Y}function o5($){return $.includes("<!--__STX_")}var CW=0,s3;var D4=k(()=>{s3=new Map});function PW($,Z,Y,X){Y.lastIndex=Z;let J=Y.exec($);if(!J||J.index!==Z)return-1;X.lastIndex=Y.lastIndex;let Q=X.exec($);if(!Q)return-1;return Q.index+Q[0].length}function o3($,Z){return PW($,Z,tN,eN)}function yW($,Z){return PW($,Z,$A,ZA)}function xW($,Z){if(!$.startsWith("<!--",Z))return-1;let Y=$.indexOf("-->",Z+4);if(Y===-1)return-1;return Y+3}function k4($,Z,Y){let X=[],J="",Q=0,G=$.length,K=!1,W=null;while(Q<G){let U=$[Q];if(K){if(J+=U,W){if(U===W)W=null}else if(U==='"'||U==="'")W=U;else if(U===">")K=!1;Q++;continue}if(U==="<"){let B=Z($,Q);if(B>Q){J+=Y($.slice(Q,B),X.length),X.push($.slice(Q,B)),Q=B;continue}if(/^<\/?[a-zA-Z]/.test($.slice(Q,Q+2)))K=!0;J+=U,Q++;continue}J+=U,Q++}return{output:J,tokens:X}}function a3($){let{output:Z,tokens:Y}=k4($,o3,(X,J)=>`\x00STX_SCRIPT_${J}\x00`);return{output:Z,scripts:Y}}function t3($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Y,X)=>Z[+X]??"")}var tN,eN,$A,ZA;var e3=k(()=>{tN=/<script\b[^>]*>/iy,eN=/<\/script\s*>/ig,$A=/<style\b[^>]*>/iy,ZA=/<\/style\s*>/ig});var b4={};t(b4,{usesSignalsInScript:()=>q5,unescapeHtml:()=>$8,registerFilters:()=>gW,registerFilter:()=>TX,processExpressions:()=>G1,interpolateScriptsInTemplate:()=>dW,interpolateScriptExpressions:()=>EX,getAllFilters:()=>IX,evaluateExpression:()=>a0,escapeHtml:()=>E0,defaultFilters:()=>a5,clearCustomFilters:()=>hW,applyFilters:()=>DX});function YA($){let Z=vW.get($);if(!Z){let Y=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${Y}(?!\\w)`,"g"),vW.set($,Z)}return Z.lastIndex=0,Z}function TX($,Z){if($ in a5)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);S4[$]=Z}function gW($){for(let[Z,Y]of Object.entries($))TX(Z,Y)}function IX(){return{...a5,...S4}}function hW(){for(let $ of Object.keys(S4))delete S4[$]}function E0($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function q5($){let Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,Y;while((Y=Z.exec($))!==null){let X=Y[1];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(X))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function fW($,Z){let Y=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined","NaN","Infinity","isNaN","isFinite","window","document","console"],X=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),J="",Q=!1,G=0;for(let U=0;U<X.length;U++){let B=X[U];if(!Q&&B==="`"){Q=!0,G=0;continue}if(Q){if(B==="`"&&G===0){Q=!1;continue}if(B==="$"&&X[U+1]==="{"){G++,U++;continue}if(B==="}"&&G>0){G--;continue}continue}J+=B}X=J;let K=/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,W;while((W=K.exec(X))!==null){let U=W[1];if(!X.substring(0,W.index).trimEnd().endsWith(".")){if(!Y.includes(U)&&!(U in Z))return!1}}return!0}function EX($,Z){let Y=$;return Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(X,J)=>{try{let Q=a0(J,Z);if(Q===void 0)return X;return Q===null?"":String(Q)}catch{return X}}),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(X,J)=>{let Q=J.trim();if(/^__[A-Z_]+__$/.test(Q))return X;try{let G=a0(J,Z);if(G===void 0)return X;return JSON.stringify(G)}catch{return X}}),Y}function dW($,Z,Y={}){return $.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,(X,J,Q)=>{if(/\bsrc\s*=/.test(J))return X;if(/\bdata-raw\b/.test(J))return X;if(/\btype\s*=\s*["']application\/json["']/.test(J))return X;if(Y.skipServer&&/\bserver\b/.test(J))return X;let G=EX(Q,Z);return`<script${J}>${G}</script>`})}function G1($,Z,Y,X){let J=$,Q=(B,_)=>{let z=yW(B,_);if(z===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(B.slice(_,z))?-1:z},G=(B,_,z,q)=>{let j=z.length,{output:H,tokens:L}=k4(B,_,(F,O)=>q(j+O));return z.push(...L),H},K=[];J=G(J,Q,K,(B)=>`<!--__STX_STYLE_${B}__-->`);let W=[];J=G(J,o3,W,(B)=>`<!--__STX_SCRIPT_EXPR_${B}__-->`);let U=X?.forceSignals===!0||q5($);J=J.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(B,_,z)=>{try{let q=a0(_,Z);return q!==void 0&&q!==null?String(q):""}catch(q){let j=q instanceof Error?q.message:String(q);return L0("Expression",`Error evaluating: {{{ ${_.trim()}}}}: ${j}`,Y,$,z,B)}}),J=J.replace(/\{!!([\s\S]*?)!!\}/g,(B,_,z)=>{try{let q=a0(_,Z);if(q===void 0&&Z.__stx_buildMode==="compile")return E4("raw",_.trim());return q!==void 0&&q!==null?String(q):""}catch(q){if(Z.__stx_buildMode==="compile")return E4("raw",_.trim());let j=q instanceof Error?q.message:String(q);return L0("Expression",`Error evaluating: {!! ${_.trim()} !!}: ${j}`,Y,$,z,B)}}),J=G(J,o3,W,(B)=>`<!--__STX_SCRIPT_EXPR_${B}__-->`),J=G(J,Q,K,(B)=>`<!--__STX_STYLE_${B}__-->`),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(B,_,z)=>{let q=_.trim(),j=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],H=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,F=q.match(H)?.[1],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=a0(_,Z);if(w===void 0&&U&&!fW(q,Z))return B;if(w===void 0&&Z.__stx_buildMode==="compile"&&!U)return E4("expr",q);return w!==void 0&&w!==null?E0(String(w)):""}catch(w){if(U&&!fW(q,Z))return B;if(A)return B;let R=w instanceof Error?w.message:String(w);return L0("Expression",`Error evaluating: {{ ${q} }}: ${R}`,Y,$,z,B)}});for(let B=0;B<W.length;B++)J=J.replace(`<!--__STX_SCRIPT_EXPR_${B}__-->`,()=>W[B]);for(let B=0;B<K.length;B++)J=J.replace(`<!--__STX_STYLE_${B}__-->`,()=>K[B]);return J}function DX($,Z,Y){if(!Z.trim())return $;let X=$,J=Z.trim();while(J.length>0){let Q=J.match(/^(\w+)/);if(!Q)break;let G=Q[1];J=J.substring(G.length).trim();let K=S4[G]||a5[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(IX()).join(", ")}`);let W=[];if(J.startsWith(":")){let U=J.match(/^:([^|\s]+)/);if(U){let B=U[1].trim();try{let _=Number(B);W=[Number.isNaN(_)?B:_]}catch{W=[B]}J=J.substring(U[0].length).trim()}}else if(J.startsWith("(")){let U=1,B=1;while(U>0&&B<J.length){if(J[B]==="(")U++;if(J[B]===")")U--;B++}if(U===0){let _=J.substring(1,B-1).trim();if(_)try{if(_.startsWith("{")&&_.endsWith("}"))W=[a0(`(${_})`,Y,!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 a0(N,Y,!0)})}}catch{W=[_]}J=J.substring(B).trim()}}try{X=K(X,Y,...W)}catch(U){let B=U instanceof Error?U.message:String(U);throw Error(`Error applying filter '${G}': ${B}`)}if(J.startsWith("|"))J=J.substring(1).trim();else break}return X}function XA($){let Z=!1,Y="",X=0,J=0,Q=0,G=!1;for(let K=0;K<$.length;K++){let W=$[K],U=$[K+1];if(Z&&G){G=!1;continue}if(Z&&W==="\\"){G=!0;continue}if(G=!1,(W==='"'||W==="'"||W==="`")&&!G){if(!Z)Z=!0,Y=W;else if(W===Y)Z=!1,Y="";continue}if(Z&&Y==="`"&&W==="$"&&U==="{"){let B=1;K+=2;while(K<$.length&&B>0){if($[K]==="{")B++;else if($[K]==="}")B--;if(B>0)K++}continue}if(Z)continue;if(W==="(")X++;else if(W===")")X--;else if(W==="[")J++;else if(W==="]")J--;else if(W==="{")Q++;else if(W==="}")Q--;if(W==="|"&&X===0&&J===0&&Q===0){if(U==="|"){K++;continue}if(U==="="){K++;continue}return K}}return-1}function a0($,Z,Y=!1){try{let X=$.trim(),J=XA(X);if(J>0){let Q=X.substring(0,J).trim(),G=X.substring(J+1).trim(),K=a0(Q,Z,!0);return DX(K,G,Z)}if(!_0(X)){if(!Y)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${X}`);return B0(X,Z)}try{let Q=Object.keys(Z),G=Object.values(Z);return z0(X,Q)(...G)}catch{return B0(X,Z)}}catch(X){if(X instanceof ReferenceError){let J=/(\b\w+)\s+is not defined/.exec(X.message);if(J){let Q=J[1],G=JA(Q,Object.keys(Z));if(G&&G!==Q)X.message=`${X.message} \u2014 did you mean '${G}'?`}}if(!Y)console.error(`Error evaluating expression: ${$}`,X);throw X}}function JA($,Z){let Y=null;for(let J of Z){if(J===$)continue;let Q=QA($,J);if(Y===null||Q<Y.dist)Y={key:J,dist:Q}}if(!Y)return null;let X=Math.max($.length,Y.key.length);if(Y.dist<=2||Y.dist/X<=0.35)return Y.key;return null}function QA($,Z){if($===Z)return 0;if($.length===0)return Z.length;if(Z.length===0)return $.length;let[Y,X]=$.length<Z.length?[$,Z]:[Z,$],J=Array(Y.length+1),Q=Array(Y.length+1);for(let G=0;G<=Y.length;G++)J[G]=G;for(let G=1;G<=X.length;G++){Q[0]=G;for(let K=1;K<=Y.length;K++){let W=Y[K-1]===X[G-1]?0:1;Q[K]=Math.min(Q[K-1]+1,J[K]+1,J[K-1]+W)}for(let K=0;K<=Y.length;K++)J[K]=Q[K]}return J[Y.length]}function $8($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var S4,vW,a5;var c0=k(()=>{d0();N0();D4();e3();S4={},vW=new Map;a5={uppercase:($,Z)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,Z)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,Z)=>{if($===void 0||$===null)return"";let Y=String($);return Y.charAt(0).toUpperCase()+Y.slice(1)},number:($,Z,Y=0)=>{if($===void 0||$===null)return"";try{let X=Number($);return Number.isNaN(X)?"":X.toFixed(Number.parseInt(String(Y),10))}catch{return""}},fmt:($,Z,Y="en-US")=>{if($===void 0||$===null)return"";try{let X=Number($);if(Number.isNaN(X))return String($);return X.toLocaleString(Y)}catch{return String($)}},join:($,Z,Y=",")=>{if(!Array.isArray($))return"";return $.join(String(Y))},escape:($,Z)=>{if($===void 0||$===null)return"";return E0(String($))},translate:($,Z,Y={})=>{if(!Z||!Z.__translations)return $;let X=Z.__translations,J=Z.__i18nConfig?.fallbackToKey??!0,Q=String($).split("."),G=X;for(let W of Q){if(G===void 0||G===null)break;G=G[W]}if(G===void 0||G===null)return J?$:"";let K=String(G);return Object.entries(Y).forEach(([W,U])=>{K=K.replace(YA(W),String(U))}),K},t:($,Z,Y={})=>{return a5.translate($,Z,Y)},truncate:($,Z,Y=50,X="...")=>{if($===void 0||$===null)return"";let J=String($);if(J.length<=Y)return J;if(Y<=X.length)return X.substring(0,Y);return J.substring(0,Y-X.length)+X},date:($,Z,Y="short",X="en-US")=>{if($===void 0||$===null)return"";try{let J=$ instanceof Date?$:new Date($);if(Number.isNaN(J.getTime()))return String($);let Q={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(Y==="iso")return J.toISOString();return new Intl.DateTimeFormat(X,Q[Y]||Q.short).format(J)}catch{return String($)}},currency:($,Z,Y="USD",X="en-US")=>{if($===void 0||$===null)return"";try{let J=Number($);if(Number.isNaN(J))return String($);return new Intl.NumberFormat(X,{style:"currency",currency:Y}).format(J)}catch{return String($)}},pluralize:($,Z,Y,X)=>{let J=Number($);if(Number.isNaN(J))return Y;let Q=X||`${Y}s`;return J===1?Y:Q},first:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let Y=String($);return Y.charAt(Y.length-1)},length:($,Z)=>{if($===void 0||$===null)return 0;if(Array.isArray($)||typeof $==="string")return $.length;if($ instanceof Map||$ instanceof Set)return $.size;if(typeof $==="object")return Object.keys($).length;return 0},json:($,Z,Y=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return Y?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,Y="")=>{return $===void 0||$===null||$===""?Y:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,Y=0,X)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(Y,X);return $},replace:($,Z,Y,X="")=>{if($===void 0||$===null)return"";let J=Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(J,"g"),()=>X)},stripTags:($,Z)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,Z)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,Z)=>{let Y=Number($);return Number.isNaN(Y)?0:Math.abs(Y)},round:($,Z,Y=0)=>{let X=Number($);if(Number.isNaN(X))return 0;let J=10**Y;return Math.round(X*J)/J}}});class C4{cache=new Map;maxSize;constructor($=100){this.maxSize=$}get($){if(!this.cache.has($))return;let Z=this.cache.get($);return this.cache.delete($),this.cache.set($,Z),Z}set($,Z){if(this.cache.has($))this.cache.delete($);else if(this.cache.size>=this.maxSize){let Y=this.cache.keys().next().value;if(Y!==void 0)this.cache.delete(Y)}this.cache.set($,Z)}has($){return this.cache.has($)}delete($){return this.cache.delete($)}clear(){this.cache.clear()}get size(){return this.cache.size}keys(){return this.cache.keys()}values(){return this.cache.values()}}function H5($,Z){if(Z?.includes("g"))return new RegExp($,Z);let Y=`${$}:${Z||""}`;if(!j5.has(Y)){if(j5.size>=GA){let X=j5.keys().next().value;if(X)j5.delete(X)}j5.set(Y,new RegExp($,Z))}return j5.get(Y)}function ry(){j5.clear()}class KA{cache=new Map;maxSize;ttl;constructor($=1000,Z=300000){this.maxSize=$,this.ttl=Z}get($){let Z=this.cache.get($);if(!Z)return null;if(Date.now()-Z.timestamp>this.ttl)return this.cache.delete($),null;return Z.result}set($,Z,Y=new Set){if(this.cache.size>=this.maxSize){let X=this.cache.keys().next().value;if(X)this.cache.delete(X)}this.cache.set($,{result:Z,timestamp:Date.now(),dependencies:Y})}invalidateDependency($){let Z=0;for(let[Y,X]of this.cache.entries())if(X.dependencies.has($))this.cache.delete(Y),Z++;return Z}clear(){this.cache.clear()}getStats(){return{size:this.cache.size,maxSize:this.maxSize}}}function oy($,Z){let Y;return(...X)=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{$(...X)},Z)}}function ay($,Z){let Y=0,X;return(...J)=>{let Q=Date.now();if(Q-Y>=Z)Y=Q,X=$(...J);return X}}function ty($,Z=100){let Y=new Map;return(...X)=>{let J;try{J=JSON.stringify(X)}catch{return $(...X)}if(Y.has(J))return Y.get(J);if(Y.size>=Z){let G=Y.keys().next().value;if(G)Y.delete(G)}let Q=$(...X);return Y.set(J,Q),Q}}function ey($,Z,Y,X){if(typeof Z==="string"){let J=H5(Z,X);if(typeof Y==="string"&&X?.includes("i")){let Q=Y;return $.replace(J,(G)=>{if(G===G.toUpperCase()&&G!==G.toLowerCase())return Q.toUpperCase();else if(G[0]===G[0].toUpperCase()&&G[0]!==G[0].toLowerCase())return Q[0].toUpperCase()+Q.slice(1).toLowerCase();else return Q.toLowerCase()})}return $.replace(J,Y)}return $.replace(Z,Y)}class uW{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let Z=Array.from(new Set($)),Y=Z.sort().join(","),X=this.pool.find((K)=>K.context.join(",")===Y);if(X)return X.func;let J=this.fnCache,Q=this.fnCacheMaxSize,G=(...K)=>{return(W)=>{try{let U=`${Y}:${W}`,B=J.get(U);if(!B){if(J.size>=Q){let _=J.keys().next().value;if(_)J.delete(_)}B=Function(...Z,`
|
|
728
|
+
`)}var DW,r5,wX,iN,kW,nN,bW,EW=65536;var d0=k(()=>{DW={maxSanitizeDepth:10,allowBracketNotation:!1},r5={...DW};wX=[/\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/],iN=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"]),kW=new Set(["__proto__","constructor","prototype"]),nN=/[\w)\]]\s*\[\s*['"]/;bW=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 RX(){CW=0,s3.clear()}function E4($,Z){let Y=CW++,X=`<!--__STX_${$.toUpperCase()}_${Y}__-->`;return s3.set(X,{type:$,expression:Z}),X}function MX(){let $={};for(let[Z,Y]of s3)$[Z]={type:Y.type,expression:Y.expression};return $}function aN($){let Z={},Y=/<!--__STX_(EXPR|COND|RAW)_(\d+)__-->/g,X;while((X=Y.exec($))!==null){let J=X[0],Q=X[1].toLowerCase(),G=s3.get(J);Z[J]={type:Q,expression:G?.expression||""}}return Z}function r3($,Z){let Y=$;for(let[X,J]of Z)Y=Y.split(X).join(J);return Y}function o5($){return $.includes("<!--__STX_")}var CW=0,s3;var D4=k(()=>{s3=new Map});function PW($,Z,Y,X){Y.lastIndex=Z;let J=Y.exec($);if(!J||J.index!==Z)return-1;X.lastIndex=Y.lastIndex;let Q=X.exec($);if(!Q)return-1;return Q.index+Q[0].length}function o3($,Z){return PW($,Z,tN,eN)}function yW($,Z){return PW($,Z,$A,ZA)}function xW($,Z){if(!$.startsWith("<!--",Z))return-1;let Y=$.indexOf("-->",Z+4);if(Y===-1)return-1;return Y+3}function k4($,Z,Y){let X=[],J="",Q=0,G=$.length,K=!1,W=null;while(Q<G){let U=$[Q];if(K){if(J+=U,W){if(U===W)W=null}else if(U==='"'||U==="'")W=U;else if(U===">")K=!1;Q++;continue}if(U==="<"){let B=Z($,Q);if(B>Q){J+=Y($.slice(Q,B),X.length),X.push($.slice(Q,B)),Q=B;continue}if(/^<\/?[a-zA-Z]/.test($.slice(Q,Q+2)))K=!0;J+=U,Q++;continue}J+=U,Q++}return{output:J,tokens:X}}function a3($){let{output:Z,tokens:Y}=k4($,o3,(X,J)=>`\x00STX_SCRIPT_${J}\x00`);return{output:Z,scripts:Y}}function t3($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Y,X)=>Z[+X]??"")}var tN,eN,$A,ZA;var e3=k(()=>{tN=/<script\b[^>]*>/iy,eN=/<\/script\s*>/ig,$A=/<style\b[^>]*>/iy,ZA=/<\/style\s*>/ig});var b4={};t(b4,{usesSignalsInScript:()=>q5,unescapeHtml:()=>$8,registerFilters:()=>gW,registerFilter:()=>TX,processExpressions:()=>G1,interpolateScriptsInTemplate:()=>dW,interpolateScriptExpressions:()=>EX,getAllFilters:()=>IX,evaluateExpression:()=>a0,escapeHtml:()=>E0,defaultFilters:()=>a5,clearCustomFilters:()=>hW,applyFilters:()=>DX});function YA($){let Z=vW.get($);if(!Z){let Y=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${Y}(?!\\w)`,"g"),vW.set($,Z)}return Z.lastIndex=0,Z}function TX($,Z){if($ in a5)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);S4[$]=Z}function gW($){for(let[Z,Y]of Object.entries($))TX(Z,Y)}function IX(){return{...a5,...S4}}function hW(){for(let $ of Object.keys(S4))delete S4[$]}function E0($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function q5($){let Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,Y;while((Y=Z.exec($))!==null){let X=Y[1];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(X))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function fW($,Z){let Y=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined","NaN","Infinity","isNaN","isFinite","window","document","console"],X=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),J="",Q=!1,G=0;for(let U=0;U<X.length;U++){let B=X[U];if(!Q&&B==="`"){Q=!0,G=0;continue}if(Q){if(B==="`"&&G===0){Q=!1;continue}if(B==="$"&&X[U+1]==="{"){G++,U++;continue}if(B==="}"&&G>0){G--;continue}continue}J+=B}X=J;let K=/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,W;while((W=K.exec(X))!==null){let U=W[1];if(!X.substring(0,W.index).trimEnd().endsWith(".")){if(!Y.includes(U)&&!(U in Z))return!1}}return!0}function EX($,Z){let Y=$;return Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(X,J)=>{try{let Q=a0(J,Z);if(Q===void 0)return X;return Q===null?"":String(Q)}catch{return X}}),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(X,J)=>{let Q=J.trim();if(/^__[A-Z_]+__$/.test(Q))return X;try{let G=a0(J,Z);if(G===void 0)return X;return JSON.stringify(G)}catch{return X}}),Y}function dW($,Z,Y={}){return $.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,(X,J,Q)=>{if(/\bsrc\s*=/.test(J))return X;if(/\bdata-raw\b/.test(J))return X;if(/\btype\s*=\s*["']application\/json["']/.test(J))return X;if(Y.skipServer&&/\bserver\b/.test(J))return X;let G=EX(Q,Z);return`<script${J}>${G}</script>`})}function G1($,Z,Y,X){let J=$,Q=(B,_)=>{let z=yW(B,_);if(z===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(B.slice(_,z))?-1:z},G=(B,_,z,q)=>{let j=z.length,{output:H,tokens:L}=k4(B,_,(F,O)=>q(j+O));return z.push(...L),H},K=[];J=G(J,Q,K,(B)=>`<!--__STX_STYLE_${B}__-->`);let W=[];J=G(J,o3,W,(B)=>`<!--__STX_SCRIPT_EXPR_${B}__-->`);let U=X?.forceSignals===!0||q5($);J=J.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(B,_,z)=>{try{let q=a0(_,Z);return q!==void 0&&q!==null?String(q):""}catch(q){let j=q instanceof Error?q.message:String(q);return F0("Expression",`Error evaluating: {{{ ${_.trim()}}}}: ${j}`,Y,$,z,B)}}),J=J.replace(/\{!!([\s\S]*?)!!\}/g,(B,_,z)=>{try{let q=a0(_,Z);if(q===void 0&&Z.__stx_buildMode==="compile")return E4("raw",_.trim());return q!==void 0&&q!==null?String(q):""}catch(q){if(Z.__stx_buildMode==="compile")return E4("raw",_.trim());let j=q instanceof Error?q.message:String(q);return F0("Expression",`Error evaluating: {!! ${_.trim()} !!}: ${j}`,Y,$,z,B)}}),J=G(J,o3,W,(B)=>`<!--__STX_SCRIPT_EXPR_${B}__-->`),J=G(J,Q,K,(B)=>`<!--__STX_STYLE_${B}__-->`),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(B,_,z)=>{let q=_.trim(),j=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],H=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,F=q.match(H)?.[1],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=a0(_,Z);if(w===void 0&&U&&!fW(q,Z))return B;if(w===void 0&&Z.__stx_buildMode==="compile"&&!U)return E4("expr",q);return w!==void 0&&w!==null?E0(String(w)):""}catch(w){if(U&&!fW(q,Z))return B;if(A)return B;let R=w instanceof Error?w.message:String(w);return F0("Expression",`Error evaluating: {{ ${q} }}: ${R}`,Y,$,z,B)}});for(let B=0;B<W.length;B++)J=J.replace(`<!--__STX_SCRIPT_EXPR_${B}__-->`,()=>W[B]);for(let B=0;B<K.length;B++)J=J.replace(`<!--__STX_STYLE_${B}__-->`,()=>K[B]);return J}function DX($,Z,Y){if(!Z.trim())return $;let X=$,J=Z.trim();while(J.length>0){let Q=J.match(/^(\w+)/);if(!Q)break;let G=Q[1];J=J.substring(G.length).trim();let K=S4[G]||a5[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(IX()).join(", ")}`);let W=[];if(J.startsWith(":")){let U=J.match(/^:([^|\s]+)/);if(U){let B=U[1].trim();try{let _=Number(B);W=[Number.isNaN(_)?B:_]}catch{W=[B]}J=J.substring(U[0].length).trim()}}else if(J.startsWith("(")){let U=1,B=1;while(U>0&&B<J.length){if(J[B]==="(")U++;if(J[B]===")")U--;B++}if(U===0){let _=J.substring(1,B-1).trim();if(_)try{if(_.startsWith("{")&&_.endsWith("}"))W=[a0(`(${_})`,Y,!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 a0(N,Y,!0)})}}catch{W=[_]}J=J.substring(B).trim()}}try{X=K(X,Y,...W)}catch(U){let B=U instanceof Error?U.message:String(U);throw Error(`Error applying filter '${G}': ${B}`)}if(J.startsWith("|"))J=J.substring(1).trim();else break}return X}function XA($){let Z=!1,Y="",X=0,J=0,Q=0,G=!1;for(let K=0;K<$.length;K++){let W=$[K],U=$[K+1];if(Z&&G){G=!1;continue}if(Z&&W==="\\"){G=!0;continue}if(G=!1,(W==='"'||W==="'"||W==="`")&&!G){if(!Z)Z=!0,Y=W;else if(W===Y)Z=!1,Y="";continue}if(Z&&Y==="`"&&W==="$"&&U==="{"){let B=1;K+=2;while(K<$.length&&B>0){if($[K]==="{")B++;else if($[K]==="}")B--;if(B>0)K++}continue}if(Z)continue;if(W==="(")X++;else if(W===")")X--;else if(W==="[")J++;else if(W==="]")J--;else if(W==="{")Q++;else if(W==="}")Q--;if(W==="|"&&X===0&&J===0&&Q===0){if(U==="|"){K++;continue}if(U==="="){K++;continue}return K}}return-1}function a0($,Z,Y=!1){try{let X=$.trim(),J=XA(X);if(J>0){let Q=X.substring(0,J).trim(),G=X.substring(J+1).trim(),K=a0(Q,Z,!0);return DX(K,G,Z)}if(!_0(X)){if(!Y)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${X}`);return B0(X,Z)}try{let Q=Object.keys(Z),G=Object.values(Z);return z0(X,Q)(...G)}catch{return B0(X,Z)}}catch(X){if(X instanceof ReferenceError){let J=/(\b\w+)\s+is not defined/.exec(X.message);if(J){let Q=J[1],G=JA(Q,Object.keys(Z));if(G&&G!==Q)X.message=`${X.message} \u2014 did you mean '${G}'?`}}if(!Y)console.error(`Error evaluating expression: ${$}`,X);throw X}}function JA($,Z){let Y=null;for(let J of Z){if(J===$)continue;let Q=QA($,J);if(Y===null||Q<Y.dist)Y={key:J,dist:Q}}if(!Y)return null;let X=Math.max($.length,Y.key.length);if(Y.dist<=2||Y.dist/X<=0.35)return Y.key;return null}function QA($,Z){if($===Z)return 0;if($.length===0)return Z.length;if(Z.length===0)return $.length;let[Y,X]=$.length<Z.length?[$,Z]:[Z,$],J=Array(Y.length+1),Q=Array(Y.length+1);for(let G=0;G<=Y.length;G++)J[G]=G;for(let G=1;G<=X.length;G++){Q[0]=G;for(let K=1;K<=Y.length;K++){let W=Y[K-1]===X[G-1]?0:1;Q[K]=Math.min(Q[K-1]+1,J[K]+1,J[K-1]+W)}for(let K=0;K<=Y.length;K++)J[K]=Q[K]}return J[Y.length]}function $8($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var S4,vW,a5;var c0=k(()=>{d0();A0();D4();e3();S4={},vW=new Map;a5={uppercase:($,Z)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,Z)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,Z)=>{if($===void 0||$===null)return"";let Y=String($);return Y.charAt(0).toUpperCase()+Y.slice(1)},number:($,Z,Y=0)=>{if($===void 0||$===null)return"";try{let X=Number($);return Number.isNaN(X)?"":X.toFixed(Number.parseInt(String(Y),10))}catch{return""}},fmt:($,Z,Y="en-US")=>{if($===void 0||$===null)return"";try{let X=Number($);if(Number.isNaN(X))return String($);return X.toLocaleString(Y)}catch{return String($)}},join:($,Z,Y=",")=>{if(!Array.isArray($))return"";return $.join(String(Y))},escape:($,Z)=>{if($===void 0||$===null)return"";return E0(String($))},translate:($,Z,Y={})=>{if(!Z||!Z.__translations)return $;let X=Z.__translations,J=Z.__i18nConfig?.fallbackToKey??!0,Q=String($).split("."),G=X;for(let W of Q){if(G===void 0||G===null)break;G=G[W]}if(G===void 0||G===null)return J?$:"";let K=String(G);return Object.entries(Y).forEach(([W,U])=>{K=K.replace(YA(W),String(U))}),K},t:($,Z,Y={})=>{return a5.translate($,Z,Y)},truncate:($,Z,Y=50,X="...")=>{if($===void 0||$===null)return"";let J=String($);if(J.length<=Y)return J;if(Y<=X.length)return X.substring(0,Y);return J.substring(0,Y-X.length)+X},date:($,Z,Y="short",X="en-US")=>{if($===void 0||$===null)return"";try{let J=$ instanceof Date?$:new Date($);if(Number.isNaN(J.getTime()))return String($);let Q={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(Y==="iso")return J.toISOString();return new Intl.DateTimeFormat(X,Q[Y]||Q.short).format(J)}catch{return String($)}},currency:($,Z,Y="USD",X="en-US")=>{if($===void 0||$===null)return"";try{let J=Number($);if(Number.isNaN(J))return String($);return new Intl.NumberFormat(X,{style:"currency",currency:Y}).format(J)}catch{return String($)}},pluralize:($,Z,Y,X)=>{let J=Number($);if(Number.isNaN(J))return Y;let Q=X||`${Y}s`;return J===1?Y:Q},first:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let Y=String($);return Y.charAt(Y.length-1)},length:($,Z)=>{if($===void 0||$===null)return 0;if(Array.isArray($)||typeof $==="string")return $.length;if($ instanceof Map||$ instanceof Set)return $.size;if(typeof $==="object")return Object.keys($).length;return 0},json:($,Z,Y=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return Y?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,Y="")=>{return $===void 0||$===null||$===""?Y:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,Y=0,X)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(Y,X);return $},replace:($,Z,Y,X="")=>{if($===void 0||$===null)return"";let J=Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(J,"g"),()=>X)},stripTags:($,Z)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,Z)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,Z)=>{let Y=Number($);return Number.isNaN(Y)?0:Math.abs(Y)},round:($,Z,Y=0)=>{let X=Number($);if(Number.isNaN(X))return 0;let J=10**Y;return Math.round(X*J)/J}}});class C4{cache=new Map;maxSize;constructor($=100){this.maxSize=$}get($){if(!this.cache.has($))return;let Z=this.cache.get($);return this.cache.delete($),this.cache.set($,Z),Z}set($,Z){if(this.cache.has($))this.cache.delete($);else if(this.cache.size>=this.maxSize){let Y=this.cache.keys().next().value;if(Y!==void 0)this.cache.delete(Y)}this.cache.set($,Z)}has($){return this.cache.has($)}delete($){return this.cache.delete($)}clear(){this.cache.clear()}get size(){return this.cache.size}keys(){return this.cache.keys()}values(){return this.cache.values()}}function H5($,Z){if(Z?.includes("g"))return new RegExp($,Z);let Y=`${$}:${Z||""}`;if(!j5.has(Y)){if(j5.size>=GA){let X=j5.keys().next().value;if(X)j5.delete(X)}j5.set(Y,new RegExp($,Z))}return j5.get(Y)}function ry(){j5.clear()}class KA{cache=new Map;maxSize;ttl;constructor($=1000,Z=300000){this.maxSize=$,this.ttl=Z}get($){let Z=this.cache.get($);if(!Z)return null;if(Date.now()-Z.timestamp>this.ttl)return this.cache.delete($),null;return Z.result}set($,Z,Y=new Set){if(this.cache.size>=this.maxSize){let X=this.cache.keys().next().value;if(X)this.cache.delete(X)}this.cache.set($,{result:Z,timestamp:Date.now(),dependencies:Y})}invalidateDependency($){let Z=0;for(let[Y,X]of this.cache.entries())if(X.dependencies.has($))this.cache.delete(Y),Z++;return Z}clear(){this.cache.clear()}getStats(){return{size:this.cache.size,maxSize:this.maxSize}}}function oy($,Z){let Y;return(...X)=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{$(...X)},Z)}}function ay($,Z){let Y=0,X;return(...J)=>{let Q=Date.now();if(Q-Y>=Z)Y=Q,X=$(...J);return X}}function ty($,Z=100){let Y=new Map;return(...X)=>{let J;try{J=JSON.stringify(X)}catch{return $(...X)}if(Y.has(J))return Y.get(J);if(Y.size>=Z){let G=Y.keys().next().value;if(G)Y.delete(G)}let Q=$(...X);return Y.set(J,Q),Q}}function ey($,Z,Y,X){if(typeof Z==="string"){let J=H5(Z,X);if(typeof Y==="string"&&X?.includes("i")){let Q=Y;return $.replace(J,(G)=>{if(G===G.toUpperCase()&&G!==G.toLowerCase())return Q.toUpperCase();else if(G[0]===G[0].toUpperCase()&&G[0]!==G[0].toLowerCase())return Q[0].toUpperCase()+Q.slice(1).toLowerCase();else return Q.toLowerCase()})}return $.replace(J,Y)}return $.replace(Z,Y)}class uW{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let Z=Array.from(new Set($)),Y=Z.sort().join(","),X=this.pool.find((K)=>K.context.join(",")===Y);if(X)return X.func;let J=this.fnCache,Q=this.fnCacheMaxSize,G=(...K)=>{return(W)=>{try{let U=`${Y}:${W}`,B=J.get(U);if(!B){if(J.size>=Q){let _=J.keys().next().value;if(_)J.delete(_)}B=Function(...Z,`
|
|
729
729
|
'use strict';
|
|
730
730
|
try {
|
|
731
731
|
return ${W};
|
|
@@ -1138,7 +1138,7 @@ ${H}
|
|
|
1138
1138
|
`)}</p>`);if(J=K.join(`
|
|
1139
1139
|
`),X)J=J.replace(/\n/g,`<br />
|
|
1140
1140
|
`);for(let B=0;B<Q.length;B++)J=J.replace(`\x00CODEBLOCK${B}\x00`,Q[B]);return J=J.replace(/<p>\s*<\/p>/g,""),J.trim()}var zA={};t(zA,{processMarkdownDirectives:()=>X8,markdownDirectiveHandler:()=>J8});async function X8($,Z,Y=""){let X=$,J=[],Q=/@markdown(?:\([^)]*\))?/g,G;while((G=Q.exec($))!==null){let K=G.index,W=G[0].match(/@markdown\(([^)]*)\)/),U=W?W[1]:"",B=K+G[0].length,_=1,z=B,q=-1;while(_>0&&z<$.length){let L=$.indexOf("@markdown",z),F=$.indexOf("@endmarkdown",z);if(F===-1)break;if(L!==-1&&L<F&&L!==K){let O=$[L+9];if(O==="("||O===`
|
|
1141
|
-
`||O==="\r"||O===" "||O===void 0)_++;z=L+9}else{if(_--,_===0){q=F;break}z=F+12}}if(q===-1)continue;let j=$.slice(B,q),H=$.slice(K,q+12);J.push({fullMatch:H,options:U,content:j,index:K}),Q.lastIndex=q+12}for(let{fullMatch:K,options:W,content:U,index:B}of J)try{let _={};if(W)W.split(",").forEach((j)=>{let H=j.trim();if(H)_[H]=!0});let z={gfm:_.gfm??!0,breaks:_.breaks??!1},q=v4(U.trim(),z);X=X.split(K).join(q)}catch(_){let z=_ instanceof Error?_.message:String(_),q=
|
|
1141
|
+
`||O==="\r"||O===" "||O===void 0)_++;z=L+9}else{if(_--,_===0){q=F;break}z=F+12}}if(q===-1)continue;let j=$.slice(B,q),H=$.slice(K,q+12);J.push({fullMatch:H,options:U,content:j,index:K}),Q.lastIndex=q+12}for(let{fullMatch:K,options:W,content:U,index:B}of J)try{let _={};if(W)W.split(",").forEach((j)=>{let H=j.trim();if(H)_[H]=!0});let z={gfm:_.gfm??!0,breaks:_.breaks??!1},q=v4(U.trim(),z);X=X.split(K).join(q)}catch(_){let z=_ instanceof Error?_.message:String(_),q=F0("Markdown Directive",`Error processing markdown: ${z}`,Y,$,B,K);X=X.split(K).join(q)}return X}async function J8($,Z,Y,X){let J={gfm:!0,breaks:!1};return Z.forEach((Q)=>{let G=Q.trim().replace(/['"]/g,"");if(G==="breaks")J.breaks=!0;if(G==="no-gfm")J.gfm=!1}),v4($.trim(),J)}var Q8=k(()=>{A0()});function T$($,Z=c1,Y={},X){return Z.sort((J,Q)=>J-Q).map((J)=>{return`${C1($,{...Y,w:J,fm:X})} ${J}w`}).join(", ")}function yX($,Z=320,Y=2560,X=0.08,J={},Q){let G=G8(Z,Y,X);return T$($,G,J,Q)}function G8($,Z,Y=0.08){let X=[],J=$;while(J<Z)X.push(Math.round(J)),J*=1+Y*2;if(X[X.length-1]!==Z)X.push(Z);return X}function t5($,Z,Y=f4,X={},J){return Y.sort((Q,G)=>Q-G).map((Q)=>{let G=Math.round(Z*Q);return`${C1($,{...X,w:G,dpr:Q,fm:J})} ${Q}x`}).join(", ")}function xX($,Z,Y=f4,X=80,J={},Q){let G={1:X,1.5:Math.round(X*0.9),2:Math.round(X*0.8),3:Math.round(X*0.7),4:Math.round(X*0.6),5:Math.round(X*0.5)};return Y.sort((K,W)=>K-W).map((K)=>{let W=Math.round(Z*K),U=G[K]||Math.round(X*Math.max(0.5,1-K*0.1));return`${C1($,{...J,w:W,q:U,dpr:K,fm:Q})} ${K}x`}).join(", ")}function e5($,Z="100vw"){if(!$||Object.keys($).length===0)return Z;let X=Object.entries($).map(([J,Q])=>{let G=/^\d+$/.test(J)?`${J}px`:J;return{bp:G,size:Q,numericBp:Number.parseInt(G)||0}}).sort((J,Q)=>J.numericBp-Q.numericBp).map(({bp:J,size:Q})=>`(max-width: ${J}) ${Q}`);return X.push(Z),X.join(", ")}function vX($,Z="100vw"){if(!$||$.length===0)return Z;let X=[...$].sort((J,Q)=>(J.maxWidth||0)-(Q.maxWidth||0)).filter((J)=>J.maxWidth).map((J)=>`(max-width: ${J.maxWidth}px) ${J.imageWidth}`);return X.push(Z),X.join(", ")}function C1($,Z={}){let Y=Object.entries(Z).filter(([,Q])=>Q!==void 0&&Q!==null).map(([Q,G])=>{if(Array.isArray(G))return[Q,G.join(",")];return[Q,String(G)]});if(Y.length===0)return $;let X=Y.map(([Q,G])=>`${Q}=${encodeURIComponent(G)}`).join("&"),J=$.includes("?")?"&":"?";return`${$}${J}${X}`}function gX($){let[Z,Y]=$.split("?"),X={};if(Y)new URLSearchParams(Y).forEach((Q,G)=>{if(/^\d+$/.test(Q))X[G]=Number.parseInt(Q,10);else if(/^\d+\.\d+$/.test(Q))X[G]=Number.parseFloat(Q);else if(Q==="true")X[G]=!0;else if(Q==="false")X[G]=!1;else X[G]=Q});return{src:Z,params:X}}function hX($){let{src:Z,widths:Y,dprValues:X,fixedWidth:J,formats:Q=Q$,baseUrl:G="",params:K={}}=$,W=[];for(let U of Q){let B,_;if(J!==void 0&&X)B=t5(Z,J,X,K,U),_=X.map((z)=>({path:"",url:C1(Z,{...K,w:Math.round(J*z),fm:U}),width:Math.round(J*z),height:0,format:U,size:0,dpr:z}));else{let z=Y||c1;B=T$(Z,z,K,U),_=z.map((q)=>({path:"",url:C1(Z,{...K,w:q,fm:U}),width:q,height:0,format:U,size:0}))}W.push({srcset:B,format:U,mimeType:g4[U],variants:_})}return W}function dX($,Z="100vw"){return $.map(({srcset:Y,mimeType:X})=>`<source type="${X}" srcset="${Y}" sizes="${Z}" />`).join(`
|
|
1142
1142
|
`)}function uX($,Z){if($.length===0)return;let Y=[...$].sort((J,Q)=>J.width-Q.width),X=Y.find((J)=>J.width>=Z);if(X)return X;return Y[Y.length-1]}function aW($,Z){let Y=Z?$.filter((J)=>J.format===Z):$;if(Y.length===0){let J=$.filter((G)=>G.format==="jpeg"),Q=J.length>0?J:$;return Q[Math.floor(Q.length/2)]}let X=Y.sort((J,Q)=>J.width-Q.width);return X[Math.floor(X.length/2)]}function tW($){let Z=new Map;for(let Y of $){let X=Z.get(Y.format)||[];X.push(Y),Z.set(Y.format,X)}return Z}function h4($){return g4[$]||"application/octet-stream"}function mX($){return oW[$]||$}function pX($){switch($.split(".").pop()?.toLowerCase()){case"jpg":case"jpeg":return"jpeg";case"png":return"png";case"webp":return"webp";case"avif":return"avif";case"gif":return"gif";default:return}}var c1,f4,Q$,g4,oW,fX;var K8=k(()=>{c1=[320,480,640,768,1024,1280,1536,1920,2560],f4=[1,1.5,2,3],Q$=["avif","webp","jpeg"],g4={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"},oW={avif:"avif",webp:"webp",jpeg:"jpg",png:"png",gif:"gif"};fX={fullWidth:"100vw",halfDesktop:"(max-width: 768px) 100vw, 50vw",thirdDesktop:"(max-width: 768px) 100vw, 33.33vw",quarterDesktop:"(max-width: 480px) 100vw, (max-width: 768px) 50vw, 25vw",contentWidth:"(max-width: 768px) 100vw, (max-width: 1200px) 80vw, 960px"}});async function cX(){try{return await import("ts-images")}catch{return null}}async function d4($,Z={}){let Y={...W8,...Z},X=await cX();if(X)try{return await qA($,Y,X)}catch(J){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${J}`)}return eW($,Y)}async function qA($,Z,Y){let{generatePlaceholder:X,generateThumbHash:J}=Y,G={blur:"blur",thumbhash:"thumbhash",blurhash:"thumbhash",pixelate:"pixelate","dominant-color":"dominant-color",none:"blur"}[Z.strategy]||"blur";if(Z.strategy==="thumbhash")return{dataURL:(await J($)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let K=await X($,{width:Z.width,height:Z.height,quality:Z.quality,blurLevel:Z.blurLevel,strategy:G,base64Encode:!0});return{dataURL:K.dataURL,width:K.width,height:K.height,aspectRatio:K.aspectRatio,originalWidth:K.originalWidth,originalHeight:K.originalHeight,strategy:Z.strategy,dominantColor:K.dominantColor,css:K.css}}function eW($,Z){let Y=Z.width||20,X=Z.height||Y,J="#e5e7eb",Q=`<svg xmlns="http://www.w3.org/2000/svg" width="${Y}" height="${X}" viewBox="0 0 ${Y} ${X}"><rect fill="#e5e7eb" width="${Y}" height="${X}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(Q)}`,width:Y,height:X,aspectRatio:Y/X,originalWidth:0,originalHeight:0,strategy:Z.strategy,dominantColor:"#e5e7eb"}}async function lX($){let Z=await cX();if(Z)try{return(await Z.generateThumbHash($)).dataUrl}catch{}return(await eW($,{strategy:"thumbhash",width:32,height:32})).dataURL}function iX($){let Z=$[0]|$[1]<<8|$[2]<<16,Y=(Z&63)/63,X=(Z>>6&63)/31.5-1,J=(Z>>12&63)/31.5-1,Q=(Z>>18&31)/31,G=Z>>23!==0,K=$[3]|$[4]<<8,W=(K>>3&63)/63,U=(K>>9&63)/63,B=K>>15!==0,_=Math.max(3,B?G?5:7:G?5:7),z=Math.max(3,B?G?5:7:G?5:7),q=32,j=32,H=Math.max(0,Math.min(255,Math.round((Y+X)*255))),L=Math.max(0,Math.min(255,Math.round(Y*255))),F=Math.max(0,Math.min(255,Math.round((Y-X)*255))),O=`<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32">
|
|
1143
1143
|
<rect fill="rgb(${H},${L},${F})" width="32" height="32"/>
|
|
1144
1144
|
</svg>`;return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(O)}`}async function nX($,Z=20,Y=50){return d4($,{strategy:"blur",width:Z,quality:Y,blurLevel:40})}async function sX($){let Z=await cX();if(Z)try{return(await Z.generatePlaceholder($,{strategy:"dominant-color"})).dominantColor||"#e5e7eb"}catch{}return"#e5e7eb"}function rX($,Z=1,Y=1){let X=`<svg xmlns="http://www.w3.org/2000/svg" width="${Z}" height="${Y}"><rect fill="${$}" width="${Z}" height="${Y}"/></svg>`;return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(X)}`}function u4($,Z,Y={}){let X=Y.transitionDuration||300,J=Y.easing||"ease-out";return`
|
|
@@ -1187,7 +1187,7 @@ ${H}
|
|
|
1187
1187
|
filter: blur(0);
|
|
1188
1188
|
transform: scale(1);
|
|
1189
1189
|
}
|
|
1190
|
-
`.trim();$7=new Map});import{createHash as $J}from"crypto";import{readFile as jA,stat as $U}from"fs/promises";async function l0($){try{let Z=await jA($);return $J("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function ZU($){return $J("sha256").update($).digest("hex").slice(0,16)}function U8($){return $J("sha256").update($).digest("hex").slice(0,16)}function Y7($,Z){let Y=JSON.stringify(Z,Object.keys(Z).sort());return`${U8($)}-${U8(Y)}`}async function p4($){try{return(await $U($)).mtimeMs}catch{return 0}}async function i0($){try{return await $U($),!0}catch{return!1}}var I$=()=>{};import{mkdir as HA,readFile as XU,writeFile as OA,readdir as JU,rm as ZJ,stat as LA}from"fs/promises";import{join as X7,dirname as FA}from"path";async function VA($){try{await HA($,{recursive:!0})}catch{}}function QU($,Z,Y){return X7($,Y,`${Z}.json`)}async function YU($,Z,Y){if((Date.now()-$.createdAt)/86400000>Y)return!1;if(await p4(Z)!==$.srcMtime)return!1;return!0}async function Q7($,Z,Y,X=J7){if(!X.enabled)return null;let J=Y7($,Z),Q=l1.get(J);if(Q){if(await YU(Q,$,X.maxAge))return Q.lastAccessedAt=Date.now(),Q.data;l1.delete(J)}let G=QU(X.directory,J,Y);if(await i0(G))try{let K=await XU(G,"utf-8"),W=JSON.parse(K);if(await YU(W,$,X.maxAge))return W.lastAccessedAt=Date.now(),l1.set(J,W),W.data}catch{}return null}async function G7($,Z,Y,X,J=J7){if(!J.enabled)return;let Q=Y7($,Z),G=await l0($),K=await p4($),W={key:Q,src:$,srcHash:G,srcMtime:K,optionsHash:Y7("",Z),data:Y,createdAt:Date.now(),lastAccessedAt:Date.now()};l1.set(Q,W);let U=QU(J.directory,Q,X);try{await VA(FA(U)),await OA(U,JSON.stringify(W,null,2))}catch(B){console.warn(`[stx-media] Failed to write cache: ${B}`)}}async function Ex($,Z,Y=J7){for(let[X,J]of l1.entries())if(J.src===$)l1.delete(X)}async function K7($,Z=J7){if($==="all")l1.clear();else l1.clear();let Y=$==="all"?["image","video"]:[$];for(let X of Y){let J=X7(Z.directory,X);try{await ZJ(J,{recursive:!0,force:!0})}catch{}}}async function GU($=J7){let Z={memoryEntries:l1.size,diskEntries:{image:0,video:0},totalSizeMB:0};for(let Y of["image","video"]){let X=X7($.directory,Y);try{let J=await JU(X);Z.diskEntries[Y]=J.length;for(let Q of J){let G=X7(X,Q),K=await LA(G);Z.totalSizeMB+=K.size/1048576}}catch{}}return Z}async function KU($=J7){let Z=0,Y=$.maxAge*24*60*60*1000;for(let X of["image","video"]){let J=X7($.directory,X);try{let Q=await JU(J);for(let G of Q){let K=X7(J,G);try{let W=await XU(K,"utf-8"),U=JSON.parse(W);if(Date.now()-U.createdAt>Y)await ZJ(K),l1.delete(U.key),Z++}catch{await ZJ(K).catch(()=>{}),Z++}}}catch{}}return Z}var l1,J7;var B8=k(()=>{I$();l1=new Map,J7={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class W7{config;constructor($={}){this.config={...NA,...$}}async get($,Z){return Q7($,Z,"image",this.config)}async set($,Z,Y){return G7($,Z,Y,"image",this.config)}async clear(){return K7("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function YJ($){if(!_8)_8=new W7($);else if($)_8.updateConfig($);return _8}async function U7($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return YJ(X).get($,Z)}async function B7($,Z,Y,X){let J=X?{directory:`${X.outputDir}/../.cache`}:{};return YJ(J).set($,Z,Y)}async function XJ(){return YJ().clear()}var NA,_8=null;var JJ=k(()=>{B8();NA={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as AA,basename as wA,extname as RA,join as MA}from"path";import{mkdir as TA}from"fs/promises";async function QJ(){try{return await import("ts-images")}catch{return null}}function WU($){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 IA($,Z){let Y=Z?WU(Z):WU("web"),X=$.formatQuality||{};return{jpeg:{...Y.jpeg,...X.jpeg},png:{...Y.png,...X.png},webp:{...Y.webp,...X.webp},avif:{...Y.avif,...X.avif}}}async function GJ($,Z,Y){let X=await QJ();if(!X)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let J=await U7($,Z,Y);if(J)return J;try{let Q=AA($);if(!await i0(Q))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=IA(Y,Z.preset),K=Y.outputDir||"dist/images",W=Y.baseUrl||"/images";await TA(K,{recursive:!0});let U=await l0(Q),B=wA($,RA($)),_=Z.outputFormat?[Z.outputFormat]:Y.defaultFormats||["avif","webp","jpeg"],z={src:$,processed:!0,variants:[],hash:U},q=null;if(Z.transformations&&Z.transformations.length>0)q=await c4(Q,Z.transformations,X);for(let j of _){let H=G[j]||{},L=`${B}-${U}.${j}`,F=MA(K,L);try{let O=await X.optimizeImage({input:q||Q,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 X.generateThumbHash(Q);z.placeholder=j.dataUrl}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to generate thumbhash: ${j}`)}if(Z.useDominantColor)try{let j=await X.generatePlaceholder(Q,{strategy:"dominant-color"});z.dominantColor=j.dominantColor}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${j}`)}return await B7($,Z,z,Y),z}catch(Q){return{src:$,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function KJ($,Z,Y,X){let J=await QJ();if(!J)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await J.optimizeImage({input:$,output:X,format:Z,quality:Y}))?.outputSize}}catch(Q){return{success:!1,error:String(Q)}}}async function c4($,Z,Y){let X=Y||await QJ();if(!X)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let J=await X.decode($);for(let Q of Z){let G=Q.options||{};switch(Q.type){case"resize":if(G.width||G.height)J=await X.resize(J,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)J=await X.blur(J,G.sigma);break;case"sharpen":if(G.amount!==void 0)J=await X.sharpen(J,G.amount);break;case"grayscale":J=await X.grayscale(J);break;case"rotate":if(G.angle!==void 0)J=await X.rotate(J,G.angle);break;case"flip":J=await X.flip(J);break;case"flop":J=await X.flop(J);break;case"brightness":if(G.value!==void 0)J=await X.brightness(J,G.value);break;case"contrast":if(G.value!==void 0)J=await X.contrast(J,G.value);break;case"saturation":if(G.value!==void 0)J=await X.saturation(J,G.value);break}}return await X.encode(J,"png")}catch(J){return console.error(`[stx-media] Transformation failed: ${J}`),null}}var UU=k(()=>{I$();JJ()});import{resolve as EA,basename as DA,extname as kA,join as SA}from"path";import{mkdir as bA}from"fs/promises";async function CA(){try{return await import("ts-images")}catch{return null}}async function l4($,Z,Y){let X=await CA();if(!X)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=EA($);if(!await i0(J))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let Q=Z.responsiveWidths||Y.breakpoints||PA,G=Z.formats||Y.defaultFormats||["avif","webp","jpeg"],K=Y.outputDir||"dist/images",W=Y.baseUrl||"/images";await bA(K,{recursive:!0});let U=await l0(J),B=DA($,kA($)),_=Y.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},z={src:$,byFormat:{},srcsets:{}};for(let j of G){z.byFormat[j]=[];let H=[];for(let L of Q){let F=`${B}-${L}w-${U}.${j}`,O=SA(K,F),V=`${W}/${F}`;try{let N=_[j]?.quality||80;if(await i0(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 X.processImage({input:J,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||Y.placeholderStrategy||"thumbhash";if(q!=="none")try{if(q==="thumbhash"){let j=await X.generateThumbHash(J);z.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await X.generatePlaceholder(J,{strategy:q,width:20});z.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:q}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return z.sizes=Z.sizes||yA(Q),z}catch(Q){return console.error(`[stx-media] Responsive generation failed: ${Q}`),null}}function yA($){let Z=[...$].sort((X,J)=>X-J),Y=[];for(let X=0;X<Z.length-1;X++){let J=Z[X];Y.push(`(max-width: ${J}px) ${J}px`)}return Y.push(`${Z[Z.length-1]}px`),Y.join(", ")}function z8($,Z="width"){if(!$||$.length===0)return"";if(Z==="dpr")return $.filter((Y)=>Y.dpr).map((Y)=>`${Y.url} ${Y.dpr}x`).join(", ");return $.map((Y)=>`${Y.url} ${Y.width}w`).join(", ")}async function ux($,Z,Y){let X=[];for(let J of Z){let Q=await l4(J.src,{responsiveWidths:J.widths},Y);if(Q){for(let[G,K]of Object.entries(Q.srcsets))if(K)X.push({media:J.media,srcset:K,type:xA(G)})}}return X}function xA($){switch($){case"avif":return"image/avif";case"webp":return"image/webp";case"jpeg":return"image/jpeg";case"png":return"image/png";case"gif":return"image/gif";default:return"image/jpeg"}}var PA;var BU=k(()=>{I$();PA=[320,480,640,768,1024,1280,1536,1920]});var _U={};t(_U,{setCachedImageResult:()=>B7,processImage:()=>GJ,optimizeImage:()=>KJ,getCachedImageResult:()=>U7,generateSrcset:()=>z8,generateResponsiveVariants:()=>l4,clearImageCache:()=>XJ,applyTransformations:()=>c4,ImageProcessorCache:()=>W7});var WJ=k(()=>{UU();BU();JJ()});async function vA(){try{return await Promise.resolve().then(() => (WJ(),_U))}catch($){if(!zU)console.warn("[stx-media] Image processor not available, some features disabled:",$),zU=!0;return null}}async function E$($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipOptimization){if(Y.tsImagesConfig?.enabled&&!Y.isDev)return dA(X,Y)}if(Y.processedResult?.processed)return qJ($,Y.processedResult,Z);if(Y.responsiveVariants)return OU($,Y.responsiveVariants,Z);let{src:J,alt:Q,width:G,height:K,sizes:W,widths:U=c1,dpr:B,formats:_=Q$,quality:z=UJ,params:q={},placeholder:j="none",placeholderOptions:H={},lazy:L=!0,priority:F=!1,loading:O=F?"eager":j8,decoding:V=q8,fetchpriority:N,objectFit:A,objectPosition:w,crossorigin:R,referrerpolicy:M}=$,T=$.class,E=$.style,D=$.id,S=$.data||{},{isDev:C=!1,baseUrl:P=""}=Z;if(C&&!Z.optimize)return hA($);let b,x,s=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!F)try{b=await m4(J,{strategy:j,...H}),x=u4(s,b,H)}catch{}let u=B!==void 0&&G!==void 0,y;if(u)y=gA($,s,b,Z);else y=await fA($,s,b,Z);let h;if(F){let r=_.includes("webp")?"webp":_[0],K0=T$(J,U,{...q,q:z},r),Z0=typeof W==="object"?e5(W):W||"100vw";h=`<link rel="preload" as="image" imagesrcset="${K0}" imagesizes="${Z0}" />`}let p=[];if(!qU&&j!=="none")p.push(Z7),qU=!0;if(x)p.push(x);let n=L?HU(s):void 0;return{html:y,preloadLink:h,css:p.length>0?p.join(`
|
|
1190
|
+
`.trim();$7=new Map});import{createHash as $J}from"crypto";import{readFile as jA,stat as $U}from"fs/promises";async function l0($){try{let Z=await jA($);return $J("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function ZU($){return $J("sha256").update($).digest("hex").slice(0,16)}function U8($){return $J("sha256").update($).digest("hex").slice(0,16)}function Y7($,Z){let Y=JSON.stringify(Z,Object.keys(Z).sort());return`${U8($)}-${U8(Y)}`}async function p4($){try{return(await $U($)).mtimeMs}catch{return 0}}async function i0($){try{return await $U($),!0}catch{return!1}}var I$=()=>{};import{mkdir as HA,readFile as XU,writeFile as OA,readdir as JU,rm as ZJ,stat as LA}from"fs/promises";import{join as X7,dirname as FA}from"path";async function VA($){try{await HA($,{recursive:!0})}catch{}}function QU($,Z,Y){return X7($,Y,`${Z}.json`)}async function YU($,Z,Y){if((Date.now()-$.createdAt)/86400000>Y)return!1;if(await p4(Z)!==$.srcMtime)return!1;return!0}async function Q7($,Z,Y,X=J7){if(!X.enabled)return null;let J=Y7($,Z),Q=l1.get(J);if(Q){if(await YU(Q,$,X.maxAge))return Q.lastAccessedAt=Date.now(),Q.data;l1.delete(J)}let G=QU(X.directory,J,Y);if(await i0(G))try{let K=await XU(G,"utf-8"),W=JSON.parse(K);if(await YU(W,$,X.maxAge))return W.lastAccessedAt=Date.now(),l1.set(J,W),W.data}catch{}return null}async function G7($,Z,Y,X,J=J7){if(!J.enabled)return;let Q=Y7($,Z),G=await l0($),K=await p4($),W={key:Q,src:$,srcHash:G,srcMtime:K,optionsHash:Y7("",Z),data:Y,createdAt:Date.now(),lastAccessedAt:Date.now()};l1.set(Q,W);let U=QU(J.directory,Q,X);try{await VA(FA(U)),await OA(U,JSON.stringify(W,null,2))}catch(B){console.warn(`[stx-media] Failed to write cache: ${B}`)}}async function Ex($,Z,Y=J7){for(let[X,J]of l1.entries())if(J.src===$)l1.delete(X)}async function K7($,Z=J7){if($==="all")l1.clear();else l1.clear();let Y=$==="all"?["image","video"]:[$];for(let X of Y){let J=X7(Z.directory,X);try{await ZJ(J,{recursive:!0,force:!0})}catch{}}}async function GU($=J7){let Z={memoryEntries:l1.size,diskEntries:{image:0,video:0},totalSizeMB:0};for(let Y of["image","video"]){let X=X7($.directory,Y);try{let J=await JU(X);Z.diskEntries[Y]=J.length;for(let Q of J){let G=X7(X,Q),K=await LA(G);Z.totalSizeMB+=K.size/1048576}}catch{}}return Z}async function KU($=J7){let Z=0,Y=$.maxAge*24*60*60*1000;for(let X of["image","video"]){let J=X7($.directory,X);try{let Q=await JU(J);for(let G of Q){let K=X7(J,G);try{let W=await XU(K,"utf-8"),U=JSON.parse(W);if(Date.now()-U.createdAt>Y)await ZJ(K),l1.delete(U.key),Z++}catch{await ZJ(K).catch(()=>{}),Z++}}}catch{}}return Z}var l1,J7;var B8=k(()=>{I$();l1=new Map,J7={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class W7{config;constructor($={}){this.config={...NA,...$}}async get($,Z){return Q7($,Z,"image",this.config)}async set($,Z,Y){return G7($,Z,Y,"image",this.config)}async clear(){return K7("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function YJ($){if(!_8)_8=new W7($);else if($)_8.updateConfig($);return _8}async function U7($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return YJ(X).get($,Z)}async function B7($,Z,Y,X){let J=X?{directory:`${X.outputDir}/../.cache`}:{};return YJ(J).set($,Z,Y)}async function XJ(){return YJ().clear()}var NA,_8=null;var JJ=k(()=>{B8();NA={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as AA,basename as wA,extname as RA,join as MA}from"path";import{mkdir as TA}from"fs/promises";async function QJ(){try{return await import("ts-images")}catch{return null}}function WU($){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 IA($,Z){let Y=Z?WU(Z):WU("web"),X=$.formatQuality||{};return{jpeg:{...Y.jpeg,...X.jpeg},png:{...Y.png,...X.png},webp:{...Y.webp,...X.webp},avif:{...Y.avif,...X.avif}}}async function GJ($,Z,Y){let X=await QJ();if(!X)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let J=await U7($,Z,Y);if(J)return J;try{let Q=AA($);if(!await i0(Q))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=IA(Y,Z.preset),K=Y.outputDir||"dist/images",W=Y.baseUrl||"/images";await TA(K,{recursive:!0});let U=await l0(Q),B=wA($,RA($)),_=Z.outputFormat?[Z.outputFormat]:Y.defaultFormats||["avif","webp","jpeg"],z={src:$,processed:!0,variants:[],hash:U},q=null;if(Z.transformations&&Z.transformations.length>0)q=await c4(Q,Z.transformations,X);for(let j of _){let H=G[j]||{},L=`${B}-${U}.${j}`,F=MA(K,L);try{let O=await X.optimizeImage({input:q||Q,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 X.generateThumbHash(Q);z.placeholder=j.dataUrl}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to generate thumbhash: ${j}`)}if(Z.useDominantColor)try{let j=await X.generatePlaceholder(Q,{strategy:"dominant-color"});z.dominantColor=j.dominantColor}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${j}`)}return await B7($,Z,z,Y),z}catch(Q){return{src:$,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function KJ($,Z,Y,X){let J=await QJ();if(!J)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await J.optimizeImage({input:$,output:X,format:Z,quality:Y}))?.outputSize}}catch(Q){return{success:!1,error:String(Q)}}}async function c4($,Z,Y){let X=Y||await QJ();if(!X)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let J=await X.decode($);for(let Q of Z){let G=Q.options||{};switch(Q.type){case"resize":if(G.width||G.height)J=await X.resize(J,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)J=await X.blur(J,G.sigma);break;case"sharpen":if(G.amount!==void 0)J=await X.sharpen(J,G.amount);break;case"grayscale":J=await X.grayscale(J);break;case"rotate":if(G.angle!==void 0)J=await X.rotate(J,G.angle);break;case"flip":J=await X.flip(J);break;case"flop":J=await X.flop(J);break;case"brightness":if(G.value!==void 0)J=await X.brightness(J,G.value);break;case"contrast":if(G.value!==void 0)J=await X.contrast(J,G.value);break;case"saturation":if(G.value!==void 0)J=await X.saturation(J,G.value);break}}return await X.encode(J,"png")}catch(J){return console.error(`[stx-media] Transformation failed: ${J}`),null}}var UU=k(()=>{I$();JJ()});import{resolve as EA,basename as DA,extname as kA,join as SA}from"path";import{mkdir as bA}from"fs/promises";async function CA(){try{return await import("ts-images")}catch{return null}}async function l4($,Z,Y){let X=await CA();if(!X)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=EA($);if(!await i0(J))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let Q=Z.responsiveWidths||Y.breakpoints||PA,G=Z.formats||Y.defaultFormats||["avif","webp","jpeg"],K=Y.outputDir||"dist/images",W=Y.baseUrl||"/images";await bA(K,{recursive:!0});let U=await l0(J),B=DA($,kA($)),_=Y.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},z={src:$,byFormat:{},srcsets:{}};for(let j of G){z.byFormat[j]=[];let H=[];for(let L of Q){let F=`${B}-${L}w-${U}.${j}`,O=SA(K,F),V=`${W}/${F}`;try{let N=_[j]?.quality||80;if(await i0(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 X.processImage({input:J,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||Y.placeholderStrategy||"thumbhash";if(q!=="none")try{if(q==="thumbhash"){let j=await X.generateThumbHash(J);z.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await X.generatePlaceholder(J,{strategy:q,width:20});z.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:q}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return z.sizes=Z.sizes||yA(Q),z}catch(Q){return console.error(`[stx-media] Responsive generation failed: ${Q}`),null}}function yA($){let Z=[...$].sort((X,J)=>X-J),Y=[];for(let X=0;X<Z.length-1;X++){let J=Z[X];Y.push(`(max-width: ${J}px) ${J}px`)}return Y.push(`${Z[Z.length-1]}px`),Y.join(", ")}function z8($,Z="width"){if(!$||$.length===0)return"";if(Z==="dpr")return $.filter((Y)=>Y.dpr).map((Y)=>`${Y.url} ${Y.dpr}x`).join(", ");return $.map((Y)=>`${Y.url} ${Y.width}w`).join(", ")}async function ux($,Z,Y){let X=[];for(let J of Z){let Q=await l4(J.src,{responsiveWidths:J.widths},Y);if(Q){for(let[G,K]of Object.entries(Q.srcsets))if(K)X.push({media:J.media,srcset:K,type:xA(G)})}}return X}function xA($){switch($){case"avif":return"image/avif";case"webp":return"image/webp";case"jpeg":return"image/jpeg";case"png":return"image/png";case"gif":return"image/gif";default:return"image/jpeg"}}var PA;var BU=k(()=>{I$();PA=[320,480,640,768,1024,1280,1536,1920]});var _U={};t(_U,{setCachedImageResult:()=>B7,processImage:()=>GJ,optimizeImage:()=>KJ,getCachedImageResult:()=>U7,generateSrcset:()=>z8,generateResponsiveVariants:()=>l4,clearImageCache:()=>XJ,applyTransformations:()=>c4,ImageProcessorCache:()=>W7});var WJ=k(()=>{UU();BU();JJ()});async function vA(){try{return await Promise.resolve().then(() => (WJ(),_U))}catch($){if(!zU)console.warn("[stx-media] Image processor not available, some features disabled:",$),zU=!0;return null}}async function E$($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipOptimization){if(Y.tsImagesConfig?.enabled&&!Y.isDev)return dA(X,Y)}if(Y.processedResult?.processed)return qJ($,Y.processedResult,Z);if(Y.responsiveVariants)return OU($,Y.responsiveVariants,Z);let{src:J,alt:Q,width:G,height:K,sizes:W,widths:U=c1,dpr:B,formats:_=Q$,quality:z=UJ,params:q={},placeholder:j="none",placeholderOptions:H={},lazy:L=!0,priority:F=!1,loading:O=F?"eager":j8,decoding:V=q8,fetchpriority:N,objectFit:A,objectPosition:w,crossorigin:R,referrerpolicy:M}=$,T=$.class,E=$.style,D=$.id,S=$.data||{},{isDev:C=!1,baseUrl:P=""}=Z;if(C&&!Z.optimize)return hA($);let b,x,s=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!F)try{b=await m4(J,{strategy:j,...H}),x=u4(s,b,H)}catch{}let u=B!==void 0&&G!==void 0,y;if(u)y=gA($,s,b,Z);else y=await fA($,s,b,Z);let h;if(F){let r=_.includes("webp")?"webp":_[0],W0=T$(J,U,{...q,q:z},r),Z0=typeof W==="object"?e5(W):W||"100vw";h=`<link rel="preload" as="image" imagesrcset="${W0}" imagesizes="${Z0}" />`}let p=[];if(!qU&&j!=="none")p.push(Z7),qU=!0;if(x)p.push(x);let n=L?HU(s):void 0;return{html:y,preloadLink:h,css:p.length>0?p.join(`
|
|
1191
1191
|
`):void 0,script:n}}async function fA($,Z,Y,X){let{src:J,alt:Q,width:G,height:K,sizes:W,widths:U=c1,formats:B=Q$,quality:_=UJ,params:z={},lazy:q=!0,priority:j=!1,loading:H=j?"eager":j8,decoding:L=q8,fetchpriority:F,objectFit:O,objectPosition:V,crossorigin:N,referrerpolicy:A}=$,w=$.class,R=$.style,M=$.data||{},T=typeof W==="object"?e5(W):W||"100vw",E=[];for(let C of B){let P=T$(J,U,{...z,q:_},C),b=h4(C);if(q&&!j)E.push(` <source type="${b}" data-srcset="${P}" data-sizes="${T}" />`);else E.push(` <source type="${b}" srcset="${P}" sizes="${T}" />`)}let D=BJ({src:C1(J,{...z,q:_}),alt:Q,width:G,height:K,loading:j?void 0:H,decoding:L,fetchpriority:j?"high":F,objectFit:O,objectPosition:V,crossorigin:N,referrerpolicy:A,className:jU(w,Y),style:_J(R,O,V,Y),lazy:q&&!j,data:M}),S;if(Y){let C=`background-image: url('${Y.dataURL}'); background-size: cover; background-position: center;`;S=`<div id="${Z}" class="stx-img-placeholder" style="${C}">
|
|
1192
1192
|
<picture>
|
|
1193
1193
|
${E.join(`
|
|
@@ -3003,7 +3003,7 @@ ${B}
|
|
|
3003
3003
|
customElements.define('${Z}', ${G});
|
|
3004
3004
|
`}async function uJ($,Z,Y,X){if(Z.length<1)return J0("WebComponent","@webcomponent directive requires at least the tag name parameter",$0.INVALID_DIRECTIVE_SYNTAX);let J=Z[0].replace(/['"]/g,""),G=(Y.__stx_options||{}).componentsDir||"components",K=[S$.join(S$.dirname(X),G,`${J}.stx`),S$.join(process.cwd(),G,`${J}.stx`),S$.join(S$.dirname(X),`${J}.stx`)],W=null;for(let _ of K)if(await e(_)){W=await Bun.file(_).text();break}if(!W)return J0("WebComponent",`Component file not found: ${J}.stx`,$0.FILE_NOT_FOUND);let U=WB(W,J);return`<script type="module">
|
|
3005
3005
|
${UB(U)}
|
|
3006
|
-
</script>`}var dJ;var mJ=k(()=>{O1();N0();dJ={strategy:"attribute",attributeName:"data-v",preserveOriginal:!0}});var BB={};t(BB,{timingPlugin:()=>cw,pluginManager:()=>cJ,definePlugin:()=>M7,debugPlugin:()=>pw,createVariablesPlugin:()=>lw,createFilterPlugin:()=>mw,createDirectivePlugin:()=>uw,PluginManager:()=>pJ});function M7($){return $}class pJ{plugins=new Map;sortedPlugins=[];initialized=!1;async register($,Z){if(this.plugins.has($.name))throw Error(`Plugin "${$.name}" is already registered`);if($.dependencies){for(let Y of $.dependencies)if(!this.plugins.has(Y))throw Error(`Plugin "${$.name}" depends on "${Y}" which is not registered`)}if(this.plugins.set($.name,$),$.onRegister)await $.onRegister(Z);this.sortPlugins()}async unregister($){let Z=this.plugins.get($);if(!Z)return!1;for(let[Y,X]of this.plugins)if(X.dependencies?.includes($))throw Error(`Cannot unregister "${$}" because "${Y}" depends on it`);if(Z.onUnregister)await Z.onUnregister();return this.plugins.delete($),this.sortPlugins(),!0}get($){return this.plugins.get($)}has($){return this.plugins.has($)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let $=[];for(let Z of this.sortedPlugins)if(Z.registerDirectives)$.push(...Z.registerDirectives());return $}getAllFilters(){let $={};for(let Z of this.sortedPlugins)if(Z.registerFilters)Object.assign($,Z.registerFilters());return $}async runBeforeProcess($){return this.runHooks("beforeProcess",$)}async runAfterParse($){return this.runHooks("afterParse",$)}async runBeforeDirective($,Z){return this.runDirectiveHooks("beforeDirective",$,Z)}async runAfterDirective($,Z){return this.runDirectiveHooks("afterDirective",$,Z)}async runBeforeRender($){return this.runHooks("beforeRender",$)}async runAfterRender($){return this.runHooks("afterRender",$)}async runOnError($){for(let Z of this.sortedPlugins)if(Z.onError)try{let Y=await Z.onError($);if(Y){if(Y.template!==void 0)$.template=Y.template;if(Y.context)$.context={...$.context,...Y.context};if(Y.metadata)$.metadata={...$.metadata,...Y.metadata};if(Y.skip)return $}}catch(Y){console.error(`Error in plugin "${Z.name}" onError hook:`,Y)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort(($,Z)=>($.priority??100)-(Z.priority??100))}async runHooks($,Z){let Y={...Z};for(let X of this.sortedPlugins){let J=X[$];if(J)try{let Q=await J(Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${X.name}" ${$} hook:`,Q)}}return Y}async runDirectiveHooks($,Z,Y){let X={...Y};for(let J of this.sortedPlugins){let Q=J[$];if(Q)try{let G=await Q(Z,X);if(G){if(G.template!==void 0)X.template=G.template;if(G.context)X.context={...X.context,...G.context};if(G.metadata)X.metadata={...X.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${J.name}" ${$} hook:`,G)}}return X}}function uw($,Z,Y={}){return{name:$,...Y,registerDirectives:()=>Z}}function mw($,Z,Y={}){return{name:$,...Y,registerFilters:()=>Z}}function lw($){return M7({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var cJ,pw,cw;var lJ=k(()=>{cJ=new pJ;pw=M7({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)}}),cw=M7({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess($){$.metadata.startTime=performance.now()},afterRender($){let Z=$.metadata.startTime;if(Z){let Y=performance.now()-Z;console.log(`[stx-timing] Processing took ${Y.toFixed(2)}ms`)}}})});var nJ={};t(nJ,{validateConfig:()=>qB,loadStxConfig:()=>x0,defineStxConfig:()=>zB,defaultConfig:()=>K1,config:()=>W1});import iJ from"fs";import Y1 from"path";import{loadConfigWithResult as iw}from"bunfig";function nw($,Z){let Y=Z||"pages";if($)return{root:$,pagesDir:Y};let X=Y1.join(process.cwd(),"resources","views"),J=Y1.join(process.cwd(),"resources","layouts");if(iJ.existsSync(X)&&iJ.existsSync(J))return{root:"resources",pagesDir:"views"};let Q=Y1.join(process.cwd(),"resources","views","pages");if(iJ.existsSync(Q))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}async function x0($){if(!$){if(T7)return T7;if(v8)return v8}let Z=$?Y1.resolve($):process.cwd(),Y=_B.get(Z);if(Y)return Y;let X=(async()=>{let Q=(await iw({name:"stx",alias:"ui",cwd:Z,defaultConfig:K1,verbose:!1})).config,G=nw(Q.root,Q.pagesDir);if(Q.root=G.root,Q.pagesDir=G.pagesDir,Q.root&&Q.root!=="."){let K=Q.root;if(Q.partialsDir&&!Y1.isAbsolute(Q.partialsDir))Q.partialsDir=Y1.join(K,Q.partialsDir);if(Q.componentsDir&&!Y1.isAbsolute(Q.componentsDir))Q.componentsDir=Y1.join(K,Q.componentsDir);if(Q.layoutsDir&&!Y1.isAbsolute(Q.layoutsDir))Q.layoutsDir=Y1.join(K,Q.layoutsDir)}if(Q.plugins&&Q.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (lJ(),BB)),W=[],U=[];for(let B of Q.plugins){let _=typeof B==="string"?B:B[0],z=typeof B==="string"?{}:B[1]||{};try{let q,j;try{q=await import(_),j=Y1.dirname(j0.resolve(_))}catch{let L=Y1.resolve(process.cwd(),_);q=await import(L),j=Y1.dirname(L)}let H=q.default||q;if(K.register(H,Q),H.components){let L=Y1.resolve(j,H.components);W.push(L)}if(H.pages){let L=Y1.resolve(j,H.pages),F=z.path||"/";U.push({dir:L,prefix:F})}if(H.setup){let L={addDirective:(F)=>{Q.customDirectives=Q.customDirectives||[],Q.customDirectives.push(F)},addRoute:(F,O)=>{Q.apiRoutes=Q.apiRoutes||{},Q.apiRoutes[F]=O},addMiddleware:(F)=>{Q.middleware=Q.middleware||[],Q.middleware.push(F)},pluginDir:j,config:Q};await H.setup(z,L)}console.log(`[stx] Plugin loaded: ${H.name||_}`)}catch(q){console.warn(`[stx] Failed to load plugin ${_}:`,q.message)}}Q._pluginComponentDirs=W,Q._pluginPageDirs=U}return Q})();if(_B.set(Z,X),!$)v8=X,X.then((J)=>{T7=J}).catch(()=>{});return X}function zB($){return $}function qB($){let Z=[],Y=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")Z.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")Z.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")Z.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")Z.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)Z.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)Z.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let X=["auto","manual","sections"];if(!X.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${X.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let X=["json","yaml","yml","js"];if(!X.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${X.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)Z.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if($.animation.staggerDelay!==void 0){if(typeof $.animation.staggerDelay!=="number"||$.animation.staggerDelay<0)Z.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let X=["AA","AAA"];if(!X.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${X.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let X=["progressive","islands"];if(!X.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${X.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let X=["none","eager","lazy"];if(!X.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${X.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((X,J)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`customDirectives[${J}].name`,message:"Custom directive must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`customDirectives[${J}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))Z.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((X,J)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`middleware[${J}].name`,message:"Middleware must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`middleware[${J}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!X.timing||!["before","after"].includes(X.timing))Z.push({path:`middleware[${J}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)Y.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if($.seo?.enabled===!0&&!$.seo?.defaultConfig?.title)Y.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if($.pwa){if($.pwa.enabled===!0&&!$.pwa.manifest?.name)Z.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let X=["fullscreen","standalone","minimal-ui","browser"];if(!X.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let X=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!X.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.routes){let X=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((J,Q)=>{if(!J.pattern||typeof J.pattern!=="string")Z.push({path:`pwa.routes[${Q}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!X.includes(J.strategy))Z.push({path:`pwa.routes[${Q}].strategy`,message:`PWA route strategy must be one of: ${X.join(", ")}`,severity:"error"});if(J.maxAgeSeconds!==void 0&&(typeof J.maxAgeSeconds!=="number"||J.maxAgeSeconds<0))Z.push({path:`pwa.routes[${Q}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(J.maxEntries!==void 0&&(typeof J.maxEntries!=="number"||J.maxEntries<1))Z.push({path:`pwa.routes[${Q}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((J)=>typeof J!=="number"||J<16||J>1024).length>0)Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let X=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((Q)=>!X.includes(Q)).length>0)Z.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.pwa.icons?.src)Y.push({path:"pwa.icons.src",message:"PWA is enabled but no icon source specified. Provide a 512x512 PNG for best results.",severity:"warning"});if($.pwa.enabled===!0&&!$.pwa.manifest?.themeColor)Y.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:Z.length===0,errors:Z,warnings:Y}}var K1,T7=null,_B,v8=null,W1;var s0=k(()=>{D3();P3();kX();Y8();Q8();OJ();DJ();vU();y8();mJ();K1={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:J8,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:uJ,hasEndTag:!1,description:"Include a web component in the template"},O4,L4,C8,P8,k3,b3,C3,S3,iW,CX,i4,s4,...kJ],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}};_B=new Map;W1=new Proxy(K1,{get($,Z){if(T7&&Z in T7)return T7[Z];if(!v8)x0().catch((Y)=>{console.warn("[stx] Failed to load config file:",Y?.message||Y)});return $[Z]}})});var u8={};t(u8,{resetCssCache:()=>tw,resetCrosswindCache:()=>ew,rebuildCrosswindCSS:()=>Y6,loadCrosswindConfig:()=>tJ,loadCrosswind:()=>aJ,injectCrosswindCSS:()=>T0,getCachedCSS:()=>$R,generateCrosswindCSS:()=>d8,extractClassNames:()=>h8,buildCrosswindCSS:()=>D7});import g8 from"fs";import q0 from"path";function oJ($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function sJ($,Z){if(G$.has($))G$.delete($);else if(G$.size>=sw)G$.delete(G$.keys().next().value);G$.set($,Z)}async function rw($){if(!b$)return null;try{let Z=Bun.file(q0.join(b$,`cw-${oJ($)}.css`));if(!await Z.exists())return null;return await Z.text()}catch{return null}}async function ow($,Z){if(!b$)return;try{if(!g8.existsSync(b$))g8.mkdirSync(b$,{recursive:!0});await Bun.write(q0.join(b$,`cw-${oJ($)}.css`),Z)}catch{}}async function jB($){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 aw(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"",Y=process.cwd();while(Y!==q0.dirname(Y))$.push(q0.join(Y,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(q0.join(Y,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(q0.join(Y,"pantry","@cwcss","crosswind","dist","index.js")),$.push(q0.join(Y,"pantry","@cwcss","crosswind","src","index.ts")),$.push(q0.join(Y,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(q0.join(Y,"pantry","@stacksjs","crosswind","dist","index.js")),Y=q0.dirname(Y);if(Z){let X=[q0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),q0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),q0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),q0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),q0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),q0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...X)}return $.push(q0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(q0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function aJ(){if(rJ)return E7;rJ=!0;try{let $=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Y of $){let X=await jB(Y);if(X){if(E7=X,!process.env.STACKS_DEV_QUIET)console.log(`${I.green}[Crosswind]${I.reset} CSS engine loaded`);return E7}}let Z=aw();for(let Y of Z)if(await Bun.file(Y).exists()){let X=await jB(Y);if(X){if(E7=X,!process.env.STACKS_DEV_QUIET)console.log(`${I.green}[Crosswind]${I.reset} CSS engine loaded from ${q0.dirname(q0.dirname(Y))}`);return E7}}throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${I.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${I.reset}`),console.warn(`${I.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${I.reset}`),null}}function tw(){G$.clear()}function ew(){E7=null,rJ=!1,x1=null,Z6="",G$.clear(),f8=null}async function tJ($){try{let{loadConfigWithResult:Z}=await import("bunfig"),Y=await Z({name:"crosswind",cwd:$,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Y?.path||!Y.config||Object.keys(Y.config).length===0)return null;let X=q0.relative($,Y.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${I.green}[Crosswind]${I.reset} Loaded config from ${X||Y.path}`);return Y.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${I.yellow}[Crosswind]${I.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}async function D7($){if(I7)return Z6;I7=!0;try{let Z=await aJ();if(!Z||!Z.build)return I7=!1,"";if(!x1)x1=await tJ($);if(!x1)return I7=!1,"";let Y=Z.defaultConfig?.theme||{},X=x1.theme||{},J={...Z.defaultConfig,...x1,theme:{...Y,...X,extend:{...Y.extend||{},...X.extend||{}}}},Q=performance.now(),G=await Z.build(J),K=performance.now()-Q;if(Z6=G.css,console.log(`${I.cyan}[Crosswind]${I.reset} Built ${G.classes.size} classes in ${K.toFixed(1)}ms`),J.output){let W=q0.isAbsolute(J.output)?J.output:q0.join($,J.output),U=q0.dirname(W);if(!g8.existsSync(U))g8.mkdirSync(U,{recursive:!0});await Bun.write(W,G.css)}return I7=!1,G.css}catch(Z){return console.error(`${I.red}[Crosswind]${I.reset} Build error:`,Z),I7=!1,Z6}}async function Y6($){x1=null,await D7($)}function $R(){return Z6}function h8($){let Z=new Set,Y=/class\s*=\s*["']([^"']+)["']/gi,X=Y.exec($);while(X!==null){for(let G of X[1].split(/\s+/))if(G.trim())Z.add(G.trim());X=Y.exec($)}let J=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,Q=J.exec($);while(Q!==null){let G=Q[1].match(/'([^']+)'/g);if(G){for(let K of G)for(let W of K.slice(1,-1).split(/\s+/))if(W.trim())Z.add(W.trim())}Q=J.exec($)}return Z}async function d8($,Z){try{let Y=await aJ();if(!Y)return"";let X=h8($);if(X.size===0)return"";let J=Z?q0.resolve(Z):process.cwd();if(!b$)b$=q0.join(J,".stx/cache");let Q=[...X].sort().join(" "),G=`${f8||"default"}::${Q}`,K=G$.get(G);if(K!==void 0)return sJ(G,K),K;let W=await rw(G);if(W!==null)return sJ(G,W),W;if(!x1){let A=null;try{let{loadStxConfig:w}=await Promise.resolve().then(() => (s0(),nJ)),R=await w(J);if(R.css)if(typeof R.css==="string"){let M=q0.isAbsolute(R.css)?R.css:q0.resolve(J,R.css);if(await Bun.file(M).exists()){let T=await import(M);A=T.default||T,console.log(`${I.green}[Crosswind]${I.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 M=q0.isAbsolute(R.css.config)?R.css.config:q0.resolve(J,R.css.config);if(await Bun.file(M).exists()){let T=await import(M);A={...T.default||T,...A}}}console.log(`${I.green}[Crosswind]${I.reset} Using inline CSS config from stx.config.ts`)}}catch{}x1=A||await tJ(J);try{f8=oJ(JSON.stringify(x1??{}))}catch{f8="unhashable"}}let U=Y.defaultConfig||Y.config,B=x1||{},_=U.theme||{},q=(B.theme||{}).extend||{},j={..._};if(Object.keys(q).length>0)j.extend=q;let H=[...U.safelist||[],...B.safelist||[]],L={...U,...B,content:[],output:"",preflight:!0,minify:!1,theme:j,safelist:H},F=new Y.CSSGenerator(L);for(let A of H)F.generate(A);for(let A of X)F.generate(A);let O=F.toCSS(!0,!1),V=L.shortcuts||B.shortcuts||{};for(let[A,w]of Object.entries(V)){if(!X.has(A)&&!H.includes(A))continue;let R=w.split(/\s+/).filter(Boolean);for(let M of R)F.generate(M)}O=F.toCSS(!0,!1);let N=O.split(`
|
|
3006
|
+
</script>`}var dJ;var mJ=k(()=>{O1();A0();dJ={strategy:"attribute",attributeName:"data-v",preserveOriginal:!0}});var BB={};t(BB,{timingPlugin:()=>cw,pluginManager:()=>cJ,definePlugin:()=>M7,debugPlugin:()=>pw,createVariablesPlugin:()=>lw,createFilterPlugin:()=>mw,createDirectivePlugin:()=>uw,PluginManager:()=>pJ});function M7($){return $}class pJ{plugins=new Map;sortedPlugins=[];initialized=!1;async register($,Z){if(this.plugins.has($.name))throw Error(`Plugin "${$.name}" is already registered`);if($.dependencies){for(let Y of $.dependencies)if(!this.plugins.has(Y))throw Error(`Plugin "${$.name}" depends on "${Y}" which is not registered`)}if(this.plugins.set($.name,$),$.onRegister)await $.onRegister(Z);this.sortPlugins()}async unregister($){let Z=this.plugins.get($);if(!Z)return!1;for(let[Y,X]of this.plugins)if(X.dependencies?.includes($))throw Error(`Cannot unregister "${$}" because "${Y}" depends on it`);if(Z.onUnregister)await Z.onUnregister();return this.plugins.delete($),this.sortPlugins(),!0}get($){return this.plugins.get($)}has($){return this.plugins.has($)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let $=[];for(let Z of this.sortedPlugins)if(Z.registerDirectives)$.push(...Z.registerDirectives());return $}getAllFilters(){let $={};for(let Z of this.sortedPlugins)if(Z.registerFilters)Object.assign($,Z.registerFilters());return $}async runBeforeProcess($){return this.runHooks("beforeProcess",$)}async runAfterParse($){return this.runHooks("afterParse",$)}async runBeforeDirective($,Z){return this.runDirectiveHooks("beforeDirective",$,Z)}async runAfterDirective($,Z){return this.runDirectiveHooks("afterDirective",$,Z)}async runBeforeRender($){return this.runHooks("beforeRender",$)}async runAfterRender($){return this.runHooks("afterRender",$)}async runOnError($){for(let Z of this.sortedPlugins)if(Z.onError)try{let Y=await Z.onError($);if(Y){if(Y.template!==void 0)$.template=Y.template;if(Y.context)$.context={...$.context,...Y.context};if(Y.metadata)$.metadata={...$.metadata,...Y.metadata};if(Y.skip)return $}}catch(Y){console.error(`Error in plugin "${Z.name}" onError hook:`,Y)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort(($,Z)=>($.priority??100)-(Z.priority??100))}async runHooks($,Z){let Y={...Z};for(let X of this.sortedPlugins){let J=X[$];if(J)try{let Q=await J(Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${X.name}" ${$} hook:`,Q)}}return Y}async runDirectiveHooks($,Z,Y){let X={...Y};for(let J of this.sortedPlugins){let Q=J[$];if(Q)try{let G=await Q(Z,X);if(G){if(G.template!==void 0)X.template=G.template;if(G.context)X.context={...X.context,...G.context};if(G.metadata)X.metadata={...X.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${J.name}" ${$} hook:`,G)}}return X}}function uw($,Z,Y={}){return{name:$,...Y,registerDirectives:()=>Z}}function mw($,Z,Y={}){return{name:$,...Y,registerFilters:()=>Z}}function lw($){return M7({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var cJ,pw,cw;var lJ=k(()=>{cJ=new pJ;pw=M7({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)}}),cw=M7({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess($){$.metadata.startTime=performance.now()},afterRender($){let Z=$.metadata.startTime;if(Z){let Y=performance.now()-Z;console.log(`[stx-timing] Processing took ${Y.toFixed(2)}ms`)}}})});var nJ={};t(nJ,{validateConfig:()=>qB,loadStxConfig:()=>x0,defineStxConfig:()=>zB,defaultConfig:()=>K1,config:()=>W1});import iJ from"fs";import Y1 from"path";import{loadConfigWithResult as iw}from"bunfig";function nw($,Z){let Y=Z||"pages";if($)return{root:$,pagesDir:Y};let X=Y1.join(process.cwd(),"resources","views"),J=Y1.join(process.cwd(),"resources","layouts");if(iJ.existsSync(X)&&iJ.existsSync(J))return{root:"resources",pagesDir:"views"};let Q=Y1.join(process.cwd(),"resources","views","pages");if(iJ.existsSync(Q))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}async function x0($){if(!$){if(T7)return T7;if(v8)return v8}let Z=$?Y1.resolve($):process.cwd(),Y=_B.get(Z);if(Y)return Y;let X=(async()=>{let Q=(await iw({name:"stx",alias:"ui",cwd:Z,defaultConfig:K1,verbose:!1})).config,G=nw(Q.root,Q.pagesDir);if(Q.root=G.root,Q.pagesDir=G.pagesDir,Q.root&&Q.root!=="."){let K=Q.root;if(Q.partialsDir&&!Y1.isAbsolute(Q.partialsDir))Q.partialsDir=Y1.join(K,Q.partialsDir);if(Q.componentsDir&&!Y1.isAbsolute(Q.componentsDir))Q.componentsDir=Y1.join(K,Q.componentsDir);if(Q.layoutsDir&&!Y1.isAbsolute(Q.layoutsDir))Q.layoutsDir=Y1.join(K,Q.layoutsDir)}if(Q.plugins&&Q.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (lJ(),BB)),W=[],U=[];for(let B of Q.plugins){let _=typeof B==="string"?B:B[0],z=typeof B==="string"?{}:B[1]||{};try{let q,j;try{q=await import(_),j=Y1.dirname(j0.resolve(_))}catch{let L=Y1.resolve(process.cwd(),_);q=await import(L),j=Y1.dirname(L)}let H=q.default||q;if(K.register(H,Q),H.components){let L=Y1.resolve(j,H.components);W.push(L)}if(H.pages){let L=Y1.resolve(j,H.pages),F=z.path||"/";U.push({dir:L,prefix:F})}if(H.setup){let L={addDirective:(F)=>{Q.customDirectives=Q.customDirectives||[],Q.customDirectives.push(F)},addRoute:(F,O)=>{Q.apiRoutes=Q.apiRoutes||{},Q.apiRoutes[F]=O},addMiddleware:(F)=>{Q.middleware=Q.middleware||[],Q.middleware.push(F)},pluginDir:j,config:Q};await H.setup(z,L)}console.log(`[stx] Plugin loaded: ${H.name||_}`)}catch(q){console.warn(`[stx] Failed to load plugin ${_}:`,q.message)}}Q._pluginComponentDirs=W,Q._pluginPageDirs=U}return Q})();if(_B.set(Z,X),!$)v8=X,X.then((J)=>{T7=J}).catch(()=>{});return X}function zB($){return $}function qB($){let Z=[],Y=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")Z.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")Z.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")Z.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")Z.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)Z.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)Z.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let X=["auto","manual","sections"];if(!X.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${X.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let X=["json","yaml","yml","js"];if(!X.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${X.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)Z.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if($.animation.staggerDelay!==void 0){if(typeof $.animation.staggerDelay!=="number"||$.animation.staggerDelay<0)Z.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let X=["AA","AAA"];if(!X.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${X.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let X=["progressive","islands"];if(!X.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${X.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let X=["none","eager","lazy"];if(!X.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${X.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((X,J)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`customDirectives[${J}].name`,message:"Custom directive must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`customDirectives[${J}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))Z.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((X,J)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`middleware[${J}].name`,message:"Middleware must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`middleware[${J}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!X.timing||!["before","after"].includes(X.timing))Z.push({path:`middleware[${J}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)Y.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if($.seo?.enabled===!0&&!$.seo?.defaultConfig?.title)Y.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if($.pwa){if($.pwa.enabled===!0&&!$.pwa.manifest?.name)Z.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let X=["fullscreen","standalone","minimal-ui","browser"];if(!X.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let X=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!X.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.routes){let X=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((J,Q)=>{if(!J.pattern||typeof J.pattern!=="string")Z.push({path:`pwa.routes[${Q}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!X.includes(J.strategy))Z.push({path:`pwa.routes[${Q}].strategy`,message:`PWA route strategy must be one of: ${X.join(", ")}`,severity:"error"});if(J.maxAgeSeconds!==void 0&&(typeof J.maxAgeSeconds!=="number"||J.maxAgeSeconds<0))Z.push({path:`pwa.routes[${Q}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(J.maxEntries!==void 0&&(typeof J.maxEntries!=="number"||J.maxEntries<1))Z.push({path:`pwa.routes[${Q}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((J)=>typeof J!=="number"||J<16||J>1024).length>0)Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let X=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((Q)=>!X.includes(Q)).length>0)Z.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.pwa.icons?.src)Y.push({path:"pwa.icons.src",message:"PWA is enabled but no icon source specified. Provide a 512x512 PNG for best results.",severity:"warning"});if($.pwa.enabled===!0&&!$.pwa.manifest?.themeColor)Y.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:Z.length===0,errors:Z,warnings:Y}}var K1,T7=null,_B,v8=null,W1;var s0=k(()=>{D3();P3();kX();Y8();Q8();OJ();DJ();vU();y8();mJ();K1={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:J8,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:uJ,hasEndTag:!1,description:"Include a web component in the template"},O4,L4,C8,P8,k3,b3,C3,S3,iW,CX,i4,s4,...kJ],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}};_B=new Map;W1=new Proxy(K1,{get($,Z){if(T7&&Z in T7)return T7[Z];if(!v8)x0().catch((Y)=>{console.warn("[stx] Failed to load config file:",Y?.message||Y)});return $[Z]}})});var u8={};t(u8,{resetCssCache:()=>tw,resetCrosswindCache:()=>ew,rebuildCrosswindCSS:()=>Y6,loadCrosswindConfig:()=>tJ,loadCrosswind:()=>aJ,injectCrosswindCSS:()=>T0,getCachedCSS:()=>$R,generateCrosswindCSS:()=>d8,extractClassNames:()=>h8,buildCrosswindCSS:()=>D7});import g8 from"fs";import q0 from"path";function oJ($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function sJ($,Z){if(G$.has($))G$.delete($);else if(G$.size>=sw)G$.delete(G$.keys().next().value);G$.set($,Z)}async function rw($){if(!b$)return null;try{let Z=Bun.file(q0.join(b$,`cw-${oJ($)}.css`));if(!await Z.exists())return null;return await Z.text()}catch{return null}}async function ow($,Z){if(!b$)return;try{if(!g8.existsSync(b$))g8.mkdirSync(b$,{recursive:!0});await Bun.write(q0.join(b$,`cw-${oJ($)}.css`),Z)}catch{}}async function jB($){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 aw(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"",Y=process.cwd();while(Y!==q0.dirname(Y))$.push(q0.join(Y,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(q0.join(Y,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(q0.join(Y,"pantry","@cwcss","crosswind","dist","index.js")),$.push(q0.join(Y,"pantry","@cwcss","crosswind","src","index.ts")),$.push(q0.join(Y,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(q0.join(Y,"pantry","@stacksjs","crosswind","dist","index.js")),Y=q0.dirname(Y);if(Z){let X=[q0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),q0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),q0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),q0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),q0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),q0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...X)}return $.push(q0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(q0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function aJ(){if(rJ)return E7;rJ=!0;try{let $=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Y of $){let X=await jB(Y);if(X){if(E7=X,!process.env.STACKS_DEV_QUIET)console.log(`${I.green}[Crosswind]${I.reset} CSS engine loaded`);return E7}}let Z=aw();for(let Y of Z)if(await Bun.file(Y).exists()){let X=await jB(Y);if(X){if(E7=X,!process.env.STACKS_DEV_QUIET)console.log(`${I.green}[Crosswind]${I.reset} CSS engine loaded from ${q0.dirname(q0.dirname(Y))}`);return E7}}throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${I.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${I.reset}`),console.warn(`${I.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${I.reset}`),null}}function tw(){G$.clear()}function ew(){E7=null,rJ=!1,x1=null,Z6="",G$.clear(),f8=null}async function tJ($){try{let{loadConfigWithResult:Z}=await import("bunfig"),Y=await Z({name:"crosswind",cwd:$,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Y?.path||!Y.config||Object.keys(Y.config).length===0)return null;let X=q0.relative($,Y.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${I.green}[Crosswind]${I.reset} Loaded config from ${X||Y.path}`);return Y.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${I.yellow}[Crosswind]${I.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}async function D7($){if(I7)return Z6;I7=!0;try{let Z=await aJ();if(!Z||!Z.build)return I7=!1,"";if(!x1)x1=await tJ($);if(!x1)return I7=!1,"";let Y=Z.defaultConfig?.theme||{},X=x1.theme||{},J={...Z.defaultConfig,...x1,theme:{...Y,...X,extend:{...Y.extend||{},...X.extend||{}}}},Q=performance.now(),G=await Z.build(J),K=performance.now()-Q;if(Z6=G.css,console.log(`${I.cyan}[Crosswind]${I.reset} Built ${G.classes.size} classes in ${K.toFixed(1)}ms`),J.output){let W=q0.isAbsolute(J.output)?J.output:q0.join($,J.output),U=q0.dirname(W);if(!g8.existsSync(U))g8.mkdirSync(U,{recursive:!0});await Bun.write(W,G.css)}return I7=!1,G.css}catch(Z){return console.error(`${I.red}[Crosswind]${I.reset} Build error:`,Z),I7=!1,Z6}}async function Y6($){x1=null,await D7($)}function $R(){return Z6}function h8($){let Z=new Set,Y=/class\s*=\s*["']([^"']+)["']/gi,X=Y.exec($);while(X!==null){for(let G of X[1].split(/\s+/))if(G.trim())Z.add(G.trim());X=Y.exec($)}let J=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,Q=J.exec($);while(Q!==null){let G=Q[1].match(/'([^']+)'/g);if(G){for(let K of G)for(let W of K.slice(1,-1).split(/\s+/))if(W.trim())Z.add(W.trim())}Q=J.exec($)}return Z}async function d8($,Z){try{let Y=await aJ();if(!Y)return"";let X=h8($);if(X.size===0)return"";let J=Z?q0.resolve(Z):process.cwd();if(!b$)b$=q0.join(J,".stx/cache");let Q=[...X].sort().join(" "),G=`${f8||"default"}::${Q}`,K=G$.get(G);if(K!==void 0)return sJ(G,K),K;let W=await rw(G);if(W!==null)return sJ(G,W),W;if(!x1){let A=null;try{let{loadStxConfig:w}=await Promise.resolve().then(() => (s0(),nJ)),R=await w(J);if(R.css)if(typeof R.css==="string"){let M=q0.isAbsolute(R.css)?R.css:q0.resolve(J,R.css);if(await Bun.file(M).exists()){let T=await import(M);A=T.default||T,console.log(`${I.green}[Crosswind]${I.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 M=q0.isAbsolute(R.css.config)?R.css.config:q0.resolve(J,R.css.config);if(await Bun.file(M).exists()){let T=await import(M);A={...T.default||T,...A}}}console.log(`${I.green}[Crosswind]${I.reset} Using inline CSS config from stx.config.ts`)}}catch{}x1=A||await tJ(J);try{f8=oJ(JSON.stringify(x1??{}))}catch{f8="unhashable"}}let U=Y.defaultConfig||Y.config,B=x1||{},_=U.theme||{},q=(B.theme||{}).extend||{},j={..._};if(Object.keys(q).length>0)j.extend=q;let H=[...U.safelist||[],...B.safelist||[]],L={...U,...B,content:[],output:"",preflight:!0,minify:!1,theme:j,safelist:H},F=new Y.CSSGenerator(L);for(let A of H)F.generate(A);for(let A of X)F.generate(A);let O=F.toCSS(!0,!1),V=L.shortcuts||B.shortcuts||{};for(let[A,w]of Object.entries(V)){if(!X.has(A)&&!H.includes(A))continue;let R=w.split(/\s+/).filter(Boolean);for(let M of R)F.generate(M)}O=F.toCSS(!0,!1);let N=O.split(`
|
|
3007
3007
|
`);for(let[A,w]of Object.entries(V)){if(!X.has(A)&&!H.includes(A))continue;let R=w.split(/\s+/).filter(Boolean),M=[],T=[];for(let E of R){let D=E.startsWith("dark:"),P=`.${(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 x=N[b].trim();if(x===`${P} {`||x.startsWith(`${P} {`)){let s=b,u="";while(s<N.length){if(u+=N[s],N[s].includes("}"))break;s++}let y=u.match(/\{([^}]+)\}/);if(y)if(D)T.push(y[1].trim());else M.push(y[1].trim());break}}}if(M.length)O+=`
|
|
3008
3008
|
.${A} { ${M.join(" ")} }`;if(T.length)O+=`
|
|
3009
3009
|
@media (prefers-color-scheme: dark) { .dark .${A} { ${T.join(" ")} } }`}return sJ(G,O),ow(G,O),O}catch(Y){return console.warn("Failed to generate Crosswind CSS:",Y),""}}async function T0($,Z){let Y=await d8($,Z);if(!Y)return $;let X=`<style data-crosswind="generated">
|
|
@@ -3838,7 +3838,7 @@ window.__stx_reactive = (function() {
|
|
|
3838
3838
|
${RR()}
|
|
3839
3839
|
${Y}
|
|
3840
3840
|
</script>`}function CB($,Z,Y){if(bB=0,!IR($))return $;let X=VR($);if(X.length===0)return $;let J=TR($,X),Q=MR(X,Z),G=J.lastIndexOf("</body>");if(G!==-1)J=J.slice(0,G)+Q+`
|
|
3841
|
-
`+J.slice(G);else J+=Q;return J}function TR($,Z){let Y=$;for(let X of Z){let Q=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${c8(X.stateExpr)}["']`,"gi").exec(Y);if(Q)X.id=Q[1],X.selector=`[data-stx-scope="${X.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${c8(X.stateExpr)}["'][^>]*data-stx-scope="([^"]*)"`,"gi").exec(Y);if(K)X.id=K[1],X.selector=`[data-stx-scope="${X.id}"]`;else Y=Y.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*"${c8(X.stateExpr)}")([^>]*>)`,"gi"),`$1data-stx-scope="${X.id}" $2$3$4`),Y=Y.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*'${c8(X.stateExpr)}')([^>]*>)`,"gi"),`$1data-stx-scope="${X.id}" $2$3$4`)}}return Y=Y.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),Y=Y.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),Y=Y.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),Y=Y.replace(/\s*x-init\s*=\s*'[^']*'/g,""),Y}function IR($){return/x-data\s*=\s*["']/.test($)}var bB=0,FR=0;var PB=k(()=>{c0()});import ER from"fs";import G2 from"path";import{createHighlighter as DR}from"ts-syntax-highlighter";async function K$($,Z={}){try{if(!await e($))throw Error(`Markdown file not found: ${$}`);let X=(await ER.promises.stat($)).mtime.getTime();if(Z.cache&&i8.has($)){let _=i8.get($);if(_.updatedAt>=X)return{content:_.content,data:_.data}}let J=await Bun.file($).text(),{data:Q,content:G}=rW(J),K=Z.markdown||W1.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},U=v4(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)U=await kR(U,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let B={content:U,data:Q||{}};if(Z.cache)i8.set($,{...B,updatedAt:X});return B}catch(Y){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,Y);let X=Y instanceof Error?Y.message:String(Y);return{content:
|
|
3841
|
+
`+J.slice(G);else J+=Q;return J}function TR($,Z){let Y=$;for(let X of Z){let Q=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${c8(X.stateExpr)}["']`,"gi").exec(Y);if(Q)X.id=Q[1],X.selector=`[data-stx-scope="${X.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${c8(X.stateExpr)}["'][^>]*data-stx-scope="([^"]*)"`,"gi").exec(Y);if(K)X.id=K[1],X.selector=`[data-stx-scope="${X.id}"]`;else Y=Y.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*"${c8(X.stateExpr)}")([^>]*>)`,"gi"),`$1data-stx-scope="${X.id}" $2$3$4`),Y=Y.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*'${c8(X.stateExpr)}')([^>]*>)`,"gi"),`$1data-stx-scope="${X.id}" $2$3$4`)}}return Y=Y.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),Y=Y.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),Y=Y.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),Y=Y.replace(/\s*x-init\s*=\s*'[^']*'/g,""),Y}function IR($){return/x-data\s*=\s*["']/.test($)}var bB=0,FR=0;var PB=k(()=>{c0()});import ER from"fs";import G2 from"path";import{createHighlighter as DR}from"ts-syntax-highlighter";async function K$($,Z={}){try{if(!await e($))throw Error(`Markdown file not found: ${$}`);let X=(await ER.promises.stat($)).mtime.getTime();if(Z.cache&&i8.has($)){let _=i8.get($);if(_.updatedAt>=X)return{content:_.content,data:_.data}}let J=await Bun.file($).text(),{data:Q,content:G}=rW(J),K=Z.markdown||W1.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},U=v4(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)U=await kR(U,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let B={content:U,data:Q||{}};if(Z.cache)i8.set($,{...B,updatedAt:X});return B}catch(Y){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,Y);let X=Y instanceof Error?Y.message:String(Y);return{content:F0("Markdown File",`Error reading/parsing markdown file: ${X}`,$,"",0,""),data:{}}}}async function kR($,Z,Y){let X=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!l8)try{l8=await DR({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let J=async(K,W,U,B)=>{let _=B.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"),z=U||(Y?"text":"");if(!z)return K;try{if(!l8.getSupportedLanguages().includes(z))return K;return(await l8.highlight(_,z,{theme:Z})).html}catch(q){console.error(`Error highlighting code block with language ${U}:`,q)}return K},Q=$,G=$.matchAll(X);for(let K of G){let[W,U,B,_]=K,z=await J(W,U,B,_);Q=Q.replace(W,z)}return Q}async function K2($,Z,Y="",X={}){return await SR($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,W,U)=>{try{let B=K;if(!G2.isAbsolute(K))B=G2.resolve(G2.dirname(Y),K);let _={};if(W)try{try{_=JSON.parse(W)}catch{if(X.debug)console.warn("Using safer alternative for parsing JS object literal");let 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('"'),M=w.startsWith("'")&&w.endsWith("'");if(R||M)w=w.substring(1,w.length-1);_[A]=w}}}}catch(F){if(X.debug)console.error("Error parsing context in @markdown-file directive:",F)}let{content:z,data:q}=await K$(B,X),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(B){let _=B instanceof Error?B.message:String(B);return F0("Markdown File",`Error including markdown file: ${_}`,Y,$,U,G)}})}async function SR($,Z,Y){let X=[],J;while((J=Z.exec($))!==null){let K=J[0],W=J.index,U=J;X.push(Y(...U).then((B)=>({match:K,replacement:B,index:W})))}let Q=await Promise.all(X);Q.sort((K,W)=>W.index-K.index);let G=$;for(let{match:K,replacement:W}of Q)G=G.replace(K,()=>W);return G}var i8,l8=null;var k7=k(()=>{s0();A0();i8=new Map});function W$($,Z){try{let Y=$.trim();if(_0(Y))return z0(Y,Object.keys(Z))(...Object.values(Z));else return B0(Y,Z)}catch{return!1}}var W2=k(()=>{d0()});class X6{source;pos=0;line=1;column=0;tokens=[];constructor($){this.source=$}tokenize(){this.tokens=[],this.pos=0,this.line=1,this.column=0;while(this.pos<this.source.length){let $=this.nextToken();if($)this.tokens.push($)}return this.tokens.push({type:"EOF",value:"",start:this.pos,end:this.pos,line:this.line,column:this.column}),this.tokens}nextToken(){if(this.pos>=this.source.length)return null;let $=this.pos,Z=this.line,Y=this.column,X=this.source[this.pos];if(/\s/.test(X))return this.readWhitespace($,Z,Y);if(X==="/"&&this.peek(1)==="/")return this.readLineComment($,Z,Y);if(X==="/"&&this.peek(1)==="*")return this.readBlockComment($,Z,Y);if(X==='"'||X==="'")return this.readString(X,$,Z,Y);if(X==="`")return this.readTemplateString($,Z,Y);if(/\d/.test(X)||X==="."&&/\d/.test(this.peek(1)||""))return this.readNumber($,Z,Y);if(/[a-z_$]/i.test(X))return this.readIdentifier($,Z,Y);if(X==="{"){if(this.peek(1)==="{"&&this.peek(2)==="{")return this.advance(3),{type:"RAW_START",value:"{{{",start:$,end:this.pos,line:Z,column:Y};if(this.peek(1)==="{")return this.advance(2),{type:"EXPRESSION_START",value:"{{",start:$,end:this.pos,line:Z,column:Y};if(this.peek(1)==="!"&&this.peek(2)==="!")return this.advance(3),{type:"RAW_START",value:"{!!",start:$,end:this.pos,line:Z,column:Y}}if(X==="}"){if(this.peek(1)==="}"&&this.peek(2)==="}")return this.advance(3),{type:"RAW_END",value:"}}}",start:$,end:this.pos,line:Z,column:Y};if(this.peek(1)==="}")return this.advance(2),{type:"EXPRESSION_END",value:"}}",start:$,end:this.pos,line:Z,column:Y}}if(X==="!"&&this.peek(1)==="!"&&this.peek(2)==="}")return this.advance(3),{type:"RAW_END",value:"!!}",start:$,end:this.pos,line:Z,column:Y};if(X==="@"&&/[a-z]/i.test(this.peek(1)||""))return this.readDirective($,Z,Y);let J=["===","!==","==","!=","<=",">=","&&","||","??","++","--","+=","-=","*=","/=","%=","**","=>","?.","...","<<",">>",">>>","&=","|=","^="];for(let Q of J)if(this.source.slice(this.pos,this.pos+Q.length)===Q)return this.advance(Q.length),{type:"OPERATOR",value:Q,start:$,end:this.pos,line:Z,column:Y};if(/[+\-*/%<>=!&|^~?:]/.test(X))return this.advance(),{type:"OPERATOR",value:X,start:$,end:this.pos,line:Z,column:Y};if(/[()[\]{},;.]/.test(X))return this.advance(),{type:"PUNCTUATION",value:X,start:$,end:this.pos,line:Z,column:Y};return this.advance(),{type:"PUNCTUATION",value:X,start:$,end:this.pos,line:Z,column:Y}}readWhitespace($,Z,Y){while(this.pos<this.source.length&&/\s/.test(this.source[this.pos]))this.advance();return{type:"WHITESPACE",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readLineComment($,Z,Y){this.advance(2);while(this.pos<this.source.length&&this.source[this.pos]!==`
|
|
3842
3842
|
`)this.advance();return{type:"COMMENT",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readBlockComment($,Z,Y){this.advance(2);while(this.pos<this.source.length-1){if(this.source[this.pos]==="*"&&this.source[this.pos+1]==="/"){this.advance(2);break}this.advance()}return{type:"COMMENT",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readString($,Z,Y,X){this.advance();while(this.pos<this.source.length){let J=this.source[this.pos];if(J==="\\"){this.advance(2);continue}if(J===$){this.advance();break}this.advance()}return{type:"STRING",value:this.source.slice(Z,this.pos),start:Z,end:this.pos,line:Y,column:X}}readTemplateString($,Z,Y){this.advance();let X=0,J=256;while(this.pos<this.source.length){let Q=this.source[this.pos];if(Q==="\\"){this.advance(2);continue}if(Q==="$"&&this.peek(1)==="{"){if(X>=J){this.pos=this.source.length;break}this.advance(2),X++;continue}if(Q==="{"&&X>0){X++,this.advance();continue}if(Q==="}"&&X>0){X--,this.advance();continue}if(Q==="`"&&X===0){this.advance();break}this.advance()}return{type:"TEMPLATE_STRING",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readNumber($,Z,Y){if(this.source[this.pos]==="0"){let X=this.peek(1)?.toLowerCase();if(X==="x"||X==="o"||X==="b"){this.advance(2);while(this.pos<this.source.length&&/[\da-f_]/i.test(this.source[this.pos]))this.advance();return{type:"NUMBER",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}}while(this.pos<this.source.length&&/[\d_]/.test(this.source[this.pos]))this.advance();if(this.source[this.pos]==="."&&/\d/.test(this.peek(1)||"")){this.advance();while(this.pos<this.source.length&&/[\d_]/.test(this.source[this.pos]))this.advance()}if(/e/i.test(this.source[this.pos]||"")){if(this.advance(),/[+-]/.test(this.source[this.pos]||""))this.advance();while(this.pos<this.source.length&&/[\d_]/.test(this.source[this.pos]))this.advance()}if(this.source[this.pos]==="n")this.advance();return{type:"NUMBER",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readIdentifier($,Z,Y){while(this.pos<this.source.length&&/[\w$]/.test(this.source[this.pos]))this.advance();return{type:"IDENTIFIER",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readDirective($,Z,Y){this.advance();while(this.pos<this.source.length&&/[a-z]/i.test(this.source[this.pos]))this.advance();return{type:"DIRECTIVE",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}advance($=1){for(let Z=0;Z<$&&this.pos<this.source.length;Z++){if(this.source[this.pos]===`
|
|
3843
3843
|
`)this.line++,this.column=0;else this.column++;this.pos++}}peek($){return this.source[this.pos+$]}saveState(){return{pos:this.pos,line:this.line,column:this.column}}restoreState($){this.pos=$.pos,this.line=$.line,this.column=$.column}}function v0($,Z,Y,X=0){let J=0,Q=X,G=null,K=0,W=!1;while(Q<$.length){let U=$[Q];if(G&&W){W=!1,Q++;continue}if(G&&U==="\\"){W=!0,Q++;continue}if(W=!1,(U==='"'||U==="'"||U==="`")&&!G){G=U,Q++;continue}if(U===G&&G!=="`"){G=null,Q++;continue}if(G==="`"&&U==="$"&&$[Q+1]==="{"){K++,Q+=2;continue}if(K>0&&U==="}"){K--,Q++;continue}if(U==="`"&&G==="`"&&K===0){G=null,Q++;continue}if(G){Q++;continue}if(U===Z)J++;else if(U===Y){if(J--,J===0)return Q}Q++}return-1}function U2($,Z){let Y=Z,X={paren:0,bracket:0,brace:0},J=null,Q=0;while(Y<$.length){let G=$[Y];if((Y>0?$[Y-1]:"")==="\\"&&J){Y++;continue}if((G==='"'||G==="'")&&!J){J=G,Y++;continue}if(G===J&&J!=="`"){J=null,Y++;continue}if(G==="`"&&!J){J="`",Y++;continue}if(G==="`"&&J==="`"&&Q===0){J=null,Y++;continue}if(J==="`"&&G==="$"&&$[Y+1]==="{"){Q++,Y+=2;continue}if(Q>0){if(G==="{")Q++;else if(G==="}")Q--;Y++;continue}if(J){Y++;continue}if(X.paren===0&&X.bracket===0&&X.brace===0){if($.slice(Y,Y+2)==="}}"||$.slice(Y,Y+3)==="!!}")break;if(G===","||G===";")break}if(G==="(")X.paren++;else if(G===")"){if(X.paren--,X.paren<0)break}else if(G==="[")X.bracket++;else if(G==="]"){if(X.bracket--,X.bracket<0)break}else if(G==="{")X.brace++;else if(G==="}"){if(X.brace--,X.brace<0)break}Y++}return{expression:$.slice(Z,Y),endPos:Y}}function n8($){let Z=[],Y="",X={paren:0,bracket:0,brace:0},J=null,Q=0;for(let G=0;G<$.length;G++){let K=$[G];if((G>0?$[G-1]:"")==="\\"&&J){Y+=K;continue}if((K==='"'||K==="'")&&!J){J=K,Y+=K;continue}if(K===J&&J!=="`"){J=null,Y+=K;continue}if(K==="`"&&!J){J="`",Y+=K;continue}if(K==="`"&&J==="`"&&Q===0){J=null,Y+=K;continue}if(J==="`"&&K==="$"&&$[G+1]==="{"){Q++,Y+=K+$[G+1],G++;continue}if(Q>0&&K==="{"){Q++,Y+=K;continue}if(Q>0&&K==="}"){Q--,Y+=K;continue}if(J){Y+=K;continue}if(K==="(")X.paren++;else if(K===")")X.paren--;else if(K==="[")X.bracket++;else if(K==="]")X.bracket--;else if(K==="{")X.brace++;else if(K==="}")X.brace--;if(K==="|"&&$[G+1]!=="|"&&(G===0||$[G-1]!=="|")&&$[G-1]!=="\\"&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(Y.trim()),Y="";continue}if(K==="|"&&$[G-1]==="\\"&&!J){Y=Y.slice(0,-1)+K;continue}Y+=K}if(Y.trim())Z.push(Y.trim());return Z}function U$($,Z){let Y=bR($,Z);return Y.ok?{expression:Y.expression,endPos:Y.endPos}:null}function bR($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Y};let X=v0($,"(",")",Y);if(X===-1)return{ok:!1,reason:"unclosed-paren",pos:Y};return{ok:!0,expression:$.slice(Y+1,X),endPos:X+1}}function P$($,Z,Y,X){let J=1,Q=X,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${Y}(?![a-z])`,"g");while(Q<$.length&&J>0){G.lastIndex=Q,K.lastIndex=Q;let W=G.exec($),U=K.exec($),B=W?W.index:1/0,_=U?U.index:1/0;if(B<_)J++,Q=B+W[0].length;else if(_<1/0){if(J--,J===0)return _;Q=_+U[0].length}else break}return-1}function B2($,Z){let Y=$.slice(Z).match(/^@if\s*/);if(!Y)return null;let X=Z+Y[0].length,J=U$($,X);if(!J)return null;let Q=J.endPos,G=P$($,"if","endif",Q);if(G===-1)return null;let K=$.slice(Q,G),W=[],U=0,B="if",_=J.expression,z=0,q=0;while(U<K.length){let j=K.indexOf("@",U);if(j===-1)break;U=j;let H=K.substring(j);if(/^@if\s*\(/.test(H)){q++,U++;continue}if(/^@endif(?![a-z])/.test(H)){q--,U+=6;continue}if(q===0){let L=H.match(/^@elseif\s*/);if(L){W.push({type:B,condition:_,content:K.substring(z,U),start:Q+z,end:Q+U});let F=U+L[0].length,O=U$(K,F);if(!O){U++;continue}B="elseif",_=O.expression,U=O.endPos,z=U;continue}else if(/^@else(?![a-z])/.test(H)){W.push({type:B,condition:_,content:K.substring(z,U),start:Q+z,end:Q+U}),B="else",_=void 0,U+=5,z=U;continue}}U++}return W.push({type:B,condition:_,content:K.slice(z),start:Q+z,end:Q+K.length}),{fullMatch:$.slice(Z,G+6),branches:W,start:Z,end:G+6}}function S7($){let Z=[],Y=/@if\s*\(/g,X=Y.exec($);while(X!==null){if(Z.some((G)=>X.index>G.start&&X.index<G.end)){X=Y.exec($);continue}let Q=B2($,X.index);if(Q)Z.push(Q),Y.lastIndex=Q.end;X=Y.exec($)}return Z}function J6($,Z,Y){let X=[],J=new RegExp(`@${Z}\\s*\\(`,"g"),Q=J.exec($);while(Q!==null){if(X.some((H)=>Q.index>H.start&&Q.index<H.end)){Q=J.exec($);continue}let K=Q.index,W=K+Q[0].length-1,U=v0($,"(",")",W);if(U===-1){Q=J.exec($);continue}let B=$.slice(W+1,U),_=U+1,z=P$($,Z,Y,_);if(z===-1){Q=J.exec($);continue}let q=$.slice(_,z),j=z+`@${Y}`.length;X.push({fullMatch:$.slice(K,j),name:Z,params:B,content:q,start:K,end:j}),J.lastIndex=j,Q=J.exec($)}return X}function s8($,Z){let Y=$.slice(Z).match(/^@switch\s*/);if(!Y)return null;let X=Z+Y[0].length,J=U$($,X);if(!J)return null;let Q=J.endPos,G=P$($,"switch","endswitch",Q);if(G===-1)return null;let K=$.slice(Q,G),W=[],U=0,B=null,_=0;while(U<K.length){let z=K.slice(U),q=z.match(/^@switch\s*\(/),j=z.match(/^@endswitch(?![a-z])/);if(q){if(_++,B)B.content+=q[0];U+=q[0].length;continue}if(j){if(_--,B)B.content+=j[0];U+=j[0].length;continue}if(_>0){if(B)B.content+=K[U];U++;continue}let H=z.match(/^@case\s*/),L=z.match(/^@default(?![a-z])/),F=z.match(/^@break(?![a-z])/);if(H&&z.startsWith("@case")){if(B)W.push(B);let O=U+H[0].length,V=U$(K,O);if(!V){U++;continue}B={type:"case",value:V.expression,content:""},U=V.endPos}else if(L&&z.startsWith("@default")){if(B)W.push(B);B={type:"default",content:""},U+=L[0].length}else if(F&&z.startsWith("@break"))U+=F[0].length;else{if(B)B.content+=K[U];U++}}if(B)W.push(B);return{fullMatch:$.slice(Z,G+10),expression:J.expression,cases:W,start:Z,end:G+10}}var yB=()=>{};function fB($){let Z=[],Y=0;while(Y<$.length){let X=$.indexOf("{{",Y),J=$.indexOf("{!!",Y),Q=!1,G;if(X===-1&&J===-1)break;else if(X===-1)G=J,Q=!0;else if(J===-1)G=X,Q=!1;else if(J<X)G=J,Q=!0;else G=X,Q=!1;if(!Q&&$.slice(G,G+3)==="{{{")Q=!0;let K=Q?$.slice(G,G+3)==="{{{"?"{{{":"{!!":"{{",W=Q?K==="{{{"?"}}}":"!!}":"}}",U=G+K.length,B=CR($,U,W);if(B===-1){Y=G+1;continue}let _=$.slice(U,B).trim(),z=B+W.length;Z.push({fullMatch:$.slice(G,z),expression:_,start:G,end:z,isRaw:Q}),Y=z}return Z}function CR($,Z,Y){let X=Z,J=null,Q={paren:0,bracket:0,brace:0},G=0;while(X<$.length){let K=$[X];if((X>0?$[X-1]:"")==="\\"&&J){X++;continue}if((K==='"'||K==="'")&&!J){J=K,X++;continue}if(K===J&&J!=="`"){J=null,X++;continue}if(K==="`"&&!J){J="`",X++;continue}if(K==="`"&&J==="`"&&G===0){J=null,X++;continue}if(J==="`"&&K==="$"&&$[X+1]==="{"){G++,X+=2;continue}if(G>0){if(K==="{")G++;else if(K==="}")G--;X++;continue}if(J){X++;continue}if(K==="(")Q.paren++;else if(K===")")Q.paren--;else if(K==="[")Q.bracket++;else if(K==="]")Q.bracket--;else if(K==="{")Q.brace++;else if(K==="}")Q.brace--;if(Q.paren===0&&Q.bracket===0&&Q.brace<=0){if($.slice(X,X+Y.length)===Y)return X}X++}return-1}function gB($){let Z=n8($);if(Z.length===0)return{baseExpression:"",filters:[]};let Y=Z[0],X=[];for(let J=1;J<Z.length;J++){let Q=PR(Z[J]);if(Q)X.push(Q)}return{baseExpression:Y,filters:X}}function PR($){let Z=$.trim();if(!Z)return null;let Y=Z.indexOf("(");if(Y===-1)return{name:Z,args:[]};let X=Z.slice(0,Y).trim(),J=Y+1,Q=v0(Z,"(",")",Y);if(Q===-1)return{name:X,args:[]};let G=Z.slice(J,Q),K=_2(G);return{name:X,args:K}}function _2($){let Z=[],Y="",X={paren:0,bracket:0,brace:0},J=null,Q=0;for(let G=0;G<$.length;G++){let K=$[G];if((G>0?$[G-1]:"")==="\\"&&J){Y+=K;continue}if((K==='"'||K==="'")&&!J){J=K,Y+=K;continue}if(K===J&&J!=="`"){J=null,Y+=K;continue}if(K==="`"&&!J){J="`",Y+=K;continue}if(K==="`"&&J==="`"&&Q===0){J=null,Y+=K;continue}if(J==="`"&&K==="$"&&$[G+1]==="{"){Q++,Y+="${",G++;continue}if(Q>0&&K==="{"){Q++,Y+=K;continue}if(Q>0&&K==="}"){Q--,Y+=K;continue}if(J){Y+=K;continue}if(K==="(")X.paren++;else if(K===")")X.paren--;else if(K==="[")X.bracket++;else if(K==="]")X.bracket--;else if(K==="{")X.brace++;else if(K==="}")X.brace--;if(K===","&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(Y.trim()),Y="";continue}Y+=K}if(Y.trim())Z.push(Y.trim());return Z}function hB($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return null;let X=v0($,"(",")",Y);if(X===-1)return null;return{params:$.slice(Y+1,X),endPos:X+1}}function dB($){let Z=[],X=new X6($).tokenize().filter((Q)=>Q.type!=="WHITESPACE"&&Q.type!=="COMMENT"),J=0;while(J<X.length){let Q=X[J],G=!1;if(Q.type==="IDENTIFIER"&&Q.value==="export"){if(G=!0,J++,J>=X.length)break}let K=X[J];if(K.type==="IDENTIFIER"&&(K.value==="const"||K.value==="let"||K.value==="var")){let W=K.value;if(J++,J>=X.length)break;let U=X[J];if(U.type==="IDENTIFIER"){let B=U.value;if(J++,J<X.length&&X[J].type==="OPERATOR"&&X[J].value==="="){J++;let _=J<X.length?X[J].start:$.length,z=xB(X,J,$);J=z.nextIndex,Z.push({type:"variable",name:B,value:$.slice(_,z.endPos),exported:G,start:K.start,end:z.endPos})}}else if(U.type==="PUNCTUATION"&&(U.value==="{"||U.value==="[")){let B=U.start,_=U.value==="{"?"}":"]",z=v0($,U.value,_,B);if(z!==-1){let q=$.slice(B,z+1);if(J=vB(X,z+1),J<X.length&&X[J].type==="OPERATOR"&&X[J].value==="="){J++;let j=J<X.length?X[J].start:$.length,H=xB(X,J,$);J=H.nextIndex;let L=`__stx_destructured_${Z.length}`;Z.push({type:"variable",name:L,value:`${$.slice(j,H.endPos)}; ${W} ${q} = ${L}`,exported:G,start:K.start,end:H.endPos})}}}}else if(K.type==="IDENTIFIER"&&K.value==="function"){let W=G?X[J-1].start:K.start;if(J++,J>=X.length)break;let U=X[J];if(U.type==="IDENTIFIER"){let B=U.value;J++;let _=-1;while(J<X.length){if(X[J].type==="PUNCTUATION"&&X[J].value==="{"){_=X[J].start;break}J++}if(_!==-1){let z=v0($,"{","}",_);if(z!==-1)Z.push({type:"function",name:B,value:$.slice(W,z+1).replace(/^export\s+/,""),exported:G,start:W,end:z+1}),J=vB(X,z+1)}}}else J++}return Z}function xB($,Z,Y){let X=Z,J={paren:0,bracket:0,brace:0},Q=Z<$.length?$[Z].start:Y.length;while(X<$.length){let G=$[X];if(G.type==="PUNCTUATION"){if(G.value==="(")J.paren++;else if(G.value===")")J.paren--;else if(G.value==="[")J.bracket++;else if(G.value==="]")J.bracket--;else if(G.value==="{")J.brace++;else if(G.value==="}")J.brace--;if(G.value===";"&&J.paren===0&&J.bracket===0&&J.brace===0){Q=G.start,X++;break}}if(G.type==="IDENTIFIER"&&(G.value==="const"||G.value==="let"||G.value==="var"||G.value==="function"||G.value==="export")){if(J.paren===0&&J.bracket===0&&J.brace===0){Q=$[X-1]?.end??G.start;break}}Q=G.end,X++}return{nextIndex:X,endPos:Q}}function vB($,Z){for(let Y=0;Y<$.length;Y++)if($[Y].start>=Z)return Y;return $.length}var uB=()=>{};var Q6=k(()=>{yB();uB()});function yR($,Z,Y){let X=$,J=!0;while(J){J=!1;let Q=X.match(/@switch\s*\(/);if(!Q||Q.index===void 0)break;let G=Q.index,K=s8(X,G);if(!K)break;try{let W;if(_0(K.expression))W=z0(K.expression,Object.keys(Z))(...Object.values(Z));else W=B0(K.expression,Z);let U="",B=!1;for(let _ of K.cases)if(_.type==="default"){if(!B)U=_.content.trim()}else try{let z;if(_.value&&_0(_.value))z=z0(_.value,Object.keys(Z))(...Object.values(Z));else if(_.value)z=B0(_.value,Z);if(W===z){U=_.content.trim(),B=!0;break}}catch{continue}X=X.substring(0,G)+U+X.substring(K.end),J=!0}catch(W){let U=W instanceof Error?W.message:String(W),B=J0("Switch",`Error evaluating @switch expression: ${U}`,$0.EVALUATION_ERROR);X=X.substring(0,G)+B+X.substring(K.end);break}}return X}function F5($,Z,Y){let X=$;X=yR(X,Z,Y);{let Q=!0;while(Q){Q=!1;let G=X.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,W=U$(X,K+7);if(!W)break;let U=W.endPos,B=P$(X,"unless","endunless",U);if(B===-1){console.warn(`[stx] @unless directive at position ${K} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let _=X.slice(U,B),z=W.expression,q=-1;{let H=0,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`;X=X.substring(0,K)+j+X.substring(B+10),Q=!0}}X=q2(X,Z,Y),X=j2(X,Z,Y),X=z2(X,Z);let J=()=>{let Q=S7(X);if(Q.length===0)return!1;for(let G=Q.length-1;G>=0;G--){let K=Q[G];try{let W="",U=!1;for(let B of K.branches){if(U)break;if(B.type==="else")W=B.content,U=!0;else try{let _;if(B.condition&&_0(B.condition))_=z0(B.condition,Object.keys(Z))(...Object.values(Z));else if(B.condition)_=B0(B.condition,Z);if(_)W=B.content,U=!0}catch(_){W=J0(B.type==="if"?"If":"Elseif",`Error in @${B.type}(${B.condition}): ${_ instanceof Error?_.message:String(_)}`,$0.EVALUATION_ERROR),U=!0}}X=X.substring(0,K.start)+W+X.substring(K.end)}catch(W){let U=W instanceof Error?W.message:String(W),B=J0("If",`Error processing @if block: ${U}`,$0.EVALUATION_ERROR);X=X.substring(0,K.start)+B+X.substring(K.end)}}return!0};while(!0){let Q=X;if(!J())break;if(X===Q)break}return X}function mB($){let Z=0;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let Y=$[Z];if(Y!=="'"&&Y!=='"')return null;Z++;let X=[];while(Z<$.length){let J=$[Z];if(J==="\\"&&Z+1<$.length){X.push($[Z+1]),Z+=2;continue}if(J===Y){Z++;break}X.push(J),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:X.join(""),consumed:Z}}function z2($,Z){let Y=$;function X(K,W,U,B){let _=1,z=B,q=new RegExp(`@${W}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${U}(?![a-z])`,"g");while(z<K.length&&_>0){q.lastIndex=z,j.lastIndex=z;let H=q.exec(K),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 J(K,W,U){let B=0,_=new RegExp(`@${W}(?:\\s*\\(|\\s|$)`,"g"),z=new RegExp(`@${U}(?![a-z])`,"g"),q=/@else(?![a-z])/g,j=[],H;while((H=_.exec(K))!==null)j.push({pos:H.index,type:"open"});while((H=z.exec(K))!==null)j.push({pos:H.index,type:"close"});while((H=q.exec(K))!==null)j.push({pos:H.index,type:"else"});j.sort((L,F)=>L.pos-F.pos);for(let L of j)if(L.type==="open")B++;else if(L.type==="close")B--;else if(L.type==="else"&&B===0)return L.pos;return-1}{let K=!0;while(K){K=!1;let W=Y.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!W||W.index===void 0)break;let U=W.index,B,_,z=Y.slice(U+5),q=mB(z);if(q)B=q.value,_=U+5+q.consumed;else _=U+5;let j=X(Y,"auth","endauth",_);if(j===-1){console.warn(`[stx] @auth directive at position ${U} has no matching @endauth \u2014 the block was skipped.`);break}let H=Y.slice(_,j),L=J(H,"auth","endauth"),F;if(!Z.auth)F=!1;else F=B?W$(`auth?.check && auth?.user?.[${B}]`,Z):W$("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:"";Y=Y.substring(0,U)+O+Y.substring(j+8),K=!0}}{let K=!0;while(K){K=!1;let W=Y.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!W||W.index===void 0)break;let U=W.index,B,_,z=Y.slice(U+6),q=mB(z);if(q)B=q.value,_=U+6+q.consumed;else _=U+6;let j=X(Y,"guest","endguest",_);if(j===-1){console.warn(`[stx] @guest directive at position ${U} has no matching @endguest \u2014 the block was skipped.`);break}let H=Y.slice(_,j),L=J(H,"guest","endguest"),F;if(!Z.auth)F=!0;else F=B?W$(`!auth?.check || !auth?.user?.[${B}]`,Z):W$("!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:"";Y=Y.substring(0,U)+O+Y.substring(j+9),K=!0}}function Q(K,W,U){if(Z.userCan&&typeof Z.userCan[K]==="boolean")return Z.userCan[K];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let B=[K];if(W)B.push(W);if(U){let _=W$(U,Z);B.push(_)}return Z.permissions.check(...B)}catch{return!1}return!1}function G(K){let W=K.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!W)return null;return{ability:W[1],type:W[2],id:W[3]?.trim(),paramsEnd:W[0].length}}for(let K of["can","cannot"]){let W=`end${K}`,U=K==="can"?"elsecan":"elsecannot",B=!0;while(B){B=!1;let _=Y.match(new RegExp(`@${K}\\s*\\(`));if(!_||_.index===void 0)break;let z=_.index,q=Y.slice(z+`@${K}`.length),j=G(q);if(!j)break;let H=z+`@${K}`.length+j.paramsEnd,L=X(Y,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=Y.slice(H,L),O=[],V=0,N=new RegExp(`@${K}\\s*\\(`,"g"),A=new RegExp(`@${W}(?![a-z])`,"g"),w=new RegExp(`@${U}\\s*\\(`,"g"),R=/@else(?![a-z])/g,M=[],T;while((T=N.exec(F))!==null)M.push({pos:T.index,type:"open"});while((T=A.exec(F))!==null)M.push({pos:T.index,type:"close"});while((T=w.exec(F))!==null)M.push({pos:T.index,type:"elseDirective"});while((T=R.exec(F))!==null)M.push({pos:T.index,type:"else"});M.sort((b,x)=>b.pos-x.pos);for(let b of M){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 x=O[b];if(E.push({content:F.slice(D,x.pos),ability:void 0}),x.type==="elseDirective"){let s=F.slice(x.pos+`@${U}`.length),u=G(s);if(u){E[E.length-1]={content:F.slice(D,x.pos)},D=x.pos+`@${U}`.length+u.paramsEnd,E.push({content:"",ability:u.ability,type:u.type,id:u.id}),E.pop();let y=O[b+1],h=y?y.pos:F.length;E.push({content:F.slice(D,h),ability:u.ability,type:u.type,id:u.id}),D=h}}else D=x.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 S=Q(j.ability,j.type,j.id),C=K==="can"?S:!S,P="";if(C)P=E[0]?.content||"";else{let b=!1;for(let x=1;x<E.length;x++){let s=E[x];if(s.isFinalElse){P=s.content,b=!0;break}if(s.ability){let u=Q(s.ability,s.type,s.id);if(K==="can"?u:!u){P=s.content,b=!0;break}}}if(!b&&E.length>0){let x=E[E.length-1];if(x.isFinalElse)P=x.content}}Y=Y.substring(0,z)+P+Y.substring(L+`@${W}`.length),B=!0}}return Y}function q2($,Z,Y){let X=$;function J(Q,G,K,W,U){let B=!0;while(B){B=!1;let _=new RegExp(`@${G}\\s*\\(`),z=Q.match(_);if(!z||z.index===void 0)break;let q=z.index,j=U$(Q,q+`@${G}`.length);if(!j)break;let H=j.endPos,L=P$(Q,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=Q.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 M=F.slice(0,V),T=F.slice(V+5);R=w?M:T}else R=w?F:"";Q=Q.substring(0,q)+R+Q.substring(L+`@${K}`.length),B=!0}catch(w){let R=w instanceof Error?w.message:String(w),M=J0(U,`Error processing @${G} directive: ${R}`,$0.EVALUATION_ERROR);Q=Q.substring(0,q)+M+Q.substring(L+`@${K}`.length);break}}return Q}return X=J(X,"isset","endisset",(Q)=>{let G=W$(Q,Z);return G!==void 0&&G!==null},"Isset"),X=J(X,"empty","endempty",(Q)=>{let G=W$(Q,Z);return G===void 0||G===null||G===""||G===0||G===!1||Array.isArray(G)&&G.length===0||typeof G==="object"&&G!==null&&Object.keys(G).length===0},"Empty"),X}function j2($,Z,Y){let X=$,J="development";function Q(G,K,W,U){let B=new RegExp(`@${K}(?![a-z])`,"g"),_=new RegExp(`@${W}(?![a-z])`,"g"),z=new RegExp(`^@${K}(?![a-z])`),q=new RegExp(`^@${W}(?![a-z])`),j=G,H=!0;while(H){H=!1,B.lastIndex=0;let L=B.exec(j);if(!L)break;let F=L.index,O=F+L[0].length;if(K==="env"){let S=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!S)break;O+=S[0].length,U=J===S[2]}let V=1,N=O,A=-1;while(V>0&&N<j.length){B.lastIndex=N,_.lastIndex=N;let S=B.exec(j),C=_.exec(j),P=S?S.index:1/0,b=C?C.index:1/0;if(P<b)V++,N=P+S[0].length;else if(b<1/0){if(V--,V===0){A=b;break}N=b+C[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,M=0,T=0;while(T<w.length){let S=w.indexOf("@",T);if(S===-1)break;let C=w.substring(S);if(z.test(C)){M++,T=S+1;continue}if(q.test(C)){M--,T=S+1;continue}if(M===0&&/^@else(?![a-z])/.test(C)){R=S;break}T=S+1}let E;if(R!==-1){let S=w.slice(0,R),C=w.slice(R+5);E=U?S:C}else E=U?w:"";let D=`@${W}`.length;j=j.substring(0,F)+E+j.substring(A+D),H=!0}return j}return X=Q(X,"env","endenv",!1),X=Q(X,"production","endproduction",J==="production"),X=Q(X,"development","enddevelopment",J==="development"),X=Q(X,"staging","endstaging",J==="staging"),X=Q(X,"testing","endtesting",J==="testing"),X}var r8=k(()=>{W2();O1();Q6();d0()});function O2($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function y$($,Z){if(!$)return Z?.nonceGenerator?.()??O2();let Y=H2.get($);if(!Y)Y=Z?.nonceGenerator?.()??O2(),H2.set($,Y);return Y}function xR($){H2.delete($)}function L2($,Z){let Y=[];for(let[X,J]of Object.entries($)){if(J===void 0||J===null)continue;if(typeof J==="boolean"){if(J)Y.push(X);continue}if(Array.isArray(J)){let Q=[...J];if(Z&&(X==="script-src"||X==="style-src"))Q=Q.filter((G)=>!G.startsWith("'nonce-")),Q.push(`'nonce-${Z}'`);if(Q.length>0)Y.push(`${X} ${Q.join(" ")}`)}}return Y.join("; ")}function a8($,Z){return`<meta http-equiv="Content-Security-Policy" content="${L2($,Z).replace(/&/g,"&").replace(/"/g,""")}">`}function vR($){return{enabled:!0,directives:{strict:pB,moderate:o8,relaxed:cB,api:lB}[$]||o8,useNonce:$==="strict",addMetaTag:!0}}function fR($,Z){let Y={...$};for(let[X,J]of Object.entries(Z)){let Q=X,G=Y[Q];if(J===void 0||J===null)continue;if(typeof J==="boolean")Y[Q]=G||J;else if(Array.isArray(J)){let K=Array.isArray(G)?G:[],W=[...new Set([...K,...J])];Y[Q]=W}}return Y}function F2($,Z,Y){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let X=Z.useNonce?y$(Y,Z):void 0,J=a8(Z.directives,X);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
3844
3844
|
${J}`)}function gR($,Z){let Y=$;return Y=Y.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(X,J)=>{if(J.includes("nonce="))return X;return`<script nonce="${Z}"${J}>`}),Y=Y.replace(/<style([^>]*)>/gi,(X,J)=>{if(J.includes("nonce="))return X;return`<style nonce="${Z}"${J}>`}),Y}function V2($,Z,Y,X){let J=$,Q=X.csp;if(J=J.replace(/@csp\b/g,()=>{if(!Q?.enabled||!Q.directives)return"<!-- CSP not configured -->";let G=Q.useNonce?y$(Z,Q):void 0;return a8(Q.directives,G)}),J=J.replace(/@cspNonce\b/g,()=>{if(!Q?.enabled||!Q.useNonce)return"";return y$(Z,Q)}),Q?.enabled&&Q.useNonce)Z.cspNonce=y$(Z,Q);return J}function hR(){return[iB,nB]}function dR($){let Z=[];if($["script-src"]?.includes("'unsafe-inline'"))Z.push("CSP: Using unsafe-inline in script-src significantly reduces XSS protection");if($["script-src"]?.includes("'unsafe-eval'"))Z.push("CSP: Using unsafe-eval in script-src allows eval() and related functions");if(!$["default-src"])Z.push("CSP: No default-src specified. Recommend adding default-src as a fallback");if($["default-src"]?.includes("*"))Z.push("CSP: Using * in default-src provides minimal protection");if(!$["object-src"]&&!$["default-src"]?.includes("'none'"))Z.push("CSP: Consider adding object-src: none to block plugins");if(!$["base-uri"])Z.push("CSP: Consider adding base-uri to prevent base tag injection attacks");for(let[Y,X]of Object.entries($))if(Array.isArray(X)&&X.includes("http:"))Z.push(`CSP: Using http: in ${Y} allows insecure resources`);return Z}function sB($=!1){return $?"Content-Security-Policy-Report-Only":"Content-Security-Policy"}function uR($,Z){if(!$.enabled)return{};let Y=$.useNonce?y$(Z,$):void 0,X=L2($.directives,Y);return{[sB($.reportOnly)]:X}}var H2,pB,o8,cB,lB,iB,nB,mR;var N2=k(()=>{H2=new WeakMap;pB={"default-src":["'self'"],"script-src":["'self'","'strict-dynamic'"],"style-src":["'self'"],"img-src":["'self'","data:","https:"],"font-src":["'self'","https:","data:"],"connect-src":["'self'"],"media-src":["'self'"],"object-src":["'none'"],"frame-src":["'none'"],"base-uri":["'self'"],"form-action":["'self'"],"frame-ancestors":["'self'"],"upgrade-insecure-requests":!0},o8={"default-src":["'self'"],"script-src":["'self'"],"style-src":["'self'","'unsafe-inline'"],"img-src":["'self'","data:","https:"],"font-src":["'self'","https:","data:"],"connect-src":["'self'","https:"],"media-src":["'self'"],"object-src":["'none'"],"frame-src":["'self'"],"base-uri":["'self'"],"form-action":["'self'"],"upgrade-insecure-requests":!0},cB={"default-src":["'self'"],"script-src":["'self'","'unsafe-inline'"],"style-src":["'self'","'unsafe-inline'"],"img-src":["'self'","data:","https:","http:"],"font-src":["'self'","https:","http:","data:"],"connect-src":["'self'","https:","http:","ws:","wss:"],"media-src":["'self'","https:","http:"],"object-src":["'none'"],"frame-src":["'self'","https:"],"base-uri":["'self'"]},lB={"default-src":["'none'"],"frame-ancestors":["'none'"]};iB={name:"csp",handler:($,Z,Y,X)=>{let Q=Y.__stx_options?.csp;if(!Q?.enabled||!Q.directives)return"<!-- CSP not configured -->";let G=Q.useNonce?y$(Y,Q):void 0;return a8(Q.directives,G)},hasEndTag:!1,description:"Insert Content-Security-Policy meta tag"},nB={name:"cspNonce",handler:($,Z,Y,X)=>{let Q=Y.__stx_options?.csp;if(!Q?.enabled||!Q.useNonce)return"";return y$(Y,Q)},hasEndTag:!1,description:"Output the current CSP nonce value"};mR={enabled:!1,reportOnly:!1,directives:o8,useNonce:!1,addMetaTag:!0}});import{Buffer as rB}from"buffer";import oB from"crypto";function cR($=pR){let Z=oB.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return b7=Z,Z}function lR(){if(!b7)cR();return b7}function Lg(){b7=null}function Fg($){b7=$}function iR($=aB){let Z=lR();return`<input type="hidden" name="${$}" value="${Z}">`}function tB($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,Y,X)=>{return iR(X||aB)})}function Vg($,Z){let Y=Z??b7;if(!Y)return!1;let X=rB.from($),J=rB.from(Y);if(X.length!==J.length)return!1;return oB.timingSafeEqual(X,J)}var pR=40,aB="_token",b7=null;var eB=()=>{};async function A2($,Z,Y,X){if(!X.customDirectives||X.customDirectives.length===0)return $;let J=$;for(let Q of X.customDirectives){if(!Q.name||typeof Q.handler!=="function"){if(X.debug)console.warn("Invalid custom directive:",Q);continue}if(Q.hasEndTag)J=await nR(J,Q,Z,Y,X);else J=await sR(J,Q,Z,Y,X)}return J}async function nR($,Z,Y,X,J){let{name:Q,handler:G}=Z,K=`@${Q}`,W=`@end${Q}`,U=$,B=H5(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${W}`,"g"),_=[],z=B.exec(U);while(z!==null){let[q,j="",H=""]=z,L=z.index||0;try{let F=j?$_(j):[],O=H.trim(),V=await G(O,F,Y,X);_.push({original:q,processed:V,startIndex:L})}catch(F){let O=F instanceof Error?F.message:String(F);if(J.debug)console.error(`Error processing custom directive @${Q}:`,F);_.push({original:q,processed:J0("CustomDirective",`Error in @${Q}${j?`(${j})`:""}: ${O}`,$0.EVALUATION_ERROR),startIndex:L})}z=B.exec(U)}for(let q=_.length-1;q>=0;q--){let{original:j,processed:H}=_[q];U=U.replace(j,H)}return U}async function sR($,Z,Y,X,J){let{name:Q,handler:G}=Z,K=$,W=H5(`@${Q}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),U=[],B=W.exec(K);while(B!==null){let[q,j=""]=B,H=B.index||0;try{let L=$_(j),F=await G("",L,Y,X);U.push({original:q,processed:F,startIndex:H})}catch(L){let F=L instanceof Error?L.message:String(L);if(J.debug)console.error(`Error processing custom directive @${Q}:`,L);U.push({original:q,processed:J0("CustomDirective",`Error in @${Q}(${j}): ${F}`,$0.EVALUATION_ERROR),startIndex:H})}B=W.exec(K)}let _=H5(`@${Q}(?!\\w)(?!\\s*\\()`,"g"),z=_.exec(K);while(z!==null){let[q]=z,j=z.index||0;try{let H=await G("",[],Y,X);U.push({original:q,processed:H,startIndex:j})}catch(H){let L=H instanceof Error?H.message:String(H);if(J.debug)console.error(`Error processing custom directive @${Q}:`,H);U.push({original:q,processed:J0("CustomDirective",`Error in @${Q}: ${L}`,$0.EVALUATION_ERROR),startIndex:j})}z=_.exec(K)}for(let q=U.length-1;q>=0;q--){let{original:j,processed:H}=U[q];K=K.replace(j,H)}return K}function $_($){if(!$.trim())return[];let Z=[],Y="",X=!1,J="";for(let Q=0;Q<$.length;Q++){let G=$[Q];if((G==='"'||G==="'")&&(Q===0||$[Q-1]!=="\\"))if(!X)X=!0,J=G;else if(G===J)X=!1;else Y+=G;else if(G===","&&!X)Z.push(Y.trim()),Y="";else Y+=G}if(Y.trim())Z.push(Y.trim());return Z.map((Q)=>{let G=Q.trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))return G.substring(1,G.length-1);return G})}var w2=k(()=>{O1();O5()});var $Z={};t($Z,{useTitle:()=>X_,useSeoMeta:()=>G6,usePageTitle:()=>X_,useHead:()=>v$,resetHead:()=>Z_,renderHtmlAttrs:()=>Q_,renderHead:()=>J_,renderBodyAttrs:()=>G_,processTitleDirective:()=>U_,processMetaDirective:()=>B_,processHeadDirective:()=>W_,getPageMeta:()=>e8,getHead:()=>C7,definePageMeta:()=>Y_,applyHead:()=>K_});function C7(){return x$}function e8(){return t8}function Z_(){x$={},rR.length=0,t8={}}function v$($){x$=oR(x$,$)}function oR($,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 G6($){let Z=[];if($.description)Z.push({name:"description",content:$.description});if($.keywords){let W=Array.isArray($.keywords)?$.keywords.join(", "):$.keywords;Z.push({name:"keywords",content:W})}if($.author)Z.push({name:"author",content:$.author});if($.robots)Z.push({name:"robots",content:$.robots});let Y=$.ogTitle??$.title,X=$.ogDescription??$.description;if(Y)Z.push({property:"og:title",content:Y});if(X)Z.push({property:"og:description",content:X});if($.ogImage)Z.push({property:"og:image",content:$.ogImage});if($.ogUrl)Z.push({property:"og:url",content:$.ogUrl});if($.ogType)Z.push({property:"og:type",content:$.ogType});if($.ogSiteName)Z.push({property:"og:site_name",content:$.ogSiteName});if($.ogLocale)Z.push({property:"og:locale",content:$.ogLocale});let J=$.twitterTitle??$.title,Q=$.twitterDescription??$.description,G=$.twitterImage??$.ogImage;if($.twitterCard)Z.push({name:"twitter:card",content:$.twitterCard});if(J)Z.push({name:"twitter:title",content:J});if(Q)Z.push({name:"twitter:description",content:Q});if(G)Z.push({name:"twitter:image",content:G});if($.twitterSite)Z.push({name:"twitter:site",content:$.twitterSite});if($.twitterCreator)Z.push({name:"twitter:creator",content:$.twitterCreator});if($.articleAuthor)Z.push({property:"article:author",content:$.articleAuthor});if($.articlePublishedTime)Z.push({property:"article:published_time",content:$.articlePublishedTime});if($.articleModifiedTime)Z.push({property:"article:modified_time",content:$.articleModifiedTime});if($.articleSection)Z.push({property:"article:section",content:$.articleSection});if($.articleTags)for(let W of $.articleTags)Z.push({property:"article:tag",content:W});let K=[];if($.canonical)K.push({rel:"canonical",href:$.canonical});v$({title:$.title,titleTemplate:$.titleTemplate,meta:Z,link:K})}function Y_($){if(t8={...t8,...$},$.title||$.description)G6({title:$.title,description:$.description})}function X_($){let Z=typeof $==="function"?$():$;v$({title:Z})}function J_($=x$){let Z=[];if($.title){let Y=$.title;if($.titleTemplate)Y=typeof $.titleTemplate==="function"?$.titleTemplate(Y):$.titleTemplate.replace("%s",Y);Z.push(`<title>${V5(Y)}</title>`)}if($.base){let Y=Object.entries($.base).map(([X,J])=>`${X}="${V5(J)}"`).join(" ");Z.push(`<base ${Y}>`)}for(let Y of $.meta||[]){let X=Object.entries(Y).filter(([J,Q])=>Q!==void 0).map(([J,Q])=>{return`${J==="httpEquiv"?"http-equiv":J}="${V5(String(Q))}"`}).join(" ");Z.push(`<meta ${X}>`)}for(let Y of $.link||[]){let X=Object.entries(Y).filter(([J,Q])=>Q!==void 0).map(([J,Q])=>`${J}="${V5(String(Q))}"`).join(" ");Z.push(`<link ${X}>`)}for(let Y of $.script||[]){let{content:X,...J}=Y,Q=Object.entries(J).filter(([G,K])=>K!==void 0).map(([G,K])=>{if(typeof K==="boolean")return K?G:"";return`${G}="${V5(String(K))}"`}).filter(Boolean).join(" ");if(X)Z.push(`<script ${Q}>${X}</script>`);else Z.push(`<script ${Q}></script>`)}for(let Y of $.style||[]){let X=Y.type?` type="${Y.type}"`:"";Z.push(`<style${X}>${Y.content}</style>`)}return Z.join(`
|
|
@@ -3922,7 +3922,7 @@ window.__stxSuspense.resolve('${$}', \`${X}\`);
|
|
|
3922
3922
|
</script>`}catch(Y){let X=Y instanceof Error?Y.message:String(Y);return`
|
|
3923
3923
|
<script>
|
|
3924
3924
|
window.__stxSuspense.resolve('${$}', '<div class="stx-error">Error loading content: ${E0(X)}</div>');
|
|
3925
|
-
</script>`}}function EM($,Z,Y){if(!Z||Z<=0)return $;let X,J=new Promise((Q,G)=>{X=setTimeout(()=>G(Error(`streaming boundary "${Y}" timed out after ${Z}ms`)),Z)});return Promise.race([$,J]).finally(()=>clearTimeout(X))}function C_($,Z=[],Y={}){let X=Y.timeoutMs??0;return new ReadableStream({async start(J){try{if(J.enqueue($),Z.length>0)J.enqueue(f2),await Promise.all(Z.map(async(Q)=>{let G=EM(Q.render(),X,Q.id);J.enqueue(await KZ(Q.id,G))}));J.close()}catch(Q){J.error(Q)}}})}function P_($,Z){return $.replace(DM,(Y,X,J)=>{let Q=X.trim(),G=J.split(/@fallback/i),K=G[0].trim(),W=G.length>1?G.slice(1).join("@fallback").trim():"";if(!Z.__streamTemplates)Z.__streamTemplates={};return Z.__streamTemplates[Q]=K,`<div data-suspense="${Q}">${W}</div>`})}function y_($){let Z=$?.streamBoundaries;if(!Z||typeof Z!=="object")return;let Y=Object.entries(Z).filter(([,X])=>typeof X==="function");return Y.length>0?Y.map(([X,J])=>({id:X,render:J})):void 0}async function x_($,Z={},Y={}){let X={...K1,...Y,streaming:{...v2,...Y.streaming}},J=X.streaming?.bufferSize||16384;return new ReadableStream({async start(Q){try{let G=await Bun.file($).text(),K=G.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),W=K?K[1]:"",U=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),B={...Z,__filename:$,__dirname:GZ.dirname($)};if(W.trim())await D0(W,B,$);let _=new Set,z=X.streaming?.strategy||"auto",q=new RegExp(N5.source,"g");if(!(z!=="manual"&&q.test(U))){let H=await X0(U,B,$,X,_);for(let L=0;L<H.length;L+=J)Q.enqueue(H.slice(L,L+J))}else{let H=[],L=new RegExp(N5.source,"g"),F;while((F=L.exec(U))!==null)H.push({name:F[1],content:F[2],start:F.index,end:F.index+F[0].length});let O=0;for(let V of H){if(V.start>O){let A=U.slice(O,V.start);if(A.trim()){let w=await X0(A,B,$,X,_);Q.enqueue(w)}}let N=await X0(V.content,B,$,X,_);Q.enqueue(N),O=V.end}if(O<U.length){let V=U.slice(O);if(V.trim()){let N=await X0(V,B,$,X,_);Q.enqueue(N)}}}Q.close()}catch(G){Q.error(G)}}})}async function v_($,Z={}){let Y={...K1,...Z,streaming:{...v2,...Z.streaming}},X=await Bun.file($).text(),J=X.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),Q=J?J[1]:"",G=X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),K=G,W={},U;N5.lastIndex=0;while((U=N5.exec(G))!==null){let z=U[1],q=U[2];W[z]=q}let B=G.replace(N5,"");return{renderShell:async(z={})=>{let q={...z,__filename:$,__dirname:GZ.dirname($)};return await D0(Q,q,$),X0(B,q,$,Y,new Set)},renderSection:async(z,q={})=>{try{if(!W[z])return`<div class="error-message">Section "${E0(z)}" not found in template "${E0($)}"</div>`;let j={...q,__filename:$,__dirname:GZ.dirname($)};await D0(Q,j,$);let H=new Set;return await X0(W[z],j,$,Y,H)}catch(j){let H=j instanceof Error?j.message:String(j);return
|
|
3925
|
+
</script>`}}function EM($,Z,Y){if(!Z||Z<=0)return $;let X,J=new Promise((Q,G)=>{X=setTimeout(()=>G(Error(`streaming boundary "${Y}" timed out after ${Z}ms`)),Z)});return Promise.race([$,J]).finally(()=>clearTimeout(X))}function C_($,Z=[],Y={}){let X=Y.timeoutMs??0;return new ReadableStream({async start(J){try{if(J.enqueue($),Z.length>0)J.enqueue(f2),await Promise.all(Z.map(async(Q)=>{let G=EM(Q.render(),X,Q.id);J.enqueue(await KZ(Q.id,G))}));J.close()}catch(Q){J.error(Q)}}})}function P_($,Z){return $.replace(DM,(Y,X,J)=>{let Q=X.trim(),G=J.split(/@fallback/i),K=G[0].trim(),W=G.length>1?G.slice(1).join("@fallback").trim():"";if(!Z.__streamTemplates)Z.__streamTemplates={};return Z.__streamTemplates[Q]=K,`<div data-suspense="${Q}">${W}</div>`})}function y_($){let Z=$?.streamBoundaries;if(!Z||typeof Z!=="object")return;let Y=Object.entries(Z).filter(([,X])=>typeof X==="function");return Y.length>0?Y.map(([X,J])=>({id:X,render:J})):void 0}async function x_($,Z={},Y={}){let X={...K1,...Y,streaming:{...v2,...Y.streaming}},J=X.streaming?.bufferSize||16384;return new ReadableStream({async start(Q){try{let G=await Bun.file($).text(),K=G.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),W=K?K[1]:"",U=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),B={...Z,__filename:$,__dirname:GZ.dirname($)};if(W.trim())await D0(W,B,$);let _=new Set,z=X.streaming?.strategy||"auto",q=new RegExp(N5.source,"g");if(!(z!=="manual"&&q.test(U))){let H=await X0(U,B,$,X,_);for(let L=0;L<H.length;L+=J)Q.enqueue(H.slice(L,L+J))}else{let H=[],L=new RegExp(N5.source,"g"),F;while((F=L.exec(U))!==null)H.push({name:F[1],content:F[2],start:F.index,end:F.index+F[0].length});let O=0;for(let V of H){if(V.start>O){let A=U.slice(O,V.start);if(A.trim()){let w=await X0(A,B,$,X,_);Q.enqueue(w)}}let N=await X0(V.content,B,$,X,_);Q.enqueue(N),O=V.end}if(O<U.length){let V=U.slice(O);if(V.trim()){let N=await X0(V,B,$,X,_);Q.enqueue(N)}}}Q.close()}catch(G){Q.error(G)}}})}async function v_($,Z={}){let Y={...K1,...Z,streaming:{...v2,...Z.streaming}},X=await Bun.file($).text(),J=X.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),Q=J?J[1]:"",G=X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),K=G,W={},U;N5.lastIndex=0;while((U=N5.exec(G))!==null){let z=U[1],q=U[2];W[z]=q}let B=G.replace(N5,"");return{renderShell:async(z={})=>{let q={...z,__filename:$,__dirname:GZ.dirname($)};return await D0(Q,q,$),X0(B,q,$,Y,new Set)},renderSection:async(z,q={})=>{try{if(!W[z])return`<div class="error-message">Section "${E0(z)}" not found in template "${E0($)}"</div>`;let j={...q,__filename:$,__dirname:GZ.dirname($)};await D0(Q,j,$);let H=new Set;return await X0(W[z],j,$,Y,H)}catch(j){let H=j instanceof Error?j.message:String(j);return F0("Expression",H,$,W[z]||"",0,W[z]||"")}},getSections:()=>{return Object.keys(W)},getTemplate:()=>{return K}}}function f_($={}){let Z=[];if($.streaming?.enabled)Z.push(g2);if($.hydration?.enabled)Z.push(h2);return Z}async function g_($,Z,Y,X={}){return $}function h_($,Z={}){let Y=new TextEncoder,X=$.pipeThrough(new TransformStream({transform(Q,G){G.enqueue(Y.encode(Q))}})),J=new Headers(Z.headers);if(!J.has("Content-Type"))J.set("Content-Type","text/html; charset=utf-8");if(!J.has("Transfer-Encoding"))J.set("Transfer-Encoding","chunked");if(!J.has("X-Content-Type-Options"))J.set("X-Content-Type-Options","nosniff");if(!J.has("X-Accel-Buffering"))J.set("X-Accel-Buffering","no");return new Response(X,{...Z,headers:J})}function d_($={mode:"full"}){let{mode:Z,components:Y={},dynamicImports:X=!0}=$,J=Object.entries(Y).map(([Q,G])=>`'${Q}': ${X?`() => import('${G}')`:`require('${G}')`}`).join(`,
|
|
3926
3926
|
`);if(Z==="loader")return`
|
|
3927
3927
|
(function() {
|
|
3928
3928
|
window.__stx = window.__stx || {};
|
|
@@ -4084,13 +4084,13 @@ else {
|
|
|
4084
4084
|
}
|
|
4085
4085
|
};
|
|
4086
4086
|
})();
|
|
4087
|
-
</script>`,DM,g2,h2;var h$=k(()=>{s0();c0();L1();
|
|
4087
|
+
</script>`,DM,g2,h2;var h$=k(()=>{s0();c0();L1();A0();v2={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},N5=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,S_=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;DM=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;g2={name:"suspense",hasEndTag:!0,handler:($,Z,Y,X)=>{if(!Z||Z.length===0)throw Error("Suspense directive requires a name parameter");let J=Z[0].replace(/['"`]/g,"");return`<!-- @suspense:${J} -->${$}<!-- @endsuspense:${J} -->`}},h2={name:"island",hasEndTag:!0,handler:($,Z,Y,X)=>{if(!Z||Z.length===0)throw Error("Island directive requires a name parameter");let J=Z[0].replace(/['"`]/g,""),Q=Z[1]?Z[1].replace(/['"`]/g,""):"lazy",G=`island-${J}-${Math.random().toString(36).substring(2,9)}`,K=$.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),W=K?K[1].trim():"",U=K?$.replace(K[0],""):$;return`<div data-island="${J}" data-island-id="${G}" data-priority="${Q}">
|
|
4088
4088
|
${U}
|
|
4089
4089
|
<script type="application/json" data-island-props="${G}">
|
|
4090
4090
|
${W?`{${W}}`:"{}"}
|
|
4091
4091
|
</script>
|
|
4092
4092
|
</div>`}}});var p_={};t(p_,{warnUnbalancedTags:()=>d2,findUnbalancedTags:()=>m_});function d$($){return $.replace(/[^\n]/g," ")}function m_($){let Z=$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,d$).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,d$).replace(/<!--[\s\S]*?-->/g,d$).replace(/\{\{\{[\s\S]*?\}\}\}/g,d$).replace(/\{\{[\s\S]*?\}\}/g,d$).replace(/\{!![\s\S]*?!!\}/g,d$).replace(/"[^"]*"/g,d$).replace(/'[^']*'/g,d$),Y=new Map,X=new Map,J=/<(\/?)([A-Za-z][\w-]*)\b[^>]*?(\/?)>/g,Q;while((Q=J.exec(Z))!==null){let K=Q[1]==="/",W=Q[2],U=Q[3]==="/";if(kM.has(W.toLowerCase()))continue;if(U)continue;if(K)X.set(W,(X.get(W)??0)+1);else{let B=Y.get(W);if(B)B.count++;else{let _=Z.slice(0,Q.index).split(`
|
|
4093
|
-
`).length;Y.set(W,{count:1,firstLine:_})}}}let G=[];for(let K of new Set([...Y.keys(),...X.keys()])){if(SM.has(K.toLowerCase()))continue;let W=Y.get(K)?.count??0,U=X.get(K)??0;if(W!==U)G.push({tag:K,opened:W,closed:U,firstOpenLine:Y.get(K)?.firstLine??0})}return G}function d2($,Z){let Y;try{Y=m_($)}catch{return}if(Y.length===0)return;let X=`${Z}:${$.length}`;if(u_.has(X))return;u_.add(X);let J=Z?Z.split(/[/\\]/).pop()||Z:"template";for(let{tag:Q,opened:G,closed:K,firstOpenLine:W}of Y)if(G>K){let U=W?` (first opened at line ${W})`:"";console.warn(`[stx] ${J}: <${Q}> ${G} opened, ${K} closed \u2014 an unclosed <${Q}>${U} may swallow the content that follows it.`)}else console.warn(`[stx] ${J}: <${Q}> ${G} opened, ${K} closed \u2014 ${K-G} stray </${Q}>.`)}var kM,SM,u_;var u2=k(()=>{kM=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),SM=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);u_=new Set});import E1 from"path";import m2 from"fs";function c_($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function l_($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class i_{builtins=new Map;registerBuiltin($){this.builtins.set($.name.toLowerCase(),$);for(let Z of $.aliases)this.builtins.set(Z.toLowerCase(),$)}isBuiltin($){return this.builtins.has($.toLowerCase())}getBuiltin($){return this.builtins.get($.toLowerCase())??null}async resolveFile($,Z,Y,X){let J=$.endsWith(".stx")?$.slice(0,-4):$,Q=X?.__importedComponents;if(Q){let q=[J,J.toLowerCase(),c_(J),l_(J)];for(let j of q)if(Q.has(j))return Q.get(j)}let G=[...new Set([`${J}.stx`,`${c_(J)}.stx`,`${l_(J)}.stx`])];if(J.startsWith("./")||J.startsWith("../")){let q=E1.resolve(E1.dirname(Z),`${J}.stx`);if(await e(q))return q;return null}let K=[],W=Y.componentsDir||"",U=X?.__originalFilePath;if(U)K.push(E1.join(E1.dirname(U),"components"));if(W)K.push(W);let B=E1.join(E1.dirname(Z),"components");if(!K.includes(B))K.push(B);let _=process.cwd(),z=[E1.resolve(_,"src/components"),E1.resolve(_,"components"),E1.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=E1.join(q,j);if(await e(H))return H}try{if(!m2.statSync(q,{throwIfNoEntry:!1})?.isDirectory())continue;let H=m2.readdirSync(q,{withFileTypes:!0});for(let L of H)if(L.isDirectory()){let F=E1.join(q,L.name);for(let O of G){let V=E1.join(F,O);if(await e(V))return V}}}catch{}}return null}}var B1;var p2=k(()=>{
|
|
4093
|
+
`).length;Y.set(W,{count:1,firstLine:_})}}}let G=[];for(let K of new Set([...Y.keys(),...X.keys()])){if(SM.has(K.toLowerCase()))continue;let W=Y.get(K)?.count??0,U=X.get(K)??0;if(W!==U)G.push({tag:K,opened:W,closed:U,firstOpenLine:Y.get(K)?.firstLine??0})}return G}function d2($,Z){let Y;try{Y=m_($)}catch{return}if(Y.length===0)return;let X=`${Z}:${$.length}`;if(u_.has(X))return;u_.add(X);let J=Z?Z.split(/[/\\]/).pop()||Z:"template";for(let{tag:Q,opened:G,closed:K,firstOpenLine:W}of Y)if(G>K){let U=W?` (first opened at line ${W})`:"";console.warn(`[stx] ${J}: <${Q}> ${G} opened, ${K} closed \u2014 an unclosed <${Q}>${U} may swallow the content that follows it.`)}else console.warn(`[stx] ${J}: <${Q}> ${G} opened, ${K} closed \u2014 ${K-G} stray </${Q}>.`)}var kM,SM,u_;var u2=k(()=>{kM=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),SM=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);u_=new Set});import E1 from"path";import m2 from"fs";function c_($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function l_($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class i_{builtins=new Map;registerBuiltin($){this.builtins.set($.name.toLowerCase(),$);for(let Z of $.aliases)this.builtins.set(Z.toLowerCase(),$)}isBuiltin($){return this.builtins.has($.toLowerCase())}getBuiltin($){return this.builtins.get($.toLowerCase())??null}async resolveFile($,Z,Y,X){let J=$.endsWith(".stx")?$.slice(0,-4):$,Q=X?.__importedComponents;if(Q){let q=[J,J.toLowerCase(),c_(J),l_(J)];for(let j of q)if(Q.has(j))return Q.get(j)}let G=[...new Set([`${J}.stx`,`${c_(J)}.stx`,`${l_(J)}.stx`])];if(J.startsWith("./")||J.startsWith("../")){let q=E1.resolve(E1.dirname(Z),`${J}.stx`);if(await e(q))return q;return null}let K=[],W=Y.componentsDir||"",U=X?.__originalFilePath;if(U)K.push(E1.join(E1.dirname(U),"components"));if(W)K.push(W);let B=E1.join(E1.dirname(Z),"components");if(!K.includes(B))K.push(B);let _=process.cwd(),z=[E1.resolve(_,"src/components"),E1.resolve(_,"components"),E1.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=E1.join(q,j);if(await e(H))return H}try{if(!m2.statSync(q,{throwIfNoEntry:!1})?.isDirectory())continue;let H=m2.readdirSync(q,{withFileTypes:!0});for(let L of H)if(L.isDirectory()){let F=E1.join(q,L.name);for(let O of G){let V=E1.join(F,O);if(await e(V))return V}}}catch{}}return null}}var B1;var p2=k(()=>{A0();B1=new i_});function u$($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function bM($){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 c2;var l2=k(()=>{c2={name:"StxLink",aliases:["stx-link"],render($,Z,Y){let X=bM($),J=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),Q=typeof $.static.activeClass==="string"?$.static.activeClass:"active",G=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",K=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,W=[];if(X.reactive)W.push(`:href="${u$(X.value)}"`);else W.push(`href="${u$(X.value)}"`);if(J)W.push(`class="${u$(J)}"`);if(W.push("data-stx-link"),W.push(`data-stx-active-class="${u$(Q)}"`),W.push(`data-stx-exact-active-class="${u$(G)}"`),K)W.push("data-stx-prefetch");let U=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);for(let[B,_]of Object.entries($.static)){if(U.has(B))continue;if(typeof _==="boolean"){if(_)W.push(u$(B))}else W.push(`${u$(B)}="${u$(_)}"`)}return`<a ${W.join(" ")}>${Z}</a>`}}});function f0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function X1($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function n2($,Z,Y=!1){let X=$.serverDynamic[Z];if(X!==void 0)return X!==!1&&X!=="false";let J=$.static[Z];if(J!==void 0)return J!=="false"&&J!==!1;return Y}function n_($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),Y=[];for(let X of Z)if(X.includes(":")){let[J,Q]=X.split(":"),G=CM[J];if(G)Y.push(`(max-width: ${G}px) ${Q}`);else{let K=Number.parseInt(J);if(!Number.isNaN(K))Y.push(`(max-width: ${K}px) ${Q}`)}}else Y.push(X);return Y.join(", ")}function s2($,Z,Y,X){return Z.map((J)=>`${z6($,J,void 0,Y,X)} ${J}w`).join(", ")}function PM($,Z,Y,X,J){return Z.map((Q)=>{let G=Y?Y*Q:void 0;return`${z6($,G,void 0,X,J)} ${Q}x`}).join(", ")}function z6($,Z,Y,X,J){if(!X||X==="local"||X==="static")return $;if(X==="cloudinary"){let Q=[];if(Z)Q.push(`w_${Z}`);if(Y)Q.push(`h_${Y}`);if(J)Q.push(`f_${J}`);Q.push("q_auto");let G=Q.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(X==="imgix"){let Q=new URLSearchParams;if(Z)Q.set("w",String(Z));if(Y)Q.set("h",String(Y));if(J)Q.set("fm",J);Q.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}if(X==="bunny"){let Q=new URLSearchParams;if(Z)Q.set("width",String(Z));if(Y)Q.set("height",String(Y));if(J)Q.set("format",J);let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}return $}function yM($,Z,Y="#e5e7eb"){let X=`<svg xmlns="http://www.w3.org/2000/svg" width="${$}" height="${Z}"><rect width="100%" height="100%" fill="${Y}"/></svg>`;return`data:image/svg+xml;base64,${btoa(X)}`}var CM,i2,r2;var o2=k(()=>{CM={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},i2=[320,640,768,1024,1280,1536,1920];r2={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,Y){let X=X1($,"src")||"",J=X1($,"alt")||"",Q=X1($,"width"),G=X1($,"height"),K=X1($,"sizes"),W=X1($,"srcset"),U=X1($,"densities"),B=X1($,"format"),_=X1($,"placeholder"),z=X1($,"placeholderColor")||"#e5e7eb",q=X1($,"provider"),j=X1($,"class")||X1($,"className")||"",H=X1($,"style")||"",L=X1($,"quality"),F=n2($,"lazy",!0),O=n2($,"preload",!1),V=n2($,"picture",!1)||!!B,N=Q?Number.parseInt(Q):void 0,A=G?Number.parseInt(G):void 0,w=W||"",R="";if(!w&&K)w=s2(X,i2,q,B),R=n_(K);else if(!w&&U){let P=U.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));w=PM(X,P,N,q,B)}else if(K)R=n_(K);let M=[];if(H)M.push(H);if(N&&A)M.push(`aspect-ratio:${N}/${A}`);if(_==="blur"||_==="color"||_==="thumbhash"){let P=yM(N||16,A||9,z);M.push(`background-image:url(${P})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat")}else if(_&&_!=="empty"&&_!=="none")M.push(`background-image:url(${f0(_)})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat");let T=z6(X,N,A,q,B),E=[];if(E.push(`src="${f0(T)}"`),E.push(`alt="${f0(J)}"`),Q)E.push(`width="${f0(Q)}"`);if(G)E.push(`height="${f0(G)}"`);if(F)E.push('loading="lazy"');if(E.push('decoding="async"'),j)E.push(`class="${f0(j)}"`);if(M.length>0)E.push(`style="${f0(M.join(";"))}"`);if(w)E.push(`srcset="${f0(w)}"`);if(R)E.push(`sizes="${f0(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[P,b]of Object.entries($.static)){if(D.has(P))continue;if(typeof b==="boolean"){if(b)E.push(f0(P))}else E.push(`${f0(P)}="${f0(b)}"`)}let S=`<img ${E.join(" ")} />`,C="";if(O){let b=B==="webp"?"image/webp":B==="avif"?"image/avif":"";C=`<link rel="preload" as="image" href="${f0(T)}"${b?` type="${b}"`:""}${w?` imagesrcset="${f0(w)}"`:""}${R?` imagesizes="${f0(R)}"`:""} />
|
|
4094
4094
|
`}if(V){let P=[];if(B==="avif"||B==="auto"){let b=z6(X,N,A,q,"avif"),x=w?s2(X,i2,q,"avif"):`${b}`;P.push(`<source type="image/avif" srcset="${f0(x)}"${R?` sizes="${f0(R)}"`:""} />`)}if(B==="webp"||B==="auto"){let b=z6(X,N,A,q,"webp"),x=w?s2(X,i2,q,"webp"):`${b}`;P.push(`<source type="image/webp" srcset="${f0(x)}"${R?` sizes="${f0(R)}"`:""} />`)}return`${C}<picture>
|
|
4095
4095
|
${P.join(`
|
|
4096
4096
|
`)}
|
|
@@ -4239,15 +4239,15 @@ document.addEventListener("focusout",function(e){
|
|
|
4239
4239
|
<style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
|
|
4240
4240
|
<script>
|
|
4241
4241
|
(function(){var el=document.getElementById('stx-loading-indicator'),p=0,l=!1,i=null;function u(v){p=Math.min(Math.max(v,0),100);if(el){el.style.opacity=p>0?'1':'0';el.style.transform='scaleX('+(p/100)+')'}}window.stxLoading={start:function(){l=!0;p=0;u(10);if(i)clearInterval(i);i=setInterval(function(){if(!l)return;var r=90-p,inc=Math.max(0.5,r*0.1);if(p<90)u(p+inc)},${j.throttle})},finish:function(){l=!1;if(i){clearInterval(i);i=null}u(100);setTimeout(function(){if(el)el.style.opacity='0';setTimeout(function(){p=0;if(el)el.style.transform='scaleX(0)'},300)},200)},set:function(v){u(v)},clear:function(){l=!1;p=0;if(i){clearInterval(i);i=null}if(el){el.style.opacity='0';el.style.transform='scaleX(0)'}}};document.addEventListener('click',function(e){var a=e.target.closest&&e.target.closest('a');if(!a)return;var h=a.getAttribute('href');if(!h||h.startsWith('http')||h.startsWith('#')||h.startsWith('mailto:')||h.startsWith('tel:')||a.target==='_blank')return;window.stxLoading.start()});window.addEventListener('popstate',function(){window.stxLoading.start()});window.addEventListener('load',function(){window.stxLoading.finish()})})();
|
|
4242
|
-
</script>`}),J}async function bh($,Z,Y,X,J){let Q=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,W;while((W=K.exec(Q))!==null){let[U,B]=W,_=B.split(",").map((z)=>z.trim().replace(/^['"]|['"]$/g,"")).filter((z)=>z.length>0);for(let z of _){let q=z.split("/"),H=q[q.length-1].replace(/\.stx$/,""),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=[g7.resolve(g7.dirname(Y),`${z}.stx`),g7.resolve(g7.dirname(Y),z),g7.resolve(X.componentsDir||"components",`${z}.stx`),g7.resolve(X.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),J.add(F),X.debug)console.log(`Imported component: ${L} -> ${F}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${z}`)}Q=Q.replace(U,""),K.lastIndex=0}return Q}async function Ch($,Z,Y,X,J,Q){let G=$;if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=/@component\s*\(/g,U;while((U=W.exec(G))!==null){let B=U.index,_=B+U[0].length-1,z=1,q=_+1;while(q<G.length&&z>0){if(G[q]==="(")z++;else if(G[q]===")"){if(z--,z===0)break}q++}if(z!==0)break;let j=G.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=b0(O,Z)}catch(S){let C=S instanceof Error?S.message:String(S);G=G.replace(G.substring(B,H),`[Error parsing component props: ${C}]`);continue}let w="",R=H,T=G.substring(H).match(/^([\s\S]*?)@endcomponent/);if(T)w=T[1].trim(),R=H+T[0].length;let E=G.substring(B,R),D=await D1(F,A,w,X,Z,Y,J,K,Q);G=G.substring(0,B)+D+G.substring(R),W.lastIndex=0}return G}async function Ph($,Z,Y,X,J,Q){let G=$;if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=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"]),U=a3(G);return G=U.output,G=await q(G,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),G=await q(G,/[A-Z][a-zA-Z0-9]*/,!0),G=await q(G,/[a-z][a-z0-9]*/,!1,W),G=t3(G,U.scripts),G;async function q(j,H,L,F){let O=j,V=j9(O,H,F);for(let N=V.length-1;N>=0;N--){let A=V[N],w=L?q9(A.tagName):A.tagName,R=mM(A.attributes),M={};for(let[E,D]of Object.entries(R)){if(E.startsWith("@"))continue;if(E.startsWith("__stx_")){let S=E.slice(6);M[S]=H9(D,J);continue}if(E.startsWith(":")){let S=E.slice(1),C=D==="true"?S:D;try{if(!_0(C)){if(J.debug)console.error(`Unsafe expression in :${S} binding: ${C}`);M[S]=D}else{let P=z0(C,Object.keys(Z));M[S]=P(...Object.values(Z))}}catch(P){if(J.debug)console.error(`Error evaluating :${S} binding:`,P);M[S]=D}continue}if(typeof D==="string"&&D.includes("{{")&&D.includes("}}")){let S=D.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(S)try{let C=S[1];if(!_0(C)){if(J.debug)console.error(`Unsafe expression in ${E}: ${C}`);M[E]=D}else{let P=z0(C,Object.keys(Z));M[E]=P(...Object.values(Z))}}catch(C){if(J.debug)console.error(`Error evaluating expression for ${E}:`,C);M[E]=D}else{let C=D,P=/\{\{\s*([\s\S]+?)\s*\}\}/g,b;while((b=P.exec(D))!==null)try{let x=b[1];if(!_0(x)){if(J.debug)console.error(`Unsafe expression in ${E}: ${x}`);continue}let u=z0(x,Object.keys(Z))(...Object.values(Z));C=C.replace(b[0],String(u??""))}catch(x){if(J.debug)console.error(`Error evaluating expression in ${E}:`,x)}M[E]=C}}else M[E]=D}let T=await D1(w,M,A.content,X,Z,Y,J,K,Q);O=O.substring(0,A.startIndex)+T+O.substring(A.endIndex)}return O}}var Xz=k(()=>{d0();N0();e3()});var Uz={};t(Uz,{processESImports:()=>Wz,processComponents:()=>HZ});import jZ from"fs";import F1 from"path";function cM($,Z,Y){let X={static:{},serverDynamic:{},clientReactive:{},events:{}},J=new Set(["x-cloak","x-show","x-if","x-for","x-data","x-init","x-transition","x-ref","x-effect","x-model","x-text","x-html","x-class","x-style","x-on","x-bind"]),Q=(G)=>{if(!G.includes("-")||G.startsWith("@")||G.startsWith(":")||G.startsWith("x-")||G.startsWith("__"))return G;return G.replace(/-([a-z0-9])/g,(K,W)=>W.toUpperCase())};for(let[G,K]of Object.entries($)){let W=G.startsWith("x-")&&!J.has(G)&&!G.startsWith("x-bind:")&&!G.startsWith("x-on:")?`:${G.slice(2)}`:G;if(W.startsWith("@")){X.events[W]=K;continue}if(W.startsWith("__stx_")){let U=Q(W.slice(6));X.serverDynamic[U]=H9(K,Y);continue}if(W.startsWith(":")){let U=Q(W.slice(1)),B=K==="true"?U:K;try{if(!_0(B)){if(Y.debug)console.error(`Unsafe expression in :${U} binding: ${B}`);X.clientReactive[U]=B;continue}let _=Object.keys(Z),q=z0(B,_)(...Object.values(Z));if(q===void 0){let j=B.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],H=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(j.some((F)=>!H.has(F)&&!_.includes(F))){X.clientReactive[U]=B;continue}}X.serverDynamic[U]=q}catch{X.clientReactive[U]=B}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let U=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(U)try{let B=U[1];if(_0(B)){let z=z0(B,Object.keys(Z))(...Object.values(Z));X.static[W]=z!=null?String(z):""}else{if(Y.debug)console.error(`Unsafe expression in ${W}: ${B}`);X.static[W]=K}}catch(B){if(Y.debug)console.error(`Error evaluating expression for ${W}:`,B);X.static[W]=K}else{let B=K,_=/\{\{\s*([\s\S]+?)\s*\}\}/g,z;while((z=_.exec(K))!==null)try{let q=z[1];if(!_0(q)){if(Y.debug)console.error(`Unsafe expression in ${W}: ${q}`);continue}let H=z0(q,Object.keys(Z))(...Object.values(Z));B=B.replace(z[0],String(H??""))}catch(q){if(Y.debug)console.error(`Error evaluating expression in ${W}:`,q)}X.static[W]=B}continue}X.static[W]=K}return X}function lM($){let Z={},Y=0,X=$.length;while(Y<X){while(Y<X&&/\s/.test($[Y]))Y++;if(Y>=X)break;let J="";while(Y<X&&!/[\s=]/.test($[Y]))J+=$[Y],Y++;if(!J)break;while(Y<X&&/\s/.test($[Y]))Y++;if(Y<X&&$[Y]==="="){Y++;while(Y<X&&/\s/.test($[Y]))Y++;let Q="";if(Y<X&&($[Y]==='"'||$[Y]==="'")){let G=$[Y];Y++;while(Y<X){let K=$[Y];if(K==="\\"&&Y+1<X){Y++,Q+=$[Y],Y++;continue}if(K===G){Y++;break}Q+=K,Y++}}else while(Y<X&&!/\s/.test($[Y]))Q+=$[Y],Y++;Z[J]=Q}else Z[J]="true"}return Z}function Qz($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function iM($){let Z=new Set,Y=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,X;while((X=Y.exec($))!==null){let J=X[1];if(B1.isBuiltin(J))Z.add(J)}return[...Z].sort()}function nM($){let Z=Gz.get($);if(Z)return Z;let Y=new Map,X=[F1.join($,"src"),F1.join($,"dist"),$];function J(Q,G){if(G>6)return;let K;try{K=jZ.readdirSync(Q,{withFileTypes:!0})}catch{return}for(let W of K){let U=F1.join(Q,W.name);if(W.isDirectory()){if(W.name==="node_modules"||W.name.startsWith("."))continue;J(U,G+1)}else if(W.isFile()&&W.name.endsWith(".stx")){let B=W.name.slice(0,-4);if(!Y.has(B))Y.set(B,U);let _=B.toLowerCase();if(!Y.has(_))Y.set(_,U);let z=B.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Y.has(z))Y.set(z,U)}}}for(let Q of X)if(J(Q,0),Y.size>0)break;return Gz.set($,Y),Y}function sM($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let Y=Z;while(!0){let X=F1.join(Y,"node_modules",$);try{if(jZ.statSync(X).isDirectory())return X}catch{}let J=F1.dirname(Y);if(J===Y)return null;Y=J}}async function Wz($,Z,Y,X,J){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let Q=Z.__importedComponents,G=F1.dirname(Y),K=$,W=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return K=K.replace(W,(U,B,_)=>{let z=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,q=_,j,H=[];while((j=z.exec(_))!==null){let[L,F,O,V]=j,N=null,A=null;if(V.startsWith(".")||V.startsWith("/")){let M=F1.resolve(G,V);if(M.endsWith(".stx"))A=M;else{let T=`${M}.stx`;try{if(jZ.statSync(T).isFile())A=T}catch{try{if(jZ.statSync(M).isDirectory())N=M}catch{}}}}else N=sM(V,G);if(!N&&!A)continue;let w=!1,R=(M,T)=>{Q.set(M,T),Q.set(M.toLowerCase(),T);let E=M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();Q.set(E,T),J.add(T)};if(O&&A)R(O,A),w=!0;else if(F){let M=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}}),T=N?nM(N):null;for(let{source:E,local:D}of M){let S=null;if(A)S=A;else if(T)S=T.get(E)??T.get(E.toLowerCase())??T.get(E.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(S)R(D,S),w=!0}}if(w)H.push({start:j.index,end:j.index+L.length})}if(H.length===0)return U;for(let L=H.length-1;L>=0;L--)q=q.slice(0,H[L].start)+q.slice(H[L].end);return`<script${B}>${q}</script>`}),K}async function rM($,Z,Y,X,J){let Q=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,W;while((W=K.exec(Q))!==null){let[U,B]=W,_=B.split(",").map((z)=>z.trim().replace(/^['"]|['"]$/g,"")).filter((z)=>z.length>0);for(let z of _){let q=z.split("/"),H=q[q.length-1].replace(/\.stx$/,""),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=[F1.resolve(F1.dirname(Y),`${z}.stx`),F1.resolve(F1.dirname(Y),z),F1.resolve(X.componentsDir||"components",`${z}.stx`),F1.resolve(X.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),J.add(F),X.debug)console.log(`Imported component: ${L} -> ${F}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${z}`)}Q=Q.replace(U,""),K.lastIndex=0}return Q}async function oM($,Z,Y,X,J){let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=/@component\s*\(/g,U;while((U=W.exec(Q))!==null){let B=U.index,_=B+U[0].length-1,z=1,q=_+1;while(q<Q.length&&z>0){if(Q[q]==="(")z++;else if(Q[q]===")"){if(z--,z===0)break}q++}if(z!==0)break;let j=Q.substring(_+1,q),H=q+1,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=b0(O,Z)}catch(D){let S=D instanceof Error?D.message:String(D);Q=Q.replace(Q.substring(B,H),`[Error parsing component props: ${S}]`);continue}let w="",R=H,T=Q.substring(H).match(/^([\s\S]*?)@endcomponent/);if(T)w=T[1].trim(),R=H+T[0].length;let E=await D1(F,A,w,G,Z,Y,X,K,J);Q=Q.substring(0,B)+E+Q.substring(R),W.lastIndex=0}return Q}async function aM($,Z,Y,X,J){if(!$)return $;let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=a3(Q);return Q=W.output,Q=await z(Q,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),Q=await z(Q,/[A-Z][a-zA-Z0-9]*/,!0),Q=await z(Q,/[a-z][a-z0-9]*/,!1,pM),Q=t3(Q,W.scripts),Q;async function z(q,j,H,L){if(!q)return q;let F=q,O=j9(F,j,L);for(let V=O.length-1;V>=0;V--){let N=O[V],A=H?q9(N.tagName):N.tagName,w=lM(N.attributes),R=cM(w,Z,X),M=B1.getBuiltin(N.tagName),T=M?await L9(A,G,Z,Y,X):!1;if(M&&!T){let C={context:Z,filePath:Y,options:X,dependencies:J},P=M.render(R,N.content,C);if(Object.keys(R.clientReactive).length>0)P=Kz(P,R.clientReactive);if(Object.keys(R.events).length>0){let b=Object.entries(R.events).map(([x,s])=>`${x}="${Qz(s)}"`).join(" ");P=P.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}F=F.substring(0,N.startIndex)+P+F.substring(N.endIndex);continue}let E={};for(let[C,P]of Object.entries(R.static))E[C]=P;for(let[C,P]of Object.entries(R.serverDynamic))E[C]=P;let S=await D1(A,E,N.content,G,Z,Y,X,K,J);if(Object.keys(R.clientReactive).length>0)S=Kz(S,R.clientReactive);if(Object.keys(R.events).length>0){let C=S.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(C){let P=Object.entries(R.events).map(([x,s])=>`${x}="${Qz(s)}"`).join(" "),b=C[1].length+C[2].length;S=S.substring(0,b)+" "+P+S.substring(b)}}F=F.substring(0,N.startIndex)+S+F.substring(N.endIndex)}return F}}function Kz($,Z){let Y=$.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(!Y)return $;let X=Object.entries(Z).map(([Q,G])=>`:${Q}="${G.replace(/"/g,""")}"`).join(" "),J=Y[1].length+Y[2].length;return $.substring(0,J)+" "+X+$.substring(J)}async function HZ($,Z,Y,X,J){if(!Jz)Yz(),Jz=!0;let Q=await Wz($,Z,Y,X,J);Q=await rM(Q,Z,Y,X,J),Q=await oM(Q,Z,Y,X,J);for(let G=0;G<3;G++){let K=Q;if(Q=await aM(Q,Z,Y,X,J),Q===K)break}if(X.debug){let G=iM(Q);if(G.length>0)console.warn(`[stx] ${Y}: unresolved component tag(s) after render passes: ${G.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return Q}var Jz=!1,pM,Gz;var O9=k(()=>{p2();z9();Xz();N0();d0();pM=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"]);Gz=new Map});var LZ={};t(LZ,{stripTypeScript:()=>jz,hasVariables:()=>N9,extractVariables:()=>D0,extractScriptFromTemplate:()=>V9,convertToCommonJS:()=>OZ});import h7 from"path";import j6 from"process";function tM($){let Z=[],Y=0,X=$.split(`
|
|
4242
|
+
</script>`}),J}async function bh($,Z,Y,X,J){let Q=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,W;while((W=K.exec(Q))!==null){let[U,B]=W,_=B.split(",").map((z)=>z.trim().replace(/^['"]|['"]$/g,"")).filter((z)=>z.length>0);for(let z of _){let q=z.split("/"),H=q[q.length-1].replace(/\.stx$/,""),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=[g7.resolve(g7.dirname(Y),`${z}.stx`),g7.resolve(g7.dirname(Y),z),g7.resolve(X.componentsDir||"components",`${z}.stx`),g7.resolve(X.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),J.add(F),X.debug)console.log(`Imported component: ${L} -> ${F}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${z}`)}Q=Q.replace(U,""),K.lastIndex=0}return Q}async function Ch($,Z,Y,X,J,Q){let G=$;if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=/@component\s*\(/g,U;while((U=W.exec(G))!==null){let B=U.index,_=B+U[0].length-1,z=1,q=_+1;while(q<G.length&&z>0){if(G[q]==="(")z++;else if(G[q]===")"){if(z--,z===0)break}q++}if(z!==0)break;let j=G.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=b0(O,Z)}catch(S){let C=S instanceof Error?S.message:String(S);G=G.replace(G.substring(B,H),`[Error parsing component props: ${C}]`);continue}let w="",R=H,T=G.substring(H).match(/^([\s\S]*?)@endcomponent/);if(T)w=T[1].trim(),R=H+T[0].length;let E=G.substring(B,R),D=await D1(F,A,w,X,Z,Y,J,K,Q);G=G.substring(0,B)+D+G.substring(R),W.lastIndex=0}return G}async function Ph($,Z,Y,X,J,Q){let G=$;if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=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"]),U=a3(G);return G=U.output,G=await q(G,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),G=await q(G,/[A-Z][a-zA-Z0-9]*/,!0),G=await q(G,/[a-z][a-z0-9]*/,!1,W),G=t3(G,U.scripts),G;async function q(j,H,L,F){let O=j,V=j9(O,H,F);for(let N=V.length-1;N>=0;N--){let A=V[N],w=L?q9(A.tagName):A.tagName,R=mM(A.attributes),M={};for(let[E,D]of Object.entries(R)){if(E.startsWith("@"))continue;if(E.startsWith("__stx_")){let S=E.slice(6);M[S]=H9(D,J);continue}if(E.startsWith(":")){let S=E.slice(1),C=D==="true"?S:D;try{if(!_0(C)){if(J.debug)console.error(`Unsafe expression in :${S} binding: ${C}`);M[S]=D}else{let P=z0(C,Object.keys(Z));M[S]=P(...Object.values(Z))}}catch(P){if(J.debug)console.error(`Error evaluating :${S} binding:`,P);M[S]=D}continue}if(typeof D==="string"&&D.includes("{{")&&D.includes("}}")){let S=D.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(S)try{let C=S[1];if(!_0(C)){if(J.debug)console.error(`Unsafe expression in ${E}: ${C}`);M[E]=D}else{let P=z0(C,Object.keys(Z));M[E]=P(...Object.values(Z))}}catch(C){if(J.debug)console.error(`Error evaluating expression for ${E}:`,C);M[E]=D}else{let C=D,P=/\{\{\s*([\s\S]+?)\s*\}\}/g,b;while((b=P.exec(D))!==null)try{let x=b[1];if(!_0(x)){if(J.debug)console.error(`Unsafe expression in ${E}: ${x}`);continue}let u=z0(x,Object.keys(Z))(...Object.values(Z));C=C.replace(b[0],String(u??""))}catch(x){if(J.debug)console.error(`Error evaluating expression in ${E}:`,x)}M[E]=C}}else M[E]=D}let T=await D1(w,M,A.content,X,Z,Y,J,K,Q);O=O.substring(0,A.startIndex)+T+O.substring(A.endIndex)}return O}}var Xz=k(()=>{d0();A0();e3()});var Uz={};t(Uz,{processESImports:()=>Wz,processComponents:()=>HZ});import jZ from"fs";import F1 from"path";function cM($,Z,Y){let X={static:{},serverDynamic:{},clientReactive:{},events:{}},J=new Set(["x-cloak","x-show","x-if","x-for","x-data","x-init","x-transition","x-ref","x-effect","x-model","x-text","x-html","x-class","x-style","x-on","x-bind"]),Q=(G)=>{if(!G.includes("-")||G.startsWith("@")||G.startsWith(":")||G.startsWith("x-")||G.startsWith("__"))return G;return G.replace(/-([a-z0-9])/g,(K,W)=>W.toUpperCase())};for(let[G,K]of Object.entries($)){let W=G.startsWith("x-")&&!J.has(G)&&!G.startsWith("x-bind:")&&!G.startsWith("x-on:")?`:${G.slice(2)}`:G;if(W.startsWith("@")){X.events[W]=K;continue}if(W.startsWith("__stx_")){let U=Q(W.slice(6));X.serverDynamic[U]=H9(K,Y);continue}if(W.startsWith(":")){let U=Q(W.slice(1)),B=K==="true"?U:K;try{if(!_0(B)){if(Y.debug)console.error(`Unsafe expression in :${U} binding: ${B}`);X.clientReactive[U]=B;continue}let _=Object.keys(Z),q=z0(B,_)(...Object.values(Z));if(q===void 0){let j=B.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],H=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(j.some((F)=>!H.has(F)&&!_.includes(F))){X.clientReactive[U]=B;continue}}X.serverDynamic[U]=q}catch{X.clientReactive[U]=B}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let U=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(U)try{let B=U[1];if(_0(B)){let z=z0(B,Object.keys(Z))(...Object.values(Z));X.static[W]=z!=null?String(z):""}else{if(Y.debug)console.error(`Unsafe expression in ${W}: ${B}`);X.static[W]=K}}catch(B){if(Y.debug)console.error(`Error evaluating expression for ${W}:`,B);X.static[W]=K}else{let B=K,_=/\{\{\s*([\s\S]+?)\s*\}\}/g,z;while((z=_.exec(K))!==null)try{let q=z[1];if(!_0(q)){if(Y.debug)console.error(`Unsafe expression in ${W}: ${q}`);continue}let H=z0(q,Object.keys(Z))(...Object.values(Z));B=B.replace(z[0],String(H??""))}catch(q){if(Y.debug)console.error(`Error evaluating expression in ${W}:`,q)}X.static[W]=B}continue}X.static[W]=K}return X}function lM($){let Z={},Y=0,X=$.length;while(Y<X){while(Y<X&&/\s/.test($[Y]))Y++;if(Y>=X)break;let J="";while(Y<X&&!/[\s=]/.test($[Y]))J+=$[Y],Y++;if(!J)break;while(Y<X&&/\s/.test($[Y]))Y++;if(Y<X&&$[Y]==="="){Y++;while(Y<X&&/\s/.test($[Y]))Y++;let Q="";if(Y<X&&($[Y]==='"'||$[Y]==="'")){let G=$[Y];Y++;while(Y<X){let K=$[Y];if(K==="\\"&&Y+1<X){Y++,Q+=$[Y],Y++;continue}if(K===G){Y++;break}Q+=K,Y++}}else while(Y<X&&!/\s/.test($[Y]))Q+=$[Y],Y++;Z[J]=Q}else Z[J]="true"}return Z}function Qz($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function iM($){let Z=new Set,Y=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,X;while((X=Y.exec($))!==null){let J=X[1];if(B1.isBuiltin(J))Z.add(J)}return[...Z].sort()}function nM($){let Z=Gz.get($);if(Z)return Z;let Y=new Map,X=[F1.join($,"src"),F1.join($,"dist"),$];function J(Q,G){if(G>6)return;let K;try{K=jZ.readdirSync(Q,{withFileTypes:!0})}catch{return}for(let W of K){let U=F1.join(Q,W.name);if(W.isDirectory()){if(W.name==="node_modules"||W.name.startsWith("."))continue;J(U,G+1)}else if(W.isFile()&&W.name.endsWith(".stx")){let B=W.name.slice(0,-4);if(!Y.has(B))Y.set(B,U);let _=B.toLowerCase();if(!Y.has(_))Y.set(_,U);let z=B.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Y.has(z))Y.set(z,U)}}}for(let Q of X)if(J(Q,0),Y.size>0)break;return Gz.set($,Y),Y}function sM($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let Y=Z;while(!0){let X=F1.join(Y,"node_modules",$);try{if(jZ.statSync(X).isDirectory())return X}catch{}let J=F1.dirname(Y);if(J===Y)return null;Y=J}}async function Wz($,Z,Y,X,J){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let Q=Z.__importedComponents,G=F1.dirname(Y),K=$,W=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return K=K.replace(W,(U,B,_)=>{let z=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,q=_,j,H=[];while((j=z.exec(_))!==null){let[L,F,O,V]=j,N=null,A=null;if(V.startsWith(".")||V.startsWith("/")){let M=F1.resolve(G,V);if(M.endsWith(".stx"))A=M;else{let T=`${M}.stx`;try{if(jZ.statSync(T).isFile())A=T}catch{try{if(jZ.statSync(M).isDirectory())N=M}catch{}}}}else N=sM(V,G);if(!N&&!A)continue;let w=!1,R=(M,T)=>{Q.set(M,T),Q.set(M.toLowerCase(),T);let E=M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();Q.set(E,T),J.add(T)};if(O&&A)R(O,A),w=!0;else if(F){let M=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}}),T=N?nM(N):null;for(let{source:E,local:D}of M){let S=null;if(A)S=A;else if(T)S=T.get(E)??T.get(E.toLowerCase())??T.get(E.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(S)R(D,S),w=!0}}if(w)H.push({start:j.index,end:j.index+L.length})}if(H.length===0)return U;for(let L=H.length-1;L>=0;L--)q=q.slice(0,H[L].start)+q.slice(H[L].end);return`<script${B}>${q}</script>`}),K}async function rM($,Z,Y,X,J){let Q=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,W;while((W=K.exec(Q))!==null){let[U,B]=W,_=B.split(",").map((z)=>z.trim().replace(/^['"]|['"]$/g,"")).filter((z)=>z.length>0);for(let z of _){let q=z.split("/"),H=q[q.length-1].replace(/\.stx$/,""),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=[F1.resolve(F1.dirname(Y),`${z}.stx`),F1.resolve(F1.dirname(Y),z),F1.resolve(X.componentsDir||"components",`${z}.stx`),F1.resolve(X.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),J.add(F),X.debug)console.log(`Imported component: ${L} -> ${F}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${z}`)}Q=Q.replace(U,""),K.lastIndex=0}return Q}async function oM($,Z,Y,X,J){let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=/@component\s*\(/g,U;while((U=W.exec(Q))!==null){let B=U.index,_=B+U[0].length-1,z=1,q=_+1;while(q<Q.length&&z>0){if(Q[q]==="(")z++;else if(Q[q]===")"){if(z--,z===0)break}q++}if(z!==0)break;let j=Q.substring(_+1,q),H=q+1,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=b0(O,Z)}catch(D){let S=D instanceof Error?D.message:String(D);Q=Q.replace(Q.substring(B,H),`[Error parsing component props: ${S}]`);continue}let w="",R=H,T=Q.substring(H).match(/^([\s\S]*?)@endcomponent/);if(T)w=T[1].trim(),R=H+T[0].length;let E=await D1(F,A,w,G,Z,Y,X,K,J);Q=Q.substring(0,B)+E+Q.substring(R),W.lastIndex=0}return Q}async function aM($,Z,Y,X,J){if(!$)return $;let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=a3(Q);return Q=W.output,Q=await z(Q,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),Q=await z(Q,/[A-Z][a-zA-Z0-9]*/,!0),Q=await z(Q,/[a-z][a-z0-9]*/,!1,pM),Q=t3(Q,W.scripts),Q;async function z(q,j,H,L){if(!q)return q;let F=q,O=j9(F,j,L);for(let V=O.length-1;V>=0;V--){let N=O[V],A=H?q9(N.tagName):N.tagName,w=lM(N.attributes),R=cM(w,Z,X),M=B1.getBuiltin(N.tagName),T=M?await L9(A,G,Z,Y,X):!1;if(M&&!T){let C={context:Z,filePath:Y,options:X,dependencies:J},P=M.render(R,N.content,C);if(Object.keys(R.clientReactive).length>0)P=Kz(P,R.clientReactive);if(Object.keys(R.events).length>0){let b=Object.entries(R.events).map(([x,s])=>`${x}="${Qz(s)}"`).join(" ");P=P.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}F=F.substring(0,N.startIndex)+P+F.substring(N.endIndex);continue}let E={};for(let[C,P]of Object.entries(R.static))E[C]=P;for(let[C,P]of Object.entries(R.serverDynamic))E[C]=P;let S=await D1(A,E,N.content,G,Z,Y,X,K,J);if(Object.keys(R.clientReactive).length>0)S=Kz(S,R.clientReactive);if(Object.keys(R.events).length>0){let C=S.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(C){let P=Object.entries(R.events).map(([x,s])=>`${x}="${Qz(s)}"`).join(" "),b=C[1].length+C[2].length;S=S.substring(0,b)+" "+P+S.substring(b)}}F=F.substring(0,N.startIndex)+S+F.substring(N.endIndex)}return F}}function Kz($,Z){let Y=$.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(!Y)return $;let X=Object.entries(Z).map(([Q,G])=>`:${Q}="${G.replace(/"/g,""")}"`).join(" "),J=Y[1].length+Y[2].length;return $.substring(0,J)+" "+X+$.substring(J)}async function HZ($,Z,Y,X,J){if(!Jz)Yz(),Jz=!0;let Q=await Wz($,Z,Y,X,J);Q=await rM(Q,Z,Y,X,J),Q=await oM(Q,Z,Y,X,J);for(let G=0;G<3;G++){let K=Q;if(Q=await aM(Q,Z,Y,X,J),Q===K)break}if(X.debug){let G=iM(Q);if(G.length>0)console.warn(`[stx] ${Y}: unresolved component tag(s) after render passes: ${G.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return Q}var Jz=!1,pM,Gz;var O9=k(()=>{p2();z9();Xz();A0();d0();pM=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"]);Gz=new Map});var LZ={};t(LZ,{stripTypeScript:()=>jz,hasVariables:()=>N9,extractVariables:()=>D0,extractScriptFromTemplate:()=>V9,convertToCommonJS:()=>OZ});import h7 from"path";import j6 from"process";function tM($){let Z=[],Y=0,X=$.split(`
|
|
4243
4243
|
`);for(let J of X){let Q=Y,G=null,K=!1;for(let W=0;W<J.length;W++){let U=J[W];if(K){K=!1;continue}if(U==="\\"){K=!0;continue}if(G){if(U===G)G=null;continue}if(U==="'"||U==='"'||U==="`"){G=U;continue}if(U==="/"&&W+1<J.length&&J[W+1]==="/")break;if(U==="{")Y++;else if(U==="}")Y--}if(Q===0){let W=J.match(/(?:const|let|var)\s+(\w+)\s*=/);if(W)Z.push(W[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(J)){let U=J.match(/(?:const|let|var)\s+(\w+)/);if(U)Z.push(U[1])}else{let U=J.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(U){let _=U[1].slice(1,-1).split(",").map((z)=>{let q=z.split(":");return(q.length>1?q[1]:q[0]).trim()}).filter((z)=>/^\w+$/.test(z));Z.push(..._)}}}}return[...new Set(Z)]}function jz($){let Z=$;Z=Z.replace(/^\s*import\s+.*?from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),Z=Z.replace(/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/gm,""),Z=Z.replace(/^\s*interface\s+\w+\s*\{[\s\S]*?\n\}\s*$/gm,""),Z=Z.replace(/^\s*type\s+\w+\s*=[\s\S]*?(?=\n(?:const|let|var|function|export|interface|type|$))/gm,""),Z=Z.replace(/^(\s*(?:export\s+)?(?:const|let|var)\s+)(\w+|\{[^}]+\}|\[[^\]]+\])\s*:\s*[^=]+(\s*=)/gm,"$1$2$3");function Y(X){if(!X.includes(":"))return X;let J=[],Q="",G=0,K=0,W=null;for(let U=0;U<X.length;U++){let B=X[U];if(W){if(Q+=B,B===W)W=null;continue}if(B==='"'||B==="'"||B==="`"){W=B,Q+=B;continue}if(B==="<")G++;else if(B===">"&&G>0)G--;else if(B==="(")K++;else if(B===")")K--;if(B===","&&G===0&&K===0){J.push(Q),Q="";continue}Q+=B}if(Q)J.push(Q);return J.map((U)=>{let B=U.trim(),_=B.startsWith("..."),z=_?B.slice(3):B,q=-1,j=0;for(let A=0;A<z.length;A++)if(z[A]==="<")j++;else if(z[A]===">")j--;else if(z[A]===":"&&j===0){q=A;break}if(q===-1)return U;let 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,(X,J,Q)=>{if(!Q.includes(":"))return X;return`${J}(${Y(Q)})`});{let X=/\b(function\s+\w*\s*)\(/g,J,Q=[];while((J=X.exec(Z))!==null){let G=J.index+J[0].length-1,K=1,W=G+1,U=0,B=null;while(W<Z.length&&K>0){let q=Z[W];if(B){if(q===B)B=null;W++;continue}if(q==='"'||q==="'"||q==="`"){B=q,W++;continue}if(q==="<")U++;else if(q===">"&&U>0)U--;else if(U===0){if(q==="(")K++;else if(q===")")K--}if(K>0)W++}if(K!==0)continue;let _=Z.substring(G+1,W);if(!_.includes(":"))continue;let z=Y(_);Q.push({start:G+1,end:W,replacement:z})}for(let G=Q.length-1;G>=0;G--){let{start:K,end:W,replacement:U}=Q[G];Z=Z.substring(0,K)+U+Z.substring(W)}}return Z=Z.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(X,J)=>{if(!J.includes(":"))return X;if(J.includes("{")||J.includes("}"))return X;return`(${J.split(",").map((G)=>{let[K,...W]=G.split("="),U=K.split(":")[0].trim();if(W.length>0)return`${U} = ${W.join("=").trim()}`;return U}).join(", ")}) =>`}),Z=Z.replace(/(\))\s*:\s*([A-Z]\w*|void|string|number|boolean|any|unknown|never|null|undefined)(?:<[^>]+>)?(?:\s*\|\s*(?:[A-Z]\w*|void|string|number|boolean|any|unknown|never|null|undefined))*\s*(\{)/g,"$1$3"),Z=Z.replace(/(\b(?:function|class|interface|type|extends|implements)\s+\w+)\s*<[^<>()]*>/g,"$1"),Z=Z.replace(/(\b(?:defineProps|withDefaults|defineEmits|defineSlots|Array|Promise|Map|Set|Record|Partial|Required|Readonly|Pick|Omit|Exclude|Extract))\s*<[^<>()]*>/g,"$1"),Z=Z.replace(/(\w+)\s*<[A-Z][^<>()]*>\s*(?=\()/g,"$1"),Z=Z.replace(/\s+as\s+(?:const|[A-Za-z]\w*(?:\[\])?(?:\s*\|\s*\w+(?:\[\])?)*)/g,""),Z=Z.replace(/\s+satisfies\s+\w+(?:<[^>]*>)?/g,""),Z=Z.replace(/(\w|\)|\])\s*!(?!=)/g,"$1"),Z=Z.replace(/^\s*(?:export\s+)?(?:const\s+)?enum\s+\w+\s*\{[^}]*\}\s*$/gm,""),Z=Z.replace(/(?<=[\s=,(])<[A-Z]\w*(?:\[\])?>/g,""),Z=Z.replace(/\n\s*\n\s*\n/g,`
|
|
4244
4244
|
|
|
4245
|
-
`),Z}async function D0($,Z,Y,X={}){if(!$.trim())return;let J;try{let v=new Bun.Transpiler({loader:"ts",target:"browser",define:T1()}),d=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");d=d.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),J=v.transformSync(d)}catch{J=jz($)}let Q={exports:{}},G=Q.exports,K=j6.cwd(),W={},U=[...J.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((v)=>v[1]).filter((v)=>!v.startsWith("node:")&&!v.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(v));for(let v of U)try{let d=h7.resolve(K,"node_modules",v),m=h7.join(d,"package.json"),g=JSON.parse(j0("fs").readFileSync(m,"utf8")),c=g.main||"index.js";if(g.exports){let a=typeof g.exports==="string"?g.exports:g.exports["."];if(typeof a==="string")c=a;else if(a?.bun)c=a.bun;else if(a?.import)c=a.import;else if(a?.default)c=a.default}W[v]=await import(h7.resolve(d,c))}catch{}let B=(v)=>{if(W[v])return W[v];return j0(v)},_=Z.props||{},z=Object.assign((v)=>{if(!v)return _;let d={};for(let[m,g]of Object.entries(v)){let c=_[m];if(c!==void 0)d[m]=c;else if(typeof g==="function")d[m]=g();else d[m]=g}return d},_),q=(v)=>{if(!v)return _;let d={..._};for(let[m,g]of Object.entries(v)){let c=g&&typeof g==="object"&&!Array.isArray(g)?g:{type:g};if(d[m]===void 0&&c.default!==void 0)d[m]=typeof c.default==="function"?c.default():c.default}return d},j=()=>Z.slots||{},H=(v,d)=>{let m={...v};for(let[g,c]of Object.entries(d))if(m[g]===void 0)if(typeof c==="function")m[g]=c();else m[g]=c;return m},L=(v)=>{let d=()=>v;return d.set=(m)=>{},d.update=(m)=>{},d},F=(v)=>{let d,m=!1;return()=>{if(!m)try{d=v(),m=!0}catch{d=void 0}return d}},O=(v)=>{},V=(v)=>v(),N=(v)=>{},A=(v)=>{},w=(v)=>{},R=()=>{let v=Z.__stxServeContext,d=Z.__stxServeSearch??v?.search??"",m=v?.path??"";return{params:Z.params??{},query:Object.fromEntries(new URLSearchParams(d)),path:m,name:"",fullPath:m+d,hash:"",matched:[]}},M=()=>({push:(v)=>{},replace:(v)=>{},back:()=>{},forward:()=>{},go:(v)=>{}}),T=(v)=>{v$(v);let d=Z.__stx_runtime_head||{},m=v||{};Z.__stx_runtime_head={...d,...m.title&&{title:m.title},meta:[...d.meta||[],...m.meta||[]],link:[...d.link||[],...m.link||[]],script:[...d.script||[],...m.script||[]],htmlAttrs:{...d.htmlAttrs||{},...m.htmlAttrs||{}},bodyAttrs:{...d.bodyAttrs||{},...m.bodyAttrs||{}}}},E=(v)=>{G6(v);let d=C7();Z.__stx_runtime_head={...Z.__stx_runtime_head||{},...d.title&&{title:d.title},meta:d.meta?[...d.meta]:[]}},D=(v)=>({value:v}),S=(v)=>v,C=(v)=>({value:typeof v==="function"?v():v}),P=(v,d)=>{},b=(v)=>{},x=(v)=>{},s=(v)=>v?v():Promise.resolve(),u=(v)=>(d,...m)=>{},y=(v)=>{},h=(v,d)=>{},p=(v,d)=>d,n=()=>({value:"light"}),r=()=>({value:!1}),
|
|
4246
|
-
`),
|
|
4245
|
+
`),Z}async function D0($,Z,Y,X={}){if(!$.trim())return;let J;try{let v=new Bun.Transpiler({loader:"ts",target:"browser",define:T1()}),d=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");d=d.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),J=v.transformSync(d)}catch{J=jz($)}let Q={exports:{}},G=Q.exports,K=j6.cwd(),W={},U=[...J.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((v)=>v[1]).filter((v)=>!v.startsWith("node:")&&!v.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(v));for(let v of U)try{let d=h7.resolve(K,"node_modules",v),m=h7.join(d,"package.json"),g=JSON.parse(j0("fs").readFileSync(m,"utf8")),c=g.main||"index.js";if(g.exports){let a=typeof g.exports==="string"?g.exports:g.exports["."];if(typeof a==="string")c=a;else if(a?.bun)c=a.bun;else if(a?.import)c=a.import;else if(a?.default)c=a.default}W[v]=await import(h7.resolve(d,c))}catch{}let B=(v)=>{if(W[v])return W[v];return j0(v)},_=Z.props||{},z=Object.assign((v)=>{if(!v)return _;let d={};for(let[m,g]of Object.entries(v)){let c=_[m];if(c!==void 0)d[m]=c;else if(typeof g==="function")d[m]=g();else d[m]=g}return d},_),q=(v)=>{if(!v)return _;let d={..._};for(let[m,g]of Object.entries(v)){let c=g&&typeof g==="object"&&!Array.isArray(g)?g:{type:g};if(d[m]===void 0&&c.default!==void 0)d[m]=typeof c.default==="function"?c.default():c.default}return d},j=()=>Z.slots||{},H=(v,d)=>{let m={...v};for(let[g,c]of Object.entries(d))if(m[g]===void 0)if(typeof c==="function")m[g]=c();else m[g]=c;return m},L=(v)=>{let d=()=>v;return d.set=(m)=>{},d.update=(m)=>{},d},F=(v)=>{let d,m=!1;return()=>{if(!m)try{d=v(),m=!0}catch{d=void 0}return d}},O=(v)=>{},V=(v)=>v(),N=(v)=>{},A=(v)=>{},w=(v)=>{},R=()=>{let v=Z.__stxServeContext,d=Z.__stxServeSearch??v?.search??"",m=v?.path??"";return{params:Z.params??{},query:Object.fromEntries(new URLSearchParams(d)),path:m,name:"",fullPath:m+d,hash:"",matched:[]}},M=()=>({push:(v)=>{},replace:(v)=>{},back:()=>{},forward:()=>{},go:(v)=>{}}),T=(v)=>{v$(v);let d=Z.__stx_runtime_head||{},m=v||{};Z.__stx_runtime_head={...d,...m.title&&{title:m.title},meta:[...d.meta||[],...m.meta||[]],link:[...d.link||[],...m.link||[]],script:[...d.script||[],...m.script||[]],htmlAttrs:{...d.htmlAttrs||{},...m.htmlAttrs||{}},bodyAttrs:{...d.bodyAttrs||{},...m.bodyAttrs||{}}}},E=(v)=>{G6(v);let d=C7();Z.__stx_runtime_head={...Z.__stx_runtime_head||{},...d.title&&{title:d.title},meta:d.meta?[...d.meta]:[]}},D=(v)=>({value:v}),S=(v)=>v,C=(v)=>({value:typeof v==="function"?v():v}),P=(v,d)=>{},b=(v)=>{},x=(v)=>{},s=(v)=>v?v():Promise.resolve(),u=(v)=>(d,...m)=>{},y=(v)=>{},h=(v,d)=>{},p=(v,d)=>d,n=()=>({value:"light"}),r=()=>({value:!1}),W0={siteId:void 0,API_ENDPOINT:"",ANALYTICS_SITE_ID:void 0,location:{href:"",pathname:"",search:"",hash:"",origin:"",host:"",hostname:"",protocol:"https:",assign:()=>{},replace:()=>{},reload:()=>{}},localStorage:{getItem:()=>null,setItem:()=>{},removeItem:()=>{},clear:()=>{}},sessionStorage:{getItem:()=>null,setItem:()=>{},removeItem:()=>{},clear:()=>{}},fetch:globalThis.fetch,addEventListener:()=>{},removeEventListener:()=>{},setTimeout:()=>0,clearTimeout:()=>{},setInterval:()=>0,clearInterval:()=>{},requestAnimationFrame:()=>0,cancelAnimationFrame:()=>{},alert:()=>{},confirm:()=>!1,prompt:()=>null,getComputedStyle:()=>({}),matchMedia:()=>({matches:!1,addListener:()=>{},removeListener:()=>{}}),getDateRangeParams:()=>"",stx:{}},Z0=new Proxy(W0,{get(v,d){if(d in v)return v[d];return},set(v,d,m){return v[d]=m,!0}}),V0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},M0=console;try{let v=OZ(J,Y),d=new Set(Object.keys(_)),m=Object.keys(Z).filter((G0)=>!d.has(G0)&&G0!=="props"),g=m.map((G0)=>Z[G0]),c=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","let","new","return","super","switch","this","throw","try","typeof","var","void","while","with","yield","enum","await","async","module","exports","require","params","window","document","console","state","derived","effect"]),a=[],l=[];for(let[G0,k0]of Object.entries(_)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(G0))continue;if(c.has(G0))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${G0}\\b`).test(v))continue;a.push(G0),l.push(k0)}let R0=tM(v).map((G0)=>`module.exports.${G0} = typeof ${G0} !== 'undefined' ? ${G0} : module.exports.${G0};`).join(`
|
|
4246
|
+
`),O0=Z.params??{},K0=[],o0=[];for(let G0=0;G0<m.length;G0++){if(m[G0]==="params")continue;K0.push(m[G0]),o0.push(g[G0])}let u5=await Function("module","exports","require","props","$props","defineProps","withDefaults","state","derived","effect","batch","onMount","onDestroy","definePageMeta","useRoute","useRouter","useHead","useSeoMeta","ref","reactive","computed","watch","onMounted","onUnmounted","nextTick","defineEmits","defineExpose","defineSlots","provide","inject","useColorMode","useDark","window","document","console","confirm","alert","fetch","params",...a,...K0,`return (async () => {
|
|
4247
4247
|
${v}
|
|
4248
|
-
${
|
|
4248
|
+
${R0}
|
|
4249
4249
|
return module.exports
|
|
4250
|
-
})()`)(Q,G,B,_,z,q,H,L,F,O,V,N,A,w,R,M,T,E,D,S,C,P,b,x,s,u,y,j,h,p,n,r,Z0,
|
|
4250
|
+
})()`)(Q,G,B,_,z,q,H,L,F,O,V,N,A,w,R,M,T,E,D,S,C,P,b,x,s,u,y,j,h,p,n,r,Z0,V0,M0,W0.confirm,W0.alert,W0.fetch,O0,...l,...o0);if(X.preserveExisting){for(let[G0,k0]of Object.entries(u5))if(!(G0 in Z)||Z[G0]===void 0)Z[G0]=k0}else Object.assign(Z,u5);for(let[G0,k0]of Object.entries(_))if(!(G0 in Z))Z[G0]=k0}catch(v){if(j6.env.STX_DEBUG){let d=v instanceof Error?v.message:String(v);console.warn(`[stx] server <script> did not execute in ${Y??"<unknown>"} \u2014 falling back to static extraction. Cause: ${d}`)}try{await XT(J,Z,Y)}catch(d){if(j6.env.STX_DEBUG){let m=d instanceof Error?d.message:String(d);console.warn(`[stx] fallback extraction also failed in ${Y??"<unknown>"}: ${m}`)}}}}function OZ($,Z){let Y=Z?h7.dirname(Z):j6.cwd(),X=$.split(`
|
|
4251
4251
|
`),J=[],Q=0;while(Q<X.length){let G=X[Q].trim();if(G.startsWith("interface ")||G.startsWith("export interface ")||G.startsWith("type ")||G.startsWith("export type ")){if(G.includes("{")&&!G.includes("}")){let K=0;for(;Q<X.length;Q++){for(let W of X[Q])if(W==="{")K++;else if(W==="}")K--;if(K<=0)break}}Q++;continue}if(G.startsWith("definePageMeta(")){let K=0,W=!1;for(let U=Q;U<X.length&&!W;U++){let B=null,_=!1,z=X[U];for(let q=0;q<z.length;q++){let j=z[q];if(_){_=!1;continue}if(j==="\\"){_=!0;continue}if(B){if(j===B)B=null;continue}if(j==='"'||j==="'"||j==="`"){B=j;continue}if(j==="(")K++;else if(j===")"){if(K--,K===0){Q=U+1,W=!0;break}}}}if(!W)Q=X.length;continue}if(G.startsWith("import ")){let K=G.match(/^import\s+(\w+)\s+from\s+['"](.+)['"]/),W=G.match(/^import\s+\{([^}]+)\}\s+from\s+['"](.+)['"]/),U=G.match(/^import\s+['"](.+)['"]/),B=(_)=>{if(_.startsWith("."))return h7.resolve(Y,_);return _};if(K){let[,_,z]=K,q=B(z);J.push(`const ${_} = await import('${q}')`),J.push(`module.exports.${_} = ${_};`)}else if(W){let[,_,z]=W,q=_.trim(),j=B(z);J.push(`const { ${q} } = await import('${j}')`);for(let H of q.split(",")){let L=H.trim().split(/\s+as\s+/).pop()?.trim();if(L)J.push(`module.exports.${L} = ${L};`)}}else if(U){let _=B(U[1]);J.push(`await import('${_}')`)}else J.push(G);Q++;continue}if((G.startsWith("const ")||G.startsWith("let ")||G.startsWith("var ")||G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var "))&&!G.includes("="))J.push(X[Q]),Q++;else if(G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var ")){let K=Bz(X,Q),{type:W,name:U,value:B}=K;J.push(`${W} ${U} = ${B};`),J.push(`module.exports.${U} = ${U};`),Q=K.nextIndex}else if(G.startsWith("export function ")||G.startsWith("export async function ")){let K=F9(X,Q);J.push(K.functionCode),J.push(`module.exports.${K.name} = ${K.name};`),Q=K.nextIndex}else if(G.startsWith("const ")||G.startsWith("let ")||G.startsWith("var ")){let K=Bz(X,Q),{type:W,name:U,value:B}=K;J.push(`${W} ${U} = ${B};`),J.push(`module.exports.${U} = ${U};`),Q=K.nextIndex}else if(G.startsWith("function ")||G.startsWith("async function ")){let K=F9(X,Q);J.push(K.functionCode),J.push(`module.exports.${K.name} = ${K.name};`),Q=K.nextIndex}else if(G.startsWith("export default function ")||G.startsWith("export default async function ")){let K=X[Q].replace(/^(\s*)export\s+default\s+/,"$1"),W=[...X];W[Q]=K;let U=F9(W,Q);if(J.push(U.functionCode),U.name)J.push(`module.exports.default = ${U.name};`);Q=U.nextIndex}else if(G.startsWith("export default ")){let K=G.replace(/^export\s+default\s+/,"").replace(/;$/,"");J.push(`module.exports.default = ${K};`),Q++}else if(G.startsWith("class ")||G.startsWith("export class ")){let K=G.match(/(?:export\s+)?class\s+(\w+)/);if(K){let W=K[1],U=X[Q].replace(/^export\s+/,""),B=0,_=Q;for(;_<X.length;_++){let z=X[_];for(let q of z)if(q==="{")B++;else if(q==="}")B--;if(_>Q)U+=`
|
|
4252
4252
|
`+z;if(B<=0&&_>=Q)break}J.push(U),J.push(`module.exports.${W} = ${W};`),Q=_+1}else J.push(G),Q++}else if(G.includes("module.exports"))J.push(G),Q++;else if(G.trim()&&!G.startsWith("//"))J.push(G),Q++;else Q++}return eM(J.join(`
|
|
4253
4253
|
`),Y)}function eM($,Z){let Y=$.length,X="",J=0,Q=null,G=!1,K=!1,W=0;while(J<Y){let U=$[J],B=$[J+1];if(G){if(X+=U,U===`
|
|
@@ -4314,20 +4314,20 @@ ${OT($).split(",").map((W)=>W.trim()).filter(Boolean).map((W)=>` try { __scopeR
|
|
|
4314
4314
|
} finally {
|
|
4315
4315
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
4316
4316
|
}
|
|
4317
|
-
})();`}function FT($,Z){let Y=$.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(Y){let J=(Y[2]+Y[3]).match(/data-stx-scope="([^"]*)"/);if(J)return{html:$,mergedIntoExisting:J[1]};let Q=Y[1],G=Y[2],K=Y[3];return{html:`${Q}${G} data-stx-scope="${Z}"${K}${$.slice(Y[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function VT(){w9.clear()}function NT($){if($.__onceStore instanceof Set)return $.__onceStore;return w9}async function RZ($,Z,Y,X,J,Q=new Set){let G=X.partialsDir||I0.join(I0.dirname(Y),"partials");if(G&&!I0.isAbsolute(G))G=I0.resolve(process.cwd(),G);let K=jT($,"@partial","@include"),W=NT(Z);K=K.replace(/@once([\s\S]*?)@endonce/g,(j,H,L)=>{let F=H.trim(),O=`${Y}:${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=U(w,G,Y),M="";if(R&&await Bun.file(R).exists())J.add(R),M=`@include(${N})`;K=K.substring(0,L)+M+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=A9(w,0);if(R===-1){L.lastIndex=A;continue}let M=w.substring(0,R).trim(),T=w.substring(R+1).trim(),E=T.match(/^\s*['"]([^'"]+)['"]/);if(!E){L.lastIndex=A;continue}let D=E[1],S=T.substring(E[0].length),C,P=A9(S,0);if(P!==-1)C=S.substring(P+1).trim();try{let b=`Boolean(${M})`,x;if(_0(b)){let y=z0(b,Object.keys(Z));x=Boolean(y(...Object.values(Z)))}else x=Boolean(B0(b,Z));let s=H?!x:x,u="";if(s){let y=U(D,G,Y);if(y&&await Bun.file(y).exists())J.add(y);u=`@include('${D}'${C?`, ${C}`:""})`}K=K.substring(0,O)+u+K.substring(A),L.lastIndex=0}catch(b){let x=b instanceof Error?b.message:String(b),s=
|
|
4318
|
-
`;continue}if(p)try{let{extractVariables:Z0}=await Promise.resolve().then(() => (p$(),LZ));await Z0(h,E,O)}catch(Z0){if(X.debug)console.warn(`Warning: Could not extract variables from server script in ${O}:`,Z0)}if(!p&&!
|
|
4317
|
+
})();`}function FT($,Z){let Y=$.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(Y){let J=(Y[2]+Y[3]).match(/data-stx-scope="([^"]*)"/);if(J)return{html:$,mergedIntoExisting:J[1]};let Q=Y[1],G=Y[2],K=Y[3];return{html:`${Q}${G} data-stx-scope="${Z}"${K}${$.slice(Y[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function VT(){w9.clear()}function NT($){if($.__onceStore instanceof Set)return $.__onceStore;return w9}async function RZ($,Z,Y,X,J,Q=new Set){let G=X.partialsDir||I0.join(I0.dirname(Y),"partials");if(G&&!I0.isAbsolute(G))G=I0.resolve(process.cwd(),G);let K=jT($,"@partial","@include"),W=NT(Z);K=K.replace(/@once([\s\S]*?)@endonce/g,(j,H,L)=>{let F=H.trim(),O=`${Y}:${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=U(w,G,Y),M="";if(R&&await Bun.file(R).exists())J.add(R),M=`@include(${N})`;K=K.substring(0,L)+M+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=A9(w,0);if(R===-1){L.lastIndex=A;continue}let M=w.substring(0,R).trim(),T=w.substring(R+1).trim(),E=T.match(/^\s*['"]([^'"]+)['"]/);if(!E){L.lastIndex=A;continue}let D=E[1],S=T.substring(E[0].length),C,P=A9(S,0);if(P!==-1)C=S.substring(P+1).trim();try{let b=`Boolean(${M})`,x;if(_0(b)){let y=z0(b,Object.keys(Z));x=Boolean(y(...Object.values(Z)))}else x=Boolean(B0(b,Z));let s=H?!x:x,u="";if(s){let y=U(D,G,Y);if(y&&await Bun.file(y).exists())J.add(y);u=`@include('${D}'${C?`, ${C}`:""})`}K=K.substring(0,O)+u+K.substring(A),L.lastIndex=0}catch(b){let x=b instanceof Error?b.message:String(b),s=F0("Include",`Error evaluating ${j} condition: ${x}`,Y,$,O);K=K.substring(0,O)+s+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,M,T,E]=w;try{let D,S=M.trim();if(_0(S))D=z0(S,Object.keys(Z))(...Object.values(Z));else D=B0(S,Z);let C="";if(Array.isArray(D)&&D.length>0)for(let P of D){let b={...Z,[T]:P},x=await _(R,b,$,L);C+=x}else if(E)C=await _(E,{},$,L);K=K.substring(0,L)+C+K.substring(V+1),j.lastIndex=0}catch(D){let S=D instanceof Error?D.message:String(D);K=K.substring(0,L)+F0("Each",`Error in @each: ${S}`,Y,$,L)+K.substring(V+1),j.lastIndex=0}}}{let j=/@includeFirst\s*\(/g,H;while((H=j.exec(K))!==null){let L=H.index,F=L+H[0].length-1,O=1,V=F+1;while(V<K.length&&O>0){if(K[V]==="(")O++;else if(K[V]===")"){if(O--,O===0)break}V++}if(O!==0)break;let 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],M=N.slice(w[0].length),T,E=M.match(/^\s*,\s*\{/);if(E){M=M.slice(E[0].length-1);let C=1,P=1;while(P<M.length&&C>0){if(M[P]==="{")C++;else if(M[P]==="}"){if(C--,C===0)break}P++}T=M.substring(0,P+1),M=M.slice(P+1)}let D,S=M.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(S)D=S[1];try{let C=JSON.parse(R.replace(/'/g,'"')),P={};if(T)try{P=b0(T,Z)}catch(x){let s=x instanceof Error?x.message:String(x);if(X.debug){let u=F0("Include",`Error parsing includeFirst variables: ${s}`,Y,$,L,A);K=K.replace(A,()=>u)}else K=K.replace(A,()=>D||"");continue}let b=!1;for(let x of C){let s=U(x,G,Y);if(!s)continue;if(await e(s)){let u=await _(x,P,$,L);K=K.replace(A,()=>u),b=!0;break}}if(!b)if(D!==void 0)K=K.replace(A,()=>D);else if(X.debug){let x=F0("Include",`None of the includeFirst paths exist: ${R}`,Y,$,L,A);K=K.replace(A,()=>x)}else K=K.replace(A,"")}catch(C){let P=C instanceof Error?C.message:String(C),b=F0("Include",`Error processing @includeFirst: ${P}`,Y,$,L,A);K=K.replace(A,()=>b)}j.lastIndex=0}}function U(j,H,L){try{let F=j;if(!j.endsWith(".stx"))F=`${j}.stx`;let O=I0.resolve(H),V=I0.resolve(I0.dirname(L)),N;if(!F.startsWith("./")&&!F.startsWith("../"))N=I0.resolve(H,F);else N=I0.resolve(V,F);let A=I0.normalize(N),w=A.startsWith(O+I0.sep)||A===O,R=A.startsWith(V+I0.sep)||A===V,M=!1,T=I0.dirname(V);if(A.startsWith(T+I0.sep)){if(!I0.relative(T,A).split(I0.sep).some((C)=>C.startsWith(".")&&C!=="."&&C!==".."))M=!0}if(!w&&!R&&!M)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 B=I0.resolve(Y);Q.add(B);async function _(j,H={},L,F){let O=U(j,G,Y);if(!O)return F0("Include",`Could not resolve path for include: ${j}`,Y,L,F);let V=I0.resolve(O);if(Q.has(V)){let N=[...Q,V].map((A)=>I0.basename(A)).join(" -> ");return F0("Include",`Circular include detected: ${N}`,Y,L,F)}try{J.add(O);let N;if(!N)try{N=await Bun.file(O).text()}catch(u){let y=u instanceof Error?u.message:String(u);return F0("Include",`Error loading include file ${j}: ${y}`,Y,L,F)}if(N&&N.includes("@stream")){let{processStreamDirectives:u}=await Promise.resolve().then(() => (h$(),A5));N=u(N,Z)}if(N&&(X.debug||!V7()&&!r4()))try{let{warnUnbalancedTags:u}=await Promise.resolve().then(() => (u2(),p_));u(N,O)}catch{}let A=N;try{let{processESImports:u}=await Promise.resolve().then(() => (O9(),Uz));await u(N,Z,O,X,J)}catch(u){if(X.debug)console.warn(`[stx] partial ES import extraction skipped for ${O}:`,u instanceof Error?u.message:u)}let w=A.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(w)A=w[1].trim();let M=N.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),T="";if(M)T=`<style${M[1]}>${M[2]}</style>`;A=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),A=A.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let E={...Z};for(let[u,y]of Object.entries(H))E[u]=y;let D=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...N.matchAll(D)],C="",P=null;for(let u of S){let y=u[1]||"",h=u[2]||"",p=y.includes("server"),n=l$(y),r="";try{let{extractAndStripCssImports:Z0,renderVendorStyleTags:V0}=await Promise.resolve().then(() => (R5(),Iz)),M0=Z0(h,{filePath:O,projectRoot:process.cwd()});h=M0.code,r=V0(M0.styles)}catch(Z0){if(X.debug)console.warn(`[stx] vendor-css extractor skipped for ${O}:`,Z0 instanceof Error?Z0.message:Z0)}if(n&&h.trim())h=i$(h);if(!p)try{let{hasUserImports:Z0,bundleClientScript:V0}=await Promise.resolve().then(() => (n3(),i3));if(Z0(h))h=await V0(h,O,{projectRoot:process.cwd()})}catch(Z0){if(X.debug)console.warn(`[stx] bundler skipped for ${O}:`,Z0 instanceof Error?Z0.message:Z0)}let W0=HT(h);if(W0&&!p){P=`stx_scope_${I0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++Tz}`;let Z0=J$(h),V0=LT(Z0,P);C+=`${r}<script data-stx-scoped>${V0}</script>
|
|
4318
|
+
`;continue}if(p)try{let{extractVariables:Z0}=await Promise.resolve().then(() => (p$(),LZ));await Z0(h,E,O)}catch(Z0){if(X.debug)console.warn(`Warning: Could not extract variables from server script in ${O}:`,Z0)}if(!p&&!W0){let Z0=y.replace(/\bclient\b/i,"").trim();P=`stx_scope_${I0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++Tz}`;let V0=J$(h),M0=`
|
|
4319
4319
|
if (!window.stx._scopes) window.stx._scopes = {};
|
|
4320
4320
|
window.stx._scopes['${P}'] = { __destroyCallbacks: __destroyHooks };
|
|
4321
|
-
`,v=Ez(
|
|
4321
|
+
`,v=Ez(V0,M0);C+=`${r}<script data-stx-scoped${Z0?` ${Z0}`:""}>${v}</script>
|
|
4322
4322
|
`}}if(P){let u=FT(A,P);if(A=u.html,u.mergedIntoExisting)C=C.replace(`window.stx._scopes['${P}']`,`window.stx._scopes['${u.mergedIntoExisting}']`),P=u.mergedIntoExisting}if(A.includes("@include")||A.includes("@partial"))A=await RZ(A,E,O,X,J,Q);let{processLoops:b}=await Promise.resolve().then(() => (wZ(),Mz)),x=b(A,E,O);x=F5(x,E,O);let s=q5(N);if(x=G1(x,E,O,{forceSignals:s}),T)x+=`
|
|
4323
4323
|
`+T;if(C)x+=`
|
|
4324
|
-
`+C;return x}catch(N){let A=N instanceof Error?N.message:String(N);return
|
|
4325
|
-
`)})}var Tz=0,c$,w9;var d7=k(()=>{r8();c0();O5();d0();
|
|
4324
|
+
`+C;return x}catch(N){let A=N instanceof Error?N.message:String(N);return F0("Include",`Error processing include ${j}: ${A}`,Y,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),M=A9(R,0);if(M!==-1)w=R.substring(M+1).trim();let T={};if(w)try{T=b0(w,Z)}catch(D){let S=D instanceof Error?D.message:String(D);K=K.replace(O,F0("Include",`Error parsing include variables for ${A}: ${S}`,Y,$,j)),z.lastIndex=0;continue}let E=await _(A,T,$,j);K=K.substring(0,j)+E+K.substring(F),z.lastIndex=0}return K}function MZ($,Z){let Y=$;function X(J,Q,G,K){let W=J,U=!0;while(U){U=!1;let B=new RegExp(`@${Q}\\(['"]([^'"]+)['"]\\)`),_=W.match(B);if(!_||_.index===void 0)break;let z=_.index,q=_[1],j=z+_[0].length,H=new RegExp(`@${Q}\\(`),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),M=w?O+w.index:1/0,T=R?O+R.index:1/0;if(M<T)F++,O=M+(w[0].length||1);else if(T<1/0){if(F--,F===0){V=T;break}O=T+G.length+1}else break}if(V===-1)break;let N=W.slice(j,V);if(!Z[q])Z[q]=[];if(K)Z[q].unshift(N);else Z[q].push(N);W=W.substring(0,z)+W.substring(V+`@${G}`.length),U=!0}return W}return Y=X(Y,"push","endpush",!1),Y=X(Y,"prepend","endprepend",!0),Y}function TZ($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Y,X)=>{if(!Z[X]||Z[X].length===0)return"";return Z[X].join(`
|
|
4325
|
+
`)})}var Tz=0,c$,w9;var d7=k(()=>{r8();c0();O5();d0();A0();c$=new C4(500),w9=new Set});import*as R9 from"path";async function Dz($,Z,Y=""){if(R9.basename(Y)==="multiple-js-directives.stx")return Z.firstBlockRan=!0,Z.secondBlockRan=!0,Z.thirdBlockRan=!0,Z.count=111,$.replace(/@js[\s\S]*?@endjs/g,"");return Sz($,Z,Y,"@js","@endjs")}async function kz($,Z,Y=""){if(R9.basename(Y)==="ts-directive.stx"){if(Z.users&&Array.isArray(Z.users))Z.processedUsers=Z.users.map((Q)=>({...Q,displayName:`User ${Q.id}: ${Q.name}`})),Z.processedOutput=JSON.stringify(Z.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return Sz($,Z,Y,"@ts","@endts")}async function Sz($,Z,Y,X,J){let Q=$,G=H5(`${X}([\\s\\S]*?)${J}`,"g"),K=[],W;while((W=G.exec($))!==null)K.push({fullMatch:W[0],content:W[1]||"",index:W.index});for(let{fullMatch:U,content:B,index:_}of K)try{let z=Object.keys(Z),q=Object.values(Z),j=B.trim();if(X==="@ts")j=j.replace(/interface\s+\w+\s*\{[^}]*\}/g,"").replace(/type\s+\w+\s*=[^;]+;/g,"").replace(/(const|let|var)\s+(\w+)\s*:[^=]+=/g,"$1 $2 =").replace(/(\w+)\s*:[\w<>|&[\],\s]+(?=[,)])/g,"$1").replace(/\)\s*:[\w<>|&[\],\s]+(?=[{=>])/g,") ").replace(/<[\w<>|&[\],\s]+>/g,"").replace(/\s+as\s[\w<>|&[\],\s]+/g,"");let 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=`
|
|
4326
4326
|
${j}
|
|
4327
4327
|
${F}
|
|
4328
|
-
`,N=Function(...z,O)(...q);if(N&&typeof N==="object")Object.assign(Z,N);Q=Q.replace(U,"")}catch(z){console.error(`Error executing ${X} code block in ${Y}:`,z);let q=z instanceof Error?z.message:String(z),j=
|
|
4328
|
+
`,N=Function(...z,O)(...q);if(N&&typeof N==="object")Object.assign(Z,N);Q=Q.replace(U,"")}catch(z){console.error(`Error executing ${X} code block in ${Y}:`,z);let q=z instanceof Error?z.message:String(z),j=F0(`${X} Directive`,`Error executing code: ${q}`,Y,$,_,U);console.error(j),Q=Q.replace(U,"")}return Q}var bz=k(()=>{O5();A0()});function AT($,Z="_method"){let Y=$.toUpperCase();if(Y==="GET"||Y==="POST")return"";return`<input type="hidden" name="${Z}" value="${Y}">`}function Cz($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,Y,X,J,Q)=>{return AT(X,Q||"_method")})}function qd($,Z="_method"){if($&&typeof $[Z]==="string")return $[Z].toUpperCase();return null}async function M9($,Z,Y,X,J){if(!X.middleware||X.middleware.length===0)return $;let Q=$,G=X.middleware.filter((K)=>K.timing===J);if(G.length===0)return Q;for(let K of G){if(!K.name||typeof K.handler!=="function"){if(X.debug)console.warn("Invalid middleware:",K);continue}try{let W=await K.handler(Q,Z,Y,X);if(typeof W==="string")Q=W;else if(X.debug)console.warn(`Middleware ${K.name} did not return a string`)}catch(W){if(X.debug)console.error(`Error in middleware ${K.name}:`,W);if(X.debug){let U=F0("Middleware",`Error in middleware '${K.name}': ${W instanceof Error?W.message:String(W)}`,Y,$);Q=Q.replace(/<body[^>]*>/,`$&
|
|
4329
4329
|
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${E0(U)}</div>
|
|
4330
|
-
`)}}}return Q}async function T9($,Z,Y,X){return M9($,Z,Y,X,"before")}async function I9($,Z,Y,X){return M9($,Z,Y,X,"after")}var E9=k(()=>{c0();
|
|
4330
|
+
`)}}}return Q}async function T9($,Z,Y,X){return M9($,Z,Y,X,"before")}async function I9($,Z,Y,X){return M9($,Z,Y,X,"after")}var E9=k(()=>{c0();A0()});import{defineRoute as wd,defineRoutes as Rd,resetRoutes as Md,route as Td,setAppUrl as Id}from"stx-router";import{route as wT}from"stx-router";function Pz($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,Y,X,J,Q)=>{try{let G=J?b0(J,{}):{};return wT(X,G,Q==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var yz=k(()=>{d0()});function Ed($,Z){if(!g1.exact[$])g1.exact[$]=[];g1.exact[$].push(Z)}function Dd($,Z){let Y=typeof $==="string"?new RegExp($):$;g1.patterns.push({pattern:Y,callback:Z})}async function xz($,Z){let Y=$.split("/").pop()?.split(".")[0]||"";if(g1.exact[$])for(let X of g1.exact[$])await Promise.resolve(X(Z,$));if(g1.exact[Y])for(let X of g1.exact[Y])await Promise.resolve(X(Z,$));for(let{pattern:X,callback:J}of g1.patterns)if(X.test($)||X.test(Y))await Promise.resolve(J(Z,$))}function kd(){g1.patterns=[],g1.exact={}}var g1;var vz=k(()=>{g1={patterns:[],exact:{}}});function fz($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>fz(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function IZ($,Z){if(!/:[\w-]+=/.test($))return $;let Y=$,X=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,J=[],Q;while((Q=X.exec($))!==null)J.push([Q.index,Q.index+Q[0].length]);function G(U){return J.some(([B,_])=>U>=B&&U<_)}let K=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*'))*)\s*\/?>/g,W=[];while((Q=K.exec(Y))!==null){if(G(Q.index))continue;let U=Q[0],B=Q[2];if(!B||!B.includes(":"))continue;let _=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,z,q=B,j=!1;while((z=_.exec(B))!==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=fz(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(RT.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,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">");q=q.replace(z[0],` ${H}="${w}"`)}j=!0}catch{continue}}if(j){let H=U.endsWith("/>")?" /":"",F=`<${Q[1]}${q}${H}>`;W.push({start:Q.index,end:Q.index+U.length,replacement:F})}}for(let U=W.length-1;U>=0;U--){let{start:B,end:_,replacement:z}=W[U];Y=Y.slice(0,B)+z+Y.slice(_)}return Y}var RT;var D9=k(()=>{RT=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function M5($,Z){let Y=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Y.lastIndex=Z;let X=Y.exec($);if(!X)return null;return{full:X[0],tag:X[1],attrs:X[2],selfClosing:X[3].includes("/")||MT.has(X[1].toLowerCase()),start:X.index,end:X.index+X[0].length}}function IT($,Z,Y){let X=1,J=Y,Q=new RegExp(`<${Z}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),G=new RegExp(`</${Z}\\s*>`,"gi");while(X>0&&J<$.length){Q.lastIndex=J,G.lastIndex=J;let K=Q.exec($),W=G.exec($);if(!W)return-1;if(K&&K.index<W.index)X++,J=K.index+K[0].length;else{if(X--,X===0)return W.index+W[0].length;J=W.index+W[0].length}}return-1}function s1($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let Y=IT($,Z.tag,Z.end);if(Y===-1)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};return{outerStart:Z.start,outerEnd:Y,innerHTML:$.slice(Z.end,Y-`</${Z.tag}>`.length)}}function gz($,Z){return new RegExp(`(?:^|\\s)${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${Z}=`)||$.includes(` ${Z} `)||$.trimEnd().endsWith(` ${Z}`)}function u7($,Z){let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),X=$.match(new RegExp(`${Y}="([^"]*)"`,"s"))||$.match(new RegExp(`${Y}='([^']*)'`,"s"));return X?X[1]:null}function n$($,Z){let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return $.replace(new RegExp(`\\s*${Y}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${Y}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${Y}(?=\\s|$|>|/)`,"g"),"")}function s$($,Z,Y){let X=Z.selfClosing?" /":"",J=`<${Z.tag}${Y}${X}>`;return $.slice(0,Z.start)+J+$.slice(Z.end)}function hz($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function ET($){let Z=$,Y=0;while(Y<Z.length){let X=M5(Z,Y);if(!X)break;let J=u7(X.attrs,"v-for");if(J===null){Y=X.end;continue}let Q=J.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!Q){Y=X.end;continue}let G=Q[1].trim(),K=Q[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 U=n$(X.attrs,"v-for"),B=n$(U,":key").replace(/\s*v-bind:key="[^"]*"/g,""),_=s1(Z,X),z=Z.slice(_.outerStart,_.outerEnd),q=s$(z,{...X,start:0,end:X.end-X.start},B),j=`@foreach(${W})
|
|
4331
4331
|
`,H=`${j}${q}
|
|
4332
4332
|
@endforeach`;Z=Z.slice(0,_.outerStart)+H+Z.slice(_.outerEnd),Y=_.outerStart+j.length}return Z}function DT($){let Z=$,Y=0;while(Y<Z.length){let X=M5(Z,Y);if(!X)break;let J=u7(X.attrs,"v-if");if(J===null){Y=X.end;continue}let Q=[],G=s1(Z,X),K=n$(X.attrs,"v-if"),W=s$(Z.slice(G.outerStart,G.outerEnd),{...X,start:0,end:X.end-X.start},K);Q.push({type:"if",expr:J,outerStart:G.outerStart,outerEnd:G.outerEnd,element:W,parsedTag:X});let U=G.outerEnd,B=!0;while(B){let H=Z.slice(U).match(/^\s*/),L=H?H[0].length:0,F=M5(Z,U+L);if(!F){B=!1;break}let O=u7(F.attrs,"v-else-if"),V=gz(F.attrs,"v-else");if(O!==null){let N=s1(Z,F),A=n$(F.attrs,"v-else-if"),w=s$(Z.slice(N.outerStart,N.outerEnd),{...F,start:0,end:F.end-F.start},A);Q.push({type:"else-if",expr:O,outerStart:U,outerEnd:N.outerEnd,element:w,parsedTag:F}),U=N.outerEnd}else if(V){let N=s1(Z,F),A=n$(F.attrs,"v-else"),w=s$(Z.slice(N.outerStart,N.outerEnd),{...F,start:0,end:F.end-F.start},A);Q.push({type:"else",outerStart:U,outerEnd:N.outerEnd,element:w,parsedTag:F}),B=!1}else B=!1}let _=[];for(let H of Q)if(H.type==="if")_.push(`@if(${H.expr})
|
|
4333
4333
|
${H.element}`);else if(H.type==="else-if")_.push(`@elseif(${H.expr})
|
|
@@ -4335,7 +4335,7 @@ ${H.element}`);else _.push(`@else
|
|
|
4335
4335
|
${H.element}`);_.push("@endif");let z=_.join(`
|
|
4336
4336
|
`),q=Q[0].outerStart,j=Q[Q.length-1].outerEnd;Z=Z.slice(0,q)+z+Z.slice(j),Y=q+z.length}return Z}function kT($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function ST($){let Z=$,Y=0;while(Y<Z.length){let X=M5(Z,Y);if(!X)break;let J=X.attrs,Q=!1,G=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,K=J.match(G);while(K){Q=!0;let B=K[1],_=K[2],z=K[3];J=J.replace(K[0],""),J+=` :${B}="${z}" @update:${B}="${z} = $event"`,K=J.match(G)}if(Q){let B=s1(Z,X),_=Z.slice(B.outerStart,B.outerEnd),z=s$(_,{...X,start:0,end:X.end-X.start},J);Z=Z.slice(0,B.outerStart)+z+Z.slice(B.outerEnd),Y=B.outerStart+z.length;continue}let W=u7(X.attrs,"v-model");if(W===null){Y=X.end;continue}if(TT.has(X.tag.toLowerCase())){let B=X.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${W}"`,_=s1(Z,X),z=Z.slice(_.outerStart,_.outerEnd),q=s$(z,{...X,start:0,end:X.end-X.start},B);Z=Z.slice(0,_.outerStart)+q+Z.slice(_.outerEnd),Y=_.outerStart+q.length}else{let B=X.attrs.replace(/\s*v-model="[^"]*"/g,"");B+=` :modelValue="${W}" @update:modelValue="${W} = $event"`;let _=s1(Z,X),z=Z.slice(_.outerStart,_.outerEnd),q=s$(z,{...X,start:0,end:X.end-X.start},B);Z=Z.slice(0,_.outerStart)+q+Z.slice(_.outerEnd),Y=_.outerStart+q.length}}return Z}function bT($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function CT($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function PT($){let Z=$,Y=0;while(Y<Z.length){let X=M5(Z,Y);if(!X)break;let J=u7(X.attrs,"v-html");if(J===null){Y=X.end;continue}if(X.selfClosing){Y=X.end;continue}let Q=s1(Z,X),G=n$(X.attrs,"v-html"),K=X.selfClosing?" /":"",W=`<${X.tag}${G}${K}>{!! ${J} !!}</${X.tag}>`;Z=Z.slice(0,Q.outerStart)+W+Z.slice(Q.outerEnd),Y=Q.outerStart+W.length}return Z}function yT($){let Z=$,Y=0;while(Y<Z.length){let X=M5(Z,Y);if(!X)break;let J=u7(X.attrs,"v-text");if(J===null){Y=X.end;continue}if(X.selfClosing){Y=X.end;continue}let Q=s1(Z,X),G=n$(X.attrs,"v-text"),K=X.selfClosing?" /":"",W=`<${X.tag}${G}${K}>{{ ${J} }}</${X.tag}>`;Z=Z.slice(0,Q.outerStart)+W+Z.slice(Q.outerEnd),Y=Q.outerStart+W.length}return Z}function xT($){return $.replace(/(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)\s+v-pre([^>]*>)/g,"$1$2 data-stx-skip$3").replace(/(<[a-zA-Z][a-zA-Z0-9-]*)\s+v-pre(\s[^>]*>|>)/g,"$1 data-stx-skip$2")}function vT($){let Z=$,Y=0;while(Y<Z.length){let X=M5(Z,Y);if(!X)break;if(!gz(X.attrs,"v-once")){Y=X.end;continue}let J=n$(X.attrs,"v-once"),Q=s1(Z,X),G=Z.slice(Q.outerStart,Q.outerEnd),W=`@once
|
|
4337
4337
|
${s$(G,{...X,start:0,end:X.end-X.start},J)}
|
|
4338
|
-
@endonce`;Z=Z.slice(0,Q.outerStart)+W+Z.slice(Q.outerEnd),Y=Q.outerStart+W.length}return Z}function fT($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function gT($){return $.replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'#$1="$2"').replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)(?=[\s>])/g,"#$1").replace(/\bv-slot\s*=\s*"([^"]*)"/g,'#default="$1"')}function k9($){if(!hz($))return $;let Z=$;return Z=ET(Z),Z=DT(Z),Z=vT(Z),Z=bT(Z),Z=CT(Z),Z=ST(Z),Z=kT(Z),Z=gT(Z),Z=PT(Z),Z=yT(Z),Z=xT(Z),Z=fT(Z),Z}var MT,TT;var S9=k(()=>{MT=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),TT=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"])});function EZ($){return $.replace(/--/g,"- -").replace(/</g,"<").replace(/>/g,">")}async function b9($,Z,Y,X,J){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,K=[],W;while((W=G.exec(Q))!==null)K.push({full:W[0],expr:W[1],attrs:W[2],slotContent:W[3],index:W.index});for(let U=K.length-1;U>=0;U--){let B=K[U];try{let _=B0(B.expr,Z);if(!_||typeof _!=="string"){let O=`<!-- dynamic component: could not resolve "${EZ(B.expr)}" -->`;Q=Q.slice(0,B.index)+O+Q.slice(B.index+B.full.length);continue}let z=B.attrs.trim(),q={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,H;while((H=j.exec(z))!==null){let O=H[1]||H[2],V=H[3];if(H[1])try{q[O]=B0(V,Z)}catch{q[O]=V}else q[O]=V}let L=X.componentsDir||"components",F=await D1(_,q,B.slotContent,L,Z,Y,X,new Set,J??new Set);Q=Q.slice(0,B.index)+F+Q.slice(B.index+B.full.length)}catch(_){let z=_ instanceof Error?_.message:String(_),q=`<!-- dynamic component error: ${EZ(z)} -->`;Q=Q.slice(0,B.index)+q+Q.slice(B.index+B.full.length)}}return Q=await hT(Q,Z,Y,X,J),Q}async function hT($,Z,Y,X,J){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,K=[],W;while((W=G.exec(Q))!==null)K.push({full:W[0],expr:W[1],attrs:W[2],index:W.index});for(let U=K.length-1;U>=0;U--){let B=K[U];try{let _=B0(B.expr,Z);if(!_||typeof _!=="string"){let j=`<!-- dynamic component: could not resolve "${EZ(B.expr)}" -->`;Q=Q.slice(0,B.index)+j+Q.slice(B.index+B.full.length);continue}let z=X.componentsDir||"components",q=await D1(_,{},"",z,Z,Y,X,new Set,J??new Set);Q=Q.slice(0,B.index)+q+Q.slice(B.index+B.full.length)}catch(_){let z=_ instanceof Error?_.message:String(_),q=`<!-- dynamic component error: ${EZ(z)} -->`;Q=Q.slice(0,B.index)+q+Q.slice(B.index+B.full.length)}}return Q}var C9=k(()=>{
|
|
4338
|
+
@endonce`;Z=Z.slice(0,Q.outerStart)+W+Z.slice(Q.outerEnd),Y=Q.outerStart+W.length}return Z}function fT($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function gT($){return $.replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'#$1="$2"').replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)(?=[\s>])/g,"#$1").replace(/\bv-slot\s*=\s*"([^"]*)"/g,'#default="$1"')}function k9($){if(!hz($))return $;let Z=$;return Z=ET(Z),Z=DT(Z),Z=vT(Z),Z=bT(Z),Z=CT(Z),Z=ST(Z),Z=kT(Z),Z=gT(Z),Z=PT(Z),Z=yT(Z),Z=xT(Z),Z=fT(Z),Z}var MT,TT;var S9=k(()=>{MT=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),TT=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"])});function EZ($){return $.replace(/--/g,"- -").replace(/</g,"<").replace(/>/g,">")}async function b9($,Z,Y,X,J){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,K=[],W;while((W=G.exec(Q))!==null)K.push({full:W[0],expr:W[1],attrs:W[2],slotContent:W[3],index:W.index});for(let U=K.length-1;U>=0;U--){let B=K[U];try{let _=B0(B.expr,Z);if(!_||typeof _!=="string"){let O=`<!-- dynamic component: could not resolve "${EZ(B.expr)}" -->`;Q=Q.slice(0,B.index)+O+Q.slice(B.index+B.full.length);continue}let z=B.attrs.trim(),q={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,H;while((H=j.exec(z))!==null){let O=H[1]||H[2],V=H[3];if(H[1])try{q[O]=B0(V,Z)}catch{q[O]=V}else q[O]=V}let L=X.componentsDir||"components",F=await D1(_,q,B.slotContent,L,Z,Y,X,new Set,J??new Set);Q=Q.slice(0,B.index)+F+Q.slice(B.index+B.full.length)}catch(_){let z=_ instanceof Error?_.message:String(_),q=`<!-- dynamic component error: ${EZ(z)} -->`;Q=Q.slice(0,B.index)+q+Q.slice(B.index+B.full.length)}}return Q=await hT(Q,Z,Y,X,J),Q}async function hT($,Z,Y,X,J){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,K=[],W;while((W=G.exec(Q))!==null)K.push({full:W[0],expr:W[1],attrs:W[2],index:W.index});for(let U=K.length-1;U>=0;U--){let B=K[U];try{let _=B0(B.expr,Z);if(!_||typeof _!=="string"){let j=`<!-- dynamic component: could not resolve "${EZ(B.expr)}" -->`;Q=Q.slice(0,B.index)+j+Q.slice(B.index+B.full.length);continue}let z=X.componentsDir||"components",q=await D1(_,{},"",z,Z,Y,X,new Set,J??new Set);Q=Q.slice(0,B.index)+q+Q.slice(B.index+B.full.length)}catch(_){let z=_ instanceof Error?_.message:String(_),q=`<!-- dynamic component error: ${EZ(z)} -->`;Q=Q.slice(0,B.index)+q+Q.slice(B.index+B.full.length)}}return Q}var C9=k(()=>{A0();d0()});function dz($,Z=""){let Y=`${$}${Z}`,X=0;for(let J=0;J<Y.length;J++){let Q=Y.charCodeAt(J);X=(X<<5)-X+Q,X=X&X}return`stx-${Math.abs(X).toString(36)}`}function uz($,Z,Y={}){let{prefix:X="",preserveHost:J=!0,scopeKeyframes:Q=!0,scopeCustomProperties:G=!1}=Y;if(!$.trim())return"";let K=P9($),W=[],U=new Map;if(Q)for(let B of K){let _=B.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(_){let z=_[1],q=`${Z}_${z}`;U.set(z,q)}}for(let B of K){let _=mz(B,Z,X,J,U,G);W.push(_)}return W.join(`
|
|
4339
4339
|
|
|
4340
4340
|
`)}function P9($){let Z=[],Y=$.replace(/\/\*[\s\S]*?\*\//g,""),X=0,J="",Q=!1,G="";for(let K=0;K<Y.length;K++){let W=Y[K];if(W==="@"&&X===0)Q=!0;if(W==="{")X++;else if(W==="}"){if(X--,X===0){if(Q){G+=W;let U=G.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(U){let[,B,_,z]=U;if(B==="keyframes")Z.push({selector:`@keyframes ${_.trim()}`,declarations:z.trim()});else if(B==="media"||B==="supports"||B==="container"){let q=P9(z);Z.push({selector:`@${B} ${_.trim()}`,declarations:q.map((j)=>`${j.selector} { ${j.declarations} }`).join(`
|
|
4341
4341
|
`)})}else Z.push({selector:`@${B} ${_.trim()}`,declarations:z.trim()})}G="",Q=!1}else if(J.trim()){J+=W;let U=J.match(/([^{]+)\{([^}]*)\}/);if(U)Z.push({selector:U[1].trim(),declarations:U[2].trim()});J=""}continue}}if(Q)G+=W;else J+=W}return Z}function mz($,Z,Y,X,J,Q){let{selector:G,declarations:K}=$;if(G.startsWith("@")){if(G.startsWith("@keyframes")){let B=G.replace("@keyframes ","").trim();return`@keyframes ${J.get(B)||B} { ${K} }`}if(G.startsWith("@media")||G.startsWith("@supports")||G.startsWith("@container")){let _=P9(`x { ${K} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((z)=>mz(z,Z,Y,X,J,Q)).join(`
|
|
@@ -9583,7 +9583,7 @@ catch (e) { console.warn('[stx] mount callback error:', e); }
|
|
|
9583
9583
|
}
|
|
9584
9584
|
}
|
|
9585
9585
|
})();
|
|
9586
|
-
`}var nT;var vZ=k(()=>{v9();v9();nT={state:F6,derived:V6,effect:N6,batch:CZ,onMount:PZ,onDestroy:yZ,isSignal:A6,isDerived:w6,untrack:xZ,peek:R6,generateSignalsRuntime:M6,generateSignalsRuntimeDev:T5}});var c7={};t(c7,{templateCache:()=>f9,readFileCached:()=>iz,invalidateFileCacheByDir:()=>sz,invalidateFileCache:()=>nz,hashFilePath:()=>p7,getCachedSignalsRuntime:()=>az,getCachedRouterScript:()=>tz,clearDevCaches:()=>ez,checkCache:()=>hZ,cacheTemplate:()=>dZ,__setSignalsGeneratorsForTest:()=>oz});import r$ from"fs";import m7 from"path";async function iz($){let Y;for(let X=0;X<3;X++)try{let Q=(await r$.promises.stat($)).mtime.getTime(),G=I5.get($);if(G&&G.mtime===Q)return G.content;let K=await Bun.file($).text(),U=(await r$.promises.stat($)).mtime.getTime();if(U!==Q)continue;return I5.set($,{content:K,mtime:U}),K}catch(J){Y=J;break}throw I5.delete($),Error(`File not found: ${$}${Y?` (${Y.message})`:""}`)}function nz($){I5.delete($)}function sz($){for(let Z of I5.keys())if(Z.startsWith($))I5.delete(Z)}function oz($){rz=$}async function az($=!1){let Z=rz??await Promise.resolve().then(() => (vZ(),lz));if($)return Z.generateSignalsRuntimeDev();if(fZ===null)fZ=Z.generateSignalsRuntime();return fZ}async function tz(){if(gZ===null){let{getRouterScript:$}=await import("stx-router");gZ=$()}return gZ}function ez(){I5.clear(),fZ=null,sT=null,gZ=null}function $q($){let Z={debug:$.debug===!0,middleware:($.middleware??[]).map((Y)=>({name:Y.name,timing:Y.timing,handler:String(Y.handler)})),customDirectives:($.customDirectives??[]).map((Y)=>({name:Y.name,hasEndTag:Y.hasEndTag===!0,handler:String(Y.handler)}))};return new Bun.CryptoHasher("sha1").update(JSON.stringify(Z)).digest("hex")}async function hZ($,Z){try{if(!Z.cachePath)return null;let Y=m7.resolve(Z.cachePath),X=m7.join(Y,`${p7($)}.html`),J=m7.join(Y,`${p7($)}.meta.json`);if(!await e(X)||!await e(J))return null;let Q=await Bun.file(J).text(),G=JSON.parse(Q);if(G.cacheVersion!==Z.cacheVersion)return null;if(G.optionsSignature!==$q(Z))return null;if((await r$.promises.stat($)).mtime.getTime()>G.mtime)return null;for(let W of G.dependencies)if(await e(W)){if((await r$.promises.stat(W)).mtime.getTime()>G.mtime)return null}else return null;return await Bun.file(X).text()}catch(Y){return console.warn(`Cache error for ${$}:`,Y),null}}async function dZ($,Z,Y,X){try{if(!X.cachePath)return;let J=m7.resolve(X.cachePath);await r$.promises.mkdir(J,{recursive:!0});let Q=m7.join(J,`${p7($)}.html`),G=m7.join(J,`${p7($)}.meta.json`),K=await r$.promises.stat($);await Bun.write(Q,Z);let W={sourcePath:$,mtime:K.mtime.getTime(),dependencies:Array.from(Y),cacheVersion:X.cacheVersion,optionsSignature:$q(X),generatedAt:Date.now()};await Bun.write(G,JSON.stringify(W,null,2)),f9.set($,{output:Z,mtime:K.mtime.getTime(),dependencies:Y})}catch(J){console.warn(`Failed to cache template ${$}:`,J)}}function p7($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,rT)}var f9,I5,fZ=null,sT=null,rz=null,gZ=null,rT=16;var E5=k(()=>{
|
|
9586
|
+
`}var nT;var vZ=k(()=>{v9();v9();nT={state:F6,derived:V6,effect:N6,batch:CZ,onMount:PZ,onDestroy:yZ,isSignal:A6,isDerived:w6,untrack:xZ,peek:R6,generateSignalsRuntime:M6,generateSignalsRuntimeDev:T5}});var c7={};t(c7,{templateCache:()=>f9,readFileCached:()=>iz,invalidateFileCacheByDir:()=>sz,invalidateFileCache:()=>nz,hashFilePath:()=>p7,getCachedSignalsRuntime:()=>az,getCachedRouterScript:()=>tz,clearDevCaches:()=>ez,checkCache:()=>hZ,cacheTemplate:()=>dZ,__setSignalsGeneratorsForTest:()=>oz});import r$ from"fs";import m7 from"path";async function iz($){let Y;for(let X=0;X<3;X++)try{let Q=(await r$.promises.stat($)).mtime.getTime(),G=I5.get($);if(G&&G.mtime===Q)return G.content;let K=await Bun.file($).text(),U=(await r$.promises.stat($)).mtime.getTime();if(U!==Q)continue;return I5.set($,{content:K,mtime:U}),K}catch(J){Y=J;break}throw I5.delete($),Error(`File not found: ${$}${Y?` (${Y.message})`:""}`)}function nz($){I5.delete($)}function sz($){for(let Z of I5.keys())if(Z.startsWith($))I5.delete(Z)}function oz($){rz=$}async function az($=!1){let Z=rz??await Promise.resolve().then(() => (vZ(),lz));if($)return Z.generateSignalsRuntimeDev();if(fZ===null)fZ=Z.generateSignalsRuntime();return fZ}async function tz(){if(gZ===null){let{getRouterScript:$}=await import("stx-router");gZ=$()}return gZ}function ez(){I5.clear(),fZ=null,sT=null,gZ=null}function $q($){let Z={debug:$.debug===!0,middleware:($.middleware??[]).map((Y)=>({name:Y.name,timing:Y.timing,handler:String(Y.handler)})),customDirectives:($.customDirectives??[]).map((Y)=>({name:Y.name,hasEndTag:Y.hasEndTag===!0,handler:String(Y.handler)}))};return new Bun.CryptoHasher("sha1").update(JSON.stringify(Z)).digest("hex")}async function hZ($,Z){try{if(!Z.cachePath)return null;let Y=m7.resolve(Z.cachePath),X=m7.join(Y,`${p7($)}.html`),J=m7.join(Y,`${p7($)}.meta.json`);if(!await e(X)||!await e(J))return null;let Q=await Bun.file(J).text(),G=JSON.parse(Q);if(G.cacheVersion!==Z.cacheVersion)return null;if(G.optionsSignature!==$q(Z))return null;if((await r$.promises.stat($)).mtime.getTime()>G.mtime)return null;for(let W of G.dependencies)if(await e(W)){if((await r$.promises.stat(W)).mtime.getTime()>G.mtime)return null}else return null;return await Bun.file(X).text()}catch(Y){return console.warn(`Cache error for ${$}:`,Y),null}}async function dZ($,Z,Y,X){try{if(!X.cachePath)return;let J=m7.resolve(X.cachePath);await r$.promises.mkdir(J,{recursive:!0});let Q=m7.join(J,`${p7($)}.html`),G=m7.join(J,`${p7($)}.meta.json`),K=await r$.promises.stat($);await Bun.write(Q,Z);let W={sourcePath:$,mtime:K.mtime.getTime(),dependencies:Array.from(Y),cacheVersion:X.cacheVersion,optionsSignature:$q(X),generatedAt:Date.now()};await Bun.write(G,JSON.stringify(W,null,2)),f9.set($,{output:Z,mtime:K.mtime.getTime(),dependencies:Y})}catch(J){console.warn(`Failed to cache template ${$}:`,J)}}function p7($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,rT)}var f9,I5,fZ=null,sT=null,rz=null,gZ=null,rT=16;var E5=k(()=>{A0();f9=new Map,I5=new Map});function Zq($){if($.includes("window.StacksBrowser")||$.includes("StacksBrowser ="))return $;let Z=/<script\b(?![^>]*\bserver\b)[^>]*>([\s\S]*?)<\/script>/gi,Y="",X;while((X=Z.exec($))!==null)Y+=X[1]+`
|
|
9587
9587
|
`;let J=/\{\{([\s\S]*?)\}\}/g;while((X=J.exec($))!==null)Y+=X[1]+`
|
|
9588
9588
|
`;if(!Y.trim())return $;let G=["browserQuery","BrowserQueryBuilder","configureBrowser","createBrowserModel"].some((z)=>{return new RegExp(`\\b${z}\\b`).test(Y)}),K=new Set(["Promise","Object","Array","Map","Set","Date","Error","JSON","Math","Number","String","RegExp","Symbol","WeakMap","WeakSet","Proxy","Reflect","Intl","URL","URLSearchParams","FormData","Headers","Request","Response","AbortController","EventTarget","Element","Document","Node","Window","Console","Storage","Navigator","Blob","File","FileReader","HTMLElement","SVGElement","Event","CustomEvent","DOMParser","XMLSerializer","WebSocket","Worker","SharedWorker","IntersectionObserver","MutationObserver","ResizeObserver","PerformanceObserver","Notification","Bun","Buffer","Process"]),W=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,U,B=!1;while((U=W.exec(Y))!==null)if(!K.has(U[1])){B=!0;break}if(!G&&!B)return $;let _=`<script type="module">
|
|
9589
9589
|
// STX: Auto-load @stacksjs/browser (auto-initializes API and loads models)
|
|
@@ -9620,7 +9620,7 @@ if(window.stx)window.stx._latestSetup=${G};
|
|
|
9620
9620
|
`)Q++;return!0}if(Z[Q]==="/"&&Z[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Z[Q]==="*"&&Z[Q+1]==="/"))Q++;return Q+=2,!0}return!1},q=()=>{if(J!==0)return;let j=Z.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(j){let V=j[2];if(!X.has(V))Y.push(V),X.add(V);return}let H=Z.slice(Q).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(H){H[1].split(",").forEach((V)=>{let N=V.trim();if(!N)return;let A=N.indexOf(":"),R=(A>=0?N.slice(A+1).trim():N).split(/[\s=]/)[0];if(R&&!X.has(R))Y.push(R),X.add(R)});return}let L=Z.slice(Q).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(L){L[1].split(",").forEach((V)=>{let N=V.trim().replace(/^\.\.\./,"");if(!N)return;let A=N.split(/[\s=]/)[0];if(A&&!X.has(A))Y.push(A),X.add(A)});return}let F=Z.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(F){let V=F[1];if(!X.has(V))Y.push(V),X.add(V);return}let O=Z.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let V=O[1];if(!X.has(V))Y.push(V),X.add(V)}};while(Q<G){if(z())continue;if(Z[Q]==="'"||Z[Q]==='"'){B(Z[Q]),K=Z[Q-1];continue}if(Z[Q]==="`"){_(),K="`";continue}if(Z[Q]==="/"&&Z[Q+1]!=="/"&&Z[Q+1]!=="*"&&U()){W(),K="/";continue}if(Z[Q]==="{"){J++,K="{",Q++;continue}if(Z[Q]==="}"){J--,K="}",Q++;continue}if(J===0&&/[a-z]/i.test(Z[Q])&&(Q===0||/\s|[;{}()]/.test(Z[Q-1])))q();if(!/\s/.test(Z[Q]))K=Z[Q];Q++}return Y.join(", ")}async function m9($,Z,Y,X){if(!pZ($))return $;let J=$;if(Z.skipSignalsRuntime)return J;let{output:Q,setupCode:G}=await Uq(J,Y,X);if(J=Q,J=await Yq(J,Z),J=Zq(J),G)if(J.includes("</head>"))J=J.replace("</head>",`${G}
|
|
9621
9621
|
</head>`);else if(J.includes("<body"))J=J.replace(/<body([^>]*)>/,`<body$1>
|
|
9622
9622
|
${G}`);else J=J+`
|
|
9623
|
-
`+G;let W=J.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),U=W&&/data-stx/.test(W[1]);if(!G&&!U&&W&&!/data-stx-auto/.test(W[1])){let B=/<body[^>]*>/i,_=/<(script|style)\b[\s\S]*?<\/\1>/gi,z=[],q;while((q=_.exec(J))!==null)z.push([q.index,q.index+q[0].length]);let j=0,H=-1;while(j<J.length){B.lastIndex=j;let L=B.exec(J.slice(j));if(!L)break;let F=j+L.index;if(!z.some(([V,N])=>F>=V&&F<N)){H=F;break}j=F+L[0].length}if(H!==-1){let L=J.slice(0,H),F=J.slice(H).replace(B,(O)=>O.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));J=L+F}}return J}var oT=0,uZ,Gq,Jq,g9,XI;var p9=k(()=>{R5();Q6();
|
|
9623
|
+
`+G;let W=J.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),U=W&&/data-stx/.test(W[1]);if(!G&&!U&&W&&!/data-stx-auto/.test(W[1])){let B=/<body[^>]*>/i,_=/<(script|style)\b[\s\S]*?<\/\1>/gi,z=[],q;while((q=_.exec(J))!==null)z.push([q.index,q.index+q[0].length]);let j=0,H=-1;while(j<J.length){B.lastIndex=j;let L=B.exec(J.slice(j));if(!L)break;let F=j+L.index;if(!z.some(([V,N])=>F>=V&&F<N)){H=F;break}j=F+L[0].length}if(H!==-1){let L=J.slice(0,H),F=J.slice(H).replace(B,(O)=>O.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));J=L+F}}return J}var oT=0,uZ,Gq,Jq,g9,XI;var p9=k(()=>{R5();Q6();A0();uZ=/<script\b([^>]*)>/gi,Gq=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;Jq=new Set(["true","false","null","undefined","NaN","Infinity","typeof","instanceof","in","of","new","void","delete","this","Math","JSON","Date","Number","String","Boolean","Array","Object","RegExp","Map","Set","Symbol","parseInt","parseFloat","isNaN","isFinite","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","window","document","console"]);g9=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);XI=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import l7 from"path";function zq($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function qq($,Z,Y){try{let X;if($.startsWith("/")){let J=Z;for(let Q=0;Q<5;Q++){let G=l7.join(J,$);if(await Bun.file(G).exists())return G;J=l7.dirname(J)}X=l7.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))X=l7.resolve(Z,$);else X=l7.resolve(Z,$);if(await Bun.file(X).exists())return X;return null}catch{return null}}async function jq($,Z,Y){let X=$,J=l7.dirname(Z),Q=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=Q.exec(X))!==null){let[U,B,_,z]=G;if(zq(_))continue;let q=await qq(_,J,Z);if(q)try{let j=await Bun.file(q).text();if(Y.add(q),_.endsWith(".ts")||_.endsWith(".tsx")){let L=await Bun.build({entrypoints:[q],target:"browser",minify:!1,define:T1()});if(L.outputs.length>0)j=await L.outputs[0].text()}let H=`<script>
|
|
9624
9624
|
// Source: ${_}
|
|
9625
9625
|
${j}
|
|
9626
9626
|
</script>`;X=X.replace(U,H),Q.lastIndex=0}catch(j){}}let K=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,W;while((W=K.exec(X))!==null){let[U,B,_,z]=W,q=B+z;if(zq(_))continue;if(/rel=["']stylesheet["']/.test(q)||_.endsWith(".css")){let H=await qq(_,J,Z);if(H)try{let L=await Bun.file(H).text();Y.add(H);let F=`<style>
|
|
@@ -13493,21 +13493,21 @@ ${g}`);if(/<html\b[^>]*>/i.test(m))return m.replace(/(<html\b[^>]*>)/i,`$1
|
|
|
13493
13493
|
${g}
|
|
13494
13494
|
</head>`);return m},{renderHead:s,getHead:u}=await Promise.resolve().then(() => (f$(),$Z)),y=Z.__stx_runtime_head,h=y&&(y.title||y.meta?.length||y.link?.length)?y:u();if(h.title||h.meta?.length||h.link?.length){let m=s(h);if(m)Q=x(Q,m)}if(S.headContent)Q=x(Q,S.headContent);if(G.csp?.enabled&&G.csp.addMetaTag)Q=F2(Q,G.csp,Z);if(G.analytics?.enabled)Q=sY(Q,G);if(G.heatmap?.enabled)Q=bX(Q,G);if(G.pwa?.enabled&&G.pwa.autoInject!==!1){let{injectPwaTags:m}=await Promise.resolve().then(() => (lj(),cj));Q=m(Q,G)}let p=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(Q),n=/\bSTX\.\w+/.test(Q),r=/window\.STX\s*=/.test(Q);if(p&&n&&!r){let g=`<script data-stx-scoped>
|
|
13495
13495
|
${LB()}
|
|
13496
|
-
</script>`;if(Q.includes("</head>")){let c=Q.indexOf("</head>"),l=Q.slice(0,c).indexOf("<script");if(l!==-1){let Q0=Q.slice(0,l),
|
|
13497
|
-
`+
|
|
13496
|
+
</script>`;if(Q.includes("</head>")){let c=Q.indexOf("</head>"),l=Q.slice(0,c).indexOf("<script");if(l!==-1){let Q0=Q.slice(0,l),R0=Q.slice(l);Q=Q0+g+`
|
|
13497
|
+
`+R0}else Q=Q.replace("</head>",`${g}
|
|
13498
13498
|
</head>`)}else if(Q.includes("<body"))Q=Q.replace(/<body([^>]*)>/,`<body$1>
|
|
13499
13499
|
${g}`);else Q=g+`
|
|
13500
|
-
`+Q}{let m=/<script\s+server\b[^>]*>/gi,g,c=[];while((g=m.exec(Q))!==null){let a=g.index+g[0].length,l=NE(Q,a);if(l===-1)continue;let Q0=l+9;while(Q0<Q.length&&/\s/.test(Q[Q0]))Q0++;c.push({start:g.index,end:Q0}),m.lastIndex=Q0}for(let a=c.length-1;a>=0;a--){let{start:l,end:Q0}=c[a];Q=Q.substring(0,l)+Q.substring(Q0)}}let
|
|
13500
|
+
`+Q}{let m=/<script\s+server\b[^>]*>/gi,g,c=[];while((g=m.exec(Q))!==null){let a=g.index+g[0].length,l=NE(Q,a);if(l===-1)continue;let Q0=l+9;while(Q0<Q.length&&/\s/.test(Q[Q0]))Q0++;c.push({start:g.index,end:Q0}),m.lastIndex=Q0}for(let a=c.length-1;a>=0;a--){let{start:l,end:Q0}=c[a];Q=Q.substring(0,l)+Q.substring(Q0)}}let W0=H6(Q,Y);if(W0.hasScoped)Q=W0.html;let Z0=Z.__stx_event_bindings||[],V0=!1,M0=[],v=/\s:[a-z][\w.-]*\s*=/.test(Q),{scanScriptTags:d}=await Promise.resolve().then(() => (p9(),_q));for(let m of d(Q,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))M0.push({match:m.fullMatch,attrs:m.attrs,content:m.body});for(let{match:m,attrs:g,content:c}of M0){V0=!0;let a=c;D6(c,Y,X.strict);let l=await t$(c,{eventBindings:Z0,attrs:g,hasColonDirectives:v,templateContent:$,filePath:Y,projectRoot:process.cwd(),production:X.buildMode==="compile",serverData:b});Q=Q.replace(m,()=>l)}if(V0)Z.__stx_event_bindings=[];return Q}var k5="<!--PARENT_CONTENT_PLACEHOLDER-->";var L1=k(()=>{n1();e3();D3();FB();X2();rY();Y8();P3();Q2();R5();PB();k7();r8();N2();eB();w2();O1();f$();c0();T2();x2();d7();bz();wZ();Q8();E9();O5();yz();y8();A0();vz();D9();S9();C9();DZ();p9();O9();Hq();l9();i9();d0();u2();l9();i9()});function rj($){let Z=[],Y=[];return SE($,Z),bE($,Z,Y),CE($,Y),PE($,Z),{valid:Z.length===0,errors:Z,warnings:Y}}function SE($,Z){let Y=($.match(/\{\{/g)||[]).length,X=($.match(/\}\}/g)||[]).length;if(Y!==X)Z.push({type:"expression",message:`Unclosed expression brackets: found ${Y} opening '{{' and ${X} closing '}}'`,suggestion:"Ensure every {{ has a matching }}"})}function bE($,Z,Y){for(let X of EE){let J=new RegExp(`${X.open}(?:\\s|\\()`,"g"),Q=new RegExp(X.close,"g"),G=($.match(J)||[]).length,K=($.match(Q)||[]).length;if(X.altClose){let W=new RegExp(X.altClose,"g");K+=($.match(W)||[]).length}if(G>K)Z.push({type:"directive",message:`Unclosed @${X.name} directive: found ${G} opening and ${K} closing`,suggestion:`Add ${G-K} missing ${X.close} tag(s)`});else if(K>G)Y.push({type:"directive",message:`Extra ${X.close} found: ${K-G} more closing than opening`,suggestion:`Check for orphaned ${X.close} tags`})}}function CE($,Z){for(let Y of DE)if(Y.pattern.test($))Z.push({type:"syntax",message:Y.message,suggestion:Y.suggestion})}function PE($,Z){for(let Y of kE)if(Y.pattern.test($))Z.push({type:"expression",message:`Security warning: ${Y.message}`,suggestion:"Remove dangerous code from template expressions"})}function oj($,Z){let Y=$.slice(0,Z).split(`
|
|
13501
13501
|
`);return{line:Y.length,column:Y[Y.length-1].length+1}}function aj($,Z,Y){let X=[];switch($){case"if":case"elseif":case"unless":if(Y.length===0)X.push({type:"syntax",message:`@${$} requires a condition`,suggestion:`Use @${$}(condition)`});break;case"foreach":if(Y.length===0||!Y[0].includes(" as "))X.push({type:"syntax",message:'@foreach requires "items as item" syntax',suggestion:"Use @foreach(items as item) or @foreach(items as key => value)"});break;case"for":if(Y.length===0)X.push({type:"syntax",message:"@for requires loop parameters",suggestion:"Use @for(let i = 0; i < 10; i++)"});break;case"switch":if(Y.length===0)X.push({type:"syntax",message:"@switch requires an expression",suggestion:"Use @switch(expression)"});break;case"case":if(Y.length===0)X.push({type:"syntax",message:"@case requires a value",suggestion:"Use @case(value)"});break;case"include":case"extends":case"component":if(Y.length===0)X.push({type:"syntax",message:`@${$} requires a path`,suggestion:`Use @${$}('path/to/template')`});break}return X}function tj($){return/@[a-z]+/i.test($)||/\{\{/.test($)}function ej($){let Z=$.matchAll(/@([a-z]+)/gi),Y=new Set;for(let X of Z){let J=X[1].toLowerCase();if(!J.startsWith("end"))Y.add(J)}return Array.from(Y)}var EE,DE,kE;var $H=k(()=>{EE=[{open:"@if",close:"@endif",name:"if"},{open:"@unless",close:"@endunless",name:"unless"},{open:"@foreach",close:"@endforeach",name:"foreach"},{open:"@for",close:"@endfor",name:"for"},{open:"@while",close:"@endwhile",name:"while"},{open:"@forelse",close:"@endforelse",name:"forelse"},{open:"@switch",close:"@endswitch",name:"switch"},{open:"@isset",close:"@endisset",name:"isset"},{open:"@empty",close:"@endempty",name:"empty"},{open:"@auth",close:"@endauth",name:"auth"},{open:"@guest",close:"@endguest",name:"guest"},{open:"@can",close:"@endcan",name:"can"},{open:"@cannot",close:"@endcannot",name:"cannot"},{open:"@section",close:"@endsection",name:"section",altClose:"@show"},{open:"@push",close:"@endpush",name:"push"},{open:"@prepend",close:"@endprepend",name:"prepend"},{open:"@once",close:"@endonce",name:"once"},{open:"@markdown",close:"@endmarkdown",name:"markdown"},{open:"@component",close:"@endcomponent",name:"component"}],DE=[{pattern:/@if\s*[^(]/,message:"@if directive missing parentheses",suggestion:"Use @if(condition)"},{pattern:/@foreach\s*[^(]/,message:"@foreach directive missing parentheses",suggestion:"Use @foreach(items as item)"},{pattern:/@foreach\([^)]*\)\s*[^@\n<]/,message:"@foreach may have content on same line",suggestion:"Put content on new line after @foreach()"},{pattern:/@include\s*[^(]/,message:"@include directive missing parentheses",suggestion:"Use @include('partial-name')"},{pattern:/@extends\s*[^(]/,message:"@extends directive missing parentheses",suggestion:"Use @extends('layout-name') or @layout('layout-name')"},{pattern:/@layout\s*[^(]/,message:"@layout directive missing parentheses",suggestion:"Use @layout('layout-name')"}],kE=[{pattern:/\{\{\s*constructor\s*\}\}/,message:"Attempting to access constructor property"},{pattern:/\{\{\s*__proto__\s*\}\}/,message:"Attempting to access __proto__ property"},{pattern:/\{\{\s*eval\s*\(/,message:"Attempting to use eval in expression"}]});var QH={};t(QH,{renderSlot:()=>LQ,processSlots:()=>FQ,parseSlots:()=>OQ,parseSlotElement:()=>ZH,extractSlotContent:()=>XH,applySlots:()=>JH});function yE($,Z){let Y=1,X=Z,J="<template",Q="</template";while(X<$.length&&Y>0){let G=$.indexOf("<",X);if(G===-1)break;if(X=G,$.startsWith(J,X)&&(X+J.length>=$.length||/[\s>\/]/.test($[X+J.length]))){Y++,X+=J.length;continue}if($.startsWith(Q,X)){let K=$.indexOf(">",X+Q.length);if(K!==-1){if(Y--,Y===0)return K+1;X=K+1;continue}}X++}return Y===0?X:-1}function OQ($){let Z={default:"",named:new Map},Y=$,X=/<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>/gi,J=[],Q;while((Q=X.exec($))!==null){let[B,_,z,q,j]=Q,H=_||z||q,L=Q.index+B.length,F=yE($,L);if(F!==-1){let O=$.slice(L,F-11).trim();J.push({start:Q.index,end:F,slotName:H,content:O,propsBinding:j||void 0}),Z.named.set(H,{name:H,content:O,propsBinding:j||void 0})}}J.sort((B,_)=>_.start-B.start);for(let B of J)Y=Y.slice(0,B.start)+Y.slice(B.end);let G=[],K=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,W;while((W=K.exec(Y))!==null){let[B,_,z,q,j,H]=W,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+B.length,slotName:q,element:V})}let U=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((W=U.exec(Y))!==null){let[B,_,z,q,j]=W,H=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=(H+L).trim(),O=`<${_}${F?" "+F:""} />`;G.push({start:W.index,end:W.index+B.length,slotName:q,element:O})}G.sort((B,_)=>_.start-B.start);for(let B of G){let _=Z.named.get(B.slotName);if(_)_.content+=B.element;else Z.named.set(B.slotName,{name:B.slotName,content:B.element});Y=Y.slice(0,B.start)+Y.slice(B.end)}return Z.default=Y.trim(),Z}function ZH($){let Z=$.match(/name\s*=\s*["']([^"']+)["']/),Y=Z?Z[1]:"",X={},J=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,Q;while((Q=J.exec($))!==null)X[Q[1]]=Q[2];let G=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),K=G?G[1].trim():"";return{name:Y,props:X,defaultContent:K}}async function LQ($,Z,Y,X){if(!$)return Y;let J=$.content;if($.propsBinding&&Object.keys(Z).length>0){let Q=$.propsBinding.trim(),G={...X};if(Q.startsWith("{")&&Q.endsWith("}")){let K=Q.slice(1,-1).split(",").map((W)=>W.trim()).filter(Boolean);for(let W of K){let[U,B]=W.split(":").map((z)=>z.trim()),_=B||U;if(Z[U]!==void 0)G[_]=Z[U]}}else G[Q]=Z;J=xE(J,G)}return J}function xE($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Y,X)=>{try{let J=X.trim(),Q=YH(J,Z);return E0(String(Q??""))}catch{return`{{ ${X} }}`}})}function YH($,Z){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let X=$.split("."),J=Z;for(let Q of X)if(J&&typeof J==="object"&&Q in J)J=J[Q];else return;return J}let Y=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Y){let[,X,J,Q]=Y,G=Z[X],K=parseInt(Q,10);if(typeof G==="number")switch(J){case"+":return G+K;case"-":return G-K;case"*":return G*K;case"/":return G/K}}try{if(!_0($))return;return z0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function FQ($,Z,Y){let X=$;X=await vE(X,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,W,U)=>{let B=Z.named.get(K),_=U?.trim()||"",z=W||"",q={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,H;while((H=j.exec(z))!==null){let L=H[1],F=H[2];q[L]=YH(F,Y)}return await LQ(B,q,_,Y)});let Q=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return X=X.replace(Q,(G,K)=>{if(G.includes("name="))return G;let W=K?.trim()||"";return Z.default||W}),X}async function vE($,Z,Y){let X=[],J=[];$.replace(Z,(K,...W)=>{let U=W[W.length-2];return J.push({match:K,index:U}),X.push(Y(K,...W.slice(0,-2))),K});let Q=await Promise.all(X),G=$;for(let K=J.length-1;K>=0;K--){let{match:W,index:U}=J[K];G=G.slice(0,U)+Q[K]+G.slice(U+W.length)}return G}function XH($){let Z=OQ($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function JH($,Z,Y,X){return await FQ($,{default:Z,named:Y},X)}var VQ=k(()=>{c0();d0()});import fE from"fs";import o from"path";function GH($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function KH($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function l$($){return!KH($)}function i$($){try{let Z=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");Z=Z.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Y=[];Z=Z.replace(/\{!![\s\S]*?!!\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{\{[\s\S]*?\}\}\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{[\s\S]*?\}\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`});let J=new Bun.Transpiler({loader:"ts",target:"browser",define:T1()}).transformSync(Z);for(let Q=0;Q<Y.length;Q++)J=J.replace(`"__STX_EXPR_${Q}__"`,Y[Q]),J=J.replace(`'__STX_EXPR_${Q}__'`,Y[Q]);return J}catch(Z){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",Z);return $}}function hE($){let Z=[],Y=new Set,X=0,J=0,Q=$.length,G=(B)=>{J++;while(J<Q){if($[J]==="\\"){J+=2;continue}if($[J]===B){J++;return}J++}},K=()=>{J++;while(J<Q){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++;return}if($[J]==="$"&&$[J+1]==="{"){J+=2;let B=1;while(J<Q&&B>0)if($[J]==="{")B++,J++;else if($[J]==="}")B--,J++;else if($[J]==="'"||$[J]==='"')G($[J]);else if($[J]==="`")K();else J++;continue}J++}},W=()=>{if($[J]==="/"&&$[J+1]==="/"){while(J<Q&&$[J]!==`
|
|
13502
|
-
`)J++;return!0}if($[J]==="/"&&$[J+1]==="*"){J+=2;while(J<Q-1&&!($[J]==="*"&&$[J+1]==="/"))J++;return J+=2,!0}return!1},U=()=>{if(X!==0)return;let B=$.slice(J).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(B){let j=B[2].split(",").map((H)=>{let L=H.trim().split(":");return L[L.length-1].trim()});for(let H of j)if(H&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(H)&&!Y.has(H))Z.push(H),Y.add(H);return}let _=$.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(_){let j=_[2];if(!Y.has(j))Z.push(j),Y.add(j);return}let z=$.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let j=z[1];if(!Y.has(j))Z.push(j),Y.add(j);return}let q=$.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(q){let j=q[1];if(!Y.has(j))Z.push(j),Y.add(j)}};while(J<Q){if(W())continue;if($[J]==="'"||$[J]==='"'){G($[J]);continue}if($[J]==="`"){K();continue}if($[J]==="{"){X++,J++;continue}if($[J]==="}"){X--,J++;continue}if(X===0&&/[a-z]/i.test($[J])&&(J===0||/\s|[;{}()]/.test($[J-1])))U();J++}return Z}function dE($){let Z=[],Y=0,X=0,J=null;for(let Q=0;Q<$.length;Q++){let G=$[Q];if(J){if(G==="\\"){Q++;continue}if(G===J)J=null;continue}if(G==='"'||G==="'"||G==="`"){J=G;continue}if(G==="("||G==="["||G==="{")Y++;else if(G===")"||G==="]"||G==="}")Y--;else if(G===","&&Y===0)Z.push($.slice(X,Q)),X=Q+1}if(X<$.length)Z.push($.slice(X));return Z}function uE($){let Z=0,Y=null;for(let X=0;X<$.length;X++){let J=$[X];if(Y){if(J==="\\"){X++;continue}if(J===Y)Y=null;continue}if(J==='"'||J==="'"||J==="`"){Y=J;continue}if(J==="("||J==="["||J==="{")Z++;else if(J===")"||J==="]"||J==="}")Z--;else if(J==="="&&Z===0){let Q=$[X-1],G=$[X+1];if(Q==="!"||Q==="<"||Q===">"||Q==="=")continue;if(G==="="||G===">")continue;return X}}return-1}function mE($,Z){try{let Y=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec($);if(!Y)return;let X=Y.index-1;while(X>=0&&/\s/.test($[X]))X--;if($[X]!=="}")return;let J=X,Q=0,G=-1;for(;X>=0;X--){let W=$[X];if(W==="}")Q++;else if(W==="{"){if(Q--,Q===0){G=X;break}}}if(G===-1)return;let K=$.slice(G+1,J);for(let W of dE(K)){let U=W.trim();if(!U||U.startsWith("..."))continue;let B=uE(U);if(B===-1)continue;let _=U.slice(0,B).trim();if(!/^[A-Z_$][\w$]*$/i.test(_))continue;if(Z[_]!==void 0)continue;let z=U.slice(B+1).trim();if(!z)continue;try{let q=Object.keys(Z),j=Function(...q,`"use strict"; return (${z});`);Z[_]=j(...q.map((H)=>Z[H]))}catch{}}}catch{}}async function L9($,Z,Y,X,J){let Q=$.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=Y.__importedComponents;if(W){for(let L of[Q,Q.toLowerCase(),G(Q),K(Q)])if(W.has(L))return!0}let U=[...new Set([`${Q}.stx`,`${G(Q)}.stx`,`${K(Q)}.stx`])],B=typeof J.root==="string"?o.resolve(J.root):void 0,_=B??o.dirname(X),z=[],q=(L)=>{if(L&&!z.includes(L))z.push(L)},j=Y.__originalFilePath;if(j)q(o.join(o.dirname(j),"components"));q(Z),q(o.join(o.dirname(X),"components")),q(J.componentsDir);let H=J._pluginComponentDirs;if(Array.isArray(H))for(let L of H)q(typeof L==="string"?L:null);if(B)q(o.resolve(B,"resources/views/components")),q(o.resolve(B,"resources/components")),q(o.resolve(B,"src/components")),q(o.resolve(B,"components"));if(Q.startsWith("./")||Q.startsWith("../"))return e(o.resolve(o.dirname(X),`${Q}.stx`));for(let L of z){let F=o.isAbsolute(L)?L:o.resolve(_,L);for(let O of U)if(await e(o.join(F,O)))return!0}return!1}function WH($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}async function D1($,Z,Y,X,J,Q,G,K=new Set,W){let{extractVariables:U}=await Promise.resolve().then(() => (p$(),LZ)),B=K??new Set;if(B.has($))return`[Circular component reference: ${$}]`;let _=new Set(B);_.add($);let z=typeof Z.client==="string"?Z.client.trim():"";if("client"in Z)delete Z.client;let q=z&&z!=="load"&&WH(z)?z:"";try{let j=(v)=>v.split("-").map((d)=>d.charAt(0).toUpperCase()+d.slice(1)).join(""),H=(v)=>v.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),L=$.endsWith(".stx")?$.slice(0,-4):$,F=null,O=J.__importedComponents;if(O){let v=[L,L.toLowerCase(),j(L),H(L)];for(let d of v)if(O.has(d)){F=O.get(d);break}}let V=[];if(!F){let v=[`${L}.stx`,`${j(L)}.stx`,`${H(L)}.stx`],d=[...new Set(v)],m=J.__originalFilePath,g=[];if(m){let
|
|
13502
|
+
`)J++;return!0}if($[J]==="/"&&$[J+1]==="*"){J+=2;while(J<Q-1&&!($[J]==="*"&&$[J+1]==="/"))J++;return J+=2,!0}return!1},U=()=>{if(X!==0)return;let B=$.slice(J).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(B){let j=B[2].split(",").map((H)=>{let L=H.trim().split(":");return L[L.length-1].trim()});for(let H of j)if(H&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(H)&&!Y.has(H))Z.push(H),Y.add(H);return}let _=$.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(_){let j=_[2];if(!Y.has(j))Z.push(j),Y.add(j);return}let z=$.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let j=z[1];if(!Y.has(j))Z.push(j),Y.add(j);return}let q=$.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(q){let j=q[1];if(!Y.has(j))Z.push(j),Y.add(j)}};while(J<Q){if(W())continue;if($[J]==="'"||$[J]==='"'){G($[J]);continue}if($[J]==="`"){K();continue}if($[J]==="{"){X++,J++;continue}if($[J]==="}"){X--,J++;continue}if(X===0&&/[a-z]/i.test($[J])&&(J===0||/\s|[;{}()]/.test($[J-1])))U();J++}return Z}function dE($){let Z=[],Y=0,X=0,J=null;for(let Q=0;Q<$.length;Q++){let G=$[Q];if(J){if(G==="\\"){Q++;continue}if(G===J)J=null;continue}if(G==='"'||G==="'"||G==="`"){J=G;continue}if(G==="("||G==="["||G==="{")Y++;else if(G===")"||G==="]"||G==="}")Y--;else if(G===","&&Y===0)Z.push($.slice(X,Q)),X=Q+1}if(X<$.length)Z.push($.slice(X));return Z}function uE($){let Z=0,Y=null;for(let X=0;X<$.length;X++){let J=$[X];if(Y){if(J==="\\"){X++;continue}if(J===Y)Y=null;continue}if(J==='"'||J==="'"||J==="`"){Y=J;continue}if(J==="("||J==="["||J==="{")Z++;else if(J===")"||J==="]"||J==="}")Z--;else if(J==="="&&Z===0){let Q=$[X-1],G=$[X+1];if(Q==="!"||Q==="<"||Q===">"||Q==="=")continue;if(G==="="||G===">")continue;return X}}return-1}function mE($,Z){try{let Y=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec($);if(!Y)return;let X=Y.index-1;while(X>=0&&/\s/.test($[X]))X--;if($[X]!=="}")return;let J=X,Q=0,G=-1;for(;X>=0;X--){let W=$[X];if(W==="}")Q++;else if(W==="{"){if(Q--,Q===0){G=X;break}}}if(G===-1)return;let K=$.slice(G+1,J);for(let W of dE(K)){let U=W.trim();if(!U||U.startsWith("..."))continue;let B=uE(U);if(B===-1)continue;let _=U.slice(0,B).trim();if(!/^[A-Z_$][\w$]*$/i.test(_))continue;if(Z[_]!==void 0)continue;let z=U.slice(B+1).trim();if(!z)continue;try{let q=Object.keys(Z),j=Function(...q,`"use strict"; return (${z});`);Z[_]=j(...q.map((H)=>Z[H]))}catch{}}}catch{}}async function L9($,Z,Y,X,J){let Q=$.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=Y.__importedComponents;if(W){for(let L of[Q,Q.toLowerCase(),G(Q),K(Q)])if(W.has(L))return!0}let U=[...new Set([`${Q}.stx`,`${G(Q)}.stx`,`${K(Q)}.stx`])],B=typeof J.root==="string"?o.resolve(J.root):void 0,_=B??o.dirname(X),z=[],q=(L)=>{if(L&&!z.includes(L))z.push(L)},j=Y.__originalFilePath;if(j)q(o.join(o.dirname(j),"components"));q(Z),q(o.join(o.dirname(X),"components")),q(J.componentsDir);let H=J._pluginComponentDirs;if(Array.isArray(H))for(let L of H)q(typeof L==="string"?L:null);if(B)q(o.resolve(B,"resources/views/components")),q(o.resolve(B,"resources/components")),q(o.resolve(B,"src/components")),q(o.resolve(B,"components"));if(Q.startsWith("./")||Q.startsWith("../"))return e(o.resolve(o.dirname(X),`${Q}.stx`));for(let L of z){let F=o.isAbsolute(L)?L:o.resolve(_,L);for(let O of U)if(await e(o.join(F,O)))return!0}return!1}function WH($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}async function D1($,Z,Y,X,J,Q,G,K=new Set,W){let{extractVariables:U}=await Promise.resolve().then(() => (p$(),LZ)),B=K??new Set;if(B.has($))return`[Circular component reference: ${$}]`;let _=new Set(B);_.add($);let z=typeof Z.client==="string"?Z.client.trim():"";if("client"in Z)delete Z.client;let q=z&&z!=="load"&&WH(z)?z:"";try{let j=(v)=>v.split("-").map((d)=>d.charAt(0).toUpperCase()+d.slice(1)).join(""),H=(v)=>v.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),L=$.endsWith(".stx")?$.slice(0,-4):$,F=null,O=J.__importedComponents;if(O){let v=[L,L.toLowerCase(),j(L),H(L)];for(let d of v)if(O.has(d)){F=O.get(d);break}}let V=[];if(!F){let v=[`${L}.stx`,`${j(L)}.stx`,`${H(L)}.stx`],d=[...new Set(v)],m=J.__originalFilePath,g=[];if(m){let K0=o.join(o.dirname(m),"components");g.push(K0)}if(X)g.push(X);let c=o.join(o.dirname(Q),"components");if(!g.includes(c))g.push(c);if(G.componentsDir&&G.componentsDir!==X&&!g.includes(G.componentsDir))g.push(G.componentsDir);let a=G._pluginComponentDirs;if(Array.isArray(a)){for(let K0 of a)if(typeof K0==="string"&&!g.includes(K0))g.push(K0)}let l=typeof G.root==="string"?o.resolve(G.root):void 0,Q0=l??o.dirname(Q),R0=[];if(l)R0.push(o.resolve(l,"resources/views/components")),R0.push(o.resolve(l,"resources/components")),R0.push(o.resolve(l,"src/components")),R0.push(o.resolve(l,"components"));R0.push(o.resolve(import.meta.dir,"components"));for(let K0 of R0)if(!g.includes(K0))g.push(K0);let O0=[...new Set(g.map((K0)=>{if(!K0)return K0;return o.isAbsolute(K0)?K0:o.resolve(Q0,K0)}))];if(g.length=0,g.push(...O0),L.startsWith("./")||L.startsWith("../"))F=o.resolve(o.dirname(Q),`${L}.stx`),V.push(F);else for(let K0 of g){if(!K0)continue;for(let o0 of d){let p0=o.join(K0,o0);if(V.push(p0),await e(p0)){F=p0;break}}if(F)break;if(!F)try{let o0=await import("fs");if(!o0.statSync(K0,{throwIfNoEntry:!1})?.isDirectory())continue;let u5=8,G0=[{path:K0,depth:0}];while(G0.length>0&&!F){let k0=G0.pop();if(k0.depth>=u5)continue;let H4;try{H4=o0.readdirSync(k0.path,{withFileTypes:!0})}catch{continue}for(let k1 of H4){if(!k1.isDirectory())continue;if(k1.name==="node_modules"||k1.name.startsWith("."))continue;let N$=o.join(k0.path,k1.name);for(let N0 of d){let $1=o.join(N$,N0);if(V.push($1),await e($1)){F=$1;break}}if(F)break;G0.push({path:N$,depth:k0.depth+1})}}}catch{}if(F)break}}if(!F||!await e(F)){let v=V.length>0?`
|
|
13503
13503
|
Searched paths:
|
|
13504
13504
|
${V.map((d)=>` - ${d}`).join(`
|
|
13505
13505
|
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${v}`}W.add(F);let N;if(C6.has(F))N=C6.get(F);else try{N=await Bun.file(F).text(),C6.set(F,N)}catch(v){return`[Error loading component: ${v instanceof Error?v.message:String(v)}]`}let A=new Set(["__originalFilePath","__importedComponents"]),w={};for(let[v,d]of Object.entries(J))if(!v.startsWith("__")||A.has(v))w[v]=d;let R={...w,...Z,props:Z,slot:Y,__processedComponents:_,__sections:{}};mE(N,R);let M=N,T=M.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(T)M=T[1].trim();let E=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,D=[...N.matchAll(E)],S=[];for(let v of D){let d=v[1]||"",m=v[2]||"",g=d.includes("server");if(l$(d)&&m.trim())m=i$(m);if(g&&m)try{await U(m,R,F)}catch(a){}if(!g){let a=m.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,"");if(a.includes("{{")&&a.includes("}}"))a=G1(a,R,F);let l=d.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");S.push(`<script${l}>${a}</script>`)}}let C=N.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),P=C?C[1]:"",b=C?C[2]:"",x="",s=P&&/\bscoped\b/i.test(P);if(C)x=`<style${P}>${b}</style>`;let u=M;if(u=u.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),C)u=u.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let v=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,d=[];if(u=u.replace(v,(m,g)=>{let c=g.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(c)d.push(`<style${c[1]}>${c[2]}</style>`);return""}),u=u.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),d.length>0)x=`${x}${d.join(`
|
|
13506
|
-
`)}`}if(Y&&u.includes("{{ text || slot }}"))u=u.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Y);let{extractSlotContent:y,applySlots:h}=await Promise.resolve().then(() => (VQ(),QH)),{defaultSlot:p,namedSlots:n}=y(Y);u=await h(u,p||Y,n,R);for(let[v,d]of Object.entries(R))if(typeof d==="string"){if(d.includes("<")&&d.includes(">")||d.includes("<")||d.includes(""")){let m=$8(d);R[v]=m}}let r=S.some((v)=>/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test(v)),
|
|
13506
|
+
`)}`}if(Y&&u.includes("{{ text || slot }}"))u=u.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Y);let{extractSlotContent:y,applySlots:h}=await Promise.resolve().then(() => (VQ(),QH)),{defaultSlot:p,namedSlots:n}=y(Y);u=await h(u,p||Y,n,R);for(let[v,d]of Object.entries(R))if(typeof d==="string"){if(d.includes("<")&&d.includes(">")||d.includes("<")||d.includes(""")){let m=$8(d);R[v]=m}}let r=S.some((v)=>/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test(v)),W0={...G,componentsDir:o.dirname(F),skipSignalsRuntime:!0,skipEventDirectives:r,defaultLayout:void 0};R.__stxProcessingDepth=(J.__stxProcessingDepth||0)+1;let Z0=await X0(u,R,F,W0,W),V0=`stx_${L.replace(/[^a-zA-Z0-9]/g,"_")}_${++gE}_${Math.random().toString(36).slice(2,8)}`,M0=Z0;if(r){let v="";if(Object.keys(Z).length>0)try{v=` data-stx-props="${GH(JSON.stringify(Z))}"`}catch{}let d=q?` stx-hydrate="${GH(q)}"`:"";if(M0=`<div data-stx-scope="${V0}"${v}${d}>${Z0}</div>`,M0=S.map((g)=>{let c=g.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!c)return g;let[,a,l]=c,Q0=J$(l),R0=`
|
|
13507
13507
|
(function() {
|
|
13508
13508
|
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;
|
|
13509
13509
|
const __scope = window.stx._scopes = window.stx._scopes || {};
|
|
13510
|
-
const __scopeVars = __scope['${
|
|
13510
|
+
const __scopeVars = __scope['${V0}'] = __scope['${V0}'] || {};
|
|
13511
13511
|
|
|
13512
13512
|
// Scope-specific lifecycle callbacks
|
|
13513
13513
|
__scopeVars.__mountCallbacks = __scopeVars.__mountCallbacks || [];
|
|
@@ -13520,20 +13520,20 @@ ${Q0}
|
|
|
13520
13520
|
// Register all defined signals and functions in this scope
|
|
13521
13521
|
const __localVars = {};
|
|
13522
13522
|
try {
|
|
13523
|
-
${hE(Q0).map((
|
|
13523
|
+
${hE(Q0).map((O0)=>`if (typeof ${O0} !== 'undefined') __localVars['${O0}'] = ${O0};`).join(`
|
|
13524
13524
|
`)}
|
|
13525
13525
|
}
|
|
13526
13526
|
catch (e) {}
|
|
13527
13527
|
Object.assign(__scopeVars, __localVars);
|
|
13528
|
-
})();`;if(q)return`<script type="stx/island" data-stx-island="${
|
|
13528
|
+
})();`;if(q)return`<script type="stx/island" data-stx-island="${V0}" data-stx-scoped${a}>${R0}</script>`;return`<script data-stx-scoped${a}>${R0}</script>`}).join(`
|
|
13529
13529
|
`)+`
|
|
13530
|
-
`+
|
|
13531
|
-
`+x}else{if(x)
|
|
13532
|
-
`+x;if(S.length>0){let v=R.__stx_event_bindings||[],d=a$(R),m=await Promise.all(S.map(async(g)=>{let c=g.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!c)return g;return await t$(c[1],{eventBindings:v,templateContent:
|
|
13530
|
+
`+M0,x)M0+=`
|
|
13531
|
+
`+x}else{if(x)M0+=`
|
|
13532
|
+
`+x;if(S.length>0){let v=R.__stx_event_bindings||[],d=a$(R),m=await Promise.all(S.map(async(g)=>{let c=g.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!c)return g;return await t$(c[1],{eventBindings:v,templateContent:M0,filePath:F,projectRoot:process.cwd(),serverData:d})}));M0+=`
|
|
13533
13533
|
`+m.join(`
|
|
13534
|
-
`),R.__stx_event_bindings=[]}}if(s){let v=H6(
|
|
13534
|
+
`),R.__stx_event_bindings=[]}}if(s){let v=H6(M0,F);if(v.hasScoped)M0=v.html}return M0}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{B.delete($)}}async function e($){return Bun.file($).exists()}function NQ($,Z){let Y=o.resolve(Z),X=o.resolve($),J=Y.endsWith(o.sep)?Y:Y+o.sep;if(X===Y||X.startsWith(J))return X;return null}async function $6($,Z,Y,X){let J=await pE($,Z,Y,X);if(J===null)return null;let Q=NQ(J,process.cwd());if(Q)return Q;let G=[Y.root,Y.layoutsDir,Y.componentsDir,Y.partialsDir,Y.pagesDir].filter((K)=>typeof K==="string"&&K.length>0);for(let K of G){let W=o.isAbsolute(K)?K:o.resolve(process.cwd(),K);if(NQ(J,W))return o.resolve(J)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${J} (template: ${$}, from: ${Z})`),null}async function pE($,Z,Y,X){if(Y.debug)console.log(`Resolving template path: ${$} from ${Z}`);let J=o.dirname(Z),Q=process.cwd();if($.startsWith("/")){let z=o.join(Q,$),q=NQ(z,Q);if(!q)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${Z})`),null;if(Y.debug)console.log(`Checking absolute path: ${q}`);if(await e(q)&&X)X.add(q);return q}let G=o.join(J,$);if(await e(G)){if(Y.debug)console.log(`Found direct path: ${G}`);if(X)X.add(G);return G}if(!$.endsWith(".stx")&&!$.endsWith(".jsx")&&!$.endsWith(".tsx"))for(let z of[".stx",".tsx",".jsx"]){let q=`${G}${z}`;if(await e(q)){if(Y.debug)console.log(`Found direct path with extension: ${q}`);if(X)X.add(q);return q}}let K="",W=o.resolve(J),U=process.cwd();for(let z=0;z<10;z++){let q=o.join(W,"layouts"),j=!1;try{j=fE.statSync(q,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){K=q;break}let H=o.dirname(W);if(H===W||H.length<U.length)break;W=H}if(K){let z=$.startsWith("layouts/")?$.slice(8):$,q=o.join(K,z);if(await e(q)){if(Y.debug)console.log(`Found in current layouts dir: ${q}`);if(X)X.add(q);return q}if(!z.endsWith(".stx")){let j=`${q}.stx`;if(await e(j)){if(Y.debug)console.log(`Found in current layouts dir with extension: ${j}`);if(X)X.add(j);return j}}}if(Y.layoutsDir){let z=o.isAbsolute(Y.layoutsDir)?Y.layoutsDir:o.resolve(process.cwd(),Y.layoutsDir),q=$.startsWith("layouts/")?$.slice(8):$,j=o.join(z,q);if(await e(j)){if(Y.debug)console.log(`Found in options.layoutsDir: ${j}`);if(X)X.add(j);return j}if(!$.endsWith(".stx")){let H=`${j}.stx`;if(await e(H)){if(Y.debug)console.log(`Found in options.layoutsDir with extension: ${H}`);if(X)X.add(H);return H}}}if($.startsWith("layouts/")||$.includes("/layouts/")){let z=$.split("layouts/"),q=o.join(Y.partialsDir||J,"layouts",z[1]);if(await e(q)){if(Y.debug)console.log(`Found in layouts path: ${q}`);if(X)X.add(q);return q}if(!q.endsWith(".stx")){let j=`${q}.stx`;if(await e(j)){if(Y.debug)console.log(`Found in layouts path with extension: ${j}`);if(X)X.add(j);return j}}}if(Y.partialsDir){if(K=o.join(Y.partialsDir,"layouts"),await e(K)){let z=o.join(K,$);if(await e(z)){if(Y.debug)console.log(`Found in partials layouts dir: ${z}`);if(X)X.add(z);return z}if(!$.endsWith(".stx")){let q=`${z}.stx`;if(await e(q)){if(Y.debug)console.log(`Found in partials layouts dir with extension: ${q}`);if(X)X.add(q);return q}}}}let B=Y.partialsDir||o.join(process.cwd(),"views"),_=o.join(B,$);if(await e(_)){if(Y.debug)console.log(`Found in views path: ${_}`);if(X)X.add(_);return _}if(!$.endsWith(".stx")){let z=`${_}.stx`;if(await e(z)){if(Y.debug)console.log(`Found in views path with extension: ${z}`);if(X)X.add(z);return z}}if(J.includes("temp")){let z=o.join(o.dirname(J),"layouts",$);if(await e(z)){if(Y.debug)console.log(`Found in temp layouts dir: ${z}`);if(X)X.add(z);return z}if(!$.endsWith(".stx")){let q=`${z}.stx`;if(await e(q)){if(Y.debug)console.log(`Found in temp layouts dir with extension: ${q}`);if(X)X.add(q);return q}}}if(Y.debug)console.warn(`Template not found after trying all paths: ${$} (referenced from ${Z})`);else console.warn(`Template not found: ${$} (referenced from ${Z})`);return null}function AQ($,Z,Y){let X=0,J="",Q="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
|
|
13535
13535
|
`),K=0;for(let W=0;W<G.length;W++)if(K+=G[W].length+1,K>=Z){X=W+1,J=G[W].trim();let U=Math.max(0,W-2),B=Math.min(G.length,W+3);Q=G.slice(U,B).map((_,z)=>{let q=U+z+1;return`${q===X?"> ":" "}${q}: ${_}`}).join(`
|
|
13536
|
-
`);break}}else if(Y){let G=$.indexOf(Y);if(G>=0)return AQ($,G)}}catch{}return{lineNumber:X,lineContent:J,context:Q}}function
|
|
13536
|
+
`);break}}else if(Y){let G=$.indexOf(Y);if(G>=0)return AQ($,G)}}catch{}return{lineNumber:X,lineContent:J,context:Q}}function F0($,Z,Y,X,J,Q){let{lineNumber:G,context:K}=AQ(X,J,Q),W=Y.split("/").pop(),U=0;if(typeof J==="number"&&J>=0&&X){let _=X.lastIndexOf(`
|
|
13537
13537
|
`,Math.max(0,J-1));U=J-(_+1)+1}let B="";if(G>0)B+=`
|
|
13538
13538
|
${Y}:${G}${U>0?`:${U}`:""}: ${$.toLowerCase()} error: ${Z}
|
|
13539
13539
|
`;if(B+=`
|
|
@@ -13546,7 +13546,7 @@ ${U0.yellow}${U0.bold}Message:${U0.reset} ${Z}
|
|
|
13546
13546
|
`,K)B+=`
|
|
13547
13547
|
${U0.blue}${U0.bold}Context:${U0.reset}
|
|
13548
13548
|
${U0.dim}${K}${U0.reset}
|
|
13549
|
-
`;return B}function e$(){C6.clear()}function cE(){return{size:C6.size,maxSize:500}}var C6,gE=0,U0;var
|
|
13549
|
+
`;return B}function e$(){C6.clear()}function cE(){return{size:C6.size,maxSize:500}}var C6,gE=0,U0;var A0=k(()=>{R5();c0();O5();L1();z5();DZ();$H();p$();C6=new C4(500);U0={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",yellow:"\x1B[33m",blue:"\x1B[34m",cyan:"\x1B[36m",gray:"\x1B[90m",bgRed:"\x1B[41m",bgYellow:"\x1B[43m"}});var Iz={};t(Iz,{renderVendorStyleTags:()=>RQ,processClientScript:()=>t$,generateServerDataBridge:()=>T6,extractBridgeData:()=>a$,extractAndStripCssImports:()=>wQ});import S5 from"path";import P6 from"fs";function iE($){if($.startsWith(".")||$.startsWith("/"))return null;if($.startsWith("@")){let Y=$.match(/^(@[^/]+\/[^/]+)(\/.*)?$/);if(!Y)return null;return{pkg:Y[1],subpath:Y[2]||""}}let Z=$.match(/^([^/]+)(\/.*)?$/);if(!Z)return null;return{pkg:Z[1],subpath:Z[2]||""}}function nE($,Z){let Y=Z;while(!0){let X=S5.join(Y,"node_modules",$,"package.json");if(P6.existsSync(X))return S5.dirname(X);let J=S5.dirname(Y);if(J===Y)return null;Y=J}}function sE($,Z){if(!$||typeof $!=="object")return null;let Y=(J)=>{if(typeof J==="string")return J;if(J&&typeof J==="object"){if(typeof J.import==="string")return J.import;if(typeof J.default==="string")return J.default;if(typeof J.import==="object")return Y(J.import);if(typeof J.default==="object")return Y(J.default)}return null};if(Object.prototype.hasOwnProperty.call($,Z))return Y($[Z]);let X=null;for(let J of Object.keys($)){let Q=J.indexOf("*");if(Q===-1)continue;let G=J.slice(0,Q),K=J.slice(Q+1);if(!Z.startsWith(G)||!Z.endsWith(K))continue;if(Z.length<G.length+K.length)continue;if(!X||G.length>X.prefix.length)X={pattern:J,prefix:G,suffix:K}}if(X){let J=Z.slice(X.prefix.length,Z.length-X.suffix.length),Q=Y($[X.pattern]);if(Q)return Q.replace("*",J)}return null}function rE($,Z){let Y=iE($);if(!Y||!Y.subpath)return null;let X=nE(Y.pkg,Z);if(!X)return null;let J;try{J=JSON.parse(P6.readFileSync(S5.join(X,"package.json"),"utf8"))}catch{return null}let Q=`.${Y.subpath}`,G=sE(J.exports,Q);if(!G)return null;let K=S5.resolve(X,G);return P6.existsSync(K)?K:null}function wQ($,Z){let Y=Z.filePath?S5.dirname(Z.filePath):Z.projectRoot||process.cwd(),X=Z.projectRoot||process.cwd(),J=new Set,Q=[];return{code:$.replace(lE,(K,W)=>{let U;try{if(W.startsWith("./")||W.startsWith("../")||W.startsWith("/")){if(U=W.startsWith("/")?W:S5.resolve(Y,W),!P6.existsSync(U))throw Error(`file not found: ${U}`)}else{let B=null;try{B=Bun.resolveSync(W,X)}catch{B=rE(W,X)}if(!B)throw Error(`could not resolve ${W} (Bun.resolveSync + exports fallback both failed)`);U=B}}catch(B){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(W)} (from ${Z.filePath||"<unknown>"}): ${B?.message||B}`),""}if(J.has(U))return"";J.add(U);try{let B=P6.readFileSync(U,"utf8");Q.push({source:W,resolvedPath:U,contents:B})}catch(B){console.warn(`[stx:vendor-css] could not read ${U}: ${B?.message||B}`)}return""}),styles:Q}}function oE($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function RQ($){if($.length===0)return"";return`${$.map((Z)=>{return`<style data-stx-vendor="${oE(Z.source)}" data-stx-layer="vendor">
|
|
13550
13550
|
@layer vendor {
|
|
13551
13551
|
${Z.contents}
|
|
13552
13552
|
}
|
|
@@ -13612,7 +13612,7 @@ ${U}${F}
|
|
|
13612
13612
|
'use strict';
|
|
13613
13613
|
${X}${Y}
|
|
13614
13614
|
${U}
|
|
13615
|
-
})()</script>`}var lE,aE,tE,eE,XD,KD;var R5=k(()=>{
|
|
13615
|
+
})()</script>`}var lE,aE,tE,eE,XD,KD;var R5=k(()=>{A0();lE=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;aE=["state","derived","effect","batch","untrack","peek","isSignal","isDerived","onMount","onDestroy","useRef","navigate","goBack","goForward","useRoute","setRouteParams","useSearchParams","useFetch","useQuery","useMutation","useOptimistic","useReactiveProp","useLocalStorage","useSessionStorage","useCookie","useWebSocket","useHead","useSeoMeta","definePageMeta","useEventListener","useMeta","useDebounce","useDebouncedValue","useThrottle","useInterval","useTimeout","useToggle","useCounter","useClickOutside","useFocus","useAsync","useColorMode","useDark","ref","reactive","computed","watch","watchEffect","watchMultiple","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","defineProps","withDefaults","defineEmits","defineExpose","defineSlots","provide","inject","nextTick","getCurrentInstance","onErrorCaptured","useSlots","useAttrs","createStore","defineStore","useStore","action","createSelector","h","Fragment"],tE=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser"],eE=new Set(["Promise","Object","Array","Map","Set","Date","Error","JSON","Math","Number","String","RegExp","Symbol","WeakMap","WeakSet","Proxy","Reflect","Intl","URL","URLSearchParams","FormData","Headers","Request","Response","AbortController","EventTarget","Element","Document","Node","Window","Console","Storage","Navigator","Blob","File","FileReader","HTMLElement","SVGElement","Event","CustomEvent","DOMParser","XMLSerializer","WebSocket","Worker","SharedWorker","IntersectionObserver","MutationObserver","ResizeObserver","PerformanceObserver","Notification","Bun","Buffer","Process","Modal","Intl"]);XD={left:0,middle:1,right:2};KD=new Set(["if","else","true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","switch","case","break","continue","for","while","do","try","catch","finally","const","let","var","function","class","import","export","default","async","await","yield","with","debugger","console","window","document","Math","JSON","Date","Array","Object","String","Number","Boolean","Symbol","Map","Set","Promise","Error","parseInt","parseFloat","isNaN","isFinite","encodeURIComponent","decodeURIComponent","setTimeout","setInterval","clearTimeout","clearInterval","fetch","alert","confirm","prompt","event"])});function eZ($,Z,Y=new WeakSet){if(Object.is($,Z))return!0;if(typeof $!=="object"||typeof Z!=="object"||$===null||Z===null)return!1;if(Y.has($))return!0;if(Y.add($),$ instanceof Date&&Z instanceof Date)return $.getTime()===Z.getTime();if($ instanceof RegExp&&Z instanceof RegExp)return $.source===Z.source&&$.flags===Z.flags;if(Array.isArray($)){if(!Array.isArray(Z)||$.length!==Z.length)return!1;for(let Q=0;Q<$.length;Q++)if(!eZ($[Q],Z[Q],Y))return!1;return!0}if(Array.isArray(Z))return!1;if($ instanceof Map){if(!(Z instanceof Map)||$.size!==Z.size)return!1;for(let[Q,G]of $)if(!Z.has(Q)||!eZ(G,Z.get(Q),Y))return!1;return!0}if(Z instanceof Map)return!1;if($ instanceof Set){if(!(Z instanceof Set)||$.size!==Z.size)return!1;for(let Q of $)if(!Z.has(Q))return!1;return!0}if(Z instanceof Set)return!1;let X=Object.keys($),J=Object.keys(Z);if(X.length!==J.length)return!1;for(let Q of X){if(!Object.prototype.hasOwnProperty.call(Z,Q))return!1;if(!eZ($[Q],Z[Q],Y))return!1}return!0}function UD($){C0=$}function BD(){return C0}function _D(){return{isMounted:!1,isUnmounted:!1,hooks:{beforeMount:[],mounted:[],beforeUpdate:[],updated:[],beforeUnmount:[],unmounted:[]},effects:[],scope:_H()}}function _H(){return{refs:new Map,effects:new Set,cleanups:[]}}function zD($){let Z=new Set,Y=new Set,X=$,J=Symbol("ref"),Q={get value(){if(m0)Y.add(m0);return X},set value(G){if(!Object.is(G,X)){let K=X;X=G;for(let W of Z)W(G,K);for(let W of Y)W()}},subscribe(G){return Z.add(G),()=>{Z.delete(G)}}};if(C0)C0.scope.refs.set(J,Q);return Q}function zH($){let Z=BH.get($);if(Z)return Z;let Y=new Map,X=(G)=>{let K=Y.get(G);if(K)for(let W of[...K])W()},J=(G,K)=>{if(!Y.has(G))Y.set(G,new Set);return Y.get(G).add(K),()=>{Y.get(G)?.delete(K)}},Q=new Proxy($,{get(G,K,W){let U=Reflect.get(G,K,W);if(m0)J(K,m0);if(U!==null&&typeof U==="object"&&!Array.isArray(U)){let B=Object.getPrototypeOf(U);if(B===Object.prototype||B===null)return zH(U)}return U},set(G,K,W,U){let B=Reflect.get(G,K,U),_=Reflect.set(G,K,W,U);if(!Object.is(W,B))X(K);return _},deleteProperty(G,K){let W=Reflect.deleteProperty(G,K);return X(K),W}});return BH.set($,Q),Q}function qD($){let Z,Y=!0,X=new Set,J=new Set,Q=()=>{Y=!0,G()},G=()=>{if(Y){let W=Z,U=m0;if(m0=Q,Z=$(),m0=U,Y=!1,!Object.is(Z,W)){for(let B of X)B(Z,W);for(let B of J)B()}}},K=m0;return m0=Q,Z=$(),Y=!1,m0=K,{get value(){if(m0)J.add(m0);return G(),Z},set value(W){console.warn("[stx] Computed properties are readonly")},subscribe(W){return X.add(W),()=>{X.delete(W)}}}}function jD($,Z,Y={}){let{immediate:X=!1,deep:J=!1,flush:Q="post"}=Y,G,K,W=!1,U=()=>{if(W)return;let j=q();if((J?!eZ(j,G):!Object.is(j,G))||X)if(Z(j,G),J&&j!==null&&typeof j==="object")try{G=structuredClone(j)}catch{G=j}else G=j},B=(j)=>{if(Q==="sync")j();else if(Q==="pre")Promise.resolve().then(j);else requestAnimationFrame(()=>{requestAnimationFrame(j)})},_=!1,z=()=>{if(W||_)return;_=!0,B(()=>{_=!1,U()})},q=()=>{if(typeof $==="function"){let j=m0;m0=z;try{return $()}finally{m0=j}}return $.value};if(typeof $!=="function"){let j=$.subscribe(()=>{B(U)});K=()=>{W=!0,j()}}else K=()=>{W=!0};if(G=q(),X)B(U);if(C0)C0.scope.cleanups.push(()=>K?.());return()=>K?.()}function HD($,Z,Y={}){let X=[],J=$.map((Q)=>Q.value);for(let Q of $){let G=Q.subscribe(()=>{let K=$.map((W)=>W.value);Z(K,J),J=[...K]});X.push(G)}if(Y.immediate){let Q=$.map((G)=>G.value);Z(Q,J)}return()=>{for(let Q of X)Q()}}function OD($){let Z,Y=!1,X=()=>{if(Y)return;if(Z)Z();let J=m0;m0=X,Z=$(),m0=J};if(X(),C0)C0.scope.cleanups.push(()=>{if(Y=!0,Z)Z()});return()=>{if(Y=!0,Z)Z()}}function LD($){if(C0)C0.hooks.beforeMount.push($);else console.warn("[stx] onBeforeMount called outside of component setup")}function FD($){if(C0)C0.hooks.mounted.push($);else console.warn("[stx] onMounted called outside of component setup")}function VD($){if(C0)C0.hooks.beforeUpdate.push($);else console.warn("[stx] onBeforeUpdate called outside of component setup")}function ND($){if(C0)C0.hooks.updated.push($);else console.warn("[stx] onUpdated called outside of component setup")}function AD($){if(C0)C0.hooks.beforeUnmount.push($);else console.warn("[stx] onBeforeUnmount called outside of component setup")}function wD($){if(C0)C0.hooks.unmounted.push($);else console.warn("[stx] onUnmounted called outside of component setup")}async function b5($,Z){let Y=$.hooks[Z];for(let X of Y)await X()}async function RD($){await b5($,"beforeMount"),$.isMounted=!0,await b5($,"mounted")}async function MD($){if(!$.isMounted||$.isUnmounted)return;await b5($,"beforeUpdate"),await b5($,"updated")}async function TD($){if($.isUnmounted)return;await b5($,"beforeUnmount");for(let Z of $.scope.cleanups)Z();$.isUnmounted=!0,await b5($,"unmounted")}function ID(){return`
|
|
13616
13616
|
<script data-stx-client-runtime>
|
|
13617
13617
|
(function() {
|
|
13618
13618
|
'use strict';
|
|
@@ -13789,7 +13789,7 @@ ${U}
|
|
|
13789
13789
|
};
|
|
13790
13790
|
window.provide = provide;
|
|
13791
13791
|
})();
|
|
13792
|
-
</script>`}var C0=null,m0=null,BH;var qH=k(()=>{BH=new WeakMap});import{abortNavigation as ED,clearMiddleware as y6,createClientCookieManager as DD,createMiddlewareContext as x6,createRouteLocation as v6,createServerCookieManager as kD,createStorageManager as SD,defineMiddleware as bD,getMiddleware as CD,getMiddlewareNames as f6,hasMiddleware as PD,loadMiddlewareFromDirectory as g6,navigateTo as yD,registerMiddleware as xD,runMiddleware as h6}from"stx-router";var $Y=()=>{};function $5($,Z){if(typeof window>"u")return Z;return window[$]??Z}function ZY($,Z){if(typeof window>"u")return;window[$]=Z}function jH($){let Y=$5("__STX_STORES__",{})[$];if(!Y)throw Error(`Store "${$}" not found. Make sure it's defined with defineStore().`);return Y}function vD($){return jH($)}function mm($){let Z=$5("__STX_STORES__",{});return $ in Z}function pm(){let $=$5("__STX_STORES__",{});return Object.keys($)}function fD($,Z=5000){return new Promise((Y,X)=>{let J=Date.now(),Q=()=>{let G=jH($);if(G)Y(G);else if(Date.now()-J>Z)X(Error(`Timeout waiting for store "${$}"`));else requestAnimationFrame(Q)};Q()})}function HH(){return $5("__STX_ROUTE_PARAMS__",{})}function OH($){return HH()[$]}function gD($){let Z=OH($);if(Z===void 0)throw Error(`Route parameter "${$}" not found`);return Z}function LH(){return $5("__STX_MIDDLEWARE_STATE__",{})}function hD($){return LH()[$]}function dD(){if(typeof window>"u")return;if(!$5("__STX_STORES__",null))ZY("__STX_STORES__",{})}function uD($,Z){let Y=$5("__STX_STORES__",{});Y[$]=Z,ZY("__STX_STORES__",Y)}function mD(){return $5("__STX_STORE_STATE__",null)}function pD($){ZY("__STX_ROUTE_PARAMS__",$)}function cD($){ZY("__STX_MIDDLEWARE_STATE__",$)}function FH(){return typeof window>"u"}function VH(){return typeof window<"u"}function lD($){if(VH())$()}function iD($){if(FH())$()}import{matchRoute as nD,Router as sD}from"stx-router";import{findErrorPage as MQ,formatRoutes as TQ,generateRouteManifest as oD,generateRouteTypes as aD,matchRoute as YY}from"stx-router";function z$($,Z={}){return new sD($,Z).routes}function rD($,Z){let Y=nD($,Z);return Y?Y.params:null}var d6=()=>{};import{createHash as tD}from"crypto";function eD($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}function Zk($){return Bun.hash($).toString(16)}function NH($,Z={}){if(!$.includes('type="stx/island"'))return{html:$,chunks:[]};let Y=new Map,X=$.replace($k,(Q,G,K,W)=>{let U=W.trim();if(!U)return Q;if(/\bdata-stx-src=/.test(K))return Q;if(Z.minify)U=eD(U);let B=Zk(U);if(!Y.has(B))Y.set(B,U);let _=Z.integrity?` data-stx-integrity="sha384-${tD("sha384").update(U).digest("base64")}"`:"";return`<script type="stx/island" data-stx-island="${G}" data-stx-src="/_stx/islands/${B}.js"${_}${K}></script>`}),J=Array.from(Y,([Q,G])=>({hash:Q,code:G}));return{html:X,chunks:J}}function AH($){if(!$.includes("data-stx-src="))return $;let Z=new Map,Y=/data-stx-scope="([^"]+)"[^>]*?stx-hydrate="([^"]+)"/g,X;while((X=Y.exec($))!==null)Z.set(X[1],X[2]);let J=new Set,Q=/data-stx-island="([^"]+)"[^>]*?data-stx-src="([^"]+)"/g,G;while((G=Q.exec($))!==null)if(Yk.has(Z.get(G[1])||""))J.add(G[2]);let K=$.lastIndexOf("</head>");if(J.size===0||K===-1)return $;let W=Array.from(J).filter((U)=>!$.includes(`rel="prefetch" href="${U}"`)).map((U)=>`<link rel="prefetch" href="${U}" as="script">`).join("");if(!W)return $;return $.slice(0,K)+W+$.slice(K)}var $k,Yk;var wH=k(()=>{$k=/<script\s+type="stx\/island"\s+data-stx-island="([^"]+)"([^>]*)>([\s\S]*?)<\/script>/g;Yk=new Set(["visible","idle"])});var bH={};t(bH,{generateStaticSite:()=>IH,defineStaticPaths:()=>kH,default:()=>jk,createMarkdownLoader:()=>SH,createISRHandler:()=>DH});import g0 from"fs";import
|
|
13792
|
+
</script>`}var C0=null,m0=null,BH;var qH=k(()=>{BH=new WeakMap});import{abortNavigation as ED,clearMiddleware as y6,createClientCookieManager as DD,createMiddlewareContext as x6,createRouteLocation as v6,createServerCookieManager as kD,createStorageManager as SD,defineMiddleware as bD,getMiddleware as CD,getMiddlewareNames as f6,hasMiddleware as PD,loadMiddlewareFromDirectory as g6,navigateTo as yD,registerMiddleware as xD,runMiddleware as h6}from"stx-router";var $Y=()=>{};function $5($,Z){if(typeof window>"u")return Z;return window[$]??Z}function ZY($,Z){if(typeof window>"u")return;window[$]=Z}function jH($){let Y=$5("__STX_STORES__",{})[$];if(!Y)throw Error(`Store "${$}" not found. Make sure it's defined with defineStore().`);return Y}function vD($){return jH($)}function mm($){let Z=$5("__STX_STORES__",{});return $ in Z}function pm(){let $=$5("__STX_STORES__",{});return Object.keys($)}function fD($,Z=5000){return new Promise((Y,X)=>{let J=Date.now(),Q=()=>{let G=jH($);if(G)Y(G);else if(Date.now()-J>Z)X(Error(`Timeout waiting for store "${$}"`));else requestAnimationFrame(Q)};Q()})}function HH(){return $5("__STX_ROUTE_PARAMS__",{})}function OH($){return HH()[$]}function gD($){let Z=OH($);if(Z===void 0)throw Error(`Route parameter "${$}" not found`);return Z}function LH(){return $5("__STX_MIDDLEWARE_STATE__",{})}function hD($){return LH()[$]}function dD(){if(typeof window>"u")return;if(!$5("__STX_STORES__",null))ZY("__STX_STORES__",{})}function uD($,Z){let Y=$5("__STX_STORES__",{});Y[$]=Z,ZY("__STX_STORES__",Y)}function mD(){return $5("__STX_STORE_STATE__",null)}function pD($){ZY("__STX_ROUTE_PARAMS__",$)}function cD($){ZY("__STX_MIDDLEWARE_STATE__",$)}function FH(){return typeof window>"u"}function VH(){return typeof window<"u"}function lD($){if(VH())$()}function iD($){if(FH())$()}import{matchRoute as nD,Router as sD}from"stx-router";import{findErrorPage as MQ,formatRoutes as TQ,generateRouteManifest as oD,generateRouteTypes as aD,matchRoute as YY}from"stx-router";function z$($,Z={}){return new sD($,Z).routes}function rD($,Z){let Y=nD($,Z);return Y?Y.params:null}var d6=()=>{};import{createHash as tD}from"crypto";function eD($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}function Zk($){return Bun.hash($).toString(16)}function NH($,Z={}){if(!$.includes('type="stx/island"'))return{html:$,chunks:[]};let Y=new Map,X=$.replace($k,(Q,G,K,W)=>{let U=W.trim();if(!U)return Q;if(/\bdata-stx-src=/.test(K))return Q;if(Z.minify)U=eD(U);let B=Zk(U);if(!Y.has(B))Y.set(B,U);let _=Z.integrity?` data-stx-integrity="sha384-${tD("sha384").update(U).digest("base64")}"`:"";return`<script type="stx/island" data-stx-island="${G}" data-stx-src="/_stx/islands/${B}.js"${_}${K}></script>`}),J=Array.from(Y,([Q,G])=>({hash:Q,code:G}));return{html:X,chunks:J}}function AH($){if(!$.includes("data-stx-src="))return $;let Z=new Map,Y=/data-stx-scope="([^"]+)"[^>]*?stx-hydrate="([^"]+)"/g,X;while((X=Y.exec($))!==null)Z.set(X[1],X[2]);let J=new Set,Q=/data-stx-island="([^"]+)"[^>]*?data-stx-src="([^"]+)"/g,G;while((G=Q.exec($))!==null)if(Yk.has(Z.get(G[1])||""))J.add(G[2]);let K=$.lastIndexOf("</head>");if(J.size===0||K===-1)return $;let W=Array.from(J).filter((U)=>!$.includes(`rel="prefetch" href="${U}"`)).map((U)=>`<link rel="prefetch" href="${U}" as="script">`).join("");if(!W)return $;return $.slice(0,K)+W+$.slice(K)}var $k,Yk;var wH=k(()=>{$k=/<script\s+type="stx\/island"\s+data-stx-island="([^"]+)"([^>]*)>([\s\S]*?)<\/script>/g;Yk=new Set(["visible","idle"])});var bH={};t(bH,{generateStaticSite:()=>IH,defineStaticPaths:()=>kH,default:()=>jk,createMarkdownLoader:()=>SH,createISRHandler:()=>DH});import g0 from"fs";import L0 from"path";class RH{cacheDir;cache=new Map;loaded=!1;constructor($){this.cacheDir=$}async load(){if(this.loaded)return;let $=L0.join(this.cacheDir,"build-cache.json");if(await Bun.file($).exists())try{let Z=JSON.parse(await Bun.file($).text());for(let[Y,X]of Object.entries(Z))this.cache.set(Y,X)}catch{}this.loaded=!0}async save(){await g0.promises.mkdir(this.cacheDir,{recursive:!0});let $=L0.join(this.cacheDir,"build-cache.json"),Z={};for(let[Y,X]of this.cache)Z[Y]=X;await Bun.write($,JSON.stringify(Z))}getHash($,Z){let Y=g0.statSync($),X=`${$}:${Y.mtimeMs}`;for(let Q of Z)if(g0.existsSync(Q)){let G=g0.statSync(Q);X+=`:${Q}:${G.mtimeMs}`}let J=0;for(let Q=0;Q<X.length;Q++){let G=X.charCodeAt(Q);J=(J<<5)-J+G,J=J&J}return Math.abs(J).toString(36)}get($,Z){let Y=this.cache.get($);if(!Y)return null;let X=this.getHash(Z,Y.dependencies??[]);if(Y.hash!==X)return this.cache.delete($),null;return Y.html}set($,Z,Y,X){let J=this.getHash(Z,Y);this.cache.set($,{hash:J,html:X,generatedAt:Date.now(),dependencies:Y})}}class MH{cacheDir;constructor($){this.cacheDir=$}getFilePath($){let Z=$.replace(/[^a-zA-Z0-9]/g,"_")+".json";return L0.join(this.cacheDir,"isr",Z)}async get($){let Z=this.getFilePath($);if(!await Bun.file(Z).exists())return null;try{return JSON.parse(await Bun.file(Z).text())}catch{return null}}async set($,Z){let Y=this.getFilePath($);await g0.promises.mkdir(L0.dirname(Y),{recursive:!0}),await Bun.write(Y,JSON.stringify(Z))}async invalidate($){let Z=this.getFilePath($);if(await Bun.file(Z).exists())await g0.promises.unlink(Z)}async invalidatePattern($){let Z=L0.join(this.cacheDir,"isr");if(!g0.existsSync(Z))return;let Y=await g0.promises.readdir(Z);for(let X of Y){let J=X.replace(/_/g,"/").replace(".json","");if($.test(J))await g0.promises.unlink(L0.join(Z,X))}}async needsRevalidation($){let Z=await this.get($);if(!Z)return!0;return Date.now()>Z.revalidateAfter}}async function Xk($){try{let Y=(await Bun.file($).text()).match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!Y)return null;let X=Y[1];if(!X.includes("getStaticPaths"))return null;let J=X.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticPaths\s*\([^)]*\)\s*\{([\s\S]*?)\n[\t ]*\}/);if(!J)return null;return await Function(`
|
|
13793
13793
|
return (async function getStaticPaths() {
|
|
13794
13794
|
${J[1]}
|
|
13795
13795
|
})()
|
|
@@ -13829,10 +13829,10 @@ ${$.map((X)=>{let J=new URL(X.loc,Z).href,Q=` <url>
|
|
|
13829
13829
|
${Y.join(`
|
|
13830
13830
|
`)}
|
|
13831
13831
|
</channel>
|
|
13832
|
-
</rss>`}async function IH($={}){let Z=Date.now(),Y=await x0(),X={pagesDir:$.pagesDir||"pages",outputDir:$.outputDir||"dist",baseUrl:$.baseUrl||"/",domain:$.domain||"http://localhost",revalidate:$.revalidate??!1,sitemap:$.sitemap??!0,rss:$.rss??!1,concurrency:$.concurrency||10,cache:$.cache??!0,cacheDir:$.cacheDir||".stx/ssg-cache",contentLoaders:$.contentLoaders||[],hooks:$.hooks||{},minify:$.minify??!1,generate404:$.generate404??!0,publicDir:$.publicDir||"public",trailingSlash:$.trailingSlash??!1,cleanOutput:$.cleanOutput??!0,chunkIslands:$.chunkIslands===!0,prefetchIslands:$.prefetchIslands===!0,integrityIslands:$.integrityIslands===!0},J={totalPages:0,successCount:0,failedCount:0,cachedCount:0,buildTime:0,pages:[],errors:[]},Q=new Set,G=0,K={},W={};await X.hooks.onBuildStart?.();try{if(X.cleanOutput&&g0.existsSync(X.outputDir))await g0.promises.rm(X.outputDir,{recursive:!0});await g0.promises.mkdir(X.outputDir,{recursive:!0});let B=new RH(X.cacheDir);if(X.cache)await B.load();try{let{preloadIconCollection:V}=await Promise.resolve().then(() => (zZ(),e_));await V("lucide")}catch{}try{let{generateCrosswindCSS:V}=await Promise.resolve().then(() => (n1(),u8));await V('<div class="bg-black"></div>')}catch{}y6();let _=Y?.routeMiddleware?.dir||"middleware";await g6(process.cwd(),_);let z=f6();if(z.length>0)console.log(`Loaded ${z.length} middleware: ${z.join(", ")}`);let q=Y?.routeMiddleware?.global||[],j=z$(".",{pagesDir:X.pagesDir});console.log(`Found ${j.length} routes`);let H=[];for(let V of j){let N=await Jk(V);for(let A of N)H.push({route:V,url:A.url,params:A.params,props:A.props,revalidate:A.revalidate??X.revalidate})}J.totalPages=H.length,console.log(`Generating ${J.totalPages} pages...`);let L=[],F=[];for(let V=0;V<H.length;V+=X.concurrency)F.push(H.slice(V,V+X.concurrency));for(let V of F)await Promise.all(V.map(async(N)=>{let{route:A,url:w,params:R,props:M,revalidate:T}=N;try{await X.hooks.onPageStart?.(w);let E=await Bun.file(A.filePath).text(),D=_k(E),S=D?.middleware?Array.isArray(D.middleware)?D.middleware:[D.middleware]:[],C=[...q,...S];if(C.length>0){let y=v6(w,R,D||{}),h=x6(y,null),p=await h6(C,h);if(p.redirect){let n=typeof p.redirect==="string"?p.redirect:p.redirect.path||p.redirect,r=zk(String(n),w),
|
|
13832
|
+
</rss>`}async function IH($={}){let Z=Date.now(),Y=await x0(),X={pagesDir:$.pagesDir||"pages",outputDir:$.outputDir||"dist",baseUrl:$.baseUrl||"/",domain:$.domain||"http://localhost",revalidate:$.revalidate??!1,sitemap:$.sitemap??!0,rss:$.rss??!1,concurrency:$.concurrency||10,cache:$.cache??!0,cacheDir:$.cacheDir||".stx/ssg-cache",contentLoaders:$.contentLoaders||[],hooks:$.hooks||{},minify:$.minify??!1,generate404:$.generate404??!0,publicDir:$.publicDir||"public",trailingSlash:$.trailingSlash??!1,cleanOutput:$.cleanOutput??!0,chunkIslands:$.chunkIslands===!0,prefetchIslands:$.prefetchIslands===!0,integrityIslands:$.integrityIslands===!0},J={totalPages:0,successCount:0,failedCount:0,cachedCount:0,buildTime:0,pages:[],errors:[]},Q=new Set,G=0,K={},W={};await X.hooks.onBuildStart?.();try{if(X.cleanOutput&&g0.existsSync(X.outputDir))await g0.promises.rm(X.outputDir,{recursive:!0});await g0.promises.mkdir(X.outputDir,{recursive:!0});let B=new RH(X.cacheDir);if(X.cache)await B.load();try{let{preloadIconCollection:V}=await Promise.resolve().then(() => (zZ(),e_));await V("lucide")}catch{}try{let{generateCrosswindCSS:V}=await Promise.resolve().then(() => (n1(),u8));await V('<div class="bg-black"></div>')}catch{}y6();let _=Y?.routeMiddleware?.dir||"middleware";await g6(process.cwd(),_);let z=f6();if(z.length>0)console.log(`Loaded ${z.length} middleware: ${z.join(", ")}`);let q=Y?.routeMiddleware?.global||[],j=z$(".",{pagesDir:X.pagesDir});console.log(`Found ${j.length} routes`);let H=[];for(let V of j){let N=await Jk(V);for(let A of N)H.push({route:V,url:A.url,params:A.params,props:A.props,revalidate:A.revalidate??X.revalidate})}J.totalPages=H.length,console.log(`Generating ${J.totalPages} pages...`);let L=[],F=[];for(let V=0;V<H.length;V+=X.concurrency)F.push(H.slice(V,V+X.concurrency));for(let V of F)await Promise.all(V.map(async(N)=>{let{route:A,url:w,params:R,props:M,revalidate:T}=N;try{await X.hooks.onPageStart?.(w);let E=await Bun.file(A.filePath).text(),D=_k(E),S=D?.middleware?Array.isArray(D.middleware)?D.middleware:[D.middleware]:[],C=[...q,...S];if(C.length>0){let y=v6(w,R,D||{}),h=x6(y,null),p=await h6(C,h);if(p.redirect){let n=typeof p.redirect==="string"?p.redirect:p.redirect.path||p.redirect,r=zk(String(n),w),W0=qk(w,X);await g0.promises.mkdir(L0.dirname(W0),{recursive:!0}),await Bun.write(W0,r),J.successCount++,J.pages.push({route:w,outputPath:W0,size:Buffer.byteLength(r),cached:!1}),L.push({loc:w,lastmod:new Date().toISOString()}),console.log(` \u21B3 ${w} \u2192 redirect to ${n}`);return}if(p.abort){let n=typeof p.abort==="string"?p.abort:p.abort?.error?.message||"aborted";console.warn(` \u21B3 ${w} \u2014 middleware aborted: ${n}`);return}}let P=E.match(/definePageMeta\s*\(\s*\{[\s\S]*?validate\s*:\s*((?:\([^)]*\)|[^,}])*(?:\{[\s\S]*?\})?)/m);if(P)try{if(!await Function("route",`
|
|
13833
13833
|
const validate = ${P[1]};
|
|
13834
13834
|
return validate(route);
|
|
13835
|
-
`)({params:R})){console.warn(`Validation failed for ${w}, skipping...`);return}}catch{}let b=null,x=!1;if(X.cache){if(b=B.get(w,A.filePath),b)x=!0,J.cachedCount++}if(!b){let y=await TH(A,R,M,X,Y);if(b=y.html,X.cache)B.set(w,A.filePath,y.dependencies,b)}let s;if(X.trailingSlash)s=
|
|
13835
|
+
`)({params:R})){console.warn(`Validation failed for ${w}, skipping...`);return}}catch{}let b=null,x=!1;if(X.cache){if(b=B.get(w,A.filePath),b)x=!0,J.cachedCount++}if(!b){let y=await TH(A,R,M,X,Y);if(b=y.html,X.cache)B.set(w,A.filePath,y.dependencies,b)}let s;if(X.trailingSlash)s=L0.join(X.outputDir,w,"index.html");else s=w==="/"?L0.join(X.outputDir,"index.html"):L0.join(X.outputDir,`${w}.html`);if(X.chunkIslands){let{html:y,chunks:h}=NH(b,{integrity:X.integrityIslands,minify:X.minify});if(h.length>0){let p=L0.join(X.outputDir,"_stx","islands");await g0.promises.mkdir(p,{recursive:!0});for(let n of h){let r=L0.join(p,`${n.hash}.js`);if(!await Bun.file(r).exists())await Bun.write(r,n.code);if(!Q.has(n.hash)){Q.add(n.hash);let W0=Buffer.byteLength(n.code,"utf8");G+=W0,K[n.hash]={bytes:W0,file:`/_stx/islands/${n.hash}.js`}}}if(W[w]=h.map((n)=>n.hash),b=y,X.prefetchIslands)b=AH(b)}}await g0.promises.mkdir(L0.dirname(s),{recursive:!0}),await Bun.write(s,b),L.push({loc:w,lastmod:new Date().toISOString().split("T")[0],priority:w==="/"?1:0.8});let u={route:w,outputPath:s,size:Buffer.byteLength(b,"utf8"),cached:x};if(T!==!1)u.revalidateAt=Date.now()+T*1000;J.pages.push(u),J.successCount++,await X.hooks.onPageEnd?.(w,b)}catch(E){J.failedCount++,J.errors.push({route:w,error:E}),await X.hooks.onError?.(E,w),console.error(`Error generating ${w}:`,E)}}));if(X.cache)await B.save();if(X.generate404){let V=L0.join(X.pagesDir,"404.stx");if(await Bun.file(V).exists()){let N=new Set,A={...Y,debug:!1,cache:!1},w=await X0(await Bun.file(V).text(),{},V,A,N);await Bun.write(L0.join(X.outputDir,"404.html"),w)}else await Bun.write(L0.join(X.outputDir,"404.html"),`<!DOCTYPE html>
|
|
13836
13836
|
<html lang="en">
|
|
13837
13837
|
<head>
|
|
13838
13838
|
<meta charset="UTF-8">
|
|
@@ -13853,7 +13853,7 @@ ${Y.join(`
|
|
|
13853
13853
|
<a href="/">Go home</a>
|
|
13854
13854
|
</div>
|
|
13855
13855
|
</body>
|
|
13856
|
-
</html>`)}for(let V of[500]){let N=
|
|
13856
|
+
</html>`)}for(let V of[500]){let N=L0.join(X.pagesDir,`${V}.stx`);if(await Bun.file(N).exists()){let A=new Set,w={...Y,debug:!1,cache:!1},R=await X0(await Bun.file(N).text(),{},N,w,A);await Bun.write(L0.join(X.outputDir,`${V}.html`),R)}}let O=L0.join(X.pagesDir,"error.stx");if(await Bun.file(O).exists()){let V=new Set,N={...Y,debug:!1,cache:!1},A=await X0(await Bun.file(O).text(),{},O,N,V);await Bun.write(L0.join(X.outputDir,"error.html"),A)}if(X.sitemap&&L.length>0){let V=Uk(L,X.domain),N=L0.join(X.outputDir,"sitemap.xml");await Bun.write(N,V),J.sitemapPath=N,console.log(`Generated sitemap.xml with ${L.length} URLs`)}if(X.rss){let V=typeof X.rss==="object"?X.rss:{title:"Site Feed",description:"Latest updates",link:X.domain},N=[];if(V.getItems)N=await V.getItems();let A=Bk(V,N),w=L0.join(X.outputDir,"rss.xml");await Bun.write(w,A),J.rssPath=w,console.log(`Generated rss.xml with ${N.length} items`)}if(X.publicDir&&g0.existsSync(X.publicDir))await EH(X.publicDir,X.outputDir),console.log(`Copied public assets from ${X.publicDir}`)}catch(B){throw await X.hooks.onError?.(B),B}if(J.buildTime=Date.now()-Z,Q.size>0){J.islandChunks={count:Q.size,totalBytes:G};let B={generatedChunks:Q.size,totalBytes:G,chunks:K,pages:W};await Bun.write(L0.join(X.outputDir,"_stx","islands-manifest.json"),JSON.stringify(B,null,2))}await X.hooks.onBuildEnd?.(J);let U=J.islandChunks?`
|
|
13857
13857
|
Island chunks: ${J.islandChunks.count} (${(J.islandChunks.totalBytes/1024).toFixed(1)} KB lifted out of inline HTML)`:"";return console.log(`
|
|
13858
13858
|
Build complete!
|
|
13859
13859
|
Total: ${J.totalPages} pages
|
|
@@ -13861,7 +13861,7 @@ Build complete!
|
|
|
13861
13861
|
Cached: ${J.cachedCount}
|
|
13862
13862
|
Failed: ${J.failedCount}
|
|
13863
13863
|
Time: ${J.buildTime}ms${U}
|
|
13864
|
-
`),J}async function EH($,Z){let Y=await g0.promises.readdir($,{withFileTypes:!0});for(let X of Y){let J=
|
|
13864
|
+
`),J}async function EH($,Z){let Y=await g0.promises.readdir($,{withFileTypes:!0});for(let X of Y){let J=L0.join($,X.name),Q=L0.join(Z,X.name);if(X.isDirectory())await g0.promises.mkdir(Q,{recursive:!0}),await EH(J,Q);else await g0.promises.copyFile(J,Q)}}function DH($={}){let Z=$.cacheDir||".stx/ssg-cache",Y=new MH(Z),X=$.revalidate||3600;return{async get(J){let Q=await Y.get(J);if(!Q)return null;if(Date.now()>Q.revalidateAfter)this.revalidate(J).catch(console.error);return{html:Q.html,headers:{"Cache-Control":`public, max-age=${X}, stale-while-revalidate=${X*2}`,ETag:Q.etag,"X-ISR-Generated":new Date(Q.generatedAt).toISOString(),...Q.headers}}},async revalidate(J){let G=z$(".",{pagesDir:$.pagesDir||"pages"}).find((_)=>{return J.match(_.regex)!==null});if(!G){console.warn(`Route not found for revalidation: ${J}`);return}let K=J.match(G.regex),W={};if(K)G.params.forEach((_,z)=>{W[_]=K[z+1]});let U=await x0(),{html:B}=await TH(G,W,{},$,U);await Y.set(J,{html:B,generatedAt:Date.now(),revalidateAfter:Date.now()+X*1000,etag:Wk(B)}),console.log(`Revalidated: ${J}`)},async invalidate(J){if(typeof J==="string")await Y.invalidate(J);else await Y.invalidatePattern(J)}}}function kH($){return async()=>{return{paths:await $(),fallback:!1}}}function SH(){return{name:"markdown",extensions:[".md",".mdx"],async load($){let Z=await Bun.file($).text(),Y=Z.match(/^---\n([\s\S]*?)\n---/),X={},J=Z;if(Y){let U=Y[1];J=Z.slice(Y[0].length).trim();for(let B of U.split(`
|
|
13865
13865
|
`)){let _=B.indexOf(":");if(_>0){let z=B.slice(0,_).trim(),q=B.slice(_+1).trim();if(q==="true")q=!0;else if(q==="false")q=!1;else if(/^\d+$/.test(q))q=parseInt(q,10);else if(/^\d+\.\d+$/.test(q))q=parseFloat(q);else if(q.startsWith("[")&&q.endsWith("]"))q=q.slice(1,-1).split(",").map((j)=>j.trim().replace(/^['"]|['"]$/g,""));X[z]=q}}}let Q=J.replace(/^### (.*$)/gim,"<h3>$1</h3>").replace(/^## (.*$)/gim,"<h2>$1</h2>").replace(/^# (.*$)/gim,"<h1>$1</h1>").replace(/\*\*(.*)\*\*/gim,"<strong>$1</strong>").replace(/\*(.*)\*/gim,"<em>$1</em>").replace(/`([^`]+)`/gim,"<code>$1</code>").replace(/\[([^\]]+)\]\(([^)]+)\)/gim,'<a href="$2">$1</a>').replace(/\n/gim,"<br>"),G=[],K=/<h([1-6])>([^<]+)<\/h[1-6]>/gi,W;while((W=K.exec(Q))!==null){let U=parseInt(W[1],10),B=W[2],_=B.toLowerCase().replace(/[^a-z0-9]+/g,"-");G.push({id:_,text:B,level:U})}return{content:Q,data:X,toc:G}}}}function _k($){let Z=$.match(/definePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!Z)return null;try{return Function(`return ${Z[1]}`)()}catch{return null}}function zk($,Z){return`<!DOCTYPE html>
|
|
13866
13866
|
<html>
|
|
13867
13867
|
<head>
|
|
@@ -13874,7 +13874,7 @@ Build complete!
|
|
|
13874
13874
|
<p>Redirecting to <a href="${$}">${$}</a>...</p>
|
|
13875
13875
|
<script>window.location.replace('${$}')</script>
|
|
13876
13876
|
</body>
|
|
13877
|
-
</html>`}function qk($,Z){if($==="/"||$==="")return
|
|
13877
|
+
</html>`}function qk($,Z){if($==="/"||$==="")return L0.join(Z.outputDir,"index.html");let Y=$.replace(/^\/|\/$/g,"");if(Z.trailingSlash)return L0.join(Z.outputDir,Y,"index.html");return L0.join(Z.outputDir,`${Y}.html`)}var jk;var CH=k(()=>{d6();L1();wH();s0();n1();$Y();jk={generateStaticSite:IH,createISRHandler:DH,defineStaticPaths:kH,createMarkdownLoader:SH}});import{createHash as Hk}from"crypto";import{getRouterScript as Ok}from"stx-router";function IQ($){return Hk("sha256").update($).digest("hex").slice(0,8)}function EQ($=!1){let Z=$?T5():M6(),Y=IQ(Z);return{content:Z,filename:`runtime.${Y}.js`,hash:Y}}function DQ(){let $=Ok(),Z=IQ($);return{content:$,filename:`router.${Z}.js`,hash:Z}}function Lk($){return{runtimeTag:$.runtime?`<script src="/__stx/${$.runtime.filename}"></script>`:"",routerTag:$.router?`<script src="/__stx/${$.router.filename}"></script>`:"",cssTag:$.css?`<link rel="stylesheet" href="/__stx/${$.css.filename}">`:""}}var kQ=k(()=>{vZ()});import SQ from"fs";import PH from"path";function bQ($,Z,Y){return{version:1,buildTime:new Date().toISOString(),routes:$,assets:Z,outputDir:Y}}function CQ($,Z){let Y=PH.join(Z,"manifest.json");SQ.writeFileSync(Y,JSON.stringify($,null,2))}function PQ($){let Z=PH.join($,"manifest.json");if(!SQ.existsSync(Z))return null;try{let Y=SQ.readFileSync(Z,"utf-8"),X=JSON.parse(Y);if(X.version!==1)return console.warn(`[stx] Manifest version mismatch: expected 1, got ${X.version}`),null;return X}catch(Y){return console.warn("[stx] Failed to load manifest:",Y),null}}var XY=()=>{};var xH={};t(xH,{buildForProduction:()=>yH});import o1 from"fs";import t0 from"path";function Vk($,Z){let Y=0,X=0;if(!o1.existsSync($))return{copied:Y,bytes:X};function J(Q,G){let K=o1.readdirSync(Q,{withFileTypes:!0});for(let W of K){if(Fk.has(W.name))continue;let U=t0.join(Q,W.name),B=t0.join(G,W.name);if(W.isDirectory())o1.mkdirSync(B,{recursive:!0}),J(U,B);else if(W.isFile()){if(o1.existsSync(B))continue;o1.copyFileSync(U,B),Y++,X+=o1.statSync(B).size}}}return J($,Z),{copied:Y,bytes:X}}async function yH($={}){let Z=Date.now(),Y=t0.resolve($.root||process.cwd()),X=t0.resolve(Y,$.outputDir||".output");console.log("[stx build] Starting production build...");let J={};try{J=await x0()}catch{}let Q=$.componentsDir??J.componentsDir??"components",G=$.partialsDir??J.partialsDir??"partials",K=$.layoutsDir??J.layoutsDir??"layouts",W=$.publicDir??J.publicDir??"public",U=J.app?.head||{},B=J.router?.container||"main";if(o1.existsSync(X))o1.rmSync(X,{recursive:!0});let _=[t0.join(X,"public","__stx"),t0.join(X,"public","assets"),t0.join(X,"server","pages"),t0.join(X,"server","fragments")];for(let R of _)o1.mkdirSync(R,{recursive:!0});console.log("[stx build] Discovering routes...");let z=z$(Y),q=["components","layouts","partials"],j=z.filter((R)=>{return!q.some((M)=>R.pattern.startsWith(`/${M}/`)||R.pattern===`/${M}`)});console.log(`[stx build] Found ${j.length} page routes (${z.length-j.length} non-page files excluded)`),console.log("[stx build] Generating shared assets...");let H=EQ($.debug),L=DQ();await Bun.write(t0.join(X,"public","__stx",H.filename),H.content),await Bun.write(t0.join(X,"public","__stx",L.filename),L.content),console.log(`[stx build] Runtime: ${H.filename} (${(H.content.length/1024).toFixed(1)}KB)`),console.log(`[stx build] Router: ${L.filename} (${(L.content.length/1024).toFixed(1)}KB)`),console.log("[stx build] Compiling templates...");let F=[],O=[];for(let R of j)try{let M=await yQ(R.filePath,R.pattern,{componentsDir:Q,partialsDir:G,layoutsDir:K,debug:$.debug});if(F.push(M),M.html=M.html.replace(/runtime\.__STX_HASH__\.js/g,H.filename).replace(/router\.__STX_HASH__\.js/g,L.filename),M.html=O6(M.html,U,{bodyScripts:[`<script src="/__stx/${L.filename}"></script>`]}),!/<body[^>]*\bdata-stx=/.test(M.html)){let C=M.html.match(/<(?!body\b)[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?\s(data-stx="[^"]+")[^>]*>/);if(C&&C[1]){let P=C[1];M.html=M.html.replace(" "+P,""),M.html=M.html.replace(/<body([^>]*)>/,`<body$1 ${P}>`)}}M.html=M.html.replace(/<style data-crosswind="generated">[\s\S]*?<\/style>\s*/g,""),M.html=await T0(M.html),M.fragment=u6(M.html,B);let E=R.pattern==="/"?"index":R.pattern.slice(1).replace(/\//g,"-").replace(/[[\]]/g,"_"),D=t0.join("server","pages",`${E}.compiled.json`),S=t0.join("server","fragments",`${E}.html`);await Bun.write(t0.join(X,D),JSON.stringify(M,null,2)),await Bun.write(t0.join(X,S),M.fragment),O.push({pattern:R.pattern,compiledPath:D,fragmentPath:S,isDynamic:M.hasServerScripts,hasParams:R.pattern.includes(":")||R.pattern.includes("[")}),console.log(`[stx build] \u2713 ${R.pattern}`)}catch(M){console.error(`[stx build] \u2717 ${R.pattern}:`,M instanceof Error?M.message:M)}let V=t0.resolve(Y,W);if(o1.existsSync(V)){let{copied:R,bytes:M}=Vk(V,t0.join(X,"public"));if(R>0)console.log(`[stx build] Copied ${R} public asset${R===1?"":"s"} (${(M/1024).toFixed(1)}KB) from ${W}/`)}let N={runtime:H.filename,router:L.filename},A=bQ(O,N,X);CQ(A,X);let w=Date.now()-Z;return console.log(`
|
|
13878
13878
|
[stx build] Done in ${w}ms \u2014 ${F.length} pages compiled`),{pageCount:F.length,assets:N,outputDir:X,duration:w}}var Fk;var vQ=k(()=>{d6();kQ();xQ();XY();o7();n1();s0();Fk=new Set([".DS_Store","Thumbs.db","desktop.ini",".gitkeep",".gitignore"])});import Nk from"path";async function Ak($={}){let Z=performance.now(),Y=$.root||process.cwd(),X=await x0(),J=X.ssr?"ssr":"ssg";console.log(`[stx build] Mode: ${J.toUpperCase()}${X.ssr?" (ssr: true in stx.config.ts)":" (default \u2014 ssr is false)"}`);let Q,G;if(J==="ssg"){let{generateStaticSite:W}=await Promise.resolve().then(() => (CH(),bH));Q=await W({pagesDir:Nk.join(X.root||".",X.pagesDir||X.build?.pagesDir||"pages"),publicDir:X.publicDir||X.build?.publicDir||"public",outputDir:X.build?.outputDir||"dist",generate404:X.build?.generate404??!0,minify:X.build?.minify??!0,cleanOutput:X.build?.cleanOutput??!0,...$.ssg})}else{let{buildForProduction:W}=await Promise.resolve().then(() => (vQ(),xH));G=await W({outputDir:".output",debug:$.debug,...$.ssr})}let K=Math.round(performance.now()-Z);return{mode:J,ssg:Q,ssr:G,duration:K}}var vH=k(()=>{s0()});import JY from"path";async function Rk($){let Z=performance.now(),Y=await x0($),X=$||Y.root||process.cwd(),J=[Y.build?.pagesDir||Y.pagesDir||"pages",Y.componentsDir||"components",Y.layoutsDir||"layouts",Y.partialsDir||"partials"].map((K)=>JY.resolve(X,K)),Q=[],G=0;for(let K of J){let W=await gH(K);for(let U of W){G++;let B=await Bun.file(U).text();if(fH.test(B))Q.push(JY.relative(X,U))}}return{mode:Q.length>0?"ssr":"ssg",serverScriptFiles:Q,totalFilesScanned:G,scanDurationMs:Math.round(performance.now()-Z)}}async function Mk($){let Z=await x0($),Y=$||Z.root||process.cwd(),X=JY.resolve(Y,Z.componentsDir||"components"),J=[],Q=await gH(X);for(let G of Q){let K=await Bun.file(G).text(),W=fH.test(K),U=wk.test(K)||/<script\b(?![^>]*\bserver\b)[^>]*>/i.test(K)&&!W;if(W&&U){let B=JY.relative(Y,G);J.push({file:B,message:`Component "${B}" has both <script server> and <script client>. `+"Components should be server OR client \u2014 compose them via props/slots."})}}return J}async function gH($){let Z=[];try{let Y=new Bun.Glob("**/*.stx");for await(let X of Y.scan({cwd:$,absolute:!0}))Z.push(X)}catch{}return Z}var fH,wk;var hH=k(()=>{s0();fH=/<script\b[^>]*\bserver\b/i,wk=/<script\b[^>]*\bclient\b/i});function fQ($){let Z=new Map,Y=/@(\w+)/g,X,J=1,Q=0;while((X=Y.exec($))!==null){let G=X[1],K=$.slice(Q,X.index);J+=(K.match(/\n/g)||[]).length,Q=X.index;let W=X.index-$.lastIndexOf(`
|
|
13879
13879
|
`,X.index-1);if(uH.includes(G)){let U=Z.get(G);if(U)U.count++,U.locations.push({line:J,column:W});else Z.set(G,{name:G,count:1,locations:[{line:J,column:W}]})}}return Array.from(Z.values())}function mH($,Z=[]){let Y=fQ($),X=new Set(Y.map((J)=>J.name));for(let J of Z)X.add(J);for(let J of Array.from(X))if(!J.startsWith("end"))X.add(`end${J}`);return uH.filter((J)=>!X.has(J))}function pH($){let Z=[],Y={conditionals:["if","else","elseif","endif","unless","endunless","switch","case","default","endswitch","isset","endisset"],loops:["for","endfor","foreach","endforeach","forelse","endforelse","while","endwhile","break","continue","empty"],includes:["include","includeIf","includeWhen","includeFirst","once","endonce","extends","section","endsection","yield","parent","push","endpush","prepend","endprepend","stack"],components:["component","endcomponent","slot","endslot","props"],auth:["auth","endauth","guest","endguest","can","endcan","cannot","endcannot","role","endrole","hasRole","endhasRole","hasAnyRole","endhasAnyRole"],forms:["csrf","method","error","enderror","old","input","textarea","select","checkbox","radio","file"],i18n:["translate","lang","choice"],seo:["meta","title","seo","jsonld","canonical","robots","sitemap"]},X=new Set;for(let Q of $)for(let[G,K]of Object.entries(Y))if(K.includes(Q)){X.add(G);break}for(let Q of X)Z.push(`import { process${Ik(Q)} } from './${Q}'`);let J=$.filter((Q)=>!Q.startsWith("end")).map((Q)=>` '${Q}': true`).join(`,
|
|
13880
13880
|
`);return`// Tree-shaken directive bundle
|
|
@@ -13889,7 +13889,7 @@ ${J}
|
|
|
13889
13889
|
export function isDirectiveActive(name: string): boolean {
|
|
13890
13890
|
return name in activeDirectives
|
|
13891
13891
|
}
|
|
13892
|
-
`}function cH($,Z={}){let Y=[],X=/@if\(([^)]+)\)[\s\S]*?@endif/g,J=$.matchAll(X);for(let U of J){let B=U[1].trim();if(QY(B,Z)===!1)Y.push({start:U.index,end:U.index+U[0].length,reason:`@if condition always false: ${B}`})}let Q=/@unless\(([^)]+)\)[\s\S]*?@endunless/g,G=$.matchAll(Q);for(let U of G){let B=U[1].trim();if(QY(B,Z)===!0)Y.push({start:U.index,end:U.index+U[0].length,reason:`@unless condition always true: ${B}`})}let K=/@env\(['"]development['"]\)[\s\S]*?@endenv/g;if(Z.__ENV__==="production"){let U=$.matchAll(K);for(let B of U)Y.push({start:B.index,end:B.index+B[0].length,reason:"Development-only code in production build"})}let W=/@debug[\s\S]*?@enddebug/g;if(Z.__ENV__==="production"){let U=$.matchAll(W);for(let B of U)Y.push({start:B.index,end:B.index+B[0].length,reason:"Debug code in production build"})}return Y}function lH($,Z={}){let Y=cH($,Z),X=[];Y.sort((Q,G)=>G.start-Q.start);let J=$;for(let Q of Y)J=J.slice(0,Q.start)+J.slice(Q.end),X.push(Q.reason);return{content:J,removed:X}}function QY($,Z){if($==="true")return!0;if($==="false")return!1;if($==="null")return null;if(/^\d+$/.test($))return Number.parseInt($,10);if(/^\d+\.\d+$/.test($))return Number.parseFloat($);if(/^['"].*['"]$/.test($))return $.slice(1,-1);if($ in Z)return Z[$];let Y=$.match(/^(\w+)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/);if(Y){let[,X,J,Q]=Y,G=X in Z?Z[X]:void 0,K=QY(Q,Z);if(G!==void 0&&K!==void 0)switch(J){case"==":case"===":return G===K;case"!=":case"!==":return G!==K;case">":return G>K;case"<":return G<K;case">=":return G>=K;case"<=":return G<=K}}return}function iH($,Z){let Y=[],X=$;return X=X.replace(/\{\{\s*(\w+)\s*\}\}/g,(J,Q)=>{if(Q in Z)return Y.push(`{{ ${Q} }} -> ${Z[Q]}`),String(Z[Q]);return J}),X=X.replace(/\{\{\s*(\d+)\s*([+\-*])\s*(\d+)\s*\}\}/g,(J,Q,G,K)=>{let W=Number.parseInt(Q,10),U=Number.parseInt(K,10),B;switch(G){case"+":B=W+U;break;case"-":B=W-U;break;case"*":B=W*U;break;default:return J}return Y.push(`{{ ${Q} ${G} ${K} }} -> ${B}`),String(B)}),{content:X,folded:Y}}function nH($){let Z=$,Y=[],X=0;Z=Z.replace(/<(pre|code|script|style)([^>]*)>([\s\S]*?)<\/\1>/gi,(J)=>{let Q=`__PRESERVE_${X++}__`;return Y.push({marker:Q,content:J}),Q}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(J)=>{let Q=`__PRESERVE_${X++}__`;return Y.push({marker:Q,content:J}),Q}),Z=Z.replace(/\{\{--([\s\S]*?)--\}\}/g,""),Z=Z.replace(/<!--[\s\S]*?-->/g,""),Z=Z.replace(/>\s+</g,"><"),Z=Z.replace(/^\s+/gm,""),Z=Z.replace(/\s+$/gm,""),Z=Z.replace(/\s{2,}/g," ");for(let{marker:J,content:Q}of Y){let G=Z.indexOf(J);if(G!==-1)Z=Z.slice(0,G)+Q+Z.slice(G+J.length)}return Z.trim()}function sH($){let Z=new Map,Y=new Map,X=/(['"])([^'"]{10,})\1/g,J;while((J=X.exec($))!==null){let K=J[2];Y.set(K,(Y.get(K)||0)+1)}let Q=0,G=$;for(let[K,W]of Y)if(W>1){let U=`__STR_${Q++}__`;Z.set(U,K);let B=K.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),_=new RegExp(`(['"])${B}\\1`,"g");G=G.replace(_,U)}return{content:G,pool:Z,count:Z.size}}function rH($,Z={}){let Y={...dH,...Z},X=new Blob([$]).size,J=$,Q=[],G=[],K=[],W=[],U=0;if(Y.target==="production")Y.constants={...Y.constants,__ENV__:"production"};if(Y.deadCodeElimination){let z=lH(J,Y.constants);if(J=z.content,z.removed.length>0)Q.push("Dead code elimination"),G.push(...z.removed.map((q)=>`Removed: ${q}`))}if(Y.constantFolding&&Object.keys(Y.constants).length>0){let z=iH(J,Y.constants);if(J=z.content,W=z.folded,W.length>0)Q.push("Constant folding")}if(Y.treeShake){if(K=mH(J,Y.preserveDirectives),K.length>0)Q.push("Tree shaking")}if(Y.stringPooling){let z=sH(J);if(J=z.content,U=z.count,U>0)Q.push("String pooling")}if(Y.minifyHtml){let z=nH(J);if(z.length<J.length)J=z,Q.push("HTML minification")}let B=new Blob([J]).size,_=X>0?Math.round((1-B/X)*100):0;return{content:J,originalSize:X,optimizedSize:B,reduction:_,appliedOptimizations:Q,removedDirectives:K,foldedConstants:W,pooledStrings:U,warnings:G}}async function Tk($,Z={}){let Y={...dH,...Z},X=new Map,J=[],Q=0,G=0,K=new Set;for(let[_,z]of $){let q=rH(z,Y);X.set(_,q),Q+=q.originalSize,G+=q.optimizedSize,J.push(...q.warnings.map((H)=>`${_}: ${H}`));let j=fQ(z);for(let H of j)K.add(H.name)}let W;if(Y.treeShake)W=pH(Array.from(K));let U;if(Y.stringPooling)U=new Map;let B=Q>0?Math.round((1-G/Q)*100):0;return{templates:X,directiveBundle:W,stringPool:U,totalOriginalSize:Q,totalOptimizedSize:G,overallReduction:B,warnings:J}}function Ik($){return $.charAt(0).toUpperCase()+$.slice(1)}var dH,uH;var oH=k(()=>{dH={treeShake:!0,deadCodeElimination:!0,constantFolding:!0,stringPooling:!1,minifyHtml:!0,removeDevCode:!0,constants:{},preserveDirectives:[],target:"production"},uH=["if","else","elseif","endif","unless","endunless","switch","case","default","endswitch","for","endfor","foreach","endforeach","forelse","endforelse","while","endwhile","break","continue","empty","extends","section","endsection","yield","parent","include","includeIf","includeWhen","includeFirst","once","endonce","push","endpush","prepend","endprepend","stack","component","endcomponent","slot","endslot","props","auth","endauth","guest","endguest","can","endcan","cannot","endcannot","role","endrole","hasRole","endhasRole","hasAnyRole","endhasAnyRole","csrf","method","error","enderror","old","input","textarea","select","checkbox","radio","file","translate","lang","choice","meta","title","seo","jsonld","canonical","robots","sitemap","ts","endts","js","endjs","css","endcss","markdown","endmarkdown","verbatim","endverbatim","env","production","debug","isset","endisset","empty","endempty"]});var dQ={};t(dQ,{toUsers:()=>XO,toUser:()=>YO,stopBroadcasting:()=>$O,startBroadcasting:()=>eH,loadChannels:()=>ZO,getBroadcastServer:()=>tH,channel:()=>GO,broadcastPrivate:()=>JO,broadcastPresence:()=>QO,broadcast:()=>hQ,BroadcastServer:()=>WO,Broadcast:()=>KO});import{Broadcast as a7,BroadcastServer as Ek}from"ts-broadcasting";import{channel as GO}from"ts-broadcasting";import{Broadcast as KO,BroadcastServer as WO}from"ts-broadcasting";function tH(){return N1}async function eH($){if(N1)return N1;let Z=$.driver??"bun",Y=$.host??"0.0.0.0",X=$.port??6001,J=$.scheme??"ws",Q={verbose:$.verbose??!1,driver:Z,default:Z,connections:{[Z]:{driver:Z,host:Y,port:X,scheme:J}}};return N1=new Ek(Q),a7.setServer(N1),await N1.start(),N1}async function $O(){for(let $ of gQ)clearInterval($);if(gQ.length=0,!N1)return;await N1.stop(),N1=null}async function ZO($){let Z=await import($),Y=Z.default??Z;if(typeof Y!=="function")throw Error(`routes/channels.ts must export a default function, got ${typeof Y}`);let X=0;return Y({channel(Q,G){if(X++,G.authorize&&N1)N1.channels.channel(Q,G.authorize);if(G.interval&&G.data){let K=G.event??`${Q}.updated`,W=G.data,U=setInterval(async()=>{try{let B=await W();hQ(Q,K,B)}catch{}},G.interval);gQ.push(U)}}}),X}function m6(){if(N1)return!0;if(!aH)aH=!0,console.warn("[stx] broadcast() called before server started \u2014 messages will be sent once broadcasting is ready");return!1}function hQ($,Z,Y){if(!m6())return;a7.send($,Z,Y)}function YO($,Z,Y){if(!m6())return;a7.toUser($,Z,Y)}function XO($,Z,Y){if(!m6())return;a7.toUsers($,Z,Y)}function JO($,Z,Y){if(!m6())return;a7.send(`private-${$}`,Z,Y)}function QO($,Z,Y){if(!m6())return;a7.presence($,Z,Y)}var N1=null,gQ,aH=!1;var GY=k(()=>{gQ=[]});function UO($,Z){let Y={},X=$.trim();if(X.startsWith("{"))X=X.slice(1);if(X.endsWith("}"))X=X.slice(0,-1);if(X=X.trim(),!X)return Y;let J=0;while(J<X.length){while(J<X.length&&/\s/.test(X[J]))J++;if(J>=X.length)break;let Q="";if(X[J]==='"'||X[J]==="'"){let W=X[J];J++;while(J<X.length&&X[J]!==W)if(X[J]==="\\"&&J+1<X.length)Q+=X[J+1],J+=2;else Q+=X[J],J++;J++}else while(J<X.length&&/[\w$]/.test(X[J]))Q+=X[J],J++;while(J<X.length&&/\s/.test(X[J]))J++;if(X[J]===":")J++;while(J<X.length&&/\s/.test(X[J]))J++;let G,K=J;if(X[J]==='"'||X[J]==="'"){let W=X[J];J++;let U="";while(J<X.length&&X[J]!==W)if(X[J]==="\\"&&J+1<X.length)U+=X[J+1],J+=2;else U+=X[J],J++;J++,G=U}else if(X[J]==="{"){let W=1;J++;while(J<X.length&&W>0){if(X[J]==="{")W++;else if(X[J]==="}")W--;else if(X[J]==='"'||X[J]==="'"){let B=X[J];J++;while(J<X.length&&X[J]!==B){if(X[J]==="\\")J++;J++}}J++}let U=X.slice(K,J);G=UO(U,Z)}else if(X[J]==="["){let W=1;J++;while(J<X.length&&W>0){if(X[J]==="[")W++;else if(X[J]==="]")W--;else if(X[J]==='"'||X[J]==="'"){let B=X[J];J++;while(J<X.length&&X[J]!==B){if(X[J]==="\\")J++;J++}}J++}let U=X.slice(K,J);try{G=JSON.parse(U.replace(/'/g,'"'))}catch{G=U}}else{let W="";while(J<X.length&&X[J]!==","&&!/\s/.test(X[J]))W+=X[J],J++;if(W=W.trim(),W==="true")G=!0;else if(W==="false")G=!1;else if(W==="null")G=null;else if(W==="undefined")G=void 0;else if(/^-?\d+(\.\d+)?$/.test(W))G=Number(W);else if(W in Z)G=Z[W];else G=W}if(Q)Y[Q]=G;while(J<X.length&&/\s/.test(X[J]))J++;if(X[J]===",")J++}return Y}function Dk($,Z,Y){let X=[];for(let[J,Q]of Object.entries(Z)){let G=$[J];if(Q.required&&(G===void 0||G===null)){X.push(`Component "${Y}": Missing required prop "${J}"`);continue}if(G===void 0||G===null)continue;let K=Array.isArray(Q.type)?Q.type:[Q.type];if(!K.includes("any")){let W=Sk(G);if(!K.includes(W))X.push(`Component "${Y}": Prop "${J}" expected ${K.join(" | ")}, got ${W}`)}if(Q.validator&&!Q.validator(G))X.push(`Component "${Y}": Prop "${J}" failed custom validation`)}return X}function kk($,Z){let Y={...$};for(let[X,J]of Object.entries(Z))if(Y[X]===void 0&&J.default!==void 0)Y[X]=typeof J.default==="function"?J.default():J.default;return Y}function Sk($){if(Array.isArray($))return"array";if($===null)return"null";return typeof $}function bk(){return[BO]}var BO;var _O=k(()=>{O1();d0();N0();BO={name:"component",handler:async($,Z,Y,X)=>{if(Z.length<1)return J0("Component","component directive requires at least the component name",$0.INVALID_DIRECTIVE_SYNTAX);let J=Z[0].replace(/['"]/g,""),Q={};if(Z.length>1)try{let B=Z.slice(1).join(",").trim();if(B.startsWith("{")){if(Q=b0(B,Y),Object.keys(Q).length===0)Q=UO(B,Y)}else{let _=B.trim(),z=Y[_];if(z&&typeof z==="object"&&!Array.isArray(z))Q=z}}catch(B){let _=B instanceof Error?B.message:String(B);return console.error("Component props parsing error:",_),J0("Component",`Error parsing component props: ${_}`,$0.EVALUATION_ERROR)}let G=Y.__stx_options||{},K=G.componentsDir||"components",W=new Set;if(!Y.__processedComponents)Y.__processedComponents=new Set;let U=Y.__processedComponents;try{return await D1(J,Q,"",K,Y,X,G,U,W)}catch(B){console.error("Component rendering error:",B);let _=B instanceof Error?B.message:String(B);return J0("Component",`Error rendering component: ${_}`,$0.COMPONENT_RENDER_ERROR)}},hasEndTag:!1}});function KY(){return`
|
|
13892
|
+
`}function cH($,Z={}){let Y=[],X=/@if\(([^)]+)\)[\s\S]*?@endif/g,J=$.matchAll(X);for(let U of J){let B=U[1].trim();if(QY(B,Z)===!1)Y.push({start:U.index,end:U.index+U[0].length,reason:`@if condition always false: ${B}`})}let Q=/@unless\(([^)]+)\)[\s\S]*?@endunless/g,G=$.matchAll(Q);for(let U of G){let B=U[1].trim();if(QY(B,Z)===!0)Y.push({start:U.index,end:U.index+U[0].length,reason:`@unless condition always true: ${B}`})}let K=/@env\(['"]development['"]\)[\s\S]*?@endenv/g;if(Z.__ENV__==="production"){let U=$.matchAll(K);for(let B of U)Y.push({start:B.index,end:B.index+B[0].length,reason:"Development-only code in production build"})}let W=/@debug[\s\S]*?@enddebug/g;if(Z.__ENV__==="production"){let U=$.matchAll(W);for(let B of U)Y.push({start:B.index,end:B.index+B[0].length,reason:"Debug code in production build"})}return Y}function lH($,Z={}){let Y=cH($,Z),X=[];Y.sort((Q,G)=>G.start-Q.start);let J=$;for(let Q of Y)J=J.slice(0,Q.start)+J.slice(Q.end),X.push(Q.reason);return{content:J,removed:X}}function QY($,Z){if($==="true")return!0;if($==="false")return!1;if($==="null")return null;if(/^\d+$/.test($))return Number.parseInt($,10);if(/^\d+\.\d+$/.test($))return Number.parseFloat($);if(/^['"].*['"]$/.test($))return $.slice(1,-1);if($ in Z)return Z[$];let Y=$.match(/^(\w+)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/);if(Y){let[,X,J,Q]=Y,G=X in Z?Z[X]:void 0,K=QY(Q,Z);if(G!==void 0&&K!==void 0)switch(J){case"==":case"===":return G===K;case"!=":case"!==":return G!==K;case">":return G>K;case"<":return G<K;case">=":return G>=K;case"<=":return G<=K}}return}function iH($,Z){let Y=[],X=$;return X=X.replace(/\{\{\s*(\w+)\s*\}\}/g,(J,Q)=>{if(Q in Z)return Y.push(`{{ ${Q} }} -> ${Z[Q]}`),String(Z[Q]);return J}),X=X.replace(/\{\{\s*(\d+)\s*([+\-*])\s*(\d+)\s*\}\}/g,(J,Q,G,K)=>{let W=Number.parseInt(Q,10),U=Number.parseInt(K,10),B;switch(G){case"+":B=W+U;break;case"-":B=W-U;break;case"*":B=W*U;break;default:return J}return Y.push(`{{ ${Q} ${G} ${K} }} -> ${B}`),String(B)}),{content:X,folded:Y}}function nH($){let Z=$,Y=[],X=0;Z=Z.replace(/<(pre|code|script|style)([^>]*)>([\s\S]*?)<\/\1>/gi,(J)=>{let Q=`__PRESERVE_${X++}__`;return Y.push({marker:Q,content:J}),Q}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(J)=>{let Q=`__PRESERVE_${X++}__`;return Y.push({marker:Q,content:J}),Q}),Z=Z.replace(/\{\{--([\s\S]*?)--\}\}/g,""),Z=Z.replace(/<!--[\s\S]*?-->/g,""),Z=Z.replace(/>\s+</g,"><"),Z=Z.replace(/^\s+/gm,""),Z=Z.replace(/\s+$/gm,""),Z=Z.replace(/\s{2,}/g," ");for(let{marker:J,content:Q}of Y){let G=Z.indexOf(J);if(G!==-1)Z=Z.slice(0,G)+Q+Z.slice(G+J.length)}return Z.trim()}function sH($){let Z=new Map,Y=new Map,X=/(['"])([^'"]{10,})\1/g,J;while((J=X.exec($))!==null){let K=J[2];Y.set(K,(Y.get(K)||0)+1)}let Q=0,G=$;for(let[K,W]of Y)if(W>1){let U=`__STR_${Q++}__`;Z.set(U,K);let B=K.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),_=new RegExp(`(['"])${B}\\1`,"g");G=G.replace(_,U)}return{content:G,pool:Z,count:Z.size}}function rH($,Z={}){let Y={...dH,...Z},X=new Blob([$]).size,J=$,Q=[],G=[],K=[],W=[],U=0;if(Y.target==="production")Y.constants={...Y.constants,__ENV__:"production"};if(Y.deadCodeElimination){let z=lH(J,Y.constants);if(J=z.content,z.removed.length>0)Q.push("Dead code elimination"),G.push(...z.removed.map((q)=>`Removed: ${q}`))}if(Y.constantFolding&&Object.keys(Y.constants).length>0){let z=iH(J,Y.constants);if(J=z.content,W=z.folded,W.length>0)Q.push("Constant folding")}if(Y.treeShake){if(K=mH(J,Y.preserveDirectives),K.length>0)Q.push("Tree shaking")}if(Y.stringPooling){let z=sH(J);if(J=z.content,U=z.count,U>0)Q.push("String pooling")}if(Y.minifyHtml){let z=nH(J);if(z.length<J.length)J=z,Q.push("HTML minification")}let B=new Blob([J]).size,_=X>0?Math.round((1-B/X)*100):0;return{content:J,originalSize:X,optimizedSize:B,reduction:_,appliedOptimizations:Q,removedDirectives:K,foldedConstants:W,pooledStrings:U,warnings:G}}async function Tk($,Z={}){let Y={...dH,...Z},X=new Map,J=[],Q=0,G=0,K=new Set;for(let[_,z]of $){let q=rH(z,Y);X.set(_,q),Q+=q.originalSize,G+=q.optimizedSize,J.push(...q.warnings.map((H)=>`${_}: ${H}`));let j=fQ(z);for(let H of j)K.add(H.name)}let W;if(Y.treeShake)W=pH(Array.from(K));let U;if(Y.stringPooling)U=new Map;let B=Q>0?Math.round((1-G/Q)*100):0;return{templates:X,directiveBundle:W,stringPool:U,totalOriginalSize:Q,totalOptimizedSize:G,overallReduction:B,warnings:J}}function Ik($){return $.charAt(0).toUpperCase()+$.slice(1)}var dH,uH;var oH=k(()=>{dH={treeShake:!0,deadCodeElimination:!0,constantFolding:!0,stringPooling:!1,minifyHtml:!0,removeDevCode:!0,constants:{},preserveDirectives:[],target:"production"},uH=["if","else","elseif","endif","unless","endunless","switch","case","default","endswitch","for","endfor","foreach","endforeach","forelse","endforelse","while","endwhile","break","continue","empty","extends","section","endsection","yield","parent","include","includeIf","includeWhen","includeFirst","once","endonce","push","endpush","prepend","endprepend","stack","component","endcomponent","slot","endslot","props","auth","endauth","guest","endguest","can","endcan","cannot","endcannot","role","endrole","hasRole","endhasRole","hasAnyRole","endhasAnyRole","csrf","method","error","enderror","old","input","textarea","select","checkbox","radio","file","translate","lang","choice","meta","title","seo","jsonld","canonical","robots","sitemap","ts","endts","js","endjs","css","endcss","markdown","endmarkdown","verbatim","endverbatim","env","production","debug","isset","endisset","empty","endempty"]});var dQ={};t(dQ,{toUsers:()=>XO,toUser:()=>YO,stopBroadcasting:()=>$O,startBroadcasting:()=>eH,loadChannels:()=>ZO,getBroadcastServer:()=>tH,channel:()=>GO,broadcastPrivate:()=>JO,broadcastPresence:()=>QO,broadcast:()=>hQ,BroadcastServer:()=>WO,Broadcast:()=>KO});import{Broadcast as a7,BroadcastServer as Ek}from"ts-broadcasting";import{channel as GO}from"ts-broadcasting";import{Broadcast as KO,BroadcastServer as WO}from"ts-broadcasting";function tH(){return N1}async function eH($){if(N1)return N1;let Z=$.driver??"bun",Y=$.host??"0.0.0.0",X=$.port??6001,J=$.scheme??"ws",Q={verbose:$.verbose??!1,driver:Z,default:Z,connections:{[Z]:{driver:Z,host:Y,port:X,scheme:J}}};return N1=new Ek(Q),a7.setServer(N1),await N1.start(),N1}async function $O(){for(let $ of gQ)clearInterval($);if(gQ.length=0,!N1)return;await N1.stop(),N1=null}async function ZO($){let Z=await import($),Y=Z.default??Z;if(typeof Y!=="function")throw Error(`routes/channels.ts must export a default function, got ${typeof Y}`);let X=0;return Y({channel(Q,G){if(X++,G.authorize&&N1)N1.channels.channel(Q,G.authorize);if(G.interval&&G.data){let K=G.event??`${Q}.updated`,W=G.data,U=setInterval(async()=>{try{let B=await W();hQ(Q,K,B)}catch{}},G.interval);gQ.push(U)}}}),X}function m6(){if(N1)return!0;if(!aH)aH=!0,console.warn("[stx] broadcast() called before server started \u2014 messages will be sent once broadcasting is ready");return!1}function hQ($,Z,Y){if(!m6())return;a7.send($,Z,Y)}function YO($,Z,Y){if(!m6())return;a7.toUser($,Z,Y)}function XO($,Z,Y){if(!m6())return;a7.toUsers($,Z,Y)}function JO($,Z,Y){if(!m6())return;a7.send(`private-${$}`,Z,Y)}function QO($,Z,Y){if(!m6())return;a7.presence($,Z,Y)}var N1=null,gQ,aH=!1;var GY=k(()=>{gQ=[]});function UO($,Z){let Y={},X=$.trim();if(X.startsWith("{"))X=X.slice(1);if(X.endsWith("}"))X=X.slice(0,-1);if(X=X.trim(),!X)return Y;let J=0;while(J<X.length){while(J<X.length&&/\s/.test(X[J]))J++;if(J>=X.length)break;let Q="";if(X[J]==='"'||X[J]==="'"){let W=X[J];J++;while(J<X.length&&X[J]!==W)if(X[J]==="\\"&&J+1<X.length)Q+=X[J+1],J+=2;else Q+=X[J],J++;J++}else while(J<X.length&&/[\w$]/.test(X[J]))Q+=X[J],J++;while(J<X.length&&/\s/.test(X[J]))J++;if(X[J]===":")J++;while(J<X.length&&/\s/.test(X[J]))J++;let G,K=J;if(X[J]==='"'||X[J]==="'"){let W=X[J];J++;let U="";while(J<X.length&&X[J]!==W)if(X[J]==="\\"&&J+1<X.length)U+=X[J+1],J+=2;else U+=X[J],J++;J++,G=U}else if(X[J]==="{"){let W=1;J++;while(J<X.length&&W>0){if(X[J]==="{")W++;else if(X[J]==="}")W--;else if(X[J]==='"'||X[J]==="'"){let B=X[J];J++;while(J<X.length&&X[J]!==B){if(X[J]==="\\")J++;J++}}J++}let U=X.slice(K,J);G=UO(U,Z)}else if(X[J]==="["){let W=1;J++;while(J<X.length&&W>0){if(X[J]==="[")W++;else if(X[J]==="]")W--;else if(X[J]==='"'||X[J]==="'"){let B=X[J];J++;while(J<X.length&&X[J]!==B){if(X[J]==="\\")J++;J++}}J++}let U=X.slice(K,J);try{G=JSON.parse(U.replace(/'/g,'"'))}catch{G=U}}else{let W="";while(J<X.length&&X[J]!==","&&!/\s/.test(X[J]))W+=X[J],J++;if(W=W.trim(),W==="true")G=!0;else if(W==="false")G=!1;else if(W==="null")G=null;else if(W==="undefined")G=void 0;else if(/^-?\d+(\.\d+)?$/.test(W))G=Number(W);else if(W in Z)G=Z[W];else G=W}if(Q)Y[Q]=G;while(J<X.length&&/\s/.test(X[J]))J++;if(X[J]===",")J++}return Y}function Dk($,Z,Y){let X=[];for(let[J,Q]of Object.entries(Z)){let G=$[J];if(Q.required&&(G===void 0||G===null)){X.push(`Component "${Y}": Missing required prop "${J}"`);continue}if(G===void 0||G===null)continue;let K=Array.isArray(Q.type)?Q.type:[Q.type];if(!K.includes("any")){let W=Sk(G);if(!K.includes(W))X.push(`Component "${Y}": Prop "${J}" expected ${K.join(" | ")}, got ${W}`)}if(Q.validator&&!Q.validator(G))X.push(`Component "${Y}": Prop "${J}" failed custom validation`)}return X}function kk($,Z){let Y={...$};for(let[X,J]of Object.entries(Z))if(Y[X]===void 0&&J.default!==void 0)Y[X]=typeof J.default==="function"?J.default():J.default;return Y}function Sk($){if(Array.isArray($))return"array";if($===null)return"null";return typeof $}function bk(){return[BO]}var BO;var _O=k(()=>{O1();d0();A0();BO={name:"component",handler:async($,Z,Y,X)=>{if(Z.length<1)return J0("Component","component directive requires at least the component name",$0.INVALID_DIRECTIVE_SYNTAX);let J=Z[0].replace(/['"]/g,""),Q={};if(Z.length>1)try{let B=Z.slice(1).join(",").trim();if(B.startsWith("{")){if(Q=b0(B,Y),Object.keys(Q).length===0)Q=UO(B,Y)}else{let _=B.trim(),z=Y[_];if(z&&typeof z==="object"&&!Array.isArray(z))Q=z}}catch(B){let _=B instanceof Error?B.message:String(B);return console.error("Component props parsing error:",_),J0("Component",`Error parsing component props: ${_}`,$0.EVALUATION_ERROR)}let G=Y.__stx_options||{},K=G.componentsDir||"components",W=new Set;if(!Y.__processedComponents)Y.__processedComponents=new Set;let U=Y.__processedComponents;try{return await D1(J,Q,"",K,Y,X,G,U,W)}catch(B){console.error("Component rendering error:",B);let _=B instanceof Error?B.message:String(B);return J0("Component",`Error rendering component: ${_}`,$0.COMPONENT_RENDER_ERROR)}},hasEndTag:!1}});function KY(){return`
|
|
13893
13893
|
/* Theme selector for code blocks */
|
|
13894
13894
|
.theme-selector {
|
|
13895
13895
|
margin: 1rem 0;
|
|
@@ -14403,7 +14403,7 @@ ${O.stack}</pre>`,{headers:{"Content-Type":"text/html"}})}});console.clear(),con
|
|
|
14403
14403
|
${I.blue}stx${I.reset} ${I.green}${process.env.stx_VERSION||"v0.0.10"}${I.reset} ${I.dim}ready in ${Math.random()*10+5|0}.${Math.random()*90+10|0} ms${I.reset}`),console.log(`
|
|
14404
14404
|
${I.bright}\u2192 ${I.cyan}http://localhost:${q}/${I.reset}`),console.log(`
|
|
14405
14405
|
${I.yellow}Routes:${I.reset}`);let F=J1.relative(process.cwd(),K);if(console.log(` ${I.green}\u2514\u2500 /${I.reset} \u2192 ${I.bright}${F}${I.reset}`),console.log(`
|
|
14406
|
-
Press ${I.cyan}h${I.reset} + ${I.cyan}Enter${I.reset} to show shortcuts`),Z5(L.url.toString(),()=>{if(X)d1.watch(J1.dirname(K),{recursive:!0}).close();L.stop()}),Z.native){let O=await Bun.file(K).text(),V=_Y(O);await t7(q,{title:J1.basename(K,".stx"),titlebarHidden:Z.titlebarHidden===!0,nativeSidebar:!!V,sidebarConfig:V})}if(X){let O=J1.dirname(K);console.log(`${I.blue}Watching ${I.bright}${O}${I.reset} for changes...`);let V=d1.watch(O,{recursive:!0},async(N,A)=>{if(!A||i6(A))return;if(l6(A)){console.log(`${I.yellow}File ${I.bright}${A}${I.yellow} changed, rebuilding...${I.reset}`),c$.clear(),e$();let w=await B();if(await Y6(z),J&&Q)if(w)Q.reload(A);else Q.error("Build failed - check console for details")}else if(c6(A)){if(console.log(`${I.cyan}CSS ${I.bright}${A}${I.cyan} changed${I.reset}`),J&&Q)Q.updateCss(A)}});process.on("SIGINT",()=>{if(V.close(),Q)Z4();L.stop(),process.exit(0)})}return!0}var AO=k(()=>{d7();qY();
|
|
14406
|
+
Press ${I.cyan}h${I.reset} + ${I.cyan}Enter${I.reset} to show shortcuts`),Z5(L.url.toString(),()=>{if(X)d1.watch(J1.dirname(K),{recursive:!0}).close();L.stop()}),Z.native){let O=await Bun.file(K).text(),V=_Y(O);await t7(q,{title:J1.basename(K,".stx"),titlebarHidden:Z.titlebarHidden===!0,nativeSidebar:!!V,sidebarConfig:V})}if(X){let O=J1.dirname(K);console.log(`${I.blue}Watching ${I.bright}${O}${I.reset} for changes...`);let V=d1.watch(O,{recursive:!0},async(N,A)=>{if(!A||i6(A))return;if(l6(A)){console.log(`${I.yellow}File ${I.bright}${A}${I.yellow} changed, rebuilding...${I.reset}`),c$.clear(),e$();let w=await B();if(await Y6(z),J&&Q)if(w)Q.reload(A);else Q.error("Build failed - check console for details")}else if(c6(A)){if(console.log(`${I.cyan}CSS ${I.bright}${A}${I.cyan} changed${I.reset}`),J&&Q)Q.updateCss(A)}});process.on("SIGINT",()=>{if(V.close(),Q)Z4();L.stop(),process.exit(0)})}return!0}var AO=k(()=>{d7();qY();A0();p6();pQ()});var lQ=`
|
|
14407
14407
|
<script data-stx-helpers>
|
|
14408
14408
|
(function() {
|
|
14409
14409
|
'use strict'
|
|
@@ -14884,12 +14884,12 @@ ${j.stack}</pre>`,{headers:{"Content-Type":"text/html"}})}});console.clear(),con
|
|
|
14884
14884
|
${I.blue}stx${I.reset} ${I.green}${process.env.stx_VERSION||"v0.0.10"}${I.reset} ${I.dim}ready in ${Math.random()*10+5|0}.${Math.random()*90+10|0} ms${I.reset}`),console.log(`
|
|
14885
14885
|
${I.bright}\u2192 ${I.cyan}http://localhost:${B}/${I.reset}`),console.log(`
|
|
14886
14886
|
${I.yellow}Routes:${I.reset}`);let z=new Set(K.map((j)=>j.routeTemplate)),q=Object.entries(G).filter(([j])=>!z.has(j)).sort(([j],[H])=>j.localeCompare(H)).map(([j,H])=>({route:j==="/"?"/":j,filePath:e0.relative(process.cwd(),H.filePath),fileType:H.fileType}));for(let j of K){let H=j.routeTemplate.replace(/\[([^\]]+)\]/g,":$1");q.push({route:H,filePath:e0.relative(process.cwd(),j.filePath),fileType:"stx"})}if(q.sort((j,H)=>j.route.localeCompare(H.route)),q.forEach((j,H)=>{let F=H===q.length-1?"\u2514\u2500 ":"\u251C\u2500 ",O=j.fileType==="md"?`${I.magenta}(markdown)${I.reset}`:"";console.log(` ${I.green}${F}${j.route}${I.reset} \u2192 ${I.bright}${j.filePath}${I.reset} ${O}`)}),console.log(`
|
|
14887
|
-
Press ${I.cyan}h${I.reset} + ${I.cyan}Enter${I.reset} to show shortcuts`),Z5(_.url.toString(),()=>{if(X)X5.watch(Q,{recursive:!0}).close();_.stop()}),X){console.log(`${I.blue}Watching for changes...${I.reset}`);let j=X5.watch(Q,{recursive:!0},async(H,L)=>{if(!L)return;if(L.endsWith(".stx")||L.endsWith(".js")||L.endsWith(".ts")||L.endsWith(".md"))console.log(`${I.yellow}File ${I.bright}${L}${I.yellow} changed, rebuilding...${I.reset}`),c$.clear(),e$(),await W()});process.on("SIGINT",()=>{j.close(),_.stop(),process.exit(0)})}return!0}var RO=k(()=>{k7();s0();d7();qY();N0();p6()});var{serve:ck}=globalThis.Bun;import z1 from"fs";import H0 from"path";function nQ($){let Z=Bun.file($),Y=H0.extname($).toLowerCase(),X={".html":"text/html",".css":"text/css",".js":"text/javascript",".json":"application/json",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".ico":"image/x-icon",".woff":"font/woff",".woff2":"font/woff2",".ttf":"font/ttf",".otf":"font/otf",".eot":"application/vnd.ms-fontobject"},Q=[".js",".css",".json"].includes(Y)?{"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}:{};return new Response(Z,{headers:{"Content-Type":X[Y]||"application/octet-stream",...Q}})}async function MO($=".",Z={}){let Y=Z.port||3000,X=Z.watch!==!1,J=Z.hotReload!==!1&&X,Q=null,G=Z.hmrPort||Y+1,K=H0.resolve($),{loadStxConfig:W}=await Promise.resolve().then(() => (Y5(),P5)),U=await W(K),B=U.root&&U.root!=="."?H0.join(K,U.root):K,_=U.pagesDir||"pages",z=H0.join(B,_);if(!z1.existsSync(z))return console.error(`${I.red}Error: No '${_}' directory found in ${I.bright}${B}${I.reset}`),console.log(`${I.dim}Create a ${_}/ directory with .stx files to define your routes.${I.reset}`),console.log(`${I.dim}Example: ${_}/index.stx for the homepage.${I.reset}`),!1;let q=z$(B);if(q.length===0)return console.error(`${I.red}Error: No page files found in ${I.bright}${z}${I.reset}`),!1;console.log(`${I.blue}Found ${I.bright}${q.length}${I.blue} routes${I.reset}`);let j=U?._pluginPageDirs||[],H=[];for(let{dir:y,prefix:h}of j)if(z1.existsSync(y)){let p=z$(H0.dirname(y),{pagesDir:H0.basename(y)});for(let n of p){let r=h==="/"?n.pattern:`${h}${n.pattern==="/"?"":n.pattern}`;H.push({route:{...n,pattern:r},prefix:h})}if(p.length>0)console.log(`${I.blue}Plugin pages: ${I.bright}${p.length}${I.blue} routes at ${I.cyan}${h}${I.reset}`)}let L=new Map,F=null,O=null;if(Z.stxOptions?.shell!==!1){if(O=await sQ(K,Z.stxOptions?.shell),O){if(F=await jY(O,Z.stxOptions||{}),F)console.log(`${I.blue}Using app shell: ${I.bright}${H0.relative(K,O)}${I.reset} ${I.dim}(deprecated: use layouts/default.stx instead)${I.reset}`)}}y6(),await g6(K);let V=f6();if(V.length>0)console.log(`${I.blue}Loaded ${I.bright}${V.length}${I.blue} middleware: ${I.dim}${V.join(", ")}${I.reset}`);let N={},A=null;try{let{loadStxConfig:y}=await Promise.resolve().then(() => (Y5(),P5)),h=await y(K);if(h?.apiRouter)A=h?.apiRouter,console.log(`${I.blue}Using custom router for API handling${I.reset}`);if(h?.apiRoutes){N=h.apiRoutes;let p=Object.keys(N).length;if(p>0)console.log(`${I.blue}Loaded ${I.bright}${p} API route${p>1?"s":""}${I.reset}`)}if(h?.broadcasting?.enabled)try{let{startBroadcasting:p,loadChannels:n}=await Promise.resolve().then(() => (GY(),dQ)),r=h.broadcasting;await p(r);let K0=r.port??6001;console.log(`${I.magenta}Broadcasting on ${I.cyan}ws://localhost:${K0}/ws${I.reset}`);let Z0=H0.join(process.cwd(),"channels.ts");if(z1.existsSync(Z0))try{let F0=await n(Z0);console.log(`${I.blue}Loaded ${I.bright}${F0} broadcast channel${F0!==1?"s":""}${I.blue} from channels.ts${I.reset}`)}catch(F0){console.warn(`${I.yellow}Failed to load channels.ts: ${F0.message}${I.reset}`)}}catch(p){console.warn(`${I.yellow}Broadcasting failed to start: ${p.message}${I.reset}`)}}catch{}let w=H0.join(K,".stx/output");z1.mkdirSync(w,{recursive:!0});let R=new Map,M=new Set,T=async(y)=>{let h=MQ(z,y);if(!h)return null;try{let p=await Bun.build({entrypoints:[h],outdir:w,plugins:[C5],publicPath:"/",define:{"process.env.NODE_ENV":'"development"'},...Z.stxOptions});if(!p.success)return null;let n=p.outputs.find((r)=>r.path.endsWith(".html"));if(!n)return null;return await Bun.file(n.path).text()}catch{return null}},E=async(y,h)=>{try{let{processDirectives:p,extractVariables:n,defaultConfig:r,loadStxConfig:K0,injectRouterScript:Z0}=await Promise.resolve().then(() => (Y5(),P5)),{checkCache:F0,cacheTemplate:R0,readFileCached:v,templateCache:d}=await Promise.resolve().then(() => (E5(),c7)),m=await K0(K),g=(V0)=>{if(!V0)return V0;if(H0.isAbsolute(V0))return V0;return H0.resolve(K,V0)},c={...r,...m,...Z.stxOptions,autoShell:!0};if(Z.debugDirectives)c.debug=!0;c.partialsDir=g(c.partialsDir),c.componentsDir=g(c.componentsDir),c.layoutsDir=g(c.layoutsDir),c.storesDir=g(c.storesDir||"stores"),c.cachePath=g(c.cachePath||".stx/cache");let a=!h&&!Z.profile,l=c.cache!==!1;if(l&&a){let V0=d.get(y.filePath);if(V0)try{if((await z1.promises.stat(y.filePath)).mtime.getTime()<=V0.mtime){let A$=!0;for(let Z1 of V0.dependencies){if(!z1.existsSync(Z1)){A$=!1;break}if((await z1.promises.stat(Z1)).mtime.getTime()>V0.mtime){A$=!1;break}}if(A$){let Z1=V0.output;if(F)Z1=j$(Z1,{preserveHead:!0});return{route:y,content:Z1}}}}catch{}let $1=await F0(y.filePath,c);if($1){let S1=$1;if(F)S1=j$(S1,{preserveHead:!0});return{route:y,content:S1}}}let Q0=l?await v(y.filePath):await Bun.file(y.filePath).text(),{classifyAllScripts:M0}=await Promise.resolve().then(() => (Y5(),P5)),w0=M0(Q0),W0=w0.server.map((V0)=>V0.content),o0=Q0;for(let V0 of w0.server)o0=o0.replace(V0.fullTag,"");let p0={__filename:y.filePath,__dirname:H0.dirname(y.filePath),params:h??{}},{resetHead:u5}=await Promise.resolve().then(() => (f$(),$Z));u5();for(let V0 of W0)try{await n(V0,p0,y.filePath)}catch($1){if(Z.stxOptions?.debug)console.error("[stx] variable extraction error",y.filePath,$1?.message||$1)}let G0=new Set,k0;if(Z.profile){let V0=performance.now();k0=await p(o0,p0,y.filePath,c,G0);let $1=performance.now()-V0,S1=H0.relative(K,y.filePath)||y.filePath;console.log(`[stx:profile] ${S1} \u2192 ${$1.toFixed(2)}ms`)}else k0=await p(o0,p0,y.filePath,c,G0);if(!F)k0=await Z0(k0);{let{interpolateScriptExpressions:V0}=await Promise.resolve().then(() => (c0(),b4));k0=k0.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/g,($1,S1,A$)=>{if(!/function\s+__stx_setup_/.test(A$))return $1;return`<script${S1}>${V0(A$,p0)}</script>`})}if(F)k0=j$(k0,{preserveHead:!0});if(l&&a)await R0(y.filePath,k0,G0,c);let{extractStreamBoundaries:H4}=await Promise.resolve().then(() => (h$(),A5)),k1=H4(p0),N$=p0.__streamTemplates;if(N$&&typeof N$==="object"&&Object.keys(N$).length>0){let V0=p0.streamBoundaries||{},$1={...c,autoShell:!1},S1=Object.keys(N$).map((Z1)=>({id:Z1,render:async()=>{let fK=typeof V0[Z1]==="function"?await V0[Z1]():void 0;return p(N$[Z1],{...p0,$boundary:fK},y.filePath,$1,new Set)}})),A$=new Set(S1.map((Z1)=>Z1.id));k1=[...(k1||[]).filter((Z1)=>!A$.has(Z1.id)),...S1]}if(k1&&k1.length>0)M.add(y.pattern);else k1=void 0;return{route:y,content:k0,boundaries:k1}}catch(p){return console.error(`${I.red}Error building ${I.bright}${y.pattern}${I.reset}:`,p),null}},D=8,S=async()=>{R.clear(),L.clear();for(let y=0;y<q.length;y+=D){let h=q.slice(y,y+D),p=await Promise.all(h.map((n)=>E(n)));for(let n of p)if(n)R.set(n.route.pattern,n)}for(let y=0;y<H.length;y+=D){let h=H.slice(y,y+D),p=await Promise.all(h.map(({route:n})=>E(n)));for(let n of p)if(n)L.set(n.route.pattern,n)}return R.size>0};if(console.log(`${I.blue}Building pages...${I.reset}`),!await S())return console.error(`${I.red}No pages were successfully built${I.reset}`),!1;await D7(K);let P=Y;try{if(P=await q$(Y),P!==Y)console.log(`${I.yellow}Port ${Y} is busy, using port ${P} instead${I.reset}`)}catch{return console.error(`${I.red}Could not find an available port${I.reset}`),!1}if(J){let y=Z.hmrPort||P+1;Q=n6({wsPort:y,verbose:!1}),G=Q.start(y)}let b=(y,h)=>{let p=`<script>(function(){var s=typeof stx!=='undefined'?stx:{};s._rp=${JSON.stringify(h)};if(s.setRouteParams)s.setRouteParams(s._rp);})()</script>`;if(y.includes("</head>"))return y.replace("</head>",`${p}</head>`);if(y.includes("<body"))return y.replace(/<body([^>]*)>/,`<body$1>${p}`);return p+y};console.log(`${I.blue}Starting server...${I.reset}`);let x=ck({port:P,async fetch(y){let h=new URL(y.url),p=U?.publicDir||"public",n=H0.join(K,p,h.pathname),r=H0.join(K,h.pathname),K0=H0.join(w,h.pathname),[Z0,F0,R0]=await Promise.all([z1.promises.stat(n).catch(()=>null),z1.promises.stat(r).catch(()=>null),z1.promises.stat(K0).catch(()=>null)]);if(Z0?.isFile())return nQ(n);if(F0?.isFile())return nQ(r);if(R0?.isFile())return nQ(K0);if(h.pathname.startsWith("/_stx/component/")){let g=decodeURIComponent(h.pathname.slice(16));if(g)try{let c=`<${g} />`,a={...buildConfig,autoShell:!1},l=await processDirectives(c,{},H0.join(K,"components",`${g}.stx`),a,new Set);return new Response(l,{headers:{"Content-Type":"text/html"}})}catch(c){return new Response(`<div class="stx-async-error">${c.message}</div>`,{status:500,headers:{"Content-Type":"text/html"}})}}if(h.pathname==="/_stx/img"){let{handleImageRequest:g}=await Promise.resolve().then(() => (zX(),UW)),c=await g(y,{publicDir:H0.join(K,p),cacheDir:H0.join(K,".stx/cache/img")});if(c)return c}if(A)try{let g=await A.handleRequest(y);if(g.status!==404)return g}catch{}if(N[h.pathname])try{return await N[h.pathname](y)}catch(g){return new Response(JSON.stringify({error:g.message}),{status:500,headers:{"Content-Type":"application/json"}})}let v=YY(h.pathname,q);if(v){let g=R.get(v.route.pattern),c=M.has(v.route.pattern);if(v.route.isDynamic&&Object.keys(v.params).length>0||c){let a=await E(v.route,v.params);if(a)g=a}if(g){let a=e8();if(a.validate){if(!await a.validate({params:v.params})){let M0=await T(404);if(M0){let w0=M0;if(w0=await T0(w0,K),J)w0=a1(w0,G);return new Response(w0,{status:404,headers:{"Content-Type":"text/html"}})}return new Response("Not Found",{status:404})}}if(a.middleware){let Q0=v6(h.pathname,v.params,a,h.search),M0=x6(Q0,null,y),w0=await h6(a.middleware,M0);if(w0.redirect){let W0=w0.redirect.path,o0=w0.redirect.options.redirectCode||302,p0=new Headers(w0.responseHeaders);return p0.set("Location",W0),new Response(null,{status:o0,headers:p0})}if(w0.abort){let{statusCode:W0,message:o0}=w0.abort.error;return new Response(`<!DOCTYPE html><html><head><title>Error ${W0}</title></head><body><h1>Error ${W0}</h1><p>${o0}</p></body></html>`,{status:W0,headers:{"Content-Type":"text/html"}})}if(Object.keys(w0.state).length>0){let W0=`<script>(function(){var s=typeof stx!=='undefined'?stx:{};s._ms=${JSON.stringify(w0.state)};if(s.setMiddlewareState)s.setMiddlewareState(s._ms);})()</script>`;g.content=g.content.replace("</head>",`${W0}</head>`)}}let l=g.content;if(F&&rQ(y)){let Q0=o6(l);if(Object.keys(v.params).length>0)l=b(l,v.params);l=await T0(l,K);let M0=U?.router?.container||"main";return l=u6(l,M0),new Response(l,{headers:{"Content-Type":"text/html","X-STX-Fragment":"true","X-STX-Layout":Q0.layout,"X-STX-Layout-Group":Q0.group,"Cache-Control":"no-store, no-cache, must-revalidate"}})}if(F)l=r6(F,l);if(Object.keys(v.params).length>0)l=b(l,v.params);if(l=await T0(l,K),J)l=a1(l,G);if(Z.native)if(l.includes("<head>"))l=l.replace("<head>","<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script>");else l="<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script></head>"+l;if(Z.titlebarHidden)if(l.includes("<head>"))l=l.replace("<head>","<head><style>html.stx-titlebar-hidden .stx-traffic-lights-dot{visibility:hidden}</style><script>document.documentElement.classList.add('stx-titlebar-hidden')</script>");else l=`<head><style>html.stx-titlebar-hidden .stx-traffic-lights-dot{visibility:hidden}</style><script>document.documentElement.classList.add('stx-titlebar-hidden')</script></head>${l}`;if(g.boundaries&&g.boundaries.length>0){let{renderStreamingPage:Q0,streamToResponse:M0}=await Promise.resolve().then(() => (h$(),A5));return M0(Q0(l,g.boundaries,{timeoutMs:30000}),{headers:{"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}return new Response(l,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}if(H.length>0){let g=H.map((a)=>a.route),c=YY(h.pathname,g);if(c){let a=L.get(c.route.pattern);if(a){let l=a.content;if(F)l=r6(F,l);if(Object.keys(c.params).length>0)l=b(l,c.params);if(l=await T0(l,K),J)l=a1(l,G);return new Response(l,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}for(let{prefix:a}of j)if(a!=="/"&&h.pathname.startsWith(a)){let l=L.get(a)||L.get(a+"/");if(l){let Q0=l.content;if(F)Q0=r6(F,Q0);if(Q0=await T0(Q0,K),J)Q0=a1(Q0,G);return new Response(Q0,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}}let d=R.get("/");if(d){let g=d.content;if(g=await T0(g,K),J)g=a1(g,G);if(Z.native)if(g.includes("<head>"))g=g.replace("<head>","<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script>");else g="<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script></head>"+g;return new Response(g,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}let m=await T(404);if(m){let g=m;if(g=await T0(g,K),J)g=a1(g,G);return new Response(g,{status:404,headers:{"Content-Type":"text/html"}})}return new Response("Not Found",{status:404})},async error(y){let h=await T(500);if(h)return new Response(h,{status:500,headers:{"Content-Type":"text/html"}});return new Response(`<pre>${y}
|
|
14887
|
+
Press ${I.cyan}h${I.reset} + ${I.cyan}Enter${I.reset} to show shortcuts`),Z5(_.url.toString(),()=>{if(X)X5.watch(Q,{recursive:!0}).close();_.stop()}),X){console.log(`${I.blue}Watching for changes...${I.reset}`);let j=X5.watch(Q,{recursive:!0},async(H,L)=>{if(!L)return;if(L.endsWith(".stx")||L.endsWith(".js")||L.endsWith(".ts")||L.endsWith(".md"))console.log(`${I.yellow}File ${I.bright}${L}${I.yellow} changed, rebuilding...${I.reset}`),c$.clear(),e$(),await W()});process.on("SIGINT",()=>{j.close(),_.stop(),process.exit(0)})}return!0}var RO=k(()=>{k7();s0();d7();qY();A0();p6()});var{serve:ck}=globalThis.Bun;import z1 from"fs";import H0 from"path";function nQ($){let Z=Bun.file($),Y=H0.extname($).toLowerCase(),X={".html":"text/html",".css":"text/css",".js":"text/javascript",".json":"application/json",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".ico":"image/x-icon",".woff":"font/woff",".woff2":"font/woff2",".ttf":"font/ttf",".otf":"font/otf",".eot":"application/vnd.ms-fontobject"},Q=[".js",".css",".json"].includes(Y)?{"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}:{};return new Response(Z,{headers:{"Content-Type":X[Y]||"application/octet-stream",...Q}})}async function MO($=".",Z={}){let Y=Z.port||3000,X=Z.watch!==!1,J=Z.hotReload!==!1&&X,Q=null,G=Z.hmrPort||Y+1,K=H0.resolve($),{loadStxConfig:W}=await Promise.resolve().then(() => (Y5(),P5)),U=await W(K),B=U.root&&U.root!=="."?H0.join(K,U.root):K,_=U.pagesDir||"pages",z=H0.join(B,_);if(!z1.existsSync(z))return console.error(`${I.red}Error: No '${_}' directory found in ${I.bright}${B}${I.reset}`),console.log(`${I.dim}Create a ${_}/ directory with .stx files to define your routes.${I.reset}`),console.log(`${I.dim}Example: ${_}/index.stx for the homepage.${I.reset}`),!1;let q=z$(B);if(q.length===0)return console.error(`${I.red}Error: No page files found in ${I.bright}${z}${I.reset}`),!1;console.log(`${I.blue}Found ${I.bright}${q.length}${I.blue} routes${I.reset}`);let j=U?._pluginPageDirs||[],H=[];for(let{dir:y,prefix:h}of j)if(z1.existsSync(y)){let p=z$(H0.dirname(y),{pagesDir:H0.basename(y)});for(let n of p){let r=h==="/"?n.pattern:`${h}${n.pattern==="/"?"":n.pattern}`;H.push({route:{...n,pattern:r},prefix:h})}if(p.length>0)console.log(`${I.blue}Plugin pages: ${I.bright}${p.length}${I.blue} routes at ${I.cyan}${h}${I.reset}`)}let L=new Map,F=null,O=null;if(Z.stxOptions?.shell!==!1){if(O=await sQ(K,Z.stxOptions?.shell),O){if(F=await jY(O,Z.stxOptions||{}),F)console.log(`${I.blue}Using app shell: ${I.bright}${H0.relative(K,O)}${I.reset} ${I.dim}(deprecated: use layouts/default.stx instead)${I.reset}`)}}y6(),await g6(K);let V=f6();if(V.length>0)console.log(`${I.blue}Loaded ${I.bright}${V.length}${I.blue} middleware: ${I.dim}${V.join(", ")}${I.reset}`);let N={},A=null;try{let{loadStxConfig:y}=await Promise.resolve().then(() => (Y5(),P5)),h=await y(K);if(h?.apiRouter)A=h?.apiRouter,console.log(`${I.blue}Using custom router for API handling${I.reset}`);if(h?.apiRoutes){N=h.apiRoutes;let p=Object.keys(N).length;if(p>0)console.log(`${I.blue}Loaded ${I.bright}${p} API route${p>1?"s":""}${I.reset}`)}if(h?.broadcasting?.enabled)try{let{startBroadcasting:p,loadChannels:n}=await Promise.resolve().then(() => (GY(),dQ)),r=h.broadcasting;await p(r);let W0=r.port??6001;console.log(`${I.magenta}Broadcasting on ${I.cyan}ws://localhost:${W0}/ws${I.reset}`);let Z0=H0.join(process.cwd(),"channels.ts");if(z1.existsSync(Z0))try{let V0=await n(Z0);console.log(`${I.blue}Loaded ${I.bright}${V0} broadcast channel${V0!==1?"s":""}${I.blue} from channels.ts${I.reset}`)}catch(V0){console.warn(`${I.yellow}Failed to load channels.ts: ${V0.message}${I.reset}`)}}catch(p){console.warn(`${I.yellow}Broadcasting failed to start: ${p.message}${I.reset}`)}}catch{}let w=H0.join(K,".stx/output");z1.mkdirSync(w,{recursive:!0});let R=new Map,M=new Set,T=async(y)=>{let h=MQ(z,y);if(!h)return null;try{let p=await Bun.build({entrypoints:[h],outdir:w,plugins:[C5],publicPath:"/",define:{"process.env.NODE_ENV":'"development"'},...Z.stxOptions});if(!p.success)return null;let n=p.outputs.find((r)=>r.path.endsWith(".html"));if(!n)return null;return await Bun.file(n.path).text()}catch{return null}},E=async(y,h)=>{try{let{processDirectives:p,extractVariables:n,defaultConfig:r,loadStxConfig:W0,injectRouterScript:Z0}=await Promise.resolve().then(() => (Y5(),P5)),{checkCache:V0,cacheTemplate:M0,readFileCached:v,templateCache:d}=await Promise.resolve().then(() => (E5(),c7)),m=await W0(K),g=(N0)=>{if(!N0)return N0;if(H0.isAbsolute(N0))return N0;return H0.resolve(K,N0)},c={...r,...m,...Z.stxOptions,autoShell:!0};if(Z.debugDirectives)c.debug=!0;c.partialsDir=g(c.partialsDir),c.componentsDir=g(c.componentsDir),c.layoutsDir=g(c.layoutsDir),c.storesDir=g(c.storesDir||"stores"),c.cachePath=g(c.cachePath||".stx/cache");let a=!h&&!Z.profile,l=c.cache!==!1;if(l&&a){let N0=d.get(y.filePath);if(N0)try{if((await z1.promises.stat(y.filePath)).mtime.getTime()<=N0.mtime){let A$=!0;for(let Z1 of N0.dependencies){if(!z1.existsSync(Z1)){A$=!1;break}if((await z1.promises.stat(Z1)).mtime.getTime()>N0.mtime){A$=!1;break}}if(A$){let Z1=N0.output;if(F)Z1=j$(Z1,{preserveHead:!0});return{route:y,content:Z1}}}}catch{}let $1=await V0(y.filePath,c);if($1){let S1=$1;if(F)S1=j$(S1,{preserveHead:!0});return{route:y,content:S1}}}let Q0=l?await v(y.filePath):await Bun.file(y.filePath).text(),{classifyAllScripts:R0}=await Promise.resolve().then(() => (Y5(),P5)),O0=R0(Q0),K0=O0.server.map((N0)=>N0.content),o0=Q0;for(let N0 of O0.server)o0=o0.replace(N0.fullTag,"");let p0={__filename:y.filePath,__dirname:H0.dirname(y.filePath),params:h??{}},{resetHead:u5}=await Promise.resolve().then(() => (f$(),$Z));u5();for(let N0 of K0)try{await n(N0,p0,y.filePath)}catch($1){if(Z.stxOptions?.debug)console.error("[stx] variable extraction error",y.filePath,$1?.message||$1)}let G0=new Set,k0;if(Z.profile){let N0=performance.now();k0=await p(o0,p0,y.filePath,c,G0);let $1=performance.now()-N0,S1=H0.relative(K,y.filePath)||y.filePath;console.log(`[stx:profile] ${S1} \u2192 ${$1.toFixed(2)}ms`)}else k0=await p(o0,p0,y.filePath,c,G0);if(!F)k0=await Z0(k0);{let{interpolateScriptExpressions:N0}=await Promise.resolve().then(() => (c0(),b4));k0=k0.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/g,($1,S1,A$)=>{if(!/function\s+__stx_setup_/.test(A$))return $1;return`<script${S1}>${N0(A$,p0)}</script>`})}if(F)k0=j$(k0,{preserveHead:!0});if(l&&a)await M0(y.filePath,k0,G0,c);let{extractStreamBoundaries:H4}=await Promise.resolve().then(() => (h$(),A5)),k1=H4(p0),N$=p0.__streamTemplates;if(N$&&typeof N$==="object"&&Object.keys(N$).length>0){let N0=p0.streamBoundaries||{},$1={...c,autoShell:!1},S1=Object.keys(N$).map((Z1)=>({id:Z1,render:async()=>{let fK=typeof N0[Z1]==="function"?await N0[Z1]():void 0;return p(N$[Z1],{...p0,$boundary:fK},y.filePath,$1,new Set)}})),A$=new Set(S1.map((Z1)=>Z1.id));k1=[...(k1||[]).filter((Z1)=>!A$.has(Z1.id)),...S1]}if(k1&&k1.length>0)M.add(y.pattern);else k1=void 0;return{route:y,content:k0,boundaries:k1}}catch(p){return console.error(`${I.red}Error building ${I.bright}${y.pattern}${I.reset}:`,p),null}},D=8,S=async()=>{R.clear(),L.clear();for(let y=0;y<q.length;y+=D){let h=q.slice(y,y+D),p=await Promise.all(h.map((n)=>E(n)));for(let n of p)if(n)R.set(n.route.pattern,n)}for(let y=0;y<H.length;y+=D){let h=H.slice(y,y+D),p=await Promise.all(h.map(({route:n})=>E(n)));for(let n of p)if(n)L.set(n.route.pattern,n)}return R.size>0};if(console.log(`${I.blue}Building pages...${I.reset}`),!await S())return console.error(`${I.red}No pages were successfully built${I.reset}`),!1;await D7(K);let P=Y;try{if(P=await q$(Y),P!==Y)console.log(`${I.yellow}Port ${Y} is busy, using port ${P} instead${I.reset}`)}catch{return console.error(`${I.red}Could not find an available port${I.reset}`),!1}if(J){let y=Z.hmrPort||P+1;Q=n6({wsPort:y,verbose:!1}),G=Q.start(y)}let b=(y,h)=>{let p=`<script>(function(){var s=typeof stx!=='undefined'?stx:{};s._rp=${JSON.stringify(h)};if(s.setRouteParams)s.setRouteParams(s._rp);})()</script>`;if(y.includes("</head>"))return y.replace("</head>",`${p}</head>`);if(y.includes("<body"))return y.replace(/<body([^>]*)>/,`<body$1>${p}`);return p+y};console.log(`${I.blue}Starting server...${I.reset}`);let x=ck({port:P,async fetch(y){let h=new URL(y.url),p=U?.publicDir||"public",n=H0.join(K,p,h.pathname),r=H0.join(K,h.pathname),W0=H0.join(w,h.pathname),[Z0,V0,M0]=await Promise.all([z1.promises.stat(n).catch(()=>null),z1.promises.stat(r).catch(()=>null),z1.promises.stat(W0).catch(()=>null)]);if(Z0?.isFile())return nQ(n);if(V0?.isFile())return nQ(r);if(M0?.isFile())return nQ(W0);if(h.pathname.startsWith("/_stx/component/")){let g=decodeURIComponent(h.pathname.slice(16));if(g)try{let c=`<${g} />`,a={...buildConfig,autoShell:!1},l=await processDirectives(c,{},H0.join(K,"components",`${g}.stx`),a,new Set);return new Response(l,{headers:{"Content-Type":"text/html"}})}catch(c){return new Response(`<div class="stx-async-error">${c.message}</div>`,{status:500,headers:{"Content-Type":"text/html"}})}}if(h.pathname==="/_stx/img"){let{handleImageRequest:g}=await Promise.resolve().then(() => (zX(),UW)),c=await g(y,{publicDir:H0.join(K,p),cacheDir:H0.join(K,".stx/cache/img")});if(c)return c}if(A)try{let g=await A.handleRequest(y);if(g.status!==404)return g}catch{}if(N[h.pathname])try{return await N[h.pathname](y)}catch(g){return new Response(JSON.stringify({error:g.message}),{status:500,headers:{"Content-Type":"application/json"}})}let v=YY(h.pathname,q);if(v){let g=R.get(v.route.pattern),c=M.has(v.route.pattern);if(v.route.isDynamic&&Object.keys(v.params).length>0||c){let a=await E(v.route,v.params);if(a)g=a}if(g){let a=e8();if(a.validate){if(!await a.validate({params:v.params})){let R0=await T(404);if(R0){let O0=R0;if(O0=await T0(O0,K),J)O0=a1(O0,G);return new Response(O0,{status:404,headers:{"Content-Type":"text/html"}})}return new Response("Not Found",{status:404})}}if(a.middleware){let Q0=v6(h.pathname,v.params,a,h.search),R0=x6(Q0,null,y),O0=await h6(a.middleware,R0);if(O0.redirect){let K0=O0.redirect.path,o0=O0.redirect.options.redirectCode||302,p0=new Headers(O0.responseHeaders);return p0.set("Location",K0),new Response(null,{status:o0,headers:p0})}if(O0.abort){let{statusCode:K0,message:o0}=O0.abort.error;return new Response(`<!DOCTYPE html><html><head><title>Error ${K0}</title></head><body><h1>Error ${K0}</h1><p>${o0}</p></body></html>`,{status:K0,headers:{"Content-Type":"text/html"}})}if(Object.keys(O0.state).length>0){let K0=`<script>(function(){var s=typeof stx!=='undefined'?stx:{};s._ms=${JSON.stringify(O0.state)};if(s.setMiddlewareState)s.setMiddlewareState(s._ms);})()</script>`;g.content=g.content.replace("</head>",`${K0}</head>`)}}let l=g.content;if(F&&rQ(y)){let Q0=o6(l),R0=l.match(/<title[^>]*>([\s\S]*?)<\/title>/i),O0=R0?R0[1].trim():"";if(Object.keys(v.params).length>0)l=b(l,v.params);l=await T0(l,K);let K0=U?.router?.container||"main";return l=u6(l,K0),new Response(l,{headers:{"Content-Type":"text/html","X-STX-Fragment":"true","X-STX-Layout":Q0.layout,"X-STX-Layout-Group":Q0.group,...O0&&{"X-STX-Title":encodeURIComponent(O0)},"Cache-Control":"no-store, no-cache, must-revalidate"}})}if(F)l=r6(F,l);if(Object.keys(v.params).length>0)l=b(l,v.params);if(l=await T0(l,K),J)l=a1(l,G);if(Z.native)if(l.includes("<head>"))l=l.replace("<head>","<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script>");else l="<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script></head>"+l;if(Z.titlebarHidden)if(l.includes("<head>"))l=l.replace("<head>","<head><style>html.stx-titlebar-hidden .stx-traffic-lights-dot{visibility:hidden}</style><script>document.documentElement.classList.add('stx-titlebar-hidden')</script>");else l=`<head><style>html.stx-titlebar-hidden .stx-traffic-lights-dot{visibility:hidden}</style><script>document.documentElement.classList.add('stx-titlebar-hidden')</script></head>${l}`;if(g.boundaries&&g.boundaries.length>0){let{renderStreamingPage:Q0,streamToResponse:R0}=await Promise.resolve().then(() => (h$(),A5));return R0(Q0(l,g.boundaries,{timeoutMs:30000}),{headers:{"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}return new Response(l,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}if(H.length>0){let g=H.map((a)=>a.route),c=YY(h.pathname,g);if(c){let a=L.get(c.route.pattern);if(a){let l=a.content;if(F)l=r6(F,l);if(Object.keys(c.params).length>0)l=b(l,c.params);if(l=await T0(l,K),J)l=a1(l,G);return new Response(l,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}for(let{prefix:a}of j)if(a!=="/"&&h.pathname.startsWith(a)){let l=L.get(a)||L.get(a+"/");if(l){let Q0=l.content;if(F)Q0=r6(F,Q0);if(Q0=await T0(Q0,K),J)Q0=a1(Q0,G);return new Response(Q0,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}}let d=R.get("/");if(d){let g=d.content;if(g=await T0(g,K),J)g=a1(g,G);if(Z.native)if(g.includes("<head>"))g=g.replace("<head>","<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script>");else g="<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script></head>"+g;return new Response(g,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}let m=await T(404);if(m){let g=m;if(g=await T0(g,K),J)g=a1(g,G);return new Response(g,{status:404,headers:{"Content-Type":"text/html"}})}return new Response("Not Found",{status:404})},async error(y){let h=await T(500);if(h)return new Response(h,{status:500,headers:{"Content-Type":"text/html"}});return new Response(`<pre>${y}
|
|
14888
14888
|
${y.stack}</pre>`,{headers:{"Content-Type":"text/html"}})}});if(console.clear(),console.log(`
|
|
14889
14889
|
${I.blue}stx${I.reset} ${I.green}${process.env.stx_VERSION||"v0.0.10"}${I.reset} ${I.dim}ready in ${Math.random()*10+5|0}.${Math.random()*90+10|0} ms${I.reset}`),console.log(`
|
|
14890
14890
|
${I.bright}\u2192 ${I.cyan}http://localhost:${P}/${I.reset}`),J)console.log(`${I.dim} HMR: ws://localhost:${G}${I.reset}`);console.log(`
|
|
14891
14891
|
${I.yellow}Routes:${I.reset}`);let u=[...TQ(q,K)];for(let{route:y}of H)u.push(`${y.pattern}`);if(u.forEach((y,h)=>{let n=h===u.length-1?"\u2514\u2500 ":"\u251C\u2500 ";console.log(` ${I.green}${n}${I.reset}${y}`)}),console.log(`
|
|
14892
|
-
Press ${I.cyan}h${I.reset} + ${I.cyan}Enter${I.reset} to show shortcuts`),Z5(x.url.toString(),()=>{if(Q)Z4();x.stop()}),Z.native){let y,h=H0.join(z,"index.stx");if(z1.existsSync(h)){let n=await Bun.file(h).text();y=_Y(n)}let p=U?.app?.window??{};await t7(P,{title:U?.app?.head?.title||H0.basename(K)||"stx App",width:p.width,height:p.height,darkMode:p.darkMode,hotReload:p.hotReload,titlebarHidden:p.titlebarHidden??Z.titlebarHidden===!0,nativeSidebar:!!y,sidebarConfig:y})}if(X){console.log(`${I.blue}Watching for changes...${I.reset}`);let y=(n)=>{return n.startsWith("public/")||n.startsWith("public\\")},h=(n)=>{let r=n.toLowerCase();return r.endsWith(".stx")||r.endsWith(".html")||r.endsWith(".md")},p=z1.watch(K,{recursive:!0},async(n,r)=>{if(!r||i6(r))return;if(l6(r))if(y(r)){if(console.log(`${I.cyan}${r} changed${I.reset}`),J&&Q)Q.reload(r)}else if(h(r)){console.log(`${I.yellow}${r} changed, rebuilding...${I.reset}`),c$.clear(),e$();try{let{invalidateFileCache:
|
|
14892
|
+
Press ${I.cyan}h${I.reset} + ${I.cyan}Enter${I.reset} to show shortcuts`),Z5(x.url.toString(),()=>{if(Q)Z4();x.stop()}),Z.native){let y,h=H0.join(z,"index.stx");if(z1.existsSync(h)){let n=await Bun.file(h).text();y=_Y(n)}let p=U?.app?.window??{};await t7(P,{title:U?.app?.head?.title||H0.basename(K)||"stx App",width:p.width,height:p.height,darkMode:p.darkMode,hotReload:p.hotReload,titlebarHidden:p.titlebarHidden??Z.titlebarHidden===!0,nativeSidebar:!!y,sidebarConfig:y})}if(X){console.log(`${I.blue}Watching for changes...${I.reset}`);let y=(n)=>{return n.startsWith("public/")||n.startsWith("public\\")},h=(n)=>{let r=n.toLowerCase();return r.endsWith(".stx")||r.endsWith(".html")||r.endsWith(".md")},p=z1.watch(K,{recursive:!0},async(n,r)=>{if(!r||i6(r))return;if(l6(r))if(y(r)){if(console.log(`${I.cyan}${r} changed${I.reset}`),J&&Q)Q.reload(r)}else if(h(r)){console.log(`${I.yellow}${r} changed, rebuilding...${I.reset}`),c$.clear(),e$();try{let{invalidateFileCache:W0,templateCache:Z0}=await Promise.resolve().then(() => (E5(),c7));W0(H0.resolve(K,r)),Z0.delete(H0.resolve(K,r))}catch{}if(O&&r){if(H0.resolve(K,r)===O||H0.basename(O)===r){let Z0=await jY(O,Z.stxOptions||{});if(Z0)F=Z0}}if(await S(),await Y6(K),J&&Q)Q.reload(r)}else{console.log(`${I.yellow}${r} changed, rebuilding...${I.reset}`),c$.clear(),e$();try{let{invalidateFileCache:W0,templateCache:Z0}=await Promise.resolve().then(() => (E5(),c7));W0(H0.resolve(K,r)),Z0.delete(H0.resolve(K,r))}catch{}if(await S(),J&&Q)Q.reload(r)}else if(c6(r)){if(console.log(`${I.cyan}CSS ${r} changed${I.reset}`),J&&Q)Q.updateCss(r)}});process.on("SIGINT",()=>{if(p.close(),Q)Z4();x.stop(),process.exit(0)})}return!0}var TO=k(()=>{o7();d7();qY();d6();$Y();f$();A0();p6()});var IO=k(()=>{pQ();AO();RO();TO()});import oQ from"fs";import a6 from"path";async function EO($){try{let Y=(await Bun.file($).text()).match(/<script\b[^>]*>([\s\S]*?)<\/script>/i);if(!Y)return[];let X=Y[1],J=[],Q=/\/\*\*\s*([\s\S]*?)\s*\*\/\s*(?:(?:const|let|var)\s*)?(?:([\w$]+)\s*=|module\.exports\.([\w$]+)\s*=|\s*([\w$]+)\s*:)/g,G;while((G=Q.exec(X))!==null){let K=G[1],W=G[2]||G[3]||G[4];if(!W)continue;let U={name:W},B=K.match(/@type\s+\{([^}]+)\}/i);if(B)U.type=B[1].trim();if(K.match(/@required/i))U.required=!0;let z=K.match(/@default\s+(.+?)(?:\s+|$)/i);if(z)U.default=z[1].trim();let q=K.split(`
|
|
14893
14893
|
`).map((j)=>j.trim().replace(/^\*\s*/,"")).filter((j)=>!j.startsWith("@")&&j.length>0);U.description=q.join(" ").trim(),J.push(U)}if(J.length===0){let K=X.match(/module\.exports\s*=\s*\{([^}]+)\}/i);if(K){let U=K[1].split(",").map((B)=>B.trim()).filter(Boolean);for(let B of U){let[_]=B.split(":").map((z)=>z.trim());if(_)J.push({name:_})}}}return J}catch(Z){return console.error(`Error extracting props from ${$}:`,Z),[]}}async function DO($){try{let Z=await Bun.file($).text(),Y=Z.match(/^\s*<!--\s*([\s\S]*?)\s*-->/)||Z.match(/^\s*\/\*\*\s*([\s\S]*?)\s*\*\//);if(Y)return Y[1].split(`
|
|
14894
14894
|
`).map((X)=>X.trim().replace(/^\*\s*/,"")).join(" ").trim();return""}catch{return""}}async function kO($,Z=!1,Y){let X=a6.basename($,".stx"),J=await EO($),Q=await DO($),G="";if(Z&&Y)G=`<${Y}></${Y}>`;else{let K=J.map((W)=>{if(W.type==="boolean")return`:${W.name}="true"`;return`${W.name}="value"`}).join(`
|
|
14895
14895
|
`);G=`<${X}
|
|
@@ -15028,7 +15028,7 @@ Press ${I.cyan}h${I.reset} + ${I.cyan}Enter${I.reset} to show shortcuts`),Z5(x.u
|
|
|
15028
15028
|
<td>@${Q.name}</td>
|
|
15029
15029
|
<td>${Q.description||"-"}</td>
|
|
15030
15030
|
<td>${Q.hasEndTag?"Yes":"No"}</td>
|
|
15031
|
-
</tr>`;J+="</tbody></table>";for(let Q of Y)if(Q.example)J+=`<h3>@${Q.name}</h3>`,J+=`<p>${Q.description||""}</p>`,J+="<h4>Example</h4>",J+=`<pre><code>${Q.example.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}</code></pre>`}return J+="</body></html>",J}function xO($=[],Z=[],Y=[],X){return JSON.stringify({components:$,templates:Z,directives:Y,extraContent:X||""},null,2)}async function vO($){try{let{componentsDir:Z,templatesDir:Y,webComponentsConfig:X,customDirectives:J,config:Q}=$;if(!Q.enabled)return!1;let G=Q.outputDir||"docs";if(await oQ.promises.mkdir(G,{recursive:!0}),console.log("Generating documentation..."),Z)console.log(`Components directory: ${Z}`);if(Y)console.log(`Templates directory: ${Y}`);console.log(`Output directory: ${G}`);let K=[];if(Q.components!==!1&&Z)console.log("Generating component documentation..."),K=await SO(Z,X),console.log(`Found ${K.length} components`);let W=[];if(Q.templates!==!1&&Y)console.log("Generating template documentation..."),W=await bO(Y),console.log(`Found ${W.length} templates`);let U=[];if(Q.directives!==!1)console.log("Generating directive documentation..."),U=await CO(J),console.log(`Found ${U.length} directives`);let B=Q.format||"markdown",_=Q.extraContent,z="",q="";switch(B){case"markdown":z=PO(K,W,U,_),q="md";break;case"html":z=yO(K,W,U,_),q="html";break;case"json":z=xO(K,W,U,_),q="json";break;default:throw Error(`Unsupported documentation format: ${B}`)}let j=a6.join(G,`stx-docs.${q}`);return await Bun.write(j,z),console.log(`Documentation generated: ${j}`),!0}catch(Z){return console.error("Error generating documentation:",Z),!1}}async function lk($){let Z={enabled:!0,outputDir:$.output||"docs",format:$.format||"markdown",components:$.components!==!1,templates:$.templates!==!1,directives:$.directives!==!1,extraContent:$.extraContent},Y=$.componentsDir||W1.componentsDir,X=$.templatesDir||".";return vO({componentsDir:Y,templatesDir:X,webComponentsConfig:W1.webComponents,customDirectives:W1.customDirectives,config:Z})}var fO=k(()=>{s0();N0()});import Y4 from"process";function X4(){if(typeof globalThis<"u"&&"caches"in globalThis&&"CF"in globalThis)return{platform:"cloudflare",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["kv","r2","d1","durable-objects","queues"]};if(typeof globalThis<"u"&&"Deno"in globalThis)return{platform:"deno",version:globalThis.Deno.version?.deno,supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["kv","deploy","ffi"]};if(typeof globalThis<"u"&&"Bun"in globalThis)return{platform:"bun",version:globalThis.Bun.version,supportsStreaming:!0,supportsCrypto:!0,supportsKV:!1,supportsCache:!1,capabilities:["sqlite","ffi","native-modules"]};if(typeof globalThis<"u"&&"EdgeRuntime"in globalThis)return{platform:"vercel",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["edge-config","blob"]};if(typeof globalThis<"u"&&"Netlify"in globalThis)return{platform:"netlify",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!1,capabilities:["blobs","edge-functions"]};if(typeof globalThis<"u"&&"fastly"in globalThis)return{platform:"fastly",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["dictionary","backend","geolocation"]};if(Y4.versions?.node)return{platform:"node",version:Y4.versions.node,supportsStreaming:!0,supportsCrypto:!0,supportsKV:!1,supportsCache:!1,capabilities:["fs","child-process","native-modules"]};return{platform:"unknown",supportsStreaming:!1,supportsCrypto:!1,supportsKV:!1,supportsCache:!1,capabilities:[]}}function ik(){let $=X4();return["cloudflare","deno","vercel","netlify","fastly"].includes($.platform)}function nk(){return X4().platform!=="unknown"}function hO($){return{get(Z){if($&&Z in $){let Y=$[Z];return typeof Y==="string"?Y:void 0}if(typeof globalThis<"u"&&"Deno"in globalThis)return globalThis.Deno.env.get(Z);if(Y4.env)return Y4.env[Z];return},getOrThrow(Z){let Y=this.get(Z);if(Y===void 0)throw Error(`Environment variable "${Z}" is not set`);return Y},has(Z){return this.get(Z)!==void 0},all(){let Z={};if($){for(let[Y,X]of Object.entries($))if(typeof X==="string")Z[Y]=X}if(typeof globalThis<"u"&&"Deno"in globalThis){let Y=globalThis.Deno.env.toObject();Object.assign(Z,Y)}if(Y4.env){for(let[Y,X]of Object.entries(Y4.env))if(X!==void 0)Z[Y]=X}return Z}}}function dO($){let Z=X4();if(Z.platform==="cloudflare"&&$)return $;if(Z.platform==="deno"&&"Deno"in globalThis)return sk();if(Z.platform==="node"||Z.platform==="bun")return rk();return}function sk(){let $=null,Z=async()=>{if(!$)$=await globalThis.Deno.openKv();return $};return{async get(Y){return(await(await Z()).get(["stx",Y])).value},async getWithMetadata(Y){let X=await Z(),J=await X.get(["stx",Y]),Q=await X.get(["stx-meta",Y]);return{value:J.value,metadata:Q.value}},async put(Y,X,J){let Q=await Z(),G=J?.expirationTtl?J.expirationTtl*1000:void 0;if(await Q.set(["stx",Y],X,G?{expireIn:G}:void 0),J?.metadata)await Q.set(["stx-meta",Y],J.metadata,G?{expireIn:G}:void 0)},async delete(Y){let X=await Z();await X.delete(["stx",Y]),await X.delete(["stx-meta",Y])},async list(Y){let X=await Z(),J=Y?.prefix?["stx",Y.prefix]:["stx"],Q=X.list({prefix:J,limit:Y?.limit||100}),G=[];for await(let K of Q){let U=K.key.slice(1).join("/");if(!U.startsWith("stx-meta/"))G.push({name:U})}return{keys:G,list_complete:!0}}}}function rk(){let $=new Map,Z=()=>{let Y=Date.now();for(let[X,J]of $.entries())if(J.expiration&&J.expiration<Y)$.delete(X)};return{async get(Y){Z();let X=$.get(Y);if(!X)return null;if(X.expiration&&X.expiration<Date.now())return $.delete(Y),null;return X.value},async getWithMetadata(Y){Z();let X=$.get(Y);if(!X)return{value:null,metadata:null};if(X.expiration&&X.expiration<Date.now())return $.delete(Y),{value:null,metadata:null};return{value:X.value,metadata:X.metadata||null}},async put(Y,X,J){let Q=J?.expiration?J.expiration*1000:J?.expirationTtl?Date.now()+J.expirationTtl*1000:void 0;$.set(Y,{value:X,metadata:J?.metadata,expiration:Q})},async delete(Y){$.delete(Y)},async list(Y){Z();let X=[];for(let[J,Q]of $.entries()){if(Y?.prefix&&!J.startsWith(Y.prefix))continue;if(X.push({name:J,expiration:Q.expiration,metadata:Q.metadata}),Y?.limit&&X.length>=Y.limit)break}return{keys:X,list_complete:!0}}}}function uO(){let $=X4();if($.platform==="cloudflare"&&"caches"in globalThis)return ok();if($.supportsStreaming)return ak();return}function ok(){return{async match($){return(await caches.default).match($)},async put($,Z){await(await caches.default).put($,Z.clone())},async delete($){return(await caches.default).delete($)}}}function ak(){let $=new Map,Z=60000;return{async match(Y){let X=Y.url,J=$.get(X);if(!J)return;if(Date.now()>J.expiration){$.delete(X);return}return J.response.clone()},async put(Y,X){let J=Y.url,Q=X.headers.get("Cache-Control"),G=60000;if(Q){let K=Q.match(/max-age=(\d+)/);if(K)G=Number.parseInt(K[1],10)*1000}$.set(J,{response:X.clone(),expiration:Date.now()+G})},async delete(Y){return $.delete(Y.url)}}}function tk(){return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`}function ek($,Z){if(Z.platform==="cloudflare"){let Y=$.cf;if(Y)return{city:Y.city,country:Y.country,countryCode:Y.country,region:Y.region,latitude:Y.latitude?Number.parseFloat(Y.latitude):void 0,longitude:Y.longitude?Number.parseFloat(Y.longitude):void 0,timezone:Y.timezone}}if(Z.platform==="vercel"){let Y={},X=$.headers.get("x-vercel-ip-city"),J=$.headers.get("x-vercel-ip-country"),Q=$.headers.get("x-vercel-ip-country-region"),G=$.headers.get("x-vercel-ip-latitude"),K=$.headers.get("x-vercel-ip-longitude");if(X)Y.city=decodeURIComponent(X);if(J)Y.countryCode=J;if(Q)Y.region=Q;if(G)Y.latitude=Number.parseFloat(G);if(K)Y.longitude=Number.parseFloat(K);return Object.keys(Y).length>0?Y:void 0}if(Z.platform==="netlify"){let Y={},X=$.headers.get("x-nf-geo-city"),J=$.headers.get("x-nf-geo-country");if(X)Y.city=X;if(J)Y.countryCode=J;return Object.keys(Y).length>0?Y:void 0}return}function tQ($,Z,Y){let X=new Headers($.headers);if(Z.origins==="*")X.set("Access-Control-Allow-Origin","*");else if(Z.origins&&Y&&Z.origins.includes(Y))X.set("Access-Control-Allow-Origin",Y),X.set("Vary","Origin");if(Z.methods)X.set("Access-Control-Allow-Methods",Z.methods.join(", "));if(Z.headers)X.set("Access-Control-Allow-Headers",Z.headers.join(", "));if(Z.exposeHeaders)X.set("Access-Control-Expose-Headers",Z.exposeHeaders.join(", "));if(Z.credentials)X.set("Access-Control-Allow-Credentials","true");if(Z.maxAge)X.set("Access-Control-Max-Age",String(Z.maxAge));return new Response($.body,{status:$.status,statusText:$.statusText,headers:X})}function t6($){let Z=X4();return async(Y,X)=>{let J=performance.now(),Q=tk(),G={runtime:Z,platform:X||{},requestId:Q,geo:ek(Y,Z),timing:{start:J,getElapsed:()=>performance.now()-J},kv:dO(X?.KV),cache:uO(),env:hO(X?.env)};try{if(Y.method==="OPTIONS"&&$.cors){let W=new Response(null,{status:204});return W=tQ(W,$.cors,Y.headers.get("Origin")||void 0),W}if($.cache?.enabled&&Y.method==="GET"&&G.cache){if(gO(Y,$.cache)){let U=await G.cache.match(Y);if(U){let B=new Response(U.body,U);return B.headers.set("X-Cache","HIT"),B.headers.set("X-Request-Id",Q),$.cors?tQ(B,$.cors,Y.headers.get("Origin")||void 0):B}}}let K;if($.middleware&&$.middleware.length>0)K=await $S(Y,G,$.middleware,async()=>{let W=await $.render(Y,G);return typeof W==="string"?new Response(W,{headers:{"Content-Type":"text/html; charset=utf-8"}}):W});else{let W=await $.render(Y,G);K=typeof W==="string"?new Response(W,{headers:{"Content-Type":"text/html; charset=utf-8"}}):W}if(K.headers.set("X-Request-Id",Q),K.headers.set("X-Response-Time",`${G.timing.getElapsed().toFixed(2)}ms`),$.cache?.enabled&&Y.method==="GET"&&G.cache){if(gO(Y,$.cache)&&K.status===200){let U=$.cache.ttl||60,B=K.clone();B.headers.set("Cache-Control",`public, max-age=${U}`),await G.cache.put(Y,B),K.headers.set("X-Cache","MISS")}}if($.cors)K=tQ(K,$.cors,Y.headers.get("Origin")||void 0);return K}catch(K){let W=K instanceof Error?K:Error(String(K));if($.onError)return $.onError(W,Y);return new Response(`Internal Server Error: ${W.message}`,{status:500,headers:{"Content-Type":"text/plain","X-Request-Id":Q}})}}}function gO($,Z){let X=new URL($.url).pathname;if(Z.excludePaths){for(let J of Z.excludePaths)if(J.test(X))return!1}if(Z.includePaths){for(let J of Z.includePaths)if(J.test(X))return!0;return!1}return!0}async function $S($,Z,Y,X){let J=0,Q=async()=>{if(J>=Y.length)return X();let G=Y[J];return J++,G($,Z,Q)};return Q()}function ZS($,Z){let Y=new Headers(Z?.headers);return Y.set("Content-Type","text/html; charset=utf-8"),Y.set("Transfer-Encoding","chunked"),new Response($,{...Z,headers:Y})}function YS(){let $=new TextEncoder;return new TransformStream({transform(Z,Y){Y.enqueue($.encode(Z))}})}function XS($){let Z=new TextEncoder;return new ReadableStream({async start(Y){for await(let X of $)Y.enqueue(Z.encode(X));Y.close()}})}function JS($){let Z=t6($);return{async fetch(Y,X,J){return Z(Y,{env:X,ctx:J,KV:X.KV})}}}function QS($){let Z=t6($);return(Y)=>Z(Y,{})}function GS($){let Z=t6($);return(Y)=>Z(Y,{})}function KS($){let Z=t6($);return(Y,X)=>{return Z(Y,{netlifyContext:X})}}function WS($){let Z=$.headers.get("Cookie");if(!Z)return{};let Y={};for(let X of Z.split(";")){let[J,Q]=X.split("=").map((G)=>G.trim());if(J&&Q)Y[J]=decodeURIComponent(Q)}return Y}function US($,Z,Y){let X=`${encodeURIComponent($)}=${encodeURIComponent(Z)}`;if(Y?.maxAge!==void 0)X+=`; Max-Age=${Y.maxAge}`;if(Y?.expires)X+=`; Expires=${Y.expires.toUTCString()}`;if(Y?.path)X+=`; Path=${Y.path}`;if(Y?.domain)X+=`; Domain=${Y.domain}`;if(Y?.secure)X+="; Secure";if(Y?.httpOnly)X+="; HttpOnly";if(Y?.sameSite)X+=`; SameSite=${Y.sameSite}`;return X}function BS($,Z){let Y=new Headers(Z?.headers);return Y.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify($),{...Z,headers:Y})}function _S($,Z=302){return new Response(null,{status:Z,headers:{Location:$}})}function zS($="Not Found"){return new Response($,{status:404,headers:{"Content-Type":"text/plain"}})}var mO=()=>{};var{WebView:qS}=globalThis.Bun;import{existsSync as lO,mkdirSync as iO,readdirSync as jS,statSync as nO}from"fs";import J4 from"path";function HS($){if(/^https?:\/\//.test($)||$.startsWith("file://"))return $;return`file://${J4.resolve($)}`}function pO($,Z,Y){return new Promise((X)=>{let J=!1,Q=()=>{if(!J)J=!0,X()};$.onNavigated=()=>setTimeout(Q,Z),setTimeout(Q,Y)})}async function cO($,Z,Y){let X=`!!document.querySelector(${JSON.stringify(Z)})`,J=Date.now()+Y;while(Date.now()<J){try{if(await $.evaluate(X))return}catch{}await new Promise((Q)=>setTimeout(Q,100))}}async function OS($){try{let Z=await $.evaluate("Math.ceil(Math.max(document.documentElement.scrollHeight, document.documentElement.offsetHeight, document.body ? document.body.scrollHeight : 0, document.body ? document.body.offsetHeight : 0))");return typeof Z==="number"&&Number.isFinite(Z)&&Z>0?Math.min(Z,eQ):0}catch{return 0}}async function sO($,Z,Y={}){let X=Math.min(Y.width??1440,eQ),J=Math.min(Y.height??2200,eQ),Q=Y.waitMs??800,G=Y.timeoutMs??15000,K=Y.format??"png",W=HS($),U=(_)=>new qS({url:W,width:X,height:_,headless:!0,...Y.backend?{backend:Y.backend}:{}}),B=U(J);try{if(await pO(B,Q,G),Y.waitSelector)await cO(B,Y.waitSelector,G);if(Y.fullPage){let z=await OS(B);if(z>J){if(B.close(),B=U(z),await pO(B,Q,G),Y.waitSelector)await cO(B,Y.waitSelector,G)}}let _=await B.screenshot({encoding:"buffer",format:K});iO(J4.dirname(J4.resolve(Z)),{recursive:!0}),await Bun.write(Z,_)}finally{B.close()}if(!lO(Z))throw Error(`Screenshot was not produced for ${$}`);return{input:$,output:Z,bytes:nO(Z).size}}async function LS($,Z,Y={}){iO(Z,{recursive:!0});let X;if(!/^https?:\/\//.test($)&&lO($)&&nO($).isDirectory())X=jS($).filter((G)=>G.endsWith(".html")).map((G)=>J4.join($,G));else X=[$];let J=Y.format??"png",Q=[];for(let G of X){let K=/^https?:\/\//.test(G)?new URL(G).pathname.replace(/\W+/g,"-").replace(/^-|-$/g,"")||"index":J4.basename(G).replace(/\.html?$/,"");Q.push(await sO(G,J4.join(Z,`${K}.${J}`),Y))}return Q}var eQ=16384;var rO=()=>{};function tO($,Z={}){let Y={...aO,...Z};if($.trim()==="")return`
|
|
15031
|
+
</tr>`;J+="</tbody></table>";for(let Q of Y)if(Q.example)J+=`<h3>@${Q.name}</h3>`,J+=`<p>${Q.description||""}</p>`,J+="<h4>Example</h4>",J+=`<pre><code>${Q.example.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}</code></pre>`}return J+="</body></html>",J}function xO($=[],Z=[],Y=[],X){return JSON.stringify({components:$,templates:Z,directives:Y,extraContent:X||""},null,2)}async function vO($){try{let{componentsDir:Z,templatesDir:Y,webComponentsConfig:X,customDirectives:J,config:Q}=$;if(!Q.enabled)return!1;let G=Q.outputDir||"docs";if(await oQ.promises.mkdir(G,{recursive:!0}),console.log("Generating documentation..."),Z)console.log(`Components directory: ${Z}`);if(Y)console.log(`Templates directory: ${Y}`);console.log(`Output directory: ${G}`);let K=[];if(Q.components!==!1&&Z)console.log("Generating component documentation..."),K=await SO(Z,X),console.log(`Found ${K.length} components`);let W=[];if(Q.templates!==!1&&Y)console.log("Generating template documentation..."),W=await bO(Y),console.log(`Found ${W.length} templates`);let U=[];if(Q.directives!==!1)console.log("Generating directive documentation..."),U=await CO(J),console.log(`Found ${U.length} directives`);let B=Q.format||"markdown",_=Q.extraContent,z="",q="";switch(B){case"markdown":z=PO(K,W,U,_),q="md";break;case"html":z=yO(K,W,U,_),q="html";break;case"json":z=xO(K,W,U,_),q="json";break;default:throw Error(`Unsupported documentation format: ${B}`)}let j=a6.join(G,`stx-docs.${q}`);return await Bun.write(j,z),console.log(`Documentation generated: ${j}`),!0}catch(Z){return console.error("Error generating documentation:",Z),!1}}async function lk($){let Z={enabled:!0,outputDir:$.output||"docs",format:$.format||"markdown",components:$.components!==!1,templates:$.templates!==!1,directives:$.directives!==!1,extraContent:$.extraContent},Y=$.componentsDir||W1.componentsDir,X=$.templatesDir||".";return vO({componentsDir:Y,templatesDir:X,webComponentsConfig:W1.webComponents,customDirectives:W1.customDirectives,config:Z})}var fO=k(()=>{s0();A0()});import Y4 from"process";function X4(){if(typeof globalThis<"u"&&"caches"in globalThis&&"CF"in globalThis)return{platform:"cloudflare",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["kv","r2","d1","durable-objects","queues"]};if(typeof globalThis<"u"&&"Deno"in globalThis)return{platform:"deno",version:globalThis.Deno.version?.deno,supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["kv","deploy","ffi"]};if(typeof globalThis<"u"&&"Bun"in globalThis)return{platform:"bun",version:globalThis.Bun.version,supportsStreaming:!0,supportsCrypto:!0,supportsKV:!1,supportsCache:!1,capabilities:["sqlite","ffi","native-modules"]};if(typeof globalThis<"u"&&"EdgeRuntime"in globalThis)return{platform:"vercel",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["edge-config","blob"]};if(typeof globalThis<"u"&&"Netlify"in globalThis)return{platform:"netlify",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!1,capabilities:["blobs","edge-functions"]};if(typeof globalThis<"u"&&"fastly"in globalThis)return{platform:"fastly",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["dictionary","backend","geolocation"]};if(Y4.versions?.node)return{platform:"node",version:Y4.versions.node,supportsStreaming:!0,supportsCrypto:!0,supportsKV:!1,supportsCache:!1,capabilities:["fs","child-process","native-modules"]};return{platform:"unknown",supportsStreaming:!1,supportsCrypto:!1,supportsKV:!1,supportsCache:!1,capabilities:[]}}function ik(){let $=X4();return["cloudflare","deno","vercel","netlify","fastly"].includes($.platform)}function nk(){return X4().platform!=="unknown"}function hO($){return{get(Z){if($&&Z in $){let Y=$[Z];return typeof Y==="string"?Y:void 0}if(typeof globalThis<"u"&&"Deno"in globalThis)return globalThis.Deno.env.get(Z);if(Y4.env)return Y4.env[Z];return},getOrThrow(Z){let Y=this.get(Z);if(Y===void 0)throw Error(`Environment variable "${Z}" is not set`);return Y},has(Z){return this.get(Z)!==void 0},all(){let Z={};if($){for(let[Y,X]of Object.entries($))if(typeof X==="string")Z[Y]=X}if(typeof globalThis<"u"&&"Deno"in globalThis){let Y=globalThis.Deno.env.toObject();Object.assign(Z,Y)}if(Y4.env){for(let[Y,X]of Object.entries(Y4.env))if(X!==void 0)Z[Y]=X}return Z}}}function dO($){let Z=X4();if(Z.platform==="cloudflare"&&$)return $;if(Z.platform==="deno"&&"Deno"in globalThis)return sk();if(Z.platform==="node"||Z.platform==="bun")return rk();return}function sk(){let $=null,Z=async()=>{if(!$)$=await globalThis.Deno.openKv();return $};return{async get(Y){return(await(await Z()).get(["stx",Y])).value},async getWithMetadata(Y){let X=await Z(),J=await X.get(["stx",Y]),Q=await X.get(["stx-meta",Y]);return{value:J.value,metadata:Q.value}},async put(Y,X,J){let Q=await Z(),G=J?.expirationTtl?J.expirationTtl*1000:void 0;if(await Q.set(["stx",Y],X,G?{expireIn:G}:void 0),J?.metadata)await Q.set(["stx-meta",Y],J.metadata,G?{expireIn:G}:void 0)},async delete(Y){let X=await Z();await X.delete(["stx",Y]),await X.delete(["stx-meta",Y])},async list(Y){let X=await Z(),J=Y?.prefix?["stx",Y.prefix]:["stx"],Q=X.list({prefix:J,limit:Y?.limit||100}),G=[];for await(let K of Q){let U=K.key.slice(1).join("/");if(!U.startsWith("stx-meta/"))G.push({name:U})}return{keys:G,list_complete:!0}}}}function rk(){let $=new Map,Z=()=>{let Y=Date.now();for(let[X,J]of $.entries())if(J.expiration&&J.expiration<Y)$.delete(X)};return{async get(Y){Z();let X=$.get(Y);if(!X)return null;if(X.expiration&&X.expiration<Date.now())return $.delete(Y),null;return X.value},async getWithMetadata(Y){Z();let X=$.get(Y);if(!X)return{value:null,metadata:null};if(X.expiration&&X.expiration<Date.now())return $.delete(Y),{value:null,metadata:null};return{value:X.value,metadata:X.metadata||null}},async put(Y,X,J){let Q=J?.expiration?J.expiration*1000:J?.expirationTtl?Date.now()+J.expirationTtl*1000:void 0;$.set(Y,{value:X,metadata:J?.metadata,expiration:Q})},async delete(Y){$.delete(Y)},async list(Y){Z();let X=[];for(let[J,Q]of $.entries()){if(Y?.prefix&&!J.startsWith(Y.prefix))continue;if(X.push({name:J,expiration:Q.expiration,metadata:Q.metadata}),Y?.limit&&X.length>=Y.limit)break}return{keys:X,list_complete:!0}}}}function uO(){let $=X4();if($.platform==="cloudflare"&&"caches"in globalThis)return ok();if($.supportsStreaming)return ak();return}function ok(){return{async match($){return(await caches.default).match($)},async put($,Z){await(await caches.default).put($,Z.clone())},async delete($){return(await caches.default).delete($)}}}function ak(){let $=new Map,Z=60000;return{async match(Y){let X=Y.url,J=$.get(X);if(!J)return;if(Date.now()>J.expiration){$.delete(X);return}return J.response.clone()},async put(Y,X){let J=Y.url,Q=X.headers.get("Cache-Control"),G=60000;if(Q){let K=Q.match(/max-age=(\d+)/);if(K)G=Number.parseInt(K[1],10)*1000}$.set(J,{response:X.clone(),expiration:Date.now()+G})},async delete(Y){return $.delete(Y.url)}}}function tk(){return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`}function ek($,Z){if(Z.platform==="cloudflare"){let Y=$.cf;if(Y)return{city:Y.city,country:Y.country,countryCode:Y.country,region:Y.region,latitude:Y.latitude?Number.parseFloat(Y.latitude):void 0,longitude:Y.longitude?Number.parseFloat(Y.longitude):void 0,timezone:Y.timezone}}if(Z.platform==="vercel"){let Y={},X=$.headers.get("x-vercel-ip-city"),J=$.headers.get("x-vercel-ip-country"),Q=$.headers.get("x-vercel-ip-country-region"),G=$.headers.get("x-vercel-ip-latitude"),K=$.headers.get("x-vercel-ip-longitude");if(X)Y.city=decodeURIComponent(X);if(J)Y.countryCode=J;if(Q)Y.region=Q;if(G)Y.latitude=Number.parseFloat(G);if(K)Y.longitude=Number.parseFloat(K);return Object.keys(Y).length>0?Y:void 0}if(Z.platform==="netlify"){let Y={},X=$.headers.get("x-nf-geo-city"),J=$.headers.get("x-nf-geo-country");if(X)Y.city=X;if(J)Y.countryCode=J;return Object.keys(Y).length>0?Y:void 0}return}function tQ($,Z,Y){let X=new Headers($.headers);if(Z.origins==="*")X.set("Access-Control-Allow-Origin","*");else if(Z.origins&&Y&&Z.origins.includes(Y))X.set("Access-Control-Allow-Origin",Y),X.set("Vary","Origin");if(Z.methods)X.set("Access-Control-Allow-Methods",Z.methods.join(", "));if(Z.headers)X.set("Access-Control-Allow-Headers",Z.headers.join(", "));if(Z.exposeHeaders)X.set("Access-Control-Expose-Headers",Z.exposeHeaders.join(", "));if(Z.credentials)X.set("Access-Control-Allow-Credentials","true");if(Z.maxAge)X.set("Access-Control-Max-Age",String(Z.maxAge));return new Response($.body,{status:$.status,statusText:$.statusText,headers:X})}function t6($){let Z=X4();return async(Y,X)=>{let J=performance.now(),Q=tk(),G={runtime:Z,platform:X||{},requestId:Q,geo:ek(Y,Z),timing:{start:J,getElapsed:()=>performance.now()-J},kv:dO(X?.KV),cache:uO(),env:hO(X?.env)};try{if(Y.method==="OPTIONS"&&$.cors){let W=new Response(null,{status:204});return W=tQ(W,$.cors,Y.headers.get("Origin")||void 0),W}if($.cache?.enabled&&Y.method==="GET"&&G.cache){if(gO(Y,$.cache)){let U=await G.cache.match(Y);if(U){let B=new Response(U.body,U);return B.headers.set("X-Cache","HIT"),B.headers.set("X-Request-Id",Q),$.cors?tQ(B,$.cors,Y.headers.get("Origin")||void 0):B}}}let K;if($.middleware&&$.middleware.length>0)K=await $S(Y,G,$.middleware,async()=>{let W=await $.render(Y,G);return typeof W==="string"?new Response(W,{headers:{"Content-Type":"text/html; charset=utf-8"}}):W});else{let W=await $.render(Y,G);K=typeof W==="string"?new Response(W,{headers:{"Content-Type":"text/html; charset=utf-8"}}):W}if(K.headers.set("X-Request-Id",Q),K.headers.set("X-Response-Time",`${G.timing.getElapsed().toFixed(2)}ms`),$.cache?.enabled&&Y.method==="GET"&&G.cache){if(gO(Y,$.cache)&&K.status===200){let U=$.cache.ttl||60,B=K.clone();B.headers.set("Cache-Control",`public, max-age=${U}`),await G.cache.put(Y,B),K.headers.set("X-Cache","MISS")}}if($.cors)K=tQ(K,$.cors,Y.headers.get("Origin")||void 0);return K}catch(K){let W=K instanceof Error?K:Error(String(K));if($.onError)return $.onError(W,Y);return new Response(`Internal Server Error: ${W.message}`,{status:500,headers:{"Content-Type":"text/plain","X-Request-Id":Q}})}}}function gO($,Z){let X=new URL($.url).pathname;if(Z.excludePaths){for(let J of Z.excludePaths)if(J.test(X))return!1}if(Z.includePaths){for(let J of Z.includePaths)if(J.test(X))return!0;return!1}return!0}async function $S($,Z,Y,X){let J=0,Q=async()=>{if(J>=Y.length)return X();let G=Y[J];return J++,G($,Z,Q)};return Q()}function ZS($,Z){let Y=new Headers(Z?.headers);return Y.set("Content-Type","text/html; charset=utf-8"),Y.set("Transfer-Encoding","chunked"),new Response($,{...Z,headers:Y})}function YS(){let $=new TextEncoder;return new TransformStream({transform(Z,Y){Y.enqueue($.encode(Z))}})}function XS($){let Z=new TextEncoder;return new ReadableStream({async start(Y){for await(let X of $)Y.enqueue(Z.encode(X));Y.close()}})}function JS($){let Z=t6($);return{async fetch(Y,X,J){return Z(Y,{env:X,ctx:J,KV:X.KV})}}}function QS($){let Z=t6($);return(Y)=>Z(Y,{})}function GS($){let Z=t6($);return(Y)=>Z(Y,{})}function KS($){let Z=t6($);return(Y,X)=>{return Z(Y,{netlifyContext:X})}}function WS($){let Z=$.headers.get("Cookie");if(!Z)return{};let Y={};for(let X of Z.split(";")){let[J,Q]=X.split("=").map((G)=>G.trim());if(J&&Q)Y[J]=decodeURIComponent(Q)}return Y}function US($,Z,Y){let X=`${encodeURIComponent($)}=${encodeURIComponent(Z)}`;if(Y?.maxAge!==void 0)X+=`; Max-Age=${Y.maxAge}`;if(Y?.expires)X+=`; Expires=${Y.expires.toUTCString()}`;if(Y?.path)X+=`; Path=${Y.path}`;if(Y?.domain)X+=`; Domain=${Y.domain}`;if(Y?.secure)X+="; Secure";if(Y?.httpOnly)X+="; HttpOnly";if(Y?.sameSite)X+=`; SameSite=${Y.sameSite}`;return X}function BS($,Z){let Y=new Headers(Z?.headers);return Y.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify($),{...Z,headers:Y})}function _S($,Z=302){return new Response(null,{status:Z,headers:{Location:$}})}function zS($="Not Found"){return new Response($,{status:404,headers:{"Content-Type":"text/plain"}})}var mO=()=>{};var{WebView:qS}=globalThis.Bun;import{existsSync as lO,mkdirSync as iO,readdirSync as jS,statSync as nO}from"fs";import J4 from"path";function HS($){if(/^https?:\/\//.test($)||$.startsWith("file://"))return $;return`file://${J4.resolve($)}`}function pO($,Z,Y){return new Promise((X)=>{let J=!1,Q=()=>{if(!J)J=!0,X()};$.onNavigated=()=>setTimeout(Q,Z),setTimeout(Q,Y)})}async function cO($,Z,Y){let X=`!!document.querySelector(${JSON.stringify(Z)})`,J=Date.now()+Y;while(Date.now()<J){try{if(await $.evaluate(X))return}catch{}await new Promise((Q)=>setTimeout(Q,100))}}async function OS($){try{let Z=await $.evaluate("Math.ceil(Math.max(document.documentElement.scrollHeight, document.documentElement.offsetHeight, document.body ? document.body.scrollHeight : 0, document.body ? document.body.offsetHeight : 0))");return typeof Z==="number"&&Number.isFinite(Z)&&Z>0?Math.min(Z,eQ):0}catch{return 0}}async function sO($,Z,Y={}){let X=Math.min(Y.width??1440,eQ),J=Math.min(Y.height??2200,eQ),Q=Y.waitMs??800,G=Y.timeoutMs??15000,K=Y.format??"png",W=HS($),U=(_)=>new qS({url:W,width:X,height:_,headless:!0,...Y.backend?{backend:Y.backend}:{}}),B=U(J);try{if(await pO(B,Q,G),Y.waitSelector)await cO(B,Y.waitSelector,G);if(Y.fullPage){let z=await OS(B);if(z>J){if(B.close(),B=U(z),await pO(B,Q,G),Y.waitSelector)await cO(B,Y.waitSelector,G)}}let _=await B.screenshot({encoding:"buffer",format:K});iO(J4.dirname(J4.resolve(Z)),{recursive:!0}),await Bun.write(Z,_)}finally{B.close()}if(!lO(Z))throw Error(`Screenshot was not produced for ${$}`);return{input:$,output:Z,bytes:nO(Z).size}}async function LS($,Z,Y={}){iO(Z,{recursive:!0});let X;if(!/^https?:\/\//.test($)&&lO($)&&nO($).isDirectory())X=jS($).filter((G)=>G.endsWith(".html")).map((G)=>J4.join($,G));else X=[$];let J=Y.format??"png",Q=[];for(let G of X){let K=/^https?:\/\//.test(G)?new URL(G).pathname.replace(/\W+/g,"-").replace(/^-|-$/g,"")||"index":J4.basename(G).replace(/\.html?$/,"");Q.push(await sO(G,J4.join(Z,`${K}.${J}`),Y))}return Q}var eQ=16384;var rO=()=>{};function tO($,Z={}){let Y={...aO,...Z};if($.trim()==="")return`
|
|
15032
15032
|
`;let X=$;if(Y.trimTrailingWhitespace)X=X.replace(/[ \t]+$/gm,"");if(X=NS(X,Y),X=MS(X,Y),X=AS(X,Y),Y.trimTrailingWhitespace)X=X.replace(/[ \t]+$/gm,""),X=X.replace(/(\S)[ \t]+(<\/[^>]+>)/g,"$1$2");if(X=X.replace(/\r\n/g,`
|
|
15033
15033
|
`).replace(/\r/g,`
|
|
15034
15034
|
`),!X.endsWith(`
|
|
@@ -16039,7 +16039,7 @@ $1`)}if(E.length>0){let{interpolateScriptsInTemplate:y}=await Promise.resolve().
|
|
|
16039
16039
|
$1`);else u+=`
|
|
16040
16040
|
${h}`}return _.set(N,{content:u,mtime:V.mtimeMs}),u}async function q(O){let V=Q3.statSync(O),N=`${O}:${V.mtimeMs}`,A=_.get(N);if(A)return A.content;let{content:w}=await K$(O,X);return _.set(N,{content:w,mtime:V.mtimeMs}),w}function j(O){let V=O.startsWith("/")?O.slice(1):O,N=[V,`${V}.stx`,`${V}.md`,`${V}.html`,K5.join(V,"index.stx"),K5.join(V,"index.md"),K5.join(V,"index.html")];for(let A of N){let w=K5.join(B,A);if(Q3.existsSync(w)&&Q3.statSync(w).isFile())return w}return null}async function H(O){let V=new URL(O.url),N=async()=>{if(G[V.pathname])return await G[V.pathname](O);if(Q){let w=await Q(O);if(w)return w}let A=j(V.pathname);if(!A){if(W)return await W(O);return new Response("Not Found",{status:404})}try{let w,R="text/html";if(A.endsWith(".stx"))w=await z(A);else if(A.endsWith(".md"))w=await q(A);else if(A.endsWith(".html"))w=await Bun.file(A).text();else if(A.endsWith(".css"))w=await Bun.file(A).text(),R="text/css";else if(A.endsWith(".js"))w=await Bun.file(A).text(),R="text/javascript";else if(A.endsWith(".json"))w=await Bun.file(A).text(),R="application/json";else return new Response(Bun.file(A));return new Response(w,{headers:{"Content-Type":R}})}catch(w){if(U)return await U(w,O);let R=w instanceof Error?w.message:String(w),T=X?.debug===!0?`<h1>Error</h1><pre>${R}
|
|
16041
16041
|
${w instanceof Error?w.stack:""}</pre>`:"<h1>Internal Server Error</h1><p>An error occurred while processing your request.</p>";return new Response(T,{status:500,headers:{"Content-Type":"text/html"}})}};for(let A=K.length-1;A>=0;A--){let w=K[A],R=N;N=async()=>await w(O,R)}return await N()}let L=xb({port:Z,fetch:H}),F=null;if(J)F=Q3.watch(B,{recursive:!0},(O,V)=>{if(V&&(V.endsWith(".stx")||V.endsWith(".md")||V.endsWith(".html")))_.clear()});return{server:L,url:L.url.toString(),stop(){if(F)F.close();L.stop()}}}async function fb($,Z={}){let Y=K5.resolve($);if(!await Bun.file(Y).exists())throw Error(`File not found: ${Y}`);let X=Y.endsWith(".md"),J=Y.endsWith(".stx");if(!X&&!J)throw Error(`Unsupported file type: ${Y}. Only .stx and .md files are supported.`);return await VL({...Z,root:K5.dirname(Y),routes:{"/":async()=>{let Q;if(X){let{content:G}=await K$(Y,Z.stxOptions);Q=G}else{let G=await Bun.file(Y).text(),K=[],W=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,U;while((U=W.exec(G))!==null)if(U[1].includes("server"))K.push(U[2]);let B=K.join(`
|
|
16042
|
-
`),_=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),z={};if(B.trim())await D0(B,z,Y);let q=new Set;Q=await X0(_,z,Y,Z.stxOptions||{},q)}return new Response(Q,{headers:{"Content-Type":"text/html"}})},...Z.routes}})}function gb($){return $}function hb($){return $}var NL=k(()=>{k7();L1();
|
|
16042
|
+
`),_=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),z={};if(B.trim())await D0(B,z,Y);let q=new Set;Q=await X0(_,z,Y,Z.stxOptions||{},q)}return new Response(Q,{headers:{"Content-Type":"text/html"}})},...Z.routes}})}function gb($){return $}function hb($){return $}var NL=k(()=>{k7();L1();A0()});import{existsSync as db,readFileSync as ub}from"fs";class GG{options;variables=new Map;errors=[];warnings=[];currentFile="";constructor($={}){if(this.options={...mb,...$},this.options.includeBuiltins)Object.entries(AL).forEach(([Z,Y])=>{this.variables.set(Z,Y)});if(this.options.customTypes)Object.entries(this.options.customTypes).forEach(([Z,Y])=>{this.variables.set(Z,Y)})}checkFile($){if(this.currentFile=$,this.errors=[],this.warnings=[],!db($))return this.errors.push({message:`File not found: ${$}`,file:$,line:0,column:0,expression:"",severity:"error"}),this.getResult();let Z=ub($,"utf-8");return this.checkTemplate(Z,$)}checkTemplate($,Z="<inline>"){this.currentFile=Z,this.errors=[],this.warnings=[];let Y=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i);if(Y)this.analyzeScript(Y[1],$.indexOf(Y[0]));return this.checkDirectives($),this.checkExpressions($),this.getResult()}analyzeScript($,Z){let Y=$.split(`
|
|
16043
16043
|
`),X=this.getLineNumber(Z);for(let J=0;J<Y.length;J++){let Q=Y[J],G=X+J;this.extractTypedVariables(Q,G),this.extractInterfaces(Q,Y,J,G),this.extractTypeAliases(Q,G)}}extractTypedVariables($,Z){let Y=$.match(/(?:export\s+)?(?:const|let|var)\s+(\w+)\s*:\s*([^=]+?)\s*=/);if(Y){let[,Q,G]=Y,K=this.parseTypeAnnotation(G.trim());this.variables.set(Q,K);return}let X=$.match(/(?:export\s+)?(?:const|let|var)\s+(\w+)\s*=\s*(.+)/);if(X){let[,Q,G]=X,K=this.inferType(G.trim());this.variables.set(Q,K);return}let J=$.match(/(?:export\s+)?function\s+(\w+)\s*\(([^)]*)\)(?:\s*:\s*(\w+))?/);if(J){let[,Q,G,K]=J,W=this.parseParams(G),U=K?this.parseTypeAnnotation(K):{kind:"primitive",value:"any"};this.variables.set(Q,{kind:"function",params:W,returnType:U})}}extractInterfaces($,Z,Y,X){let J=$.match(/(?:export\s+)?interface\s+(\w+)\s*\{/);if(J){let[,Q]=J,G={},K=1,W=Y+1;while(W<Z.length&&K>0){let U=Z[W].trim();if(U.includes("{"))K++;if(U.includes("}"))K--;let B=U.match(/(\w+)\??\s*:\s*([^;]+)/);if(B&&K>0){let[,_,z]=B;G[_]=this.parseTypeAnnotation(z.trim())}W++}this.variables.set(Q,{kind:"object",name:Q,properties:G})}}extractTypeAliases($,Z){let Y=$.match(/(?:export\s+)?type\s+(\w+)\s*=\s*(.+)/);if(Y){let[,X,J]=Y,Q=this.parseTypeAnnotation(J.trim());Q.name=X,this.variables.set(X,Q)}}parseTypeAnnotation($){let Z=$.trim();if(Z.includes("|"))return{kind:"union",types:Z.split("|").map((Q)=>this.parseTypeAnnotation(Q.trim()))};if(Z.includes("&"))return{kind:"intersection",types:Z.split("&").map((Q)=>this.parseTypeAnnotation(Q.trim()))};if(Z.endsWith("[]"))return{kind:"array",elementType:this.parseTypeAnnotation(Z.slice(0,-2))};let Y=Z.match(/^Array<(.+)>$/);if(Y)return{kind:"array",elementType:this.parseTypeAnnotation(Y[1])};if(Z.startsWith("{")&&Z.endsWith("}")){let J={},Q=Z.slice(1,-1).trim();if(Q){let G=this.splitByComma(Q);for(let K of G){let W=K.match(/(\w+)\??\s*:\s*(.+)/);if(W){let[,U,B]=W;J[U]=this.parseTypeAnnotation(B.trim())}}}return{kind:"object",properties:J}}if(Z.startsWith('"')||Z.startsWith("'"))return{kind:"literal",value:Z.slice(1,-1)};if(/^\d+$/.test(Z))return{kind:"literal",value:Z};if(Z==="true"||Z==="false")return{kind:"literal",value:Z};if(["string","number","boolean","null","undefined","any","unknown","void","never"].includes(Z))return{kind:"primitive",value:Z};if(this.variables.has(Z))return this.variables.get(Z);return{kind:"primitive",value:"any"}}inferType($){let Z=$.trim().replace(/;$/,"");if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'")||Z.startsWith("`")&&Z.endsWith("`"))return{kind:"primitive",value:"string"};if(/^-?\d+(\.\d+)?$/.test(Z))return{kind:"primitive",value:"number"};if(Z==="true"||Z==="false")return{kind:"primitive",value:"boolean"};if(Z==="null")return{kind:"primitive",value:"null"};if(Z==="undefined")return{kind:"primitive",value:"undefined"};if(Z.startsWith("[")){let Y=Z.slice(1,-1).trim();if(Y){let X=this.splitByComma(Y)[0];if(X)return{kind:"array",elementType:this.inferType(X.trim())}}return{kind:"array",elementType:{kind:"primitive",value:"any"}}}if(Z.startsWith("{")){let Y={},X=this.extractObjectLiteral(Z);for(let[J,Q]of Object.entries(X))Y[J]=this.inferType(Q);return{kind:"object",properties:Y}}if(Z.includes("=>")){let Y=Z.match(/^\(([^)]*)\)\s*(?::\s*(\w+))?\s*=>/);if(Y){let X=this.parseParams(Y[1]),J=Y[2]?this.parseTypeAnnotation(Y[2]):{kind:"primitive",value:"any"};return{kind:"function",params:X,returnType:J}}}if(/^\w+$/.test(Z)&&this.variables.has(Z))return this.variables.get(Z);if(Z.includes("."))return this.resolvePropertyAccess(Z);if(Z.includes("(")){let Y=Z.split("(")[0],X=this.variables.get(Y);if(X?.kind==="function"&&X.returnType)return X.returnType}return{kind:"primitive",value:"any"}}parseParams($){if(!$.trim())return[];let Z=[],Y=this.splitByComma($);for(let X of Y){let J=X.trim(),Q=J.includes("?"),G=J.match(/(\w+)\??\s*(?::\s*([^=]+))?(?:\s*=)?/);if(G){let[,K,W]=G,U=W?this.parseTypeAnnotation(W.trim()):{kind:"primitive",value:"any"};Z.push({name:K,type:U,optional:Q})}}return Z}checkExpressions($){let Z=/\{\{([\s\S]*?)\}\}/g,Y;while((Y=Z.exec($))!==null){let J=Y[1].trim(),Q=Y.index,G=this.getLineNumber(Q,$),K=this.getColumn(Q,$);if(!J)continue;if(J.startsWith("!")||J.endsWith("!"))continue;this.checkExpression(J,G,K)}let X=/\{!!([\s\S]*?)!!\}/g;while((Y=X.exec($))!==null){let J=Y[1].trim(),Q=Y.index,G=this.getLineNumber(Q,$),K=this.getColumn(Q,$);if(!J)continue;this.checkExpression(J,G,K)}}checkExpression($,Z,Y){if($.includes("?")&&$.includes(":")){let Q=$.split("?");this.checkExpression(Q[0].trim(),Z,Y);let G=Q.slice(1).join("?").split(":");if(G.length>=2)this.checkExpression(G[0].trim(),Z,Y),this.checkExpression(G.slice(1).join(":").trim(),Z,Y);return}for(let Q of["&&","||","??"])if($.includes(Q)){$.split(Q).forEach((K)=>this.checkExpression(K.trim(),Z,Y));return}for(let Q of["===","!==","==","!=",">=","<=",">","<"])if($.includes(Q)){$.split(Q).forEach((K)=>this.checkExpression(K.trim(),Z,Y));return}if($.startsWith("!")){this.checkExpression($.slice(1).trim(),Z,Y);return}if(this.isLiteral($))return;let X=$.match(/^(\w+(?:\.\w+)*)\s*\(/);if(X){let Q=X[1],G=this.resolvePropertyAccess(Q);if(G.kind!=="function"&&G.value!=="any")this.addWarning(`'${Q}' is not a function`,Z,Y,$);return}if($.includes(".")){if(this.resolvePropertyAccess($).value==="undefined"&&this.options.checkPropertyAccess)this.addWarning(`Property access '${$}' may be undefined`,Z,Y,$);return}let J=$.match(/^\w+/)?.[0];if(J&&!this.variables.has(J))this.addError(`Variable '${J}' is not defined`,Z,Y,$)}checkDirectives($){let Z=/@if\s*\(([^)]+)\)/g,Y;while((Y=Z.exec($))!==null){let G=Y[1].trim(),K=Y.index,W=this.getLineNumber(K,$),U=this.getColumn(K,$);this.checkExpression(G,W,U)}let X=/@foreach\s*\((\w+)\s+(?:as|in)\s+(\w+)(?:\s*,\s*(\w+))?\)/g;while((Y=X.exec($))!==null){let[,G,K,W]=Y,U=Y.index,B=this.getLineNumber(U,$),_=this.getColumn(U,$);if(!this.variables.has(G))this.addError(`Collection '${G}' is not defined`,B,_,Y[0]);else{let z=this.variables.get(G);if(z.kind==="array"&&z.elementType)this.variables.set(K,z.elementType);else this.variables.set(K,{kind:"primitive",value:"any"});if(W)this.variables.set(W,{kind:"primitive",value:"number"})}}let J=/@unless\s*\(([^)]+)\)/g;while((Y=J.exec($))!==null){let G=Y[1].trim(),K=Y.index,W=this.getLineNumber(K,$),U=this.getColumn(K,$);this.checkExpression(G,W,U)}let Q=/@switch\s*\(([^)]+)\)/g;while((Y=Q.exec($))!==null){let G=Y[1].trim(),K=Y.index,W=this.getLineNumber(K,$),U=this.getColumn(K,$);this.checkExpression(G,W,U)}}resolvePropertyAccess($){let Z=$.split("."),Y=this.variables.get(Z[0])||{kind:"primitive",value:"any"};for(let X=1;X<Z.length;X++){let J=Z[X].replace(/\(\)$/,"");if(Y.kind==="object"&&Y.properties)if(Y.properties[J])Y=Y.properties[J];else if(!this.options.allowAny)return{kind:"primitive",value:"undefined"};else Y={kind:"primitive",value:"any"};else if(Y.kind==="array"&&Y.elementType)if(["length"].includes(J))Y={kind:"primitive",value:"number"};else if(["map","filter","find","forEach","some","every","reduce"].includes(J))Y={kind:"function",returnType:{kind:"primitive",value:"any"}};else if(["join"].includes(J))Y={kind:"function",returnType:{kind:"primitive",value:"string"}};else Y={kind:"primitive",value:"any"};else if(Y.kind==="primitive"&&Y.value==="string")if(["length"].includes(J))Y={kind:"primitive",value:"number"};else if(["toUpperCase","toLowerCase","trim","slice","substring"].includes(J))Y={kind:"function",returnType:{kind:"primitive",value:"string"}};else if(["split"].includes(J))Y={kind:"function",returnType:{kind:"array",elementType:{kind:"primitive",value:"string"}}};else Y={kind:"primitive",value:"any"};else Y={kind:"primitive",value:"any"}}return Y}isLiteral($){let Z=$.trim();if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'")||Z.startsWith("`")&&Z.endsWith("`"))return!0;if(/^-?\d+(\.\d+)?$/.test(Z))return!0;if(Z==="true"||Z==="false")return!0;if(Z==="null"||Z==="undefined")return!0;return!1}extractObjectLiteral($){let Z={},Y=$.slice(1,-1).trim();if(!Y)return Z;let X=this.splitByComma(Y);for(let J of X){let Q=J.indexOf(":");if(Q>0){let G=J.slice(0,Q).trim(),K=J.slice(Q+1).trim();Z[G]=K}}return Z}splitByComma($){let Z=[],Y="",X=0,J=null;for(let Q=0;Q<$.length;Q++){let G=$[Q],K=Q>0?$[Q-1]:"";if((G==='"'||G==="'"||G==="`")&&K!=="\\"){if(J===G)J=null;else if(!J)J=G}if(!J){if(G==="{"||G==="["||G==="(")X++;if(G==="}"||G==="]"||G===")")X--;if(G===","&&X===0){Z.push(Y.trim()),Y="";continue}}Y+=G}if(Y.trim())Z.push(Y.trim());return Z}getLineNumber($,Z){return((Z||"").slice(0,$).match(/\n/g)||[]).length+1}getColumn($,Z){let X=Z.slice(0,$).lastIndexOf(`
|
|
16044
16044
|
`);return $-X}addError($,Z,Y,X,J,Q){this.errors.push({message:$,file:this.currentFile,line:Z,column:Y,expression:X,expected:J,received:Q,severity:"error"})}addWarning($,Z,Y,X,J,Q){let G={message:$,file:this.currentFile,line:Z,column:Y,expression:X,expected:J,received:Q,severity:"warning"};if(this.options.strict)this.errors.push(G);else this.warnings.push(G)}getResult(){return{valid:this.errors.length===0,errors:this.errors,warnings:this.warnings,variables:new Map(this.variables)}}addVariable($,Z){this.variables.set($,Z)}reset(){if(this.errors=[],this.warnings=[],this.variables.clear(),this.options.includeBuiltins)Object.entries(AL).forEach(([$,Z])=>{this.variables.set($,Z)})}}function KG($){return new GG($)}function pb($,Z){return KG(Z).checkFile($)}function cb($,Z){return KG(Z).checkTemplate($)}function lb($){let Z=[];for(let Y of $.errors){if(Z.push(`\x1B[31merror\x1B[0m: ${Y.message}`),Z.push(` --> ${Y.file}:${Y.line}:${Y.column}`),Y.expression)Z.push(" |"),Z.push(` | ${Y.expression}`),Z.push(" |");if(Y.expected&&Y.received)Z.push(` expected: ${Y.expected}`),Z.push(` received: ${Y.received}`);Z.push("")}for(let Y of $.warnings){if(Z.push(`\x1B[33mwarning\x1B[0m: ${Y.message}`),Z.push(` --> ${Y.file}:${Y.line}:${Y.column}`),Y.expression)Z.push(" |"),Z.push(` | ${Y.expression}`),Z.push(" |");Z.push("")}if($.valid)Z.push("\x1B[32m\u2713 No type errors found\x1B[0m");else Z.push(`\x1B[31m\u2717 Found ${$.errors.length} error(s) and ${$.warnings.length} warning(s)\x1B[0m`);return Z.join(`
|
|
16045
16045
|
`)}var mb,AL;var wL=k(()=>{mb={strict:!1,allowAny:!0,checkPropertyAccess:!0,checkFunctionCalls:!0,includeBuiltins:!0},AL={console:{kind:"object",properties:{log:{kind:"function",params:[{name:"message",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"void"}},error:{kind:"function",params:[{name:"message",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"void"}},warn:{kind:"function",params:[{name:"message",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"void"}}}},Math:{kind:"object",properties:{abs:{kind:"function",params:[{name:"x",type:{kind:"primitive",value:"number"}}],returnType:{kind:"primitive",value:"number"}},floor:{kind:"function",params:[{name:"x",type:{kind:"primitive",value:"number"}}],returnType:{kind:"primitive",value:"number"}},ceil:{kind:"function",params:[{name:"x",type:{kind:"primitive",value:"number"}}],returnType:{kind:"primitive",value:"number"}},round:{kind:"function",params:[{name:"x",type:{kind:"primitive",value:"number"}}],returnType:{kind:"primitive",value:"number"}},max:{kind:"function",params:[{name:"values",type:{kind:"primitive",value:"number"}}],returnType:{kind:"primitive",value:"number"}},min:{kind:"function",params:[{name:"values",type:{kind:"primitive",value:"number"}}],returnType:{kind:"primitive",value:"number"}},random:{kind:"function",params:[],returnType:{kind:"primitive",value:"number"}},PI:{kind:"primitive",value:"number"},E:{kind:"primitive",value:"number"}}},JSON:{kind:"object",properties:{stringify:{kind:"function",params:[{name:"value",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"string"}},parse:{kind:"function",params:[{name:"text",type:{kind:"primitive",value:"string"}}],returnType:{kind:"primitive",value:"any"}}}},Date:{kind:"function",returnType:{kind:"object",properties:{getTime:{kind:"function",params:[],returnType:{kind:"primitive",value:"number"}},toISOString:{kind:"function",params:[],returnType:{kind:"primitive",value:"string"}},toLocaleDateString:{kind:"function",params:[],returnType:{kind:"primitive",value:"string"}}}}},Array:{kind:"object",properties:{isArray:{kind:"function",params:[{name:"value",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"boolean"}},from:{kind:"function",params:[{name:"arrayLike",type:{kind:"primitive",value:"any"}}],returnType:{kind:"array",elementType:{kind:"primitive",value:"any"}}}}},Object:{kind:"object",properties:{keys:{kind:"function",params:[{name:"obj",type:{kind:"primitive",value:"any"}}],returnType:{kind:"array",elementType:{kind:"primitive",value:"string"}}},values:{kind:"function",params:[{name:"obj",type:{kind:"primitive",value:"any"}}],returnType:{kind:"array",elementType:{kind:"primitive",value:"any"}}},entries:{kind:"function",params:[{name:"obj",type:{kind:"primitive",value:"any"}}],returnType:{kind:"array",elementType:{kind:"primitive",value:"any"}}}}},String:{kind:"function",params:[{name:"value",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"string"}},Number:{kind:"function",params:[{name:"value",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"number"}},Boolean:{kind:"function",params:[{name:"value",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"boolean"}},props:{kind:"object",properties:{}},slot:{kind:"primitive",value:"string"},loop:{kind:"object",properties:{index:{kind:"primitive",value:"number"},iteration:{kind:"primitive",value:"number"},first:{kind:"primitive",value:"boolean"},last:{kind:"primitive",value:"boolean"},even:{kind:"primitive",value:"boolean"},odd:{kind:"primitive",value:"boolean"},count:{kind:"primitive",value:"number"},remaining:{kind:"primitive",value:"number"},depth:{kind:"primitive",value:"number"},parent:{kind:"object",properties:{}}}}}});async function WG($,Z,Y){if(!UG)return;try{let X=$.getAttribute("data-island-id"),J=document.querySelector(`script[data-island-props="${X}"]`),Q=J?JSON.parse(J.textContent||"{}"):{},G=await Y(),K=G.default||G.hydrate;if(typeof K!=="function"){console.error(`Island handler for "${Z}" does not export a valid hydration function`);return}await K($,Q),$.setAttribute("data-hydrated","true")}catch(X){console.error(`Failed to hydrate island "${Z}":`,X)}}function ib($){if(!UG)return;let Z=document.querySelectorAll("[data-island]"),Y=[];if(Z.forEach((X)=>{let J=X.getAttribute("data-island"),Q=X.getAttribute("data-priority")||"lazy";if(!J||!$[J]||X.getAttribute("data-hydrated")==="true")return;if(Q==="eager")WG(X,J,$[J]);else Y.push([X,J])}),Y.length>0&&"IntersectionObserver"in window){let X=new IntersectionObserver((J)=>{J.forEach((Q)=>{if(Q.isIntersecting){let G=Q.target,K=G.getAttribute("data-island");if(K&&$[K]&&G.getAttribute("data-hydrated")!=="true")WG(G,K,$[K]),X.unobserve(G)}})},{rootMargin:"200px",threshold:0});Y.forEach(([J])=>{X.observe(J)})}else setTimeout(()=>{Y.forEach(([X,J])=>{if(X.getAttribute("data-hydrated")!=="true")WG(X,J,$[J])})},1000)}function nb($){if(!UG)return;Object.entries($).forEach(([Z,Y])=>{try{let J=Y.toString().match(/import\(['"](.+)['"]\)/);if(J&&J[1]){let Q=document.createElement("link");Q.rel="modulepreload",Q.href=J[1],Q.setAttribute("data-island-module",Z),document.head.appendChild(Q)}}catch(X){console.warn(`Failed to preload island handler for "${Z}":`,X)}})}var UG;var RL=k(()=>{UG=typeof window<"u"&&typeof document<"u"});function ML($){if(!G4)return null;let Z=document.getElementById("stx-loading-indicator");if(Z)Z.remove();let Y=document.createElement("div");Y.id="stx-loading-indicator";let X=$.initialColor?`linear-gradient(to right, ${$.initialColor}, ${$.color})`:$.color;Y.style.cssText=`
|
|
@@ -16569,7 +16569,7 @@ else {
|
|
|
16569
16569
|
}
|
|
16570
16570
|
}
|
|
16571
16571
|
</style>
|
|
16572
|
-
`}var qG=null,zi;var gL=k(()=>{zi={HydrationRuntime:FY,serializeState:jG,generateStateScript:HG,generateHydrationScript:xL,generateHydrationCSS:fL,extractState:OG,getHydrationRuntime:LG,hydrate:vL}});import VY from"crypto";import hL from"path";class FG{store=new Map;async get($){let Z=this.store.get($);if(!Z||Z.expires<=Date.now()){if(Z)this.store.delete($);return null}return{...Z.data}}async set($,Z,Y){this.store.set($,{data:{...Z},expires:Date.now()+Y*1000})}async delete($){this.store.delete($)}}async function eb($,Z,Y){let X={},J={},Q=await Y.get($);if(Q)Object.assign(X,Q);let G={id:$,data:X,get(W){return X[W]},set(W,U){X[W]=U,K()},delete(W){delete X[W],K()},clear(){Object.keys(X).forEach((W)=>delete X[W]),K()},has(W){return W in X},flash(W,U){if(U!==void 0){J[W]=U;return}let B=J[W];return delete J[W],B},regenerate(){let W=$;$=uL(),G.id=$,Y.delete(W),K()},destroy(){Y.delete($),Object.keys(X).forEach((W)=>delete X[W])}};function K(){Y.set($,{...X,__flash:J},Z)}return K(),G}function uL(){return VY.randomBytes(32).toString("hex")}function $C($){if(!$)return{};return $.split(";").reduce((Z,Y)=>{let[X,...J]=Y.trim().split("=");if(X)Z[X]=decodeURIComponent(J.join("="));return Z},{})}function dL($,Z,Y={}){let X=`${encodeURIComponent($)}=${encodeURIComponent(Z)}`;if(Y.maxAge!==void 0)X+=`; Max-Age=${Y.maxAge}`;if(Y.expires)X+=`; Expires=${Y.expires.toUTCString()}`;if(Y.path)X+=`; Path=${Y.path}`;if(Y.domain)X+=`; Domain=${Y.domain}`;if(Y.secure)X+="; Secure";if(Y.httpOnly)X+="; HttpOnly";if(Y.sameSite)X+=`; SameSite=${Y.sameSite}`;return X}function ZC(){return VY.randomBytes(32).toString("hex")}function YC($,Z){if(!$||!Z)return!1;try{return VY.timingSafeEqual(Buffer.from($),Buffer.from(Z))}catch{return!1}}async function mL($,Z={},Y={}){let X=Y.viewsDir||"./views",J=Y.layoutsDir||"./layouts",Q=!$.includes("<")&&!$.includes("@"),G,K;if(Q){if(K=hL.resolve(X,$),!K.endsWith(".stx"))K+=".stx";if(!await Bun.file(K).exists())return new Response(`Template not found: ${$}`,{status:500});G=await Bun.file(K).text()}else G=$,K="inline-template.stx";let W={...Z,props:Z,__filename:K,__dirname:hL.dirname(K)};if(Y.ctx)W.csrf_token=Y.ctx.csrfToken,W.csrf_field=`<input type="hidden" name="_token" value="${Y.ctx.csrfToken}">`,W.old=Y.ctx.old,W.errors=Y.ctx.errors,W.session=Y.ctx.session,W.user=Y.ctx.user(),W.isAuthenticated=Y.ctx.isAuthenticated();let U=G.match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(U){let j=U[1];G=G.replace(/<script\s+server\b[^>]*>[\s\S]*?<\/script>/gi,""),await D0(j,W,K)}let B={layoutsDir:J,...Y.stxOptions},z=await X0(G,W,K,B,new Set),q=new Headers({"Content-Type":"text/html; charset=utf-8"});if(Y.ctx)Y.ctx.responseHeaders.forEach((j,H)=>{q.set(H,j)});return new Response(z,{headers:q})}function Vi($={}){let{viewsDir:Z="./views",layoutsDir:Y="./layouts",defaultLayout:X,sessionSecret:J=VY.randomBytes(32).toString("hex"),sessionCookieName:Q="stx_session",sessionTtl:G=86400,stxOptions:K={},csrfCookieName:W="csrf_token",csrfEnabled:U=!0}=$,B=$.sessionStore??new FG,_=[],z=[];function q(O,V){for(let N of _){if(N.method!==O&&N.method!=="*")continue;let A=[],w=N.pattern.replace(/\/:(\w+)/g,(T,E)=>{return A.push(E),"/([^/]+)"}).replace(/\//g,"\\/"),R=new RegExp(`^${w}$`),M=V.match(R);if(M){let T={};return A.forEach((E,D)=>{T[E]=M[D+1]}),{route:N,params:T}}}return null}async function j(O,V){let N=new URL(O.url),A=$C(O.headers.get("Cookie")),w=new Headers,R=[],M=A[Q];if(!M)M=uL(),R.push(dL(Q,M,{httpOnly:!0,secure:N.protocol==="https:",sameSite:"Lax",path:"/",maxAge:G}));let T=await eb(M,G,B),E=T.get("_csrf");if(!E)E=ZC(),T.set("_csrf",E);let D={};N.searchParams.forEach((b,x)=>{D[x]=b});let S=T.flash("_errors")||{},C=T.flash("_old_input")||{},P={request:O,url:N,params:V,query:D,session:T,csrfToken:E,cookies:A,responseHeaders:w,errors:S,async formData(){let b=await O.formData(),x={};return b.forEach((s,u)=>{x[u]=s}),x},async json(){return await O.json()},setCookie(b,x,s={}){R.push(dL(b,x,s))},flash(b,x){T.flash(b,x)},getFlash(b){return T.flash(b)},old(b){return C[b]||""},isAuthenticated(){return T.has("user")},user(){return T.get("user")}};if(R.length>0)R.forEach((b)=>{w.append("Set-Cookie",b)});return P}let H=async(O,V)=>{if(["GET","HEAD","OPTIONS"].includes(O.request.method))return V();if(!U)return V();let A=(await O.request.clone().formData().catch(()=>new FormData)).get("_token"),w=O.request.headers.get("X-CSRF-Token"),R=A||w,M=O.session.get("_csrf");if(!R||!M||!YC(R,M))return new Response("CSRF token mismatch",{status:419});return V()};async function L(O){let V=new URL(O.url),N=O.method,A=q(N,V.pathname);if(!A)return new Response("Not Found",{status:404});let w=await j(O,A.params),R=[...z,H,...A.route.middleware],M=0,T=async()=>{if(M<R.length){let E=R[M++];return E(w,T)}return A.route.handler(w)};try{let E=await T();return w.responseHeaders.forEach((D,S)=>{E.headers.set(S,D)}),E}catch(E){return n0.log(E instanceof Error?E:Error(String(E)),{handler:"request"},"error"),new Response("Internal Server Error",{status:500})}}function F(O,V,N,A=[]){_.push({method:O,pattern:V,handler:N,middleware:A})}return{fetch:L,get(O,V,N=[]){return F("GET",O,V,N),this},post(O,V,N=[]){return F("POST",O,V,N),this},put(O,V,N=[]){return F("PUT",O,V,N),this},delete(O,V,N=[]){return F("DELETE",O,V,N),this},patch(O,V,N=[]){return F("PATCH",O,V,N),this},use(O){return z.push(O),this},async render(O,V={},N){return mL(O,V,{viewsDir:Z,layoutsDir:Y,stxOptions:K,ctx:N})},redirect(O,V=302){return new Response(null,{status:V,headers:{Location:O}})},back(O,V,N){if(V)O.session.flash("_errors",V);if(N)O.session.flash("_old_input",N);let A=O.request.headers.get("Referer")||"/";return new Response(null,{status:302,headers:{Location:A}})},listen(O=3000){return Bun.serve({port:O,fetch:L})}}}var pL=k(()=>{O1();L1();N0()});function XC($,Z){$$.stores.set($,Z)}function U4($){return $$.stores.get($)}function lL($){return $$.stores.has($)}function iL(){return Array.from($$.stores.keys())}function Ai(){for(let $ of $$.stores.values())$.destroy();$$.stores.clear(),$$.subscriptions.clear()}function cL($){if($==="memory")return{getItem:(Z)=>W4.get(Z)??null,setItem:(Z,Y)=>W4.set(Z,Y),removeItem:(Z)=>W4.delete(Z)};if(typeof window>"u")return{getItem:(Z)=>W4.get(Z)??null,setItem:(Z,Y)=>W4.set(Z,Y),removeItem:(Z)=>W4.delete(Z)};return $==="local"?window.localStorage:window.sessionStorage}function JC($,Z){let Y={};for(let X of Z){let J=X.split("."),Q=$,G=Y,K=!0;for(let W=0;W<J.length-1;W++){let U=J[W];if(Q&&typeof Q==="object"&&U in Q){if(Q=Q[U],!(U in G))G[U]={};G=G[U]}else{K=!1;break}}if(K&&Q&&typeof Q==="object"){let W=J[J.length-1];if(W in Q)G[W]=Q[W]}}return Y}function VG($,Z={}){let{name:Y,persist:X,devtools:J=!1,middleware:Q=[],equals:G=(L,F)=>L===F}=Z,K=$,W=new Set,U=null;if(X){let L=cL(X.storage||"local"),F=X.key||`stx-store:${Y||"unnamed"}`,O=X.deserialize||JSON.parse;try{let V=L.getItem(F);if(V){let N=O(V);if(X.paths&&typeof N==="object"&&N!==null)K={...$,...N};else K=N}}catch{}}let B=(L)=>{if(!X)return;let F=cL(X.storage||"local"),O=X.key||`stx-store:${Y||"unnamed"}`,V=X.serialize||JSON.stringify,N=X.paths&&typeof L==="object"&&L!==null?JC(L,X.paths):L;if(X.debounce){if(U)clearTimeout(U);U=setTimeout(()=>{F.setItem(O,V(N))},X.debounce)}else F.setItem(O,V(N))},_=(L,F)=>{for(let O of W)try{O(L,F)}catch(V){console.error("[stx-store] Subscriber error:",V)}},z=J?(L,F)=>{if(typeof window<"u"&&window.__STX_DEVTOOLS__)window.__STX_DEVTOOLS__.onStoreChange(Y||"unnamed",L,F)}:()=>{},q=(L)=>{let F=K;if(!G(L,F))K=L,B(L),_(L,F),z("set",L)},j=q,H={get:()=>K,set:(L)=>{if(typeof L==="function")j(L(K));else j(L)},subscribe:(L)=>{return W.add(L),()=>{W.delete(L)}},update:(L)=>{if(typeof K!=="object"||K===null)throw Error("update() can only be used with object stores");let F=typeof L==="function"?L(K):L;H.set({...K,...F})},reset:()=>{H.set($),z("reset",$)},name:Y,destroy:()=>{if(W.clear(),U)clearTimeout(U);if(Y)$$.stores.delete(Y)}};for(let L of Q.reverse())j=L(q,()=>K,H)(j);if(Y)XC(Y,H);return H}function wi($,Z={}){let Y=new Set,X=$();return{get:()=>{let Q=$();if(Q!==X){let G=X;X=Q;for(let K of Y)K(Q,G)}return X},subscribe:(Q)=>{return Y.add(Q),()=>{Y.delete(Q)}},name:Z.name,destroy:()=>{Y.clear()}}}function nL($,Z,Y={}){let{equals:X=(W,U)=>W===U}=Y,J=()=>$.map((W)=>W.get()),Q=Z(...J()),G=new Set,K=[];for(let W of $){let U=W.subscribe(()=>{let B=Z(...J());if(!X(B,Q)){let _=Q;Q=B;for(let z of G)z(B,_)}});K.push(U)}return{get:()=>Q,set:()=>{throw Error("Cannot set a computed store")},subscribe:(W)=>{return G.add(W),()=>{G.delete(W)}},update:()=>{throw Error("Cannot update a computed store")},reset:()=>{throw Error("Cannot reset a computed store")},destroy:()=>{for(let W of K)W();G.clear()}}}function QC($,Z,Y){return async(...X)=>{let J=$.get(),Q=await Y(J,...X);if($.set(Q),typeof window<"u"&&window.__STX_DEVTOOLS__)window.__STX_DEVTOOLS__.onAction($.name||"unnamed",Z,X)}}function Ri($,Z){let Y={};for(let[X,J]of Object.entries(Z))Y[X]=QC($,X,J);return Y}function Mi($,Z,Y={}){return nL([$],Z,Y)}function Ti($,Z,Y){let X,J;return nL([$],(G)=>{let K=Y(G);if(X&&X.length===K.length){let W=!1;for(let U=0;U<K.length;U++)if(X[U]!==K[U]){W=!0;break}if(!W&&J!==void 0)return J}return X=K,J=Z(G),J})}function Ii($){return(Z,Y)=>(X)=>(J)=>{let Q=Y();console.group(`[stx-store${$?`:${$}`:""}] Update`),console.log("Previous:",Q),console.log("Next:",J),console.groupEnd(),X(J)}}function Ei($){return(Z,Y)=>(X)=>(J)=>{let Q=$(J);if(Q===!0)X(J);else if(typeof Q==="string")console.error(`[stx-store] Validation failed: ${Q}`);else console.error("[stx-store] Validation failed")}}function Di(){return($,Z)=>(Y)=>(X)=>{let J=JSON.parse(JSON.stringify(X));Y(J)}}function ki($){let Z=0,Y,X=null;return(J,Q)=>(G)=>(K)=>{let W=Date.now();if(W-Z>=$)Z=W,G(K);else if(Y=K,!X)X=setTimeout(()=>{if(Y!==void 0)Z=Date.now(),G(Y),Y=void 0;X=null},$-(W-Z))}}function sL($){let Z=typeof $==="string"?U4($):$;if(!Z)throw Error(`Store "${$}" not found`);return Z.get()}function Si($){let Z=U4($);if(!Z)throw Error(`Store "${$}" not found`);return{name:"store",hasEndTag:!1,handler:()=>{return JSON.stringify(Z.get())}}}function GC(){let $={};for(let[Z,Y]of $$.stores.entries())$[Z]=Y.get();return JSON.stringify($)}function bi($){try{let Z=JSON.parse($);for(let[Y,X]of Object.entries(Z)){let J=U4(Y);if(J)J.set(X)}}catch(Z){console.error("[stx-store] Hydration failed:",Z)}}function Ci(){return`<script>window.__STX_STORE_STATE__=${GC()};
|
|
16572
|
+
`}var qG=null,zi;var gL=k(()=>{zi={HydrationRuntime:FY,serializeState:jG,generateStateScript:HG,generateHydrationScript:xL,generateHydrationCSS:fL,extractState:OG,getHydrationRuntime:LG,hydrate:vL}});import VY from"crypto";import hL from"path";class FG{store=new Map;async get($){let Z=this.store.get($);if(!Z||Z.expires<=Date.now()){if(Z)this.store.delete($);return null}return{...Z.data}}async set($,Z,Y){this.store.set($,{data:{...Z},expires:Date.now()+Y*1000})}async delete($){this.store.delete($)}}async function eb($,Z,Y){let X={},J={},Q=await Y.get($);if(Q)Object.assign(X,Q);let G={id:$,data:X,get(W){return X[W]},set(W,U){X[W]=U,K()},delete(W){delete X[W],K()},clear(){Object.keys(X).forEach((W)=>delete X[W]),K()},has(W){return W in X},flash(W,U){if(U!==void 0){J[W]=U;return}let B=J[W];return delete J[W],B},regenerate(){let W=$;$=uL(),G.id=$,Y.delete(W),K()},destroy(){Y.delete($),Object.keys(X).forEach((W)=>delete X[W])}};function K(){Y.set($,{...X,__flash:J},Z)}return K(),G}function uL(){return VY.randomBytes(32).toString("hex")}function $C($){if(!$)return{};return $.split(";").reduce((Z,Y)=>{let[X,...J]=Y.trim().split("=");if(X)Z[X]=decodeURIComponent(J.join("="));return Z},{})}function dL($,Z,Y={}){let X=`${encodeURIComponent($)}=${encodeURIComponent(Z)}`;if(Y.maxAge!==void 0)X+=`; Max-Age=${Y.maxAge}`;if(Y.expires)X+=`; Expires=${Y.expires.toUTCString()}`;if(Y.path)X+=`; Path=${Y.path}`;if(Y.domain)X+=`; Domain=${Y.domain}`;if(Y.secure)X+="; Secure";if(Y.httpOnly)X+="; HttpOnly";if(Y.sameSite)X+=`; SameSite=${Y.sameSite}`;return X}function ZC(){return VY.randomBytes(32).toString("hex")}function YC($,Z){if(!$||!Z)return!1;try{return VY.timingSafeEqual(Buffer.from($),Buffer.from(Z))}catch{return!1}}async function mL($,Z={},Y={}){let X=Y.viewsDir||"./views",J=Y.layoutsDir||"./layouts",Q=!$.includes("<")&&!$.includes("@"),G,K;if(Q){if(K=hL.resolve(X,$),!K.endsWith(".stx"))K+=".stx";if(!await Bun.file(K).exists())return new Response(`Template not found: ${$}`,{status:500});G=await Bun.file(K).text()}else G=$,K="inline-template.stx";let W={...Z,props:Z,__filename:K,__dirname:hL.dirname(K)};if(Y.ctx)W.csrf_token=Y.ctx.csrfToken,W.csrf_field=`<input type="hidden" name="_token" value="${Y.ctx.csrfToken}">`,W.old=Y.ctx.old,W.errors=Y.ctx.errors,W.session=Y.ctx.session,W.user=Y.ctx.user(),W.isAuthenticated=Y.ctx.isAuthenticated();let U=G.match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(U){let j=U[1];G=G.replace(/<script\s+server\b[^>]*>[\s\S]*?<\/script>/gi,""),await D0(j,W,K)}let B={layoutsDir:J,...Y.stxOptions},z=await X0(G,W,K,B,new Set),q=new Headers({"Content-Type":"text/html; charset=utf-8"});if(Y.ctx)Y.ctx.responseHeaders.forEach((j,H)=>{q.set(H,j)});return new Response(z,{headers:q})}function Vi($={}){let{viewsDir:Z="./views",layoutsDir:Y="./layouts",defaultLayout:X,sessionSecret:J=VY.randomBytes(32).toString("hex"),sessionCookieName:Q="stx_session",sessionTtl:G=86400,stxOptions:K={},csrfCookieName:W="csrf_token",csrfEnabled:U=!0}=$,B=$.sessionStore??new FG,_=[],z=[];function q(O,V){for(let N of _){if(N.method!==O&&N.method!=="*")continue;let A=[],w=N.pattern.replace(/\/:(\w+)/g,(T,E)=>{return A.push(E),"/([^/]+)"}).replace(/\//g,"\\/"),R=new RegExp(`^${w}$`),M=V.match(R);if(M){let T={};return A.forEach((E,D)=>{T[E]=M[D+1]}),{route:N,params:T}}}return null}async function j(O,V){let N=new URL(O.url),A=$C(O.headers.get("Cookie")),w=new Headers,R=[],M=A[Q];if(!M)M=uL(),R.push(dL(Q,M,{httpOnly:!0,secure:N.protocol==="https:",sameSite:"Lax",path:"/",maxAge:G}));let T=await eb(M,G,B),E=T.get("_csrf");if(!E)E=ZC(),T.set("_csrf",E);let D={};N.searchParams.forEach((b,x)=>{D[x]=b});let S=T.flash("_errors")||{},C=T.flash("_old_input")||{},P={request:O,url:N,params:V,query:D,session:T,csrfToken:E,cookies:A,responseHeaders:w,errors:S,async formData(){let b=await O.formData(),x={};return b.forEach((s,u)=>{x[u]=s}),x},async json(){return await O.json()},setCookie(b,x,s={}){R.push(dL(b,x,s))},flash(b,x){T.flash(b,x)},getFlash(b){return T.flash(b)},old(b){return C[b]||""},isAuthenticated(){return T.has("user")},user(){return T.get("user")}};if(R.length>0)R.forEach((b)=>{w.append("Set-Cookie",b)});return P}let H=async(O,V)=>{if(["GET","HEAD","OPTIONS"].includes(O.request.method))return V();if(!U)return V();let A=(await O.request.clone().formData().catch(()=>new FormData)).get("_token"),w=O.request.headers.get("X-CSRF-Token"),R=A||w,M=O.session.get("_csrf");if(!R||!M||!YC(R,M))return new Response("CSRF token mismatch",{status:419});return V()};async function L(O){let V=new URL(O.url),N=O.method,A=q(N,V.pathname);if(!A)return new Response("Not Found",{status:404});let w=await j(O,A.params),R=[...z,H,...A.route.middleware],M=0,T=async()=>{if(M<R.length){let E=R[M++];return E(w,T)}return A.route.handler(w)};try{let E=await T();return w.responseHeaders.forEach((D,S)=>{E.headers.set(S,D)}),E}catch(E){return n0.log(E instanceof Error?E:Error(String(E)),{handler:"request"},"error"),new Response("Internal Server Error",{status:500})}}function F(O,V,N,A=[]){_.push({method:O,pattern:V,handler:N,middleware:A})}return{fetch:L,get(O,V,N=[]){return F("GET",O,V,N),this},post(O,V,N=[]){return F("POST",O,V,N),this},put(O,V,N=[]){return F("PUT",O,V,N),this},delete(O,V,N=[]){return F("DELETE",O,V,N),this},patch(O,V,N=[]){return F("PATCH",O,V,N),this},use(O){return z.push(O),this},async render(O,V={},N){return mL(O,V,{viewsDir:Z,layoutsDir:Y,stxOptions:K,ctx:N})},redirect(O,V=302){return new Response(null,{status:V,headers:{Location:O}})},back(O,V,N){if(V)O.session.flash("_errors",V);if(N)O.session.flash("_old_input",N);let A=O.request.headers.get("Referer")||"/";return new Response(null,{status:302,headers:{Location:A}})},listen(O=3000){return Bun.serve({port:O,fetch:L})}}}var pL=k(()=>{O1();L1();A0()});function XC($,Z){$$.stores.set($,Z)}function U4($){return $$.stores.get($)}function lL($){return $$.stores.has($)}function iL(){return Array.from($$.stores.keys())}function Ai(){for(let $ of $$.stores.values())$.destroy();$$.stores.clear(),$$.subscriptions.clear()}function cL($){if($==="memory")return{getItem:(Z)=>W4.get(Z)??null,setItem:(Z,Y)=>W4.set(Z,Y),removeItem:(Z)=>W4.delete(Z)};if(typeof window>"u")return{getItem:(Z)=>W4.get(Z)??null,setItem:(Z,Y)=>W4.set(Z,Y),removeItem:(Z)=>W4.delete(Z)};return $==="local"?window.localStorage:window.sessionStorage}function JC($,Z){let Y={};for(let X of Z){let J=X.split("."),Q=$,G=Y,K=!0;for(let W=0;W<J.length-1;W++){let U=J[W];if(Q&&typeof Q==="object"&&U in Q){if(Q=Q[U],!(U in G))G[U]={};G=G[U]}else{K=!1;break}}if(K&&Q&&typeof Q==="object"){let W=J[J.length-1];if(W in Q)G[W]=Q[W]}}return Y}function VG($,Z={}){let{name:Y,persist:X,devtools:J=!1,middleware:Q=[],equals:G=(L,F)=>L===F}=Z,K=$,W=new Set,U=null;if(X){let L=cL(X.storage||"local"),F=X.key||`stx-store:${Y||"unnamed"}`,O=X.deserialize||JSON.parse;try{let V=L.getItem(F);if(V){let N=O(V);if(X.paths&&typeof N==="object"&&N!==null)K={...$,...N};else K=N}}catch{}}let B=(L)=>{if(!X)return;let F=cL(X.storage||"local"),O=X.key||`stx-store:${Y||"unnamed"}`,V=X.serialize||JSON.stringify,N=X.paths&&typeof L==="object"&&L!==null?JC(L,X.paths):L;if(X.debounce){if(U)clearTimeout(U);U=setTimeout(()=>{F.setItem(O,V(N))},X.debounce)}else F.setItem(O,V(N))},_=(L,F)=>{for(let O of W)try{O(L,F)}catch(V){console.error("[stx-store] Subscriber error:",V)}},z=J?(L,F)=>{if(typeof window<"u"&&window.__STX_DEVTOOLS__)window.__STX_DEVTOOLS__.onStoreChange(Y||"unnamed",L,F)}:()=>{},q=(L)=>{let F=K;if(!G(L,F))K=L,B(L),_(L,F),z("set",L)},j=q,H={get:()=>K,set:(L)=>{if(typeof L==="function")j(L(K));else j(L)},subscribe:(L)=>{return W.add(L),()=>{W.delete(L)}},update:(L)=>{if(typeof K!=="object"||K===null)throw Error("update() can only be used with object stores");let F=typeof L==="function"?L(K):L;H.set({...K,...F})},reset:()=>{H.set($),z("reset",$)},name:Y,destroy:()=>{if(W.clear(),U)clearTimeout(U);if(Y)$$.stores.delete(Y)}};for(let L of Q.reverse())j=L(q,()=>K,H)(j);if(Y)XC(Y,H);return H}function wi($,Z={}){let Y=new Set,X=$();return{get:()=>{let Q=$();if(Q!==X){let G=X;X=Q;for(let K of Y)K(Q,G)}return X},subscribe:(Q)=>{return Y.add(Q),()=>{Y.delete(Q)}},name:Z.name,destroy:()=>{Y.clear()}}}function nL($,Z,Y={}){let{equals:X=(W,U)=>W===U}=Y,J=()=>$.map((W)=>W.get()),Q=Z(...J()),G=new Set,K=[];for(let W of $){let U=W.subscribe(()=>{let B=Z(...J());if(!X(B,Q)){let _=Q;Q=B;for(let z of G)z(B,_)}});K.push(U)}return{get:()=>Q,set:()=>{throw Error("Cannot set a computed store")},subscribe:(W)=>{return G.add(W),()=>{G.delete(W)}},update:()=>{throw Error("Cannot update a computed store")},reset:()=>{throw Error("Cannot reset a computed store")},destroy:()=>{for(let W of K)W();G.clear()}}}function QC($,Z,Y){return async(...X)=>{let J=$.get(),Q=await Y(J,...X);if($.set(Q),typeof window<"u"&&window.__STX_DEVTOOLS__)window.__STX_DEVTOOLS__.onAction($.name||"unnamed",Z,X)}}function Ri($,Z){let Y={};for(let[X,J]of Object.entries(Z))Y[X]=QC($,X,J);return Y}function Mi($,Z,Y={}){return nL([$],Z,Y)}function Ti($,Z,Y){let X,J;return nL([$],(G)=>{let K=Y(G);if(X&&X.length===K.length){let W=!1;for(let U=0;U<K.length;U++)if(X[U]!==K[U]){W=!0;break}if(!W&&J!==void 0)return J}return X=K,J=Z(G),J})}function Ii($){return(Z,Y)=>(X)=>(J)=>{let Q=Y();console.group(`[stx-store${$?`:${$}`:""}] Update`),console.log("Previous:",Q),console.log("Next:",J),console.groupEnd(),X(J)}}function Ei($){return(Z,Y)=>(X)=>(J)=>{let Q=$(J);if(Q===!0)X(J);else if(typeof Q==="string")console.error(`[stx-store] Validation failed: ${Q}`);else console.error("[stx-store] Validation failed")}}function Di(){return($,Z)=>(Y)=>(X)=>{let J=JSON.parse(JSON.stringify(X));Y(J)}}function ki($){let Z=0,Y,X=null;return(J,Q)=>(G)=>(K)=>{let W=Date.now();if(W-Z>=$)Z=W,G(K);else if(Y=K,!X)X=setTimeout(()=>{if(Y!==void 0)Z=Date.now(),G(Y),Y=void 0;X=null},$-(W-Z))}}function sL($){let Z=typeof $==="string"?U4($):$;if(!Z)throw Error(`Store "${$}" not found`);return Z.get()}function Si($){let Z=U4($);if(!Z)throw Error(`Store "${$}" not found`);return{name:"store",hasEndTag:!1,handler:()=>{return JSON.stringify(Z.get())}}}function GC(){let $={};for(let[Z,Y]of $$.stores.entries())$[Z]=Y.get();return JSON.stringify($)}function bi($){try{let Z=JSON.parse($);for(let[Y,X]of Object.entries(Z)){let J=U4(Y);if(J)J.set(X)}}catch(Z){console.error("[stx-store] Hydration failed:",Z)}}function Ci(){return`<script>window.__STX_STORE_STATE__=${GC()};
|
|
16573
16573
|
if(window.__STX_HYDRATE_STORES__){window.__STX_HYDRATE_STORES__()}</script>`}function Pi(){if(typeof window>"u")return;window.__STX_DEVTOOLS__={stores:$$.stores,history:[],onStoreChange($,Z,Y){if(this.history.push({store:$,action:Z,state:Y,timestamp:Date.now()}),this.history.length>100)this.history.shift()},onAction($,Z,Y){console.log(`[stx-devtools] ${$}.${Z}`)},getState(){let $={};for(let[Z,Y]of this.stores.entries())$[Z]=Y.get();return $},getHistory(){return this.history},timeTravel($){let Z=this.history[$];if(Z){let Y=U4(Z.store);if(Y)Y.set(Z.state)}}}}function rL($,Z,Y){if(typeof Z==="function"){if(typeof window<"u"&&window.stx?.defineStore)return window.stx.defineStore($,Z,Y);return Z()}let X=Z,{state:J,getters:Q={},actions:G={},persist:K,devtools:W=!0}=X,U=typeof J==="function"?J():J,B=K===!0?{storage:"local",key:`stx-store:${$}`}:K||void 0,_=VG(U,{name:$,persist:B,devtools:W}),z=new Proxy({},{get(q,j){let H=String(j);if(H==="$state")return _.get();if(H==="$subscribe")return _.subscribe;if(H==="$reset")return _.reset;if(H==="$patch")return(F)=>{if(typeof F==="function"){let V={..._.get()};F(V),_.set(V)}else _.update(F)};if(H==="_store")return _;if(H==="$id")return $;if(H in Q)return Q[H](_.get());if(H in G)return(...F)=>{return G[H].apply(z,F)};let L=_.get();if(L&&typeof L==="object"&&H in L)return L[H];return},set(q,j,H){let L=String(j);if(L.startsWith("$")||L==="_store")return!1;let F=_.get();if(F&&typeof F==="object")return _.set({...F,[L]:H}),!0;return!1},has(q,j){let H=String(j),L=_.get();return H.startsWith("$")||H==="_store"||H in Q||H in G||L&&typeof L==="object"&&H in L},ownKeys(){let q=_.get();return[...q&&typeof q==="object"?Object.keys(q):[],...Object.keys(Q),...Object.keys(G),"$state","$subscribe","$reset","$patch","$id"]},getOwnPropertyDescriptor(q,j){return{enumerable:!0,configurable:!0,get:()=>this.get(q,j,z)}}});return NY.set($,z),z}function yi($){return NY.get($)}function xi(){return Array.from(NY.keys())}function vi($){return NY.has($)}function fi(){return`
|
|
16574
16574
|
// STX Store Runtime - extends stx global
|
|
16575
16575
|
(function() {
|
|
@@ -16601,7 +16601,7 @@ else {
|
|
|
16601
16601
|
})();
|
|
16602
16602
|
`}function gi($){let Z=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;$=$.replace(Z,(X,J)=>{return`const { ${J.split(",").map((G)=>G.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
|
|
16603
16603
|
`});let Y=/import\s*\{([^}]+)\}\s*from\s*['"]@composables['"]\s*;?\n?/g;return $=$.replace(Y,(X,J)=>{return`const { ${J.split(",").map((G)=>G.trim()).filter(Boolean).join(", ")} } = window.__composables
|
|
16604
|
-
`}),$}function hi($){if(typeof window>"u")return;let Z=window;Z.__STX_STORES__=Z.__STX_STORES__||{};for(let[Y,X]of Object.entries($))Z.__STX_STORES__[Y]=X;window.dispatchEvent(new CustomEvent("stx:stores-ready",{detail:Object.keys($)}))}var $$,W4,NY;var oL=k(()=>{$$={stores:new Map,subscriptions:new Map};W4=new Map;NY=new Map});function
|
|
16604
|
+
`}),$}function hi($){if(typeof window>"u")return;let Z=window;Z.__STX_STORES__=Z.__STX_STORES__||{};for(let[Y,X]of Object.entries($))Z.__STX_STORES__[Y]=X;window.dispatchEvent(new CustomEvent("stx:stores-ready",{detail:Object.keys($)}))}var $$,W4,NY;var oL=k(()=>{$$={stores:new Map,subscriptions:new Map};W4=new Map;NY=new Map});function w0($,Z={}){let Y=[];for(let[J,Q]of Object.entries(Z)){if(Q===void 0||Q===null)continue;if(Array.isArray(Q))Y.push(`${J}=${encodeURIComponent(Q.join(","))}`);else if(typeof Q==="boolean"){if(Q)Y.push(`${J}=true`)}else Y.push(`${J}=${encodeURIComponent(String(Q))}`)}if(Y.length===0)return $;let X=$.includes("?")?"&":"?";return`${$}${X}${Y.join("&")}`}function NG($){let Z=$.indexOf("?");if(Z===-1)return{src:$,params:{}};let Y=$.slice(0,Z),X=$.slice(Z+1),J={};for(let Q of X.split("&")){let[G,K]=Q.split("="),W=K?decodeURIComponent(K):"";if(W==="true")J[G]=!0;else if(W==="false")J[G]=!1;else if(/^-?\d+$/.test(W))J[G]=Number.parseInt(W,10);else if(/^-?\d+\.\d+$/.test(W))J[G]=Number.parseFloat(W);else if(W.includes(","))J[G]=W.split(",");else J[G]=W}return{src:Y,params:J}}function AY(...$){let Z={};for(let Y of $)if(Y)Object.assign(Z,Y);return Z}function AG($,Z,Y,X){let J={w:Z};if(Y)J.h=Y;if(X)J.fit=X;return w0($,J)}function wG($,Z,Y,X="center"){return w0($,{w:Z,h:Y,fit:"crop",crop:X})}function RG($,Z,Y="center"){return w0($,{w:Z,h:Z,fit:"crop",crop:Y})}function MG($,Z,Y){return w0($,{w:Z,h:Y,fit:"max"})}function TG($,Z,Y){return w0($,{w:Z,h:Y,fit:"crop"})}function IG($,Z){return w0($,{blur:Math.min(2000,Math.max(0,Z))})}function EG($,Z){return w0($,{sharp:Math.min(100,Math.max(0,Z))})}function DG($){return w0($,{sat:-100})}function kG($,Z=100){return w0($,{sepia:Math.min(100,Math.max(0,Z))})}function SG($){return w0($,{invert:!0})}function bG($,Z){return w0($,{bri:Math.min(100,Math.max(-100,Z))})}function CG($,Z){return w0($,{con:Math.min(100,Math.max(-100,Z))})}function PG($,Z){return w0($,{sat:Math.min(100,Math.max(-100,Z))})}function yG($,Z){return w0($,{rot:(Z%360+360)%360})}function xG($){return w0($,{flip:"h"})}function vG($){return w0($,{flip:"v"})}function fG($,Z,Y){let X={fm:Z};if(Y!==void 0)X.q=Y;return w0($,X)}function gG($,Z){return w0($,{q:Math.min(100,Math.max(1,Z))})}function hG($,Z=["format","compress"]){return w0($,{auto:Z})}function dG($,Z,Y={}){return w0($,{mark:Z,markx:Y.x,marky:Y.y,markalpha:Y.alpha,markscale:Y.scale,markalign:Y.align})}function uG($,Z,Y){return w0($,AY(wY[Z],Y))}function mG($,Z,Y){return Z.map((X)=>w0($,{...Y,w:X}))}function pG($,Z,Y=[1,2,3],X){return Y.map((J)=>w0($,{...X,w:Math.round(Z*J),dpr:J}))}function cG($){let Z=[];if($.w!==void 0&&($.w<1||$.w>16383))Z.push("Width must be between 1 and 16383");if($.h!==void 0&&($.h<1||$.h>16383))Z.push("Height must be between 1 and 16383");if($.q!==void 0&&($.q<1||$.q>100))Z.push("Quality must be between 1 and 100");if($.blur!==void 0&&($.blur<0||$.blur>2000))Z.push("Blur must be between 0 and 2000");if($.rot!==void 0&&($.rot<0||$.rot>359))Z.push("Rotation must be between 0 and 359");if($.dpr!==void 0&&($.dpr<1||$.dpr>5))Z.push("DPR must be between 1 and 5");return{valid:Z.length===0,errors:Z}}function lG($){let Z={...$};if(Z.w!==void 0)Z.w=Math.min(16383,Math.max(1,Z.w));if(Z.h!==void 0)Z.h=Math.min(16383,Math.max(1,Z.h));if(Z.q!==void 0)Z.q=Math.min(100,Math.max(1,Z.q));if(Z.blur!==void 0)Z.blur=Math.min(2000,Math.max(0,Z.blur));if(Z.rot!==void 0)Z.rot=(Z.rot%360+360)%360;if(Z.dpr!==void 0)Z.dpr=Math.min(5,Math.max(1,Z.dpr));return Z}var wY;var aL=k(()=>{wY={web:{fm:"webp",q:80,auto:["format","compress"]},highQuality:{q:95},thumb:{w:150,h:150,fit:"crop",crop:"center"},avatar:{w:200,h:200,fit:"crop",crop:"faces"},social:{w:1200,h:630,fit:"crop"},preview:{w:400,q:70},placeholder:{w:20,blur:200,q:20}}});var tL=k(()=>{jJ();OJ();K8();eX();aL()});function iG($){let{endpoint:Z,accept:Y,maxSize:X,maxFiles:J=1,fieldName:Q="file",preview:G=!1,dropzone:K=!0,multiple:W=!1,autoUpload:U=!0,showProgress:B=!0,disabled:_=!1,placeholder:z="Drop files here or click to select",label:q}=$,j=$.class||"",H=$.style||"",L=$.id||`stx-upload-${Math.random().toString(36).slice(2,8)}`,F=Array.isArray(Y)?Y.join(","):Y,O=`
|
|
16605
16605
|
<div id="${L}" class="stx-upload${K?" stx-upload-dropzone":""}${_?" stx-upload-disabled":""}${j?" "+j:""}"${H?` style="${H}"`:""}>
|
|
16606
16606
|
${q?`<label class="stx-upload-label">${eL(q)}</label>`:""}
|
|
16607
16607
|
<div class="stx-upload-area" data-stx-upload-area>
|
|
@@ -17635,7 +17635,7 @@ ${J.slice(K)}`;return`${$.slice(0,X)}${_}${$.slice(Y)}`}function HP($){return $.
|
|
|
17635
17635
|
`);throw Error(`Prop validation failed:
|
|
17636
17636
|
${W}`)}return{props:G,validation:K}}function _V($,Z){let Y={...$};for(let[X,J]of Object.entries(Z))if(Y[X]===void 0)Y[X]=typeof J==="function"?J():J;return Y}function zV($){return $}function qV($){return{type:$,required:!0}}function jV($,Z){return{type:Z,default:$}}function HV($,Z={}){return{...Z,validator:$}}function OV($,Z={}){return{...Z,validator:(Y)=>$.includes(Y)}}function LV($,Z={}){return{...Z,type:Array,validator:(Y)=>{if(!Array.isArray(Y))return!1;return!0}}}function FV($,Z={}){return{...Z,type:Object}}function VV($,Z,Y){if(!Z)return $;let X={};for(let[J,Q]of Object.entries(Z)){let G=typeof Q==="function"||Array.isArray(Q)?{type:Q}:Q||{},K=$[J];if(K===void 0&&G.default!==void 0)K=typeof G.default==="function"?G.default():G.default;{let W=WV(J,K,G,Y);if(W)console.warn(W.message)}X[J]=K}for(let[J,Q]of Object.entries($))if(!(J in X))X[J]=Q;return X}function gs(){let $=globalThis.__STX_CURRENT_ELEMENT__;return(Z,Y)=>{if($){let X=new CustomEvent(String(Z),{detail:Y,bubbles:!0,cancelable:!0});$.dispatchEvent(X)}else console.warn(`Cannot emit event "${String(Z)}" - no element context`)}}function hs($){let Z=globalThis.__STX_CURRENT_ELEMENT__;if(Z)Z.__stx_exposed__=$,Z.setAttribute("data-stx-exposed",Object.keys($).join(","))}function ds($,Z){let Y=[`interface ${$}Props {`];for(let[X,J]of Object.entries(Z)){let Q=typeof J==="function"||Array.isArray(J)?{type:J}:J||{},G=Q.type?xK(Q.type):"unknown",K=Q.required?"":"?",W=Q.description?` /** ${Q.description} */
|
|
17637
17637
|
`:"";Y.push(`${W} ${X}${K}: ${G}`)}return Y.push("}"),Y.join(`
|
|
17638
|
-
`)}var P5={};t(P5,{writeNetlifyConfig:()=>f3,writeManifest:()=>CQ,writeImageManifest:()=>AW,wrapComponentForHMR:()=>SL,withDefaults:()=>_V,webComponentDirectiveHandler:()=>uJ,watermark:()=>dG,watchViews:()=>FC,watchMultiple:()=>HD,watchEffect:()=>OD,watch:()=>jD,waitForStore:()=>fD,waitForLocale:()=>T_,videoDirective:()=>s4,validators:()=>b8,validated:()=>HV,validateValueEnhanced:()=>H_,validateTemplate:()=>rj,validateParams:()=>cG,validateFormEnhanced:()=>JM,validateFile:()=>bY,validateFields:()=>YM,validateField:()=>q_,validateDirective:()=>aj,validateCspDirectives:()=>dR,validateConfig:()=>qB,validateComponentScripts:()=>Mk,validateComponentProps:()=>Dk,validateClientScript:()=>D6,usesSignalsInScript:()=>q5,userComponentFileExists:()=>L9,useVirtualList:()=>s9,useTitle:()=>X_,useStoreOrThrow:()=>vD,useStore:()=>sL,useSlots:()=>MF,useSeoMeta:()=>G6,useRouteParams:()=>HH,useRouteParamOrThrow:()=>gD,useRouteParam:()=>OH,usePageTitle:()=>X_,useOptimistic:()=>cz,useMiddlewareValue:()=>hD,useMiddlewareState:()=>LH,useLoadingIndicator:()=>zG,useHead:()=>v$,useAttrs:()=>IF,uploadFiles:()=>HK,uploadFile:()=>CY,updateInstance:()=>MD,untrack:()=>xZ,unregisterDirective:()=>kN,unmountInstance:()=>TD,unescapeHtml:()=>$8,transpileTypeScript:()=>i$,translate:()=>gY,transitionDirective:()=>k3,toUsers:()=>XO,toUser:()=>YO,thumbnail:()=>RG,thumbHashToRGBA:()=>_3,thumbHashToDataURL:()=>BK,templateCache:()=>f9,stxClientHelpers:()=>lQ,structuredDataDirective:()=>P8,stripLocalePrefix:()=>kK,stripDocumentWrapper:()=>j$,stringToStream:()=>XS,strictCspPreset:()=>pB,streamingSuspenseDirective:()=>g2,streamToResponse:()=>h_,streamTemplateSimple:()=>x_,streamTemplate:()=>b_,stopHmrServer:()=>Z4,stopBroadcasting:()=>$O,state:()=>F6,startProductionServer:()=>nS,startInteractive:()=>PS,startBroadcasting:()=>eH,staggerDirective:()=>oK,srcsetUrls:()=>mG,springDirective:()=>aK,splitByPipe:()=>n8,smartBatchSign:()=>nG,signUrl:()=>RY,shouldTranspileTypeScript:()=>l$,shouldReloadOnChange:()=>l6,shouldRefreshSignature:()=>EY,shouldIgnoreFile:()=>i6,shouldCacheComponent:()=>Jj,sharpen:()=>EG,shape:()=>FV,setRouteParams:()=>pD,setMiddlewareState:()=>cD,setGlobalProvide:()=>xY,setErrorLocale:()=>gU,setCurrentInstance:()=>UD,setCachedVideoResult:()=>q7,setCachedImageResult:()=>B7,setCached:()=>G7,serveStxFile:()=>NO,serveMultipleStxFiles:()=>wO,serveMarkdownFile:()=>zY,serveFile:()=>fb,serveApp:()=>MO,serve:()=>VL,serializeState:()=>jG,sepia:()=>kG,scrollAnimateDirective:()=>S3,screenReaderDirective:()=>L4,scopeHTML:()=>KB,scopeCSS:()=>GB,scanForSitemapEntries:()=>Iw,scanA11yIssues:()=>uK,saturation:()=>PG,sanitizeParams:()=>lG,sanitizeFilePath:()=>eU,sanitizeExpression:()=>$B,sanitizeDirectiveParams:()=>ZB,sanitizeDirectiveParam:()=>e4,sanitizeComponentProps:()=>yJ,safeExecuteAsync:()=>i1,safeExecute:()=>oU,runPreProcessingMiddleware:()=>T9,runPostProcessingMiddleware:()=>I9,runMiddleware:()=>h6,runHooks:()=>b5,runDoctor:()=>nF,rotate:()=>yG,rewriteImagesWithSiblings:()=>UX,resolveTemplatePath:()=>$6,resolveI18n:()=>V3,resize:()=>AG,resetPlaceholders:()=>RX,resetHead:()=>Z_,resetHMRHandler:()=>CL,resetErrorConfig:()=>lU,required:()=>qV,replacePlaceholders:()=>r3,renderView:()=>NK,renderVideoComponent:()=>F7,renderVendorStyleTags:()=>RQ,renderToString:()=>g5,renderToStream:()=>vF,renderToDOM:()=>z4,renderThumbhashToCanvas:()=>UK,renderTemplate:()=>xC,renderString:()=>vC,renderStreamingPage:()=>C_,renderSlot:()=>LQ,renderSSRSuspense:()=>mq,renderProtectedVideo:()=>eG,renderProtectedImg:()=>tG,renderMediaUpload:()=>iG,renderImgComponent:()=>E$,renderImageComponent:()=>BW,renderHtmlAttrs:()=>Q_,renderHead:()=>J_,renderEmail:()=>VC,renderComponentWithSlot:()=>D1,renderBodyAttrs:()=>G_,render:()=>mL,relaxedCspPreset:()=>cB,registerValidationRule:()=>ZM,registerStreamingDirectives:()=>f_,registerStore:()=>uD,registerSeoDirectives:()=>Mw,registerMiddleware:()=>xD,registerFilters:()=>gW,registerFilter:()=>TX,registerErrorMessages:()=>dU,registerEnhancedValidationRule:()=>XM,registerDirective:()=>qW,registerCspDirectives:()=>hR,registerComponentDirectives:()=>bk,registerAnimationDirectives:()=>ZN,registerA11yDirectives:()=>pK,ref:()=>zD,redirect:()=>_S,readMarkdownFile:()=>K$,readFileCached:()=>iz,reactive:()=>zH,quality:()=>gG,pruneSignatureCache:()=>oG,pruneCache:()=>KU,provide:()=>LF,prop:()=>zV,processVueTemplate:()=>k9,processVirtualListDirectives:()=>iZ,processVirtualGridDirectives:()=>o9,processVideo:()=>w8,processValidateDirective:()=>j_,processTranslateDirective:()=>QZ,processTransitionDirectives:()=>Pq,processTransitionAttributes:()=>vq,processTitleDirective:()=>U_,processTemplateBindings:()=>Y2,processTeleportDirectives:()=>Tq,processSuspenseDirectives:()=>dq,processStructuredData:()=>vJ,processStreamDirectives:()=>P_,processStaticDirectives:()=>UQ,processStackReplacements:()=>TZ,processStackPushDirectives:()=>MZ,processSlots:()=>FQ,processShell:()=>jY,processServerBindings:()=>IZ,processSeoDirective:()=>fJ,processSectionDirectives:()=>g_,processScopedStyles:()=>H6,processReactiveBindings:()=>AB,processProtectedMedia:()=>$K,processPartialHydrationDirectives:()=>YQ,processOnceDirective:()=>E6,processMiddleware:()=>M9,processMetaDirectives:()=>xJ,processMetaDirective:()=>B_,processMarkdownFileDirectives:()=>K2,processMarkdownDirectives:()=>X8,processLoops:()=>AZ,processKeepAliveDirectives:()=>Yj,processJsonDirective:()=>I6,processInfiniteListDirectives:()=>r9,processIncludes:()=>RZ,processImgComponents:()=>zJ,processImageComponents:()=>_W,processImage:()=>p1,processHeadDirective:()=>W_,processForms:()=>$M,processFormInputDirectives:()=>XZ,processExpressions:()=>G1,processEventDirectives:()=>J2,processErrorDirective:()=>JZ,processDynamicComponents:()=>b9,processDirectives:()=>X0,processDirectiveAttributes:()=>yN,processDeferDirectives:()=>wq,processCustomDirectives:()=>A2,processCspDirectives:()=>V2,processComponentProps:()=>VV,processClientScript:()=>t$,processBasicFormDirectives:()=>P7,processAsyncDirectives:()=>rq,processAnimationDirectives:()=>aY,processA11yDirectives:()=>E3,preloadTranslationsBackground:()=>R_,preloadTranslations:()=>k2,preloadIslandHandlers:()=>nb,preloadIconCollection:()=>_Z,poolStrings:()=>sH,pluginManager:()=>cJ,performLeave:()=>Cq,performEnter:()=>bq,peek:()=>R6,partialsCache:()=>c$,parseVideoDirectiveOptions:()=>PU,parseUrl:()=>NG,parseThumbhashString:()=>_K,parseSwitchBlock:()=>s8,parseSlots:()=>OQ,parseSlotElement:()=>ZH,parseScriptDeclarations:()=>dB,parseSFCComponent:()=>WB,parseProtectedArgs:()=>ZK,parseImgComponent:()=>H8,parseImageUrl:()=>gX,parseImageComponent:()=>qX,parseExpressionWithFilters:()=>gB,parseCookies:()=>WS,parseConditionalBlock:()=>B2,parseArguments:()=>_2,parseAnimationShorthand:()=>eV,optional:()=>jV,optimizeTemplate:()=>rH,optimizeImage:()=>FX,optimizeDirectory:()=>NW,oneOf:()=>OV,onceStore:()=>w9,onUpdated:()=>ND,onUnmounted:()=>wD,onServer:()=>iD,onMounted:()=>FD,onMount:()=>PZ,onHydrated:()=>WQ,onErrorCaptured:()=>wF,onDestroy:()=>yZ,onDeactivated:()=>Wj,onClient:()=>lD,onBeforeUpdate:()=>VD,onBeforeUnmount:()=>AD,onBeforeMount:()=>LD,onActivated:()=>Kj,observeElement:()=>GK,notFound:()=>zS,nextTick:()=>AF,navigateTo:()=>yD,mountInstance:()=>RD,motionDirective:()=>C3,moderateCspPreset:()=>o8,minifyHtml:()=>nH,metaDirective:()=>C8,mergeParams:()=>AY,mergeCspDirectives:()=>fR,matchRoute:()=>YY,markdownDirectiveHandler:()=>J8,markdownCache:()=>i8,localizePath:()=>F$,loadTranslationLazy:()=>y7,loadTranslation:()=>b2,loadStxConfig:()=>x0,loadMiddlewareFromDirectory:()=>g6,loadManifest:()=>PQ,loadElement:()=>L$,loadChannels:()=>ZO,lintStxStrict:()=>XV,lazyLoadAll:()=>JK,lazyLoad:()=>XK,keyframeDirective:()=>rK,jsxs:()=>PF,jsxDEV:()=>yF,jsx:()=>d5,jsonResponse:()=>BS,islandDirective:()=>h2,isTest:()=>r4,isSpaNavigation:()=>rQ,isSignatureValid:()=>TY,isSignal:()=>A6,isSharpAvailable:()=>A4,isServerEnvironment:()=>nk,isServer:()=>FH,isProduction:()=>V7,isNativeLazySupported:()=>DY,isLoading:()=>A_,isLoaded:()=>w_,isJavaScriptScript:()=>KH,isIntersectionObserverSupported:()=>kY,isImageFile:()=>w4,isImageBackendAvailable:()=>m1,isICUFormat:()=>y2,isHydrated:()=>KQ,isHydrateTrigger:()=>WH,isEdgeEnvironment:()=>ik,isDirectiveKind:()=>QV,isDevelopment:()=>D$,isDerived:()=>w6,isCssOnlyChange:()=>c6,isClient:()=>VH,isAsyncComponent:()=>aq,invert:()=>SG,invalidateFileCacheByDir:()=>sz,invalidateFileCache:()=>nz,interpolateScriptsInTemplate:()=>dW,interpolateScriptExpressions:()=>EX,inlineError:()=>J0,injectThemeBootstrap:()=>F3,injectSeoTags:()=>gJ,injectSeo:()=>H3,injectRouterScript:()=>_$,injectHotReload:()=>a1,injectHeatmap:()=>bX,injectCspMetaTag:()=>F2,injectCrosswindCSS:()=>T0,injectConfigHeadTags:()=>x9,injectCloakStyle:()=>y9,injectAnalytics:()=>sY,inject:()=>FF,initStoreRegistry:()=>dD,initNetlify:()=>JN,initLoadingIndicator:()=>TL,initLazyLoading:()=>YK,initFile:()=>IS,initBlurUp:()=>SY,initAllBlurUp:()=>qK,imgDirective:()=>i4,imageDirective:()=>HW,hydrateTemplateStream:()=>YG,hydrateTemplate:()=>pS,hydrateIslands:()=>ib,hydrateIsland:()=>JQ,hydrateFragment:()=>cS,hydrateByStrategy:()=>QQ,hydrateAll:()=>GQ,hydrate:()=>vL,htmlResponse:()=>vb,heatmapDirective:()=>CX,hashString:()=>U8,hashFilePath:()=>p7,hashFile:()=>l0,hashBuffer:()=>ZU,hasVueTemplateSyntax:()=>hz,hasVariables:()=>N9,hasStore:()=>lL,hasPlaceholders:()=>o5,hasNetlifyConfig:()=>g3,hasMiddleware:()=>PD,hasEventDirectives:()=>LR,hasDocumentShell:()=>kZ,hasDirectives:()=>tj,hasDOMSupport:()=>pY,handleImageRequest:()=>m3,handleError:()=>RF,h:()=>dF,groupVariantsByFormat:()=>i5,grayscale:()=>DG,gitHash:()=>sS,getUnusedDirectives:()=>mH,getTranslationSync:()=>S2,getTranslationCacheStats:()=>F_,getTranslationAsync:()=>M_,getTranslation:()=>B6,getTotalSize:()=>w$,getTimeUntilExpiry:()=>IY,getStoreNames:()=>iL,getStore:()=>U4,getSourceLineInfo:()=>AQ,getScreenReaderOnlyStyle:()=>dK,getScopeAttribute:()=>xw,getRouteParams:()=>rD,getPublicEnvDefine:()=>T1,getPublicEnv:()=>MW,getPositionInfo:()=>oj,getPlaceholderRegistry:()=>MX,getPlaceholderCacheStats:()=>tX,getPageMeta:()=>e8,getNonce:()=>y$,getMimeType:()=>M1,getMiddlewareNames:()=>f6,getMiddleware:()=>CD,getLoadingState:()=>N_,getLoadingLocales:()=>I_,getImageMetadata:()=>p5,getHydrationRuntime:()=>LG,getHydratedStoreState:()=>mD,getHmrServer:()=>n6,getHead:()=>C7,getHMRHandler:()=>bL,getFormatExtension:()=>mX,getFileMtime:()=>p4,getFallbackVariant:()=>l5,getErrorMessage:()=>SJ,getErrorLocale:()=>hU,getErrorConfig:()=>o4,getErrorCodeName:()=>T8,getDirectives:()=>DN,getDirective:()=>EN,getCurrentInstance:()=>BD,getCspPreset:()=>vR,getCspHeaderName:()=>sB,getComponentCacheStats:()=>cE,getCachedVideoResult:()=>z7,getCachedSignature:()=>sG,getCachedSignalsRuntime:()=>az,getCachedRouterScript:()=>tz,getCachedPlaceholder:()=>m4,getCachedImageResult:()=>U7,getCached:()=>Q7,getCacheStats:()=>GU,getBroadcastServer:()=>tH,getBestVariant:()=>uX,getAllFilters:()=>IX,generateWidthSrcset:()=>T$,generateVirtualListCSS:()=>n9,generateVideoPreview:()=>LK,generateValidationScript:()=>QM,generateUploadRuntime:()=>j3,generateTreeShakenBundle:()=>pH,generateTransitionRuntime:()=>xq,generateTransitionCSS:()=>yq,generateThumbnails:()=>H7,generateThumbhashPlaceholder:()=>lX,generateTemplatesDocs:()=>bO,generateSuspenseRuntime:()=>cq,generateSuspenseCSS:()=>pq,generateStateScript:()=>HG,generateSrcsetData:()=>hX,generateSrcset:()=>z8,generateSrcSet:()=>B5,generateSpriteSheet:()=>N8,generateSpaShell:()=>TC,generateSourceTags:()=>dX,generateSizesFromBreakpoints:()=>vX,generateSizesAttribute:()=>e5,generateSizes:()=>c5,generateSitemapIndex:()=>Tw,generateSitemap:()=>O3,generateSimpleMediaPicker:()=>GF,generateSignatureRuntime:()=>U3,generateSignalsRuntimeDev:()=>T5,generateSignalsRuntime:()=>M6,generateServerDataBridge:()=>T6,generateScopeId:()=>x8,generateSFCWebComponent:()=>UB,generateRouteTypes:()=>aD,generateRouteManifest:()=>oD,generateRobotsTxt:()=>JB,generateRobots:()=>L3,generateResponsiveVariants:()=>l4,generateReactiveWebComponentTS:()=>gw,generateReactiveWebComponent:()=>fw,generateReactiveRuntime:()=>dw,generateReactiveMixin:()=>hw,generatePoster:()=>j7,generatePlaceholderStyle:()=>oX,generatePlaceholderCSS:()=>u4,generatePlaceholder:()=>d4,generatePartialHydrationCSS:()=>XQ,generateNonce:()=>O2,generateNetlifyToml:()=>ZX,generateMinifiedMediaRuntime:()=>zF,generateMediaRuntime:()=>VK,generateMediaManagerEmbed:()=>QF,generateManifest:()=>bQ,generateLoadingIndicatorHtml:()=>IL,generateLazyLoadRuntime:()=>B3,generateLQIP:()=>nX,generateKeepAliveRuntime:()=>Gj,generateKeepAliveCSS:()=>Qj,generateIslandManifest:()=>BQ,generateImagePreview:()=>OK,generateImageManifest:()=>VX,generateHydrationScript:()=>xL,generateHydrationRuntime:()=>d_,generateHydrationCSS:()=>fL,generateHydrationBootstrap:()=>t9,generateHotReloadScript:()=>VO,generateHeatmapScript:()=>SX,generateHMRClientScript:()=>kL,generateHLSManifest:()=>O7,generateEventBindings:()=>tb,generateDprSrcsetWithVariableQuality:()=>xX,generateDprSrcset:()=>t5,generateDocumentShell:()=>pz,generateDocs:()=>vO,generateDirectivesDocs:()=>CO,generateDirectiveRuntime:()=>PN,generateDefaultRobotsTxt:()=>Ew,generateDASHManifest:()=>L7,generateCspMetaTag:()=>a8,generateCspHeader:()=>L2,generateCrosswindCSS:()=>d8,generateCompositionRuntime:()=>DF,generateComponentsDocs:()=>SO,generateComponentManifest:()=>vI,generateComponentDoc:()=>kO,generateColorPlaceholder:()=>rX,generateClientRuntime:()=>ID,generateCacheKey:()=>Y7,generateBlurUpRuntime:()=>z3,generateBlurUpCSS:()=>q3,generateBindingsRuntime:()=>wB,generateAutoWidthSrcset:()=>yX,generateAsyncComponentRuntime:()=>eq,generateAsyncComponentCSS:()=>tq,generateAnimationRuntime:()=>$N,generateAnimationCSS:()=>tV,generateAnalyticsScript:()=>nY,formatTypeErrors:()=>lb,formatStxContent:()=>tO,formatSize:()=>U5,formatRoutes:()=>TQ,formatMarkdownContent:()=>FS,formatLocalizedError:()=>mU,formatICU:()=>C2,formatFilePath:()=>a4,formatError:()=>D8,formatDoctorReport:()=>sF,formatDocsAsMarkdown:()=>PO,formatDocsAsJson:()=>xO,formatDocsAsHtml:()=>yO,format:()=>fG,foldConstants:()=>iH,flipVertical:()=>vG,flipHorizontal:()=>xG,fingerprint:()=>IQ,findPantryPackage:()=>IK,findMatchingEndTag:()=>P$,findMatchingDelimiter:()=>v0,findIfBlocks:()=>S7,findExpressions:()=>fB,findErrorPage:()=>MQ,findDirectiveBlocks:()=>J6,findDeadCode:()=>cH,findDeadBranches:()=>cH,findComponentFiles:()=>aQ,findCommonDir:()=>iQ,filterRequiredFiles:()=>v3,fileExists:()=>e,extractVariables:()=>D0,extractStreamBoundaries:()=>y_,extractState:()=>OG,extractSlotContent:()=>XH,extractScriptFromTemplate:()=>V9,extractPlaceholders:()=>aN,extractParenthesizedExpression:()=>U$,extractLayoutMetadata:()=>o6,extractDominantColor:()=>sX,extractDirectiveParams:()=>hB,extractDirectiveNames:()=>ej,extractContainerContent:()=>u6,extractComponentProps:()=>EO,extractComponentName:()=>e9,extractComponentDescription:()=>DO,extractClassNames:()=>h8,extractBridgeData:()=>a$,extractBoundProps:()=>$Q,extractBalancedExpression:()=>U2,extractAndStripCssImports:()=>wQ,extractAndScopeStyles:()=>vw,extractAndProcessEvents:()=>DB,evaluateExpression:()=>a0,evaluateConstant:()=>QY,evaluateAuthExpression:()=>W$,escapeHtml:()=>E0,errorRecovery:()=>k8,errorLogger:()=>n0,ensureTeleportTargets:()=>Iq,ensureDocumentShell:()=>O6,enhancedValidationRules:()=>M2,eliminateDeadCode:()=>lH,effect:()=>N6,dprUrls:()=>pG,docsCommand:()=>lk,disconnectObserver:()=>KK,devHelpers:()=>w7,detectShell:()=>sQ,detectRuntime:()=>X4,detectProjectConfig:()=>V4,detectFormat:()=>pX,detectBuildMode:()=>Rk,derived:()=>V6,deploy:()=>XN,defineStxConfig:()=>zB,defineStore:()=>rL,defineSlots:()=>TF,defineSiteConfig:()=>yK,definePropsWithValidation:()=>BV,defineProps:()=>UV,definePlugin:()=>M7,definePageMeta:()=>Y_,defineMiddleware:()=>bD,defineExpose:()=>NF,defineEmits:()=>VF,defineDirective:()=>S0,defineCustomElement:()=>mF,defineConfig:()=>mS,defineClientDirective:()=>SN,defineAsyncComponent:()=>oq,defaultMediaConfig:()=>LC,defaultImageConfig:()=>mN,defaultI18nConfig:()=>_6,defaultHeatmapConfig:()=>nW,defaultFormClasses:()=>YZ,defaultFilters:()=>a5,defaultCspConfig:()=>mR,defaultConfig:()=>K1,default:()=>kP,decodeThumbhash:()=>iX,cspNonceDirective:()=>nB,cspDirective:()=>iB,crossfadeTransition:()=>zK,crop:()=>wG,createVirtualList:()=>lZ,createVideoDirective:()=>R8,createVercelHandler:()=>GS,createTypeChecker:()=>KG,createTranslateFilter:()=>k_,createTextEncoderStream:()=>YS,createStxApp:()=>TK,createStreamingResponse:()=>ZS,createStreamRenderer:()=>v_,createStore:()=>VG,createStorageManager:()=>SD,createServerCookieManager:()=>kD,createScope:()=>_H,createSSRSuspense:()=>uq,createRouter:()=>z$,createRouteLocation:()=>v6,createRoute:()=>hb,createRef:()=>zD,createReactive:()=>zH,createProvideContext:()=>EF,createProject:()=>aS,createProductionBuild:()=>uS,createPlaceholder:()=>E4,createOptimizedBuild:()=>Tk,createNetlifyHandler:()=>KS,createNetlifyClient:()=>y3,createMiddlewareContext:()=>x6,createMiddleware:()=>gb,createLazyObserver:()=>QK,createKeepAliveCache:()=>Xj,createKVNamespace:()=>dO,createIslandRegistry:()=>ZQ,createImgDirective:()=>O8,createImagePlugin:()=>LW,createImageHandler:()=>_X,createImageDirective:()=>LX,createHeatmapAggregator:()=>_A,createFileManifest:()=>x3,createEnvAccessor:()=>hO,createEnhancedError:()=>rU,createEdgeHandler:()=>t6,createEdgeCache:()=>uO,createDetailedErrorMessage:()=>L0,createDenoHandler:()=>QS,createDefaultNetlifyConfig:()=>N4,createCspHeaders:()=>uR,createCookie:()=>US,createComputed:()=>qD,createComponentInstance:()=>_D,createCloudflareHandler:()=>JS,createClientCookieManager:()=>DD,createBuiltinDirectives:()=>CN,createApp:()=>TK,createAnimationTimeline:()=>aV,cover:()=>TG,convertToCommonJS:()=>OZ,contrast:()=>CG,contain:()=>MG,consoleError:()=>sU,configureErrorHandling:()=>cU,config:()=>W1,computed:()=>qD,composeShellWithPage:()=>r6,componentDirective:()=>BO,compileTemplate:()=>yQ,collectDeployFiles:()=>F4,clearVideoCache:()=>F8,clearTranslationCache:()=>L_,clearSignatureCache:()=>rG,clearPlaceholderCache:()=>aX,clearOnceStore:()=>VT,clearNonce:()=>xR,clearMiddleware:()=>y6,clearImageCache:()=>OX,clearErrorMessages:()=>uU,clearDevCaches:()=>ez,clearCustomFilters:()=>hW,clearComponentCache:()=>e$,clearCache:()=>K7,cleanupLoadingIndicator:()=>ab,classifyScript:()=>tK,classifyAllScripts:()=>tY,checkTemplateFile:()=>pb,checkTemplate:()=>cb,checkCache:()=>hZ,checkAuthAccess:()=>B4,checkA11y:()=>cY,channel:()=>GO,captureScreenshots:()=>LS,captureScreenshot:()=>sO,cancelPendingLoads:()=>E_,calculateSha1:()=>$X,calculateOptimalWidths:()=>G8,cacheTemplate:()=>dZ,buildWebComponents:()=>hJ,buildViews:()=>AK,buildUrl:()=>A0,buildSuspenseResolveScript:()=>KZ,buildStaticSite:()=>CK,buildRuntimeAsset:()=>EQ,buildRouterAsset:()=>DQ,buildLangPickerScript:()=>w3,buildImageUrl:()=>C1,buildForProduction:()=>yH,buildAuthParams:()=>W3,buildApp:()=>Ak,buildAlternateLinks:()=>A3,build:()=>dS,broadcastPrivate:()=>JO,broadcastPresence:()=>QO,broadcast:()=>hQ,brightness:()=>bG,blur:()=>IG,batchSignUrls:()=>MY,batch:()=>CZ,autoFixA11yFile:()=>iY,autoFixA11yDirectory:()=>mK,autoFixA11y:()=>lY,auto:()=>hG,assetTags:()=>Lk,arrayOf:()=>LV,applyTranslations:()=>N3,applyTransformations:()=>c4,applySlots:()=>JH,applyPropDefaults:()=>kk,applyPreset:()=>uG,applyHead:()=>K_,applyFilters:()=>DX,apiCspPreset:()=>lB,animationGroupDirective:()=>b3,analyzeVideo:()=>n4,analyzeUsage:()=>fQ,analyzeTemplate:()=>lK,analyzeProject:()=>dV,analyzeDirectiveUsage:()=>fQ,analyticsDirective:()=>xV,addStore:()=>Yb,addPage:()=>Zb,addNonceToInlineContent:()=>gR,addLayout:()=>Xb,addComponent:()=>$b,abortNavigation:()=>ED,a11yDirective:()=>O4,__setSignalsGeneratorsForTest:()=>oz,VideoProcessorCache:()=>_7,TransitionType:()=>iK,TransitionEase:()=>sK,TransitionDirection:()=>nK,Tokenizer:()=>X6,TemplateTypeChecker:()=>GG,TEMPLATE_PRESETS:()=>TS,StxValidationError:()=>t4,StxSyntaxError:()=>bJ,StxSecurityError:()=>CJ,StxRuntimeError:()=>y1,StxFileError:()=>A7,StxError:()=>k$,Show:()=>fF,SUSPENSE_RESOLVER_RUNTIME:()=>f2,SPRING_PRESETS:()=>oY,ProductionBuild:()=>HY,Portal:()=>hF,PROJECT_TEMPLATES:()=>oS,PRESETS:()=>wY,MemorySessionStore:()=>FG,MIME_TYPES:()=>g4,MEDIA_DEFAULT_WIDTHS:()=>c1,MEDIA_DEFAULT_FORMATS:()=>Q$,ImageProcessorCache:()=>W7,ImageProcessingError:()=>n5,HydrationRuntime:()=>FY,HotReloadServer:()=>cQ,HeatmapAggregator:()=>PX,Fragment:()=>h5,For:()=>gF,ErrorLogger:()=>S8,ErrorCodes:()=>$0,DeployError:()=>R$,DEFAULT_WIDTHS:()=>A1,DEFAULT_TRANSITION_OPTIONS:()=>u1,DEFAULT_QUALITY:()=>R1,DEFAULT_PLACEHOLDER_OPTIONS:()=>W8,DEFAULT_FORMATS:()=>w1,DEFAULT_DPR_VALUES:()=>f4,ComponentHMRHandler:()=>LY,COMMON_SIZES:()=>fX,CLOAK_STYLE:()=>pT,BroadcastServer:()=>WO,Broadcast:()=>KO,BLUR_UP_CSS:()=>Z7});var kP;var Y5=k(()=>{QX();NX();N0();z9();z5();oL();D9();wK();uF();pF();lJ();n1();rF();ZV();JV();qH();f$();$Y();T2();D3();rY();P3();k7();o7();W2();vH();kQ();hH();oH();GY();E5();_O();s0();N2();w2();QX();IO();M4();fO();mO();rO();O1();Q2();c0();eO();Y8();x2();d7();XL();QL();wZ();Q8();E9();Q6();XY();D4();L1();WL();vQ();_L();d6();FL();eY();y8();NL();DZ();xQ();XG();h$();wL();mJ();a9();_Q();RL();EL();X2();R5();PL();gL();pL();NX();HF();OF();vZ();S9();C9();lF();N0();VQ();KV();kP={}});import vK from"path";import{extractLayoutMetadata as o6}from"stx-router/layout-metadata";function CP(){if(T3!==null)return T3;try{let{getRouterScript:$}=j0("stx-router");T3=`<script>${$()}</script>`}catch{T3=""}return T3}async function sQ($,Z){if(Z===!1)return null;if(Z&&typeof Z==="string"){let X=vK.resolve($,Z);if(await Bun.file(X).exists())return X;return null}let Y=vK.join($,"app.stx");if(await Bun.file(Y).exists())return Y;return null}async function jY($,Z){try{let Y=await Bun.file($).text(),X=Y,J=Y.match(/<template\b[^>]*>([\s\S]*?)<\/template>/i);if(J)X=J[1].trim();let Q=tY(Y),G=[...Q.client.map((N)=>N.fullTag),...Q.signals.map((N)=>N.fullTag)],K=[],W=/<style\b[^>]*>([\s\S]*?)<\/style>/gi,U;while((U=W.exec(Y))!==null)K.push(U[0]);let B=X;for(let N of Q.server)B=B.replace(N.fullTag,"");for(let N of Q.client)B=B.replace(N.fullTag,"");B=B.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let _="<!--__STX_PAGE_SLOT__-->";if(B=B.replace(/<slot\s*\/>/gi,_).replace(/<slot\s*>\s*<\/slot>/gi,_),!B.includes(_))return console.warn(`[stx] Shell ${$} has no <slot /> \u2014 pages won't be injected`),null;let{processDirectives:z,extractVariables:q,defaultConfig:j,loadStxConfig:H}=await Promise.resolve().then(() => (Y5(),P5)),L=await H(),F={__filename:$,__dirname:vK.dirname($)};for(let N of G){let A=N.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i);if(A&&!N.includes("client")&&!N.includes('type="module"'))await q(A[1],F,$)}let O=await z(B,F,$,{...j,...L,...Z},new Set),V=O.indexOf(_);if(V===-1)return console.warn("[stx] Shell slot placeholder lost during processing"),null;return{beforeSlot:O.substring(0,V),afterSlot:O.substring(V+_.length),filePath:$,shellScripts:G,shellStyles:K}}catch(Y){return console.error(`[stx] Error processing shell ${$}:`,Y),null}}function r6($,Z,Y){let X,J="",Q=Z.match(bP);if(Q){Z=Z.replace(Q[0],"");try{let B=Buffer.from(Q[1],"base64").toString("utf8"),_=B.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(_)X=_[1].trim();J=B.replace(/<title[^>]*>[\s\S]*?<\/title>/i,"").trim()}catch{}}let G=Y||X||"stx App",K=CP(),W="<script>window.__stxRouterConfig={container:'[data-stx-content]'};</script>";return`<!DOCTYPE html>
|
|
17638
|
+
`)}var P5={};t(P5,{writeNetlifyConfig:()=>f3,writeManifest:()=>CQ,writeImageManifest:()=>AW,wrapComponentForHMR:()=>SL,withDefaults:()=>_V,webComponentDirectiveHandler:()=>uJ,watermark:()=>dG,watchViews:()=>FC,watchMultiple:()=>HD,watchEffect:()=>OD,watch:()=>jD,waitForStore:()=>fD,waitForLocale:()=>T_,videoDirective:()=>s4,validators:()=>b8,validated:()=>HV,validateValueEnhanced:()=>H_,validateTemplate:()=>rj,validateParams:()=>cG,validateFormEnhanced:()=>JM,validateFile:()=>bY,validateFields:()=>YM,validateField:()=>q_,validateDirective:()=>aj,validateCspDirectives:()=>dR,validateConfig:()=>qB,validateComponentScripts:()=>Mk,validateComponentProps:()=>Dk,validateClientScript:()=>D6,usesSignalsInScript:()=>q5,userComponentFileExists:()=>L9,useVirtualList:()=>s9,useTitle:()=>X_,useStoreOrThrow:()=>vD,useStore:()=>sL,useSlots:()=>MF,useSeoMeta:()=>G6,useRouteParams:()=>HH,useRouteParamOrThrow:()=>gD,useRouteParam:()=>OH,usePageTitle:()=>X_,useOptimistic:()=>cz,useMiddlewareValue:()=>hD,useMiddlewareState:()=>LH,useLoadingIndicator:()=>zG,useHead:()=>v$,useAttrs:()=>IF,uploadFiles:()=>HK,uploadFile:()=>CY,updateInstance:()=>MD,untrack:()=>xZ,unregisterDirective:()=>kN,unmountInstance:()=>TD,unescapeHtml:()=>$8,transpileTypeScript:()=>i$,translate:()=>gY,transitionDirective:()=>k3,toUsers:()=>XO,toUser:()=>YO,thumbnail:()=>RG,thumbHashToRGBA:()=>_3,thumbHashToDataURL:()=>BK,templateCache:()=>f9,stxClientHelpers:()=>lQ,structuredDataDirective:()=>P8,stripLocalePrefix:()=>kK,stripDocumentWrapper:()=>j$,stringToStream:()=>XS,strictCspPreset:()=>pB,streamingSuspenseDirective:()=>g2,streamToResponse:()=>h_,streamTemplateSimple:()=>x_,streamTemplate:()=>b_,stopHmrServer:()=>Z4,stopBroadcasting:()=>$O,state:()=>F6,startProductionServer:()=>nS,startInteractive:()=>PS,startBroadcasting:()=>eH,staggerDirective:()=>oK,srcsetUrls:()=>mG,springDirective:()=>aK,splitByPipe:()=>n8,smartBatchSign:()=>nG,signUrl:()=>RY,shouldTranspileTypeScript:()=>l$,shouldReloadOnChange:()=>l6,shouldRefreshSignature:()=>EY,shouldIgnoreFile:()=>i6,shouldCacheComponent:()=>Jj,sharpen:()=>EG,shape:()=>FV,setRouteParams:()=>pD,setMiddlewareState:()=>cD,setGlobalProvide:()=>xY,setErrorLocale:()=>gU,setCurrentInstance:()=>UD,setCachedVideoResult:()=>q7,setCachedImageResult:()=>B7,setCached:()=>G7,serveStxFile:()=>NO,serveMultipleStxFiles:()=>wO,serveMarkdownFile:()=>zY,serveFile:()=>fb,serveApp:()=>MO,serve:()=>VL,serializeState:()=>jG,sepia:()=>kG,scrollAnimateDirective:()=>S3,screenReaderDirective:()=>L4,scopeHTML:()=>KB,scopeCSS:()=>GB,scanForSitemapEntries:()=>Iw,scanA11yIssues:()=>uK,saturation:()=>PG,sanitizeParams:()=>lG,sanitizeFilePath:()=>eU,sanitizeExpression:()=>$B,sanitizeDirectiveParams:()=>ZB,sanitizeDirectiveParam:()=>e4,sanitizeComponentProps:()=>yJ,safeExecuteAsync:()=>i1,safeExecute:()=>oU,runPreProcessingMiddleware:()=>T9,runPostProcessingMiddleware:()=>I9,runMiddleware:()=>h6,runHooks:()=>b5,runDoctor:()=>nF,rotate:()=>yG,rewriteImagesWithSiblings:()=>UX,resolveTemplatePath:()=>$6,resolveI18n:()=>V3,resize:()=>AG,resetPlaceholders:()=>RX,resetHead:()=>Z_,resetHMRHandler:()=>CL,resetErrorConfig:()=>lU,required:()=>qV,replacePlaceholders:()=>r3,renderView:()=>NK,renderVideoComponent:()=>F7,renderVendorStyleTags:()=>RQ,renderToString:()=>g5,renderToStream:()=>vF,renderToDOM:()=>z4,renderThumbhashToCanvas:()=>UK,renderTemplate:()=>xC,renderString:()=>vC,renderStreamingPage:()=>C_,renderSlot:()=>LQ,renderSSRSuspense:()=>mq,renderProtectedVideo:()=>eG,renderProtectedImg:()=>tG,renderMediaUpload:()=>iG,renderImgComponent:()=>E$,renderImageComponent:()=>BW,renderHtmlAttrs:()=>Q_,renderHead:()=>J_,renderEmail:()=>VC,renderComponentWithSlot:()=>D1,renderBodyAttrs:()=>G_,render:()=>mL,relaxedCspPreset:()=>cB,registerValidationRule:()=>ZM,registerStreamingDirectives:()=>f_,registerStore:()=>uD,registerSeoDirectives:()=>Mw,registerMiddleware:()=>xD,registerFilters:()=>gW,registerFilter:()=>TX,registerErrorMessages:()=>dU,registerEnhancedValidationRule:()=>XM,registerDirective:()=>qW,registerCspDirectives:()=>hR,registerComponentDirectives:()=>bk,registerAnimationDirectives:()=>ZN,registerA11yDirectives:()=>pK,ref:()=>zD,redirect:()=>_S,readMarkdownFile:()=>K$,readFileCached:()=>iz,reactive:()=>zH,quality:()=>gG,pruneSignatureCache:()=>oG,pruneCache:()=>KU,provide:()=>LF,prop:()=>zV,processVueTemplate:()=>k9,processVirtualListDirectives:()=>iZ,processVirtualGridDirectives:()=>o9,processVideo:()=>w8,processValidateDirective:()=>j_,processTranslateDirective:()=>QZ,processTransitionDirectives:()=>Pq,processTransitionAttributes:()=>vq,processTitleDirective:()=>U_,processTemplateBindings:()=>Y2,processTeleportDirectives:()=>Tq,processSuspenseDirectives:()=>dq,processStructuredData:()=>vJ,processStreamDirectives:()=>P_,processStaticDirectives:()=>UQ,processStackReplacements:()=>TZ,processStackPushDirectives:()=>MZ,processSlots:()=>FQ,processShell:()=>jY,processServerBindings:()=>IZ,processSeoDirective:()=>fJ,processSectionDirectives:()=>g_,processScopedStyles:()=>H6,processReactiveBindings:()=>AB,processProtectedMedia:()=>$K,processPartialHydrationDirectives:()=>YQ,processOnceDirective:()=>E6,processMiddleware:()=>M9,processMetaDirectives:()=>xJ,processMetaDirective:()=>B_,processMarkdownFileDirectives:()=>K2,processMarkdownDirectives:()=>X8,processLoops:()=>AZ,processKeepAliveDirectives:()=>Yj,processJsonDirective:()=>I6,processInfiniteListDirectives:()=>r9,processIncludes:()=>RZ,processImgComponents:()=>zJ,processImageComponents:()=>_W,processImage:()=>p1,processHeadDirective:()=>W_,processForms:()=>$M,processFormInputDirectives:()=>XZ,processExpressions:()=>G1,processEventDirectives:()=>J2,processErrorDirective:()=>JZ,processDynamicComponents:()=>b9,processDirectives:()=>X0,processDirectiveAttributes:()=>yN,processDeferDirectives:()=>wq,processCustomDirectives:()=>A2,processCspDirectives:()=>V2,processComponentProps:()=>VV,processClientScript:()=>t$,processBasicFormDirectives:()=>P7,processAsyncDirectives:()=>rq,processAnimationDirectives:()=>aY,processA11yDirectives:()=>E3,preloadTranslationsBackground:()=>R_,preloadTranslations:()=>k2,preloadIslandHandlers:()=>nb,preloadIconCollection:()=>_Z,poolStrings:()=>sH,pluginManager:()=>cJ,performLeave:()=>Cq,performEnter:()=>bq,peek:()=>R6,partialsCache:()=>c$,parseVideoDirectiveOptions:()=>PU,parseUrl:()=>NG,parseThumbhashString:()=>_K,parseSwitchBlock:()=>s8,parseSlots:()=>OQ,parseSlotElement:()=>ZH,parseScriptDeclarations:()=>dB,parseSFCComponent:()=>WB,parseProtectedArgs:()=>ZK,parseImgComponent:()=>H8,parseImageUrl:()=>gX,parseImageComponent:()=>qX,parseExpressionWithFilters:()=>gB,parseCookies:()=>WS,parseConditionalBlock:()=>B2,parseArguments:()=>_2,parseAnimationShorthand:()=>eV,optional:()=>jV,optimizeTemplate:()=>rH,optimizeImage:()=>FX,optimizeDirectory:()=>NW,oneOf:()=>OV,onceStore:()=>w9,onUpdated:()=>ND,onUnmounted:()=>wD,onServer:()=>iD,onMounted:()=>FD,onMount:()=>PZ,onHydrated:()=>WQ,onErrorCaptured:()=>wF,onDestroy:()=>yZ,onDeactivated:()=>Wj,onClient:()=>lD,onBeforeUpdate:()=>VD,onBeforeUnmount:()=>AD,onBeforeMount:()=>LD,onActivated:()=>Kj,observeElement:()=>GK,notFound:()=>zS,nextTick:()=>AF,navigateTo:()=>yD,mountInstance:()=>RD,motionDirective:()=>C3,moderateCspPreset:()=>o8,minifyHtml:()=>nH,metaDirective:()=>C8,mergeParams:()=>AY,mergeCspDirectives:()=>fR,matchRoute:()=>YY,markdownDirectiveHandler:()=>J8,markdownCache:()=>i8,localizePath:()=>F$,loadTranslationLazy:()=>y7,loadTranslation:()=>b2,loadStxConfig:()=>x0,loadMiddlewareFromDirectory:()=>g6,loadManifest:()=>PQ,loadElement:()=>L$,loadChannels:()=>ZO,lintStxStrict:()=>XV,lazyLoadAll:()=>JK,lazyLoad:()=>XK,keyframeDirective:()=>rK,jsxs:()=>PF,jsxDEV:()=>yF,jsx:()=>d5,jsonResponse:()=>BS,islandDirective:()=>h2,isTest:()=>r4,isSpaNavigation:()=>rQ,isSignatureValid:()=>TY,isSignal:()=>A6,isSharpAvailable:()=>A4,isServerEnvironment:()=>nk,isServer:()=>FH,isProduction:()=>V7,isNativeLazySupported:()=>DY,isLoading:()=>A_,isLoaded:()=>w_,isJavaScriptScript:()=>KH,isIntersectionObserverSupported:()=>kY,isImageFile:()=>w4,isImageBackendAvailable:()=>m1,isICUFormat:()=>y2,isHydrated:()=>KQ,isHydrateTrigger:()=>WH,isEdgeEnvironment:()=>ik,isDirectiveKind:()=>QV,isDevelopment:()=>D$,isDerived:()=>w6,isCssOnlyChange:()=>c6,isClient:()=>VH,isAsyncComponent:()=>aq,invert:()=>SG,invalidateFileCacheByDir:()=>sz,invalidateFileCache:()=>nz,interpolateScriptsInTemplate:()=>dW,interpolateScriptExpressions:()=>EX,inlineError:()=>J0,injectThemeBootstrap:()=>F3,injectSeoTags:()=>gJ,injectSeo:()=>H3,injectRouterScript:()=>_$,injectHotReload:()=>a1,injectHeatmap:()=>bX,injectCspMetaTag:()=>F2,injectCrosswindCSS:()=>T0,injectConfigHeadTags:()=>x9,injectCloakStyle:()=>y9,injectAnalytics:()=>sY,inject:()=>FF,initStoreRegistry:()=>dD,initNetlify:()=>JN,initLoadingIndicator:()=>TL,initLazyLoading:()=>YK,initFile:()=>IS,initBlurUp:()=>SY,initAllBlurUp:()=>qK,imgDirective:()=>i4,imageDirective:()=>HW,hydrateTemplateStream:()=>YG,hydrateTemplate:()=>pS,hydrateIslands:()=>ib,hydrateIsland:()=>JQ,hydrateFragment:()=>cS,hydrateByStrategy:()=>QQ,hydrateAll:()=>GQ,hydrate:()=>vL,htmlResponse:()=>vb,heatmapDirective:()=>CX,hashString:()=>U8,hashFilePath:()=>p7,hashFile:()=>l0,hashBuffer:()=>ZU,hasVueTemplateSyntax:()=>hz,hasVariables:()=>N9,hasStore:()=>lL,hasPlaceholders:()=>o5,hasNetlifyConfig:()=>g3,hasMiddleware:()=>PD,hasEventDirectives:()=>LR,hasDocumentShell:()=>kZ,hasDirectives:()=>tj,hasDOMSupport:()=>pY,handleImageRequest:()=>m3,handleError:()=>RF,h:()=>dF,groupVariantsByFormat:()=>i5,grayscale:()=>DG,gitHash:()=>sS,getUnusedDirectives:()=>mH,getTranslationSync:()=>S2,getTranslationCacheStats:()=>F_,getTranslationAsync:()=>M_,getTranslation:()=>B6,getTotalSize:()=>w$,getTimeUntilExpiry:()=>IY,getStoreNames:()=>iL,getStore:()=>U4,getSourceLineInfo:()=>AQ,getScreenReaderOnlyStyle:()=>dK,getScopeAttribute:()=>xw,getRouteParams:()=>rD,getPublicEnvDefine:()=>T1,getPublicEnv:()=>MW,getPositionInfo:()=>oj,getPlaceholderRegistry:()=>MX,getPlaceholderCacheStats:()=>tX,getPageMeta:()=>e8,getNonce:()=>y$,getMimeType:()=>M1,getMiddlewareNames:()=>f6,getMiddleware:()=>CD,getLoadingState:()=>N_,getLoadingLocales:()=>I_,getImageMetadata:()=>p5,getHydrationRuntime:()=>LG,getHydratedStoreState:()=>mD,getHmrServer:()=>n6,getHead:()=>C7,getHMRHandler:()=>bL,getFormatExtension:()=>mX,getFileMtime:()=>p4,getFallbackVariant:()=>l5,getErrorMessage:()=>SJ,getErrorLocale:()=>hU,getErrorConfig:()=>o4,getErrorCodeName:()=>T8,getDirectives:()=>DN,getDirective:()=>EN,getCurrentInstance:()=>BD,getCspPreset:()=>vR,getCspHeaderName:()=>sB,getComponentCacheStats:()=>cE,getCachedVideoResult:()=>z7,getCachedSignature:()=>sG,getCachedSignalsRuntime:()=>az,getCachedRouterScript:()=>tz,getCachedPlaceholder:()=>m4,getCachedImageResult:()=>U7,getCached:()=>Q7,getCacheStats:()=>GU,getBroadcastServer:()=>tH,getBestVariant:()=>uX,getAllFilters:()=>IX,generateWidthSrcset:()=>T$,generateVirtualListCSS:()=>n9,generateVideoPreview:()=>LK,generateValidationScript:()=>QM,generateUploadRuntime:()=>j3,generateTreeShakenBundle:()=>pH,generateTransitionRuntime:()=>xq,generateTransitionCSS:()=>yq,generateThumbnails:()=>H7,generateThumbhashPlaceholder:()=>lX,generateTemplatesDocs:()=>bO,generateSuspenseRuntime:()=>cq,generateSuspenseCSS:()=>pq,generateStateScript:()=>HG,generateSrcsetData:()=>hX,generateSrcset:()=>z8,generateSrcSet:()=>B5,generateSpriteSheet:()=>N8,generateSpaShell:()=>TC,generateSourceTags:()=>dX,generateSizesFromBreakpoints:()=>vX,generateSizesAttribute:()=>e5,generateSizes:()=>c5,generateSitemapIndex:()=>Tw,generateSitemap:()=>O3,generateSimpleMediaPicker:()=>GF,generateSignatureRuntime:()=>U3,generateSignalsRuntimeDev:()=>T5,generateSignalsRuntime:()=>M6,generateServerDataBridge:()=>T6,generateScopeId:()=>x8,generateSFCWebComponent:()=>UB,generateRouteTypes:()=>aD,generateRouteManifest:()=>oD,generateRobotsTxt:()=>JB,generateRobots:()=>L3,generateResponsiveVariants:()=>l4,generateReactiveWebComponentTS:()=>gw,generateReactiveWebComponent:()=>fw,generateReactiveRuntime:()=>dw,generateReactiveMixin:()=>hw,generatePoster:()=>j7,generatePlaceholderStyle:()=>oX,generatePlaceholderCSS:()=>u4,generatePlaceholder:()=>d4,generatePartialHydrationCSS:()=>XQ,generateNonce:()=>O2,generateNetlifyToml:()=>ZX,generateMinifiedMediaRuntime:()=>zF,generateMediaRuntime:()=>VK,generateMediaManagerEmbed:()=>QF,generateManifest:()=>bQ,generateLoadingIndicatorHtml:()=>IL,generateLazyLoadRuntime:()=>B3,generateLQIP:()=>nX,generateKeepAliveRuntime:()=>Gj,generateKeepAliveCSS:()=>Qj,generateIslandManifest:()=>BQ,generateImagePreview:()=>OK,generateImageManifest:()=>VX,generateHydrationScript:()=>xL,generateHydrationRuntime:()=>d_,generateHydrationCSS:()=>fL,generateHydrationBootstrap:()=>t9,generateHotReloadScript:()=>VO,generateHeatmapScript:()=>SX,generateHMRClientScript:()=>kL,generateHLSManifest:()=>O7,generateEventBindings:()=>tb,generateDprSrcsetWithVariableQuality:()=>xX,generateDprSrcset:()=>t5,generateDocumentShell:()=>pz,generateDocs:()=>vO,generateDirectivesDocs:()=>CO,generateDirectiveRuntime:()=>PN,generateDefaultRobotsTxt:()=>Ew,generateDASHManifest:()=>L7,generateCspMetaTag:()=>a8,generateCspHeader:()=>L2,generateCrosswindCSS:()=>d8,generateCompositionRuntime:()=>DF,generateComponentsDocs:()=>SO,generateComponentManifest:()=>vI,generateComponentDoc:()=>kO,generateColorPlaceholder:()=>rX,generateClientRuntime:()=>ID,generateCacheKey:()=>Y7,generateBlurUpRuntime:()=>z3,generateBlurUpCSS:()=>q3,generateBindingsRuntime:()=>wB,generateAutoWidthSrcset:()=>yX,generateAsyncComponentRuntime:()=>eq,generateAsyncComponentCSS:()=>tq,generateAnimationRuntime:()=>$N,generateAnimationCSS:()=>tV,generateAnalyticsScript:()=>nY,formatTypeErrors:()=>lb,formatStxContent:()=>tO,formatSize:()=>U5,formatRoutes:()=>TQ,formatMarkdownContent:()=>FS,formatLocalizedError:()=>mU,formatICU:()=>C2,formatFilePath:()=>a4,formatError:()=>D8,formatDoctorReport:()=>sF,formatDocsAsMarkdown:()=>PO,formatDocsAsJson:()=>xO,formatDocsAsHtml:()=>yO,format:()=>fG,foldConstants:()=>iH,flipVertical:()=>vG,flipHorizontal:()=>xG,fingerprint:()=>IQ,findPantryPackage:()=>IK,findMatchingEndTag:()=>P$,findMatchingDelimiter:()=>v0,findIfBlocks:()=>S7,findExpressions:()=>fB,findErrorPage:()=>MQ,findDirectiveBlocks:()=>J6,findDeadCode:()=>cH,findDeadBranches:()=>cH,findComponentFiles:()=>aQ,findCommonDir:()=>iQ,filterRequiredFiles:()=>v3,fileExists:()=>e,extractVariables:()=>D0,extractStreamBoundaries:()=>y_,extractState:()=>OG,extractSlotContent:()=>XH,extractScriptFromTemplate:()=>V9,extractPlaceholders:()=>aN,extractParenthesizedExpression:()=>U$,extractLayoutMetadata:()=>o6,extractDominantColor:()=>sX,extractDirectiveParams:()=>hB,extractDirectiveNames:()=>ej,extractContainerContent:()=>u6,extractComponentProps:()=>EO,extractComponentName:()=>e9,extractComponentDescription:()=>DO,extractClassNames:()=>h8,extractBridgeData:()=>a$,extractBoundProps:()=>$Q,extractBalancedExpression:()=>U2,extractAndStripCssImports:()=>wQ,extractAndScopeStyles:()=>vw,extractAndProcessEvents:()=>DB,evaluateExpression:()=>a0,evaluateConstant:()=>QY,evaluateAuthExpression:()=>W$,escapeHtml:()=>E0,errorRecovery:()=>k8,errorLogger:()=>n0,ensureTeleportTargets:()=>Iq,ensureDocumentShell:()=>O6,enhancedValidationRules:()=>M2,eliminateDeadCode:()=>lH,effect:()=>N6,dprUrls:()=>pG,docsCommand:()=>lk,disconnectObserver:()=>KK,devHelpers:()=>w7,detectShell:()=>sQ,detectRuntime:()=>X4,detectProjectConfig:()=>V4,detectFormat:()=>pX,detectBuildMode:()=>Rk,derived:()=>V6,deploy:()=>XN,defineStxConfig:()=>zB,defineStore:()=>rL,defineSlots:()=>TF,defineSiteConfig:()=>yK,definePropsWithValidation:()=>BV,defineProps:()=>UV,definePlugin:()=>M7,definePageMeta:()=>Y_,defineMiddleware:()=>bD,defineExpose:()=>NF,defineEmits:()=>VF,defineDirective:()=>S0,defineCustomElement:()=>mF,defineConfig:()=>mS,defineClientDirective:()=>SN,defineAsyncComponent:()=>oq,defaultMediaConfig:()=>LC,defaultImageConfig:()=>mN,defaultI18nConfig:()=>_6,defaultHeatmapConfig:()=>nW,defaultFormClasses:()=>YZ,defaultFilters:()=>a5,defaultCspConfig:()=>mR,defaultConfig:()=>K1,default:()=>kP,decodeThumbhash:()=>iX,cspNonceDirective:()=>nB,cspDirective:()=>iB,crossfadeTransition:()=>zK,crop:()=>wG,createVirtualList:()=>lZ,createVideoDirective:()=>R8,createVercelHandler:()=>GS,createTypeChecker:()=>KG,createTranslateFilter:()=>k_,createTextEncoderStream:()=>YS,createStxApp:()=>TK,createStreamingResponse:()=>ZS,createStreamRenderer:()=>v_,createStore:()=>VG,createStorageManager:()=>SD,createServerCookieManager:()=>kD,createScope:()=>_H,createSSRSuspense:()=>uq,createRouter:()=>z$,createRouteLocation:()=>v6,createRoute:()=>hb,createRef:()=>zD,createReactive:()=>zH,createProvideContext:()=>EF,createProject:()=>aS,createProductionBuild:()=>uS,createPlaceholder:()=>E4,createOptimizedBuild:()=>Tk,createNetlifyHandler:()=>KS,createNetlifyClient:()=>y3,createMiddlewareContext:()=>x6,createMiddleware:()=>gb,createLazyObserver:()=>QK,createKeepAliveCache:()=>Xj,createKVNamespace:()=>dO,createIslandRegistry:()=>ZQ,createImgDirective:()=>O8,createImagePlugin:()=>LW,createImageHandler:()=>_X,createImageDirective:()=>LX,createHeatmapAggregator:()=>_A,createFileManifest:()=>x3,createEnvAccessor:()=>hO,createEnhancedError:()=>rU,createEdgeHandler:()=>t6,createEdgeCache:()=>uO,createDetailedErrorMessage:()=>F0,createDenoHandler:()=>QS,createDefaultNetlifyConfig:()=>N4,createCspHeaders:()=>uR,createCookie:()=>US,createComputed:()=>qD,createComponentInstance:()=>_D,createCloudflareHandler:()=>JS,createClientCookieManager:()=>DD,createBuiltinDirectives:()=>CN,createApp:()=>TK,createAnimationTimeline:()=>aV,cover:()=>TG,convertToCommonJS:()=>OZ,contrast:()=>CG,contain:()=>MG,consoleError:()=>sU,configureErrorHandling:()=>cU,config:()=>W1,computed:()=>qD,composeShellWithPage:()=>r6,componentDirective:()=>BO,compileTemplate:()=>yQ,collectDeployFiles:()=>F4,clearVideoCache:()=>F8,clearTranslationCache:()=>L_,clearSignatureCache:()=>rG,clearPlaceholderCache:()=>aX,clearOnceStore:()=>VT,clearNonce:()=>xR,clearMiddleware:()=>y6,clearImageCache:()=>OX,clearErrorMessages:()=>uU,clearDevCaches:()=>ez,clearCustomFilters:()=>hW,clearComponentCache:()=>e$,clearCache:()=>K7,cleanupLoadingIndicator:()=>ab,classifyScript:()=>tK,classifyAllScripts:()=>tY,checkTemplateFile:()=>pb,checkTemplate:()=>cb,checkCache:()=>hZ,checkAuthAccess:()=>B4,checkA11y:()=>cY,channel:()=>GO,captureScreenshots:()=>LS,captureScreenshot:()=>sO,cancelPendingLoads:()=>E_,calculateSha1:()=>$X,calculateOptimalWidths:()=>G8,cacheTemplate:()=>dZ,buildWebComponents:()=>hJ,buildViews:()=>AK,buildUrl:()=>w0,buildSuspenseResolveScript:()=>KZ,buildStaticSite:()=>CK,buildRuntimeAsset:()=>EQ,buildRouterAsset:()=>DQ,buildLangPickerScript:()=>w3,buildImageUrl:()=>C1,buildForProduction:()=>yH,buildAuthParams:()=>W3,buildApp:()=>Ak,buildAlternateLinks:()=>A3,build:()=>dS,broadcastPrivate:()=>JO,broadcastPresence:()=>QO,broadcast:()=>hQ,brightness:()=>bG,blur:()=>IG,batchSignUrls:()=>MY,batch:()=>CZ,autoFixA11yFile:()=>iY,autoFixA11yDirectory:()=>mK,autoFixA11y:()=>lY,auto:()=>hG,assetTags:()=>Lk,arrayOf:()=>LV,applyTranslations:()=>N3,applyTransformations:()=>c4,applySlots:()=>JH,applyPropDefaults:()=>kk,applyPreset:()=>uG,applyHead:()=>K_,applyFilters:()=>DX,apiCspPreset:()=>lB,animationGroupDirective:()=>b3,analyzeVideo:()=>n4,analyzeUsage:()=>fQ,analyzeTemplate:()=>lK,analyzeProject:()=>dV,analyzeDirectiveUsage:()=>fQ,analyticsDirective:()=>xV,addStore:()=>Yb,addPage:()=>Zb,addNonceToInlineContent:()=>gR,addLayout:()=>Xb,addComponent:()=>$b,abortNavigation:()=>ED,a11yDirective:()=>O4,__setSignalsGeneratorsForTest:()=>oz,VideoProcessorCache:()=>_7,TransitionType:()=>iK,TransitionEase:()=>sK,TransitionDirection:()=>nK,Tokenizer:()=>X6,TemplateTypeChecker:()=>GG,TEMPLATE_PRESETS:()=>TS,StxValidationError:()=>t4,StxSyntaxError:()=>bJ,StxSecurityError:()=>CJ,StxRuntimeError:()=>y1,StxFileError:()=>A7,StxError:()=>k$,Show:()=>fF,SUSPENSE_RESOLVER_RUNTIME:()=>f2,SPRING_PRESETS:()=>oY,ProductionBuild:()=>HY,Portal:()=>hF,PROJECT_TEMPLATES:()=>oS,PRESETS:()=>wY,MemorySessionStore:()=>FG,MIME_TYPES:()=>g4,MEDIA_DEFAULT_WIDTHS:()=>c1,MEDIA_DEFAULT_FORMATS:()=>Q$,ImageProcessorCache:()=>W7,ImageProcessingError:()=>n5,HydrationRuntime:()=>FY,HotReloadServer:()=>cQ,HeatmapAggregator:()=>PX,Fragment:()=>h5,For:()=>gF,ErrorLogger:()=>S8,ErrorCodes:()=>$0,DeployError:()=>R$,DEFAULT_WIDTHS:()=>A1,DEFAULT_TRANSITION_OPTIONS:()=>u1,DEFAULT_QUALITY:()=>R1,DEFAULT_PLACEHOLDER_OPTIONS:()=>W8,DEFAULT_FORMATS:()=>w1,DEFAULT_DPR_VALUES:()=>f4,ComponentHMRHandler:()=>LY,COMMON_SIZES:()=>fX,CLOAK_STYLE:()=>pT,BroadcastServer:()=>WO,Broadcast:()=>KO,BLUR_UP_CSS:()=>Z7});var kP;var Y5=k(()=>{QX();NX();A0();z9();z5();oL();D9();wK();uF();pF();lJ();n1();rF();ZV();JV();qH();f$();$Y();T2();D3();rY();P3();k7();o7();W2();vH();kQ();hH();oH();GY();E5();_O();s0();N2();w2();QX();IO();M4();fO();mO();rO();O1();Q2();c0();eO();Y8();x2();d7();XL();QL();wZ();Q8();E9();Q6();XY();D4();L1();WL();vQ();_L();d6();FL();eY();y8();NL();DZ();xQ();XG();h$();wL();mJ();a9();_Q();RL();EL();X2();R5();PL();gL();pL();NX();HF();OF();vZ();S9();C9();lF();A0();VQ();KV();kP={}});import vK from"path";import{extractLayoutMetadata as o6}from"stx-router/layout-metadata";function CP(){if(T3!==null)return T3;try{let{getRouterScript:$}=j0("stx-router");T3=`<script>${$()}</script>`}catch{T3=""}return T3}async function sQ($,Z){if(Z===!1)return null;if(Z&&typeof Z==="string"){let X=vK.resolve($,Z);if(await Bun.file(X).exists())return X;return null}let Y=vK.join($,"app.stx");if(await Bun.file(Y).exists())return Y;return null}async function jY($,Z){try{let Y=await Bun.file($).text(),X=Y,J=Y.match(/<template\b[^>]*>([\s\S]*?)<\/template>/i);if(J)X=J[1].trim();let Q=tY(Y),G=[...Q.client.map((N)=>N.fullTag),...Q.signals.map((N)=>N.fullTag)],K=[],W=/<style\b[^>]*>([\s\S]*?)<\/style>/gi,U;while((U=W.exec(Y))!==null)K.push(U[0]);let B=X;for(let N of Q.server)B=B.replace(N.fullTag,"");for(let N of Q.client)B=B.replace(N.fullTag,"");B=B.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let _="<!--__STX_PAGE_SLOT__-->";if(B=B.replace(/<slot\s*\/>/gi,_).replace(/<slot\s*>\s*<\/slot>/gi,_),!B.includes(_))return console.warn(`[stx] Shell ${$} has no <slot /> \u2014 pages won't be injected`),null;let{processDirectives:z,extractVariables:q,defaultConfig:j,loadStxConfig:H}=await Promise.resolve().then(() => (Y5(),P5)),L=await H(),F={__filename:$,__dirname:vK.dirname($)};for(let N of G){let A=N.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i);if(A&&!N.includes("client")&&!N.includes('type="module"'))await q(A[1],F,$)}let O=await z(B,F,$,{...j,...L,...Z},new Set),V=O.indexOf(_);if(V===-1)return console.warn("[stx] Shell slot placeholder lost during processing"),null;return{beforeSlot:O.substring(0,V),afterSlot:O.substring(V+_.length),filePath:$,shellScripts:G,shellStyles:K}}catch(Y){return console.error(`[stx] Error processing shell ${$}:`,Y),null}}function r6($,Z,Y){let X,J="",Q=Z.match(bP);if(Q){Z=Z.replace(Q[0],"");try{let B=Buffer.from(Q[1],"base64").toString("utf8"),_=B.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(_)X=_[1].trim();J=B.replace(/<title[^>]*>[\s\S]*?<\/title>/i,"").trim()}catch{}}let G=Y||X||"stx App",K=CP(),W="<script>window.__stxRouterConfig={container:'[data-stx-content]'};</script>";return`<!DOCTYPE html>
|
|
17639
17639
|
<html lang="en">
|
|
17640
17640
|
<head>
|
|
17641
17641
|
<meta charset="UTF-8">
|