@stacksjs/stx 0.2.181 → 0.2.183
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/builtins/icon.d.ts +9 -1
- package/dist/builtins/icon.js +5 -4
- package/dist/cli.js +651 -651
- package/dist/craft.js +316 -316
- package/dist/process.js +6 -3
- package/dist/pwa.js +369 -369
- package/dist/seo.d.ts +13 -1
- package/dist/seo.js +24 -3
- package/dist/ssg.js +334 -334
- package/package.json +5 -5
package/dist/ssg.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var
|
|
3
|
-
`),G=
|
|
4
|
-
`))}var
|
|
2
|
+
var sq=Object.defineProperty;var aq=($)=>$;function tq($,X){this[$]=aq.bind(null,X)}var t=($,X)=>{for(var Z in X)sq($,Z,{get:X[Z],enumerable:!0,configurable:!0,set:tq.bind(X,Z)})};var D=($,X)=>()=>($&&(X=$($=0)),X);var B0=import.meta.require;function y9($){return $.split(/[\\/]/).filter(Boolean).slice(0,-1).some((Z)=>w7.includes(Z))}function q7($){return y9($.replace(/^\//,""))}var w7;var L8=D(()=>{w7=["components","layouts","partials","emails"]});import A5 from"fs";import W7 from"path";function K7($,X){let Z=$.filter((Q)=>!q7(Q.pattern)),J=["// Auto-generated by STX - do not edit"];if(Z.length===0)J.push("// No page routes found \u2014 route paths stay typed as string.","export {}","");else{J.push("declare module '@stacksjs/stx' {"," interface KnownRoutes {");for(let Q of Z){let w=[];for(let W of Q.params){let K=Q.pattern.includes(`:${W}?`)?"?":"";w.push(`${W}${K}: string`)}let q=w.join("; ");J.push(` '${Q.pattern}': { ${q} }`)}J.push(" }","}","","export {}","")}let Y=J.join(`
|
|
3
|
+
`),G=W7.join(X,"route-types.d.ts");try{if(A5.existsSync(G)&&A5.readFileSync(G,"utf8")===Y)return;A5.mkdirSync(X,{recursive:!0}),A5.writeFileSync(G,Y)}catch{}}function z7($,X,Z){let J=process.cwd(),Y=W7.relative(J,Z),G=$.filter((w)=>!q7(w.pattern)),Q=["// Auto-generated by stx \u2014 do not edit",`// Source: ${Y||"pages"}/`,"","export const routes = ["];for(let w of G){let q=W7.relative(J,w.filePath).replace(/\\/g,"/"),W=JSON.stringify(w.params),K=w.layout?`, layout: '${W7.relative(J,w.layout).replace(/\\/g,"/")}'`:"";Q.push(` { pattern: '${w.pattern}', filePath: '${q}', isDynamic: ${w.isDynamic}, params: ${W}${K} },`)}Q.push("] as const",""),Q.push("export type RouteName = typeof routes[number]['pattern']",""),A5.mkdirSync(X,{recursive:!0}),A5.writeFileSync(W7.join(X,"routes.ts"),Q.join(`
|
|
4
|
+
`))}var b9=D(()=>{L8()});import k6 from"path";function F8($,X){let J=k6.relative(X,$).replace(/\.(stx|md)$/,"");if(J=J.split(k6.sep).join("/"),J==="index")return"/";if(J.endsWith("/index"))J=J.slice(0,-6);return J=J.replace(/\[\[([^\]]+)\]\]/g,":$1?"),J=J.replace(/\[([^\]]+)\]/g,":$1"),J=J.replace(/:\.\.\.([^/]+)/g,":$1*"),`/${J}`}function U7($){let X=[],Z="",J=0;while(J<$.length){let Y=$.slice(J),G=/^\/:([^/?*]+)\?/.exec(Y);if(G){X.push(G[1]),Z+="(?:/([^/]+))?",J+=G[0].length;continue}let Q=/^:([^/?*]+)\*/.exec(Y);if(Q){X.push(Q[1]),Z+="(.+)",J+=Q[0].length;continue}let w=/^:([^/?*]+)/.exec(Y);if(w){X.push(w[1]),Z+="([^/]+)",J+=w[0].length;continue}Z+=$[J].replace(/[.+^${}()|[\]\\*?]/g,"\\$&"),J+=1}return{regex:new RegExp(`^${Z}$`),params:X}}function V8($,X){let Z=$===""?"/":$;for(let J of X){let Y=Z.match(J.regex);if(Y){let G={};return J.params.forEach((Q,w)=>{G[Q]=Y[w+1]}),{route:J,params:G}}}return null}function I6($){let X=$.replace(/\[\[([^\]]+)\]\]/g,":$1?").replace(/\[([^\]]+)\]/g,":$1").replace(/:\.\.\.([^/]+)/g,":$1*");return U7(X)}var S9=()=>{};import YW from"fs";import C9 from"path";function A8($,X){let Z=[],J=C9.dirname($);while(J.startsWith(X)||J===X){let Y=C9.join(J,"_layout.stx");if(YW.existsSync(Y))Z.unshift(Y);if(J===X)break;J=C9.dirname(J)}return Z}var P9=()=>{};import v9 from"fs";import R5 from"path";function E6($,X){let Z=[];if(!v9.existsSync($))return Z;let J=v9.readdirSync($,{withFileTypes:!0});for(let Y of J){let G=R5.join($,Y.name);if(Y.isDirectory()){if(Y.name.startsWith("."))continue;if(w7.includes(Y.name))continue;Z.push(...E6(G,X))}else if(Y.isFile()){let Q=R5.extname(Y.name);if(X.includes(Q)){if(Y.name.startsWith("_")&&Y.name!=="_layout.stx")continue;if(Y.name==="_layout.stx")continue;Z.push(G)}}}return Z}class N5{routes;pagesDir;pagesDirs;config;constructor($,X={}){this.config=X;let Z=X.pagesDirs&&X.pagesDirs.length>0?X.pagesDirs:[X.pagesDir||"pages"];this.pagesDirs=Z.map((Q)=>R5.resolve($,Q)),this.pagesDir=this.pagesDirs[0];let J=X.extensions||[".stx"],Y=new Set;this.routes=[];for(let Q of this.pagesDirs){let w=E6(Q,J);for(let q of w){let W=F8(q,Q);if(Y.has(W))continue;Y.add(W);let{regex:K,params:z}=U7(W),U=X.layouts!==!1?A8(q,Q):[];this.routes.push({pattern:W,regex:K,params:z,filePath:q,isDynamic:z.length>0,layout:U.length>0?U[U.length-1]:void 0})}}this.routes.sort((Q,w)=>{if(!Q.isDynamic&&w.isDynamic)return-1;if(Q.isDynamic&&!w.isDynamic)return 1;let q=Q.pattern.split("/").length,W=w.pattern.split("/").length;if(q!==W)return W-q;return Q.pattern.localeCompare(w.pattern)});let G=R5.resolve($,X.stateDir||process.env.STX_DIR?.trim()||".stx");K7(this.routes,G),z7(this.routes,G,this.pagesDir)}match($){let X=$===""?"/":$;for(let Z of this.routes){let J=X.match(Z.regex);if(J){let Y={};return Z.params.forEach((G,Q)=>{Y[G]=J[Q+1]}),{route:Z,params:Y}}}return null}resolve($,X){let Z=this.routes.find((Y)=>Y.pattern===$||Y.filePath.includes($));if(!Z)return"#not-found";let J=Z.pattern;if(X)for(let[Y,G]of Object.entries(X))J=J.replace(`:${Y}`,encodeURIComponent(G));return J}addRoute($){this.routes.push($),this.routes.sort((X,Z)=>{if(!X.isDynamic&&Z.isDynamic)return-1;if(X.isDynamic&&!Z.isDynamic)return 1;return X.pattern.localeCompare(Z.pattern)})}getLayout($){return $.layout??null}}function D6($,X){return new N5($,X)}function x9($,X){let Z=[`${X}.stx`,"error.stx"];for(let J of Z){let Y=R5.join($,J);if(v9.existsSync(Y))return Y}return null}function f9($,X){return $.map((Z)=>{let J=R5.relative(X,Z.filePath),Y=Z.isDynamic?" (dynamic)":"";return`${Z.pattern} \u2192 ${J}${Y}`})}var y6=D(()=>{b9();S9();P9();L8()});function g9($){R8=$.replace(/\/$/,"")}function h9($,X,Z={}){T5[$]={path:X,name:$,params:Z}}function u9($){for(let[X,Z]of Object.entries($))if(typeof Z==="string")T5[X]={path:Z,name:X};else T5[X]={...Z,name:X}}function j7($,X={},Z=!1){let J=T5[$];if(!J)return console.warn(`Route [${$}] not defined.`),"#undefined-route";let Y={...J.params,...X},G=J.path;G=G.replace(/:(\w+)/g,(w,q)=>{let W=Y[q];if(W===void 0)return console.warn(`Missing parameter [${q}] for route [${$}].`),`:${q}`;return delete Y[q],encodeURIComponent(String(W))});let Q=Object.entries(Y);if(Q.length>0){let w=Q.map(([q,W])=>`${encodeURIComponent(q)}=${encodeURIComponent(String(W))}`).join("&");G+=(G.includes("?")?"&":"?")+w}return Z&&R8?`${R8}${G}`:G}function d9(){for(let $ of Object.keys(T5))delete T5[$];R8=""}var T5,R8="";var b6=D(()=>{T5={}});import S6 from"fs";import C6 from"path";function c9($,X={}){return{type:"redirect",path:$,options:{replace:X.replace??!1,external:X.external??!1,redirectCode:X.redirectCode??302}}}function l9($){return{type:"abort",error:typeof $==="string"?{statusCode:500,message:$}:$}}function p9($,X={}){return{handler:$,mode:X.mode??"universal"}}function m9($){let X={};if(!$)return X;let Z=$.split(";");for(let J of Z){let[Y,...G]=J.split("=");if(Y){let Q=Y.trim(),w=G.join("=").trim();if(Q)X[Q]=decodeURIComponent(w)}}return X}function N8($,X,Z={}){let J=`${encodeURIComponent($)}=${encodeURIComponent(X)}`;if(Z.expires){let Y=typeof Z.expires==="number"?new Date(Date.now()+Z.expires*1000):Z.expires;J+=`; Expires=${Y.toUTCString()}`}if(Z.path)J+=`; Path=${Z.path}`;if(Z.domain)J+=`; Domain=${Z.domain}`;if(Z.secure)J+="; Secure";if(Z.httpOnly)J+="; HttpOnly";if(Z.sameSite)J+=`; SameSite=${Z.sameSite}`;return J}function T8($,X){let Z=$.headers.get("cookie")||"",J=m9(Z);return{get(Y){return J[Y]},set(Y,G,Q={}){J[Y]=G,X.append("Set-Cookie",N8(Y,G,Q))},delete(Y){delete J[Y],X.append("Set-Cookie",N8(Y,"",{expires:new Date(0),path:"/"}))},getAll(){return{...J}}}}function M8(){return{get($){if(typeof document>"u")return;return m9(document.cookie)[$]},set($,X,Z={}){if(typeof document>"u")return;document.cookie=N8($,X,Z)},delete($){if(typeof document>"u")return;document.cookie=N8($,"",{expires:new Date(0),path:"/"})},getAll(){if(typeof document>"u")return{};return m9(document.cookie)}}}function k8(){let $=typeof window<"u"&&typeof window.localStorage<"u";return{get(X){if(!$)return null;try{return window.localStorage.getItem(X)}catch{return null}},set(X,Z){if(!$)return;try{window.localStorage.setItem(X,Z)}catch{}},remove(X){if(!$)return;try{window.localStorage.removeItem(X)}catch{}},isAvailable(){return $}}}function B7($,X){H7.set($,X)}function I8($){return H7.get($)}function i9($){return H7.has($)}function _7(){H7.clear()}function O7(){return Array.from(H7.keys())}async function L7($,X="middleware"){let Z=C6.resolve($,X);if(!S6.existsSync(Z))return;let J=S6.readdirSync(Z);for(let Y of J){if(!Y.endsWith(".ts")&&!Y.endsWith(".js"))continue;if(Y.includes(".test.")||Y.includes(".spec."))continue;let G=Y.replace(/\.(ts|js)$/,""),Q=C6.join(Z,Y);try{let q=(await import(Q)).default;if(q&&typeof q.handler==="function")B7(G,q);else if(typeof q==="function")B7(G,{handler:q,mode:"universal"})}catch(w){console.warn(`Failed to load middleware '${G}' from ${Q}:`,w)}}}function GW($){let X={};if(!$)return X;let Z=new URLSearchParams($);for(let[J,Y]of Z)X[J]=Y;return X}function F7($,X,Z,J=""){return{path:$,params:X,query:GW(J),fullPath:J?`${$}?${J}`:$,meta:Z}}function V7($,X,Z,J){let Y=J?.isServer??typeof window>"u",G=!Y,Q=new Headers;return{to:$,from:X,isClient:G,isServer:Y,cookies:Y&&Z?T8(Z,Q):M8(),storage:k8(),state:{},request:Z,responseHeaders:Q}}async function A7($,X){let Z=Array.isArray($)?$:[$],J=X.isServer;for(let Y of Z){let G=I8(Y);if(!G)return console.error(`Route middleware '${Y}' is not registered \u2014 failing the guard closed.`),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:`Route middleware '${Y}' is not registered`}},state:X.state,responseHeaders:X.responseHeaders};if(G.mode==="server"&&!J)continue;try{let Q=await G.handler(X);if(Q){if(Q.type==="redirect")return{passed:!1,redirect:Q,state:X.state,responseHeaders:X.responseHeaders};if(Q.type==="abort")return{passed:!1,abort:Q,state:X.state,responseHeaders:X.responseHeaders}}}catch(Q){return console.error(`Error in middleware '${Y}':`,Q),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:Q instanceof Error?Q.message:"Middleware error"}},state:X.state,responseHeaders:X.responseHeaders}}}return{passed:!0,state:X.state,responseHeaders:X.responseHeaders}}var H7;var P6=D(()=>{H7=new Map});function R7($){let Z=$.replace(/\\/g,"/").split("/").filter(Boolean),J=Z.lastIndexOf("layouts"),Y=J>=0?Z[J+1]:Z.at(-1);if(!Y)return"app";return Y.replace(/\.stx$/i,"")||"app"}function v6($){let X=$.match(/<meta\b[^>]*name=["']stx-layout["'][^>]*content=["']([^"']+)["'][^>]*>/i),Z=$.match(/<meta\b[^>]*name=["']stx-layout-group["'][^>]*content=["']([^"']+)["'][^>]*>/i),J=$.match(/<!--\s*stx-layout:\s*([^ ]+)\s*-->/i),Y=X?.[1]||J?.[1]||"";return{layout:Y,group:Z?.[1]||R7(Y)}}function QW($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}function N7(){if(E8)return E8;return E8=QW(`
|
|
5
5
|
;(function(){
|
|
6
6
|
'use strict';
|
|
7
7
|
var ROUTER_REV=7;
|
|
@@ -1651,8 +1651,8 @@ else {
|
|
|
1651
1651
|
|
|
1652
1652
|
if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();
|
|
1653
1653
|
})();
|
|
1654
|
-
`),
|
|
1655
|
-
`)}var f6;var u6=D(()=>{f6={fg:{light:"gray-900",dark:"gray-100",description:"Primary text"},"fg-strong":{light:"gray-700",dark:"gray-300",description:"Labels, secondary headings"},"fg-muted":{light:"gray-600",dark:"gray-400",description:"Supporting text"},"fg-soft":{light:"gray-500",dark:"gray-400",description:"De-emphasised text"},"fg-subtle":{light:"gray-400",dark:"gray-500",description:"Placeholders, disabled text"},surface:{light:"gray-50",dark:"gray-800",description:"Page and panel background"},"surface-raised":{light:"gray-100",dark:"gray-700",description:"Cards, popovers"},"surface-sunken":{light:"gray-200",dark:"gray-700",description:"Wells, track backgrounds"},line:{light:"gray-200",dark:"gray-700",description:"Default border, divider"},"line-strong":{light:"gray-300",dark:"gray-600",description:"Input border, focus ring track"},accent:{light:"indigo-600",dark:"indigo-400",description:"Primary action, selected state"},info:{light:"blue-600",dark:"blue-400",description:"Informational emphasis, links"},danger:{light:"red-600",dark:"red-400",description:"Errors, destructive actions"},success:{light:"green-600",dark:"green-400",description:"Confirmation"},warning:{light:"yellow-500",dark:"yellow-400",description:"Caution"},"accent-solid":{light:"indigo-600",dark:"indigo-500",description:"Primary button fill"},"info-solid":{light:"blue-600",dark:"blue-500",description:"Informational fill"},"danger-solid":{light:"red-600",dark:"red-500",description:"Destructive button fill"},"success-solid":{light:"green-600",dark:"green-500",description:"Confirmation fill"}}});function d6($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function
|
|
1654
|
+
`),E8}var E8;var x6={};t(x6,{setAppUrl:()=>g9,runMiddleware:()=>A7,route:()=>j7,resolveLayoutChain:()=>A8,resetRoutes:()=>d9,registerMiddleware:()=>B7,patternToRegex:()=>U7,navigateTo:()=>c9,matchRoute:()=>V8,loadMiddlewareFromDirectory:()=>L7,isNonPageRoutePattern:()=>q7,isNonPageRoutePath:()=>y9,hasMiddleware:()=>i9,getRouterScript:()=>N7,getMiddlewareNames:()=>O7,getMiddleware:()=>I8,generateRouteTypes:()=>K7,generateRouteManifest:()=>z7,formatRoutes:()=>f9,findErrorPage:()=>x9,filePathToPattern:()=>F8,extractLayoutMetadata:()=>v6,deriveLayoutGroup:()=>R7,defineRoutes:()=>u9,defineRoute:()=>h9,defineMiddleware:()=>p9,createStorageManager:()=>k8,createServerCookieManager:()=>T8,createRouter:()=>D6,createRouteLocation:()=>F7,createMiddlewareContext:()=>V7,createClientCookieManager:()=>M8,clearMiddleware:()=>_7,bracketPathToRegex:()=>I6,abortNavigation:()=>l9,Router:()=>N5,NON_PAGE_DIRS:()=>w7});var b1=D(()=>{y6();S9();b6();P6();P9();b9();L8()});function T7($,X={}){return new N5($,X).routes}var n9=D(()=>{b1();b1()});function r9($){return`--stx-${$}`}function o9($,X){let Z=X.lastIndexOf("-");if(Z===-1)return typeof $[X]==="string"?$[X]:void 0;let J=$[X.slice(0,Z)];if(!J||typeof J!=="object")return;let Y=J[X.slice(Z+1)];return typeof Y==="string"?Y:void 0}function g6($){let X={};for(let[Z,J]of Object.entries(f6)){let Y=o9($,J.light);if(Y===void 0)continue;X[Z]=`var(${r9(Z)}, ${Y})`}return X}function h6($){let X=[],Z=[];for(let[J,Y]of Object.entries(f6)){let G=o9($,Y.light),Q=o9($,Y.dark);if(G===void 0)continue;if(X.push(` ${r9(J)}: ${G};`),Q!==void 0)Z.push(` ${r9(J)}: ${Q};`)}if(X.length===0)return"";return["/* stx role tokens \u2014 override any of these to re-theme by meaning. */",":root {",...X,"}",".dark {",...Z,"}",""].join(`
|
|
1655
|
+
`)}var f6;var u6=D(()=>{f6={fg:{light:"gray-900",dark:"gray-100",description:"Primary text"},"fg-strong":{light:"gray-700",dark:"gray-300",description:"Labels, secondary headings"},"fg-muted":{light:"gray-600",dark:"gray-400",description:"Supporting text"},"fg-soft":{light:"gray-500",dark:"gray-400",description:"De-emphasised text"},"fg-subtle":{light:"gray-400",dark:"gray-500",description:"Placeholders, disabled text"},surface:{light:"gray-50",dark:"gray-800",description:"Page and panel background"},"surface-raised":{light:"gray-100",dark:"gray-700",description:"Cards, popovers"},"surface-sunken":{light:"gray-200",dark:"gray-700",description:"Wells, track backgrounds"},line:{light:"gray-200",dark:"gray-700",description:"Default border, divider"},"line-strong":{light:"gray-300",dark:"gray-600",description:"Input border, focus ring track"},accent:{light:"indigo-600",dark:"indigo-400",description:"Primary action, selected state"},info:{light:"blue-600",dark:"blue-400",description:"Informational emphasis, links"},danger:{light:"red-600",dark:"red-400",description:"Errors, destructive actions"},success:{light:"green-600",dark:"green-400",description:"Confirmation"},warning:{light:"yellow-500",dark:"yellow-400",description:"Caution"},"accent-solid":{light:"indigo-600",dark:"indigo-500",description:"Primary button fill"},"info-solid":{light:"blue-600",dark:"blue-500",description:"Informational fill"},"danger-solid":{light:"red-600",dark:"red-500",description:"Destructive button fill"},"success-solid":{light:"green-600",dark:"green-500",description:"Confirmation fill"}}});function d6($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function s9($,X){let Z={...$};for(let[J,Y]of Object.entries(X))Z[J]=d6(Y)&&d6(Z[J])?s9(Z[J],Y):Y;return Z}function m6($={},X={}){let Z=$.theme||{},J=X.theme||{},{extend:Y,...G}=J,{extend:Q,...w}=Z,q=w.colors||{};w.colors={...q,...g6(q)};let W=s9(w,G),K=s9(Q||{},Y||{});if(Object.keys(K).length>0)W.extend=K;let z=[...$.safelist||[],...X.safelist||[]],U={...$.shortcuts||{},...X.shortcuts||{}},B=[...$.preflights||[],...X.preflights||[]];return{config:{...$,...X,theme:W,safelist:z,shortcuts:U,...B.length>0?{preflights:B}:{},content:[],output:""},safelist:z,shortcuts:U,includePreflight:X.preflight!==!1,minify:X.minify===!0,tokenCSS:h6(q)}}var c6=D(()=>{u6()});import M7 from"path";function p6($){l6=$?.trim()||null}function k7(){return process.env[wW]?.trim()||l6||M5}function F1($=process.cwd(),...X){let Z=k7();return M7.isAbsolute(Z)?M7.join(Z,...X):M7.join($,Z,...X)}function I7($){if(!$||M7.isAbsolute($))return $;let X=$.replace(/\\/g,"/");if(X!==M5&&!X.startsWith(`${M5}/`))return $;let Z=X.slice(M5.length+1);return Z?M7.join(k7(),Z):k7()}var M5=".stx",wW="STX_DIR",l6=null;var E7=()=>{};var F0;var i6=D(()=>{F0={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",gray:"\x1B[90m",bgBlack:"\x1B[40m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",bgYellow:"\x1B[43m",bgBlue:"\x1B[44m",bgMagenta:"\x1B[45m",bgCyan:"\x1B[46m",bgWhite:"\x1B[47m",bgGray:"\x1B[100m"}});var n6=()=>{};function r6($,X,Z,J){let Y=$;Y=Y.replace(/@a11y\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Q,w,q)=>{let K={"aria-label":"Ensure interactive elements have accessible labels","alt-text":"Provide alternative text for images",focus:"Ensure the element can receive keyboard focus",landmark:"Use appropriate landmark roles","heading-order":"Maintain proper heading hierarchy","color-contrast":"Ensure sufficient color contrast","keyboard-nav":"Make sure element is keyboard navigable","screen-reader":"Optimize for screen reader users"}[w]||"Make this element accessible";return`<!-- a11y-hint: ${q||K} -->`});let G=/@screenReader\(([^@]*)\)@endScreenReader/g;return Y=Y.replace(G,(Q,w)=>{return`<span class="sr-only">${w.trim()}</span>`}),Y=Y.replace(/@ariaDescribe\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(Q,w,q)=>{return`<span id="${`desc-${w}`}" class="sr-only">${q}</span>`}),Y}var o6,s6;var a9=D(()=>{n6();o6={name:"a11y",handler:($,X,Z,J)=>{if(!X.length)return $;let Y=X[0].replace(/['"]/g,""),G=X.length>1?X[1].replace(/['"]/g,""):"",w={"aria-label":"Ensure interactive elements have accessible labels","alt-text":"Provide alternative text for images",focus:"Ensure the element can receive keyboard focus",landmark:"Use appropriate landmark roles","heading-order":"Maintain proper heading hierarchy","color-contrast":"Ensure sufficient color contrast","keyboard-nav":"Make sure element is keyboard navigable","screen-reader":"Optimize for screen reader users"}[Y]||"Make this element accessible";return`<!-- a11y-hint: ${G||w} -->${$}`},hasEndTag:!1},s6={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function qW($,X={}){let{duration:Z,delay:J,ease:Y,direction:G,custom:Q}={...V1,...X};if($==="custom"&&Q)return Q;switch($){case"fade":return`${G==="in"?"opacity: 0; animation: fadeIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":G==="out"?"opacity: 1; animation: fadeOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"opacity: 1; transition: opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
|
|
1656
1656
|
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
|
|
1657
1657
|
@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }`;case"slide":return`${G==="in"?"transform: translateY(20px); opacity: 0; animation: slideIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":G==="out"?"transform: translateY(0); opacity: 1; animation: slideOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: translateY(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
|
|
1658
1658
|
@keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
|
|
@@ -1662,7 +1662,7 @@ else {
|
|
|
1662
1662
|
@keyframes flipIn { from { transform: perspective(400px) rotateX(-90deg); opacity: 0; } to { transform: perspective(400px) rotateX(0); opacity: 1; } }
|
|
1663
1663
|
@keyframes flipOut { from { transform: perspective(400px) rotateX(0); opacity: 1; } to { transform: perspective(400px) rotateX(90deg); opacity: 0; } }`;case"rotate":return`${G==="in"?"transform: rotate(-90deg); opacity: 0; animation: rotateIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":G==="out"?"transform: rotate(0); opacity: 1; animation: rotateOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: rotate(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
|
|
1664
1664
|
@keyframes rotateIn { from { transform: rotate(-90deg); opacity: 0; } to { transform: rotate(0); opacity: 1; } }
|
|
1665
|
-
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function
|
|
1665
|
+
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function WW(){return`
|
|
1666
1666
|
<script data-stx-scoped data-stx-run="once">
|
|
1667
1667
|
// Motion preferences handling
|
|
1668
1668
|
(function() {
|
|
@@ -1690,7 +1690,7 @@ else {
|
|
|
1690
1690
|
});
|
|
1691
1691
|
})();
|
|
1692
1692
|
</script>
|
|
1693
|
-
`}function
|
|
1693
|
+
`}function KW($){return[/@animate\b/,/@transition\b/,/@scroll(?:Animate)?\b/,/@staggered\b/,/@sequence\b/,/@motion\b/,/@animationGroup\b/,/\bstx-transition\b/,/\bstx-(?:fade|scale|flip|rotate|slide|from-|observe)\b/,/data-animate=['"](?:auto|true|false)['"]/].some((Z)=>Z.test($))}function zW($=0.1,X="0px"){return`
|
|
1694
1694
|
<script data-stx-scoped data-stx-run="always">
|
|
1695
1695
|
// Intersection Observer for scroll animations
|
|
1696
1696
|
(function() {
|
|
@@ -1733,7 +1733,7 @@ else {
|
|
|
1733
1733
|
}
|
|
1734
1734
|
})();
|
|
1735
1735
|
</script>
|
|
1736
|
-
`}function
|
|
1736
|
+
`}function UW(){return`
|
|
1737
1737
|
<style id="stx-animation-base">
|
|
1738
1738
|
:root {
|
|
1739
1739
|
--stx-transition-duration: 300ms;
|
|
@@ -1848,7 +1848,7 @@ else {
|
|
|
1848
1848
|
transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
|
|
1849
1849
|
}
|
|
1850
1850
|
</style>
|
|
1851
|
-
`}function
|
|
1851
|
+
`}function jW($,X,Z={}){let{staggerDelay:J=50,sequence:Y=!1}=Z;return`
|
|
1852
1852
|
<script data-stx-scoped data-stx-run="always">
|
|
1853
1853
|
// Animation Group: ${$}
|
|
1854
1854
|
(function() {
|
|
@@ -1885,11 +1885,11 @@ else {
|
|
|
1885
1885
|
}
|
|
1886
1886
|
})();
|
|
1887
1887
|
</script>
|
|
1888
|
-
`}function X2($,X,Z,J){let Y=$;if(J.animation?.enabled===!1)return Y;let G=Z.includes("test")&&Z.includes("animation");if(!
|
|
1889
|
-
</head>`)}if(Y.includes("stx-observe")){if(!Y.includes("Intersection Observer for scroll animations")){let q=
|
|
1890
|
-
`+Y.slice(W)}}return Y}var V1,a6,t6,e6,$2;var
|
|
1891
|
-
style="--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${w}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},t6={name:"scrollAnimate",handler:($,X,Z,J)=>{if(X.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${$}`;let Y=X[0],G=X.length>1?Number.parseInt(X[1],10)||300:300,Q=X.length>2?X[2]||"ease":"ease",w=X.length>3?Number.parseFloat(X[3])||0.2:0.2,q=X.length>4?Number.parseInt(X[4],10)||0:0,W=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,K=`--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${q}ms; will-change: opacity, transform;`,z="stx-transition stx-observe stx-out";if(Y==="fade")z+=" stx-fade";else if(Y==="slide-up"||Y==="slide")z+=" stx-from-bottom";else if(Y==="slide-down")z+=" stx-from-top";else if(Y==="slide-left")z+=" stx-from-right";else if(Y==="slide-right")z+=" stx-from-left";else if(Y==="scale")z+=" stx-scale";else if(Y.includes("-"))z+=` stx-${Y}`;else z+=` stx-${Y}`;return`<div id="${W}" class="${z}" style="${K}" data-threshold="${w}">${$}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},e6={name:"animationGroup",handler:($,X,Z,J)=>{if(X.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${$}`;let Y=X[0],G=X.slice(1).map((W)=>W.startsWith("#")||W.startsWith(".")?W:`#${W}`),Q=Z.staggerDelay||50,w=Z.sequence||!0,q=
|
|
1892
|
-
${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},$2={name:"motion",handler:($,X,Z,J)=>{let Y=X.length>0?X[0].toLowerCase()==="true":!0,G=
|
|
1888
|
+
`}function X2($,X,Z,J){let Y=$;if(J.animation?.enabled===!1)return Y;let G=Z.includes("test")&&Z.includes("animation");if(!KW(Y)&&!G)return Y;if(!Y.includes('<style id="stx-animation-base">')){let w=UW();Y=Y.replace("</head>",`${w}
|
|
1889
|
+
</head>`)}if(Y.includes("stx-observe")){if(!Y.includes("Intersection Observer for scroll animations")){let q=zW(),W=Y.lastIndexOf("</body>");if(W!==-1)Y=Y.slice(0,W)+q+`
|
|
1890
|
+
`+Y.slice(W)}}return Y}var V1,a6,t6,e6,$2;var t9=D(()=>{V1={duration:300,delay:0,ease:"ease",direction:"both"};a6={name:"transition",handler:($,X,Z,J)=>{if(X.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${$}`;let Y=X[0],G=X.length>1?Number.parseInt(X[1],10)||V1.duration:V1.duration,Q=X.length>2?X[2]||V1.ease:V1.ease,w=X.length>3?Number.parseInt(X[3],10)||V1.delay:V1.delay,q=X.length>4?X[4]||V1.direction:V1.direction,W=`stx-transition-${Math.random().toString(36).substr(2,9)}`,K=qW(Y,{duration:G,delay:w,ease:Q,direction:q}),z="stx-transition",U="";if(Y==="fade")U="stx-fade";else if(Y==="slide")U="stx-slide";else if(Y==="scale")U="stx-scale";else if(Y==="flip")U="stx-flip";else if(Y==="rotate")U="stx-rotate";return`<div id="${W}" class="${z} ${U} ${q==="out"?"stx-out":""}"
|
|
1891
|
+
style="--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${w}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},t6={name:"scrollAnimate",handler:($,X,Z,J)=>{if(X.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${$}`;let Y=X[0],G=X.length>1?Number.parseInt(X[1],10)||300:300,Q=X.length>2?X[2]||"ease":"ease",w=X.length>3?Number.parseFloat(X[3])||0.2:0.2,q=X.length>4?Number.parseInt(X[4],10)||0:0,W=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,K=`--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${q}ms; will-change: opacity, transform;`,z="stx-transition stx-observe stx-out";if(Y==="fade")z+=" stx-fade";else if(Y==="slide-up"||Y==="slide")z+=" stx-from-bottom";else if(Y==="slide-down")z+=" stx-from-top";else if(Y==="slide-left")z+=" stx-from-right";else if(Y==="slide-right")z+=" stx-from-left";else if(Y==="scale")z+=" stx-scale";else if(Y.includes("-"))z+=` stx-${Y}`;else z+=` stx-${Y}`;return`<div id="${W}" class="${z}" style="${K}" data-threshold="${w}">${$}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},e6={name:"animationGroup",handler:($,X,Z,J)=>{if(X.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${$}`;let Y=X[0],G=X.slice(1).map((W)=>W.startsWith("#")||W.startsWith(".")?W:`#${W}`),Q=Z.staggerDelay||50,w=Z.sequence||!0,q=jW(Y,G,{staggerDelay:Q,sequence:w});return`${$}
|
|
1892
|
+
${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},$2={name:"motion",handler:($,X,Z,J)=>{let Y=X.length>0?X[0].toLowerCase()==="true":!0,G=WW();return`<div data-animate="${Y?"auto":"true"}">${$}</div>${G}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});var Z2=D(()=>{b1();e9()});async function BW($,X,Z,J){let Y=X[0]?.replace(/['"]/g,"")||"main",G=N7();if(Y!=="main")G=G.replace("container:'main'",`container:'${Y}'`);return`<script data-stx-router>${G}</script>`}var J2;var e9=D(()=>{Z2();J2={name:"stxRouter",handler:BW,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function Y2($){let X=$.heatmap;if(!X?.enabled)return"";let Z={...HW,...X};return`
|
|
1893
1893
|
<!-- stx Heatmap - Privacy-Compliant Tracking -->
|
|
1894
1894
|
<script>
|
|
1895
1895
|
(function() {
|
|
@@ -2272,16 +2272,16 @@ else {
|
|
|
2272
2272
|
};
|
|
2273
2273
|
})();
|
|
2274
2274
|
</script>
|
|
2275
|
-
`}function G2($,X){let Z=Y2(X);if(!Z)return $;let J=$.lastIndexOf("</body>");if(J!==-1)return $.slice(0,J)+Z+$.slice(J);return $+Z}function _W($){let X={},Z=$.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let J of Z){let[Y,G]=J.split("="),Q=G?.replace(/["']/g,"");switch(Y){case"endpoint":X.endpoint=Q;break;case"samplingRate":X.samplingRate=Number.parseInt(Q,10);break;case"batchSize":X.batchSize=Number.parseInt(Q,10);break;case"trackMouse":X.trackMouse=Q==="true";break;case"trackClicks":X.trackClicks=Q==="true";break;case"trackScroll":X.trackScroll=Q==="true";break;case"honorDnt":X.honorDnt=Q==="true";break;case"debugOverlay":X.debugOverlay=Q==="true";break}}return X}var
|
|
2276
|
-
`)){let w=Q.trim();if(!w||w.startsWith("#"))continue;let q=w.indexOf(":");if(q===-1)continue;let W=w.slice(0,q).trim(),K=w.slice(q+1).trim();if(typeof K==="string"){if(K.startsWith('"')&&K.endsWith('"')||K.startsWith("'")&&K.endsWith("'"))K=K.slice(1,-1);else if(K.startsWith("[")&&K.endsWith("]"))try{K=JSON.parse(K)}catch{}else if(K==="true")K=!0;else if(K==="false")K=!1;else if(/^-?\d+(?:\.\d+)?$/.test(K))K=Number(K)}G[W]=K}return{data:G,content:Y.trim()}}function
|
|
2277
|
-
`),Y=Y.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),Y=Y.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),Y=Y.replace(/<\/ul>\n<ul>/g,""),Y=Y.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),Y=Y.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),Y=Y.replace(/<\/ol>\n<ol>/g,""),Y=Y.replace(/<li data-ul>/g,"<li>"),Y=Y.replace(/<li data-ol>/g,"<li>"),Z)Y=Y.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(K,z,U)=>{let j=`<tr>${z.split("|").map((
|
|
2278
|
-
`).map((
|
|
2275
|
+
`}function G2($,X){let Z=Y2(X);if(!Z)return $;let J=$.lastIndexOf("</body>");if(J!==-1)return $.slice(0,J)+Z+$.slice(J);return $+Z}function _W($){let X={},Z=$.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let J of Z){let[Y,G]=J.split("="),Q=G?.replace(/["']/g,"");switch(Y){case"endpoint":X.endpoint=Q;break;case"samplingRate":X.samplingRate=Number.parseInt(Q,10);break;case"batchSize":X.batchSize=Number.parseInt(Q,10);break;case"trackMouse":X.trackMouse=Q==="true";break;case"trackClicks":X.trackClicks=Q==="true";break;case"trackScroll":X.trackScroll=Q==="true";break;case"honorDnt":X.honorDnt=Q==="true";break;case"debugOverlay":X.debugOverlay=Q==="true";break}}return X}var HW,Q2;var $X=D(()=>{HW={enabled:!1,trackMouse:!0,trackClicks:!0,trackScroll:!0,samplingRate:100,honorDnt:!0,batchSize:50,maxDataPoints:1000,sessionTimeout:30,persistData:!1,storagePrefix:"stx_heatmap",captureAttributes:["data-heatmap-id","data-track"],ignoreSelectors:["[data-heatmap-ignore]",".heatmap-ignore"],debugOverlay:!1};Q2={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async($,X,Z,J)=>{let Y=Z.__stx_config||{};if(X.length>0){let G=_W(X.join(" "));Y.heatmap={...Y.heatmap,...G,enabled:!0}}return Y2(Y)}}});function S1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function w2($){let X=$.trim().toLowerCase();return!X.startsWith("javascript:")&&!X.startsWith("vbscript:")&&!X.startsWith("data:text/html")}function q2($){let X=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,Z=$.match(X);if(!Z)return{data:{},content:$.trim()};let J=Z[1],Y=$.slice(Z[0].length),G={};for(let Q of J.split(`
|
|
2276
|
+
`)){let w=Q.trim();if(!w||w.startsWith("#"))continue;let q=w.indexOf(":");if(q===-1)continue;let W=w.slice(0,q).trim(),K=w.slice(q+1).trim();if(typeof K==="string"){if(K.startsWith('"')&&K.endsWith('"')||K.startsWith("'")&&K.endsWith("'"))K=K.slice(1,-1);else if(K.startsWith("[")&&K.endsWith("]"))try{K=JSON.parse(K)}catch{}else if(K==="true")K=!0;else if(K==="false")K=!1;else if(/^-?\d+(?:\.\d+)?$/.test(K))K=Number(K)}G[W]=K}return{data:G,content:Y.trim()}}function D7($,X={}){let{gfm:Z=!0,breaks:J=!1}=X,Y=$,G=[];if(Y=Y.replace(/```(\w*)\n([\s\S]*?)```/g,(K,z,U)=>{let B=G.length,j=z?` class="language-${S1(z)}"`:"";return G.push(`<pre><code${j}>${S1(U.trim())}</code></pre>`),`\x00CODEBLOCK${B}\x00`}),Y=Y.replace(/`([^`]*)`/g,(K,z)=>`<code>${S1(z)}</code>`),Y=Y.replace(/^######\s+(.*)$/gm,"<h6>$1</h6>"),Y=Y.replace(/^#####\s+(.*)$/gm,"<h5>$1</h5>"),Y=Y.replace(/^####\s+(.*)$/gm,"<h4>$1</h4>"),Y=Y.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),Y=Y.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),Y=Y.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),Y=Y.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),Y=Y.replace(/___(.+?)___/g,"<strong><em>$1</em></strong>"),Y=Y.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),Y=Y.replace(/__(.+?)__/g,"<strong>$1</strong>"),Y=Y.replace(/\*(.+?)\*/g,"<em>$1</em>"),Y=Y.replace(/(?<![a-zA-Z0-9])_(.+?)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),Z)Y=Y.replace(/~~(.+?)~~/g,"<del>$1</del>");if(Y=Y.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(K,z,U)=>{return`<img src="${w2(U)?S1(U):""}" alt="${S1(z)}" />`}),Y=Y.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(K,z,U)=>{return`<a href="${w2(U)?S1(U):""}">${z}</a>`}),Y=Y.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),Y=Y.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),Y=Y.replace(/<\/blockquote>\n<blockquote>/g,`
|
|
2277
|
+
`),Y=Y.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),Y=Y.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),Y=Y.replace(/<\/ul>\n<ul>/g,""),Y=Y.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),Y=Y.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),Y=Y.replace(/<\/ol>\n<ol>/g,""),Y=Y.replace(/<li data-ul>/g,"<li>"),Y=Y.replace(/<li data-ol>/g,"<li>"),Z)Y=Y.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(K,z,U)=>{let j=`<tr>${z.split("|").map((_)=>_.trim()).filter(Boolean).map((_)=>`<th>${S1(_)}</th>`).join("")}</tr>`,H=U.trim().split(`
|
|
2278
|
+
`).map((_)=>{return`<tr>${_.split("|").map((O)=>O.trim()).filter(Boolean).map((O)=>`<td>${S1(O)}</td>`).join("")}</tr>`}).join(`
|
|
2279
2279
|
`);return`<table>
|
|
2280
2280
|
<thead>
|
|
2281
2281
|
${j}
|
|
2282
2282
|
</thead>
|
|
2283
2283
|
<tbody>
|
|
2284
|
-
${
|
|
2284
|
+
${H}
|
|
2285
2285
|
</tbody>
|
|
2286
2286
|
</table>`});if(Z)Y=Y.replace(/<li>\s*\[\s*\]\s*/g,'<li><input type="checkbox" disabled /> '),Y=Y.replace(/<li>\s*\[x\]\s*/gi,'<li><input type="checkbox" checked disabled /> ');let Q=Y.split(`
|
|
2287
2287
|
`),w=[],q=!1,W=[];for(let K of Q){let z=K.trim();if(/^<(?:h[1-6]|ul|ol|li|blockquote|pre|table|thead|tbody|tr|th|td|hr|div|p)/.test(z)||/^\0CODEBLOCK\d+\0$/.test(z)||z===""){if(q&&W.length>0)w.push(`<p>${W.join(J?`<br />
|
|
@@ -2290,7 +2290,7 @@ ${_}
|
|
|
2290
2290
|
`:`
|
|
2291
2291
|
`)}</p>`);if(Y=w.join(`
|
|
2292
2292
|
`),J)Y=Y.replace(/\n/g,`<br />
|
|
2293
|
-
`);for(let K=0;K<G.length;K++)Y=Y.replace(`\x00CODEBLOCK${K}\x00`,G[K]);return Y=Y.replace(/<p>\s*<\/p>/g,""),Y.trim()}function
|
|
2293
|
+
`);for(let K=0;K<G.length;K++)Y=Y.replace(`\x00CODEBLOCK${K}\x00`,G[K]);return Y=Y.replace(/<p>\s*<\/p>/g,""),Y.trim()}function k5($="const",X=[],Z){let J=X.length?A1.filter((Y)=>!X.includes(Y)):A1;if(Z!==void 0)J=J.filter((Y)=>{let G=Y.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(^|[^\\w$])${G}(?![\\w$])`).test(Z)});return`${$} { ${J.join(", ")} } = window.stx;`}function XX($){if(!$)return!1;return LW.some((X)=>new RegExp(`\\b${X}\\s*(?:<[^>]*>)?\\s*\\(`).test($))}function ZX($){if(!$)return!1;let X=H2($);if(FW.some((Z)=>Z.test(X)))return!0;return XX(X)}function K2($){if(!$)return!1;return VW.test(H2($))||ZX($)}function z2($){return AW.includes($.toLowerCase())}function B2(){return`{${U2.map(($)=>`'${$}':1`).join(",")}}`}function H2($){if(!$)return $;let X=(Z)=>Z.replace(/(<[^>]*>)|([^<]+)/g,(J,Y,G)=>Y??" ".repeat(G.length));return $.replace(/(<pre\b[^>]*>)([\s\S]*?)(<\/pre>)/gi,(Z,J,Y,G)=>J+X(Y)+G).replace(/(<code\b[^>]*>)([\s\S]*?)(<\/code>)/gi,(Z,J,Y,G)=>J+X(Y)+G).replace(/<!--[\s\S]*?-->/g,(Z)=>" ".repeat(Z.length))}var A1,W2,OW,LW,FW,VW,AW,U2,RW,j2;var Z1=D(()=>{A1=["batch","computed","configureFetch","defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","defineStore","derived","effect","goBack","goForward","inject","invalidateRoute","isDerived","isSignal","navigate","nextTick","onBeforeMount","onBeforeUnmount","onDestroy","onMount","onMounted","onUnmounted","peek","provide","reactive","ref","refresh","registerStoresClient","setRouteParams","state","untrack","useAsync","useClickOutside","useColorMode","useCookie","useCounter","useDark","useDebounce","useDebouncedValue","useEventListener","useFetch","useFocus","useHead","useId","useInterval","useLocalStorage","useMediaQuery","useMutation","useOptimistic","usePreferredContrast","usePreferredDark","usePreferredLight","usePreferredReducedMotion","useQuery","useReactiveProp","useRef","useRoute","useRouteParam","useRouteParams","useScrollLock","useSearchParams","useSeoMeta","useSessionStorage","useSlots","useStore","useThrottle","useTimeout","useToggle","useWebSocket","watch","watchEffect","watchMultiple","withDefaults"],W2=["onMount","onDestroy"];OW=["defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","withDefaults"],LW=A1.filter(($)=>!OW.includes($));FW=[/@if\s*=/,/@for\s*=/,/@show\s*=/,/@model\s*=/,/@bind:/,/@class\s*=/,/@style\s*=/,/\bx-data\s*=/,/\bstate\s*(?:<[^>]*>)?\s*\(/,/\bderived\s*(?:<[^>]*>)?\s*\(/,/\beffect\s*(?:<[^>]*>)?\s*\(/,/\bref\s*(?:<[^>]*>)?\s*\(/,/\bcomputed\s*(?:<[^>]*>)?\s*\(/,/\breactive\s*(?:<[^>]*>)?\s*\(/,/\bwatch\s*(?:<[^>]*>)?\s*\(/,/\bwatchEffect\s*(?:<[^>]*>)?\s*\(/,/\s:[a-z][\w-]*\s*=\s*["']/i,/\s:(?:if|else-if|else|for|show|text|html|model)\s*=/,/data-stx(?:-auto)?(?![-\w])/,/data-stx-scoped/],VW=/\s@[a-z][\w.:-]*\s*=/i;AW=["if","else-if","elseif","else","for","show","key","text","html","model","ref"];U2=["x-text","x-html","x-model","x-show","x-if","x-for","x-cloak","x-ref","x-data","x-bind","x-class","x-style","x-tooltip","x-tooltip-position"],RW=["x-init","x-transition","x-effect","x-on"],j2=[...U2,...RW]});function L2($){let X={prevent:!1,stop:!1,once:!1,capture:!1,self:!1,passive:!1,keys:[],systemKeys:[],mouse:null,debounce:null,throttle:null};for(let Z of $){let J=Z.toLowerCase();if(J==="prevent")X.prevent=!0;else if(J==="stop")X.stop=!0;else if(J==="once")X.once=!0;else if(J==="capture")X.capture=!0;else if(J==="self")X.self=!0;else if(J==="passive")X.passive=!0;else if(NW.has(J))X.systemKeys.push(J);else if(J in F2)X.mouse=J;else if(J in O2||/^[a-z]$/.test(J))X.keys.push(O2[J]||J.toUpperCase());else if(J.startsWith("debounce")){let Y=J.match(/debounce(?:\.(\d+))?/);X.debounce=Y?.[1]?Number.parseInt(Y[1],10):300}else if(J.startsWith("throttle")){let Y=J.match(/throttle(?:\.(\d+))?/);X.throttle=Y?.[1]?Number.parseInt(Y[1],10):300}}return X}function V2($){let X=[],Z=0,J=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,Y;while((Y=J.exec($))!==null){let[G,Q,w]=Y,q=Y.index,W=q+G.length,K=`__stx_evt_${Z++}`,z=[],U=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,B;while((B=U.exec(w))!==null){let[,H,_]=B,L=H.split("."),O=L[0];if(!_2.has(O))continue;z.push({attribute:`@${H}`,event:O,handler:_,modifiers:L2(L.slice(1)),elementId:K})}let j=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((B=j.exec(w))!==null){let[,H,_]=B,L=H.split("."),O=L[0];if(!_2.has(O))continue;z.push({attribute:`@${H}`,event:O,handler:_,modifiers:L2(L.slice(1)),elementId:K})}if(z.length>0)X.push({originalTag:G,elementId:K,events:z,startIndex:q,endIndex:W})}return X}function TW($){let X=[],{modifiers:Z}=$;if(Z.self)X.push("if ($event.target !== $el) return");for(let J of Z.systemKeys)X.push(`if (!$event.${J}Key) return`);if(Z.keys.length>0){let J=Z.keys.map((Y)=>`$event.key === '${Y}'`).join(" || ");X.push(`if (!(${J})) return`)}if(Z.mouse!==null){let J=F2[Z.mouse];X.push(`if ($event.button !== ${J}) return`)}if(Z.prevent)X.push("$event.preventDefault()");if(Z.stop)X.push("$event.stopPropagation()");return X.join("; ")}function MW($,X){let Z=$;if(X.debounce!==null)Z=`__stx_debounce(() => { ${Z} }, ${X.debounce})`;else if(X.throttle!==null)Z=`__stx_throttle(() => { ${Z} }, ${X.throttle})`;return Z}function JX($){let X=$.trim();if(!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(X))return $;return`if (typeof ${X} === 'function' && !${X}._isSignal) ${X}($event);`}function kW($){let{modifiers:X}=$,Z=$.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),J=TW($),Y=MW(JX($.handler),X),G=[];if(X.once)G.push("once: true");if(X.capture)G.push("capture: true");if(X.passive)G.push("passive: true");let Q=G.length>0?`, { ${G.join(", ")} }`:"",w=Y.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if($.event==="mounted")return`
|
|
2294
2294
|
(function() {
|
|
2295
2295
|
var $el = document.getElementById('${Z}');
|
|
2296
2296
|
if (!$el) return;
|
|
@@ -2344,7 +2344,7 @@ else {
|
|
|
2344
2344
|
__stx_runHandler('${w}', $event, $el);
|
|
2345
2345
|
}
|
|
2346
2346
|
}${Q});
|
|
2347
|
-
})();`}function
|
|
2347
|
+
})();`}function YX($){if($.length===0)return"";return`
|
|
2348
2348
|
<script data-stx-events>
|
|
2349
2349
|
(function() {
|
|
2350
2350
|
'use strict';
|
|
@@ -2399,44 +2399,44 @@ else {
|
|
|
2399
2399
|
}
|
|
2400
2400
|
|
|
2401
2401
|
// Event listeners
|
|
2402
|
-
${$.map(
|
|
2402
|
+
${$.map(kW).join(`
|
|
2403
2403
|
`)}
|
|
2404
2404
|
})();
|
|
2405
|
-
</script>`}function
|
|
2406
|
-
`+Y.slice(Q);else Y+=G;return Y}var
|
|
2405
|
+
</script>`}function IW($){let X=V2($);if(X.length===0)return{template:$,bindings:[]};let Z=$,J=[];for(let Y=X.length-1;Y>=0;Y--){let G=X[Y],Q=G.originalTag;if(!Q.includes(" id="))Q=Q.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${G.elementId}"`);else{let w=Q.match(/id=["']([^"']+)["']/);if(w)for(let q of G.events)q.elementId=w[1]}for(let w of G.events){let q=w.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),W=new RegExp(`\\s*${q}\\s*=\\s*"[^"]*"`,"g"),K=new RegExp(`\\s*${q}\\s*=\\s*'[^']*'`,"g");Q=Q.replace(W,""),Q=Q.replace(K,"")}Z=Z.slice(0,G.startIndex)+Q+Z.slice(G.endIndex),J.push(...G.events)}return{template:Z,bindings:J}}function A2($,X,Z){if(ZX($))return $;if(X.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test($))return $;let{template:w,bindings:q}=IW($),W=X.__stx_event_bindings||[];return X.__stx_event_bindings=[...W,...q],w}let J=V2($);if(J.length===0)return $;let Y=$;for(let w=J.length-1;w>=0;w--){let q=J[w],W=q.originalTag;if(!W.includes(" id="))W=W.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${q.elementId}"`);else{let K=W.match(/id=["']([^"']+)["']/);if(K)for(let z of q.events)z.elementId=K[1]}for(let K of q.events){let z=K.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),U=new RegExp(`\\s*${z}\\s*=\\s*"[^"]*"`,"g"),B=new RegExp(`\\s*${z}\\s*=\\s*'[^']*'`,"g");W=W.replace(U,""),W=W.replace(B,"")}Y=Y.slice(0,q.startIndex)+W+Y.slice(q.endIndex)}let G=YX(J.flatMap((w)=>w.events)),Q=Y.lastIndexOf("</body>");if(Q!==-1)Y=Y.slice(0,Q)+G+`
|
|
2406
|
+
`+Y.slice(Q);else Y+=G;return Y}var _2,O2,NW,F2;var GX=D(()=>{Z1();_2=new Set(["click","dblclick","mousedown","mouseup","mousemove","mouseenter","mouseleave","mouseover","mouseout","contextmenu","wheel","keydown","keyup","keypress","submit","reset","change","input","focus","blur","focusin","focusout","select","invalid","touchstart","touchend","touchmove","touchcancel","drag","dragstart","dragend","dragenter","dragleave","dragover","drop","scroll","resize","load","error","abort","animationstart","animationend","animationiteration","transitionstart","transitionend","transitionrun","transitioncancel","mounted","unmounted"]),O2={enter:"Enter",tab:"Tab",delete:"Delete",backspace:"Backspace",esc:"Escape",escape:"Escape",space:" ",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",home:"Home",end:"End",pageup:"PageUp",pagedown:"PageDown"},NW=new Set(["ctrl","alt","shift","meta"]),F2={left:0,middle:1,right:2}});function r0($){let X=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;$=$.replace(X,(J,Y)=>{return`const { ${Y.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
|
|
2407
2407
|
`});let Z=/import\s*\{([^}]+)\}\s*from\s*['"]@composables['"]\s*;?\n?/g;return $=$.replace(Z,(J,Y)=>{return`const { ${Y.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__composables
|
|
2408
|
-
`}),$}function
|
|
2408
|
+
`}),$}function D8($){return $.replace(/^import\s+[^'"]*?from\s*['"][^'"]+['"]\s*;?[ \t]*$/gm,"").replace(/^import\s+['"][^'"]+['"]\s*;?[ \t]*$/gm,"")}function EW($,X){let Z=$[X],J=X+1;while(J<$.length){if($[J]==="\\"){J+=2;continue}if($[J]===Z)return J+1;J++}return $.length}function DW($,X){let Z=X+1;while(Z<$.length){if($[Z]==="\\"){Z+=2;continue}if($[Z]==="`")return Z+1;if($[Z]==="$"&&$[Z+1]==="{"){if(Z=y8($,Z+2),Z<$.length)Z++;continue}Z++}return $.length}function y8($,X){let Z=1,J=X;while(J<$.length){let Y=$[J];if(Y==="\\"){J+=2;continue}if(Y==='"'||Y==="'"){J=EW($,J);continue}if(Y==="`"){J=DW($,J);continue}if(Y==="/"&&$[J+1]==="/"){while(J<$.length&&$[J]!==`
|
|
2409
2409
|
`)J++;continue}if(Y==="/"&&$[J+1]==="*"){J+=2;while(J<$.length&&$.slice(J,J+2)!=="*/")J++;J+=2;continue}if(Y==="{"){Z++,J++;continue}if(Y==="}"){if(Z--,Z===0)return J;J++;continue}J++}return $.length}function t0($){let X="",Z=0;while(Z<$.length){let J=$.slice(Z,Z+2);if(J==="//"){while(Z<$.length&&$[Z]!==`
|
|
2410
2410
|
`)X+=" ",Z++;continue}if(J==="/*"){while(Z<$.length&&$.slice(Z,Z+2)!=="*/")X+=$[Z]===`
|
|
2411
2411
|
`?`
|
|
2412
2412
|
`:" ",Z++;X+=" ",Z+=2;continue}let Y=$[Z];if(Y==='"'||Y==="'"){let G=Y;X+=" ",Z++;while(Z<$.length&&$[Z]!==G){if($[Z]==="\\"){X+=" ",Z+=2;continue}X+=$[Z]===`
|
|
2413
2413
|
`?`
|
|
2414
|
-
`:" ",Z++}X+=" ",Z++;continue}if(Y==="`"){X+=" ",Z++;while(Z<$.length&&$[Z]!=="`"){if($[Z]==="\\"){X+=" ",Z+=2;continue}if($[Z]==="$"&&$[Z+1]==="{"){let G=Z+2,Q=
|
|
2414
|
+
`:" ",Z++}X+=" ",Z++;continue}if(Y==="`"){X+=" ",Z++;while(Z<$.length&&$[Z]!=="`"){if($[Z]==="\\"){X+=" ",Z+=2;continue}if($[Z]==="$"&&$[Z+1]==="{"){let G=Z+2,Q=y8($,G);if(X+=" ",X+=t0($.slice(G,Q)),Q<$.length)X+=" ";Z=Q+1;continue}X+=$[Z]===`
|
|
2415
2415
|
`?`
|
|
2416
|
-
`:" ",Z++}X+=" ",Z++;continue}X+=Y,Z++}return X}function
|
|
2416
|
+
`:" ",Z++}X+=" ",Z++;continue}X+=Y,Z++}return X}function yW(){let $=globalThis;return $[R2]??=new Map,$[R2]}function $0($,X){let Z=yW(),J=`${import.meta.url}\x00${$}`,Y=Z.get(J);if(Y)return Y;let G=X();return Z.set(J,G),G.catch(()=>{if(Z.get(J)===G)Z.delete(J)}),G}var R2;var y7=D(()=>{R2=Symbol.for("stx.lazy-module-promises")});function I5($){if(!$||$.indexOf("</")===-1)return $;return $.replace(bW,"<\\/$1")}var bW;var QX=D(()=>{bW=/<\/(script)/gi});import SW from"process";function l0($="STX_PUBLIC_"){let X={},Z={};for(let[J,Y]of Object.entries(SW.env)){if(!J.startsWith($)||Y===void 0)continue;X[`import.meta.env.${J}`]=JSON.stringify(Y),Z[J]=Y}return X["import.meta.env"]=JSON.stringify(Z),X}var C1=()=>{};function CW($){if(!$||typeof $!=="object")return!1;let X=$;return typeof X.message==="string"&&(X.name==="BuildMessage"||X.name==="ResolveMessage"||("position"in X))}function PW($){if($&&typeof $==="object"&&Array.isArray($.errors))return $.errors;return[$]}function b8($,X){let Z=[];for(let J of PW($)){if(CW(J)){let Y=J.position||void 0;Z.push({file:X||Y?.file,line:Y?.line,column:Y?.column,message:J.message??"",lineText:Y?.lineText});continue}Z.push({file:X,message:J instanceof Error?J.message:String(J)})}return Z}function N2($,X){return b8($,X).map((Z)=>{let J=Z.file?`${Z.file}${Z.line?`:${Z.line}${Z.column?`:${Z.column}`:""}`:""}`:"",Y=Z.lineText?`
|
|
2417
2417
|
${Z.lineText.trim()}`:"";return J?`${J}: ${Z.message}${Y}`:`${Z.message}${Y}`}).join(`
|
|
2418
|
-
`)}var
|
|
2419
|
-
export { ${B.join(", ")} }`:"";await Bun.write(K,$+L),
|
|
2420
|
-
`),M=A.map(([I])=>`${I} = ${
|
|
2421
|
-
`);if(V=`${
|
|
2418
|
+
`)}var b7={};t(b7,{shouldLogBundlerDiagnostics:()=>I2,setBundlerFallbackMode:()=>xW,resolveBundlerFallback:()=>KX,recordBundleFailure:()=>qX,queueClientBundleBuild:()=>E2,hasUserImports:()=>fW,getBundleFailures:()=>UX,clearBundleFailures:()=>jX,bundleClientScript:()=>hW});import V0 from"path";import p0 from"fs";function I2($=process.env){return $.STX_DEBUG==="true"||$.STX_DEBUG==="1"}function t1(...$){if(I2())console.log("[stx:bundler]",...$)}function qX($,X,Z){zX.push({filePath:$||"<inline>",message:X,details:Z})}function UX(){return zX.slice()}function jX(){zX.length=0}function xW($){WX=$}function KX(){if(WX)return WX;try{let $=S7.strict;return typeof $==="object"&&$!==null?$.bundlerFallback??"warn":"warn"}catch{return"warn"}}function fW($){let X=/^[ \t]*import[ \t]+(?!type(?:[ \t]|{))[\s\S]*?\s+from\s+['"]([^'"]+)['"][ \t]*;?/gm,Z;while((Z=X.exec($))!==null){let Y=Z[1];if(!T2.some((Q)=>Q.test(Y)))return t1("detected user import:",Y),!0}let J=/^[ \t]*import[ \t]+['"]([^'"]+)['"]/gm;while((Z=J.exec($))!==null){let Y=Z[1];if(/\.css(?:\?.*)?$/.test(Y))continue;if(!T2.some((Q)=>Q.test(Y)))return t1("detected side-effect import:",Y),!0}return!1}function gW($,X,Z,J){let Y=(G,Q)=>{let w=G===Z?X:V0.dirname(G),q=V0.resolve(w,Q),W=[q,`${q}.ts`,`${q}.tsx`,`${q}.js`,`${q}.mjs`,`${q}.jsx`,V0.join(q,"index.ts"),V0.join(q,"index.tsx"),V0.join(q,"index.js"),V0.join(q,"index.mjs")];for(let K of W)try{if(p0.existsSync(K)&&p0.statSync(K,{throwIfNoEntry:!1})?.isFile())return K}catch{}return q};return{name:"stx-client-bundle",setup(G){G.onResolve({filter:/^(stx|@stacksjs\/stx)$/},(Q)=>({path:Q.path,external:!0})),G.onResolve({filter:/^(@stores|@composables|stx\/stores)$/},(Q)=>({path:Q.path,external:!0})),G.onResolve({filter:/^\//},(Q)=>{if(p0.existsSync(Q.path))return{path:Q.path};return{path:Q.path,external:!0}}),G.onResolve({filter:/^\.\.?\//},(Q)=>{let w=Y(Q.importer,Q.path);return J.add(w),{path:w}}),G.onResolve({filter:/^[@~]\//},(Q)=>{let w=V0.resolve($,Q.path.slice(2)),q=[w,`${w}.ts`,`${w}.tsx`,`${w}.js`,`${w}.mjs`,`${w}.jsx`,V0.join(w,"index.ts"),V0.join(w,"index.tsx"),V0.join(w,"index.js"),V0.join(w,"index.mjs")];for(let W of q)if(p0.existsSync(W)&&p0.statSync(W,{throwIfNoEntry:!1})?.isFile())return t1(`resolved ${Q.path[0]}/ import:`,Q.path,"\u2192",W),J.add(W),{path:W};return console.warn(`[stx:bundler] could not resolve ${Q.path[0]}/ import:`,Q.path),{path:w}}),G.onLoad({filter:/\.(?:[cm]?[jt]sx?|json)$/},(Q)=>{let w=V0.extname(Q.path).toLowerCase(),q=w===".json"?"json":w===".tsx"?"tsx":w===".jsx"?"jsx":w===".ts"||w===".mts"||w===".cts"?"ts":"js";if(Q.path!==Z)J.add(Q.path);return{contents:p0.readFileSync(Q.path,"utf8"),loader:q}})}}}function E2($){let X=globalThis,J=(X[M2]??Promise.resolve()).then($,$);return X[M2]=J.then(()=>{return},()=>{return}),J}async function hW($,X,Z={}){let J=Z.projectRoot||process.cwd(),Y=Z.minify??!1,G=Z.cacheDir||F1(J,"bundle-cache"),Q=new Bun.CryptoHasher("md5");Q.update(`${vW}\x00${$}\x00${X}`);let w=Q.digest("hex").slice(0,12),q=V0.join(G,`${w}.js`),W=V0.join(G,`${w}.deps.json`),K=Bun.file(q);if(await K.exists()){let B=Bun.file(W),j=!0;if(await B.exists())try{let H=JSON.parse(await B.text());if(H.metadataVersion!==k2||!Array.isArray(H.files))j=!1;for(let _ of Array.isArray(H.files)?H.files:[])try{if(p0.statSync(_.path).mtimeMs!==_.mtimeMs){j=!1;break}}catch{j=!1;break}}catch{j=!1}if(j)return t1("cache hit:",w),await K.text();t1("cache invalidated by dep change:",w)}let z=wX.get(w);if(z)return await z;let U=E2(()=>uW($,X,{projectRoot:J,minify:Y,cacheDir:G,hash:w,cachePath:q,depsPath:W}));wX.set(w,U);try{return await U}finally{wX.delete(w)}}async function uW($,X,Z){let{projectRoot:J,minify:Y,cacheDir:G,hash:Q,cachePath:w,depsPath:q}=Z,W=F1(J,"bundle-tmp"),K=V0.join(W,`${Q}.ts`),z=V0.join(W,"out",Q);p0.mkdirSync(W,{recursive:!0}),p0.mkdirSync(z,{recursive:!0});let U=V0.dirname(X),B=[],j=/^(export\s+)?(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))/gm,H=/^(export\s+)?(?:async\s+)?function\s+(\w+)/gm,_;while((_=j.exec($))!==null){if(_[1])continue;if(_[2])_[2].split(",").forEach((F)=>{let V=F.split(":")[0].trim();if(V)B.push(V)});else if(_[3])B.push(_[3])}while((_=H.exec($))!==null){if(_[1])continue;B.push(_[2])}let L=B.length>0?`
|
|
2419
|
+
export { ${B.join(", ")} }`:"";await Bun.write(K,$+L),t1("bundling:",Q,"from:",V0.basename(X));let O=new Set;try{let F=await Bun.build({entrypoints:[K],outdir:z,target:"browser",format:"esm",minify:Y,plugins:[gW(J,U,K,O)],define:{"process.env.NODE_ENV":Y?'"production"':'"development"',...l0()},root:J});if(!F.success){let S=F.logs.filter((y)=>y.level==="error").map((y)=>y.message).join(", ")||`Unable to bundle ${V0.basename(X)}`,b=b8(F.logs,X||void 0);if(console.warn("[stx:bundler] build failed:",S),qX(X||"",S,b),KX()==="error")throw Error(S);return $}let V="";for(let I of F.outputs){V=await I.text();break}let A=[];for(let I of V.matchAll(/^\s*export\s*\{([^}]*)\}\s*;?\s*$/gm))for(let S of I[1].split(",")){let b=S.trim().match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(b){A.push([b[2],b[1]]);continue}let y=S.trim();if(/^[A-Za-z_$][\w$]*$/.test(y))A.push([y,y])}let N=V.match(/^\s*import\s+[^;]+;?\s*$/gm)||[];V=V.replace(/^\s*import\s+[^;]+;?\s*$/gm,"").replace(/^\s*export\s*\{[^}]*\}\s*;?\s*$/gm,"").replace(/^\s*export\s+default\s+.*$/gm,"").trim();let R=`__stxBundle_${Q}`,T=A.map(([I,S])=>`${JSON.stringify(I)}: ${S}`).join(", "),k=A.map(([I])=>`var ${I} = undefined;`).join(`
|
|
2420
|
+
`),M=A.map(([I])=>`${I} = ${R}[${JSON.stringify(I)}];`).join(`
|
|
2421
|
+
`);if(V=`${N.join(`
|
|
2422
2422
|
`)}
|
|
2423
2423
|
${k}
|
|
2424
|
-
var ${
|
|
2424
|
+
var ${R} = (function() {
|
|
2425
2425
|
${V}
|
|
2426
2426
|
return { ${T} };
|
|
2427
2427
|
})();
|
|
2428
|
-
${M}`.trim(),
|
|
2428
|
+
${M}`.trim(),t1("bundled:",Q,"output:",V.length,"bytes"),B.length>0&&A.length===0)return console.warn(`[stx:bundler] dropped every binding for ${V0.basename(X)} (${Q}); serving the unbundled source and not caching this result`),$;p0.mkdirSync(G,{recursive:!0}),await Bun.write(w,V);let E=Array.from(O).map((I)=>{try{return{path:I,mtimeMs:p0.statSync(I).mtimeMs}}catch{return null}}).filter((I)=>I!==null);return await Bun.write(q,JSON.stringify({metadataVersion:k2,files:E})),V}catch(F){let V=b8(F,X||void 0),A=N2(F,X||void 0);if(console.warn(`[stx:bundler] error: ${A}`),qX(X||"",A,V),KX()==="error")throw F;return $}finally{try{p0.rmSync(K,{force:!0}),p0.rmSync(z,{recursive:!0,force:!0})}catch{}}}var vW=5,k2=1,zX,WX,T2,wX,M2;var E5=D(()=>{C1();E7();R1();zX=[];T2=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];wX=new Map,M2=Symbol.for("stx.client-bundle-build-queue")});var x2={};t(x2,{stripCommentsAndLiterals:()=>t0,renderVendorStyleTags:()=>C8,processClientScript:()=>v7,injectBrowserCoreAutoImports:()=>D5,generateServerDataBridge:()=>P8,generateBrowserAutoImportDestructuring:()=>oW,generateAutoImportDestructuring:()=>BX,findInterpolationEnd:()=>y8,extractBridgeData:()=>P7,extractAndStripCssImports:()=>S8,STX_AUTO_IMPORTS:()=>S2});import e1 from"path";import C7 from"fs";function mW($){if($.startsWith(".")||$.startsWith("/"))return null;if($.startsWith("@")){let Z=$.match(/^(@[^/]+\/[^/]+)(\/.*)?$/);if(!Z)return null;return{pkg:Z[1],subpath:Z[2]||""}}let X=$.match(/^([^/]+)(\/.*)?$/);if(!X)return null;return{pkg:X[1],subpath:X[2]||""}}function cW($,X){let Z=X;while(!0){let J=e1.join(Z,"node_modules",$,"package.json");if(C7.existsSync(J))return e1.dirname(J);let Y=e1.dirname(Z);if(Y===Z)return null;Z=Y}}function lW($,X){if(!$||typeof $!=="object")return null;let Z=(Y)=>{if(typeof Y==="string")return Y;if(Y&&typeof Y==="object"){if(typeof Y.import==="string")return Y.import;if(typeof Y.default==="string")return Y.default;if(typeof Y.import==="object")return Z(Y.import);if(typeof Y.default==="object")return Z(Y.default)}return null};if(Object.prototype.hasOwnProperty.call($,X))return Z($[X]);let J=null;for(let Y of Object.keys($)){let G=Y.indexOf("*");if(G===-1)continue;let Q=Y.slice(0,G),w=Y.slice(G+1);if(!X.startsWith(Q)||!X.endsWith(w))continue;if(X.length<Q.length+w.length)continue;if(!J||Q.length>J.prefix.length)J={pattern:Y,prefix:Q,suffix:w}}if(J){let Y=X.slice(J.prefix.length,X.length-J.suffix.length),G=Z($[J.pattern]);if(G)return G.replace("*",Y)}return null}function pW($,X){let Z=mW($);if(!Z||!Z.subpath)return null;let J=cW(Z.pkg,X);if(!J)return null;let Y;try{Y=JSON.parse(C7.readFileSync(e1.join(J,"package.json"),"utf8"))}catch{return null}let G=`.${Z.subpath}`,Q=lW(Y.exports,G);if(!Q)return null;let w=e1.resolve(J,Q);return C7.existsSync(w)?w:null}function S8($,X){let Z=X.filePath?e1.dirname(X.filePath):X.projectRoot||process.cwd(),J=X.projectRoot||process.cwd(),Y=new Set,G=[];return{code:$.replace(dW,(w,q)=>{let W;try{if(q.startsWith("./")||q.startsWith("../")||q.startsWith("/")){if(W=q.startsWith("/")?q:e1.resolve(Z,q),!C7.existsSync(W))throw Error(`file not found: ${W}`)}else{let K=null;try{K=Bun.resolveSync(q,J)}catch{K=pW(q,J)}if(!K)throw Error(`could not resolve ${q} (Bun.resolveSync + exports fallback both failed)`);W=K}}catch(K){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(q)} (from ${X.filePath||"<unknown>"}): ${K?.message||K}`),""}if(Y.has(W))return"";Y.add(W);try{let K=C7.readFileSync(W,"utf8");G.push({source:q,resolvedPath:W,contents:K})}catch(K){console.warn(`[stx:vendor-css] could not read ${W}: ${K?.message||K}`)}return""}),styles:G}}function iW($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function C8($){if($.length===0)return"";return`${$.map((X)=>{return`<style data-stx-vendor="${iW(X.source)}" data-stx-layer="vendor">
|
|
2429
2429
|
@layer vendor {
|
|
2430
2430
|
${X.contents}
|
|
2431
2431
|
}
|
|
2432
2432
|
</style>`}).join(`
|
|
2433
2433
|
`)}
|
|
2434
|
-
`}function
|
|
2434
|
+
`}function D5($){let X=t0($),Z=new Set;for(let w of $.matchAll(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm))for(let q of w[1].split(",")){let W=q.trim().split(/\s+as\s+/).pop()?.replace(/^type\s+/,"").trim();if(W)Z.add(W)}let J=new Set;for(let w of X.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))J.add(w[1]);for(let w of X.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let q of w[1].split(",")){let W=q.trim().split(/[:=]/).pop()?.trim();if(W)J.add(W)}let Y=C2.filter((w)=>{if(Z.has(w)||J.has(w))return!1;return new RegExp(`\\b${w}\\s*\\(`).test(X)}),G=P2(X).filter((w)=>!Z.has(w)&&!J.has(w));if(Y.length===0&&G.length===0)return{code:$,imports:Y,models:G};return{code:`${[Y.length>0?`import { ${Y.join(", ")} } from '@stacksjs/browser'`:"",G.length>0?"import '@stacksjs/browser'":"",G.length>0?`const { ${G.join(", ")} } = window.StacksBrowser || {}`:""].filter(Boolean).join(`
|
|
2435
2435
|
`)}
|
|
2436
|
-
${$}`,imports:Y,models:G}}function P2($){let X=new Set,Z=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,J;while((J=Z.exec($))!==null)if(!
|
|
2436
|
+
${$}`,imports:Y,models:G}}function P2($){let X=new Set,Z=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,J;while((J=Z.exec($))!==null)if(!nW.has(J[1]))X.add(J[1]);return Array.from(X)}function rW($){let X=new Set;for(let Z of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))X.add(Z[1]);for(let Z of $.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let J of Z[1].split(",")){let Y=J.trim().split(/[:=]/).pop()?.trim();if(Y&&/^[A-Za-z_$][\w$]*$/.test(Y))X.add(Y)}return X}function v2($){let X=new Set,Z=new Set,J=$;J=J.replace(/^\s*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm,"// [type import stripped]");let Y=new Set,G=/^\s*import\s+(?:type\s+)?{\s*([^}]+)\s*}\s+from\s+['"](@stacksjs\/browser|@stacksjs\/stx|stx)['"]\s*;?\s*$/gm,Q;while((Q=G.exec($))!==null){let W=Q[1],K=Q[2];if(Q[0].includes("import type"))continue;let z=[];for(let B of W.split(",")){let j=B.trim();if(!j||j.startsWith("type "))continue;let H=j.match(/^([A-Za-z_$][\w$]*)(?:\s+as\s+([A-Za-z_$][\w$]*))?$/);if(!H)continue;let _=H[1],L=H[2]||_;if(Y.add(_),Y.add(L),K==="stx"||K==="@stacksjs/stx")X.add(_);else Z.add(_);if(L!==_)z.push(`${L} = ${_}`)}let U=z.length>0?`var ${z.join(", ")}; /* [auto-import processed] */`:"// [auto-import processed]";J=J.replace(Q[0],U)}let w=rW(J);for(let W of S2){if(Y.has(W)||w.has(W))continue;if(new RegExp(`\\b${W}\\s*(?:<[^>]*>)?\\s*\\(`,"g").test(J))X.add(W)}for(let W of C2){if(Y.has(W)||w.has(W))continue;if(new RegExp(`\\b${W}\\b`,"g").test(J))Z.add(W)}let q=P2(J);for(let W of q)if(!Y.has(W)&&!w.has(W))Z.add(W);return{code:J,stxImports:Array.from(X),browserImports:Array.from(Z)}}function BX($,X){let Z=[];if($.length>0)Z.push(` var { ${$.join(", ")} } = window.stx || window;`);if(X.length>0)Z.push(` var { ${X.join(", ")} } = window.StacksBrowser || {};`);if(Z.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
|
|
2437
2437
|
${Z.join(`
|
|
2438
2438
|
`)}
|
|
2439
|
-
${
|
|
2439
|
+
${sW($,X)}`;return""}function oW($,X=[]){let{browserImports:Z}=v2($),J=new Set(X);return BX([],Z.filter((Y)=>!J.has(Y)))}function sW($,X){let Z=[...$.map((J)=>`['${J}', typeof ${J}, 'stx']`),...X.map((J)=>`['${J}', typeof ${J}, '@stacksjs/browser']`)];if(Z.length===0)return"";return` // STX: report auto-imports the client runtime did not provide
|
|
2440
2440
|
[${Z.join(", ")}].forEach(function (e) {
|
|
2441
2441
|
if (e[1] !== 'undefined') return;
|
|
2442
2442
|
console.error(
|
|
@@ -2445,10 +2445,10 @@ ${oW($,X)}`;return""}function rW($,X=[]){let{browserImports:Z}=v2($),J=new Set(X
|
|
|
2445
2445
|
+ 'or it should be imported from a relative path so the bundler includes it.'
|
|
2446
2446
|
);
|
|
2447
2447
|
});
|
|
2448
|
-
`}function
|
|
2448
|
+
`}function P7($){let X=$.__stxClientPayload;if(X&&typeof X==="object"){let J={};for(let Y in X){let G=X[Y];if(typeof G==="function")continue;J[Y]=G}return J.__stxDeclaredPayload=!0,J}let Z={};for(let J in $){if(J.startsWith("__")||J.startsWith("$"))continue;let Y=$[J];if(typeof Y==="function")continue;Z[J]=Y}return Z}function D2($,X){let Z=new Set;for(let J of $.split(",")){let Y=J.trim().replace(/^\.\.\./,"").trim();if(!Y)continue;if(X){let G=Y.lastIndexOf(":");if(G!==-1)Y=Y.slice(G+1).trim()}if(Y=Y.split("=")[0].trim(),/^[A-Za-z_$][\w$]*$/.test(Y))Z.add(Y)}return Z}function aW($,X){if(new RegExp(`(?:const|let|var|function|class)\\s+${X}\\b`).test($))return!0;for(let Z of $.matchAll(/(?:const|let|var)\s*\{([^}]*)\}/g))if(D2(Z[1],!0).has(X))return!0;for(let Z of $.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(D2(Z[1],!1).has(X))return!0;return!1}function tW($,X){return new RegExp(`(?<![.#\\w$])${X}(?![\\w$])`).test($)}function $K($,X){let Z=eW.test($),J=X.length>32768;if(!Z&&!J)return;if(y2.has($))return;if(y2.add($),Z)console.warn(`[stx] server\u2192client bridge is publishing "${$}" into the page body. If it holds a credential, rename it with a "__" prefix (never bridged) and pass only what the template needs. See stacksjs/stx#1831.`);if(J)console.warn(`[stx] server\u2192client bridge is publishing ${(X.length/1024).toFixed(1)}KB under "${$}". Every byte ships in the HTML on each request; prefix the binding with "__" and project just the fields the client reads.`)}function P8($,X){if(!X)return"";let Z=t0($),J=X.__stxDeclaredPayload===!0,Y=[];for(let[G,Q]of Object.entries(X)){if(!/^[A-Za-z_$][\w$]*$/.test(G))continue;if(G.startsWith("__")||G.startsWith("$"))continue;if(!J&&!tW(Z,G))continue;if(aW($,G))continue;let w;try{w=JSON.stringify(Q)}catch{continue}if(w===void 0)continue;$K(G,w),Y.push(` var ${G} = ${w.replace(/</g,"\\u003c")};`)}if(Y.length===0)return"";return` // stx: server -> client data bridge (seeded from server scope)
|
|
2449
2449
|
${Y.join(`
|
|
2450
2450
|
`)}
|
|
2451
|
-
`}function
|
|
2451
|
+
`}function ZK($){let X=[];if($.self)X.push("if ($event.target !== $el) return");for(let Z of $.systemKeys)X.push(`if (!$event.${Z}Key) return`);if($.keys.length>0){let Z=$.keys.map((J)=>`$event.key === '${J}'`).join(" || ");X.push(`if (!(${Z})) return`)}if($.mouse!==null){let Z=XK[$.mouse];X.push(`if ($event.button !== ${Z}) return`)}if($.prevent)X.push("$event.preventDefault()");if($.stop)X.push("$event.stopPropagation()");return X.join("; ")}function JK($,X){let{elementId:Z,event:J,modifiers:Y}=$,G=JX($.handler),Q=ZK(Y),w=[];if(Y.once)w.push("once: true");if(Y.capture)w.push("capture: true");if(Y.passive)w.push("passive: true");let q=w.length>0?`, { ${w.join(", ")} }`:"",W="";if(Q)W+=`${Q}; `;let K=G.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),z=`var $emit = function(name, detail) {
|
|
2452
2452
|
$el.dispatchEvent(new CustomEvent(name, { detail: detail, bubbles: true, cancelable: true }))
|
|
2453
2453
|
};`;function U(B){if(/\$emit\s*\(/.test(B))return`${z}
|
|
2454
2454
|
${B}`;return`var scope = $el.closest('[data-stx-scope]');
|
|
@@ -2491,25 +2491,25 @@ else {
|
|
|
2491
2491
|
else {
|
|
2492
2492
|
${G}
|
|
2493
2493
|
}
|
|
2494
|
-
}${q})`}function
|
|
2494
|
+
}${q})`}function YK($){if($.length===0)return"";return`
|
|
2495
2495
|
// STX: auto-generated event bindings
|
|
2496
|
-
${$.map((Z,J)=>
|
|
2496
|
+
${$.map((Z,J)=>JK(Z,J)).join(`
|
|
2497
2497
|
`)}`}function b2($){let X=[],Z=new Set,J=$.replace(/^\s*import\s+.*$/gm,""),Y=0,G=J.length,Q=0;while(Q<G){let w=J[Q];if(w==="'"||w==='"'||w==="`"){let q=w;if(Q++,q==="`"){let W=0;while(Q<G){if(J[Q]==="\\"){Q+=2;continue}if(J[Q]==="`"&&W===0){Q++;break}if(J[Q]==="$"&&J[Q+1]==="{"){W++,Q+=2;continue}if(J[Q]==="}"&&W>0){W--,Q++;continue}Q++}}else while(Q<G){if(J[Q]==="\\"){Q+=2;continue}if(J[Q]===q){Q++;break}Q++}continue}if(w==="/"&&J[Q+1]==="/"){while(Q<G&&J[Q]!==`
|
|
2498
|
-
`)Q++;continue}if(w==="/"&&J[Q+1]==="*"){Q+=2;while(Q<G-1&&!(J[Q]==="*"&&J[Q+1]==="/"))Q++;Q+=2;continue}if(w==="{"){Y++,Q++;continue}if(w==="}"){Y--,Q++;continue}if(Y===0){let q=J.slice(Q),W=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(W){let U=W[1];if(!U.startsWith("_")&&!Z.has(U))X.push(U),Z.add(U);Q+=W[0].length;continue}let K=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(K){K[1].split(",").forEach((U)=>{let B=U.trim(),j=B.indexOf(":"),
|
|
2499
|
-
${
|
|
2498
|
+
`)Q++;continue}if(w==="/"&&J[Q+1]==="*"){Q+=2;while(Q<G-1&&!(J[Q]==="*"&&J[Q+1]==="/"))Q++;Q+=2;continue}if(w==="{"){Y++,Q++;continue}if(w==="}"){Y--,Q++;continue}if(Y===0){let q=J.slice(Q),W=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(W){let U=W[1];if(!U.startsWith("_")&&!Z.has(U))X.push(U),Z.add(U);Q+=W[0].length;continue}let K=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(K){K[1].split(",").forEach((U)=>{let B=U.trim(),j=B.indexOf(":"),H=j>=0?B.slice(j+1).trim().split(/[\s=]/)[0]:B.split(/[\s=]/)[0];if(H&&!H.startsWith("_")&&!Z.has(H))X.push(H),Z.add(H)}),Q+=K[0].length;continue}let z=q.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(z){let U=z[1];if(!U.startsWith("_")&&!Z.has(U))X.push(U),Z.add(U);Q+=z[0].length;continue}}Q++}return X}function QK($){let X=new Set,Z=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function J(U){let B;while((B=Z.exec(U))!==null){let j=B[0];if(!GK.has(j))X.add(j)}}let Y=/\{\{([\s\S]*?)\}\}/g,G;while((G=Y.exec($))!==null)J(G[1]);let Q=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((G=Q.exec($))!==null)J(G[1]);let w=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((G=w.exec($))!==null)J(G[1]);let q=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((G=q.exec($))!==null)J(G[1]);let W=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((G=W.exec($))!==null)J(G[1]);let K=/@model\s*=\s*["']([^"']*)["']/gi;while((G=K.exec($))!==null)J(G[1]);let z=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((G=z.exec($))!==null)J(G[1]);return X}async function v7($,X={}){let Z=$,J="",Y=!1,G=[],Q=S8(Z,{filePath:X.filePath,projectRoot:X.projectRoot});Z=Q.code;let w=C8(Q.styles),q=D5(Z);Z=q.code,G=[...q.imports,...q.models];let{hasUserImports:W,bundleClientScript:K}=await $0("stx/client-script-bundler",()=>Promise.resolve().then(() => (E5(),b7)));if(W(Z))Z=await K(Z,X.filePath||"",{projectRoot:X.projectRoot,minify:X.production}),Y=!0;if(X.autoImports!==!1){let O=v2(Z);Z=O.code,J=BX(O.stxImports,O.browserImports.filter((F)=>!G.includes(F)))}if(J=`${P8(Z,X.serverData)}${J}`,Z=r0(Z),!Y&&$5(X.attrs||""))Z=X5(Z);let z=YK(X.eventBindings||[]),U=(X.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(U)){let O=U.replace(/\btype\s*=\s*["']module["']/i,"").trim(),F=`type="module" data-stx-scoped${O?` ${O}`:""}`;return`${w}<script ${F}>
|
|
2499
|
+
${I5(`${J}${Z}
|
|
2500
2500
|
${z}`)}
|
|
2501
|
-
</script>`}let j
|
|
2501
|
+
</script>`}let j=XX($),H=/function __stx_setup_/.test(Z),_=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test($);function L(O){let F=O.length>0?`
|
|
2502
2502
|
return { ${O.join(", ")} };`:"";return`${w}<script data-stx-scoped data-stx-run="always">
|
|
2503
2503
|
window.stx.mount(function() {
|
|
2504
2504
|
'use strict';
|
|
2505
|
-
${
|
|
2505
|
+
${I5(`${J}${Z}
|
|
2506
2506
|
${z}${F}`)}
|
|
2507
|
-
})</script>`}if(!H
|
|
2507
|
+
})</script>`}if(!_&&!H){if(j)return L(b2($));if(X.templateContent){let O=b2($);if(O.length>0){let F=QK(X.templateContent);if(O.some((A)=>F.has(A)))return L(O)}}}return`${w}<script data-stx-scoped data-stx-run="always">
|
|
2508
2508
|
;(function() {
|
|
2509
2509
|
'use strict';
|
|
2510
|
-
${
|
|
2510
|
+
${I5(`${J}${Z}
|
|
2511
2511
|
${z}`)}
|
|
2512
|
-
})()</script>`}var
|
|
2512
|
+
})()</script>`}var dW,S2,C2,nW,eW,y2,XK,GK;var x7=D(()=>{GX();A0();y7();Z1();QX();dW=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;S2=A1,C2=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useActiveElement","useDocumentVisibility","useIntervalFn","useTimeoutFn"];nW=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"]);eW=/token|secret|passw|apikey|api_key|privatekey|private_key|credential|webhook|bearer|jwt|signature/i,y2=new Set;XK={left:0,middle:1,right:2};GK=new Set(["if","else","true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","switch","case","break","continue","for","while","do","try","catch","finally","const","let","var","function","class","import","export","default","async","await","yield","with","debugger","console","window","document","Math","JSON","Date","Array","Object","String","Number","Boolean","Symbol","Map","Set","Promise","Error","parseInt","parseFloat","isNaN","isFinite","encodeURIComponent","decodeURIComponent","setTimeout","setInterval","clearTimeout","clearInterval","fetch","alert","confirm","prompt","event"])});import{createHash as wK}from"crypto";function f2($){let X=$[v8];return X instanceof Map?X:null}function g2($){$[v8]=new Map}function h2($,X){let Z=f2($);if(!Z)return null;let J=wK("sha256").update(X).digest("hex").slice(0,16),Y=Z.get(J);if(Y)Y.instances++;else Z.set(J,{body:X,instances:1});return J}function u2($,X){let Z=f2(X);if(!Z?.size)return $;let J=$;for(let[q,W]of Z){if(W.instances!==1)continue;let K=new RegExp(`window\\.__stxComponentFactories\\[${JSON.stringify(q)}\\]\\(("[^"]+")\\);`,"g");J=J.replace(K,(z,U)=>`(${W.body})(${U});`)}let Y=[...Z].filter(([,q])=>q.instances>1);if(Y.length===0)return J;let Q=`<script data-stx-scoped data-stx-run="always" data-stx-component-factories>
|
|
2513
2513
|
(function() {
|
|
2514
2514
|
const factories = window.__stxComponentFactories = window.__stxComponentFactories || {};
|
|
2515
2515
|
${Y.map(([q,W])=>` try { factories[${JSON.stringify(q)}] = factories[${JSON.stringify(q)}] || ${W.body}; }
|
|
@@ -2518,7 +2518,7 @@ ${Y.map(([q,W])=>` try { factories[${JSON.stringify(q)}] = factories[${JSON.str
|
|
|
2518
2518
|
})();
|
|
2519
2519
|
</script>`,w=J.search(/<script\b(?=[^>]*\bdata-stx-scoped\b)/i);if(w<0)return`${Q}
|
|
2520
2520
|
${J}`;return`${J.slice(0,w)}${Q}
|
|
2521
|
-
${J.slice(w)}`}var
|
|
2521
|
+
${J.slice(w)}`}var v8="__stx_component_client_factories";var HX=()=>{};function zK($){let X="",Z=null,J=!1;for(let Y=0;Y<$.length;Y++){let G=$[Y];if(J){J=!1;continue}if(G==="\\"&&Z){J=!0;continue}if(Z){if(Z==="`"&&G==="$"&&Y+1<$.length&&$[Y+1]==="{"){let Q=1;Y+=2;while(Y<$.length&&Q>0){if($[Y]==="{")Q++;else if($[Y]==="}")Q--;if(Q>0)X+=$[Y],Y++}continue}if(G===Z)Z=null;continue}if(G==='"'||G==="'"||G==="`"){Z=G;continue}X+=G}return X}function UK($,X){let Z=/[$A-Z_a-z][$\w]*/g,J;while((J=Z.exec($))!==null){let Y=J[0],G=$[J.index-1];if(WK.has(Y))throw Error(`Potentially unsafe expression (matched /\\b${Y}\\b/; identifier ${Y}): ${X}`);if(G==="."&&l2.has(Y))throw Error(`Potentially unsafe expression (matched /.${Y}/; property ${Y}): ${X}`)}}function jK($){let X=/\[\s*(['"])(.*?)\1\s*\]/g,Z;while((Z=X.exec($))!==null){let J=Z[2];if(!l2.has(J))continue;let Y=$.slice(0,Z.index).match(/\S(?=\s*$)/)?.[0],G=$.slice(Z.index+Z[0].length).match(/^\s*(\S)/)?.[1];if(!((Y==="{"||Y===",")&&G===":"))throw Error(`Potentially unsafe expression (bracket key ${Z[2]}): ${$}`)}}function x8($){let X=$.trim(),Z=zK(X);UK(Z,X),jK(X);for(let J of c2)if(J.test(Z))throw Error(`Potentially unsafe expression (matched /${J.source}/): ${X}`);if(!m2.allowBracketNotation&&KK.test(X))throw Error(`Bracket notation with strings not allowed: ${X}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return X}function BK($){let X={};X.Math=Math,X.JSON=JSON,X.Date=Date,X.String=String,X.Number=Number,X.Boolean=Boolean,X.Array=Array,X.parseInt=Number.parseInt,X.parseFloat=Number.parseFloat,X.isNaN=Number.isNaN,X.isFinite=Number.isFinite,X.encodeURIComponent=encodeURIComponent,X.decodeURIComponent=decodeURIComponent;for(let[Z,J]of Object.entries($)){if(Z.startsWith("__")||c2.some((Y)=>Y.test(Z)))continue;if(J&&typeof J==="object"&&!Array.isArray(J))X[Z]=_X(J);else X[Z]=J}return X}function _X($,X=0){if(X>=m2.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((J)=>_X(J,X+1));if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Error)return $;let Z={};for(let[J,Y]of Object.entries($)){if(J.startsWith("__")||J==="constructor"||J==="prototype")continue;if(Y&&typeof Y==="object")Z[J]=_X(Y,X+1);else Z[J]=Y}return Z}function w0($,X){try{let Z=BK(X),J=Object.keys(Z),Y=Object.values(Z);return K0($,J)(...Y)}catch{return}}function W0($){try{return x8($),!0}catch{return!1}}function D0($,X){try{let Z=w0($,X);if(Z&&typeof Z==="object"&&!Array.isArray(Z))return Z;return{}}catch{return{}}}function K0($,X){let Z=x8($),J=/^[A-Za-z_$][\w$]*$/,Y=[],G=[];for(let W=0;W<X.length;W++){let K=X[W];if(!J.test(K))continue;if(p2.has(K))continue;Y.push(W),G.push(K)}let Q=(W)=>Function(...G,...W,`
|
|
2522
2522
|
'use strict';
|
|
2523
2523
|
try {
|
|
2524
2524
|
return ${Z};
|
|
@@ -2529,7 +2529,7 @@ catch (e) {
|
|
|
2529
2529
|
}
|
|
2530
2530
|
throw e;
|
|
2531
2531
|
}
|
|
2532
|
-
`),w=Q([]);if(G.length===X.length)return d2(w,G,Q);return d2((...W)=>{let K=Array(Y.length);for(let z=0;z<Y.length;z++)K[z]=W[Y[z]];return w(...K)},G,Q,(W)=>{w=Q(W)})}function d2($,X,Z,J){let G=/^(\w+) is not defined$/,Q=$,w=[],q=new Set(X);return(...W)=>{for(let K=0;K<=8;K++)try{return Q(...W)}catch(z){let U=z instanceof Error?z.message:"",B=G.exec(U);if(!(z instanceof ReferenceError)||!B)return;let j=B[1];if(q.has(j)||p2.has(j))return;q.add(j),w.push(j),Q=Z(w),J?.(w)}return}}function x8($){let X=$.trim(),Z=[/\beval\s*\(/i,/\bFunction\s*\(/i,/\bimport\s*\(/i,/\brequire\s*\(/i,/\bprocess\b/i,/\b__proto__\b/i,/\bconstructor\s*[.(]/i,/\bglobalThis\b/i,/\bwindow\b/i,/\bdocument\b/i,/\bfetch\s*\(/i,/\bBun\b/i,/\bDeno\b/i,/\bconsole\b/i,/\bthis\b/i,/\bReflect\b/i,/\bProxy\b/i,/\bprototype\b/i,/\.(bind|call|apply)\s*\(/i];for(let J of Z)if(J.test(X))return!1;return!0}var wK,m2,c2,qK,l2,WK,p2;var y0=D(()=>{wK={maxSanitizeDepth:10,allowBracketNotation:!1},m2={...wK},c2=[/\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/],qK=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"]),l2=new Set(["__proto__","constructor","prototype"]),WK=/[\w)\]]\s*\[\s*['"]/;p2=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 f8($,X){let Z=BK++,J=`<!--__STX_${$.toUpperCase()}_${Z}__-->`;return _K.set(J,{type:$,expression:X}),J}var BK=0,_K;var i2=D(()=>{_K=new Map});function a2($,X,Z,J){Z.lastIndex=X;let Y=Z.exec($);if(!Y||Y.index!==X)return-1;J.lastIndex=Z.lastIndex;let G=J.exec($);if(!G)return-1;return G.index+G[0].length}function P1($,X){return a2($,X,n2,r2)}function D5($,X){return a2($,X,o2,s2)}function v7($,X){if(!$.startsWith("<!--",X))return-1;let Z=$.indexOf("-->",X+4);if(Z===-1)return-1;return Z+3}function HK($,X){if($.startsWith("<!--",X)){let Z=v7($,X);return Z===-1?$.length:Z}for(let[Z,J]of[[n2,r2],[o2,s2]]){Z.lastIndex=X;let Y=Z.exec($);if(!Y||Y.index!==X)continue;J.lastIndex=Z.lastIndex;let G=J.exec($);return G?G.index+G[0].length:$.length}return-1}function g8($,X){let Z=[],J=0,Y=$.length,G=!1,Q=null;while(J<Y){let w=$[J];if(G){if(Q){if(w===Q)Q=null}else if(w==='"'||w==="'")Q=w;else if(w===">")G=!1;J++;continue}if(w!=="<"){J++;continue}let q=X($,J);if(q>J){Z.push({start:J,end:q,token:$.slice(J,q)}),J=q;continue}let W=HK($,J);if(W>J){J=W;continue}if(/^<\/?[a-zA-Z]/.test($.slice(J,J+2)))G=!0;J++}return Z}function z1($,X,Z){let J=g8($,X);if(J.length===0)return{output:$,tokens:[]};let Y=J.map((w)=>w.token),G="",Q=0;for(let w=0;w<J.length;w++){let q=J[w];G+=$.slice(Q,q.start),G+=Z(q.token,w),Q=q.end}return G+=$.slice(Q),{output:G,tokens:Y}}function U1($){let{output:X,tokens:Z}=z1($,P1,(J,Y)=>`\x00STX_SCRIPT_${Y}\x00`);return{output:X,scripts:Z}}function y5($,X){if(X.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,J)=>X[+J]??"")}var n2,r2,o2,s2;var v1=D(()=>{n2=/<script\b[^>]*>/iy,r2=/<\/script\s*>/ig,o2=/<style\b[^>]*>/iy,s2=/<\/style\s*>/ig});var YZ={};t(YZ,{usesSignalsInScript:()=>N1,unescapeHtml:()=>MK,registerFilters:()=>LK,registerFilter:()=>$Z,processExpressions:()=>x1,interpolateScriptsInTemplate:()=>AK,interpolateScriptExpressions:()=>h8,interpolateScriptAttributes:()=>ZZ,getAllFilters:()=>XZ,evaluateExpression:()=>i0,escapeHtml:()=>J1,defaultFilters:()=>f7,clearCustomFilters:()=>FK,applyFilters:()=>JZ});function OK($){let X=t2.get($);if(!X){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");X=new RegExp(`:${Z}(?!\\w)`,"g"),t2.set($,X)}return X.lastIndex=0,X}function $Z($,X){if($ in f7)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);x7[$]=X}function LK($){for(let[X,Z]of Object.entries($))$Z(X,Z)}function XZ(){return{...f7,...x7}}function FK(){for(let $ of Object.keys(x7))delete x7[$]}function J1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function N1($){let{scripts:X}=U1($);for(let Z of X){let J=Z.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!J||/\bserver\b|\bsrc\s*=/.test(J[1]))continue;let Y=J[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(Y))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function e2($,X){let Z=["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"],J=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Y="",G=!1,Q=0;for(let W=0;W<J.length;W++){let K=J[W];if(!G&&K==="`"){G=!0,Q=0;continue}if(G){if(K==="`"&&Q===0){G=!1;continue}if(K==="$"&&J[W+1]==="{"){Q++,W++,Y+=" ";continue}if(K==="}"&&Q>0){Q--;continue}if(Q>0){Y+=K;continue}continue}Y+=K}J=Y;let w=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,q;while((q=w.exec(J))!==null){let W=q[1];if(!J.substring(0,q.index).trimEnd().endsWith(".")){if(!Z.includes(W)&&!(W in X))return!1}}return!0}function VK($,X){let Z=X.__stx_serverDeclared;if(!Z||Z.size===0)return!1;let J=t0($);for(let Y of Z)if(new RegExp(`(?<![.#\\w$])${Y}(?![\\w$])`).test(J))return!0;return!1}function h8($,X){let Z=$;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(J,Y)=>{try{let G=i0(Y,X);if(G===void 0)return J;return G===null?"":String(G)}catch{return J}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(J,Y)=>{let G=Y.trim();if(/^__[A-Z_]+__$/.test(G))return J;try{let Q=i0(Y,X);if(Q===void 0)return J;return JSON.stringify(Q).replace(/</g,"\\u003c")}catch{return J}}),Z}function ZZ($,X){if(!$.includes("{"))return $;let Z=$;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(J,Y)=>{try{let G=i0(Y,X);if(G===void 0)return J;return G===null?"":String(G)}catch{return J}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(J,Y)=>{let G=Y.trim();if(/^__[A-Z_]+__$/.test(G))return J;try{let Q=i0(Y,X);if(Q===void 0)return J;if(Q===null)return"";return String(Q).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}catch{return J}}),Z}function AK($,X,Z={}){let{output:J,scripts:Y}=U1($),G=Y.map((Q)=>{let w=Q.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),q=Q.match(/^<script\b[^>]*>/i),W=Q.search(/<\/script\s*>$/i);if(!w||!q||W===-1)return Q;let K=w[1],z=w[2];if(/\bdata-raw\b/.test(K))return Q;if(Z.skipServer&&/\bserver\b/.test(K))return Q;let B=`<script${ZZ(K,X)}>`;if(/\bsrc\s*=/.test(K)||/\btype\s*=\s*["']application\/json["']/.test(K))return B+z+Q.slice(W);return B+h8(z,X)+Q.slice(W)});return y5(J,G)}function x1($,X,Z){let J=$,Y=(z,U)=>{let B=D5(z,U);if(B===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(z.slice(U,B))?-1:B},G=(z,U,B,j)=>{let _=B.length,{output:H,tokens:L}=z1(z,U,(O,F)=>j(_+F));return B.push(...L),H},Q=[];J=G(J,Y,Q,(z)=>`<!--__STX_STYLE_${z}__-->`);let w=[];J=G(J,P1,w,(z)=>`<!--__STX_SCRIPT_EXPR_${z}__-->`);let q=X?.__stx_signals_gate===!0||N1($),W=new Set(Array.isArray(X?.__stx_client_signal_names)?X.__stx_client_signal_names:[]),K=new Set(Array.isArray(X?.__stx_preserved_client_expressions)?X.__stx_preserved_client_expressions:[]);J=J.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(z,U,B)=>{try{let j=i0(U,X);return j!==void 0&&j!==null?String(j):""}catch(j){let _=j instanceof Error?j.message:String(j);return O0("Expression",`Error evaluating: {{{ ${U.trim()}}}}: ${_}`,Z,$,B,z)}}),J=J.replace(/\{!!([\s\S]*?)!!\}/g,(z,U,B)=>{try{let j=i0(U,X);if(j===void 0&&X.__stx_buildMode==="compile")return f8("raw",U.trim());return j!==void 0&&j!==null?String(j):""}catch(j){if(X.__stx_buildMode==="compile")return f8("raw",U.trim());let _=j instanceof Error?j.message:String(j);return O0("Expression",`Error evaluating: {!! ${U.trim()} !!}: ${_}`,Z,$,B,z)}}),J=G(J,P1,w,(z)=>`<!--__STX_SCRIPT_EXPR_${z}__-->`),J=G(J,Y,Q,(z)=>`<!--__STX_STYLE_${z}__-->`),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(z,U,B)=>{let j=U.trim();if(K.has(j))return z;let _=["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_$]*)/,O=j.match(H)?.[1],F=O&&((O in X)||_.includes(O)),V=Boolean(O&&W.has(O)),A=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,R=j.match(A),N=R&&!_.includes(R[1])&&!(R[1]in X);if(/^__[A-Z_]+__$/.test(j))return"";try{let T=i0(U,X);if(V)return z;if(q&&!e2(j,X))return z;if(X.__stx_buildMode==="compile"&&!q&&(T===void 0||VK(j,X)))return f8("expr",j);return T!==void 0&&T!==null?J1(String(T)):""}catch(T){if(V)return z;if(q&&!e2(j,X))return z;if(N)return z;let k=T instanceof Error?T.message:String(T);return O0("Expression",`Error evaluating: {{ ${j} }}: ${k}`,Z,$,B,z)}});for(let z=0;z<w.length;z++)J=J.replace(`<!--__STX_SCRIPT_EXPR_${z}__-->`,()=>w[z]);for(let z=0;z<Q.length;z++)J=J.replace(`<!--__STX_STYLE_${z}__-->`,()=>Q[z]);return J}function JZ($,X,Z){if(!X.trim())return $;let J=$,Y=X.trim();while(Y.length>0){let G=Y.match(/^(\w+)/);if(!G)break;let Q=G[1];Y=Y.substring(Q.length).trim();let w=x7[Q]||f7[Q];if(!w)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(XZ()).join(", ")}`);let q=[];if(Y.startsWith(":")){let W=Y.match(/^:([^|\s]+)/);if(W){let K=W[1].trim();try{let z=Number(K);q=[Number.isNaN(z)?K:z]}catch{q=[K]}Y=Y.substring(W[0].length).trim()}}else if(Y.startsWith("(")){let W=1,K=1;while(W>0&&K<Y.length){if(Y[K]==="(")W++;if(Y[K]===")")W--;K++}if(W===0){let z=Y.substring(1,K-1).trim();if(z)try{if(z.startsWith("{")&&z.endsWith("}"))q=[i0(`(${z})`,Z,!0)];else{let U=[],B="",j=null,_=0,H=0,L=0,O=!1;for(let F=0;F<z.length;F++){let V=z[F];if(O){B+=V,O=!1;continue}if(V==="\\"){B+=V,O=!0;continue}if(j){if(B+=V,V===j)j=null;continue}if(V==='"'||V==="'"||V==="`"){j=V,B+=V;continue}if(V==="(")_++;else if(V===")")_--;else if(V==="[")H++;else if(V==="]")H--;else if(V==="{")L++;else if(V==="}")L--;if(V===","&&_===0&&H===0&&L===0){U.push(B),B="";continue}B+=V}if(B)U.push(B);q=U.map((F)=>{let V=F.trim();return i0(V,Z,!0)})}}catch{q=[z]}Y=Y.substring(K).trim()}}try{J=w(J,Z,...q)}catch(W){let K=W instanceof Error?W.message:String(W);throw Error(`Error applying filter '${Q}': ${K}`)}if(Y.startsWith("|"))Y=Y.substring(1).trim();else break}return J}function RK($){let X=!1,Z="",J=0,Y=0,G=0,Q=!1;for(let w=0;w<$.length;w++){let q=$[w],W=$[w+1];if(X&&Q){Q=!1;continue}if(X&&q==="\\"){Q=!0;continue}if(Q=!1,(q==='"'||q==="'"||q==="`")&&!Q){if(!X)X=!0,Z=q;else if(q===Z)X=!1,Z="";continue}if(X&&Z==="`"&&q==="$"&&W==="{"){let K=1;w+=2;while(w<$.length&&K>0){if($[w]==="{")K++;else if($[w]==="}")K--;if(K>0)w++}continue}if(X)continue;if(q==="(")J++;else if(q===")")J--;else if(q==="[")Y++;else if(q==="]")Y--;else if(q==="{")G++;else if(q==="}")G--;if(q==="|"&&J===0&&Y===0&&G===0){if(W==="|"){w++;continue}if(W==="="){w++;continue}return w}}return-1}function i0($,X,Z=!1){try{let J=$.trim(),Y=RK(J);if(Y>0){let G=J.substring(0,Y).trim(),Q=J.substring(Y+1).trim(),w=i0(G,X,!0);return JZ(w,Q,X)}if(!W0(J)){if(!Z)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${J}`);return w0(J,X)}try{let G=Object.keys(X),Q=Object.values(X);return K0(J,G)(...Q)}catch{return w0(J,X)}}catch(J){if(J instanceof ReferenceError){let Y=/(\b\w+)\s+is not defined/.exec(J.message);if(Y){let G=Y[1],Q=NK(G,Object.keys(X));if(Q&&Q!==G)J.message=`${J.message} \u2014 did you mean '${Q}'?`}}if(!Z)console.error(`Error evaluating expression: ${$}`,J);throw J}}function NK($,X){let Z=null;for(let Y of X){if(Y===$)continue;let G=TK($,Y);if(Z===null||G<Z.dist)Z={key:Y,dist:G}}if(!Z)return null;let J=Math.max($.length,Z.key.length);if(Z.dist<=2||Z.dist/J<=0.35)return Z.key;return null}function TK($,X){if($===X)return 0;if($.length===0)return X.length;if(X.length===0)return $.length;let[Z,J]=$.length<X.length?[$,X]:[X,$],Y=Array(Z.length+1),G=Array(Z.length+1);for(let Q=0;Q<=Z.length;Q++)Y[Q]=Q;for(let Q=1;Q<=J.length;Q++){G[0]=Q;for(let w=1;w<=Z.length;w++){let q=Z[w-1]===J[Q-1]?0:1;G[w]=Math.min(G[w-1]+1,Y[w]+1,Y[w-1]+q)}for(let w=0;w<=Z.length;w++)Y[w]=G[w]}return Y[Z.length]}function MK($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var x7,t2,f7;var j1=D(()=>{y0();A0();i2();v1();x7={},t2=new Map;f7={uppercase:($,X)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,X)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,X)=>{if($===void 0||$===null)return"";let Z=String($);return Z.charAt(0).toUpperCase()+Z.slice(1)},number:($,X,Z=0)=>{if($===void 0||$===null)return"";try{let J=Number($);return Number.isNaN(J)?"":J.toFixed(Number.parseInt(String(Z),10))}catch{return""}},fmt:($,X,Z="en-US")=>{if($===void 0||$===null)return"";try{let J=Number($);if(Number.isNaN(J))return String($);return J.toLocaleString(Z)}catch{return String($)}},join:($,X,Z=",")=>{if(!Array.isArray($))return"";return $.join(String(Z))},escape:($,X)=>{if($===void 0||$===null)return"";return J1(String($))},translate:($,X,Z={})=>{if(!X||!X.__translations)return $;let J=X.__translations,Y=X.__i18nConfig?.fallbackToKey??!0,G=String($).split("."),Q=J;for(let q of G){if(Q===void 0||Q===null)break;Q=Q[q]}if(Q===void 0||Q===null)return Y?$:"";let w=String(Q);return Object.entries(Z).forEach(([q,W])=>{w=w.replace(OK(q),String(W))}),w},t:($,X,Z={})=>{return f7.translate($,X,Z)},truncate:($,X,Z=50,J="...")=>{if($===void 0||$===null)return"";let Y=String($);if(Y.length<=Z)return Y;if(Z<=J.length)return J.substring(0,Z);return Y.substring(0,Z-J.length)+J},date:($,X,Z="short",J="en-US")=>{if($===void 0||$===null)return"";try{let Y=$ instanceof Date?$:new Date($);if(Number.isNaN(Y.getTime()))return String($);let G={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(Z==="iso")return Y.toISOString();return new Intl.DateTimeFormat(J,G[Z]||G.short).format(Y)}catch{return String($)}},currency:($,X,Z="USD",J="en-US")=>{if($===void 0||$===null)return"";try{let Y=Number($);if(Number.isNaN(Y))return String($);return new Intl.NumberFormat(J,{style:"currency",currency:Z}).format(Y)}catch{return String($)}},pluralize:($,X,Z,J)=>{let Y=Number($);if(Number.isNaN(Y))return Z;let G=J||`${Z}s`;return Y===1?Z:G},first:($,X)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,X)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let Z=String($);return Z.charAt(Z.length-1)},length:($,X)=>{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:($,X,Z=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return Z?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,X,Z="")=>{return $===void 0||$===null||$===""?Z:$},reverse:($,X)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,X,Z=0,J)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(Z,J);return $},replace:($,X,Z,J="")=>{if($===void 0||$===null)return"";let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Y,"g"),()=>J)},stripTags:($,X)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,X)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,X)=>{let Z=Number($);return Number.isNaN(Z)?0:Math.abs(Z)},round:($,X,Z=0)=>{let J=Number($);if(Number.isNaN(J))return 0;let Y=10**Z;return Math.round(J*Y)/Y}}});class X5{cache=new Map;maxSize;constructor($=100){this.maxSize=$}get($){if(!this.cache.has($))return;let X=this.cache.get($);return this.cache.delete($),this.cache.set($,X),X}set($,X){if(this.cache.has($))this.cache.delete($);else if(this.cache.size>=this.maxSize){let Z=this.cache.keys().next().value;if(Z!==void 0)this.cache.delete(Z)}this.cache.set($,X)}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 S5($,X){if(X?.includes("g"))return new RegExp($,X);let Z=`${$}:${X||""}`;if(!b5.has(Z)){if(b5.size>=kK){let J=b5.keys().next().value;if(J)b5.delete(J)}b5.set(Z,new RegExp($,X))}return b5.get(Z)}class GZ{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let X=Array.from(new Set($)),Z=X.sort().join(","),J=this.pool.find((w)=>w.context.join(",")===Z);if(J)return J.func;let Y=this.fnCache,G=this.fnCacheMaxSize,Q=(...w)=>{return(q)=>{try{let W=`${Z}:${q}`,K=Y.get(W);if(!K){if(Y.size>=G){let z=Y.keys().next().value;if(z)Y.delete(z)}K=Function(...X,`
|
|
2532
|
+
`),w=Q([]);if(G.length===X.length)return d2(w,G,Q);return d2((...W)=>{let K=Array(Y.length);for(let z=0;z<Y.length;z++)K[z]=W[Y[z]];return w(...K)},G,Q,(W)=>{w=Q(W)})}function d2($,X,Z,J){let G=/^(\w+) is not defined$/,Q=$,w=[],q=new Set(X);return(...W)=>{for(let K=0;K<=8;K++)try{return Q(...W)}catch(z){let U=z instanceof Error?z.message:"",B=G.exec(U);if(!(z instanceof ReferenceError)||!B)return;let j=B[1];if(q.has(j)||p2.has(j))return;q.add(j),w.push(j),Q=Z(w),J?.(w)}return}}function f8($){let X=$.trim(),Z=[/\beval\s*\(/i,/\bFunction\s*\(/i,/\bimport\s*\(/i,/\brequire\s*\(/i,/\bprocess\b/i,/\b__proto__\b/i,/\bconstructor\s*[.(]/i,/\bglobalThis\b/i,/\bwindow\b/i,/\bdocument\b/i,/\bfetch\s*\(/i,/\bBun\b/i,/\bDeno\b/i,/\bconsole\b/i,/\bthis\b/i,/\bReflect\b/i,/\bProxy\b/i,/\bprototype\b/i,/\.(bind|call|apply)\s*\(/i];for(let J of Z)if(J.test(X))return!1;return!0}var qK,m2,c2,WK,l2,KK,p2;var y0=D(()=>{qK={maxSanitizeDepth:10,allowBracketNotation:!1},m2={...qK},c2=[/\b(eval|Function|setTimeout|setInterval|setImmediate)\b/,/\b(process|require|import|exports|module)\b/,/\b(window|document|global|globalThis)\b/,/\b(constructor|prototype|__proto__)\b/,/\b(Reflect|Proxy)\b/,/\bSymbol\b/,/\b(WeakMap|WeakSet|WeakRef|FinalizationRegistry)\b/,/\b(Generator|AsyncGenerator)\b/,/__\w+__/,/\.(bind|call|apply)\s*\(/,/\bnew\s+/,/\bdelete\s+/,/\bthis\b/],WK=new Set(["eval","Function","setTimeout","setInterval","setImmediate","process","require","import","exports","module","window","document","global","globalThis","constructor","prototype","Reflect","Proxy","Symbol","WeakMap","WeakSet","WeakRef","FinalizationRegistry","Generator","AsyncGenerator","delete","this"]),l2=new Set(["__proto__","constructor","prototype"]),KK=/[\w)\]]\s*\[\s*['"]/;p2=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 g8($,X){let Z=HK++,J=`<!--__STX_${$.toUpperCase()}_${Z}__-->`;return _K.set(J,{type:$,expression:X}),J}var HK=0,_K;var i2=D(()=>{_K=new Map});function a2($,X,Z,J){Z.lastIndex=X;let Y=Z.exec($);if(!Y||Y.index!==X)return-1;J.lastIndex=Z.lastIndex;let G=J.exec($);if(!G)return-1;return G.index+G[0].length}function P1($,X){return a2($,X,n2,r2)}function y5($,X){return a2($,X,o2,s2)}function f7($,X){if(!$.startsWith("<!--",X))return-1;let Z=$.indexOf("-->",X+4);if(Z===-1)return-1;return Z+3}function OK($,X){if($.startsWith("<!--",X)){let Z=f7($,X);return Z===-1?$.length:Z}for(let[Z,J]of[[n2,r2],[o2,s2]]){Z.lastIndex=X;let Y=Z.exec($);if(!Y||Y.index!==X)continue;J.lastIndex=Z.lastIndex;let G=J.exec($);return G?G.index+G[0].length:$.length}return-1}function h8($,X){let Z=[],J=0,Y=$.length,G=!1,Q=null;while(J<Y){let w=$[J];if(G){if(Q){if(w===Q)Q=null}else if(w==='"'||w==="'")Q=w;else if(w===">")G=!1;J++;continue}if(w!=="<"){J++;continue}let q=X($,J);if(q>J){Z.push({start:J,end:q,token:$.slice(J,q)}),J=q;continue}let W=OK($,J);if(W>J){J=W;continue}if(/^<\/?[a-zA-Z]/.test($.slice(J,J+2)))G=!0;J++}return Z}function z1($,X,Z){let J=h8($,X);if(J.length===0)return{output:$,tokens:[]};let Y=J.map((w)=>w.token),G="",Q=0;for(let w=0;w<J.length;w++){let q=J[w];G+=$.slice(Q,q.start),G+=Z(q.token,w),Q=q.end}return G+=$.slice(Q),{output:G,tokens:Y}}function U1($){let{output:X,tokens:Z}=z1($,P1,(J,Y)=>`\x00STX_SCRIPT_${Y}\x00`);return{output:X,scripts:Z}}function b5($,X){if(X.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,J)=>X[+J]??"")}var n2,r2,o2,s2;var v1=D(()=>{n2=/<script\b[^>]*>/iy,r2=/<\/script\s*>/ig,o2=/<style\b[^>]*>/iy,s2=/<\/style\s*>/ig});var YZ={};t(YZ,{usesSignalsInScript:()=>N1,unescapeHtml:()=>kK,registerFilters:()=>FK,registerFilter:()=>$Z,processExpressions:()=>x1,interpolateScriptsInTemplate:()=>RK,interpolateScriptExpressions:()=>u8,interpolateScriptAttributes:()=>ZZ,getAllFilters:()=>XZ,evaluateExpression:()=>i0,escapeHtml:()=>J1,defaultFilters:()=>h7,clearCustomFilters:()=>VK,applyFilters:()=>JZ});function LK($){let X=t2.get($);if(!X){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");X=new RegExp(`:${Z}(?!\\w)`,"g"),t2.set($,X)}return X.lastIndex=0,X}function $Z($,X){if($ in h7)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);g7[$]=X}function FK($){for(let[X,Z]of Object.entries($))$Z(X,Z)}function XZ(){return{...h7,...g7}}function VK(){for(let $ of Object.keys(g7))delete g7[$]}function J1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function N1($){let{scripts:X}=U1($);for(let Z of X){let J=Z.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!J||/\bserver\b|\bsrc\s*=/.test(J[1]))continue;let Y=J[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(Y))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function e2($,X){let Z=["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"],J=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Y="",G=!1,Q=0;for(let W=0;W<J.length;W++){let K=J[W];if(!G&&K==="`"){G=!0,Q=0;continue}if(G){if(K==="`"&&Q===0){G=!1;continue}if(K==="$"&&J[W+1]==="{"){Q++,W++,Y+=" ";continue}if(K==="}"&&Q>0){Q--;continue}if(Q>0){Y+=K;continue}continue}Y+=K}J=Y;let w=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,q;while((q=w.exec(J))!==null){let W=q[1];if(!J.substring(0,q.index).trimEnd().endsWith(".")){if(!Z.includes(W)&&!(W in X))return!1}}return!0}function AK($,X){let Z=X.__stx_serverDeclared;if(!Z||Z.size===0)return!1;let J=t0($);for(let Y of Z)if(new RegExp(`(?<![.#\\w$])${Y}(?![\\w$])`).test(J))return!0;return!1}function u8($,X){let Z=$;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(J,Y)=>{try{let G=i0(Y,X);if(G===void 0)return J;return G===null?"":String(G)}catch{return J}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(J,Y)=>{let G=Y.trim();if(/^__[A-Z_]+__$/.test(G))return J;try{let Q=i0(Y,X);if(Q===void 0)return J;return JSON.stringify(Q).replace(/</g,"\\u003c")}catch{return J}}),Z}function ZZ($,X){if(!$.includes("{"))return $;let Z=$;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(J,Y)=>{try{let G=i0(Y,X);if(G===void 0)return J;return G===null?"":String(G)}catch{return J}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(J,Y)=>{let G=Y.trim();if(/^__[A-Z_]+__$/.test(G))return J;try{let Q=i0(Y,X);if(Q===void 0)return J;if(Q===null)return"";return String(Q).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}catch{return J}}),Z}function RK($,X,Z={}){let{output:J,scripts:Y}=U1($),G=Y.map((Q)=>{let w=Q.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),q=Q.match(/^<script\b[^>]*>/i),W=Q.search(/<\/script\s*>$/i);if(!w||!q||W===-1)return Q;let K=w[1],z=w[2];if(/\bdata-raw\b/.test(K))return Q;if(Z.skipServer&&/\bserver\b/.test(K))return Q;let B=`<script${ZZ(K,X)}>`;if(/\bsrc\s*=/.test(K)||/\btype\s*=\s*["']application\/json["']/.test(K))return B+z+Q.slice(W);return B+u8(z,X)+Q.slice(W)});return b5(J,G)}function x1($,X,Z){let J=$,Y=(z,U)=>{let B=y5(z,U);if(B===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(z.slice(U,B))?-1:B},G=(z,U,B,j)=>{let H=B.length,{output:_,tokens:L}=z1(z,U,(O,F)=>j(H+F));return B.push(...L),_},Q=[];J=G(J,Y,Q,(z)=>`<!--__STX_STYLE_${z}__-->`);let w=[];J=G(J,P1,w,(z)=>`<!--__STX_SCRIPT_EXPR_${z}__-->`);let q=X?.__stx_signals_gate===!0||N1($),W=new Set(Array.isArray(X?.__stx_client_signal_names)?X.__stx_client_signal_names:[]),K=new Set(Array.isArray(X?.__stx_preserved_client_expressions)?X.__stx_preserved_client_expressions:[]);J=J.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(z,U,B)=>{try{let j=i0(U,X);return j!==void 0&&j!==null?String(j):""}catch(j){let H=j instanceof Error?j.message:String(j);return O0("Expression",`Error evaluating: {{{ ${U.trim()}}}}: ${H}`,Z,$,B,z)}}),J=J.replace(/\{!!([\s\S]*?)!!\}/g,(z,U,B)=>{try{let j=i0(U,X);if(j===void 0&&X.__stx_buildMode==="compile")return g8("raw",U.trim());return j!==void 0&&j!==null?String(j):""}catch(j){if(X.__stx_buildMode==="compile")return g8("raw",U.trim());let H=j instanceof Error?j.message:String(j);return O0("Expression",`Error evaluating: {!! ${U.trim()} !!}: ${H}`,Z,$,B,z)}}),J=G(J,P1,w,(z)=>`<!--__STX_SCRIPT_EXPR_${z}__-->`),J=G(J,Y,Q,(z)=>`<!--__STX_STYLE_${z}__-->`),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(z,U,B)=>{let j=U.trim();if(K.has(j))return z;let H=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],_=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,O=j.match(_)?.[1],F=O&&((O in X)||H.includes(O)),V=Boolean(O&&W.has(O)),A=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,N=j.match(A),R=N&&!H.includes(N[1])&&!(N[1]in X);if(/^__[A-Z_]+__$/.test(j))return"";try{let T=i0(U,X);if(V)return z;if(q&&!e2(j,X))return z;if(X.__stx_buildMode==="compile"&&!q&&(T===void 0||AK(j,X)))return g8("expr",j);return T!==void 0&&T!==null?J1(String(T)):""}catch(T){if(V)return z;if(q&&!e2(j,X))return z;if(R)return z;let k=T instanceof Error?T.message:String(T);return O0("Expression",`Error evaluating: {{ ${j} }}: ${k}`,Z,$,B,z)}});for(let z=0;z<w.length;z++)J=J.replace(`<!--__STX_SCRIPT_EXPR_${z}__-->`,()=>w[z]);for(let z=0;z<Q.length;z++)J=J.replace(`<!--__STX_STYLE_${z}__-->`,()=>Q[z]);return J}function JZ($,X,Z){if(!X.trim())return $;let J=$,Y=X.trim();while(Y.length>0){let G=Y.match(/^(\w+)/);if(!G)break;let Q=G[1];Y=Y.substring(Q.length).trim();let w=g7[Q]||h7[Q];if(!w)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(XZ()).join(", ")}`);let q=[];if(Y.startsWith(":")){let W=Y.match(/^:([^|\s]+)/);if(W){let K=W[1].trim();try{let z=Number(K);q=[Number.isNaN(z)?K:z]}catch{q=[K]}Y=Y.substring(W[0].length).trim()}}else if(Y.startsWith("(")){let W=1,K=1;while(W>0&&K<Y.length){if(Y[K]==="(")W++;if(Y[K]===")")W--;K++}if(W===0){let z=Y.substring(1,K-1).trim();if(z)try{if(z.startsWith("{")&&z.endsWith("}"))q=[i0(`(${z})`,Z,!0)];else{let U=[],B="",j=null,H=0,_=0,L=0,O=!1;for(let F=0;F<z.length;F++){let V=z[F];if(O){B+=V,O=!1;continue}if(V==="\\"){B+=V,O=!0;continue}if(j){if(B+=V,V===j)j=null;continue}if(V==='"'||V==="'"||V==="`"){j=V,B+=V;continue}if(V==="(")H++;else if(V===")")H--;else if(V==="[")_++;else if(V==="]")_--;else if(V==="{")L++;else if(V==="}")L--;if(V===","&&H===0&&_===0&&L===0){U.push(B),B="";continue}B+=V}if(B)U.push(B);q=U.map((F)=>{let V=F.trim();return i0(V,Z,!0)})}}catch{q=[z]}Y=Y.substring(K).trim()}}try{J=w(J,Z,...q)}catch(W){let K=W instanceof Error?W.message:String(W);throw Error(`Error applying filter '${Q}': ${K}`)}if(Y.startsWith("|"))Y=Y.substring(1).trim();else break}return J}function NK($){let X=!1,Z="",J=0,Y=0,G=0,Q=!1;for(let w=0;w<$.length;w++){let q=$[w],W=$[w+1];if(X&&Q){Q=!1;continue}if(X&&q==="\\"){Q=!0;continue}if(Q=!1,(q==='"'||q==="'"||q==="`")&&!Q){if(!X)X=!0,Z=q;else if(q===Z)X=!1,Z="";continue}if(X&&Z==="`"&&q==="$"&&W==="{"){let K=1;w+=2;while(w<$.length&&K>0){if($[w]==="{")K++;else if($[w]==="}")K--;if(K>0)w++}continue}if(X)continue;if(q==="(")J++;else if(q===")")J--;else if(q==="[")Y++;else if(q==="]")Y--;else if(q==="{")G++;else if(q==="}")G--;if(q==="|"&&J===0&&Y===0&&G===0){if(W==="|"){w++;continue}if(W==="="){w++;continue}return w}}return-1}function i0($,X,Z=!1){try{let J=$.trim(),Y=NK(J);if(Y>0){let G=J.substring(0,Y).trim(),Q=J.substring(Y+1).trim(),w=i0(G,X,!0);return JZ(w,Q,X)}if(!W0(J)){if(!Z)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${J}`);return w0(J,X)}try{let G=Object.keys(X),Q=Object.values(X);return K0(J,G)(...Q)}catch{return w0(J,X)}}catch(J){if(J instanceof ReferenceError){let Y=/(\b\w+)\s+is not defined/.exec(J.message);if(Y){let G=Y[1],Q=TK(G,Object.keys(X));if(Q&&Q!==G)J.message=`${J.message} \u2014 did you mean '${Q}'?`}}if(!Z)console.error(`Error evaluating expression: ${$}`,J);throw J}}function TK($,X){let Z=null;for(let Y of X){if(Y===$)continue;let G=MK($,Y);if(Z===null||G<Z.dist)Z={key:Y,dist:G}}if(!Z)return null;let J=Math.max($.length,Z.key.length);if(Z.dist<=2||Z.dist/J<=0.35)return Z.key;return null}function MK($,X){if($===X)return 0;if($.length===0)return X.length;if(X.length===0)return $.length;let[Z,J]=$.length<X.length?[$,X]:[X,$],Y=Array(Z.length+1),G=Array(Z.length+1);for(let Q=0;Q<=Z.length;Q++)Y[Q]=Q;for(let Q=1;Q<=J.length;Q++){G[0]=Q;for(let w=1;w<=Z.length;w++){let q=Z[w-1]===J[Q-1]?0:1;G[w]=Math.min(G[w-1]+1,Y[w]+1,Y[w-1]+q)}for(let w=0;w<=Z.length;w++)Y[w]=G[w]}return Y[Z.length]}function kK($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var g7,t2,h7;var j1=D(()=>{y0();A0();i2();v1();g7={},t2=new Map;h7={uppercase:($,X)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,X)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,X)=>{if($===void 0||$===null)return"";let Z=String($);return Z.charAt(0).toUpperCase()+Z.slice(1)},number:($,X,Z=0)=>{if($===void 0||$===null)return"";try{let J=Number($);return Number.isNaN(J)?"":J.toFixed(Number.parseInt(String(Z),10))}catch{return""}},fmt:($,X,Z="en-US")=>{if($===void 0||$===null)return"";try{let J=Number($);if(Number.isNaN(J))return String($);return J.toLocaleString(Z)}catch{return String($)}},join:($,X,Z=",")=>{if(!Array.isArray($))return"";return $.join(String(Z))},escape:($,X)=>{if($===void 0||$===null)return"";return J1(String($))},translate:($,X,Z={})=>{if(!X||!X.__translations)return $;let J=X.__translations,Y=X.__i18nConfig?.fallbackToKey??!0,G=String($).split("."),Q=J;for(let q of G){if(Q===void 0||Q===null)break;Q=Q[q]}if(Q===void 0||Q===null)return Y?$:"";let w=String(Q);return Object.entries(Z).forEach(([q,W])=>{w=w.replace(LK(q),String(W))}),w},t:($,X,Z={})=>{return h7.translate($,X,Z)},truncate:($,X,Z=50,J="...")=>{if($===void 0||$===null)return"";let Y=String($);if(Y.length<=Z)return Y;if(Z<=J.length)return J.substring(0,Z);return Y.substring(0,Z-J.length)+J},date:($,X,Z="short",J="en-US")=>{if($===void 0||$===null)return"";try{let Y=$ instanceof Date?$:new Date($);if(Number.isNaN(Y.getTime()))return String($);let G={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(Z==="iso")return Y.toISOString();return new Intl.DateTimeFormat(J,G[Z]||G.short).format(Y)}catch{return String($)}},currency:($,X,Z="USD",J="en-US")=>{if($===void 0||$===null)return"";try{let Y=Number($);if(Number.isNaN(Y))return String($);return new Intl.NumberFormat(J,{style:"currency",currency:Z}).format(Y)}catch{return String($)}},pluralize:($,X,Z,J)=>{let Y=Number($);if(Number.isNaN(Y))return Z;let G=J||`${Z}s`;return Y===1?Z:G},first:($,X)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,X)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let Z=String($);return Z.charAt(Z.length-1)},length:($,X)=>{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:($,X,Z=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return Z?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,X,Z="")=>{return $===void 0||$===null||$===""?Z:$},reverse:($,X)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,X,Z=0,J)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(Z,J);return $},replace:($,X,Z,J="")=>{if($===void 0||$===null)return"";let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Y,"g"),()=>J)},stripTags:($,X)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,X)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,X)=>{let Z=Number($);return Number.isNaN(Z)?0:Math.abs(Z)},round:($,X,Z=0)=>{let J=Number($);if(Number.isNaN(J))return 0;let Y=10**Z;return Math.round(J*Y)/Y}}});class Z5{cache=new Map;maxSize;constructor($=100){this.maxSize=$}get($){if(!this.cache.has($))return;let X=this.cache.get($);return this.cache.delete($),this.cache.set($,X),X}set($,X){if(this.cache.has($))this.cache.delete($);else if(this.cache.size>=this.maxSize){let Z=this.cache.keys().next().value;if(Z!==void 0)this.cache.delete(Z)}this.cache.set($,X)}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 C5($,X){if(X?.includes("g"))return new RegExp($,X);let Z=`${$}:${X||""}`;if(!S5.has(Z)){if(S5.size>=IK){let J=S5.keys().next().value;if(J)S5.delete(J)}S5.set(Z,new RegExp($,X))}return S5.get(Z)}class GZ{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let X=Array.from(new Set($)),Z=X.sort().join(","),J=this.pool.find((w)=>w.context.join(",")===Z);if(J)return J.func;let Y=this.fnCache,G=this.fnCacheMaxSize,Q=(...w)=>{return(q)=>{try{let W=`${Z}:${q}`,K=Y.get(W);if(!K){if(Y.size>=G){let z=Y.keys().next().value;if(z)Y.delete(z)}K=Function(...X,`
|
|
2533
2533
|
'use strict';
|
|
2534
2534
|
try {
|
|
2535
2535
|
return ${q};
|
|
@@ -2540,34 +2540,34 @@ catch (e) {
|
|
|
2540
2540
|
}
|
|
2541
2541
|
throw e;
|
|
2542
2542
|
}
|
|
2543
|
-
`),Y.set(W,K)}return K(...w)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:Q,context:X.slice()});return Q}clear(){this.pool.length=0,this.fnCache.clear()}}class QZ{metrics=new Map;budgets=new Map;violations=[];maxViolations=100;violationHandlers=[];enabled=!0;setEnabled($){this.enabled=$}isEnabled(){return this.enabled}setBudget($,X){this.budgets.set($,{warnThreshold:0.8,action:"warn",...X})}setBudgets($){for(let[X,Z]of Object.entries($))this.setBudget(X,Z)}removeBudget($){this.budgets.delete($)}getBudgets(){let $={};for(let[X,Z]of this.budgets.entries())$[X]=Z;return $}onViolation($){this.violationHandlers.push($)}offViolation($){let X=this.violationHandlers.indexOf($);if(X!==-1)this.violationHandlers.splice(X,1)}time($,X){if(!this.enabled)return X();let Z=performance.now(),J=X(),Y=performance.now()-Z;return this.recordTime($,Y),this.checkBudget($,Y),J}async timeAsync($,X){if(!this.enabled)return X();let Z=performance.now(),J=await X(),Y=performance.now()-Z;return this.recordTime($,Y),this.checkBudget($,Y),J}checkBudget($,X){let Z=this.budgets.get($);if(!Z)return;let J=X/Z.maxTime*100,Y=Z.warnThreshold!==void 0?X>=Z.maxTime*Z.warnThreshold&&X<Z.maxTime:!1,G=X>=Z.maxTime;if(!Y&&!G)return;let Q={label:$,actualTime:X,budgetTime:Z.maxTime,exceedancePercent:J,timestamp:new Date,isWarning:Y};this.violations.push(Q);while(this.violations.length>this.maxViolations)this.violations.shift();for(let q of this.violationHandlers)try{q(Q)}catch{}let w=Y?`[Performance Warning] "${$}" took ${X.toFixed(2)}ms (${J.toFixed(1)}% of ${Z.maxTime}ms budget)`:`[Performance Budget Exceeded] "${$}" took ${X.toFixed(2)}ms (exceeded ${Z.maxTime}ms budget by ${(J-100).toFixed(1)}%)`;switch(Z.action){case"log":console.log(w);break;case"warn":console.warn(w);break;case"error":console.error(w);break;case"throw":if(G)throw Error(w);else console.warn(w);break}}recordTime($,X){let Z=this.metrics.get($);if(Z)Z.count++,Z.totalTime+=X,Z.maxTime=Math.max(Z.maxTime,X),Z.minTime=Math.min(Z.minTime,X);else this.metrics.set($,{count:1,totalTime:X,maxTime:X,minTime:X})}getStats($){if($){let Z=this.metrics.get($);if(!Z)return{};let J=this.budgets.get($);return{count:Z.count,avgTime:Z.totalTime/Z.count,totalTime:Z.totalTime,maxTime:Z.maxTime,minTime:Z.minTime,budget:J?.maxTime,budgetUtilization:J?Z.totalTime/Z.count/J.maxTime*100:void 0}}let X={};for(let[Z,J]of this.metrics.entries()){let Y=this.budgets.get(Z);X[Z]={count:J.count,avgTime:J.totalTime/J.count,totalTime:J.totalTime,maxTime:J.maxTime,minTime:J.minTime,budget:Y?.maxTime,budgetUtilization:Y?J.totalTime/J.count/Y.maxTime*100:void 0}}return X}getViolations($){if($)return this.violations.filter((X)=>X.label===$);return[...this.violations]}getViolationStats(){let $={},X=0,Z=0;for(let J of this.violations)if($[J.label]=($[J.label]||0)+1,J.isWarning)X++;else Z++;return{total:this.violations.length,byLabel:$,warnings:X,errors:Z}}clear(){this.metrics.clear()}clearViolations(){this.violations.length=0}clearBudgets(){this.budgets.clear()}reset(){this.clear(),this.clearViolations(),this.clearBudgets(),this.violationHandlers.length=0}}function
|
|
2543
|
+
`),Y.set(W,K)}return K(...w)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:Q,context:X.slice()});return Q}clear(){this.pool.length=0,this.fnCache.clear()}}class QZ{metrics=new Map;budgets=new Map;violations=[];maxViolations=100;violationHandlers=[];enabled=!0;setEnabled($){this.enabled=$}isEnabled(){return this.enabled}setBudget($,X){this.budgets.set($,{warnThreshold:0.8,action:"warn",...X})}setBudgets($){for(let[X,Z]of Object.entries($))this.setBudget(X,Z)}removeBudget($){this.budgets.delete($)}getBudgets(){let $={};for(let[X,Z]of this.budgets.entries())$[X]=Z;return $}onViolation($){this.violationHandlers.push($)}offViolation($){let X=this.violationHandlers.indexOf($);if(X!==-1)this.violationHandlers.splice(X,1)}time($,X){if(!this.enabled)return X();let Z=performance.now(),J=X(),Y=performance.now()-Z;return this.recordTime($,Y),this.checkBudget($,Y),J}async timeAsync($,X){if(!this.enabled)return X();let Z=performance.now(),J=await X(),Y=performance.now()-Z;return this.recordTime($,Y),this.checkBudget($,Y),J}checkBudget($,X){let Z=this.budgets.get($);if(!Z)return;let J=X/Z.maxTime*100,Y=Z.warnThreshold!==void 0?X>=Z.maxTime*Z.warnThreshold&&X<Z.maxTime:!1,G=X>=Z.maxTime;if(!Y&&!G)return;let Q={label:$,actualTime:X,budgetTime:Z.maxTime,exceedancePercent:J,timestamp:new Date,isWarning:Y};this.violations.push(Q);while(this.violations.length>this.maxViolations)this.violations.shift();for(let q of this.violationHandlers)try{q(Q)}catch{}let w=Y?`[Performance Warning] "${$}" took ${X.toFixed(2)}ms (${J.toFixed(1)}% of ${Z.maxTime}ms budget)`:`[Performance Budget Exceeded] "${$}" took ${X.toFixed(2)}ms (exceeded ${Z.maxTime}ms budget by ${(J-100).toFixed(1)}%)`;switch(Z.action){case"log":console.log(w);break;case"warn":console.warn(w);break;case"error":console.error(w);break;case"throw":if(G)throw Error(w);else console.warn(w);break}}recordTime($,X){let Z=this.metrics.get($);if(Z)Z.count++,Z.totalTime+=X,Z.maxTime=Math.max(Z.maxTime,X),Z.minTime=Math.min(Z.minTime,X);else this.metrics.set($,{count:1,totalTime:X,maxTime:X,minTime:X})}getStats($){if($){let Z=this.metrics.get($);if(!Z)return{};let J=this.budgets.get($);return{count:Z.count,avgTime:Z.totalTime/Z.count,totalTime:Z.totalTime,maxTime:Z.maxTime,minTime:Z.minTime,budget:J?.maxTime,budgetUtilization:J?Z.totalTime/Z.count/J.maxTime*100:void 0}}let X={};for(let[Z,J]of this.metrics.entries()){let Y=this.budgets.get(Z);X[Z]={count:J.count,avgTime:J.totalTime/J.count,totalTime:J.totalTime,maxTime:J.maxTime,minTime:J.minTime,budget:Y?.maxTime,budgetUtilization:Y?J.totalTime/J.count/Y.maxTime*100:void 0}}return X}getViolations($){if($)return this.violations.filter((X)=>X.label===$);return[...this.violations]}getViolationStats(){let $={},X=0,Z=0;for(let J of this.violations)if($[J.label]=($[J.label]||0)+1,J.isWarning)X++;else Z++;return{total:this.violations.length,byLabel:$,warnings:X,errors:Z}}clear(){this.metrics.clear()}clearViolations(){this.violations.length=0}clearBudgets(){this.budgets.clear()}reset(){this.clear(),this.clearViolations(),this.clearBudgets(),this.violationHandlers.length=0}}function EK(){if(!OX)OX=new QZ;return OX}var S5,IK=500,qA,OX=null,wZ;var P5=D(()=>{S5=new Map;qA=new GZ;wZ=new Proxy({},{get($,X){return EK()[X]}})});function qZ($,X=""){let Z=`${$}${X}`,J=0;for(let Y=0;Y<Z.length;Y++){let G=Z.charCodeAt(Y);J=(J<<5)-J+G,J=J&J}return`stx-${Math.abs(J).toString(36)}`}function WZ($,X,Z={}){let{prefix:J="",preserveHost:Y=!0,scopeKeyframes:G=!0,scopeCustomProperties:Q=!1}=Z;if(!$.trim())return"";let w=LX($),q=[],W=new Map;if(G)for(let K of w){let z=K.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(z){let U=z[1],B=`${X}_${U}`;W.set(U,B)}}for(let K of w){let z=KZ(K,X,J,Y,W,Q);q.push(z)}return q.join(`
|
|
2544
2544
|
|
|
2545
|
-
`)}function
|
|
2546
|
-
`)})}else X.push({selector:`@${K} ${z.trim()}`,declarations:U.trim()})}Q="",G=!1}else if(Y.trim()){Y+=q;let W=Y.match(/([^{]+)\{([^}]*)\}/);if(W)X.push({selector:W[1].trim(),declarations:W[2].trim()});Y=""}continue}}if(G)Q+=q;else Y+=q}return X}function KZ($,X,Z,J,Y,G){let{selector:Q,declarations:w}=$;if(Q.startsWith("@")){if(Q.startsWith("@keyframes")){let K=Q.replace("@keyframes ","").trim();return`@keyframes ${Y.get(K)||K} { ${w} }`}if(Q.startsWith("@media")||Q.startsWith("@supports")||Q.startsWith("@container")){let z=
|
|
2545
|
+
`)}function LX($){let X=[],Z=$.replace(/\/\*[\s\S]*?\*\//g,""),J=0,Y="",G=!1,Q="";for(let w=0;w<Z.length;w++){let q=Z[w];if(q==="@"&&J===0)G=!0;if(q==="{")J++;else if(q==="}"){if(J--,J===0){if(G){Q+=q;let W=Q.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(W){let[,K,z,U]=W;if(K==="keyframes")X.push({selector:`@keyframes ${z.trim()}`,declarations:U.trim()});else if(K==="media"||K==="supports"||K==="container"){let B=LX(U);X.push({selector:`@${K} ${z.trim()}`,declarations:B.map((j)=>`${j.selector} { ${j.declarations} }`).join(`
|
|
2546
|
+
`)})}else X.push({selector:`@${K} ${z.trim()}`,declarations:U.trim()})}Q="",G=!1}else if(Y.trim()){Y+=q;let W=Y.match(/([^{]+)\{([^}]*)\}/);if(W)X.push({selector:W[1].trim(),declarations:W[2].trim()});Y=""}continue}}if(G)Q+=q;else Y+=q}return X}function KZ($,X,Z,J,Y,G){let{selector:Q,declarations:w}=$;if(Q.startsWith("@")){if(Q.startsWith("@keyframes")){let K=Q.replace("@keyframes ","").trim();return`@keyframes ${Y.get(K)||K} { ${w} }`}if(Q.startsWith("@media")||Q.startsWith("@supports")||Q.startsWith("@container")){let z=LX(`x { ${w} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((U)=>KZ(U,X,Z,J,Y,G)).join(`
|
|
2547
2547
|
`);return`${Q} {
|
|
2548
2548
|
${z}
|
|
2549
|
-
}`}return`${Q} { ${w} }`}let q=
|
|
2550
|
-
`)}function
|
|
2551
|
-
`,""}),headContent:X.trim()}}function
|
|
2552
|
-
`);for(let Y of J){let G=Z,Q=null,w=!1;for(let q=0;q<Y.length;q++){let W=Y[q];if(w){w=!1;continue}if(W==="\\"){w=!0;continue}if(Q){if(W===Q)Q=null;continue}if(W==="'"||W==='"'||W==="`"){Q=W;continue}if(W==="/"&&q+1<Y.length&&Y[q+1]==="/")break;if(W==="{")Z++;else if(W==="}")Z--}if(G===0){let q=Y.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)X.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(Y)){let W=Y.match(/(?:const|let|var)\s+(\w+)/);if(W)X.push(W[1])}else{let W=Y.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(W){let z=W[1].slice(1,-1).split(",").map((U)=>{let B=U.split(":");return(B.length>1?B[1]:B[0]).trim()}).filter((U)=>/^\w+$/.test(U));X.push(...z)}}}}return[...new Set(X)]}function AZ($){let X=$;X=X.replace(/^\s*import\s+.*?from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),X=X.replace(/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/gm,""),X=X.replace(/^\s*interface\s+\w+\s*\{[\s\S]*?\n\}\s*$/gm,""),X=X.replace(/^\s*type\s+\w+\s*=[\s\S]*?(?=\n(?:const|let|var|function|export|interface|type|$))/gm,""),X=X.replace(/^(\s*(?:export\s+)?(?:const|let|var)\s+)(\w+|\{[^}]+\}|\[[^\]]+\])\s*:\s*[^=]+(\s*=)/gm,"$1$2$3");function Z(J){if(!J.includes(":"))return J;let Y=[],G="",Q=0,w=0,q=null;for(let W=0;W<J.length;W++){let K=J[W];if(q){if(G+=K,K===q)q=null;continue}if(K==='"'||K==="'"||K==="`"){q=K,G+=K;continue}if(K==="<")Q++;else if(K===">"&&Q>0)Q--;else if(K==="(")w++;else if(K===")")w--;if(K===","&&Q===0&&w===0){Y.push(G),G="";continue}G+=K}if(G)Y.push(G);return Y.map((W)=>{let K=W.trim(),z=K.startsWith("..."),U=z?K.slice(3):K,B=-1,j=0;for(let A=0;A<U.length;A++)if(U[A]==="<")j++;else if(U[A]===">")j--;else if(U[A]===":"&&j===0){B=A;break}if(B===-1)return W;let
|
|
2549
|
+
}`}return`${Q} { ${w} }`}let q=DK(Q,X,Z,J),W=w;for(let[K,z]of Y)W=W.replace(new RegExp(`\\b${K}\\b`,"g"),z);if(G)W=W.replace(/--([a-z-]+)/gi,`--${X}-$1`);return`${q} { ${W} }`}function DK($,X,Z,J){let Y=$.split(",").map((Q)=>Q.trim()),G=[];for(let Q of Y){if(Q.startsWith(":host")){if(J)G.push(Q);else{let W=Q.replace(/:host(\([^)]*\))?/,`.${X}$1`);G.push(W)}continue}if(Q.includes("::slotted")){G.push(Q);continue}if(Q===":root"){G.push(`:root .${X}`);continue}let w=Z?`${Z} .${X}`:`.${X}`;G.push(`${w} ${Q}`);let q=yK(Q,X);if(q)G.push(Z?`${Z} ${q}`:q)}return G.join(", ")}function yK($,X){let Z=0,J=$.length;for(let q=0;q<$.length;q++){let W=$[q];if(W==="["||W==="(")Z++;else if(W==="]"||W===")")Z--;else if(Z===0&&(W===" "||W===">"||W==="+"||W==="~")){J=q;break}}let Y=$.slice(0,J),G=$.slice(J);if(!Y)return"";let Q=Y.length,w=0;for(let q=0;q<Y.length;q++){let W=Y[q];if(W==="["||W==="(")w++;else if(W==="]"||W===")")w--;else if(Z===0&&w===0&&W===":"){Q=q;break}}return`${Y.slice(0,Q)}.${X}${Y.slice(Q)}${G}`}function UZ($){let X=new Set;return $.replace(/<style\b[^>]*\bdata-stx-scoped(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?[^>]*>[\s\S]*?<\/style>\s*/gi,(Z)=>{let J=Z.trim();if(X.has(J))return"";return X.add(J),Z})}function d8($,X){if(!bK.test($))return{html:$,hasScoped:!1};let Z=qZ(X),J=`data-v-${Z}`,Y=$,G=new RegExp(`<style\\s+([^>]*${FX}[^>]*)>([\\s\\S]*?)</style>`,"gi"),Q=!1;if(Y=Y.replace(G,(w,q,W)=>{Q=!0;let K=SK(W,J),z=q.replace(new RegExp(FX,"gi"),"").trim(),U=z?` ${z}`:"";return`<style data-stx-scoped="${Z}"${U}>${K}</style>`}),!Q)return{html:$,hasScoped:!1};return Y=PK(Y,J),{html:Y,hasScoped:!0}}function SK($,X){return WZ($,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${X}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${X}]`)}function PK($,X){let Z=z1($,(Y,G)=>{let Q=P1(Y,G);return Q>G?Q:y5(Y,G)},(Y,G)=>CK(G)),J=vK(Z.output,X);return zZ.lastIndex=0,J.replace(zZ,(Y,G)=>Z.tokens[Number(G)])}function vK($,X){let Z=new Set(["script","style","template","html","head","body","meta","link","title","base","!doctype","!DOCTYPE"]);return $.replace(/<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*)?\/?>/g,(J,Y,G)=>{if(Z.has(Y.toLowerCase()))return J;if(J.includes(X))return J;if(Y.toLowerCase()==="style"||Y.toLowerCase()==="script")return J;if(G)return J.replace(`<${Y}${G}`,`<${Y} ${X}${G}`);if(J.endsWith("/>"))return`<${Y} ${X} />`;return`<${Y} ${X}>`})}var FX,bK,CK=($)=>`\x00stx-scope-mask-${$}\x00`,zZ;var VX=D(()=>{v1();FX=String.raw`(?<![\w-])scoped(?![\w-])`,bK=new RegExp(`<style\\s+[^>]*${FX}`,"i");zZ=/\u0000stx-scope-mask-(\d+)\u0000/g});function fK($){let X=$.replace(/^<template\b/i,"").replace(/>$/,"");return xK.test(X)}function m8($){u7.lastIndex=0;let X;while((X=u7.exec($))!==null){if(X[0].startsWith("</")||fK(X[0]))continue;let Z=X.index,J=u7.lastIndex,Y=1,G;while((G=u7.exec($))!==null)if(G[0].startsWith("</")){if(Y--,Y===0){let Q=G.index;return{start:Z,openEnd:J,closeStart:Q,end:u7.lastIndex,content:$.slice(J,Q)}}}else Y++;return null}return null}var u7,xK;var AX=D(()=>{u7=/<\/?template\b[^>]*>/gi,xK=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var jZ=()=>{};function P0($,X,Z,J=0){let Y=0,G=J,Q=null,w=0,q=!1;while(G<$.length){let W=$[G];if(Q&&q){q=!1,G++;continue}if(Q&&W==="\\"){q=!0,G++;continue}if(q=!1,(W==='"'||W==="'"||W==="`")&&!Q){Q=W,G++;continue}if(W===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"&&W==="$"&&$[G+1]==="{"){w++,G+=2;continue}if(w>0&&W==="}"){w--,G++;continue}if(W==="`"&&Q==="`"&&w===0){Q=null,G++;continue}if(Q){G++;continue}if(W===X)Y++;else if(W===Z){if(Y--,Y===0)return G}G++}return-1}var TX={};t(TX,{useTitle:()=>mK,useSeoMeta:()=>BZ,usePageTitle:()=>mK,useHead:()=>NX,seoMetaToHeadConfig:()=>l8,resetHead:()=>uK,renderHtmlAttrs:()=>lK,renderHead:()=>cK,renderBodyAttrs:()=>pK,processTitleDirective:()=>rK,processMetaDirective:()=>oK,processHeadDirective:()=>nK,mergeHeadConfigs:()=>g1,getPageMeta:()=>hK,getHead:()=>RX,definePageMeta:()=>dK,applyHead:()=>iK});function RX(){return f1}function hK(){return c8}function uK(){f1={},gK.length=0,c8={}}function NX($){f1=g1(f1,$)}function g1($,X){return{title:X.title??$.title,titleTemplate:X.titleTemplate??$.titleTemplate,base:X.base??$.base,meta:[...$.meta||[],...X.meta||[]],link:[...$.link||[],...X.link||[]],script:[...$.script||[],...X.script||[]],style:[...$.style||[],...X.style||[]],htmlAttrs:{...$.htmlAttrs,...X.htmlAttrs},bodyAttrs:{...$.bodyAttrs,...X.bodyAttrs}}}function BZ($){NX(l8($))}function l8($){let X=[];if($.description)X.push({name:"description",content:$.description});if($.keywords){let q=Array.isArray($.keywords)?$.keywords.join(", "):$.keywords;X.push({name:"keywords",content:q})}if($.author)X.push({name:"author",content:$.author});if($.robots)X.push({name:"robots",content:$.robots});let Z=$.ogTitle??$.title,J=$.ogDescription??$.description;if(Z)X.push({property:"og:title",content:Z});if(J)X.push({property:"og:description",content:J});if($.ogImage)X.push({property:"og:image",content:$.ogImage});if($.ogUrl)X.push({property:"og:url",content:$.ogUrl});if($.ogType)X.push({property:"og:type",content:$.ogType});if($.ogSiteName)X.push({property:"og:site_name",content:$.ogSiteName});if($.ogLocale)X.push({property:"og:locale",content:$.ogLocale});let Y=$.twitterTitle??$.title,G=$.twitterDescription??$.description,Q=$.twitterImage??$.ogImage;if($.twitterCard)X.push({name:"twitter:card",content:$.twitterCard});if(Y)X.push({name:"twitter:title",content:Y});if(G)X.push({name:"twitter:description",content:G});if(Q)X.push({name:"twitter:image",content:Q});if($.twitterSite)X.push({name:"twitter:site",content:$.twitterSite});if($.twitterCreator)X.push({name:"twitter:creator",content:$.twitterCreator});if($.articleAuthor)X.push({property:"article:author",content:$.articleAuthor});if($.articlePublishedTime)X.push({property:"article:published_time",content:$.articlePublishedTime});if($.articleModifiedTime)X.push({property:"article:modified_time",content:$.articleModifiedTime});if($.articleSection)X.push({property:"article:section",content:$.articleSection});if($.articleTags)for(let q of $.articleTags)X.push({property:"article:tag",content:q});let w=[];if($.canonical)w.push({rel:"canonical",href:$.canonical});return{title:$.title,titleTemplate:$.titleTemplate,meta:X,link:w}}function dK($){if(c8={...c8,...$},$.title||$.description)BZ({title:$.title,description:$.description})}function mK($){let X=typeof $==="function"?$():$;NX({title:X})}function cK($=f1){let X=[];if($.title){let Z=$.title;if($.titleTemplate)Z=typeof $.titleTemplate==="function"?$.titleTemplate(Z):$.titleTemplate.replace("%s",Z);X.push(`<title>${J5(Z)}</title>`)}if($.base){let Z=Object.entries($.base).map(([J,Y])=>`${J}="${J5(Y)}"`).join(" ");X.push(`<base ${Z}>`)}for(let Z of $.meta||[]){let J=Object.entries(Z).filter(([Y,G])=>G!==void 0).map(([Y,G])=>{return`${Y==="httpEquiv"?"http-equiv":Y}="${J5(String(G))}"`}).join(" ");X.push(`<meta ${J}>`)}for(let Z of $.link||[]){let J=Object.entries(Z).filter(([Y,G])=>G!==void 0).map(([Y,G])=>`${Y}="${J5(String(G))}"`).join(" ");X.push(`<link ${J}>`)}for(let Z of $.script||[]){let{content:J,...Y}=Z,G=Object.entries(Y).filter(([Q,w])=>w!==void 0).map(([Q,w])=>{if(typeof w==="boolean")return w?Q:"";return`${Q}="${J5(String(w))}"`}).filter(Boolean).join(" ");if(J)X.push(`<script ${G}>${J}</script>`);else X.push(`<script ${G}></script>`)}for(let Z of $.style||[]){let J=Z.type?` type="${Z.type}"`:"";X.push(`<style${J}>${Z.content}</style>`)}return X.join(`
|
|
2550
|
+
`)}function lK($=f1){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([X,Z])=>`${X}="${J5(Z)}"`).join(" ")}function pK($=f1){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([X,Z])=>`${X}="${J5(Z)}"`).join(" ")}function J5($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function iK($=f1){if(typeof document>"u")return;if($.title){let X=$.title;if($.titleTemplate)X=typeof $.titleTemplate==="function"?$.titleTemplate(X):$.titleTemplate.replace("%s",X);document.title=X}for(let X of $.meta||[]){let Z=X.name?`meta[name="${X.name}"]`:X.property?`meta[property="${X.property}"]`:null;if(Z){let J=document.querySelector(Z);if(!J){if(J=document.createElement("meta"),X.name)J.setAttribute("name",X.name);if(X.property)J.setAttribute("property",X.property);document.head.appendChild(J)}J.setAttribute("content",X.content)}}for(let X of $.link||[]){let Z=`link[rel="${X.rel}"]${X.href?`[href="${X.href}"]`:""}`,J=document.querySelector(Z);if(!J)J=document.createElement("link"),document.head.appendChild(J);for(let[Y,G]of Object.entries(X))if(G!==void 0)J.setAttribute(Y,String(G))}if($.htmlAttrs)for(let[X,Z]of Object.entries($.htmlAttrs))if(X==="class")for(let J of String(Z).split(/\s+/).filter(Boolean))document.documentElement.classList.add(J);else document.documentElement.setAttribute(X,Z);if($.bodyAttrs)for(let[X,Z]of Object.entries($.bodyAttrs))document.body.setAttribute(X,Z)}function nK($){let X="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(J,Y)=>{return X+=Y.trim()+`
|
|
2551
|
+
`,""}),headContent:X.trim()}}function rK($,X){return $.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(Z,J,Y,G)=>{let Q=J?Y:X[(G||"").trim()]??G,w=X.__stx_runtime_head??{};return X.__stx_runtime_head=g1(w,{title:Q}),""})}function oK($,X){return $.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(Z,J,Y,G,Q,w)=>{let q=G?Q:w,W=G?q:X[(q||"").trim()]??q,z=Y.includes(":")?{property:Y,content:W}:{name:Y,content:W},U=X.__stx_runtime_head??{};return X.__stx_runtime_head=g1(U,{meta:[z]}),""})}var f1,gK,c8;var v5=D(()=>{f1={},gK=[],c8={}});var p8={};t(p8,{stripTypeScript:()=>AZ,splitDeclaration:()=>IZ,isModuleResolutionFailure:()=>RZ,isMissingBindingFailure:()=>NZ,isCompleteImport:()=>TZ,hasVariables:()=>bZ,extractVariables:()=>Y5,extractScriptFromTemplate:()=>yZ,convertToCommonJS:()=>IX,STX_ENGINE_BINDING_NAMES:()=>kX});import h1 from"path";import x5 from"process";function aK($){let X=[],Z=0,J=$.split(`
|
|
2552
|
+
`);for(let Y of J){let G=Z,Q=null,w=!1;for(let q=0;q<Y.length;q++){let W=Y[q];if(w){w=!1;continue}if(W==="\\"){w=!0;continue}if(Q){if(W===Q)Q=null;continue}if(W==="'"||W==='"'||W==="`"){Q=W;continue}if(W==="/"&&q+1<Y.length&&Y[q+1]==="/")break;if(W==="{")Z++;else if(W==="}")Z--}if(G===0){let q=Y.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)X.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(Y)){let W=Y.match(/(?:const|let|var)\s+(\w+)/);if(W)X.push(W[1])}else{let W=Y.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(W){let z=W[1].slice(1,-1).split(",").map((U)=>{let B=U.split(":");return(B.length>1?B[1]:B[0]).trim()}).filter((U)=>/^\w+$/.test(U));X.push(...z)}}}}return[...new Set(X)]}function AZ($){let X=$;X=X.replace(/^\s*import\s+.*?from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),X=X.replace(/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/gm,""),X=X.replace(/^\s*interface\s+\w+\s*\{[\s\S]*?\n\}\s*$/gm,""),X=X.replace(/^\s*type\s+\w+\s*=[\s\S]*?(?=\n(?:const|let|var|function|export|interface|type|$))/gm,""),X=X.replace(/^(\s*(?:export\s+)?(?:const|let|var)\s+)(\w+|\{[^}]+\}|\[[^\]]+\])\s*:\s*[^=]+(\s*=)/gm,"$1$2$3");function Z(J){if(!J.includes(":"))return J;let Y=[],G="",Q=0,w=0,q=null;for(let W=0;W<J.length;W++){let K=J[W];if(q){if(G+=K,K===q)q=null;continue}if(K==='"'||K==="'"||K==="`"){q=K,G+=K;continue}if(K==="<")Q++;else if(K===">"&&Q>0)Q--;else if(K==="(")w++;else if(K===")")w--;if(K===","&&Q===0&&w===0){Y.push(G),G="";continue}G+=K}if(G)Y.push(G);return Y.map((W)=>{let K=W.trim(),z=K.startsWith("..."),U=z?K.slice(3):K,B=-1,j=0;for(let A=0;A<U.length;A++)if(U[A]==="<")j++;else if(U[A]===">")j--;else if(U[A]===":"&&j===0){B=A;break}if(B===-1)return W;let _=U.substring(0,B).trim().replace(/\?$/,""),L=U.substring(B+1),O=-1,F=0;for(let A=0;A<L.length;A++)if(L[A]==="<")F++;else if(L[A]===">")F--;else if(L[A]==="="&&F===0){O=A;break}let V=z?"...":"";if(O!==-1)return`${V}${_} = ${L.substring(O+1).trim()}`;return`${V}${_}`}).join(", ")}X=X.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(J,Y,G)=>{if(!G.includes(":"))return J;return`${Y}(${Z(G)})`});{let J=/\b(function\s+\w*\s*)\(/g,Y,G=[];while((Y=J.exec(X))!==null){let Q=Y.index+Y[0].length-1,w=1,q=Q+1,W=0,K=null;while(q<X.length&&w>0){let B=X[q];if(K){if(B===K)K=null;q++;continue}if(B==='"'||B==="'"||B==="`"){K=B,q++;continue}if(B==="<")W++;else if(B===">"&&W>0)W--;else if(W===0){if(B==="(")w++;else if(B===")")w--}if(w>0)q++}if(w!==0)continue;let z=X.substring(Q+1,q);if(!z.includes(":"))continue;let U=Z(z);G.push({start:Q+1,end:q,replacement:U})}for(let Q=G.length-1;Q>=0;Q--){let{start:w,end:q,replacement:W}=G[Q];X=X.substring(0,w)+W+X.substring(q)}}return X=X.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(J,Y)=>{if(!Y.includes(":"))return J;if(Y.includes("{")||Y.includes("}"))return J;return`(${Y.split(",").map((Q)=>{let[w,...q]=Q.split("="),W=w.split(":")[0].trim();if(q.length>0)return`${W} = ${q.join("=").trim()}`;return W}).join(", ")}) =>`}),X=X.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"),X=X.replace(/(\b(?:function|class|interface|type|extends|implements)\s+\w+)\s*<[^<>()]*>/g,"$1"),X=X.replace(/(\b(?:defineProps|withDefaults|defineEmits|defineSlots|Array|Promise|Map|Set|Record|Partial|Required|Readonly|Pick|Omit|Exclude|Extract))\s*<[^<>()]*>/g,"$1"),X=X.replace(/(\w+)\s*<[A-Z][^<>()]*>\s*(?=\()/g,"$1"),X=X.replace(/\s+as\s+(?:const|[A-Za-z]\w*(?:\[\])?(?:\s*\|\s*\w+(?:\[\])?)*)/g,""),X=X.replace(/\s+satisfies\s+\w+(?:<[^>]*>)?/g,""),X=X.replace(/(\w|\)|\])\s*!(?!=)/g,"$1"),X=X.replace(/^\s*(?:export\s+)?(?:const\s+)?enum\s+\w+\s*\{[^}]*\}\s*$/gm,""),X=X.replace(/(?<=[\s=,(])<[A-Z]\w*(?:\[\])?>/g,""),X=X.replace(/\n\s*\n\s*\n/g,`
|
|
2553
2553
|
|
|
2554
|
-
`),X}function RZ($){return/cannot find module|could not resolve|module not found|failed to resolve/i.test($)}function NZ($){if(!/is not defined|can't find variable/i.test($))return!1;return!/\b(document|window|navigator|localStorage|sessionStorage|self)\b/.test($)}async function
|
|
2555
|
-
`),y1=X.params??{},c0=[],g0=[];for(let a=0;a<p.length;a++){if(p[a]==="params")continue;c0.push(p[a]),g0.push(v[a])}let
|
|
2554
|
+
`),X}function RZ($){return/cannot find module|could not resolve|module not found|failed to resolve/i.test($)}function NZ($){if(!/is not defined|can't find variable/i.test($))return!1;return!/\b(document|window|navigator|localStorage|sessionStorage|self)\b/.test($)}async function Y5($,X,Z,J={}){if(!$.trim())return;let Y;try{let C=T1({loader:"ts",target:"browser",define:l0()}),g=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");g=g.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),Y=C.transformSync(g)}catch{Y=AZ($)}let G={exports:{}},Q=G.exports,w=x5.cwd(),q={},W=[...Y.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((C)=>C[1]).filter((C)=>!C.startsWith("node:")&&!C.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(C));for(let C of W)try{let g=h1.resolve(w,"node_modules",C),s=h1.join(g,"package.json"),p=JSON.parse(B0("fs").readFileSync(s,"utf8")),v=p.main||"index.js";if(p.exports){let c=typeof p.exports==="string"?p.exports:p.exports["."];if(typeof c==="string")v=c;else if(c?.bun)v=c.bun;else if(c?.import)v=c.import;else if(c?.default)v=c.default}q[C]=await import(h1.resolve(g,v))}catch{}let K=(C)=>{if(q[C])return q[C];return B0(C)},z=X.props||{},U=(C)=>{if(!C)return z;let g={};for(let[s,p]of Object.entries(C)){let v=z[s];if(v!==void 0)g[s]=v;else if(typeof p==="function")g[s]=p();else g[s]=p}return g};for(let[C,g]of Object.entries(z))Object.defineProperty(U,C,{value:g,enumerable:!0,configurable:!0,writable:!0});for(let C of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(z,C))continue;try{Object.defineProperty(U,C,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let B=(C)=>{if(!C)return z;let g={...z};for(let[s,p]of Object.entries(C)){let v=p&&typeof p==="object"&&!Array.isArray(p)?p:{type:p};if(g[s]===void 0&&v.default!==void 0)g[s]=typeof v.default==="function"?v.default():v.default}return g},j=()=>X.slots||{},H=(C,g)=>{let s={...C};for(let[p,v]of Object.entries(g))if(s[p]===void 0)if(typeof v==="function")s[p]=v();else s[p]=v;return s},_=(C)=>{let g=()=>C;return g.set=(s)=>{},g.update=(s)=>{},g},L=(C)=>{let g,s=!1;return()=>{if(!s)try{g=C(),s=!0}catch{g=void 0}return g}},O=(C)=>{},F=(C)=>C(),V=(C)=>{},A=(C)=>{};function N(C){let g=C||{};if(g.title!==void 0||g.description!==void 0)E({title:g.title,description:g.description})}function R(C){if(!C||typeof C!=="object")return;let g=X.__stxClientPayload??{};Object.assign(g,C),X.__stxClientPayload=g}let T=()=>{let C=X.__stxServeContext,g=X.__stxServeSearch??C?.search??"",s=C?.path??"",p=Object.fromEntries(new URLSearchParams(g)),v=X.query,c=Object.keys(p).length>0?p:v??{},j0=g||(Object.keys(c).length>0?`?${new URLSearchParams(c).toString()}`:"");return{params:X.params??{},query:c,path:s,name:"",fullPath:s+j0,hash:"",matched:[]}},k=()=>({push:(C)=>{},replace:(C)=>{},back:()=>{},forward:()=>{},go:(C)=>{}}),M=(C)=>{let g=X.__stx_runtime_head||{};X.__stx_runtime_head=g1(g,C||{})},E=(C)=>{M(l8(C||{}))},I=(C)=>({value:C}),S=(C)=>C,b=(C)=>({value:typeof C==="function"?C():C}),y=(C,g)=>{},P=(C)=>{},x=(C)=>{},f=(C)=>C?C():Promise.resolve(),u=(C)=>(g,...s)=>{},l=(C)=>{},_0=(C,g)=>{},S0=(C,g)=>g,z0=()=>({value:"light"}),k0=()=>_(!1),d=(C)=>_(!1),Y0=()=>_(!1),Q0=()=>d("(prefers-color-scheme: dark)"),d0=()=>d("(prefers-color-scheme: light)"),Q7=()=>d("(prefers-reduced-motion: reduce)"),r=()=>d("(prefers-contrast: more)"),e={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:{}},U0=new Proxy(e,{get(C,g){if(g in C)return C[g];return},set(C,g,s){return C[g]=s,!0}}),m0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},C0=console;try{let C=IX(Y,Z),g=new Set(Object.keys(z)),s=(a)=>/^[a-z_$][\w$]*$/i.test(a),p=Object.keys(X).filter((a)=>!g.has(a)&&a!=="props"&&s(a)),v=p.map((a)=>X[a]);if(!p.includes("__stxServeContext"))p.push("__stxServeContext"),v.push(void 0);let 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"]),j0=[],X0=[];for(let[a,X1]of Object.entries(z)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(a))continue;if(c.has(a))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${a}\\b`).test(C))continue;j0.push(a),X0.push(X1)}let E0=aK(C).map((a)=>`module.exports.${a} = typeof ${a} !== 'undefined' ? ${a} : module.exports.${a};`).join(`
|
|
2555
|
+
`),y1=X.params??{},c0=[],g0=[];for(let a=0;a<p.length;a++){if(p[a]==="params")continue;c0.push(p[a]),g0.push(v[a])}let o1=await Function(...kX,...j0,...c0,`return (async () => {
|
|
2556
2556
|
${C}
|
|
2557
2557
|
${E0}
|
|
2558
2558
|
return module.exports
|
|
2559
|
-
})()`)(G,Q,K,z,U,B,
|
|
2560
|
-
`),G=[],Q=0;while(Q<Y.length){let w=Y[Q].trim();if(w.startsWith("interface ")||w.startsWith("export interface ")||w.startsWith("type ")||w.startsWith("export type ")){if(w.includes("{")&&!w.includes("}")){let q=0;for(;Q<Y.length;Q++){for(let W of Y[Q])if(W==="{")q++;else if(W==="}")q--;if(q<=0)break}}Q++;continue}if(w.startsWith("definePageMeta(")){let q=0,W=!1,K=Q;for(let B=Q;B<Y.length&&!W;B++){let j=null,
|
|
2561
|
-
`),U=[];for(let B of["title","description"]){let j=new RegExp(`\\b${B}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(z);if(j)U.push(`${B}: ${JSON.stringify(j[2])}`)}if(U.length>0)G.push(`useSeoMeta({ ${U.join(", ")} });`);continue}if(w.startsWith("import ")||w==="import"||w.startsWith("import{")){let q=w,W=0;while(!TZ(q)&&Q+W+1<Y.length)W++,q=`${q} ${Y[Q+W].trim()}`;Q+=W;let K=q.match(/^import\s+(\w+)\s+from\s+['"](.+?)['"]/),z=q.match(/^import\s+\{([^}]*)\}\s+from\s+['"](.+?)['"]/),U=q.match(/^import\s+['"](.+?)['"]/),B=q,j=(
|
|
2562
|
-
`+B;if(z<=0&&U>=Q)break}G.push(K),G.push(`module.exports.${W} = ${W};`),Q=U+1}else G.push(w),Q++}else if(w.includes("module.exports"))G.push(w),Q++;else if(w.trim()&&!w.startsWith("//"))G.push(w),Q++;else Q++}return
|
|
2563
|
-
`),Z,J)}function
|
|
2564
|
-
`)w=!1;G++;continue}if(q){if(Y+=K,K==="*"&&z==="/"){Y+=z,G+=2,q=!1;continue}G++;continue}if(!Q&&K==="/"&&z==="/"){w=!0,Y+=K,G++;continue}if(!Q&&K==="/"&&z==="*"){q=!0,Y+=K,G++;continue}if(Q){if(Y+=K,K==="\\"){Y+=z,G+=2;continue}if(K===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"){if(K==="$"&&z==="{"){W++,Y+=z,G+=2;continue}if(K==="`"){Q=null,G++;continue}}G++;continue}if(W>0){if(K==="{")W++;else if(K==="}")W--}if(K==='"'||K==="'"||K==="`"){Q=K,Y+=K,G++;continue}if(K==="a"&&$.startsWith("await",G)){let U
|
|
2565
|
-
`);return{type:j,name:A,value:`${O}; ${j} ${
|
|
2566
|
-
${
|
|
2567
|
-
${$[W]}`,W++;else break}return q=q.trim().replace(/;$/,""),{type:G,name:Q,value:q,nextIndex:W}}function
|
|
2559
|
+
})()`)(G,Q,K,z,U,B,H,R,_,L,O,F,V,A,N,T,k,M,E,I,S,b,y,P,x,f,u,l,j,_0,S0,z0,k0,d,Y0,Q0,d0,Q7,r,U0,m0,C0,e.confirm,e.alert,e.fetch,y1,...X0,...g0);if(J.preserveExisting){for(let[a,X1]of Object.entries(o1))if(!(a in X)||X[a]===void 0)X[a]=X1}else Object.assign(X,o1);for(let[a,X1]of Object.entries(z))if(!(a in X))X[a]=X1}catch(C){let g=C instanceof Error?C.message:String(C);if(RZ(g))console.warn(`[stx] server <script> in ${Z??"<unknown>"} imports a module that does not resolve, so every variable in that script is undefined. Cause: ${g}`);else if(NZ(g))console.warn(`[stx] server <script> in ${Z??"<unknown>"} names something that does not exist, so every variable in that script is undefined. Optional chaining does not help here: an undefined identifier throws before the chain is reached. Cause: ${g}`);else if(x5.env.STX_DEBUG)console.warn(`[stx] server <script> did not execute in ${Z??"<unknown>"} \u2014 falling back to static extraction. Cause: ${g}`);try{await Jz(Y,X,Z)}catch(s){if(x5.env.STX_DEBUG){let p=s instanceof Error?s.message:String(s);console.warn(`[stx] fallback extraction also failed in ${Z??"<unknown>"}: ${p}`)}}}}function TZ($){let X=0,Z=null,J=!1,Y=!1;for(let G=0;G<$.length;G++){let Q=$[G];if(Z){if(Q===Z){if(Z=null,J||X===0)Y=!0}continue}if(Q==="'"||Q==='"'||Q==="`"){Z=Q;continue}if(Q==="{")X++;else if(Q==="}")X--;else if($.startsWith("from",G)&&X===0)J=!0}return Z===null&&X===0&&Y}function IX($,X){let Z=X?h1.dirname(X):x5.cwd(),J=x5.cwd(),Y=$.split(`
|
|
2560
|
+
`),G=[],Q=0;while(Q<Y.length){let w=Y[Q].trim();if(w.startsWith("interface ")||w.startsWith("export interface ")||w.startsWith("type ")||w.startsWith("export type ")){if(w.includes("{")&&!w.includes("}")){let q=0;for(;Q<Y.length;Q++){for(let W of Y[Q])if(W==="{")q++;else if(W==="}")q--;if(q<=0)break}}Q++;continue}if(w.startsWith("definePageMeta(")){let q=0,W=!1,K=Q;for(let B=Q;B<Y.length&&!W;B++){let j=null,H=!1,_=Y[B];for(let L=0;L<_.length;L++){let O=_[L];if(H){H=!1;continue}if(O==="\\"){H=!0;continue}if(j){if(O===j)j=null;continue}if(O==='"'||O==="'"||O==="`"){j=O;continue}if(O==="(")q++;else if(O===")"){if(q--,q===0){Q=B+1,W=!0;break}}}}if(!W)Q=Y.length;let z=Y.slice(K,Q).join(`
|
|
2561
|
+
`),U=[];for(let B of["title","description"]){let j=new RegExp(`\\b${B}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(z);if(j)U.push(`${B}: ${JSON.stringify(j[2])}`)}if(U.length>0)G.push(`useSeoMeta({ ${U.join(", ")} });`);continue}if(w.startsWith("import ")||w==="import"||w.startsWith("import{")){let q=w,W=0;while(!TZ(q)&&Q+W+1<Y.length)W++,q=`${q} ${Y[Q+W].trim()}`;Q+=W;let K=q.match(/^import\s+(\w+)\s+from\s+['"](.+?)['"]/),z=q.match(/^import\s+\{([^}]*)\}\s+from\s+['"](.+?)['"]/),U=q.match(/^import\s+['"](.+?)['"]/),B=q,j=(H)=>{if(H.startsWith("."))return h1.resolve(Z,H);if(H.startsWith("~/")||H.startsWith("@/"))return h1.resolve(J,H.slice(2));return H};if(K){let[,H,_]=K,L=j(_);G.push(`const ${H} = (await import('${L}')).default`),G.push(`module.exports.${H} = ${H};`)}else if(z){let[,H,_]=z,L=j(_),O=[],F=[],V=sK.has(_);for(let A of H.split(",")){let N=A.trim();if(!N)continue;let R=N.split(/\s+as\s+/);if(R.length===2){let[T,k]=[R[0].trim(),R[1].trim()];if(V&&HZ.has(T)){G.push(`const ${k} = ${T};`),F.push(k);continue}O.push(`${T}: ${k}`),F.push(k)}else{if(V&&HZ.has(N)){F.push(N);continue}O.push(N),F.push(N)}}if(O.length>0)G.push(`const { ${O.join(", ")} } = await import('${L}')`);for(let A of F)G.push(`module.exports.${A} = ${A};`)}else if(U){let H=j(U[1]);G.push(`await import('${H}')`)}else G.push(B);Q++;continue}if(tK.test(w))G.push(Y[Q]),Q++;else if(w.startsWith("export const ")||w.startsWith("export let ")||w.startsWith("export var ")){let q=OZ(Y,Q),{type:W,name:K,value:z}=q;G.push(`${W} ${K} = ${z};`),G.push(`module.exports.${K} = ${K};`),Q=q.nextIndex}else if(w.startsWith("export function ")||w.startsWith("export async function ")){let q=MX(Y,Q);G.push(q.functionCode),G.push(`module.exports.${q.name} = ${q.name};`),Q=q.nextIndex}else if(w.startsWith("const ")||w.startsWith("let ")||w.startsWith("var ")){let q=OZ(Y,Q),{type:W,name:K,value:z}=q;G.push(`${W} ${K} = ${z};`),G.push(`module.exports.${K} = ${K};`),Q=q.nextIndex}else if(w.startsWith("function ")||w.startsWith("async function ")){let q=MX(Y,Q);G.push(q.functionCode),G.push(`module.exports.${q.name} = ${q.name};`),Q=q.nextIndex}else if(w.startsWith("export default function ")||w.startsWith("export default async function ")){let q=Y[Q].replace(/^(\s*)export\s+default\s+/,"$1"),W=[...Y];W[Q]=q;let K=MX(W,Q);if(G.push(K.functionCode),K.name)G.push(`module.exports.default = ${K.name};`);Q=K.nextIndex}else if(w.startsWith("export default ")){let q=w.replace(/^export\s+default\s+/,"").replace(/;$/,"");G.push(`module.exports.default = ${q};`),Q++}else if(w.startsWith("class ")||w.startsWith("export class ")){let q=w.match(/(?:export\s+)?class\s+(\w+)/);if(q){let W=q[1],K=Y[Q].replace(/^export\s+/,""),z=0,U=Q;for(;U<Y.length;U++){let B=Y[U];for(let j of B)if(j==="{")z++;else if(j==="}")z--;if(U>Q)K+=`
|
|
2562
|
+
`+B;if(z<=0&&U>=Q)break}G.push(K),G.push(`module.exports.${W} = ${W};`),Q=U+1}else G.push(w),Q++}else if(w.includes("module.exports"))G.push(w),Q++;else if(w.trim()&&!w.startsWith("//"))G.push(w),Q++;else Q++}return eK(G.join(`
|
|
2563
|
+
`),Z,J)}function eK($,X,Z){let J=$.length,Y="",G=0,Q=null,w=!1,q=!1,W=0;while(G<J){let K=$[G],z=$[G+1];if(w){if(Y+=K,K===`
|
|
2564
|
+
`)w=!1;G++;continue}if(q){if(Y+=K,K==="*"&&z==="/"){Y+=z,G+=2,q=!1;continue}G++;continue}if(!Q&&K==="/"&&z==="/"){w=!0,Y+=K,G++;continue}if(!Q&&K==="/"&&z==="*"){q=!0,Y+=K,G++;continue}if(Q){if(Y+=K,K==="\\"){Y+=z,G+=2;continue}if(K===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"){if(K==="$"&&z==="{"){W++,Y+=z,G+=2;continue}if(K==="`"){Q=null,G++;continue}}G++;continue}if(W>0){if(K==="{")W++;else if(K==="}")W--}if(K==='"'||K==="'"||K==="`"){Q=K,Y+=K,G++;continue}if(K==="a"&&$.startsWith("await",G)){let U=$z($,G);if(U){let{quote:B,path:j,end:H}=U;if(j.startsWith(".")||j.startsWith("~/")||j.startsWith("@/")){let _=j.startsWith(".")?h1.resolve(X,j):h1.resolve(Z,j.slice(2));Y+=`await import(${B}${_}${B})`,G=H;continue}}}Y+=K,G++}return Y}function $z($,X){let Z=X+5;if(Z>=$.length)return null;if(!/\s/.test($[Z]))return null;while(Z<$.length&&/\s/.test($[Z]))Z++;if(!$.startsWith("import",Z))return null;Z+=6;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let J=$[Z];if(J!=="'"&&J!=='"')return null;Z++;let Y=Z;while(Z<$.length&&$[Z]!==J)if($[Z]==="\\")Z+=2;else Z++;if(Z>=$.length)return null;let G=$.slice(Y,Z);Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return{quote:J,path:G,end:Z+1}}function MZ($,X){let Z=$[X];if(Z!=="{"&&Z!=="[")return null;let Y=P0($,Z,Z==="{"?"}":"]",X);if(Y===-1)return null;return{pattern:$.slice(X,Y+1),endPos:Y+1}}function kZ($){let X=[],Z=$.slice(1,-1).trim();if(!Z)return X;let J=0,Y=0,G="";while(J<Z.length){let Q=Z[J];if(Q==="{"||Q==="["){let w=Y===0?MZ(Z,J):null;if(w){X.push(...kZ(w.pattern)),J=w.endPos,G="";continue}Y++}else if(Q==="}"||Q==="]")Y--;if(Y>0){J++;continue}if(Q===","){if(G.trim())X.push(G.trim());G="",J++;continue}if(Q===":"){G="",J++;continue}if(Q==="="){if(G.trim())X.push(G.trim());G="",J++;while(J<Z.length&&Z[J]!==","&&Y===0){if(Z[J]==="{"||Z[J]==="[")Y++;else if(Z[J]==="}"||Z[J]==="]")Y--;J++}continue}if(/[\w$]/.test(Q))G+=Q;J++}if(G.trim())X.push(G.trim());return X}function IZ($){let X=/^(?:export\s+)?(const|let|var)\s+([A-Za-z_$][\w$]*)/.exec($);if(!X)return null;let Z=X[0].length,J=(Y)=>Y===" "||Y==="\t";while(Z<$.length&&J($[Z]))Z++;if($[Z]===":"){let Y=0,G=null;Z++;for(;Z<$.length;Z++){let Q=$[Z];if(G){if(Q==="\\"){Z++;continue}if(Q===G)G=null;continue}if(Q==="'"||Q==='"'||Q==="`"){G=Q;continue}if(Q==="("||Q==="["||Q==="{"||Q==="<"){Y++;continue}if(Q===")"||Q==="]"||Q==="}"||Q===">"){Y--;continue}if(Q==="="&&Y<=0){let w=$[Z+1],q=$[Z-1];if(w!=="="&&w!==">"&&q!=="="&&q!=="!"&&q!=="<"&&q!==">")break}}if($[Z]!=="=")return null}while(Z<$.length&&J($[Z]))Z++;if($[Z]!=="=")return null;return{type:X[1],name:X[2],value:$.slice(Z+1).trim()}}function _Z($,X,Z,J){let Y=null,G=!1;for(let Q of $){if(G){G=!1;continue}if(Q==="\\"){G=!0;continue}if(Y){if(Q===Y)Y=null;continue}if(Q==="'"||Q==='"'||Q==="`"){Y=Q;continue}if(Q===X)J++;else if(Q===Z)J--}return J}function OZ($,X){let Z=$[X].trim(),J=IZ(Z),Y=J?[Z,J.type,J.name,J.value]:null;if(!Y){let K=Z.match(/^(?:export\s+)?(const|let|var)\s+/);if(K){let z=Z.slice(K[0].length),U=X;if(z.startsWith("{")||z.startsWith("[")){let j=z[0],H=j==="{"?"}":"]",_=_Z(z,j,H,0),L=z;for(let O=X+1;O<$.length&&_>0;O++)L+=` ${$[O].trim()}`,U=O,_=_Z($[O],j,H,_);if(_>0)L=z,U=X;z=L}let B=MZ(z,0);if(B){let j=K[1],H=B.pattern,_=z.slice(B.endPos).trim();if(_.startsWith("=")){let L=_.slice(1).trim(),O=L,F=Math.max(U,X);if(LZ(L)){let R=FZ($,F,L);O=R.value,F=R.nextIndex}else F=F+1;O=O.trim().replace(/;$/,"");let V=kZ(H),A=`__stx_src_${X}`,N=V.map((R)=>`module.exports.${R} = ${R};`).join(`
|
|
2565
|
+
`);return{type:j,name:A,value:`${O}; ${j} ${H} = ${A};
|
|
2566
|
+
${N}`,nextIndex:F}}}}throw Error(`Failed to parse variable declaration: ${Z}`)}let[,G,Q,w]=Y,q=w,W=X;if(LZ(w)){let K=FZ($,X,w);q=K.value,W=K.nextIndex}else W=X+1;while(W<$.length){let K=$[W].trim();if(K.startsWith(".")||K.startsWith("?."))q+=`
|
|
2567
|
+
${$[W]}`,W++;else break}return q=q.trim().replace(/;$/,""),{type:G,name:Q,value:q,nextIndex:W}}function MX($,X){let Z=$[X].trim(),J=Z.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!J)throw Error(`Failed to parse function declaration: ${Z}`);let[,Y]=J,G=Z.replace(/^export\s+/,""),Q=X;if(Xz(Z)){let w=Zz($,X,G);G=w.functionCode,Q=w.nextIndex}else Q=X+1;return{name:Y,functionCode:G,nextIndex:Q}}function LZ($){let X=$.trim();if(X.startsWith("{"))return P0(X,"{","}",0)===-1;if(X.startsWith("["))return P0(X,"[","]",0)===-1;return!EZ(X)}function EZ($){let X={paren:0,bracket:0,brace:0},Z=null,J=0;for(let Y=0;Y<$.length;Y++){let G=$[Y];if((Y>0?$[Y-1]:"")==="\\"&&Z)continue;if((G==='"'||G==="'")&&!Z){Z=G;continue}if(G===Z&&Z!=="`"){Z=null;continue}if(G==="`"&&!Z){Z="`";continue}if(G==="`"&&Z==="`"&&J===0){Z=null;continue}if(Z==="`"&&G==="$"&&$[Y+1]==="{"){J++,Y++;continue}if(J>0&&G==="{"){J++;continue}if(J>0&&G==="}"){J--;continue}if(Z)continue;if(G==="(")X.paren++;else if(G===")")X.paren--;else if(G==="[")X.bracket++;else if(G==="]")X.bracket--;else if(G==="{")X.brace++;else if(G==="}")X.brace--}return X.paren===0&&X.bracket===0&&X.brace===0&&Z===null}function DZ($){let X=$.indexOf("(");if(X===-1)return $.indexOf("{");let Z=P0($,"(",")",X);if(Z===-1)return-1;return $.indexOf("{",Z)}function Xz($){let X=DZ($);if(X===-1)return!0;return P0($,"{","}",X)===-1}function FZ($,X,Z){let J=Z,Y=X+1;while(Y<$.length&&!EZ(J)){let G=$[Y];J+=`
|
|
2568
2568
|
${G}`,Y++}while(Y<$.length){let G=$[Y].trim();if(G.startsWith(".")||G.startsWith("?."))J+=`
|
|
2569
|
-
${$[Y]}`,Y++;else break}return{value:J,nextIndex:Y}}function
|
|
2570
|
-
${Q}`,Y++}return{functionCode:J,nextIndex:Y}}function VZ($,X){let Z=w0($,X)??w0(`(${$})`,X);if(Z!==void 0)return Z;if(!/\bprocess\b/.test($))return;let J={...X,process:Object.freeze({env:{...v5.env}})};try{return Function(...Object.keys(J),`'use strict'; return (${$});`)(...Object.values(J))}catch{try{return Function(...Object.keys(J),`'use strict'; return ${$};`)(...Object.values(J))}catch{return}}}async function Zz($,X,Z){let J=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let G of J){let[,,Q,w]=G;try{let q=w.trim().replace(/;$/,""),W=VZ(q,X);if(W!==void 0)X[Q]=W}catch(q){console.warn(`Failed to parse export ${Q} in fallback:`,q)}}let Y=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let G of Y){let[,,Q,w]=G;if(!(Q in X))try{let q=w.trim().replace(/;$/,""),W=VZ(q,X);if(W!==void 0)X[Q]=W}catch{}}}function yZ($){let X=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Z=X?X[1]:"",J=X?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:Z,templateWithoutScript:J}}function bZ($){let X=$.trim();if(!X)return!1;return/(?:const|let|var|function)\s+\w+/.test(X)}var MX,_Z,oK,aK;var u7=D(()=>{A0();h7();C1();y0();MX=["module","exports","require","props","$props","defineProps","withDefaults","defineClientPayload","state","derived","effect","batch","onMount","onDestroy","definePageMeta","useRoute","useRouter","useHead","useSeoMeta","ref","reactive","computed","watch","onMounted","onUnmounted","nextTick","defineEmits","defineExpose","defineSlots","provide","inject","useColorMode","useDark","useMediaQuery","useScrollLock","usePreferredDark","usePreferredLight","usePreferredReducedMotion","usePreferredContrast","window","document","console","confirm","alert","fetch","params"],_Z=new Set(MX),oK=new Set(["stx","@stacksjs/stx"]);aK=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/});var IX={};t(IX,{renderSlot:()=>CZ,processSlots:()=>vZ,parseSlots:()=>SZ,parseSlotElement:()=>wz,extractSlotContent:()=>Kz,applySlots:()=>zz});function Jz($,X){let Z=1,J=X,Y="<template",G="</template";while(J<$.length&&Z>0){let Q=$.indexOf("<",J);if(Q===-1)break;if(J=Q,$.startsWith(Y,J)&&(J+Y.length>=$.length||/[\s>\/]/.test($[J+Y.length]))){Z++,J+=Y.length;continue}if($.startsWith(G,J)){let w=$.indexOf(">",J+G.length);if(w!==-1){if(Z--,Z===0)return w+1;J=w+1;continue}}J++}return Z===0?J:-1}function Gz($,X){let Z=null;for(let J=X;J<$.length;J++){let Y=$[J];if(Z){if(Y==="\\"){J++;continue}if(Y===Z)Z=null;continue}if(Y==='"'||Y==="'"){Z=Y;continue}if(Y===">")return J+1}return-1}function Qz($){let X=[],Z=[],J=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,Y=0;while(Y<$.length){let G=$.indexOf("<",Y);if(G===-1)break;if($.startsWith("<!--",G)){let U=$.indexOf("-->",G+4);Y=U===-1?$.length:U+3;continue}let Q=Gz($,G+1);if(Q===-1)break;let w=$.slice(G,Q),q=w.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!q){Y=Q;continue}let W=q[1]==="/",K=q[2].toLowerCase();if(W){let U=Z.lastIndexOf(K);if(U!==-1)Z.splice(U);Y=Q;continue}if(K==="template"&&Z.length===0){let U=w.match(J);if(U){let B=Jz($,Q);if(B!==-1){let j=U[1]||U[2]||U[3];X.push({start:G,end:B,slotName:j,content:$.slice(Q,B-11).trim(),propsBinding:U[4]||void 0}),Y=B;continue}}}if(!/\/\s*>$/.test(w)&&!Yz.has(K)){if(Z.push(K),K==="script"||K==="style"){let U=$.toLowerCase().indexOf(`</${K}>`,Q);if(U!==-1){Y=U;continue}}}Y=Q}return X}function SZ($){let X={default:"",named:new Map},Z=$,J=Qz($);for(let q of J)X.named.set(q.slotName,{name:q.slotName,content:q.content,propsBinding:q.propsBinding});J.sort((q,W)=>W.start-q.start);for(let q of J)Z=Z.slice(0,q.start)+Z.slice(q.end);let Y=[],G=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,Q;while((Q=G.exec(Z))!==null){let[q,W,K,z,U,B]=Q,j=K.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(j+_).trim(),L=`<${W}${H?" "+H:""}>${B}</${W}>`;Y.push({start:Q.index,end:Q.index+q.length,slotName:z,element:L})}let w=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((Q=w.exec(Z))!==null){let[q,W,K,z,U]=Q,B=K.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=(B+j).trim(),H=`<${W}${_?" "+_:""} />`;Y.push({start:Q.index,end:Q.index+q.length,slotName:z,element:H})}Y.sort((q,W)=>W.start-q.start);for(let q of Y){let W=X.named.get(q.slotName);if(W)W.content+=q.element;else X.named.set(q.slotName,{name:q.slotName,content:q.element});Z=Z.slice(0,q.start)+Z.slice(q.end)}return X.default=Z.trim(),X}function wz($){let X=$.match(/name\s*=\s*["']([^"']+)["']/),Z=X?X[1]:"",J={},Y=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,G;while((G=Y.exec($))!==null)J[G[1]]=G[2];let Q=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),w=Q?Q[1].trim():"";return{name:Z,props:J,defaultContent:w}}async function CZ($,X,Z,J){if(!$)return Z;let Y=$.content;if($.propsBinding&&Object.keys(X).length>0){let G=$.propsBinding.trim(),Q={...J};if(G.startsWith("{")&&G.endsWith("}")){let w=G.slice(1,-1).split(",").map((q)=>q.trim()).filter(Boolean);for(let q of w){let[W,K]=q.split(":").map((U)=>U.trim()),z=K||W;if(X[W]!==void 0)Q[z]=X[W]}}else Q[G]=X;Y=qz(Y,Q)}return Y}function qz($,X){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,J)=>{try{let Y=J.trim(),G=PZ(Y,X);return J1(String(G??""))}catch{return`{{ ${J} }}`}})}function PZ($,X){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let J=$.split("."),Y=X;for(let G of J)if(Y&&typeof Y==="object"&&G in Y)Y=Y[G];else return;return Y}let Z=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Z){let[,J,Y,G]=Z,Q=X[J],w=parseInt(G,10);if(typeof Q==="number")switch(Y){case"+":return Q+w;case"-":return Q-w;case"*":return Q*w;case"/":return Q/w}}try{if(!W0($))return;return K0($,Object.keys(X))(...Object.values(X))}catch{return}}async function vZ($,X,Z){let J=$;J=await Wz(J,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(Q,w,q,W)=>{let K=X.named.get(w),z=W?.trim()||"",U=q||"",B={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,_;while((_=j.exec(U))!==null){let H=_[1],L=_[2];B[H]=PZ(L,Z)}return await CZ(K,B,z,Z)});let G=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return J=J.replace(G,(Q,w)=>{if(Q.includes("name="))return Q;let q=w?.trim()||"";return X.default||q}),J}async function Wz($,X,Z){let J=[],Y=[];$.replace(X,(w,...q)=>{let W=q[q.length-2];return Y.push({match:w,index:W}),J.push(Z(w,...q.slice(0,-2))),w});let G=await Promise.all(J),Q=$;for(let w=Y.length-1;w>=0;w--){let{match:q,index:W}=Y[w];Q=Q.slice(0,W)+G[w]+Q.slice(W+q.length)}return Q}function Kz($){let X=SZ($);return{defaultSlot:X.default,namedSlots:X.named}}async function zz($,X,Z,J){return await vZ($,{default:X,named:Z},J)}var Yz;var EX=D(()=>{j1();y0();Yz=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function h1($,X){let Z=Uz($,X);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function Uz($,X){let Z=X;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Z};let J=P0($,"(",")",Z);if(J===-1)return{ok:!1,reason:"unclosed-paren",pos:Z};return{ok:!0,expression:$.slice(Z+1,J),endPos:J+1}}function jz($,X){let Z=$.lastIndexOf("<",X);if(Z===-1)return!1;return Z>$.lastIndexOf(">",X)}function Y5($,X,Z,J){let Y=1,G=J,Q=new RegExp(`@${X}\\s*\\(`,"g"),w=new RegExp(`@${Z}(?![a-z])`,"g");while(G<$.length&&Y>0){Q.lastIndex=G,w.lastIndex=G;let q=Q.exec($),W=w.exec($),K=q?q.index:1/0,z=W?W.index:1/0;if(K<z)Y++,G=K+q[0].length;else if(z<1/0){if(Y--,Y===0)return z;G=z+W[0].length}else break}return-1}function xZ($,X){let Z=$.slice(X).match(/^@if\s*/);if(!Z)return null;let J=X+Z[0].length,Y=h1($,J);if(!Y)return null;let G=Y.endPos,Q=Y5($,"if","endif",G);if(Q===-1)return null;let w=$.slice(G,Q),q=[],W=0,K="if",z=Y.expression,U=0,B=0;while(W<w.length){let j=w.indexOf("@",W);if(j===-1)break;W=j;let _=w.substring(j);if(jz(w,j)){W++;continue}if(/^@if\s*\(/.test(_)){B++,W++;continue}if(/^@endif(?![a-z])/.test(_)){B--,W+=6;continue}if(B===0){let H=_.match(/^@elseif\s*/);if(H){q.push({type:K,condition:z,content:w.substring(U,W),start:G+U,end:G+W});let L=W+H[0].length,O=h1(w,L);if(!O){W++;continue}K="elseif",z=O.expression,W=O.endPos,U=W;continue}else if(/^@else(?![a-z])/.test(_)){q.push({type:K,condition:z,content:w.substring(U,W),start:G+U,end:G+W}),K="else",z=void 0,W+=5,U=W;continue}}W++}return q.push({type:K,condition:z,content:w.slice(U),start:G+U,end:G+w.length}),{fullMatch:$.slice(X,Q+6),branches:q,start:X,end:Q+6}}function d7($){let X=[],Z=/@if\s*\(/g,J=Z.exec($);while(J!==null){if(X.some((Q)=>J.index>Q.start&&J.index<Q.end)){J=Z.exec($);continue}let G=xZ($,J.index);if(G)X.push(G),Z.lastIndex=G.end;J=Z.exec($)}return X}function p8($,X,Z){let J=[],Y=new RegExp(`@${X}\\s*\\(`,"g"),G=Y.exec($);while(G!==null){if(J.some((_)=>G.index>_.start&&G.index<_.end)){G=Y.exec($);continue}let w=G.index,q=w+G[0].length-1,W=P0($,"(",")",q);if(W===-1){G=Y.exec($);continue}let K=$.slice(q+1,W),z=W+1,U=Y5($,X,Z,z);if(U===-1){G=Y.exec($);continue}let B=$.slice(z,U),j=U+`@${Z}`.length;J.push({fullMatch:$.slice(w,j),name:X,params:K,content:B,start:w,end:j}),Y.lastIndex=j,G=Y.exec($)}return J}function DX($,X){let Z=$.slice(X).match(/^@switch\s*/);if(!Z)return null;let J=X+Z[0].length,Y=h1($,J);if(!Y)return null;let G=Y.endPos,Q=Y5($,"switch","endswitch",G);if(Q===-1)return null;let w=$.slice(G,Q),q=[],W=0,K=null,z=0;while(W<w.length){let U=w.slice(W),B=U.match(/^@switch\s*\(/),j=U.match(/^@endswitch(?![a-z])/);if(B){if(z++,K)K.content+=B[0];W+=B[0].length;continue}if(j){if(z--,K)K.content+=j[0];W+=j[0].length;continue}if(z>0){if(K)K.content+=w[W];W++;continue}let _=U.match(/^@case\s*/),H=U.match(/^@default(?![a-z])/),L=U.match(/^@break(?![a-z])/);if(_&&U.startsWith("@case")){if(K)q.push(K);let O=W+_[0].length,F=h1(w,O);if(!F){W++;continue}K={type:"case",value:F.expression,content:""},W=F.endPos}else if(H&&U.startsWith("@default")){if(K)q.push(K);K={type:"default",content:""},W+=H[0].length}else if(L&&U.startsWith("@break"))W+=L[0].length;else{if(K)K.content+=w[W];W++}}if(K)q.push(K);return{fullMatch:$.slice(X,Q+10),expression:Y.expression,cases:q,start:X,end:Q+10}}var fZ=()=>{};var gZ=()=>{};var i8=D(()=>{fZ();gZ()});async function uZ($){let X=$;if(!X)try{X=(await Y1())?.pagesDir||"pages"}catch{X="pages"}let Z=X,J=hZ.get(Z);if(J)return J;let Y=[];try{Y=R7(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{Y=[]}return hZ.set(Z,Y),Y}var hZ;var dZ=D(()=>{i9();R1();hZ=new Map});function Oz($){return $.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function mZ($){return Oz(JSON.stringify($))}function m7($){let X=0,Z,J=yX.map(()=>{return});while(X<$.length){if(Z===void 0||Z!==null&&Z.index<X)cZ.lastIndex=X,Z=cZ.exec($);if(!Z)return null;let Y=Z.index,G=-1,Q=null;for(let q=0;q<yX.length;q++){let W=yX[q],K=J[q];if(K===void 0||K!==null&&K.index<X)W.open.lastIndex=X,K=W.open.exec($),J[q]=K;if(!K)continue;if(K.index<Y&&(G===-1||K.index<G))G=K.index,Q=W.close}if(G===-1||!Q)return{index:Y,tag:Z[0],attrs:Z[1]??""};Q.lastIndex=G;let w=Q.exec($);if(!w)return null;X=w.index+w[0].length}return null}function n8($,X){let Z=m7($);if(!Z)return $;return $.slice(0,Z.index)+X(Z.tag,Z.attrs)+$.slice(Z.index+Z.tag.length)}var yX,cZ;var bX=D(()=>{yX=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],cZ=/<body\b([^>]*)>/gi});function SX(){return`
|
|
2569
|
+
${$[Y]}`,Y++;else break}return{value:J,nextIndex:Y}}function Zz($,X,Z){let J=Z,Y=X+1;while(Y<$.length){let G=DZ(J);if(G!==-1){if(P0(J,"{","}",G)!==-1)break}let Q=$[Y];J+=`
|
|
2570
|
+
${Q}`,Y++}return{functionCode:J,nextIndex:Y}}function VZ($,X){let Z=w0($,X)??w0(`(${$})`,X);if(Z!==void 0)return Z;if(!/\bprocess\b/.test($))return;let J={...X,process:Object.freeze({env:{...x5.env}})};try{return Function(...Object.keys(J),`'use strict'; return (${$});`)(...Object.values(J))}catch{try{return Function(...Object.keys(J),`'use strict'; return ${$};`)(...Object.values(J))}catch{return}}}async function Jz($,X,Z){let J=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let G of J){let[,,Q,w]=G;try{let q=w.trim().replace(/;$/,""),W=VZ(q,X);if(W!==void 0)X[Q]=W}catch(q){console.warn(`Failed to parse export ${Q} in fallback:`,q)}}let Y=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let G of Y){let[,,Q,w]=G;if(!(Q in X))try{let q=w.trim().replace(/;$/,""),W=VZ(q,X);if(W!==void 0)X[Q]=W}catch{}}}function yZ($){let X=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Z=X?X[1]:"",J=X?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:Z,templateWithoutScript:J}}function bZ($){let X=$.trim();if(!X)return!1;return/(?:const|let|var|function)\s+\w+/.test(X)}var kX,HZ,sK,tK;var d7=D(()=>{A0();v5();C1();y0();kX=["module","exports","require","props","$props","defineProps","withDefaults","defineClientPayload","state","derived","effect","batch","onMount","onDestroy","definePageMeta","useRoute","useRouter","useHead","useSeoMeta","ref","reactive","computed","watch","onMounted","onUnmounted","nextTick","defineEmits","defineExpose","defineSlots","provide","inject","useColorMode","useDark","useMediaQuery","useScrollLock","usePreferredDark","usePreferredLight","usePreferredReducedMotion","usePreferredContrast","window","document","console","confirm","alert","fetch","params"],HZ=new Set(kX),sK=new Set(["stx","@stacksjs/stx"]);tK=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/});var EX={};t(EX,{renderSlot:()=>CZ,processSlots:()=>vZ,parseSlots:()=>SZ,parseSlotElement:()=>qz,extractSlotContent:()=>zz,applySlots:()=>Uz});function Yz($,X){let Z=1,J=X,Y="<template",G="</template";while(J<$.length&&Z>0){let Q=$.indexOf("<",J);if(Q===-1)break;if(J=Q,$.startsWith(Y,J)&&(J+Y.length>=$.length||/[\s>\/]/.test($[J+Y.length]))){Z++,J+=Y.length;continue}if($.startsWith(G,J)){let w=$.indexOf(">",J+G.length);if(w!==-1){if(Z--,Z===0)return w+1;J=w+1;continue}}J++}return Z===0?J:-1}function Qz($,X){let Z=null;for(let J=X;J<$.length;J++){let Y=$[J];if(Z){if(Y==="\\"){J++;continue}if(Y===Z)Z=null;continue}if(Y==='"'||Y==="'"){Z=Y;continue}if(Y===">")return J+1}return-1}function wz($){let X=[],Z=[],J=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,Y=0;while(Y<$.length){let G=$.indexOf("<",Y);if(G===-1)break;if($.startsWith("<!--",G)){let U=$.indexOf("-->",G+4);Y=U===-1?$.length:U+3;continue}let Q=Qz($,G+1);if(Q===-1)break;let w=$.slice(G,Q),q=w.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!q){Y=Q;continue}let W=q[1]==="/",K=q[2].toLowerCase();if(W){let U=Z.lastIndexOf(K);if(U!==-1)Z.splice(U);Y=Q;continue}if(K==="template"&&Z.length===0){let U=w.match(J);if(U){let B=Yz($,Q);if(B!==-1){let j=U[1]||U[2]||U[3];X.push({start:G,end:B,slotName:j,content:$.slice(Q,B-11).trim(),propsBinding:U[4]||void 0}),Y=B;continue}}}if(!/\/\s*>$/.test(w)&&!Gz.has(K)){if(Z.push(K),K==="script"||K==="style"){let U=$.toLowerCase().indexOf(`</${K}>`,Q);if(U!==-1){Y=U;continue}}}Y=Q}return X}function SZ($){let X={default:"",named:new Map},Z=$,J=wz($);for(let q of J)X.named.set(q.slotName,{name:q.slotName,content:q.content,propsBinding:q.propsBinding});J.sort((q,W)=>W.start-q.start);for(let q of J)Z=Z.slice(0,q.start)+Z.slice(q.end);let Y=[],G=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,Q;while((Q=G.exec(Z))!==null){let[q,W,K,z,U,B]=Q,j=K.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=(j+H).trim(),L=`<${W}${_?" "+_:""}>${B}</${W}>`;Y.push({start:Q.index,end:Q.index+q.length,slotName:z,element:L})}let w=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((Q=w.exec(Z))!==null){let[q,W,K,z,U]=Q,B=K.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(B+j).trim(),_=`<${W}${H?" "+H:""} />`;Y.push({start:Q.index,end:Q.index+q.length,slotName:z,element:_})}Y.sort((q,W)=>W.start-q.start);for(let q of Y){let W=X.named.get(q.slotName);if(W)W.content+=q.element;else X.named.set(q.slotName,{name:q.slotName,content:q.element});Z=Z.slice(0,q.start)+Z.slice(q.end)}return X.default=Z.trim(),X}function qz($){let X=$.match(/name\s*=\s*["']([^"']+)["']/),Z=X?X[1]:"",J={},Y=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,G;while((G=Y.exec($))!==null)J[G[1]]=G[2];let Q=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),w=Q?Q[1].trim():"";return{name:Z,props:J,defaultContent:w}}async function CZ($,X,Z,J){if(!$)return Z;let Y=$.content;if($.propsBinding&&Object.keys(X).length>0){let G=$.propsBinding.trim(),Q={...J};if(G.startsWith("{")&&G.endsWith("}")){let w=G.slice(1,-1).split(",").map((q)=>q.trim()).filter(Boolean);for(let q of w){let[W,K]=q.split(":").map((U)=>U.trim()),z=K||W;if(X[W]!==void 0)Q[z]=X[W]}}else Q[G]=X;Y=Wz(Y,Q)}return Y}function Wz($,X){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,J)=>{try{let Y=J.trim(),G=PZ(Y,X);return J1(String(G??""))}catch{return`{{ ${J} }}`}})}function PZ($,X){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let J=$.split("."),Y=X;for(let G of J)if(Y&&typeof Y==="object"&&G in Y)Y=Y[G];else return;return Y}let Z=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Z){let[,J,Y,G]=Z,Q=X[J],w=parseInt(G,10);if(typeof Q==="number")switch(Y){case"+":return Q+w;case"-":return Q-w;case"*":return Q*w;case"/":return Q/w}}try{if(!W0($))return;return K0($,Object.keys(X))(...Object.values(X))}catch{return}}async function vZ($,X,Z){let J=$;J=await Kz(J,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(Q,w,q,W)=>{let K=X.named.get(w),z=W?.trim()||"",U=q||"",B={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,H;while((H=j.exec(U))!==null){let _=H[1],L=H[2];B[_]=PZ(L,Z)}return await CZ(K,B,z,Z)});let G=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return J=J.replace(G,(Q,w)=>{if(Q.includes("name="))return Q;let q=w?.trim()||"";return X.default||q}),J}async function Kz($,X,Z){let J=[],Y=[];$.replace(X,(w,...q)=>{let W=q[q.length-2];return Y.push({match:w,index:W}),J.push(Z(w,...q.slice(0,-2))),w});let G=await Promise.all(J),Q=$;for(let w=Y.length-1;w>=0;w--){let{match:q,index:W}=Y[w];Q=Q.slice(0,W)+G[w]+Q.slice(W+q.length)}return Q}function zz($){let X=SZ($);return{defaultSlot:X.default,namedSlots:X.named}}async function Uz($,X,Z,J){return await vZ($,{default:X,named:Z},J)}var Gz;var DX=D(()=>{j1();y0();Gz=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function u1($,X){let Z=jz($,X);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function jz($,X){let Z=X;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Z};let J=P0($,"(",")",Z);if(J===-1)return{ok:!1,reason:"unclosed-paren",pos:Z};return{ok:!0,expression:$.slice(Z+1,J),endPos:J+1}}function Bz($,X){let Z=$.lastIndexOf("<",X);if(Z===-1)return!1;return Z>$.lastIndexOf(">",X)}function G5($,X,Z,J){let Y=1,G=J,Q=new RegExp(`@${X}\\s*\\(`,"g"),w=new RegExp(`@${Z}(?![a-z])`,"g");while(G<$.length&&Y>0){Q.lastIndex=G,w.lastIndex=G;let q=Q.exec($),W=w.exec($),K=q?q.index:1/0,z=W?W.index:1/0;if(K<z)Y++,G=K+q[0].length;else if(z<1/0){if(Y--,Y===0)return z;G=z+W[0].length}else break}return-1}function xZ($,X){let Z=$.slice(X).match(/^@if\s*/);if(!Z)return null;let J=X+Z[0].length,Y=u1($,J);if(!Y)return null;let G=Y.endPos,Q=G5($,"if","endif",G);if(Q===-1)return null;let w=$.slice(G,Q),q=[],W=0,K="if",z=Y.expression,U=0,B=0;while(W<w.length){let j=w.indexOf("@",W);if(j===-1)break;W=j;let H=w.substring(j);if(Bz(w,j)){W++;continue}if(/^@if\s*\(/.test(H)){B++,W++;continue}if(/^@endif(?![a-z])/.test(H)){B--,W+=6;continue}if(B===0){let _=H.match(/^@elseif\s*/);if(_){q.push({type:K,condition:z,content:w.substring(U,W),start:G+U,end:G+W});let L=W+_[0].length,O=u1(w,L);if(!O){W++;continue}K="elseif",z=O.expression,W=O.endPos,U=W;continue}else if(/^@else(?![a-z])/.test(H)){q.push({type:K,condition:z,content:w.substring(U,W),start:G+U,end:G+W}),K="else",z=void 0,W+=5,U=W;continue}}W++}return q.push({type:K,condition:z,content:w.slice(U),start:G+U,end:G+w.length}),{fullMatch:$.slice(X,Q+6),branches:q,start:X,end:Q+6}}function m7($){let X=[],Z=/@if\s*\(/g,J=Z.exec($);while(J!==null){if(X.some((Q)=>J.index>Q.start&&J.index<Q.end)){J=Z.exec($);continue}let G=xZ($,J.index);if(G)X.push(G),Z.lastIndex=G.end;J=Z.exec($)}return X}function i8($,X,Z){let J=[],Y=new RegExp(`@${X}\\s*\\(`,"g"),G=Y.exec($);while(G!==null){if(J.some((H)=>G.index>H.start&&G.index<H.end)){G=Y.exec($);continue}let w=G.index,q=w+G[0].length-1,W=P0($,"(",")",q);if(W===-1){G=Y.exec($);continue}let K=$.slice(q+1,W),z=W+1,U=G5($,X,Z,z);if(U===-1){G=Y.exec($);continue}let B=$.slice(z,U),j=U+`@${Z}`.length;J.push({fullMatch:$.slice(w,j),name:X,params:K,content:B,start:w,end:j}),Y.lastIndex=j,G=Y.exec($)}return J}function yX($,X){let Z=$.slice(X).match(/^@switch\s*/);if(!Z)return null;let J=X+Z[0].length,Y=u1($,J);if(!Y)return null;let G=Y.endPos,Q=G5($,"switch","endswitch",G);if(Q===-1)return null;let w=$.slice(G,Q),q=[],W=0,K=null,z=0;while(W<w.length){let U=w.slice(W),B=U.match(/^@switch\s*\(/),j=U.match(/^@endswitch(?![a-z])/);if(B){if(z++,K)K.content+=B[0];W+=B[0].length;continue}if(j){if(z--,K)K.content+=j[0];W+=j[0].length;continue}if(z>0){if(K)K.content+=w[W];W++;continue}let H=U.match(/^@case\s*/),_=U.match(/^@default(?![a-z])/),L=U.match(/^@break(?![a-z])/);if(H&&U.startsWith("@case")){if(K)q.push(K);let O=W+H[0].length,F=u1(w,O);if(!F){W++;continue}K={type:"case",value:F.expression,content:""},W=F.endPos}else if(_&&U.startsWith("@default")){if(K)q.push(K);K={type:"default",content:""},W+=_[0].length}else if(L&&U.startsWith("@break"))W+=L[0].length;else{if(K)K.content+=w[W];W++}}if(K)q.push(K);return{fullMatch:$.slice(X,Q+10),expression:Y.expression,cases:q,start:X,end:Q+10}}var fZ=()=>{};var gZ=()=>{};var n8=D(()=>{fZ();gZ()});async function uZ($){let X=$;if(!X)try{X=(await Y1())?.pagesDir||"pages"}catch{X="pages"}let Z=X,J=hZ.get(Z);if(J)return J;let Y=[];try{Y=T7(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{Y=[]}return hZ.set(Z,Y),Y}var hZ;var dZ=D(()=>{n9();R1();hZ=new Map});function Lz($){return $.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function mZ($){return Lz(JSON.stringify($))}function c7($){let X=0,Z,J=bX.map(()=>{return});while(X<$.length){if(Z===void 0||Z!==null&&Z.index<X)cZ.lastIndex=X,Z=cZ.exec($);if(!Z)return null;let Y=Z.index,G=-1,Q=null;for(let q=0;q<bX.length;q++){let W=bX[q],K=J[q];if(K===void 0||K!==null&&K.index<X)W.open.lastIndex=X,K=W.open.exec($),J[q]=K;if(!K)continue;if(K.index<Y&&(G===-1||K.index<G))G=K.index,Q=W.close}if(G===-1||!Q)return{index:Y,tag:Z[0],attrs:Z[1]??""};Q.lastIndex=G;let w=Q.exec($);if(!w)return null;X=w.index+w[0].length}return null}function r8($,X){let Z=c7($);if(!Z)return $;return $.slice(0,Z.index)+X(Z.tag,Z.attrs)+$.slice(Z.index+Z.tag.length)}var bX,cZ;var SX=D(()=>{bX=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],cZ=/<body\b([^>]*)>/gi});function CX(){return`
|
|
2571
2571
|
(function(){
|
|
2572
2572
|
var tip=null,hideTimer=null,currentEl=null;
|
|
2573
2573
|
|
|
@@ -2670,7 +2670,7 @@ document.addEventListener("focusout",function(e){
|
|
|
2670
2670
|
if(el) hideTip();
|
|
2671
2671
|
});
|
|
2672
2672
|
})();
|
|
2673
|
-
`}function
|
|
2673
|
+
`}function vX(){return Q5}function xX($){let X=Q5;return lZ.push($),Q5=$,X}function fX($){lZ.pop(),Q5=$}function gX(){return o8>0}function hX($){PX.add($)}function pZ($){o8++;try{$()}finally{if(o8--,o8===0){let X=[...PX];PX.clear();for(let Z of X)Z()}}}function iZ($){let X=Q5;Q5=null;try{return $()}finally{Q5=X}}var Q5=null,lZ,o8=0,PX;var nZ=D(()=>{lZ=[],PX=new Set});function d1($){let X=$,Z=new Set,J=new Set,Y=()=>{let G=vX();if(G)J.add(G);return X};return Y.set=(G)=>{if(!Object.is(G,X)){let Q=X;if(X=G,Z.forEach((w)=>w(X,Q)),gX())J.forEach((w)=>hX(w));else J.forEach((w)=>w())}},Y.update=(G)=>{Y.set(G(X))},Y.subscribe=(G)=>{return Z.add(G),()=>Z.delete(G)},Object.defineProperty(Y,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(Y,"value",{get:()=>Y(),set:(G)=>Y.set(G),configurable:!0}),Y}function a8($){let X,Z=!0,J=new Set,Y=()=>{if(!Z)if(Z=!0,gX())J.forEach((Q)=>hX(Q));else J.forEach((Q)=>Q())},G=()=>{let Q=vX();if(Q)J.add(Q);if(Z){let w=xX(Y);try{X=$()}finally{fX(w)}Z=!1}return X};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function t8($,X={}){let Z,J=!1,Y=()=>{if(J)return;if(Z)Z(),Z=void 0;let G=xX(Y);try{let Q=$();Z=typeof Q==="function"?Q:void 0}finally{fX(G)}};if(X.immediate!==!1)Y();return()=>{if(J=!0,Z)Z()}}function dX($){pZ($)}function mX($){uX.push($)}function cX($){s8.push($)}function Fz(){rZ(uX,"onMount",s8)}function Vz(){rZ(s8,"onDestroy")}function rZ($,X,Z){let J=$.splice(0,$.length);for(let Y of J)try{let G=Y();if(Z&&typeof G==="function")Z.push(G)}catch(G){console.error(`[stx] ${X} callback threw:`,G)}}function Az(){return{mount:uX.length,destroy:s8.length}}function e8($){return typeof $==="function"&&$._isSignal===!0}function $$($){return typeof $==="function"&&$._isDerived===!0}function lX($){if(e8($)||$$($))return $();return $}function X$($){return iZ($)}function Rz($,X){let Z=typeof $==="function"?$:()=>$,J=d1([]),Y=a8(()=>J().reduce((w,q)=>X(w,q.action),Z())),G=!1;return t8(()=>{if(Z(),!G){G=!0;return}if(X$(()=>J().length))J.set([])}),[Y,(w,q)=>{let W={action:w};J.set([...J(),W]);let K=()=>{let z=J().filter((U)=>U!==W);if(z.length!==J().length)J.set(z)};if(q&&typeof q.then==="function")Promise.resolve(q).then(K,K);return K}]}var uX,s8;var Z$=D(()=>{nZ();uX=[],s8=[]});var sZ={};t(sZ,{useOptimistic:()=>Rz,untrack:()=>lX,state:()=>d1,runMountCallbacks:()=>Fz,runDestroyCallbacks:()=>Vz,pendingLifecycleCounts:()=>Az,peek:()=>X$,onMount:()=>mX,onDestroy:()=>cX,isSignal:()=>e8,isDerived:()=>$$,generateSignalsRuntimeDev:()=>pX,generateSignalsRuntime:()=>oZ,effect:()=>t8,derived:()=>a8,default:()=>Tz,batch:()=>dX});function oZ(){let $=Nz(pX());try{let Z=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($);return Z=Z.replace(/\}(var |let |const |function )/g,"};$1"),Z}catch{return $}}function Nz($){let X=[],Z=0,J="console.log(";while(Z<$.length){let Y=$.indexOf(J,Z);if(Y===-1){X.push($.slice(Z));break}X.push($.slice(Z,Y));let G=1,Q=Y+J.length;while(Q<$.length&&G>0){let w=$[Q];if(w==='"'||w==="'"||w==="`"){let q=w;Q++;while(Q<$.length&&$[Q]!==q){if($[Q]==="\\")Q++;Q++}Q++;continue}if(w==="(")G++;else if(w===")")G--;Q++}X.push("0"),Z=Q}return X.join("")}function pX(){return`
|
|
2674
2674
|
// STX Signals Runtime (Development Build)
|
|
2675
2675
|
console.log('[stx] signals runtime loading');
|
|
2676
2676
|
// Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
|
|
@@ -10636,42 +10636,42 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
10636
10636
|
}
|
|
10637
10637
|
}
|
|
10638
10638
|
})();
|
|
10639
|
-
`}var
|
|
10639
|
+
`}var Tz;var aZ=D(()=>{Z$();Z1();Z$();Tz={state:d1,derived:a8,effect:t8,batch:dX,onMount:mX,onDestroy:cX,isSignal:e8,isDerived:$$,untrack:lX,peek:X$,generateSignalsRuntime:oZ,generateSignalsRuntimeDev:pX}});var iX={};t(iX,{templateCache:()=>tZ,readFileCached:()=>Mz,invalidateFileCacheByDir:()=>Iz,invalidateFileCache:()=>kz,hashFilePath:()=>l7,getCachedSignalsRuntime:()=>yz,getCachedRouterScript:()=>bz,clearDevCaches:()=>Sz,checkCache:()=>Cz,cacheTemplate:()=>Pz,__setSignalsGeneratorsForTest:()=>Dz});import m1 from"fs";import f5 from"path";async function Mz($){let Z;for(let J=0;J<3;J++)try{let G=(await m1.promises.stat($)).mtime.getTime(),Q=w5.get($);if(Q&&Q.mtime===G)return Q.content;let w=await Bun.file($).text(),W=(await m1.promises.stat($)).mtime.getTime();if(W!==G)continue;return w5.set($,{content:w,mtime:W}),w}catch(Y){Z=Y;break}throw w5.delete($),Error(`File not found: ${$}${Z?` (${Z.message})`:""}`)}function kz($){w5.delete($)}function Iz($){for(let X of w5.keys())if(X.startsWith($))w5.delete(X)}function Dz($){eZ=$}async function yz($=!1){let X=eZ??await Promise.resolve().then(() => (aZ(),sZ));if($)return X.generateSignalsRuntimeDev();if(J$===null)J$=X.generateSignalsRuntime();return J$}async function bz(){if(Y$===null){let{getRouterScript:$}=await Promise.resolve().then(() => (b1(),x6));Y$=$()}return Y$}function Sz(){w5.clear(),XJ(),J$=null,Ez=null,Y$=null}function $J($){let X={debug:$.debug===!0,middleware:($.middleware??[]).map((Z)=>({name:Z.name,timing:Z.timing,handler:String(Z.handler)})),customDirectives:($.customDirectives??[]).map((Z)=>({name:Z.name,hasEndTag:Z.hasEndTag===!0,handler:String(Z.handler)}))};return new Bun.CryptoHasher("sha1").update(JSON.stringify(X)).digest("hex")}async function Cz($,X){try{if(!X.cachePath)return null;let Z=f5.resolve(X.cachePath),J=f5.join(Z,`${l7($)}.html`),Y=f5.join(Z,`${l7($)}.meta.json`);if(!await i(J)||!await i(Y))return null;let G=await Bun.file(Y).text(),Q=JSON.parse(G);if(Q.cacheVersion!==X.cacheVersion)return null;if(Q.optionsSignature!==$J(X))return null;if((await m1.promises.stat($)).mtime.getTime()>Q.mtime)return null;for(let q of Q.dependencies)if(await i(q)){if((await m1.promises.stat(q)).mtime.getTime()>Q.mtime)return null}else return null;return await Bun.file(J).text()}catch(Z){return console.warn(`Cache error for ${$}:`,Z),null}}async function Pz($,X,Z,J){try{if(!J.cachePath)return;let Y=f5.resolve(J.cachePath);await m1.promises.mkdir(Y,{recursive:!0});let G=f5.join(Y,`${l7($)}.html`),Q=f5.join(Y,`${l7($)}.meta.json`),w=await m1.promises.stat($);await Bun.write(G,X);let q={sourcePath:$,mtime:w.mtime.getTime(),dependencies:Array.from(Z),cacheVersion:J.cacheVersion,optionsSignature:$J(J),generatedAt:Date.now()};await Bun.write(Q,JSON.stringify(q,null,2)),tZ.set($,{output:X,mtime:w.mtime.getTime(),dependencies:Z})}catch(Y){console.warn(`Failed to cache template ${$}:`,Y)}}function l7($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,vz)}var tZ,w5,J$=null,Ez=null,eZ=null,Y$=null,vz=16;var nX=D(()=>{A0();tZ=new Map,w5=new Map});function ZJ($){return $.includes("data-stx-runtime")}function JJ($){let X=/window\.stx\s*\.\s*[A-Za-z_$]|\}\s*=\s*window\.stx\s*;/g;for(let Z=X.exec($);Z!==null;Z=X.exec($)){let J=$.slice(Math.max(0,Z.index-80),Z.index);if(/if\s*\(\s*window\.stx\s*\)|window\.stx\s*&&/.test(J))continue;return!0}return!1}function rX($,X){let Z=$.indexOf("<script"),J=$.search(/<!doctype\b/i);if(Z!==-1&&(J===-1||Z>J))return $.slice(0,Z)+X+`
|
|
10640
10640
|
`+$.slice(Z);let Y=/<head\b[^>]*>/i.exec($);if(Y){let Q=Y.index+Y[0].length;return`${$.slice(0,Q)}
|
|
10641
10641
|
${X}${$.slice(Q)}`}if($.includes("</head>")){let Q=$.indexOf("</head>");return $.slice(0,Q)+X+`
|
|
10642
|
-
`+$.slice(Q)}if(
|
|
10642
|
+
`+$.slice(Q)}if(c7($))return r8($,(Q)=>`${Q}
|
|
10643
10643
|
${X}`);return`${X}
|
|
10644
|
-
${$}`}async function
|
|
10644
|
+
${$}`}async function G$($,X){if($.includes("data-stx-runtime")||$.includes("window.stx.state")||$.includes("STX Signals Runtime"))return $;if(X.buildMode==="serve")return rX($,'<script data-stx-runtime src="/_stx/runtime.js"></script>');if(X.buildMode==="compile")return rX($,'<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>');let{getCachedSignalsRuntime:Z}=await Promise.resolve().then(() => (nX(),iX)),J=await Z(X.debug);return rX($,`<script data-stx-scoped data-stx-runtime>${J}</script>`)}function xz($){return/<[a-z][^>]*?\sx-tooltip\s*=/i.test($)}function YJ($){if($.includes("data-stx-tooltip-runtime")||!xz($))return $;let X=`<script data-stx-scoped data-stx-tooltip-runtime>${CX()}</script>`,Z=$.lastIndexOf("</body>");if(Z===-1)return`${$}
|
|
10645
10645
|
${X}`;return`${$.slice(0,Z)}${X}
|
|
10646
|
-
${$.slice(Z)}`}async function
|
|
10647
|
-
`}let{getCachedRouterScript:Y}=await Promise.resolve().then(() => (
|
|
10648
|
-
</body>`+$.slice(Q+7)}var
|
|
10649
|
-
`)}else{if(!wJ(
|
|
10646
|
+
${$.slice(Z)}`}async function oX($,X){if(!$.includes("</body>"))return $;if($.includes("data-stx-router")||$.includes("__stxRouter)return")||$.includes("__stxRouter=true"))return $;let Z=X?.router,J="";{let w={};if(Z){if(Z.container)w.container=Z.container;if(Z.interceptAllLinks!==void 0)w.interceptAllLinks=Z.interceptAllLinks;if(Z.progress!==void 0)w.progress=Z.progress;if(Z.viewTransitions!==void 0)w.viewTransitions=Z.viewTransitions;if(Z.viewTransitionDuration!==void 0)w.viewTransitionDuration=Z.viewTransitionDuration;if(Z.viewTransitionEasing!==void 0)w.viewTransitionEasing=Z.viewTransitionEasing;if(Z.scrollToTop!==void 0)w.scrollToTop=Z.scrollToTop;if(Z.prefetch!==void 0)w.prefetch=Z.prefetch;if(Z.cache!==void 0)w.cache=Z.cache;if(Z.progressColor!==void 0)w.progressColor=Z.progressColor;if(Z.progressHeight!==void 0)w.progressHeight=Z.progressHeight}try{let q=await uZ(X?.pagesDir);if(q.length>0)w.ownedRoutes=q}catch{}if(Object.keys(w).length>0)J=`<script>window.__stxRouterConfig=${mZ(w)};</script>
|
|
10647
|
+
`}let{getCachedRouterScript:Y}=await Promise.resolve().then(() => (nX(),iX)),G=X?.buildMode==="compile"?'<script data-stx-router src="/__stx/router.__STX_HASH__.js"></script>':X?.buildMode==="serve"?'<script data-stx-router src="/_stx/router.js"></script>':`<script data-stx-router>${await Y()}</script>`,Q=$.lastIndexOf("</body>");return $.slice(0,Q)+J+G+`
|
|
10648
|
+
</body>`+$.slice(Q+7)}var Q$=D(()=>{dZ();SX()});var z$={};t(z$,{scanScriptTags:()=>KJ,rewriteStxImportSpecifiers:()=>BJ,processSignals:()=>X4,processScriptSetup:()=>UJ,preEvalLiteralReactiveIfs:()=>eX,parseLoopExpression:()=>aX,hasSignalsSyntax:()=>K$,findMarkupIndexOutsideScripts:()=>q$,extractExports:()=>jJ,convertSignalLoopsToAttributes:()=>$4,convertSignalDirectivesToAttributes:()=>tX});function KJ($,X={}){let Z=[];for(let J of h8($,P1)){let Y=J.token.match(/^<script\b([^>]*)>/i),G=J.token.match(/<\/script\s*>$/i);if(!Y||!G)continue;let Q=Y[1];if(X.skipAttrs){if(X.skipAttrs.lastIndex=0,X.skipAttrs.test(Q))continue}let w=Y[0].length,q=J.token.length-G[0].length;Z.push({fullMatch:J.token,attrs:Q,body:J.token.slice(w,q),start:J.start,end:J.end})}return Z}function aX($){let X=$.trim(),Z=X.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(Z){let Y=Z[1].trim(),G=Z[2].trim(),{itemVar:Q,indexVar:w}=GJ(G);if(Q)return{style:"as",iterable:Y,itemVar:Q,indexVar:w}}let J=X.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(J){let Y=J[1].trim(),G=J[2].trim(),{itemVar:Q,indexVar:w}=GJ(Y);if(Q)return{style:"in",iterable:G,itemVar:Q,indexVar:w}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function GJ($){let X=$.trim(),Z=X.match(/^(\w+)\s*=>\s*(\w+)$/);if(Z)return{itemVar:Z[2],indexVar:Z[1]};let J=X.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(J)return{itemVar:J[1],indexVar:J[2]||null};let Y=X.match(/^(\w+)\s*,\s*(\w+)$/);if(Y)return{itemVar:Y[1],indexVar:Y[2]};let G=X.match(/^(\w+)$/);if(G)return{itemVar:G[1],indexVar:null};return{itemVar:null,indexVar:null}}function K$($){return K2($)}function gz($){let X=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,Z=0,J;while((J=X.exec($))!==null){let Y=J[1];if(Y.startsWith("if"))Z++;else if(Y==="endif")Z--;else if(Z===0)return!0}return!1}function hz($){let X=new Set,Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,J=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal)\s*(?:<[^>]*>)?\s*\(/g,Y;while((Y=Z.exec($))!==null){let G=Y[1],Q;while((Q=J.exec(G))!==null)X.add(Q[1])}return X}function uz($){if(!/[:@]for\s*=/.test($)&&!/\bx-for\s*=/.test($))return[];let X=new RegExp(`<([a-zA-Z][\\w-]*)\\b(${sX})>`,"iy"),Z=/(?:^|\s)(?::for|@for|x-for)\s*=\s*(?:"([^"]*)"|'([^']*)')/i,J=h8($,(G,Q)=>{X.lastIndex=Q;let w=X.exec(G);if(!w||w.index!==Q||!Z.test(w[2]))return-1;return X.lastIndex}),Y=[];for(let G of J){X.lastIndex=0;let Q=X.exec(G.token);if(!Q)continue;let w=Q[2].match(Z),q=aX(w?.[1]??w?.[2]??""),W=[q.itemVar,q.indexVar].filter(Boolean);if(W.length===0)continue;let K=Q[1],U=/\/\s*>$/.test(G.token)||W$.has(K.toLowerCase())?G.end:zJ($,G.start,K,G.end);if(U!==-1)Y.push({start:G.start,end:U,vars:new Set(W)})}return Y}function dz($){return $.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function wJ($,X,Z,J){if(!$)return!1;let Y=dz($),G=!1,Q=!1,w=!1,q=/([a-zA-Z_$][\w$]*)/g,W;while((W=q.exec(Y))!==null){let B=W[1];if(Y.slice(0,W.index).trimEnd().endsWith("."))continue;if(QJ.has(B))continue;if(X.has(B)||J?.has(B))G=!0;else if(Z&&B in Z)Q=!0}let K=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,z;while((z=K.exec(Y))!==null){let B=z[1];if(Y.slice(0,z.index).trimEnd().endsWith("."))continue;if(QJ.has(B)||Z&&B in Z)continue;w=!0}return(G||w)&&!Q}function w$($,X,Z){let J=Z===void 0?` ${X}`:` ${X}="${Z.replace(/"/g,""")}"`,Y=$.trim(),G=Y.match(WJ);if(G&&mz(G[3],G[1])){let[,Q,w,q]=G;return`<${Q}${w}${J}>${q}</${Q}>`}return`<template${J}>${Y}</template>`}function mz($,X){let Z=new RegExp(`<(/)?${X}(?=[\\s/>])`,"gi"),J=0,Y;while((Y=Z.exec($))!==null)if(Y[1]){if(J--,J<0)return!1}else J++;return!0}function tX($,X){let Z=hz($);function J(Y){let G=Y,Q=uz(Y),w=(z)=>{let U=new Set;for(let B of Q)if(z>B.start&&z<B.end)for(let j of B.vars)U.add(j);return U},q=/@if\s*\(/g,W,K=[];while((W=q.exec(G))!==null){let z=W.index,U=z+W[0].length,B=1,j=U;while(j<G.length&&B>0){if(G[j]==="(")B++;else if(G[j]===")")B--;j++}if(B!==0)continue;let H=G.substring(U,j-1).trim(),_=j,L=1,O=_,F=/@(if\s*\(|endif)/g;F.lastIndex=_;let V;while((V=F.exec(G))!==null)if(V[1].startsWith("if"))L++;else if(V[1]==="endif"){if(L--,L===0){O=V.index+V[0].length;break}}if(L!==0)continue;let A=G.substring(_,O-6).trim(),N;if(gz(A)){let R=m7(G.substring(z,O));if(R.length===0)continue;let T=R[0].branches.filter((I)=>I.type!=="else"),k=w(z);if(!(T.length>0&&T.every((I)=>wJ(I.condition,Z,X,k))))continue;N=R[0].branches.map((I)=>{let S=J(I.content);if(I.type==="elseif")return w$(S,"@else-if",I.condition??"");if(I.type==="else")return w$(S,"@else");return w$(S,"@if",I.condition??"")}).join(`
|
|
10649
|
+
`)}else{if(!wJ(H,Z,X,w(z)))continue;N=w$(J(A),"@if",H)}K.push({start:z,end:O,replacement:N}),q.lastIndex=O}for(let z=K.length-1;z>=0;z--){let{start:U,end:B,replacement:j}=K[z];G=G.substring(0,U)+j+G.substring(B)}return G}return J($)}function cz($){let X=$.trim();if(X==="")return;if(X==="true")return!0;if(X==="false")return!1;if(X==="null")return!1;if(X==="undefined")return!1;if(X==="NaN")return!1;if(/^-?\d+(?:\.\d+)?$/.test(X)){let Y=Number(X);return Y!==0&&!Number.isNaN(Y)}let Z=X.match(/^'((?:\\.|[^'\\])*)'$/);if(Z)return Z[1].length>0;let J=X.match(/^"((?:\\.|[^"\\])*)"$/);if(J)return J[1].length>0;return}function zJ($,X,Z,J){if(W$.has(Z.toLowerCase()))return J;let Y=Z.toLowerCase(),G=$.toLowerCase(),Q=$.length,w=1,q=J;while(q<Q){let W=$.indexOf("<",q);if(W===-1)return-1;if(q=W,$.startsWith("<!--",q)){let B=$.indexOf("-->",q+4);if(B===-1)return-1;q=B+3;continue}let K=/^<(script|style)\b/i.exec($.slice(q,q+8));if(K){let B=$.indexOf(">",q);if(B===-1)return-1;if($[B-1]==="/"){q=B+1;continue}let j=G.indexOf(`</${K[1].toLowerCase()}`,q);if(j===-1)return-1;let H=$.indexOf(">",j);if(H===-1)return-1;q=H+1;continue}if($[q+1]==="/"){let B=/^<\/([a-z][\w-]*)\s*>/i.exec($.slice(q,q+64));if(!B){q++;continue}if(B[1].toLowerCase()===Y){if(w--,q+=B[0].length,w===0)return q;continue}q+=B[0].length;continue}let z=/^<([a-z][\w-]*)\b/i.exec($.slice(q,q+64));if(!z){q++;continue}let U=$.indexOf(">",q);if(U===-1)return-1;if(z[1].toLowerCase()===Y){let B=$.slice(q,U+1);if(!(/\/\s*>$/.test(B)||W$.has(Y)))w++}q=U+1}return-1}function pz($,X){let Z=X,J=$.length;for(;;){while(Z<J&&$[Z]!=="<")Z++;if(Z>=J)return!1;if($.startsWith("<!--",Z)){let Q=$.indexOf("-->",Z+4);if(Q===-1)return!1;Z=Q+3;continue}break}if($[Z+1]==="/")return!1;let Y=$.indexOf(">",Z);if(Y===-1)return!1;let G=$.slice(Z,Y+1);return lz.test(G)}function eX($){if(!$.includes(":if")&&!$.includes(":show")&&!$.includes("x-if")&&!$.includes("x-show")&&!$.includes("@if=")&&!$.includes("@show="))return $;let X=[],Z=/<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi,J;while((J=Z.exec($))!==null)X.push([J.index,J.index+J[0].length]);let Y=(z)=>X.some(([U,B])=>z>=U&&z<B),G=/<([a-zA-Z][\w-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*?)\s+(:if|:show|x-if|x-show|@if|@show)\s*=\s*"([^"]*)"((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)(\/?)>/g,Q=[],w;while((w=G.exec($))!==null){if(Y(w.index))continue;let[z,U,B,j,H,_,L]=w,O=cz(H);if(O===void 0)continue;let F=w.index,V=F+z.length,R=!!L||/\/\s*>$/.test(z)||W$.has(U.toLowerCase())?V:zJ($,F,U,V);if(R===-1)continue;if((j===":if"||j==="x-if"||j==="@if")&&pz($,R)){G.lastIndex=V;continue}if(O===!0){let k=`<${U}${B}${_}${L}>`;Q.push({start:F,end:V,replacement:k});continue}Q.push({start:F,end:R,replacement:""}),G.lastIndex=R}if(Q.length===0)return $;Q.sort((z,U)=>z.start-U.start);let q=[],W=-1;for(let z of Q){if(z.start<W)continue;q.push(z),W=z.end}let K=$;for(let z=q.length-1;z>=0;z--){let{start:U,end:B,replacement:j}=q[z];K=K.substring(0,U)+j+K.substring(B)}return K}function $4($,X){let Z=$,J=/@(for|foreach)\s*\(/g,Y,G=[],Q=[];while((Y=J.exec(Z))!==null){let w=Y[1],q=Y.index,W=q+Y[0].length,K=1,z=W;while(z<Z.length&&K>0){if(Z[z]==="(")K++;else if(Z[z]===")")K--;z++}if(K!==0)continue;let U=Z.substring(W,z-1).trim(),B=z,j=aX(U),H=w==="for"?"@endfor":"@endforeach",_=1,L=B,O=w==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${w}\\s*\\(|end${w})`,"g");O.lastIndex=B;let F;while((F=O.exec(Z))!==null)if(F[1].startsWith(w))_++;else if(_--,_===0){L=F.index+F[0].length;break}if(_!==0)continue;let V=()=>{let T=[j.itemVar,j.indexVar].filter(Boolean);if(T.length)Q.push({start:q,end:L,vars:T})};if(j.iterable){let T=j.iterable.trim();if(T.startsWith("[")||T.startsWith("{")||T.startsWith("'")||T.startsWith('"')||T.startsWith("`")||/^-?\d/.test(T)){V();continue}let k=T.split(/[.[(]/)[0].trim(),M=X?k in X:!1,E=Q.some((I)=>q>I.start&&q<I.end&&I.vars.includes(k));if(k&&(M||E)){V();continue}}if(j.style==="as")U=j.indexVar?`(${j.itemVar}, ${j.indexVar}) in ${j.iterable}`:`${j.itemVar} in ${j.iterable}`;let A=Z.substring(B,L-H.length).trim(),N=A.match(WJ),R;if(N){let[,T,k,M]=N;R=`<${T}${k} @for="${U}">${M}</${T}>`}else R=`<template @for="${U}">${A}</template>`;G.push({start:q,end:L,replacement:R})}for(let w=G.length-1;w>=0;w--){let{start:q,end:W,replacement:K}=G[w];Z=Z.substring(0,q)+K+Z.substring(W)}return Z}function iz($){let X=new Set,Z=[],J=0,Y=0,G=$.length,Q=(K)=>{let z=J+1;while(z<G){let U=$[z];if(U==="\\"){z+=2;continue}if(U===K)return z+1;z++}return G},w=()=>{let K=J+2;while(K<G&&$[K]!==`
|
|
10650
10650
|
`)K++;return K},q=()=>{let K=J+2;while(K<G-1){if($[K]==="*"&&$[K+1]==="/")return K+2;K++}return G},W=(K)=>{let z=K,U=0;while(z<G){let B=$[z];if(B==="/"&&$[z+1]==="/"){let j=z+2;while(j<G&&$[j]!==`
|
|
10651
|
-
`)j++;z=j;continue}if(B==="/"&&$[z+1]==="*"){let j=z+2;while(j<G-1&&!($[j]==="*"&&$[j+1]==="/"))j++;z=j+2;continue}if(B==='"'||B==="'"||B==="`"){let j=z+1;while(j<G){if($[j]==="\\"){j+=2;continue}if($[j]===B){j++;break}j++}z=j;continue}if(B==="("||B==="["||B==="{"){U++,z++;continue}if(B===")"||B==="]"||B==="}"){U--,z++;continue}if(B===";"&&U===0)return z+1;z++}return G};while(J<G){let K=$[J];if(K==="/"&&$[J+1]==="/"){let z=w();Z.push($.slice(J,z)),J=z;continue}if(K==="/"&&$[J+1]==="*"){let z=q();Z.push($.slice(J,z)),J=z;continue}if(K==='"'||K==="'"||K==="`"){let z=Q(K);Z.push($.slice(J,z)),J=z;continue}if(K==="{"){Y++,Z.push(K),J++;continue}if(K==="}"){Y--,Z.push(K),J++;continue}if(Y===0){let z=J>0?$[J-1]:"";if(z===""||/\s/.test(z)||z===";"||z==="}"||z==="{"){let B=$.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let j=B[2],
|
|
10651
|
+
`)j++;z=j;continue}if(B==="/"&&$[z+1]==="*"){let j=z+2;while(j<G-1&&!($[j]==="*"&&$[j+1]==="/"))j++;z=j+2;continue}if(B==='"'||B==="'"||B==="`"){let j=z+1;while(j<G){if($[j]==="\\"){j+=2;continue}if($[j]===B){j++;break}j++}z=j;continue}if(B==="("||B==="["||B==="{"){U++,z++;continue}if(B===")"||B==="]"||B==="}"){U--,z++;continue}if(B===";"&&U===0)return z+1;z++}return G};while(J<G){let K=$[J];if(K==="/"&&$[J+1]==="/"){let z=w();Z.push($.slice(J,z)),J=z;continue}if(K==="/"&&$[J+1]==="*"){let z=q();Z.push($.slice(J,z)),J=z;continue}if(K==='"'||K==="'"||K==="`"){let z=Q(K);Z.push($.slice(J,z)),J=z;continue}if(K==="{"){Y++,Z.push(K),J++;continue}if(K==="}"){Y--,Z.push(K),J++;continue}if(Y===0){let z=J>0?$[J-1]:"";if(z===""||/\s/.test(z)||z===";"||z==="}"||z==="{"){let B=$.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let j=B[2],H=W(J+B[0].length);if(X.has(j)){Z.push(`/* stx: deduped const ${j} */`),J=H;continue}X.add(j),Z.push($.slice(J,H)),J=H;continue}}}Z.push(K),J++}return Z.join("")}async function UJ($,X,Z){let J=KJ($,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),Y=/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useStore|useLocalStorage|useSessionStorage|useCookie|useId|useReactiveProp|useFetch|useRef|useEventListener|useDebounce|useDebouncedValue|useThrottle|useInterval|useTimeout|useToggle|useCounter|useClickOutside|useFocus|useAsync|useColorMode|useDark|useMediaQuery|useScrollLock|usePreferredDark|usePreferredLight|usePreferredReducedMotion|usePreferredContrast|useWebSocket|useRoute|useSearchParams|onMount|onDestroy|defineProps|withDefaults|defineEmits|defineExpose|defineSlots|useOptimistic)\s*(?:<[^>]*>)?\s*\(/,G=[];for(let _ of J){let L=_.body;if($5(_.attrs))L=X5(L);if(Y.test(L))G.push({fullMatch:_.fullMatch,attrs:_.attrs,content:L})}if(G.length===0)return{output:$,setupCode:null};let Q=`__stx_setup_${Date.now()}_${fz++}`,{hasUserImports:w,bundleClientScript:q}=await $0("stx/client-script-bundler",()=>Promise.resolve().then(() => (E5(),b7))),W=[];for(let _=0;_<G.length;_++){let L=G[_].content;if(L=D5(L).code,w(L))L=await q(L,X||"",{projectRoot:process.cwd()});L=L.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(F,V)=>BJ(V));let O=r0(L);W.push(`// \u2500\u2500 merged signal script #${_+1} \u2500\u2500
|
|
10652
10652
|
${O}`)}let K=W.join(`
|
|
10653
10653
|
|
|
10654
|
-
`);K=
|
|
10654
|
+
`);K=iz(K);let z=jJ(K),U=z.split(",").map((_)=>_.trim()).filter(Boolean),B=P8(K,Z),j=`
|
|
10655
10655
|
<script data-stx-scoped>
|
|
10656
10656
|
function ${Q}() {
|
|
10657
|
-
${
|
|
10658
|
-
${
|
|
10657
|
+
${k5("const",U)}
|
|
10658
|
+
${I5(`${B}${K}`)}
|
|
10659
10659
|
return { ${z} };
|
|
10660
10660
|
}
|
|
10661
10661
|
window.__stx_latestSetup=${Q};
|
|
10662
10662
|
if(window.stx)window.stx._latestSetup=${Q};
|
|
10663
|
-
</script>`,
|
|
10663
|
+
</script>`,H=$;for(let _ of G)H=H.split(_.fullMatch).join("");if(H.includes("<body"))H=H.replace(new RegExp(`<body(${sX})>`),`<body$1 data-stx="${Q}">`);else{let _=["script","style","html","head","meta","link","title","!doctype"],L=!1;H=H.replace(new RegExp(`<([a-zA-Z][a-zA-Z0-9-]*)\\b(${sX})>`,"gi"),(O,F,V)=>{if(L||_.includes(F.toLowerCase()))return O;return L=!0,`<${F}${V} data-stx="${Q}">`})}return{output:H,setupCode:j}}function jJ($){let X=$,Z=[],J=new Set,Y=0,G=0,Q=X.length,w="",q=()=>{G++;let j=!1;while(G<Q){let H=X[G];if(H==="\\"){G+=2;continue}if(H==="["&&!j){j=!0,G++;continue}if(H==="]"&&j){j=!1,G++;continue}if(H==="/"&&!j){G++;while(G<Q&&/[gimsuyd]/.test(X[G]))G++;return}if(H===`
|
|
10664
10664
|
`)return;G++}},W=()=>{if(!w)return!0;if(/[\w)\]]/.test(w))return!1;return!0},K=(j)=>{G++;while(G<Q){if(X[G]==="\\"){G+=2;continue}if(X[G]===j){G++;return}G++}},z=()=>{G++;while(G<Q){if(X[G]==="\\"){G+=2;continue}if(X[G]==="`"){G++;return}if(X[G]==="$"&&X[G+1]==="{"){G+=2;let j=1;while(G<Q&&j>0)if(X[G]==="{")j++,G++;else if(X[G]==="}")j--,G++;else if(X[G]==="'"||X[G]==='"')K(X[G]);else if(X[G]==="`")z();else G++;continue}G++}},U=()=>{if(X[G]==="/"&&X[G+1]==="/"){while(G<Q&&X[G]!==`
|
|
10665
|
-
`)G++;return!0}if(X[G]==="/"&&X[G+1]==="*"){G+=2;while(G<Q-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;return G+=2,!0}return!1},B=()=>{if(Y!==0)return;let j=X.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*(?:[!:;,\n]|=(?!=)|$)/);if(j){let F=j[2];if(!J.has(F))Z.push(F),J.add(F);return}let
|
|
10665
|
+
`)G++;return!0}if(X[G]==="/"&&X[G+1]==="*"){G+=2;while(G<Q-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;return G+=2,!0}return!1},B=()=>{if(Y!==0)return;let j=X.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*(?:[!:;,\n]|=(?!=)|$)/);if(j){let F=j[2];if(!J.has(F))Z.push(F),J.add(F);return}let H=X.slice(G).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(H){H[1].split(",").forEach((F)=>{let V=F.trim();if(!V)return;let A=V.indexOf(":"),R=(A>=0?V.slice(A+1).trim():V).split(/[\s=]/)[0];if(R&&!J.has(R))Z.push(R),J.add(R)});return}let _=X.slice(G).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(_){_[1].split(",").forEach((F)=>{let V=F.trim().replace(/^\.\.\./,"");if(!V)return;let A=V.split(/[\s=]/)[0];if(A&&!J.has(A))Z.push(A),J.add(A)});return}let L=X.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(L){let F=L[1];if(!J.has(F))Z.push(F),J.add(F);return}let O=X.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let F=O[1];if(!J.has(F))Z.push(F),J.add(F)}};while(G<Q){if(U())continue;if(X[G]==="'"||X[G]==='"'){K(X[G]),w=X[G-1];continue}if(X[G]==="`"){z(),w="`";continue}if(X[G]==="/"&&X[G+1]!=="/"&&X[G+1]!=="*"&&W()){q(),w="/";continue}if(X[G]==="{"){Y++,w="{",G++;continue}if(X[G]==="}"){Y--,w="}",G++;continue}if(Y===0&&/[a-z]/i.test(X[G])&&(G===0||/\s|[;{}()]/.test(X[G-1])))B();if(!/\s/.test(X[G]))w=X[G];G++}return Z.join(", ")}async function X4($,X,Z,J){if(!K$($))return $;let Y=$;if(X.skipSignalsRuntime)return Y;let{output:G,setupCode:Q}=await UJ(Y,Z,J);if(Y=G,Y=await G$(Y,X),Q){let K=q$(Y,/<\/head>/i),z=K===-1?q$(Y,/<body[^>]*>/i):-1;if(K!==-1)Y=`${Y.slice(0,K)}${Q}
|
|
10666
10666
|
${Y.slice(K)}`;else if(z!==-1){let U=/<body[^>]*>/i.exec(Y.slice(z))[0],B=z+U.length;Y=`${Y.slice(0,B)}
|
|
10667
10667
|
${Q}${Y.slice(B)}`}else Y=`${Y}
|
|
10668
|
-
${Q}`}let q=Y.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),W=q&&/data-stx/.test(q[1]);if(!Q&&!W&&q&&!/data-stx-auto/.test(q[1])){let K=/<body[^>]*>/i,z=
|
|
10669
|
-
`)Y++;return!0}if($[Y]==="/"&&$[Y+1]==="*"){Y+=2;while(Y<G-1&&!($[Y]==="*"&&$[Y+1]==="/"))Y++;return Y+=2,!0}return!1},W=()=>{if(J!==0)return;let K=$.slice(Y).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(K){let j=K[2].split(",").map((
|
|
10668
|
+
${Q}`}let q=Y.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),W=q&&/data-stx/.test(q[1]);if(!Q&&!W&&q&&!/data-stx-auto/.test(q[1])){let K=/<body[^>]*>/i,z=q$(Y,K);if(z!==-1){let U=Y.slice(0,z),B=Y.slice(z).replace(K,(j)=>j.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));Y=U+B}}return Y}function q$($,X){let Z=/<(script|style)\b[\s\S]*?<\/\1>/gi,J=[],Y;while((Y=Z.exec($))!==null)J.push([Y.index,Y.index+Y[0].length]);let G=new RegExp(X.source,X.flags.replace(/[gy]/g,"")),Q=0;while(Q<$.length){let w=G.exec($.slice(Q));if(!w)return-1;let q=Q+w.index;if(!J.some(([K,z])=>q>=K&&q<z))return q;Q=q+Math.max(w[0].length,1)}return-1}function BJ($){let X=[];for(let Z of $.split(",")){let J=Z.trim();if(!J||J.startsWith("type "))continue;let Y=J.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(Y&&Y[1]!==Y[2])X.push(`${Y[2]} = ${Y[1]}`)}if(X.length===0)return qJ;return`var ${X.join(", ")}; ${qJ}`}var fz=0,sX=`(?:"[^"]*"|'[^']*'|[^>"'])*`,WJ,QJ,W$,lz,qJ="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var p7=D(()=>{x7();n8();Z1();QX();A0();Q$();v1();y7();WJ=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;QJ=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"]);W$=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);lz=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import nz from"fs";import h from"path";function oz($){let X=new WeakSet;try{let Z=(J)=>{if(J===void 0)return{__stxType:"undefined"};if(typeof J==="bigint")return{__stxType:"bigint",value:J.toString()};if(typeof J==="function"||typeof J==="symbol")throw TypeError("Non-serializable component input");if(J===null||typeof J!=="object")return J;if(X.has(J))throw TypeError("Circular component input");if(X.add(J),J instanceof Date)return{__stxType:"date",value:J.toISOString()};if(Array.isArray(J))return J.map(Z);let Y={};for(let G of Object.keys(J).sort())Y[G]=Z(J[G]);return Y};return JSON.stringify(Z($))}catch{return null}}function HJ($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function sz($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function $5($){return!sz($)}function T1($){let X;try{X=JSON.stringify($)}catch{return new Bun.Transpiler($)}let Z=U$.get(X);if(Z)return Z;if(U$.size>=16)U$.clear();let J=new Bun.Transpiler($);return U$.set(X,J),J}function X5($){try{let X=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");X=X.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Z=[];X=X.replace(/\{!![\s\S]*?!!\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),X=X.replace(/\{\{\{[\s\S]*?\}\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),X=X.replace(/\{\{[\s\S]*?\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`});let Y=T1({loader:"ts",target:"browser",define:l0()}).transformSync(X);for(let G=0;G<Z.length;G++)Y=Y.replace(`"__STX_EXPR_${G}__"`,Z[G]),Y=Y.replace(`'__STX_EXPR_${G}__'`,Z[G]);return Y}catch(X){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",X);return $}}function az($){let X=[],Z=new Set,J=0,Y=0,G=$.length,Q=(K)=>{Y++;while(Y<G){if($[Y]==="\\"){Y+=2;continue}if($[Y]===K){Y++;return}Y++}},w=()=>{Y++;while(Y<G){if($[Y]==="\\"){Y+=2;continue}if($[Y]==="`"){Y++;return}if($[Y]==="$"&&$[Y+1]==="{"){Y+=2;let K=1;while(Y<G&&K>0)if($[Y]==="{")K++,Y++;else if($[Y]==="}")K--,Y++;else if($[Y]==="'"||$[Y]==='"')Q($[Y]);else if($[Y]==="`")w();else Y++;continue}Y++}},q=()=>{if($[Y]==="/"&&$[Y+1]==="/"){while(Y<G&&$[Y]!==`
|
|
10669
|
+
`)Y++;return!0}if($[Y]==="/"&&$[Y+1]==="*"){Y+=2;while(Y<G-1&&!($[Y]==="*"&&$[Y+1]==="/"))Y++;return Y+=2,!0}return!1},W=()=>{if(J!==0)return;let K=$.slice(Y).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(K){let j=K[2].split(",").map((H)=>{let _=H.trim().split(":");return _[_.length-1].trim()});for(let H of j)if(H&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(H)&&!Z.has(H))X.push(H),Z.add(H);return}let z=$.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let j=z[2];if(!Z.has(j))X.push(j),Z.add(j);return}let U=$.slice(Y).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(U){let j=U[1];if(!Z.has(j))X.push(j),Z.add(j);return}let B=$.slice(Y).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!Z.has(j))X.push(j),Z.add(j)}};while(Y<G){if(q())continue;if($[Y]==="'"||$[Y]==='"'){Q($[Y]);continue}if($[Y]==="`"){w();continue}if($[Y]==="{"){J++,Y++;continue}if($[Y]==="}"){J--,Y++;continue}if(J===0&&/[a-z]/i.test($[Y])&&(Y===0||/\s|[;{}()]/.test($[Y-1])))W();Y++}return X}function tz($){let X=[],Z=0,J=0,Y=null;for(let G=0;G<$.length;G++){let Q=$[G];if(Y){if(Q==="\\"){G++;continue}if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}if(Q==="("||Q==="["||Q==="{")Z++;else if(Q===")"||Q==="]"||Q==="}")Z--;else if(Q===","&&Z===0)X.push($.slice(J,G)),J=G+1}if(J<$.length)X.push($.slice(J));return X}function ez($){let X=0,Z=null;for(let J=0;J<$.length;J++){let Y=$[J];if(Z){if(Y==="\\"){J++;continue}if(Y===Z)Z=null;continue}if(Y==='"'||Y==="'"||Y==="`"){Z=Y;continue}if(Y==="("||Y==="["||Y==="{")X++;else if(Y===")"||Y==="]"||Y==="}")X--;else if(Y==="="&&X===0){let G=$[J-1],Q=$[J+1];if(G==="!"||G==="<"||G===">"||G==="=")continue;if(Q==="="||Q===">")continue;return J}}return-1}function $U($,X){try{let Z=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec($);if(!Z)return;let J=Z.index-1;while(J>=0&&/\s/.test($[J]))J--;if($[J]!=="}")return;let Y=J,G=0,Q=-1;for(;J>=0;J--){let q=$[J];if(q==="}")G++;else if(q==="{"){if(G--,G===0){Q=J;break}}}if(Q===-1)return;let w=$.slice(Q+1,Y);for(let q of tz(w)){let W=q.trim();if(!W||W.startsWith("..."))continue;let K=ez(W);if(K===-1)continue;let z=W.slice(0,K).trim();if(!/^[A-Z_$][\w$]*$/i.test(z))continue;if(X[z]!==void 0)continue;let U=W.slice(K+1).trim();if(!U)continue;try{let B=Object.keys(X),j=Function(...B,`"use strict"; return (${U});`);X[z]=j(...B.map((H)=>X[H]))}catch{}}}catch{}}async function H$($,X,Z,J,Y){let G=$.endsWith(".stx")?$.slice(0,-4):$,Q=(_)=>_.split("-").map((L)=>L.charAt(0).toUpperCase()+L.slice(1)).join(""),w=(_)=>_.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),q=Z.__importedComponents;if(q){for(let _ of[G,G.toLowerCase(),Q(G),w(G)])if(q.has(_))return!0}let W=[...new Set([`${G}.stx`,`${Q(G)}.stx`,`${w(G)}.stx`])],K=typeof Y.root==="string"?h.resolve(Y.root):void 0,z=K??h.dirname(J),U=[],B=(_)=>{if(_&&!U.includes(_))U.push(_)},j=Z.__originalFilePath;if(j)B(h.join(h.dirname(j),"components"));B(X),B(Y._rootComponentsDir),B(h.join(h.dirname(J),"components")),B(Y.componentsDir);let H=Y._pluginComponentDirs;if(Array.isArray(H))for(let _ of H)B(typeof _==="string"?_:null);if(K)B(h.resolve(K,"resources/views/components")),B(h.resolve(K,"resources/components")),B(h.resolve(K,"src/components")),B(h.resolve(K,"components"));if(G.startsWith("./")||G.startsWith("../"))return i(h.resolve(h.dirname(J),`${G}.stx`));for(let _ of U){let L=h.isAbsolute(_)?_:h.resolve(z,_);for(let O of W)if(await i(h.join(L,O)))return!0}return!1}function XU($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}function ZU($){if(!$)return!1;let X=$.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"");return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(X)}function JU($){let X=new Set,Z=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal|useReactiveProp|useLocalStorage|useSessionStorage|useCookie|useDebouncedValue)\s*(?:<[^>]*>)?\s*\(/g;for(let J of $){let Y;while((Y=Z.exec(J))!==null)X.add(Y[1]);Z.lastIndex=0}return[...X]}async function q5($,X,Z,J,Y,G,Q,w=new Set,q){let{extractVariables:W}=await $0("stx/variable-extractor",()=>Promise.resolve().then(() => (d7(),p8))),K=w??new Set;if(K.has($))return`[Circular component reference: ${$}]`;let z=new Set(K);z.add($);let U=typeof X.client==="string"?X.client.trim():"";if("client"in X)delete X.client;let B=U&&U!=="load"&&XU(U)?U:"";try{let j=(v)=>v.split("-").map((c)=>c.charAt(0).toUpperCase()+c.slice(1)).join(""),H=(v)=>v.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),_=$.endsWith(".stx")?$.slice(0,-4):$,L=null,O=Y.__importedComponents;if(O){let v=[_,_.toLowerCase(),j(_),H(_)];for(let c of v)if(O.has(c)){L=O.get(c);break}}let F=[];if(!L){let v=[`${_}.stx`,`${j(_)}.stx`,`${H(_)}.stx`],c=[...new Set(v)],j0=Y.__originalFilePath,X0=[];if(j0){let H0=h.join(h.dirname(j0),"components");X0.push(H0)}if(J)X0.push(J);let I0=Q._rootComponentsDir;if(typeof I0==="string"&&!X0.includes(I0))X0.push(I0);let E0=h.join(h.dirname(G),"components");if(!X0.includes(E0))X0.push(E0);if(Q.componentsDir&&Q.componentsDir!==J&&!X0.includes(Q.componentsDir))X0.push(Q.componentsDir);let y1=Q._pluginComponentDirs;if(Array.isArray(y1)){for(let H0 of y1)if(typeof H0==="string"&&!X0.includes(H0))X0.push(H0)}let c0=typeof Q.root==="string"?h.resolve(Q.root):void 0,g0=c0??h.dirname(G),K1=[];if(c0)K1.push(h.resolve(c0,"resources/views/components")),K1.push(h.resolve(c0,"resources/components")),K1.push(h.resolve(c0,"src/components")),K1.push(h.resolve(c0,"components"));K1.push(h.resolve(import.meta.dir,"components"));for(let H0 of K1)if(!X0.includes(H0))X0.push(H0);let o1=[...new Set(X0.map((H0)=>{if(!H0)return H0;return h.isAbsolute(H0)?H0:h.resolve(g0,H0)}))];X0.length=0,X0.push(...o1);let a=`${_}\x00${G}\x00${o1.join("\x00")}`,X1=B$.get(a);if(X1)if(await i(X1))L=X1;else B$.delete(a);if(!L&&(_.startsWith("./")||_.startsWith("../")))L=h.resolve(h.dirname(G),`${_}.stx`),F.push(L);else if(!L)for(let H0 of X0){if(!H0)continue;for(let s1 of c){let a1=h.join(H0,s1);if(F.push(a1),await i(a1)){L=a1;break}}if(L)break;if(!L)try{let s1=await import("fs");if(!s1.statSync(H0,{throwIfNoEntry:!1})?.isDirectory())continue;let H8=8,F5=[{path:H0,depth:0}];while(F5.length>0&&!L){let L1=F5.pop();if(L1.depth>=H8)continue;let _8;try{_8=s1.readdirSync(L1.path,{withFileTypes:!0})}catch{continue}for(let O8 of _8){if(!O8.isDirectory())continue;if(O8.name==="node_modules"||O8.name.startsWith("."))continue;let V6=h.join(L1.path,O8.name);for(let oq of c){let I9=h.join(V6,oq);if(F.push(I9),await i(I9)){L=I9;break}}if(L)break;F5.push({path:V6,depth:L1.depth+1})}}}catch{}if(L)break}if(L)B$.set(a,L)}if(!L||!await i(L)){let v=F.length>0?`
|
|
10670
10670
|
Searched paths:
|
|
10671
10671
|
${F.map((c)=>` - ${c}`).join(`
|
|
10672
|
-
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${v}`}q.add(L);let V;if(
|
|
10673
|
-
`)}`}if(Z&&Q0.includes("{{ text || slot }}"))Q0=Q0.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Z);let{applySlots:d0}=await $0("stx/slots",()=>Promise.resolve().then(() => (
|
|
10674
|
-
${
|
|
10672
|
+
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${v}`}q.add(L);let V;if(j$.has(L))V=j$.get(L);else try{V=await Bun.file(L).text(),j$.set(L,V)}catch(v){return`[Error loading component: ${v instanceof Error?v.message:String(v)}]`}let A=new Set(["__originalFilePath","__importedComponents",v8,"__stx_client_signal_names"]),N={};for(let[v,c]of Object.entries(Y))if(!v.startsWith("__")||A.has(v))N[v]=c;let R=U1(Z),T=[],k=R.output.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(v,c)=>{let j0=R.scripts[Number(c)]||"",X0=j0.match(/^<script\b([^>]*)>/i)?.[1]||"",I0=X0.match(/\btype\s*=\s*["']([^"']+)["']/i)?.[1]?.toLowerCase(),E0=!I0||["module","text/javascript","application/javascript"].includes(I0);if(!/\bserver\b/i.test(X0)&&E0)return T.push(j0),"";return j0}),{extractSlotContent:M}=await $0("stx/slots",()=>Promise.resolve().then(() => (DX(),EX))),E=M(k),I={};if(E.defaultSlot?.trim())I.default=E.defaultSlot;for(let[v,c]of E.namedSlots)I[v]=c.content;let S={...N,...X,props:X,slot:k,$slots:I,__processedComponents:z,__sections:{},__stx_signals_gate:N1(V)||ZU(Z)};$U(V,S);let b=V,y=m8(b);if(y)b=y.content.trim();let P=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,x=[...V.matchAll(P)],f=[],u=x.some((v)=>/\bserver\b/.test(v[1]||"")&&/\bcache\b/.test(v[1]||""))&&x.every((v)=>/\bserver\b/.test(v[1]||"")),l=null,_0=null;if(u){let v=oz({props:X,slot:Z,buildMode:Q.buildMode??"",skipEventDirectives:Q.skipEventDirectives===!0});if(v!==null){l=`${L}\x00${v}`;let c=Z4.get(l);if(c){for(let j0 of c.dependencies)q.add(j0);return c.output}_0=new Set(q)}}for(let v of x){let c=v[1]||"",j0=v[2]||"",X0=c.includes("server");if($5(c)&&j0.trim())j0=X5(j0);if(X0&&j0)try{await W(j0,S,L)}catch(E0){}if(!X0){let E0=j0.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),y1=E0.includes("{{")&&E0.includes("}}"),c0=E0.includes("{!!")&&E0.includes("!!}");if(y1||c0)E0=u8(E0,S);let g0=c.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");f.push(`<script${g0}>${E0}</script>`)}}let S0=V.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),z0=S0?S0[1]:"",k0=S0?S0[2]:"",d="",Y0=z0&&/\bscoped\b/i.test(z0);if(S0)d=`<style${z0}>${k0}</style>`;let Q0=b;if(Q0=Q0.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),S0)Q0=Q0.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let v=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,c=[];if(Q0=Q0.replace(v,(j0,X0)=>{let I0=X0.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(I0)c.push(`<style${I0[1]}>${I0[2]}</style>`);return""}),Q0=Q0.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),c.length>0)d=`${d}${c.join(`
|
|
10673
|
+
`)}`}if(Z&&Q0.includes("{{ text || slot }}"))Q0=Q0.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Z);let{applySlots:d0}=await $0("stx/slots",()=>Promise.resolve().then(() => (DX(),EX))),{defaultSlot:Q7,namedSlots:r}=E;Q0=await d0(Q0,Q7,r,S);let e=f.some((v)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(v)),U0=JU(f),m0=Array.isArray(S.__stx_client_signal_names)?S.__stx_client_signal_names:[];if(U0.length>0||m0.length>0)S.__stx_client_signal_names=[...new Set([...m0,...U0])];let C0={...Q,_rootComponentsDir:Q._rootComponentsDir||Q.componentsDir,componentsDir:h.dirname(L),skipSignalsRuntime:!0,skipEventDirectives:e||f.length===0,defaultLayout:void 0};S.__stxProcessingDepth=(Y.__stxProcessingDepth||0)+1;let C=await R0(Q0,S,L,C0,q),g=new Set(Array.isArray(Y.__stx_preserved_client_expressions)?Y.__stx_preserved_client_expressions:[]);for(let v of C.matchAll(/\{\{([\s\S]*?)\}\}/g))g.add(v[1].trim());if(g.size>0)Y.__stx_preserved_client_expressions=[...g];let s=`stx_${_.replace(/[^a-zA-Z0-9]/g,"_")}_${++rz}_${Math.random().toString(36).slice(2,8)}`,p=C;if(e){let v="";if(Object.keys(X).length>0)try{v=` data-stx-props="${HJ(JSON.stringify(X))}"`}catch{}let c=B?` stx-hydrate="${HJ(B)}"`:"";p=`<div data-stx-scope="${s}"${v}${c}>${C}</div>`;let j0=await Promise.all(f.map(async(X0)=>{let I0=X0.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!I0)return X0;let[,E0,y1]=I0,c0=S8(y1,{filePath:L,projectRoot:process.cwd()}),g0=c0.code,K1=C8(c0.styles);g0=D5(g0).code;let{hasUserImports:o1,bundleClientScript:a}=await $0("stx/client-script-bundler",()=>Promise.resolve().then(() => (E5(),b7)));if(o1(g0))g0=await a(g0,L,{projectRoot:process.cwd(),minify:Q.buildMode==="compile"});let{rewriteStxImportSpecifiers:X1}=await $0("stx/signal-processing",()=>Promise.resolve().then(() => (p7(),z$)));g0=g0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(L1,_8)=>X1(_8));let H0=r0(g0),s1=az(H0),a1=`function(__scopeId) {
|
|
10674
|
+
${k5("const",[...W2,...s1],H0)}
|
|
10675
10675
|
const __scope = window.stx._scopes = window.stx._scopes || {};
|
|
10676
10676
|
const __scopeVars = __scope[__scopeId] = __scope[__scopeId] || {};
|
|
10677
10677
|
__scopeVars.$refs = __scopeVars.$refs || {};
|
|
@@ -10685,12 +10685,12 @@ ${F.map((c)=>` - ${c}`).join(`
|
|
|
10685
10685
|
const onDestroy = (fn) => __scopeVars.__destroyCallbacks.push(fn);
|
|
10686
10686
|
|
|
10687
10687
|
try {
|
|
10688
|
-
${
|
|
10688
|
+
${H0}
|
|
10689
10689
|
|
|
10690
10690
|
// Register all defined signals and functions in this scope
|
|
10691
10691
|
const __localVars = {};
|
|
10692
10692
|
try {
|
|
10693
|
-
${
|
|
10693
|
+
${s1.map((L1)=>`if (typeof ${L1} !== 'undefined') __localVars['${L1}'] = ${L1};`).join(`
|
|
10694
10694
|
`)}
|
|
10695
10695
|
}
|
|
10696
10696
|
catch (e) {}
|
|
@@ -10699,17 +10699,17 @@ catch (e) {}
|
|
|
10699
10699
|
finally {
|
|
10700
10700
|
window.__STX_CURRENT_ELEMENT__ = __previousCurrentElement;
|
|
10701
10701
|
}
|
|
10702
|
-
}`,
|
|
10702
|
+
}`,H8=B?null:h2(Y,a1),F5=H8?`window.__stxComponentFactories[${JSON.stringify(H8)}](${JSON.stringify(s)});`:`(${a1})(${JSON.stringify(s)});`;if(B)return`${K1}<script type="stx/island" data-stx-island="${s}" data-stx-scoped${E0}>${F5}</script>`;return`${K1}<script data-stx-scoped data-stx-run="always"${E0}>${F5}</script>`}));if(p=p+`
|
|
10703
10703
|
`+j0.join(`
|
|
10704
10704
|
`),d)p+=`
|
|
10705
10705
|
`+d}else{if(d)p+=`
|
|
10706
|
-
`+d;if(f.length>0){let v=S.__stx_event_bindings||[],c=
|
|
10706
|
+
`+d;if(f.length>0){let v=S.__stx_event_bindings||[],c=P7(S),j0=await Promise.all(f.map(async(X0)=>{let I0=X0.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!I0)return X0;return await v7(I0[1],{eventBindings:v,templateContent:p,filePath:L,projectRoot:process.cwd(),serverData:c})}));p+=`
|
|
10707
10707
|
`+j0.join(`
|
|
10708
|
-
`),S.__stx_event_bindings=[]}}if(Y0){let v=
|
|
10708
|
+
`),S.__stx_event_bindings=[]}}if(Y0){let v=d8(p,L);if(v.hasScoped)p=v.html}if(l&&_0)Z4.set(l,{output:p,dependencies:[...q].filter((v)=>!_0.has(v))});return T.length>0?`${p}
|
|
10709
10709
|
${T.join(`
|
|
10710
|
-
`)}`:p}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{K.delete($)}}async function
|
|
10710
|
+
`)}`:p}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{K.delete($)}}async function i($){return Bun.file($).exists()}function J4($,X){let Z=h.resolve(X),J=h.resolve($),Y=Z.endsWith(h.sep)?Z:Z+h.sep;if(J===Z||J.startsWith(Y))return J;return null}async function Y4($,X,Z,J){let Y=await YU($,X,Z,J);if(Y===null)return null;let G=J4(Y,process.cwd());if(G)return G;let Q=[Z.root,Z.layoutsDir,Z.componentsDir,Z.partialsDir,Z.pagesDir].filter((w)=>typeof w==="string"&&w.length>0);for(let w of Q){let q=h.isAbsolute(w)?w:h.resolve(process.cwd(),w);if(J4(Y,q))return h.resolve(Y)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${Y} (template: ${$}, from: ${X})`),null}async function YU($,X,Z,J){if(Z.debug)console.log(`Resolving template path: ${$} from ${X}`);let Y=h.dirname(X),G=process.cwd();if($.startsWith("/")){let U=h.join(G,$),B=J4(U,G);if(!B)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${X})`),null;if(Z.debug)console.log(`Checking absolute path: ${B}`);if(await i(B)&&J)J.add(B);return B}let Q=h.join(Y,$);if(await i(Q)){if(Z.debug)console.log(`Found direct path: ${Q}`);if(J)J.add(Q);return Q}if(!$.endsWith(".stx")&&!$.endsWith(".jsx")&&!$.endsWith(".tsx"))for(let U of[".stx",".tsx",".jsx"]){let B=`${Q}${U}`;if(await i(B)){if(Z.debug)console.log(`Found direct path with extension: ${B}`);if(J)J.add(B);return B}}let w="",q=h.resolve(Y),W=process.cwd();for(let U=0;U<10;U++){let B=h.join(q,"layouts"),j=!1;try{j=nz.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){w=B;break}let H=h.dirname(q);if(H===q||H.length<W.length)break;q=H}if(w){let U=$.startsWith("layouts/")?$.slice(8):$,B=h.join(w,U);if(await i(B)){if(Z.debug)console.log(`Found in current layouts dir: ${B}`);if(J)J.add(B);return B}if(!U.endsWith(".stx")){let j=`${B}.stx`;if(await i(j)){if(Z.debug)console.log(`Found in current layouts dir with extension: ${j}`);if(J)J.add(j);return j}}}if(Z.layoutsDir){let U=h.isAbsolute(Z.layoutsDir)?Z.layoutsDir:h.resolve(process.cwd(),Z.layoutsDir),B=$.startsWith("layouts/")?$.slice(8):$,j=h.join(U,B);if(await i(j)){if(Z.debug)console.log(`Found in options.layoutsDir: ${j}`);if(J)J.add(j);return j}if(!$.endsWith(".stx")){let H=`${j}.stx`;if(await i(H)){if(Z.debug)console.log(`Found in options.layoutsDir with extension: ${H}`);if(J)J.add(H);return H}}}if($.startsWith("layouts/")||$.includes("/layouts/")){let U=$.split("layouts/"),B=h.join(Z.partialsDir||Y,"layouts",U[1]);if(await i(B)){if(Z.debug)console.log(`Found in layouts path: ${B}`);if(J)J.add(B);return B}if(!B.endsWith(".stx")){let j=`${B}.stx`;if(await i(j)){if(Z.debug)console.log(`Found in layouts path with extension: ${j}`);if(J)J.add(j);return j}}}if(Z.partialsDir){if(w=h.join(Z.partialsDir,"layouts"),await i(w)){let U=h.join(w,$);if(await i(U)){if(Z.debug)console.log(`Found in partials layouts dir: ${U}`);if(J)J.add(U);return U}if(!$.endsWith(".stx")){let B=`${U}.stx`;if(await i(B)){if(Z.debug)console.log(`Found in partials layouts dir with extension: ${B}`);if(J)J.add(B);return B}}}}let K=Z.partialsDir||h.join(process.cwd(),"views"),z=h.join(K,$);if(await i(z)){if(Z.debug)console.log(`Found in views path: ${z}`);if(J)J.add(z);return z}if(!$.endsWith(".stx")){let U=`${z}.stx`;if(await i(U)){if(Z.debug)console.log(`Found in views path with extension: ${U}`);if(J)J.add(U);return U}}if(Y.includes("temp")){let U=h.join(h.dirname(Y),"layouts",$);if(await i(U)){if(Z.debug)console.log(`Found in temp layouts dir: ${U}`);if(J)J.add(U);return U}if(!$.endsWith(".stx")){let B=`${U}.stx`;if(await i(B)){if(Z.debug)console.log(`Found in temp layouts dir with extension: ${B}`);if(J)J.add(B);return B}}}if(Z.debug)console.warn(`Template not found after trying all paths: ${$} (referenced from ${X})`);else console.warn(`Template not found: ${$} (referenced from ${X})`);return null}function _J($,X,Z){let J=0,Y="",G="";try{if(typeof X==="number"&&X>=0){let Q=$.split(`
|
|
10711
10711
|
`),w=0;for(let q=0;q<Q.length;q++)if(w+=Q[q].length+1,w>=X){J=q+1,Y=Q[q].trim();let W=Math.max(0,q-2),K=Math.min(Q.length,q+3);G=Q.slice(W,K).map((z,U)=>{let B=W+U+1;return`${B===J?"> ":" "}${B}: ${z}`}).join(`
|
|
10712
|
-
`);break}}else if(Z){let Q=$.indexOf(Z);if(Q>=0)return
|
|
10712
|
+
`);break}}else if(Z){let Q=$.indexOf(Z);if(Q>=0)return _J($,Q)}}catch{}return{lineNumber:J,lineContent:Y,context:G}}function O0($,X,Z,J,Y,G){let{lineNumber:Q,context:w}=_J(J,Y,G),q=Z.split("/").pop(),W=0;if(typeof Y==="number"&&Y>=0&&J){let z=J.lastIndexOf(`
|
|
10713
10713
|
`,Math.max(0,Y-1));W=Y-(z+1)+1}let K="";if(Q>0)K+=`
|
|
10714
10714
|
${Z}:${Q}${W>0?`:${W}`:""}: ${$.toLowerCase()} error: ${X}
|
|
10715
10715
|
`;if(K+=`
|
|
@@ -10722,8 +10722,8 @@ ${Z0.yellow}${Z0.bold}Message:${Z0.reset} ${X}
|
|
|
10722
10722
|
`,w)K+=`
|
|
10723
10723
|
${Z0.blue}${Z0.bold}Context:${Z0.reset}
|
|
10724
10724
|
${Z0.dim}${w}${Z0.reset}
|
|
10725
|
-
`;return K}function XJ(){
|
|
10726
|
-
`||O==="\r"||O===" "||O===void 0)z++;U=
|
|
10725
|
+
`;return K}function XJ(){j$.clear(),B$.clear(),Z4.clear()}var j$,B$,Z4,rz=0,U$,Z0;var A0=D(()=>{x7();HX();j1();Z1();P5();_$();C1();VX();AX();y7();v1();jZ();d7();j$=new Z5(500),B$=new Z5(1000),Z4=new Z5(2000);U$=new Map;Z0={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",yellow:"\x1B[33m",blue:"\x1B[34m",cyan:"\x1B[36m",gray:"\x1B[90m",bgRed:"\x1B[41m",bgYellow:"\x1B[43m"}});async function OJ($,X,Z=""){let J=$,Y=[],G=/@markdown(?:\([^)]*\))?/g,Q;while((Q=G.exec($))!==null){let w=Q.index,q=Q[0].match(/@markdown\(([^)]*)\)/),W=q?q[1]:"",K=w+Q[0].length,z=1,U=K,B=-1;while(z>0&&U<$.length){let _=$.indexOf("@markdown",U),L=$.indexOf("@endmarkdown",U);if(L===-1)break;if(_!==-1&&_<L&&_!==w){let O=$[_+9];if(O==="("||O===`
|
|
10726
|
+
`||O==="\r"||O===" "||O===void 0)z++;U=_+9}else{if(z--,z===0){B=L;break}U=L+12}}if(B===-1)continue;let j=$.slice(K,B),H=$.slice(w,B+12);Y.push({fullMatch:H,options:W,content:j,index:w}),G.lastIndex=B+12}for(let{fullMatch:w,options:q,content:W,index:K}of Y)try{let z={};if(q)q.split(",").forEach((j)=>{let H=j.trim();if(H)z[H]=!0});let U={gfm:z.gfm??!0,breaks:z.breaks??!1},B=D7(W.trim(),U);J=J.split(w).join(B)}catch(z){let U=z instanceof Error?z.message:String(z),B=O0("Markdown Directive",`Error processing markdown: ${U}`,Z,$,K,w);J=J.split(w).join(B)}return J}async function LJ($,X,Z,J){let Y={gfm:!0,breaks:!1};return X.forEach((G)=>{let Q=G.trim().replace(/['"]/g,"");if(Q==="breaks")Y.breaks=!0;if(Q==="no-gfm")Y.gfm=!1}),D7($.trim(),Y)}var G4=D(()=>{A0()});function wU($){if(GU.set($.name,$),$.client)QU.set($.name,$.client)}function O$($){return wU($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(Z,J,Y,G)=>{let Q=qU(J,$.defaults);if($.validate){let q=$.validate(Q);if(q!==!0){let W=typeof q==="string"?q:`Invalid parameters for @${$.name}`;throw Error(W)}}let w=Z;if($.transform)w=await $.transform(Z,Q,Y,G);if($.clientScript){let q=$.clientScript(Q);w+=`<script>${q}</script>`}if($.css){let q=$.css(Q);w+=`<style>${q}</style>`}return w}}}function qU($,X){let Z={...X};for(let J of $){let Y=J.indexOf(":"),G=J.indexOf("="),Q=Y>=0&&(G<0||Y<G)?Y:G;if(Q>=0){let w=J.slice(0,Q).trim(),q=J.slice(Q+1).trim();if(q==="true")q=!0;else if(q==="false")q=!1;else if(q==="null")q=null;else if(!Number.isNaN(Number(q)))q=Number(q);else if(typeof q==="string"&&q.startsWith("{"))try{q=JSON.parse(q)}catch{}Z[w]=q}else{let w=Object.keys(Z).filter((q)=>!X||!(q in X)).length;Z[w===0?"value":`arg${w}`]=J}}return Z}var GU,QU;var Q4=D(()=>{GU=new Map,QU=new Map});function w4($,X=g5,Z={},J){return X.sort((Y,G)=>Y-G).map((Y)=>{return`${n7($,{...Z,w:Y,fm:J})} ${Y}w`}).join(", ")}function FJ($,X,Z=WU,J={},Y){return Z.sort((G,Q)=>G-Q).map((G)=>{let Q=Math.round(X*G);return`${n7($,{...J,w:Q,dpr:G,fm:Y})} ${G}x`}).join(", ")}function q4($,X="100vw"){if(!$||Object.keys($).length===0)return X;let J=Object.entries($).map(([Y,G])=>{let Q=/^\d+$/.test(Y)?`${Y}px`:Y;return{bp:Q,size:G,numericBp:Number.parseInt(Q)||0}}).sort((Y,G)=>Y.numericBp-G.numericBp).map(({bp:Y,size:G})=>`(max-width: ${Y}) ${G}`);return J.push(X),J.join(", ")}function n7($,X={}){let Z=Object.entries(X).filter(([,G])=>G!==void 0&&G!==null).map(([G,Q])=>{if(Array.isArray(Q))return[G,Q.join(",")];return[G,String(Q)]});if(Z.length===0)return $;let J=Z.map(([G,Q])=>`${G}=${encodeURIComponent(Q)}`).join("&"),Y=$.includes("?")?"&":"?";return`${$}${Y}${J}`}function W4($){return KU[$]||"application/octet-stream"}var g5,WU,i7,KU;var K4=D(()=>{g5=[320,480,640,768,1024,1280,1536,1920,2560],WU=[1,1.5,2,3],i7=["avif","webp","jpeg"],KU={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function UU(){try{return await import("ts-images")}catch{return null}}async function jU($,X={}){let Z={...zU,...X},J=await UU();if(J)try{return await BU($,Z,J)}catch(Y){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${Y}`)}return HU($,Z)}async function BU($,X,Z){let{generatePlaceholder:J,generateThumbHash:Y}=Z,Q={blur:"blur",thumbhash:"thumbhash",blurhash:"thumbhash",pixelate:"pixelate","dominant-color":"dominant-color",none:"blur"}[X.strategy]||"blur";if(X.strategy==="thumbhash")return{dataURL:(await Y($)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let w=await J($,{width:X.width,height:X.height,quality:X.quality,blurLevel:X.blurLevel,strategy:Q,base64Encode:!0});return{dataURL:w.dataURL,width:w.width,height:w.height,aspectRatio:w.aspectRatio,originalWidth:w.originalWidth,originalHeight:w.originalHeight,strategy:X.strategy,dominantColor:w.dominantColor,css:w.css}}function HU($,X){let Z=X.width||20,J=X.height||Z,Y="#e5e7eb",G=`<svg xmlns="http://www.w3.org/2000/svg" width="${Z}" height="${J}" viewBox="0 0 ${Z} ${J}"><rect fill="#e5e7eb" width="${Z}" height="${J}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(G)}`,width:Z,height:J,aspectRatio:Z/J,originalWidth:0,originalHeight:0,strategy:X.strategy,dominantColor:"#e5e7eb"}}function VJ($,X,Z={}){let J=Z.transitionDuration||300,Y=Z.easing||"ease-out";return`
|
|
10727
10727
|
#${$} {
|
|
10728
10728
|
--stx-img-transition-duration: ${J}ms;
|
|
10729
10729
|
--stx-img-transition-easing: ${Y};
|
|
@@ -10740,7 +10740,7 @@ ${Z0.dim}${w}${Z0.reset}
|
|
|
10740
10740
|
#${$}.stx-img-loaded img {
|
|
10741
10741
|
opacity: 1;
|
|
10742
10742
|
}
|
|
10743
|
-
`.trim()}async function AJ($,X={}){let Z=`${$}:${JSON.stringify(X)}`;if(
|
|
10743
|
+
`.trim()}async function AJ($,X={}){let Z=`${$}:${JSON.stringify(X)}`;if(z4.has(Z))return z4.get(Z);let J=await jU($,X);return z4.set(Z,J),J}var zU,U4,z4;var RJ=D(()=>{zU={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},U4=`
|
|
10744
10744
|
.stx-img-placeholder {
|
|
10745
10745
|
position: relative;
|
|
10746
10746
|
overflow: hidden;
|
|
@@ -10769,8 +10769,8 @@ ${Z0.dim}${w}${Z0.reset}
|
|
|
10769
10769
|
filter: blur(0);
|
|
10770
10770
|
transform: scale(1);
|
|
10771
10771
|
}
|
|
10772
|
-
`.trim();K4=new Map});import{createHash as TJ}from"crypto";import{readFile as _U,stat as MJ}from"fs/promises";async function h0($){try{let X=await _U($);return TJ("sha256").update(X).digest("hex").slice(0,16)}catch{return""}}function NJ($){return TJ("sha256").update($).digest("hex").slice(0,16)}function O$($,X){let Z=JSON.stringify(X,Object.keys(X).sort());return`${NJ($)}-${NJ(Z)}`}async function U4($){try{return(await MJ($)).mtimeMs}catch{return 0}}async function v0($){try{return await MJ($),!0}catch{return!1}}var q5=()=>{};import{mkdir as HU,readFile as OU,writeFile as LU,readdir as rR,rm as FU,stat as oR}from"fs/promises";import{join as IJ,dirname as VU}from"path";async function AU($){try{await HU($,{recursive:!0})}catch{}}function EJ($,X,Z){return IJ($,Z,`${X}.json`)}async function kJ($,X,Z){if((Date.now()-$.createdAt)/86400000>Z)return!1;if(await U4(X)!==$.srcMtime)return!1;return!0}async function L$($,X,Z,J=j4){if(!J.enabled)return null;let Y=O$($,X),G=g5.get(Y);if(G){if(await kJ(G,$,J.maxAge))return G.lastAccessedAt=Date.now(),G.data;g5.delete(Y)}let Q=EJ(J.directory,Y,Z);if(await v0(Q))try{let w=await OU(Q,"utf-8"),q=JSON.parse(w);if(await kJ(q,$,J.maxAge))return q.lastAccessedAt=Date.now(),g5.set(Y,q),q.data}catch{}return null}async function F$($,X,Z,J,Y=j4){if(!Y.enabled)return;let G=O$($,X),Q=await h0($),w=await U4($),q={key:G,src:$,srcHash:Q,srcMtime:w,optionsHash:O$("",X),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};g5.set(G,q);let W=EJ(Y.directory,G,J);try{await AU(VU(W)),await LU(W,JSON.stringify(q,null,2))}catch(K){console.warn(`[stx-media] Failed to write cache: ${K}`)}}async function V$($,X=j4){if($==="all")g5.clear();else g5.clear();let Z=$==="all"?["image","video"]:[$];for(let J of Z){let Y=IJ(X.directory,J);try{await FU(Y,{recursive:!0,force:!0})}catch{}}}var g5,j4;var B4=D(()=>{q5();g5=new Map,j4={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class R${config;constructor($={}){this.config={...RU,...$}}async get($,X){return L$($,X,"image",this.config)}async set($,X,Z){return F$($,X,Z,"image",this.config)}async clear(){return V$("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function _4($){if(!A$)A$=new R$($);else if($)A$.updateConfig($);return A$}async function N$($,X,Z){let J=Z?{directory:`${Z.outputDir}/../.cache`}:{};return _4(J).get($,X)}async function T$($,X,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return _4(Y).set($,X,Z)}async function DJ(){return _4().clear()}var RU,A$=null;var H4=D(()=>{B4();RU={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as NU,basename as TU,extname as MU,join as kU}from"path";import{mkdir as IU}from"fs/promises";async function O4(){try{return await import("ts-images")}catch{return null}}function yJ($){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 EU($,X){let Z=X?yJ(X):yJ("web"),J=$.formatQuality||{};return{jpeg:{...Z.jpeg,...J.jpeg},png:{...Z.png,...J.png},webp:{...Z.webp,...J.webp},avif:{...Z.avif,...J.avif}}}async function bJ($,X,Z){let J=await O4();if(!J)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Y=await N$($,X,Z);if(Y)return Y;try{let G=NU($);if(!await v0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let Q=EU(Z,X.preset),w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await IU(w,{recursive:!0});let W=await h0(G),K=TU($,MU($)),z=X.outputFormat?[X.outputFormat]:Z.defaultFormats||["avif","webp","jpeg"],U={src:$,processed:!0,variants:[],hash:W},B=null;if(X.transformations&&X.transformations.length>0)B=await L4(G,X.transformations,J);for(let j of z){let _=Q[j]||{},H=`${K}-${W}.${j}`,L=kU(w,H);try{let O=await J.optimizeImage({input:B||G,output:L,format:j,quality:_.quality,progressive:_.progressive});if(O){if(U.variants.push({path:L,url:`${q}/${H}`,width:O.width||0,height:O.height||0,format:j,size:O.outputSize||0}),!U.originalWidth&&O.width)U.originalWidth=O.width,U.originalHeight=O.height}}catch(O){U.errors=U.errors||[],U.errors.push(`Failed to optimize ${j}: ${O}`)}}if(X.embedThumbhash||X.placeholder==="thumbhash")try{let j=await J.generateThumbHash(G);U.placeholder=j.dataUrl}catch(j){U.errors=U.errors||[],U.errors.push(`Failed to generate thumbhash: ${j}`)}if(X.useDominantColor)try{let j=await J.generatePlaceholder(G,{strategy:"dominant-color"});U.dominantColor=j.dominantColor}catch(j){U.errors=U.errors||[],U.errors.push(`Failed to extract dominant color: ${j}`)}return await T$($,X,U,Z),U}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function SJ($,X,Z,J){let Y=await O4();if(!Y)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await Y.optimizeImage({input:$,output:J,format:X,quality:Z}))?.outputSize}}catch(G){return{success:!1,error:String(G)}}}async function L4($,X,Z){let J=Z||await O4();if(!J)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let Y=await J.decode($);for(let G of X){let Q=G.options||{};switch(G.type){case"resize":if(Q.width||Q.height)Y=await J.resize(Y,{width:Q.width,height:Q.height,fit:Q.fit});break;case"blur":if(Q.sigma!==void 0)Y=await J.blur(Y,Q.sigma);break;case"sharpen":if(Q.amount!==void 0)Y=await J.sharpen(Y,Q.amount);break;case"grayscale":Y=await J.grayscale(Y);break;case"rotate":if(Q.angle!==void 0)Y=await J.rotate(Y,Q.angle);break;case"flip":Y=await J.flip(Y);break;case"flop":Y=await J.flop(Y);break;case"brightness":if(Q.value!==void 0)Y=await J.brightness(Y,Q.value);break;case"contrast":if(Q.value!==void 0)Y=await J.contrast(Y,Q.value);break;case"saturation":if(Q.value!==void 0)Y=await J.saturation(Y,Q.value);break}}return await J.encode(Y,"png")}catch(Y){return console.error(`[stx-media] Transformation failed: ${Y}`),null}}var CJ=D(()=>{q5();H4()});import{resolve as DU,basename as yU,extname as bU,join as SU}from"path";import{mkdir as CU}from"fs/promises";async function PU(){try{return await import("ts-images")}catch{return null}}async function PJ($,X,Z){let J=await PU();if(!J)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Y=DU($);if(!await v0(Y))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let G=X.responsiveWidths||Z.breakpoints||vU,Q=X.formats||Z.defaultFormats||["avif","webp","jpeg"],w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await CU(w,{recursive:!0});let W=await h0(Y),K=yU($,bU($)),z=Z.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},U={src:$,byFormat:{},srcsets:{}};for(let j of Q){U.byFormat[j]=[];let _=[];for(let H of G){let L=`${K}-${H}w-${W}.${j}`,O=SU(w,L),F=`${q}/${L}`;try{let V=z[j]?.quality||80;if(await v0(O)){U.byFormat[j].push({path:O,url:F,width:H,height:0,format:j,size:0}),_.push(`${F} ${H}w`);continue}let A=await J.processImage({input:Y,output:O,format:j,quality:V,resize:{width:H}});if(A)U.byFormat[j].push({path:O,url:F,width:H,height:A.height||Math.round(H*(A.height||1)/(A.width||1)),format:j,size:A.outputSize||0}),_.push(`${F} ${H}w`)}catch(V){console.warn(`[stx-media] Failed to generate ${j} at ${H}w: ${V}`)}}U.srcsets[j]=_.join(", ")}let B=X.placeholder||Z.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let j=await J.generateThumbHash(Y);U.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await J.generatePlaceholder(Y,{strategy:B,width:20});U.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:B}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return U.sizes=X.sizes||xU(G),U}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function xU($){let X=[...$].sort((J,Y)=>J-Y),Z=[];for(let J=0;J<X.length-1;J++){let Y=X[J];Z.push(`(max-width: ${Y}px) ${Y}px`)}return Z.push(`${X[X.length-1]}px`),Z.join(", ")}function vJ($,X="width"){if(!$||$.length===0)return"";if(X==="dpr")return $.filter((Z)=>Z.dpr).map((Z)=>`${Z.url} ${Z.dpr}x`).join(", ");return $.map((Z)=>`${Z.url} ${Z.width}w`).join(", ")}var vU;var xJ=D(()=>{q5();vU=[320,480,640,768,1024,1280,1536,1920]});var fJ={};t(fJ,{setCachedImageResult:()=>T$,processImage:()=>bJ,optimizeImage:()=>SJ,getCachedImageResult:()=>N$,generateSrcset:()=>vJ,generateResponsiveVariants:()=>PJ,clearImageCache:()=>DJ,applyTransformations:()=>L4,ImageProcessorCache:()=>R$});var gJ=D(()=>{CJ();xJ();H4()});async function fU(){try{return await Promise.resolve().then(() => (gJ(),fJ))}catch($){if(!hJ)console.warn("[stx-media] Image processor not available, some features disabled:",$),hJ=!0;return null}}async function M$($,X={}){let Z=X,J=$;if(J.process&&!J.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return dU(J,Z)}if(Z.processedResult?.processed)return R4($,Z.processedResult,X);if(Z.responsiveVariants)return cJ($,Z.responsiveVariants,X);let{src:Y,alt:G,width:Q,height:w,sizes:q,widths:W=f5,dpr:K,formats:z=p7,quality:U=F4,params:B={},placeholder:j="none",placeholderOptions:_={},lazy:H=!0,priority:L=!1,loading:O=L?"eager":I$,decoding:F=k$,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:N,referrerpolicy:T}=$,k=$.class,M=$.style,E=$.id,I=$.data||{},{isDev:S=!1,baseUrl:b=""}=X;if(S&&!X.optimize)return uU($);let y,P,x=E||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!L)try{y=await AJ(Y,{strategy:j,..._}),P=VJ(x,y,_)}catch{}let f=K!==void 0&&Q!==void 0,u;if(f)u=hU($,x,y,X);else u=await gU($,x,y,X);let l;if(L){let z0=z.includes("webp")?"webp":z[0],k0=Q4(Y,W,{...B,q:U},z0),d=typeof q==="object"?w4(q):q||"100vw";l=`<link rel="preload" as="image" imagesrcset="${k0}" imagesizes="${d}" />`}let H0=[];if(!uJ&&j!=="none")H0.push(z4),uJ=!0;if(P)H0.push(P);let S0=H?mJ(x):void 0;return{html:u,preloadLink:l,css:H0.length>0?H0.join(`
|
|
10773
|
-
`):void 0,script:S0}}async function
|
|
10772
|
+
`.trim();z4=new Map});import{createHash as TJ}from"crypto";import{readFile as _U,stat as MJ}from"fs/promises";async function h0($){try{let X=await _U($);return TJ("sha256").update(X).digest("hex").slice(0,16)}catch{return""}}function NJ($){return TJ("sha256").update($).digest("hex").slice(0,16)}function L$($,X){let Z=JSON.stringify(X,Object.keys(X).sort());return`${NJ($)}-${NJ(Z)}`}async function j4($){try{return(await MJ($)).mtimeMs}catch{return 0}}async function v0($){try{return await MJ($),!0}catch{return!1}}var W5=()=>{};import{mkdir as OU,readFile as LU,writeFile as FU,readdir as sR,rm as VU,stat as aR}from"fs/promises";import{join as IJ,dirname as AU}from"path";async function RU($){try{await OU($,{recursive:!0})}catch{}}function EJ($,X,Z){return IJ($,Z,`${X}.json`)}async function kJ($,X,Z){if((Date.now()-$.createdAt)/86400000>Z)return!1;if(await j4(X)!==$.srcMtime)return!1;return!0}async function F$($,X,Z,J=B4){if(!J.enabled)return null;let Y=L$($,X),G=h5.get(Y);if(G){if(await kJ(G,$,J.maxAge))return G.lastAccessedAt=Date.now(),G.data;h5.delete(Y)}let Q=EJ(J.directory,Y,Z);if(await v0(Q))try{let w=await LU(Q,"utf-8"),q=JSON.parse(w);if(await kJ(q,$,J.maxAge))return q.lastAccessedAt=Date.now(),h5.set(Y,q),q.data}catch{}return null}async function V$($,X,Z,J,Y=B4){if(!Y.enabled)return;let G=L$($,X),Q=await h0($),w=await j4($),q={key:G,src:$,srcHash:Q,srcMtime:w,optionsHash:L$("",X),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};h5.set(G,q);let W=EJ(Y.directory,G,J);try{await RU(AU(W)),await FU(W,JSON.stringify(q,null,2))}catch(K){console.warn(`[stx-media] Failed to write cache: ${K}`)}}async function A$($,X=B4){if($==="all")h5.clear();else h5.clear();let Z=$==="all"?["image","video"]:[$];for(let J of Z){let Y=IJ(X.directory,J);try{await VU(Y,{recursive:!0,force:!0})}catch{}}}var h5,B4;var H4=D(()=>{W5();h5=new Map,B4={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class N${config;constructor($={}){this.config={...NU,...$}}async get($,X){return F$($,X,"image",this.config)}async set($,X,Z){return V$($,X,Z,"image",this.config)}async clear(){return A$("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function _4($){if(!R$)R$=new N$($);else if($)R$.updateConfig($);return R$}async function T$($,X,Z){let J=Z?{directory:`${Z.outputDir}/../.cache`}:{};return _4(J).get($,X)}async function M$($,X,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return _4(Y).set($,X,Z)}async function DJ(){return _4().clear()}var NU,R$=null;var O4=D(()=>{H4();NU={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as TU,basename as MU,extname as kU,join as IU}from"path";import{mkdir as EU}from"fs/promises";async function L4(){try{return await import("ts-images")}catch{return null}}function yJ($){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 DU($,X){let Z=X?yJ(X):yJ("web"),J=$.formatQuality||{};return{jpeg:{...Z.jpeg,...J.jpeg},png:{...Z.png,...J.png},webp:{...Z.webp,...J.webp},avif:{...Z.avif,...J.avif}}}async function bJ($,X,Z){let J=await L4();if(!J)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Y=await T$($,X,Z);if(Y)return Y;try{let G=TU($);if(!await v0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let Q=DU(Z,X.preset),w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await EU(w,{recursive:!0});let W=await h0(G),K=MU($,kU($)),z=X.outputFormat?[X.outputFormat]:Z.defaultFormats||["avif","webp","jpeg"],U={src:$,processed:!0,variants:[],hash:W},B=null;if(X.transformations&&X.transformations.length>0)B=await F4(G,X.transformations,J);for(let j of z){let H=Q[j]||{},_=`${K}-${W}.${j}`,L=IU(w,_);try{let O=await J.optimizeImage({input:B||G,output:L,format:j,quality:H.quality,progressive:H.progressive});if(O){if(U.variants.push({path:L,url:`${q}/${_}`,width:O.width||0,height:O.height||0,format:j,size:O.outputSize||0}),!U.originalWidth&&O.width)U.originalWidth=O.width,U.originalHeight=O.height}}catch(O){U.errors=U.errors||[],U.errors.push(`Failed to optimize ${j}: ${O}`)}}if(X.embedThumbhash||X.placeholder==="thumbhash")try{let j=await J.generateThumbHash(G);U.placeholder=j.dataUrl}catch(j){U.errors=U.errors||[],U.errors.push(`Failed to generate thumbhash: ${j}`)}if(X.useDominantColor)try{let j=await J.generatePlaceholder(G,{strategy:"dominant-color"});U.dominantColor=j.dominantColor}catch(j){U.errors=U.errors||[],U.errors.push(`Failed to extract dominant color: ${j}`)}return await M$($,X,U,Z),U}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function SJ($,X,Z,J){let Y=await L4();if(!Y)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await Y.optimizeImage({input:$,output:J,format:X,quality:Z}))?.outputSize}}catch(G){return{success:!1,error:String(G)}}}async function F4($,X,Z){let J=Z||await L4();if(!J)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let Y=await J.decode($);for(let G of X){let Q=G.options||{};switch(G.type){case"resize":if(Q.width||Q.height)Y=await J.resize(Y,{width:Q.width,height:Q.height,fit:Q.fit});break;case"blur":if(Q.sigma!==void 0)Y=await J.blur(Y,Q.sigma);break;case"sharpen":if(Q.amount!==void 0)Y=await J.sharpen(Y,Q.amount);break;case"grayscale":Y=await J.grayscale(Y);break;case"rotate":if(Q.angle!==void 0)Y=await J.rotate(Y,Q.angle);break;case"flip":Y=await J.flip(Y);break;case"flop":Y=await J.flop(Y);break;case"brightness":if(Q.value!==void 0)Y=await J.brightness(Y,Q.value);break;case"contrast":if(Q.value!==void 0)Y=await J.contrast(Y,Q.value);break;case"saturation":if(Q.value!==void 0)Y=await J.saturation(Y,Q.value);break}}return await J.encode(Y,"png")}catch(Y){return console.error(`[stx-media] Transformation failed: ${Y}`),null}}var CJ=D(()=>{W5();O4()});import{resolve as yU,basename as bU,extname as SU,join as CU}from"path";import{mkdir as PU}from"fs/promises";async function vU(){try{return await import("ts-images")}catch{return null}}async function PJ($,X,Z){let J=await vU();if(!J)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Y=yU($);if(!await v0(Y))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let G=X.responsiveWidths||Z.breakpoints||xU,Q=X.formats||Z.defaultFormats||["avif","webp","jpeg"],w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await PU(w,{recursive:!0});let W=await h0(Y),K=bU($,SU($)),z=Z.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},U={src:$,byFormat:{},srcsets:{}};for(let j of Q){U.byFormat[j]=[];let H=[];for(let _ of G){let L=`${K}-${_}w-${W}.${j}`,O=CU(w,L),F=`${q}/${L}`;try{let V=z[j]?.quality||80;if(await v0(O)){U.byFormat[j].push({path:O,url:F,width:_,height:0,format:j,size:0}),H.push(`${F} ${_}w`);continue}let A=await J.processImage({input:Y,output:O,format:j,quality:V,resize:{width:_}});if(A)U.byFormat[j].push({path:O,url:F,width:_,height:A.height||Math.round(_*(A.height||1)/(A.width||1)),format:j,size:A.outputSize||0}),H.push(`${F} ${_}w`)}catch(V){console.warn(`[stx-media] Failed to generate ${j} at ${_}w: ${V}`)}}U.srcsets[j]=H.join(", ")}let B=X.placeholder||Z.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let j=await J.generateThumbHash(Y);U.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await J.generatePlaceholder(Y,{strategy:B,width:20});U.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:B}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return U.sizes=X.sizes||fU(G),U}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function fU($){let X=[...$].sort((J,Y)=>J-Y),Z=[];for(let J=0;J<X.length-1;J++){let Y=X[J];Z.push(`(max-width: ${Y}px) ${Y}px`)}return Z.push(`${X[X.length-1]}px`),Z.join(", ")}function vJ($,X="width"){if(!$||$.length===0)return"";if(X==="dpr")return $.filter((Z)=>Z.dpr).map((Z)=>`${Z.url} ${Z.dpr}x`).join(", ");return $.map((Z)=>`${Z.url} ${Z.width}w`).join(", ")}var xU;var xJ=D(()=>{W5();xU=[320,480,640,768,1024,1280,1536,1920]});var fJ={};t(fJ,{setCachedImageResult:()=>M$,processImage:()=>bJ,optimizeImage:()=>SJ,getCachedImageResult:()=>T$,generateSrcset:()=>vJ,generateResponsiveVariants:()=>PJ,clearImageCache:()=>DJ,applyTransformations:()=>F4,ImageProcessorCache:()=>N$});var gJ=D(()=>{CJ();xJ();O4()});async function gU(){try{return await Promise.resolve().then(() => (gJ(),fJ))}catch($){if(!hJ)console.warn("[stx-media] Image processor not available, some features disabled:",$),hJ=!0;return null}}async function k$($,X={}){let Z=X,J=$;if(J.process&&!J.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return mU(J,Z)}if(Z.processedResult?.processed)return N4($,Z.processedResult,X);if(Z.responsiveVariants)return cJ($,Z.responsiveVariants,X);let{src:Y,alt:G,width:Q,height:w,sizes:q,widths:W=g5,dpr:K,formats:z=i7,quality:U=V4,params:B={},placeholder:j="none",placeholderOptions:H={},lazy:_=!0,priority:L=!1,loading:O=L?"eager":E$,decoding:F=I$,fetchpriority:V,objectFit:A,objectPosition:N,crossorigin:R,referrerpolicy:T}=$,k=$.class,M=$.style,E=$.id,I=$.data||{},{isDev:S=!1,baseUrl:b=""}=X;if(S&&!X.optimize)return dU($);let y,P,x=E||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!L)try{y=await AJ(Y,{strategy:j,...H}),P=VJ(x,y,H)}catch{}let f=K!==void 0&&Q!==void 0,u;if(f)u=uU($,x,y,X);else u=await hU($,x,y,X);let l;if(L){let z0=z.includes("webp")?"webp":z[0],k0=w4(Y,W,{...B,q:U},z0),d=typeof q==="object"?q4(q):q||"100vw";l=`<link rel="preload" as="image" imagesrcset="${k0}" imagesizes="${d}" />`}let _0=[];if(!uJ&&j!=="none")_0.push(U4),uJ=!0;if(P)_0.push(P);let S0=_?mJ(x):void 0;return{html:u,preloadLink:l,css:_0.length>0?_0.join(`
|
|
10773
|
+
`):void 0,script:S0}}async function hU($,X,Z,J){let{src:Y,alt:G,width:Q,height:w,sizes:q,widths:W=g5,formats:K=i7,quality:z=V4,params:U={},lazy:B=!0,priority:j=!1,loading:H=j?"eager":E$,decoding:_=I$,fetchpriority:L,objectFit:O,objectPosition:F,crossorigin:V,referrerpolicy:A}=$,N=$.class,R=$.style,T=$.data||{},k=typeof q==="object"?q4(q):q||"100vw",M=[];for(let S of K){let b=w4(Y,W,{...U,q:z},S),y=W4(S);if(B&&!j)M.push(` <source type="${y}" data-srcset="${b}" data-sizes="${k}" />`);else M.push(` <source type="${y}" srcset="${b}" sizes="${k}" />`)}let E=A4({src:n7(Y,{...U,q:z}),alt:G,width:Q,height:w,loading:j?void 0:H,decoding:_,fetchpriority:j?"high":L,objectFit:O,objectPosition:F,crossorigin:V,referrerpolicy:A,className:dJ(N,Z),style:R4(R,O,F,Z),lazy:B&&!j,data:T}),I;if(Z){let S=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;I=`<div id="${X}" class="stx-img-placeholder" style="${S}">
|
|
10774
10774
|
<picture>
|
|
10775
10775
|
${M.join(`
|
|
10776
10776
|
`)}
|
|
@@ -10780,9 +10780,9 @@ ${M.join(`
|
|
|
10780
10780
|
${M.join(`
|
|
10781
10781
|
`)}
|
|
10782
10782
|
<img ${E} />
|
|
10783
|
-
</picture>`;return I}function
|
|
10783
|
+
</picture>`;return I}function uU($,X,Z,J){let{src:Y,alt:G,width:Q,height:w,dpr:q=[1,2,3],quality:W=V4,params:K={},lazy:z=!0,priority:U=!1,loading:B=U?"eager":E$,decoding:j=I$,fetchpriority:H,objectFit:_,objectPosition:L,crossorigin:O,referrerpolicy:F}=$,V=$.class,A=$.style,N=$.data||{},R=typeof Q==="number"?Q:Number.parseInt(String(Q),10),T=FJ(Y,R,q,{...K,q:W}),k=A4({src:n7(Y,{...K,w:R,q:W}),alt:G,width:Q,height:w,loading:U?void 0:B,decoding:j,fetchpriority:U?"high":H,objectFit:_,objectPosition:L,crossorigin:O,referrerpolicy:F,className:dJ(V,Z),style:R4(A,_,L,Z),lazy:z&&!U,data:N}),M=z&&!U?`data-srcset="${T}"`:`srcset="${T}"`;if(Z){let E=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${X}" class="stx-img-placeholder" style="${E}">
|
|
10784
10784
|
<img ${k} ${M} />
|
|
10785
|
-
</div>`}return`<img ${X?`id="${X}" `:""}${k} ${M} />`}function
|
|
10785
|
+
</div>`}return`<img ${X?`id="${X}" `:""}${k} ${M} />`}function dU($){let{src:X,alt:Z,width:J,height:Y,loading:G=E$,decoding:Q=I$,fetchpriority:w,objectFit:q,objectPosition:W,crossorigin:K,referrerpolicy:z,priority:U=!1}=$,B=$.class,j=$.style,H=$.id,_=$.data||{};return{html:`<img ${A4({src:X,alt:Z,width:J,height:Y,loading:U?"eager":G,decoding:Q,fetchpriority:U?"high":w,objectFit:q,objectPosition:W,crossorigin:K,referrerpolicy:z,className:B,style:R4(j,q,W),id:H,data:_})} />`}}function A4($){let X=[];if($.lazy)X.push(`data-src="${G1($.src)}"`),X.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else X.push(`src="${G1($.src)}"`);if(X.push(`alt="${G1($.alt)}"`),$.width)X.push(`width="${$.width}"`);if($.height)X.push(`height="${$.height}"`);if($.loading)X.push(`loading="${$.loading}"`);if($.decoding)X.push(`decoding="${$.decoding}"`);if($.fetchpriority)X.push(`fetchpriority="${$.fetchpriority}"`);if($.crossorigin)X.push(`crossorigin="${$.crossorigin}"`);if($.referrerpolicy)X.push(`referrerpolicy="${$.referrerpolicy}"`);if($.className)X.push(`class="${G1($.className)}"`);if($.style)X.push(`style="${G1($.style)}"`);if($.id)X.push(`id="${G1($.id)}"`);if($.data)for(let[Z,J]of Object.entries($.data))X.push(`data-${Z}="${G1(J)}"`);if($.lazy)X.push("data-stx-lazy");return X.join(" ")}function dJ($,X){let Z=[];if($)Z.push($);if(X)Z.push("stx-img-blur");return Z.join(" ")||""}function R4($,X,Z,J){let Y=[];if(X)Y.push(`object-fit: ${X}`);if(Z)Y.push(`object-position: ${Z}`);if(J)Y.push("opacity: 0; transition: opacity 300ms ease-out");if($)Y.push($);return Y.join("; ")}function G1($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function mJ($){return`
|
|
10786
10786
|
(function() {
|
|
10787
10787
|
const container = document.getElementById('${$}');
|
|
10788
10788
|
if (!container) return;
|
|
@@ -10819,22 +10819,22 @@ ${M.join(`
|
|
|
10819
10819
|
|
|
10820
10820
|
observer.observe(container);
|
|
10821
10821
|
})();
|
|
10822
|
-
`.trim()}async function
|
|
10822
|
+
`.trim()}async function mU($,X){let Z=await gU();if(!Z)return k$({...$,process:!1},X);let J=X.tsImagesConfig;if($.responsiveWidths&&$.responsiveWidths.length>0||$.widths&&$.widths.length>0||!$.width&&!$.dpr){let G=await Z.generateResponsiveVariants($.src,$,J);if(G)return cJ($,G,X)}else{let G=await Z.processImage($.src,$,J);if(G.processed)return N4($,G,X)}return k$({...$,process:!1},X)}async function N4($,X,Z){let{alt:J,width:Y,height:G,lazy:Q=!0,priority:w=!1,objectFit:q,objectPosition:W,crossorigin:K,referrerpolicy:z}=$,U=$.class,B=$.style,j=$.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,H=$.data||{},_=X.variants||[],L=_.find((P)=>P.format==="jpeg")||_.find((P)=>P.format==="webp")||_[0],O=L?.url||$.src,F=_.filter((P)=>P.format===(L?.format||"jpeg")).map((P)=>`${P.url} ${P.width}w`).join(", "),V=new Map;for(let P of _){if(!V.has(P.format))V.set(P.format,[]);V.get(P.format).push(P)}let A=[],N=["avif","webp","jpeg","png"];for(let P of N){let x=V.get(P);if(x&&x.length>0){let f=x.map((l)=>`${l.url} ${l.width}w`).join(", "),u=W4(P);if(Q&&!w)A.push(` <source type="${u}" data-srcset="${f}" />`);else A.push(` <source type="${u}" srcset="${f}" />`)}}let R=[];if(Q&&!w){if(R.push(`data-src="${G1(O)}"`),R.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),F)R.push(`data-srcset="${F}"`)}else if(R.push(`src="${G1(O)}"`),F)R.push(`srcset="${F}"`);R.push(`alt="${G1(J)}"`);let T=Y||X.originalWidth,k=G||X.originalHeight;if(T)R.push(`width="${T}"`);if(k)R.push(`height="${k}"`);if(!w)R.push(`loading="${Q?"lazy":"eager"}"`);if(R.push('decoding="async"'),w)R.push('fetchpriority="high"');if(K)R.push(`crossorigin="${K}"`);if(z)R.push(`referrerpolicy="${z}"`);let M=[];if(q)M.push(`object-fit: ${q}`);if(W)M.push(`object-position: ${W}`);if(X.placeholder&&Q)M.push("opacity: 0; transition: opacity 300ms ease-out");if(B)M.push(B);if(M.length>0)R.push(`style="${M.join("; ")}"`);let E=[];if(U)E.push(U);if(X.placeholder)E.push("stx-img-blur");if(E.length>0)R.push(`class="${E.join(" ")}"`);if(Q&&!w)R.push("data-stx-lazy");for(let[P,x]of Object.entries(H))R.push(`data-${P}="${G1(x)}"`);let I;if(X.placeholder||X.dominantColor&&$.useDominantColor){let P=X.placeholder?`background-image: url('${X.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${X.dominantColor};`;I=`<div id="${j}" class="stx-img-placeholder" style="${P}">
|
|
10823
10823
|
<picture>
|
|
10824
10824
|
${A.join(`
|
|
10825
10825
|
`)}
|
|
10826
|
-
<img ${
|
|
10826
|
+
<img ${R.join(" ")} />
|
|
10827
10827
|
</picture>
|
|
10828
10828
|
</div>`}else I=`<picture${j?` id="${j}"`:""}>
|
|
10829
10829
|
${A.join(`
|
|
10830
10830
|
`)}
|
|
10831
|
-
<img ${
|
|
10832
|
-
</picture>`;let S=[];if(X.placeholder)S.push(
|
|
10833
|
-
`):void 0,script:b}}async function cJ($,X,Z){let J={src:X.src,processed:!0,variants:[],placeholder:X.placeholder?.dataURL,originalWidth:X.placeholder?.width,originalHeight:X.placeholder?.height};for(let[Y,G]of Object.entries(X.byFormat))if(G)J.variants.push(...G);return
|
|
10831
|
+
<img ${R.join(" ")} />
|
|
10832
|
+
</picture>`;let S=[];if(X.placeholder)S.push(U4);let b=Q?mJ(j):void 0,y;if(w&&F)y=`<link rel="preload" as="image" imagesrcset="${F}" />`;return{html:I,preloadLink:y,css:S.length>0?S.join(`
|
|
10833
|
+
`):void 0,script:b}}async function cJ($,X,Z){let J={src:X.src,processed:!0,variants:[],placeholder:X.placeholder?.dataURL,originalWidth:X.placeholder?.width,originalHeight:X.placeholder?.height};for(let[Y,G]of Object.entries(X.byFormat))if(G)J.variants.push(...G);return N4($,J,Z)}var hJ=!1,V4=80,I$="async",E$="lazy",uJ=!1;var lJ=D(()=>{K4();RJ()});function cU(){return O$({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async($,X,Z,J)=>{let{src:Y,alt:G,options:Q}=lU($,X,Z);if(!Y)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let w={src:Y,alt:G||"",widths:Q.widths||g5,formats:Q.formats||i7,quality:Q.quality,sizes:Q.sizes,dpr:Q.dpr,params:Q.params,placeholder:Q.placeholder,placeholderOptions:Q.placeholderOptions,lazy:Q.lazy!==!1,priority:Q.priority||!1,loading:Q.loading,decoding:Q.decoding,fetchpriority:Q.fetchpriority,objectFit:Q.objectFit,objectPosition:Q.objectPosition,class:Q.class,style:Q.style,id:Q.id,width:Q.width,height:Q.height},q=Z.__isDev||!1,W=await k$(w,{isDev:q}),K=W.html;if(W.preloadLink)K=W.preloadLink+`
|
|
10834
10834
|
`+K;if(W.css)K+=`
|
|
10835
10835
|
<style>${W.css}</style>`;if(W.script)K+=`
|
|
10836
|
-
<script>${W.script}</script>`;return K},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function
|
|
10837
|
-
`)}async function
|
|
10836
|
+
<script>${W.script}</script>`;return K},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function lU($,X,Z){if(X.src)return{src:String(X.src),alt:String(X.alt||""),options:X.options||{}};let J=$.trim();if(J.startsWith("@img(")||J.startsWith("("))J=J.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Y=pU(J),G=T4(Y[0],Z)||"",Q=T4(Y[1],Z)||"",w={};if(Y[2]){let q=T4(Y[2],Z);if(typeof q==="object"&&q!==null)w=q;else if(typeof Y[2]==="string")try{w=JSON.parse(Y[2])}catch{}}return{src:G,alt:Q,options:w}}function pU($){let X=[],Z="",J=!1,Y="",G=0,Q=0;for(let w=0;w<$.length;w++){let q=$[w],W=w>0?$[w-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!J)J=!0,Y=q;else if(q===Y)J=!1,Y="";else Z+=q;continue}if(!J){if(q==="{")G++;if(q==="}")G--;if(q==="[")Q++;if(q==="]")Q--;if(q===","&&G===0&&Q===0){X.push(Z.trim()),Z="";continue}}Z+=q}if(Z.trim())X.push(Z.trim());return X}function T4($,X){if(typeof $!=="string")return $;let Z=$.trim();if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'"))return Z.slice(1,-1);if(!Z.startsWith("/")&&!Z.startsWith(".")&&!Z.startsWith("http")&&!Z.startsWith("{")){let J=X[Z];if(J!==void 0)return J}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var pJ;var iJ=D(()=>{Q4();lJ();K4();pJ=cU()});class y${config;constructor($={}){this.config={...iU,...$}}async get($,X){return F$($,X,"video",this.config)}async set($,X,Z){return V$($,X,Z,"video",this.config)}async clear(){return A$("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function M4($){if(!D$)D$=new y$($);else if($)D$.updateConfig($);return D$}async function b$($,X,Z){let J=Z?{directory:`${Z.outputDir}/../.cache`}:{};return M4(J).get($,X)}async function S$($,X,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return M4(Y).set($,X,Z)}async function nJ(){return M4().clear()}var iU,D$=null;var k4=D(()=>{H4();iU={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as I4,basename as E4,extname as D4,join as C$}from"path";import{mkdir as y4}from"fs/promises";async function b4(){try{return await import("ts-videos")}catch{return null}}async function P$($,X,Z,J){let Y=await b4();if(!Y)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let G=I4($);if(!await v0(G))return null;await y4(Z,{recursive:!0});let Q=await h0(G),w=E4($,D4($)),q=X.format||"webp",W=X.timestamp||0,K=`${w}-poster-${Q}.${q}`,z=C$(Z,K),U=await Y.extractThumbnails(G,{timestamps:[W],width:X.width||1280,height:X.height,format:q,quality:X.quality||85,outputDir:Z,outputPattern:K.replace(`.${q}`,"")});if(U&&U.length>0){let B=U[0];return{path:z,url:`${J}/${K}`,width:B.width||X.width||1280,height:B.height||720,timestamp:W,size:B.size||0}}return null}catch(G){return console.warn(`[stx-media] Failed to generate poster: ${G}`),null}}async function v$($,X,Z,J){let Y=await b4();if(!Y)return[];try{let G=I4($);if(!await v0(G))return[];await y4(Z,{recursive:!0});let Q=await h0(G),w=E4($,D4($)),q=X.format||"webp",z=(await new Y.Input(G).getInfo()).duration||60,U=X.count||10,B=X.interval||z/U,j=[];for(let _=0;_<U&&_*B<z;_++)j.push(_*B);let H=await Y.extractThumbnails(G,{timestamps:j,width:X.width||320,format:q,quality:X.quality||80,outputDir:Z,outputPattern:`${w}-thumb-${Q}`});if(H&&H.length>0)return H.map((_,L)=>({path:_.path||C$(Z,`${w}-thumb-${Q}-${L}.${q}`),url:`${J}/${w}-thumb-${Q}-${L}.${q}`,width:_.width||X.width||320,height:_.height||180,timestamp:j[L],size:_.size||0}));return[]}catch(G){return console.warn(`[stx-media] Failed to generate thumbnails: ${G}`),[]}}async function rJ($,X,Z,J){let Y=await b4();if(!Y)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let G=I4($);if(!await v0(G))return null;await y4(Z,{recursive:!0});let Q=await h0(G),w=E4($,D4($)),K=(await new Y.Input(G).getInfo()).duration||60,z=X.columns||10,U=X.interval||5,B=X.thumbnailWidth||160,j=X.thumbnailHeight||90,H=X.format||"jpeg",_=Math.ceil(K/U),L=Math.ceil(_/z),O=`${w}-sprite-${Q}.${H}`,F=C$(Z,O),V=[];for(let N=0;N<_;N++)V.push(N*U);let A=await Y.extractThumbnails(G,{timestamps:V,width:B,height:j,format:H,quality:X.quality||70,outputDir:C$(Z,".temp")});if(!A||A.length===0)return null;try{let N=await import("ts-images"),R=z*B,T=L*j,k=await N.createSprite({images:A.map((M)=>M.path),columns:z,padding:0,outputPath:F,format:H,quality:X.quality||70});return{url:`${J}/${O}`,path:F,columns:z,rows:L,thumbnailWidth:B,thumbnailHeight:j,interval:U,totalFrames:_}}catch{return console.warn("[stx-media] ts-images not installed, sprite sheet generation skipped"),null}}catch(G){return console.warn(`[stx-media] Failed to generate sprite sheet: ${G}`),null}}var S4=D(()=>{W5()});import{resolve as sJ,basename as aJ,extname as tJ,join as K5}from"path";import{mkdir as x$,writeFile as eJ}from"fs/promises";async function $Y(){try{return await import("ts-videos")}catch{return null}}async function f$($,X,Z,J,Y){let G=await $Y();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let Q=sJ($);if(!await v0(Q))return null;let w=await h0(Q),q=aJ($,tJ($)),W=K5(Z,`${q}-${w}-hls`);await x$(W,{recursive:!0});let K=X.length>0?X:XY,z=Y?.segmentDuration||6,j=(await new G.Input(Q).getInfo()).duration||0,H=[],_=0;for(let F of K){let V=K5(W,F.label);await x$(V,{recursive:!0});let A=`${F.label}.m3u8`,N=K5(V,A);try{let R=await G.generateHLS(Q,{outputDir:V,segmentDuration:z,width:F.width,height:F.height,videoBitrate:F.bitrate,audioBitrate:F.audioBitrate,playlistName:F.label});if(R)H.push({quality:F,url:`${J}/${q}-${w}-hls/${F.label}/${A}`,path:N}),_+=R.segmentCount||Math.ceil(j/z)}catch(R){console.warn(`[stx-media] Failed to generate HLS for ${F.label}: ${R}`)}}if(H.length===0)return null;let L=K5(W,"master.m3u8"),O=nU(H,J,q,w);return await eJ(L,O),{manifestUrl:`${J}/${q}-${w}-hls/master.m3u8`,manifestPath:L,playlists:H,segmentCount:_,duration:j}}catch(Q){return console.warn(`[stx-media] Failed to generate HLS manifest: ${Q}`),null}}function nU($,X,Z,J){let Y=["#EXTM3U","#EXT-X-VERSION:3"];for(let G of $){let{quality:Q}=G,w=Q.bitrate+(Q.audioBitrate||128000),q=`${Q.width}x${Q.height||Math.round(Q.width*9/16)}`;Y.push(`#EXT-X-STREAM-INF:BANDWIDTH=${w},RESOLUTION=${q},NAME="${Q.label}"`,`${Q.label}/${Q.label}.m3u8`)}return Y.join(`
|
|
10837
|
+
`)}async function g$($,X,Z,J,Y){let G=await $Y();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let Q=sJ($);if(!await v0(Q))return null;let w=await h0(Q),q=aJ($,tJ($)),W=K5(Z,`${q}-${w}-dash`);await x$(W,{recursive:!0});let K=X.length>0?X:XY,z=Y?.segmentDuration||4,U=Y?.minBufferTime||2,H=(await new G.Input(Q).getInfo()).duration||0,_=[],L=[];for(let A of K){let N=K5(W,A.label);await x$(N,{recursive:!0});try{if(await G.generateDASH(Q,{outputDir:N,segmentDuration:z,width:A.width,height:A.height,videoBitrate:A.bitrate,audioBitrate:A.audioBitrate})){if(_.push({bandwidth:A.bitrate,width:A.width,height:A.height||Math.round(A.width*9/16),url:`${J}/${q}-${w}-dash/${A.label}/video`}),A.audioBitrate)L.push({bandwidth:A.audioBitrate,url:`${J}/${q}-${w}-dash/${A.label}/audio`})}}catch(R){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${R}`)}}if(_.length===0)return null;let O=K5(W,"manifest.mpd"),F=rU(_,L,H,z,U);await eJ(O,F);let V=[{type:"video",representations:_}];if(L.length>0)V.push({type:"audio",representations:L});return{manifestUrl:`${J}/${q}-${w}-dash/manifest.mpd`,manifestPath:O,adaptationSets:V,duration:H}}catch(Q){return console.warn(`[stx-media] Failed to generate DASH manifest: ${Q}`),null}}function rU($,X,Z,J,Y){let G=oJ(Z),Q=oJ(Y),w=`<?xml version="1.0" encoding="UTF-8"?>
|
|
10838
10838
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
|
|
10839
10839
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
10840
10840
|
xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
|
|
@@ -10860,11 +10860,11 @@ ${A.join(`
|
|
|
10860
10860
|
</Representation>
|
|
10861
10861
|
`}w+=` </AdaptationSet>
|
|
10862
10862
|
`}return w+=` </Period>
|
|
10863
|
-
</MPD>`,w}function oJ($){let X=Math.floor($/3600),Z=Math.floor($%3600/60),J=Math.floor($%60),Y="PT";if(X>0)Y+=`${X}H`;if(Z>0)Y+=`${Z}M`;return Y+=`${J}S`,Y}var XY;var
|
|
10863
|
+
</MPD>`,w}function oJ($){let X=Math.floor($/3600),Z=Math.floor($%3600/60),J=Math.floor($%60),Y="PT";if(X>0)Y+=`${X}H`;if(Z>0)Y+=`${Z}M`;return Y+=`${J}S`,Y}var XY;var C4=D(()=>{W5();XY=[{label:"1080p",width:1920,height:1080,bitrate:5000000,audioBitrate:192000},{label:"720p",width:1280,height:720,bitrate:2500000,audioBitrate:128000},{label:"480p",width:854,height:480,bitrate:1e6,audioBitrate:96000},{label:"360p",width:640,height:360,bitrate:600000,audioBitrate:64000}]});import{resolve as ZY,basename as oU,extname as sU,join as aU}from"path";import{mkdir as tU}from"fs/promises";async function JY(){try{return await import("ts-videos")}catch{return null}}function eU($){switch($){case"very-low":return 500000;case"low":return 1e6;case"medium":return 2500000;case"high":return 5000000;case"very-high":return 1e7;case"lossless":return 0;default:return 2500000}}function $j($){switch($){case"youtube":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};case"twitter":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"instagram-feed":return{codec:"h264",maxWidth:1080,maxHeight:1080,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"instagram-story":case"instagram-reels":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"tiktok":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"discord":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:60,bitrate:8000000,audioCodec:"aac",audioBitrate:192000};case"linkedin":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"facebook":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"web-progressive":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000,twoPass:!0};case"web-streaming":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};default:return{}}}async function P4($){let X=await JY();if(!X)return null;try{let Z=ZY($),Y=await new X.Input(Z).getInfo();return{duration:Y.duration||0,width:Y.width||0,height:Y.height||0,frameRate:Y.frameRate||0,bitrate:Y.bitrate||0,codec:Y.videoCodec||"",audioCodec:Y.audioCodec}}catch(Z){return console.warn(`[stx-media] Failed to analyze video: ${Z}`),null}}async function YY($,X,Z,J){let Y=await JY();if(!Y)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let G=await b$($,X,Z);if(G)return G;try{let Q=ZY($);if(!await v0(Q))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let w=Z.outputDir||"dist/videos",q=Z.baseUrl||"/videos";await tU(w,{recursive:!0});let W=await h0(Q),K=oU($,sU($)),z={src:$,processed:!0,hash:W};J?.({percentage:5,stage:"analyzing"}),z.metadata=await P4(Q)||void 0;let U={};if(X.quality)U.bitrate=eU(X.quality);if(X.platform)Object.assign(U,$j(X.platform));if(X.transcode)Object.assign(U,X.transcode);if(Object.keys(U).length>0||X.process){J?.({percentage:10,stage:"transcoding"});let B=`${K}-${W}.mp4`,j=aU(w,B);try{let H=await Xj(Q,j,U,Y,(_)=>J?.({percentage:10+_*0.5,stage:"transcoding"}));if(H)z.transcoded={path:j,url:`${q}/${B}`,duration:H.duration,size:H.size,video:{codec:U.codec||"h264",width:H.width,height:H.height,bitrate:H.bitrate,frameRate:H.frameRate},audio:H.audioCodec?{codec:U.audioCodec||"aac",bitrate:U.audioBitrate||128000,sampleRate:U.sampleRate||48000,channels:U.channels||2}:void 0}}catch(H){z.errors=z.errors||[],z.errors.push(`Transcoding failed: ${H}`)}}if(X.generatePoster){J?.({percentage:65,stage:"generating-poster"});let B=typeof X.generatePoster==="object"?X.generatePoster:{timestamp:0},j=await P$(Q,B,w,q);if(j)z.poster=j}if(Z.thumbnails?.enabled){J?.({percentage:70,stage:"generating-thumbnails"});let B=await v$(Q,Z.thumbnails,w,q);if(B.length>0)z.thumbnails=B}if(X.streaming){J?.({percentage:80,stage:"generating-manifests"});let B=typeof X.streaming==="object"?X.streaming:Z.streaming||{format:"hls"};if(B.format==="hls"||B.format===void 0){let j=await f$(Q,B.qualities||Z.streaming?.defaultQualities||[],w,q);if(j)z.streaming={...z.streaming,hls:j}}if(B.format==="dash"){let j=await g$(Q,B.qualities||Z.streaming?.defaultQualities||[],w,q);if(j)z.streaming={...z.streaming,dash:j}}}if(X.spriteSheet)J?.({percentage:90,stage:"generating-sprite-sheet"});return J?.({percentage:100,stage:"complete"}),await S$($,X,z,Z),z}catch(Q){return{src:$,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function Xj($,X,Z,J,Y){try{let Q=await new J.Conversion($,X,{videoCodec:Z.codec,videoBitrate:Z.bitrate,width:Z.maxWidth,height:Z.maxHeight,frameRate:Z.frameRate,audioCodec:Z.audioCodec,audioBitrate:Z.audioBitrate,sampleRate:Z.sampleRate,channels:Z.channels}).run((w)=>{Y?.(w.percentage/100)});return{duration:Q.duration||0,size:Q.size||0,width:Q.width||Z.maxWidth||0,height:Q.height||Z.maxHeight||0,bitrate:Q.bitrate||Z.bitrate||0,frameRate:Q.frameRate||Z.frameRate||30,audioCodec:Q.audioCodec}}catch(G){return console.error(`[stx-media] Transcoding failed: ${G}`),null}}var GY=D(()=>{W5();k4();S4();C4()});var QY={};t(QY,{setCachedVideoResult:()=>S$,processVideo:()=>YY,getCachedVideoResult:()=>b$,generateThumbnails:()=>v$,generateSpriteSheet:()=>rJ,generatePoster:()=>P$,generateHLSManifest:()=>f$,generateDASHManifest:()=>g$,clearVideoCache:()=>nJ,analyzeVideo:()=>P4,VideoProcessorCache:()=>y$});var wY=D(()=>{GY();S4();C4();k4()});async function WY(){try{return await Promise.resolve().then(() => (wY(),QY))}catch($){if(!qY)console.warn("[stx-media] Video processor not available, some features disabled:",$),qY=!0;return null}}async function h$($,X={}){let Z=X,J=$;if(J.process&&!J.skipProcessing){if(Z.tsVideosConfig?.enabled&&!Z.isDev)return wj(J,Z)}if(Z.processedResult?.processed)return jY($,Z.processedResult,X);let Y;if(J.generatePoster&&J.src&&!$.poster)Y=await qj(J,Z);let{src:G,sources:Q=[],poster:w,posterPlaceholder:q,controls:W=KY,autoplay:K=!1,muted:z=!1,loop:U=!1,preload:B=zY,playsinline:j=!0,lazy:H=!0,player:_="native",type:L,width:O,height:F,crossorigin:V,disablePictureInPicture:A=!1,disableRemotePlayback:N=!1}=$,R=Y||w,T=$.class,k=$.style,M=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(_==="ts-video")return Yj($,X);if(L&&L!=="video")return Jj(G||"",L,$);let E=Q.length>0?Q:G?[{src:G,type:UY(G)}]:[],I=[`id="${M}"`];if(W)I.push("controls");if(K)I.push("autoplay");if(z)I.push("muted");if(U)I.push("loop");if(j)I.push("playsinline");if(A)I.push("disablepictureinpicture");if(N)I.push("disableremoteplayback");if(V)I.push(`crossorigin="${V}"`);if(H){if(I.push(`data-preload="${B}"`),I.push('preload="none"'),R)I.push(`data-poster="${b0(R)}"`);I.push("data-stx-lazy")}else if(I.push(`preload="${B}"`),R)I.push(`poster="${b0(R)}"`);if(O)I.push(`width="${O}"`);if(F)I.push(`height="${F}"`);if(T)I.push(`class="${b0(T)}"`);if(k)I.push(`style="${b0(k)}"`);let S=E.map((P)=>{return` <source ${H?`data-src="${b0(P.src)}"`:`src="${b0(P.src)}"`} type="${P.type}"${P.media?` media="${P.media}"`:""} />`}).join(`
|
|
10864
10864
|
`),b=`<video ${I.join(" ")}>
|
|
10865
10865
|
${S}
|
|
10866
10866
|
Your browser does not support the video tag.
|
|
10867
|
-
</video>`,y;if(
|
|
10867
|
+
</video>`,y;if(H)y=`
|
|
10868
10868
|
(function() {
|
|
10869
10869
|
var video = document.getElementById('${M}');
|
|
10870
10870
|
if (!video) return;
|
|
@@ -10899,11 +10899,11 @@ ${S}
|
|
|
10899
10899
|
|
|
10900
10900
|
observer.observe(video);
|
|
10901
10901
|
})();
|
|
10902
|
-
`.trim();return{html:b,script:y}}function
|
|
10902
|
+
`.trim();return{html:b,script:y}}function Jj($,X,Z){let{width:J=640,height:Y=360}=Z,G=Z.class,Q=Z.style,w=Z.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,q,W=null;switch(X){case"youtube":W=Gj($),q=W?`https://www.youtube-nocookie.com/embed/${W}`:$;break;case"vimeo":W=Qj($),q=W?`https://player.vimeo.com/video/${W}`:$;break;case"dailymotion":W=$.split("/").pop()||"",q=`https://www.dailymotion.com/embed/video/${W}`;break;case"twitch":W=$.split("/").pop()||"",q=`https://player.twitch.tv/?video=${W}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:q=$}let K=[`id="${w}"`,`src="${b0(q)}"`,`width="${J}"`,`height="${Y}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(G)K.push(`class="${b0(G)}"`);if(Q)K.push(`style="${b0(Q)}"`);if(Z.lazy)K.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
|
|
10903
10903
|
<iframe ${K.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
|
|
10904
|
-
</div>`}}function
|
|
10904
|
+
</div>`}}function Yj($,X={}){let{src:Z,sources:J=[],poster:Y,controls:G=!0,autoplay:Q=!1,muted:w=!1,loop:q=!1,preload:W="metadata",playsinline:K=!0,lazy:z=!0,width:U,height:B}=$,j=$.class,H=$.style,_=$.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,L={src:J.length>0?J:Z,autoplay:Q,loop:q,muted:w,playsinline:K,preload:W,poster:Y,controls:G,title:$.title},O=["position: relative",U?`width: ${typeof U==="number"?U+"px":U}`:"width: 100%",B?`height: ${typeof B==="number"?B+"px":B}`:"",H||""].filter(Boolean).join("; "),F=`
|
|
10905
10905
|
<div
|
|
10906
|
-
id="${
|
|
10906
|
+
id="${_}"
|
|
10907
10907
|
class="ts-video-player${j?" "+b0(j):""}"
|
|
10908
10908
|
style="${O}"
|
|
10909
10909
|
data-ts-video-player
|
|
@@ -10924,7 +10924,7 @@ ${S}
|
|
|
10924
10924
|
</div>
|
|
10925
10925
|
`.trim(),V=`
|
|
10926
10926
|
(function() {
|
|
10927
|
-
var container = document.getElementById('${
|
|
10927
|
+
var container = document.getElementById('${_}');
|
|
10928
10928
|
if (!container) return;
|
|
10929
10929
|
|
|
10930
10930
|
var config = JSON.parse(container.dataset.config || '{}');
|
|
@@ -10938,7 +10938,7 @@ ${S}
|
|
|
10938
10938
|
|
|
10939
10939
|
// Load ts-video-player from CDN
|
|
10940
10940
|
var script = document.createElement('script');
|
|
10941
|
-
script.src = '${
|
|
10941
|
+
script.src = '${Zj}';
|
|
10942
10942
|
script.onload = initPlayer;
|
|
10943
10943
|
script.onerror = function() {
|
|
10944
10944
|
console.error('[stx] Failed to load ts-video-player');
|
|
@@ -11068,7 +11068,7 @@ else {
|
|
|
11068
11068
|
.ts-video-player__play-button svg {
|
|
11069
11069
|
margin-left: 4px;
|
|
11070
11070
|
}
|
|
11071
|
-
`.trim();return{html:F,script:V,css:A}}function UY($){switch($.split(".").pop()?.toLowerCase()){case"mp4":return"video/mp4";case"webm":return"video/webm";case"ogg":case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"m3u8":return"application/x-mpegURL";default:return"video/mp4"}}function
|
|
11071
|
+
`.trim();return{html:F,script:V,css:A}}function UY($){switch($.split(".").pop()?.toLowerCase()){case"mp4":return"video/mp4";case"webm":return"video/webm";case"ogg":case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"m3u8":return"application/x-mpegURL";default:return"video/mp4"}}function Gj($){let X=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let Z of X){let J=$.match(Z);if(J)return J[1]}return null}function Qj($){let X=$.match(/vimeo\.com\/(\d+)/);return X?X[1]:null}function b0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'")}async function wj($,X){let Z=await WY();if(!Z)return h$({...$,process:!1},X);let J=X.tsVideosConfig,Y=await Z.processVideo($.src,$,J,$.onProcessProgress);if(Y.processed)return jY($,Y,X);return h$({...$,process:!1},X)}async function qj($,X){let Z=await WY();if(!Z||!$.src)return;let J=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},Y=X.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await Z.generatePoster($.src,J,Y.outputDir,Y.baseUrl||"/videos"))?.url}function jY($,X,Z){let{controls:J=KY,autoplay:Y=!1,muted:G=!1,loop:Q=!1,preload:w=zY,playsinline:q=!0,lazy:W=!0,width:K,height:z,crossorigin:U,disablePictureInPicture:B=!1,disableRemotePlayback:j=!1}=$,H=$.class,_=$.style,L=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,O=$.src,F=UY(O);if(X.transcoded)O=X.transcoded.url,F="video/mp4";let V=X.streaming?.hls||X.streaming?.dash;if(V){if(X.streaming?.hls)O=X.streaming.hls.manifestUrl,F="application/x-mpegURL";else if(X.streaming?.dash)O=X.streaming.dash.manifestUrl,F="application/dash+xml"}let A=X.poster?.url||$.poster,N=[`id="${L}"`];if(J)N.push("controls");if(Y)N.push("autoplay");if(G)N.push("muted");if(Q)N.push("loop");if(q)N.push("playsinline");if(B)N.push("disablepictureinpicture");if(j)N.push("disableremoteplayback");if(U)N.push(`crossorigin="${U}"`);if(W){if(N.push(`data-preload="${w}"`),N.push('preload="none"'),A)N.push(`data-poster="${b0(A)}"`);N.push("data-stx-lazy")}else if(N.push(`preload="${w}"`),A)N.push(`poster="${b0(A)}"`);let R=K||X.metadata?.width,T=z||X.metadata?.height;if(R)N.push(`width="${R}"`);if(T)N.push(`height="${T}"`);if(H)N.push(`class="${b0(H)}"`);if(_)N.push(`style="${b0(_)}"`);let M=` <source ${W?`data-src="${b0(O)}"`:`src="${b0(O)}"`} type="${F}" />`,E=`<video ${N.join(" ")}>
|
|
11072
11072
|
${M}
|
|
11073
11073
|
Your browser does not support the video tag.
|
|
11074
11074
|
</video>`;if(X.spriteSheet)E=`<div class="stx-video-wrapper" data-sprite-sheet="${b0(X.spriteSheet.url)}" data-sprite-cols="${X.spriteSheet.columns}" data-sprite-interval="${X.spriteSheet.interval}">
|
|
@@ -11117,9 +11117,9 @@ ${E}
|
|
|
11117
11117
|
width: 100%;
|
|
11118
11118
|
height: auto;
|
|
11119
11119
|
}
|
|
11120
|
-
`.trim();return{html:E,script:I,css:S}}var qY=!1,KY=!0,zY="metadata",
|
|
11120
|
+
`.trim();return{html:E,script:I,css:S}}var qY=!1,KY=!0,zY="metadata",Zj="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var BY=D(()=>{x4()});function HY(){return O$({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async($,X,Z,J)=>{let{src:Y,options:G}=Wj($,X,Z);if(!Y)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let Q={src:Y,poster:G.poster,controls:G.controls!==!1,autoplay:G.autoplay||!1,muted:G.muted||!1,loop:G.loop||!1,preload:G.preload||"metadata",playsinline:G.playsinline!==!1,lazy:G.lazy!==!1,player:G.player||"native",type:G.type,width:G.width,height:G.height,class:G.class,style:G.style,id:G.id,crossorigin:G.crossorigin,disablePictureInPicture:G.disablePictureInPicture,disableRemotePlayback:G.disableRemotePlayback,title:G.title,quality:G.quality,platform:G.platform,process:G.process,generatePoster:G.generatePoster,streaming:G.streaming,transcode:G.transcode,spriteSheet:G.spriteSheet,waveform:G.waveform},q={isDev:Z.__isDev||!1,tsVideosConfig:Z.__tsVideosConfig},W=await h$(Q,q),K=W.html;if(W.css)K+=`
|
|
11121
11121
|
<style>${W.css}</style>`;if(W.script)K+=`
|
|
11122
|
-
<script>${W.script}</script>`;return K},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function
|
|
11122
|
+
<script>${W.script}</script>`;return K},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function Wj($,X,Z){if(X.src)return{src:String(X.src),options:X.options||{}};let J=$.trim();if(J.startsWith("@video(")||J.startsWith("("))J=J.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Y=Kj(J),G=_Y(Y[0],Z)||"",Q={};if(Y[1]){let w=_Y(Y[1],Z);if(typeof w==="object"&&w!==null)Q=w;else if(typeof Y[1]==="string")try{Q=JSON.parse(Y[1])}catch{}}return{src:G,options:Q}}function Kj($){let X=[],Z="",J=!1,Y="",G=0,Q=0;for(let w=0;w<$.length;w++){let q=$[w],W=w>0?$[w-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!J)J=!0,Y=q;else if(q===Y)J=!1,Y="";else Z+=q;continue}if(!J){if(q==="{")G++;if(q==="}")G--;if(q==="[")Q++;if(q==="]")Q--;if(q===","&&G===0&&Q===0){X.push(Z.trim()),Z="";continue}}Z+=q}if(Z.trim())X.push(Z.trim());return X}function _Y($,X){if(typeof $!=="string")return $;let Z=$.trim();if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'"))return Z.slice(1,-1);if(!Z.startsWith("/")&&!Z.startsWith(".")&&!Z.startsWith("http")&&!Z.startsWith("{")){let J=X[Z];if(J!==void 0)return J}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var v4;var x4=D(()=>{Q4();BY();v4=HY()});function zj($,X){let Z=X.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
|
|
11123
11123
|
${$}
|
|
11124
11124
|
</div>
|
|
11125
11125
|
<script>
|
|
@@ -11164,7 +11164,7 @@ ${E}
|
|
|
11164
11164
|
}
|
|
11165
11165
|
}
|
|
11166
11166
|
})();
|
|
11167
|
-
</script>`}function
|
|
11167
|
+
</script>`}function Uj($,X){let Z=X.pwa?.updates,J=Z?.message||"A new version is available. Reload to update?",Y=Z?.autoReload||!1,G=$.trim().length>0,Q=`
|
|
11168
11168
|
<div class="stx-pwa-update-banner" style="
|
|
11169
11169
|
position: fixed;
|
|
11170
11170
|
bottom: 0;
|
|
@@ -11275,7 +11275,7 @@ else {
|
|
|
11275
11275
|
// Also listen for custom event
|
|
11276
11276
|
window.addEventListener('pwa-update-available', showUpdate);
|
|
11277
11277
|
})();
|
|
11278
|
-
</script>`}function
|
|
11278
|
+
</script>`}function jj($,X){let Z=$.trim().length>0,J=`
|
|
11279
11279
|
<div class="stx-offline-indicator" style="
|
|
11280
11280
|
position: fixed;
|
|
11281
11281
|
top: 16px;
|
|
@@ -11336,7 +11336,7 @@ else {
|
|
|
11336
11336
|
window.addEventListener('offline', updateStatus);
|
|
11337
11337
|
updateStatus();
|
|
11338
11338
|
})();
|
|
11339
|
-
</script>`}function
|
|
11339
|
+
</script>`}function Bj($,X){let Z=X.pwa?.push,J=Z?.vapidPublicKey||"",Y=Z?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
|
|
11340
11340
|
${$}
|
|
11341
11341
|
</div>
|
|
11342
11342
|
<script>
|
|
@@ -11418,72 +11418,72 @@ catch (error) {
|
|
|
11418
11418
|
init();
|
|
11419
11419
|
}
|
|
11420
11420
|
})();
|
|
11421
|
-
</script>`}var
|
|
11422
|
-
${$.message}`),X&&$.line){let G=
|
|
11421
|
+
</script>`}var Hj,_j,Oj,Lj,OY;var LY=D(()=>{Hj={name:"pwa.installButton",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return zj($,Y)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},_j={name:"pwa.updatePrompt",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return Uj($,Y)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},Oj={name:"pwa.offlineIndicator",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return jj($,Y)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},Lj={name:"pwa.pushSubscribe",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return Bj($,Y)},hasEndTag:!0,description:"Renders a push notification subscription button"},OY=[Hj,_j,Oj,Lj]});function f4($){for(let[X,Z]of Object.entries(o))if(Z===$)return X;return}var o;var u$=D(()=>{o={UNCLOSED_DIRECTIVE:1001,UNCLOSED_EXPRESSION:1002,INVALID_DIRECTIVE_SYNTAX:1003,MALFORMED_EXPRESSION:1004,UNEXPECTED_TOKEN:1005,UNDEFINED_VARIABLE:1101,TYPE_ERROR:1102,EVALUATION_ERROR:1103,INFINITE_LOOP:1104,CIRCULAR_REFERENCE:1105,UNSAFE_EXPRESSION:1201,PATH_TRAVERSAL:1202,XSS_ATTEMPT:1203,CODE_INJECTION:1204,DOM_API_VIOLATION:1205,FILE_NOT_FOUND:1301,FILE_READ_ERROR:1302,INVALID_FILE_PATH:1303,PERMISSION_DENIED:1304,INVALID_CONFIG:1401,MISSING_REQUIRED_CONFIG:1402,DEPRECATED_CONFIG:1403,COMPONENT_NOT_FOUND:1501,INVALID_PROPS:1502,COMPONENT_RENDER_ERROR:1503,FILTER_NOT_FOUND:1601,INVALID_FILTER_ARGS:1602,EXPRESSION_TIMEOUT:1603}});function r7(){return!1}function o7(){return!r7()||process.env.STX_DEBUG==="true"}function d$(){return!1}import Fj from"path";function m$(){return{...g4}}function c$($){if(!g4.showRelativePaths||!$)return $;let X=g4.baseDir||process.cwd();try{let Z=Fj.relative(X,$);return Z.startsWith("..")?$:Z}catch{return $}}var Vj,g4,l$,z5,p$;var i$=D(()=>{u$();Vj={showRelativePaths:!1,enableAutoRecovery:o7(),logRecoveryWarnings:!0},g4={...Vj};l$=class l$ extends Error{code;filePath;line;column;context;numericCode;constructor($,X,Z,J,Y,G,Q){super($);this.code=X;this.filePath=Z;this.line=J;this.column=Y;this.context=G;if(this.name="StxError",this.numericCode=Q||o.EVALUATION_ERROR,this.filePath)this.filePath=c$(this.filePath)}};z5=class z5 extends l${constructor($,X,Z,J,Y,G){super($,"stx_RUNTIME_ERROR",X,Z,J,Y,G||o.EVALUATION_ERROR);this.name="StxRuntimeError"}};p$=class p$ extends l${isFatal=!0;constructor($,X,Z,J,Y,G){super($,"stx_VALIDATION_ERROR",X,Z,J,Y,G||o.DOM_API_VIOLATION);this.name="StxValidationError"}}});function VY($){let{type:X,message:Z,code:J,filePath:Y,line:G,column:Q,template:w,offset:q,snippet:W,suggestion:K,format:z="text"}=$,U=G,B=Q;if(!U&&w&&q!==void 0){let O=kj(w,q);U=O.line,B=O.column}let j=Y?c$(Y):void 0,H=J?f4(J):void 0,_={type:X,code:J,codeName:H,message:Z,filePath:j,line:U,column:B,snippet:W,suggestion:K,timestamp:new Date().toISOString()},L;switch(z){case"html":L=Rj(_);break;case"json":L=JSON.stringify(_,null,2);break;case"console":L=Nj(_,w,q);break;case"text":default:L=Aj(_,w,q);break}return{formatted:L,data:_}}function Aj($,X,Z){let J=[],Y=$.code?` [${$.codeName||$.code}]`:"";if(J.push(`[${$.type} Error${Y}]`),$.filePath){let G=$.filePath;if($.line){if(G+=`:${$.line}`,$.column)G+=`:${$.column}`}J.push(`at ${G}`)}if(J.push(`
|
|
11422
|
+
${$.message}`),X&&$.line){let G=Tj(X,$.line,2);if(G)J.push(`
|
|
11423
11423
|
${G}`)}if($.snippet)J.push(`
|
|
11424
11424
|
Snippet: ${$.snippet}`);if($.suggestion)J.push(`
|
|
11425
|
-
Suggestion: ${$.suggestion}`);return J.join(" ")}function
|
|
11425
|
+
Suggestion: ${$.suggestion}`);return J.join(" ")}function Rj($){let X=$.code?` [${$.code}]`:"",Z=$.filePath?` in ${$.filePath}${$.line?`:${$.line}`:""}`:"",J=`<!-- [${$.type} Error${X}]${Z}: ${FY($.message)}`;if($.suggestion)J+=` | Suggestion: ${FY($.suggestion)}`;return J+=" -->",J}function Nj($,X,Z){let W=[],K=$.code?` [${$.codeName||$.code}]`:"";if(W.push(`\x1B[1m${"\x1B[31m"}\u2501\u2501\u2501 ${$.type} Error${K} \u2501\u2501\u2501${"\x1B[0m"}`),$.filePath){let z=`\x1B[36m${$.filePath}\x1B[0m`;if($.line){if(z+=`\x1B[90m:${$.line}\x1B[0m`,$.column)z+=`\x1B[90m:${$.column}\x1B[0m`}W.push(`
|
|
11426
11426
|
\x1B[90mat\x1B[0m ${z}`)}if(W.push(`
|
|
11427
11427
|
|
|
11428
|
-
${$.message}`),X&&$.line){let z=
|
|
11428
|
+
${$.message}`),X&&$.line){let z=Mj(X,$.line,2);if(z)W.push(`
|
|
11429
11429
|
|
|
11430
11430
|
\x1B[90mContext:\x1B[0m
|
|
11431
11431
|
${z}`)}if($.suggestion)W.push(`
|
|
11432
11432
|
|
|
11433
11433
|
\x1B[33mSuggestion:\x1B[0m ${$.suggestion}`);return W.push(`
|
|
11434
|
-
${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501${"\x1B[0m"}`),W.join("")}function
|
|
11434
|
+
${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501${"\x1B[0m"}`),W.join("")}function Tj($,X,Z){let J=$.split(`
|
|
11435
11435
|
`),Y=Math.max(0,X-Z-1),G=Math.min(J.length-1,X+Z-1),Q=[];for(let w=Y;w<=G;w++){let q=(w+1).toString().padStart(4),W=w===X-1?">":" ";Q.push(`${W}${q} | ${J[w]}`)}return Q.join(`
|
|
11436
|
-
`)}function
|
|
11436
|
+
`)}function Mj($,X,Z){let J=$.split(`
|
|
11437
11437
|
`),Y=Math.max(0,X-Z-1),G=Math.min(J.length-1,X+Z-1),Q="\x1B[90m",w="\x1B[31m",q="\x1B[0m",W=[];for(let K=Y;K<=G;K++){let z=(K+1).toString().padStart(4),U=K===X-1,B=U?"\x1B[31m>\x1B[0m":" ",j=U?`\x1B[31m${J[K]}\x1B[0m`:`\x1B[90m${J[K]}\x1B[0m`;W.push(`${B}\x1B[90m${z}\x1B[0m | ${j}`)}return W.join(`
|
|
11438
|
-
`)}function FY($){return $.replace(/--/g,"- -").replace(/>/g,">")}function
|
|
11439
|
-
`);return{line:J.length,column:J[J.length-1].length}}function J0($,X,Z){return VY({type:$,message:X,code:Z,format:"html"}).formatted}async function
|
|
11438
|
+
`)}function FY($){return $.replace(/--/g,"- -").replace(/>/g,">")}function kj($,X){let J=$.substring(0,X).split(`
|
|
11439
|
+
`);return{line:J.length,column:J[J.length-1].length}}function J0($,X,Z){return VY({type:$,message:X,code:Z,format:"html"}).formatted}async function u5($,X,Z){try{return await $()}catch(J){if(Z&&J instanceof Error)Z(J);return X}}var AY=D(()=>{u$();i$()});class u4{errors=[];maxErrors;enableFileLogging;logFilePath;logFormat;maxFileSize;maxLogFiles;minLevel;writeQueue=Promise.resolve();constructor($={}){this.maxErrors=$.maxErrors??1000,this.enableFileLogging=$.enableFileLogging??!1,this.logFilePath=$.logFilePath??".stx/errors.log",this.logFormat=$.logFormat??"json",this.maxFileSize=$.maxFileSize??10485760,this.maxLogFiles=$.maxLogFiles??5,this.minLevel=$.minLevel??"all"}configure($){if($.maxErrors!==void 0)this.maxErrors=$.maxErrors;if($.enableFileLogging!==void 0)this.enableFileLogging=$.enableFileLogging;if($.logFilePath!==void 0)this.logFilePath=$.logFilePath;if($.logFormat!==void 0)this.logFormat=$.logFormat;if($.maxFileSize!==void 0)this.maxFileSize=$.maxFileSize;if($.maxLogFiles!==void 0)this.maxLogFiles=$.maxLogFiles;if($.minLevel!==void 0)this.minLevel=$.minLevel}log($,X,Z="error"){let J={timestamp:new Date,error:$,context:X,level:Z};if(this.errors.push(J),this.errors.length>this.maxErrors)this.errors=this.errors.slice(-this.maxErrors);if(this.enableFileLogging&&this.shouldLog(Z))this.writeToFile(J)}shouldLog($){if(this.minLevel==="all")return!0;if(this.minLevel==="warning")return $==="error"||$==="warning";if(this.minLevel==="error")return $==="error";return!0}formatEntry($){if(this.logFormat==="json")return JSON.stringify({timestamp:$.timestamp.toISOString(),level:$.level||"error",type:$.error.constructor.name,message:$.error.message,stack:$.error.stack,context:$.context});let X=[`[${$.timestamp.toISOString()}] [${($.level||"error").toUpperCase()}] ${$.error.constructor.name}: ${$.error.message}`];if($.error.stack)X.push(` Stack: ${$.error.stack.split(`
|
|
11440
11440
|
`).slice(1).join(`
|
|
11441
11441
|
`)}`);if($.context)X.push(` Context: ${JSON.stringify($.context)}`);return X.join(`
|
|
11442
11442
|
`)}writeToFile($){this.writeQueue=this.writeQueue.then(async()=>{try{let X=await import("fs"),J=(await import("path")).dirname(this.logFilePath);if(!X.existsSync(J))X.mkdirSync(J,{recursive:!0});await this.rotateIfNeeded(X);let Y=`${this.formatEntry($)}
|
|
11443
11443
|
`;X.appendFileSync(this.logFilePath,Y,"utf-8")}catch(X){if(process.env.STX_DEBUG==="true")console.error("Failed to write to error log:",X)}})}async rotateIfNeeded($){try{if(!$.existsSync(this.logFilePath))return;if($.statSync(this.logFilePath).size<this.maxFileSize)return;for(let Z=this.maxLogFiles-1;Z>=1;Z--){let J=`${this.logFilePath}.${Z}`,Y=`${this.logFilePath}.${Z+1}`;if($.existsSync(J))if(Z>=this.maxLogFiles-1)$.unlinkSync(J);else $.renameSync(J,Y)}if(this.maxLogFiles<=1)$.writeFileSync(this.logFilePath,"");else $.renameSync(this.logFilePath,`${this.logFilePath}.1`)}catch(X){if(process.env.STX_DEBUG==="true")console.error("Failed to rotate error logs:",X)}}getRecentErrors($=10){return this.errors.slice(-$)}getErrorsByType($){return this.errors.filter((X)=>X.error.constructor.name===$)}getErrorsByLevel($){return this.errors.filter((X)=>X.level===$)}clear(){this.errors.length=0}async clearLogFile(){try{let $=await import("fs");if($.existsSync(this.logFilePath))$.writeFileSync(this.logFilePath,"","utf-8")}catch($){if(process.env.STX_DEBUG==="true")console.error("Failed to clear error log:",$)}}getStats(){let $={},X={error:0,warning:0,info:0};for(let Z of this.errors){let J=Z.error.constructor.name;$[J]=($[J]||0)+1;let Y=Z.level||"error";X[Y]=(X[Y]||0)+1}return{total:this.errors.length,byType:$,byLevel:X}}async exportToFile($,X="json"){let Z=await import("fs"),Y=(await import("path")).dirname($);if(!Z.existsSync(Y))Z.mkdirSync(Y,{recursive:!0});if(X==="json"){let G=this.errors.map((Q)=>({timestamp:Q.timestamp.toISOString(),level:Q.level||"error",type:Q.error.constructor.name,message:Q.error.message,stack:Q.error.stack,context:Q.context}));Z.writeFileSync($,JSON.stringify(G,null,2),"utf-8")}else{let G=this.errors.map((Q)=>this.formatEntry(Q));Z.writeFileSync($,G.join(`
|
|
11444
11444
|
|
|
11445
|
-
`),"utf-8")}}async flush(){await this.writeQueue}}var
|
|
11446
|
-
@end${w}`;J.push(`Added ${K} missing @end${w}`)}}if(J.length>0&&X.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),J.forEach((w)=>console.warn(` - ${w}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:Z,fixes:J}},createFallbackContent($,X){if(
|
|
11447
|
-
`)}}});var NY=()=>{};var TY=D(()=>{
|
|
11448
|
-
`,F+=`<meta name="title" content="${
|
|
11449
|
-
`;if(O.description)F+=`<meta name="description" content="${
|
|
11450
|
-
`;if(O.keywords){let V=Array.isArray(O.keywords)?O.keywords.join(", "):O.keywords;F+=`<meta name="keywords" content="${
|
|
11451
|
-
`}if(O.robots)F+=`<meta name="robots" content="${
|
|
11452
|
-
`;if(O.canonical)F+=`<link rel="canonical" href="${
|
|
11453
|
-
`;if(O.openGraph){let V=O.openGraph;if(F+=`<meta property="og:type" content="${
|
|
11454
|
-
`,V.title||O.title){let A=V.title||O.title||"";F+=`<meta property="og:title" content="${
|
|
11455
|
-
`}if(V.description||O.description){let A=V.description||O.description||"";F+=`<meta property="og:description" content="${
|
|
11456
|
-
`}if(V.url||O.canonical){let A=V.url||O.canonical||"";F+=`<meta property="og:url" content="${
|
|
11457
|
-
`}if(V.image){if(F+=`<meta property="og:image" content="${
|
|
11458
|
-
`,V.imageAlt)F+=`<meta property="og:image:alt" content="${
|
|
11459
|
-
`;if(V.imageWidth)F+=`<meta property="og:image:width" content="${
|
|
11460
|
-
`;if(V.imageHeight)F+=`<meta property="og:image:height" content="${
|
|
11461
|
-
`}if(V.siteName)F+=`<meta property="og:site_name" content="${
|
|
11462
|
-
`}if(O.twitter){let V=O.twitter;if(F+=`<meta name="twitter:card" content="${
|
|
11463
|
-
`,V.title||O.title){let A=V.title||O.title||"";F+=`<meta name="twitter:title" content="${
|
|
11464
|
-
`}if(V.description||O.description){let A=V.description||O.description||"";F+=`<meta name="twitter:description" content="${
|
|
11465
|
-
`}if(V.image||O.openGraph&&O.openGraph.image){let A=V.image||(O.openGraph?O.openGraph.image:"")||"";F+=`<meta name="twitter:image" content="${
|
|
11466
|
-
`}if(V.site)F+=`<meta name="twitter:site" content="${
|
|
11467
|
-
`;if(V.creator)F+=`<meta name="twitter:creator" content="${
|
|
11445
|
+
`),"utf-8")}}async flush(){await this.writeQueue}}var h4,Q1,d4;var RY=D(()=>{i$();h4={isEnabled(){return m$().enableAutoRecovery},fixCommonSyntaxErrors($){let X=m$();if(!X.enableAutoRecovery)return{fixed:$,fixes:[]};let Z=$,J=[],Y=(Z.match(/\{\{/g)||[]).length,G=(Z.match(/\}\}/g)||[]).length;if(Y>G){let w=Y-G;Z+="}}".repeat(w),J.push(`Added ${w} missing closing braces '}}'`)}let Q=["if","foreach","for","switch","section"];for(let w of Q){let q=(Z.match(new RegExp(`@${w}\\b`,"g"))||[]).length,W=(Z.match(new RegExp(`@end${w}\\b`,"g"))||[]).length;if(q>W){let K=q-W;for(let z=0;z<K;z++)Z+=`
|
|
11446
|
+
@end${w}`;J.push(`Added ${K} missing @end${w}`)}}if(J.length>0&&X.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),J.forEach((w)=>console.warn(` - ${w}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:Z,fixes:J}},createFallbackContent($,X){if(o7())return`<!-- ${$} failed: ${X.message} -->`;return"<!-- stx rendering error -->"}};Q1=new u4,d4={isDevelopment(){return o7()},logDetailedError($,X){if(!this.isDevelopment())return;if(console.error("=== stx Detailed Error ==="),console.error("Error:",$.message),console.error("Stack:",$.stack),X)console.error("Context:",X);console.error("========================")},createErrorReport($,X){let Z=["=== stx Error Report ===",`Time: ${new Date().toISOString()}`,`Error: ${$.message}`,`Type: ${$.constructor.name}`,`Stack: ${$.stack}`];if(X)Z.push(`Context: ${JSON.stringify(X,null,2)}`);return Z.push("========================"),Z.join(`
|
|
11447
|
+
`)}}});var NY=()=>{};var TY=D(()=>{u$();AY();RY();NY();i$()});var M1=D(()=>{TY()});function kY($,X,Z,J){let Y=$;Y=Y.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(w,q,W)=>{if(!W&&q.includes(":")){let K=q.split(":"),z=q,U=K.length>1?K[1]:"";if(U&&X[U])W=X[U];else if(z.startsWith("og:")&&X.openGraph&&X.openGraph[K[1]])W=X.openGraph[K[1]];else W="";return W?`<meta property="${n(z)}" content="${n(W)}">`:""}return W?`<meta name="${n(q)}" content="${n(W)}">`:""});let G=/@metaTag\s*\(/g,Q;while((Q=G.exec(Y))!==null){let w=Q.index,q=w+Q[0].length-1,W=1,K=q+1;while(K<Y.length&&W>0){if(Y[K]==="(")W++;else if(Y[K]===")"){if(W--,W===0)break}K++}if(W!==0)break;let z=Y.substring(q+1,K).trim(),U=K+1,B=(()=>{try{let j=D0(z,X);if(!j)return"";let H="<meta";if(j.name)H+=` name="${n(String(j.name))}"`;if(j.property)H+=` property="${n(String(j.property))}"`;if(j.httpEquiv)H+=` http-equiv="${n(String(j.httpEquiv))}"`;if(j.content)H+=` content="${n(String(j.content))}"`;return H+=">",H}catch(j){let H=j instanceof Error?j.message:String(j);return J0("MetaTag",H,o.EVALUATION_ERROR)}})();Y=Y.substring(0,w)+B+Y.substring(U),G.lastIndex=0}return Y}function IY($,X,Z){let J=$,Y=/@structuredData\s*\(/g,G;while((G=Y.exec(J))!==null){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1;while(W<J.length&&q>0){if(J[W]==="(")q++;else if(J[W]===")"){if(q--,q===0)break}W++}if(q!==0)break;let K=J.substring(w+1,W).trim(),z=W+1,U=(()=>{try{let B=D0(K,X);if(!B)return"";if(!B["@context"])B["@context"]="https://schema.org";return`<script type="application/ld+json">${JSON.stringify(B).replace(/<\//g,"<\\/")}</script>`}catch(B){let j=B instanceof Error?B.message:String(B);return J0("StructuredData",j,o.EVALUATION_ERROR)}})();J=J.substring(0,Q)+U+J.substring(z),Y.lastIndex=0}return J}function EY($,X,Z,J){let Y=$,G=/@seo\s*\(\s*\{/g,Q;while((Q=G.exec(Y))!==null){let w=Y.indexOf("{",Q.index+4),q=1,W=w+1,K=null,z=!1;while(W<Y.length&&q>0){let L=Y[W];if(z){z=!1,W++;continue}if(L==="\\"&&K){z=!0,W++;continue}if(K){if(L===K)K=null;W++;continue}if(L==='"'||L==="'"||L==="`"){K=L,W++;continue}if(L==="{")q++;else if(L==="}")q--;W++}if(q!==0)break;let U=Y.substring(W).match(/^\s*\)/);if(!U)break;let B=W+U[0].length,j=Y.substring(w,W),H=Y.substring(Q.index,B),_=((L)=>{try{let O=D0(L,X);if(!O)return"";let F="";if(O.title)F+=`<title>${n(O.title)}</title>
|
|
11448
|
+
`,F+=`<meta name="title" content="${n(O.title)}">
|
|
11449
|
+
`;if(O.description)F+=`<meta name="description" content="${n(O.description)}">
|
|
11450
|
+
`;if(O.keywords){let V=Array.isArray(O.keywords)?O.keywords.join(", "):O.keywords;F+=`<meta name="keywords" content="${n(V)}">
|
|
11451
|
+
`}if(O.robots)F+=`<meta name="robots" content="${n(O.robots)}">
|
|
11452
|
+
`;if(O.canonical)F+=`<link rel="canonical" href="${n(O.canonical)}">
|
|
11453
|
+
`;if(O.openGraph){let V=O.openGraph;if(F+=`<meta property="og:type" content="${n(V.type||"website")}">
|
|
11454
|
+
`,V.title||O.title){let A=V.title||O.title||"";F+=`<meta property="og:title" content="${n(A)}">
|
|
11455
|
+
`}if(V.description||O.description){let A=V.description||O.description||"";F+=`<meta property="og:description" content="${n(A)}">
|
|
11456
|
+
`}if(V.url||O.canonical){let A=V.url||O.canonical||"";F+=`<meta property="og:url" content="${n(A)}">
|
|
11457
|
+
`}if(V.image){if(F+=`<meta property="og:image" content="${n(V.image)}">
|
|
11458
|
+
`,V.imageAlt)F+=`<meta property="og:image:alt" content="${n(V.imageAlt)}">
|
|
11459
|
+
`;if(V.imageWidth)F+=`<meta property="og:image:width" content="${n(String(V.imageWidth))}">
|
|
11460
|
+
`;if(V.imageHeight)F+=`<meta property="og:image:height" content="${n(String(V.imageHeight))}">
|
|
11461
|
+
`}if(V.siteName)F+=`<meta property="og:site_name" content="${n(V.siteName)}">
|
|
11462
|
+
`}if(O.twitter){let V=O.twitter;if(F+=`<meta name="twitter:card" content="${n(V.card||"summary_large_image")}">
|
|
11463
|
+
`,V.title||O.title){let A=V.title||O.title||"";F+=`<meta name="twitter:title" content="${n(A)}">
|
|
11464
|
+
`}if(V.description||O.description){let A=V.description||O.description||"";F+=`<meta name="twitter:description" content="${n(A)}">
|
|
11465
|
+
`}if(V.image||O.openGraph&&O.openGraph.image){let A=V.image||(O.openGraph?O.openGraph.image:"")||"";F+=`<meta name="twitter:image" content="${n(A)}">
|
|
11466
|
+
`}if(V.site)F+=`<meta name="twitter:site" content="${n(V.site)}">
|
|
11467
|
+
`;if(V.creator)F+=`<meta name="twitter:creator" content="${n(V.creator)}">
|
|
11468
11468
|
`}if(O.structuredData){let V=JSON.stringify(O.structuredData).replace(/<\//g,"<\\/");F+=`<script type="application/ld+json">${V}</script>
|
|
11469
|
-
`}return F.trim()}catch(O){let F=O instanceof Error?O.message:String(O);return J0("SEO",`Error processing @seo directive: ${F}`,o.EVALUATION_ERROR)}})(j);Y=Y.substring(0,Q.index)+
|
|
11469
|
+
`}return F.trim()}catch(O){let F=O instanceof Error?O.message:String(O);return J0("SEO",`Error processing @seo directive: ${F}`,o.EVALUATION_ERROR)}})(j);Y=Y.substring(0,Q.index)+_+Y.substring(B),G.lastIndex=Q.index+_.length}return Y}function DY($,X,Z){if(Z.seo?.enabled===!1)return $;if($.includes("<!-- stx SEO Tags -->")||Z.skipDefaultSeoTags===!0)return $;let J=X.__stx_runtime_head;if(!!(J?.title||J?.meta?.some((z)=>z.property==="og:title"||z.name==="og:title"||z.name==="twitter:title"||z.name==="description")))return $;if(/<meta\s+(?:[^>]*\s)?property=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']twitter:title["']/i.test($))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let G=$.includes("<title>")||$.includes("</title>"),Q="";if(X.title)Q=X.title;else if(X.meta&&X.meta.title)Q=X.meta.title;else if(Z.seo?.defaultConfig?.title)Q=Z.seo.defaultConfig.title;else Q=Z.defaultTitle||"stx Project";let w="";if(X.description)w=X.description;else if(X.meta&&X.meta.description)w=X.meta.description;else if(Z.seo?.defaultConfig?.description)w=Z.seo.defaultConfig.description;else w=Z.defaultDescription||"A website built with stx templating engine";let q="";if(X.image)q=X.image;else if(X.meta&&X.meta.image)q=X.meta.image;else if(X.openGraph&&X.openGraph.image)q=X.openGraph.image;else if(Z.seo?.defaultImage)q=Z.seo.defaultImage;else if(Z.defaultImage)q=Z.defaultImage;let W=`
|
|
11470
11470
|
<!-- stx SEO Tags -->
|
|
11471
|
-
<meta name="title" content="${
|
|
11472
|
-
<meta name="description" content="${
|
|
11473
|
-
<meta property="og:title" content="${
|
|
11474
|
-
<meta property="og:description" content="${
|
|
11471
|
+
<meta name="title" content="${n(Q)}">
|
|
11472
|
+
<meta name="description" content="${n(w)}">
|
|
11473
|
+
<meta property="og:title" content="${n(Q)}">
|
|
11474
|
+
<meta property="og:description" content="${n(w)}">
|
|
11475
11475
|
<meta property="og:type" content="website">
|
|
11476
11476
|
<meta name="twitter:card" content="summary_large_image">
|
|
11477
|
-
<meta name="twitter:title" content="${
|
|
11478
|
-
<meta name="twitter:description" content="${
|
|
11477
|
+
<meta name="twitter:title" content="${n(Q)}">
|
|
11478
|
+
<meta name="twitter:description" content="${n(w)}">
|
|
11479
11479
|
`;if(q)W+=`
|
|
11480
|
-
<meta property="og:image" content="${
|
|
11481
|
-
<meta name="twitter:image" content="${
|
|
11480
|
+
<meta property="og:image" content="${n(q)}">
|
|
11481
|
+
<meta name="twitter:image" content="${n(q)}">
|
|
11482
11482
|
`;let K=$;if(!G)K=K.replace(/<head[^>]*>/,`$&
|
|
11483
|
-
<title>${
|
|
11483
|
+
<title>${n(Q)}</title>`);return K.replace(/<head[^>]*>/,`$&
|
|
11484
11484
|
${W}
|
|
11485
|
-
`)}function
|
|
11486
|
-
`).trim()}var
|
|
11485
|
+
`)}function n($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function MY($){let X=$.trim(),Z=X[0];if((Z==="'"||Z==='"'||Z==="`")&&X.length>1&&X.at(-1)===Z)return{value:X.slice(1,-1),quoted:!0};return{value:X,quoted:!1}}function SY($){let X=[];for(let Z of $.rules){if(X.push(`User-agent: ${Z.userAgent}`),Z.allow)for(let J of Z.allow)X.push(`Allow: ${J}`);if(Z.disallow)for(let J of Z.disallow)X.push(`Disallow: ${J}`);if(Z.crawlDelay!==void 0)X.push(`Crawl-delay: ${Z.crawlDelay}`);X.push("")}if($.sitemap){let Z=Array.isArray($.sitemap)?$.sitemap:[$.sitemap];for(let J of Z)X.push(`Sitemap: ${J}`)}if($.host)X.push(`Host: ${$.host}`);return X.join(`
|
|
11486
|
+
`).trim()}var Ij,yY,bY;var n$=D(()=>{M1();v5();y0();Ij=["og:","article:","book:","profile:","fb:","music:","video:"];yY={name:"meta",handler:($,X,Z,J)=>{if(X.length<1)return J0("Meta","meta directive requires at least the meta name",o.INVALID_DIRECTIVE_SYNTAX);let Y=MY(X[0]).value,G;if(X.length>1){let q=MY(X[1]);G=q.quoted?q.value:String(Z?.[q.value]??q.value)}else{let q=Y.includes(":")?Y.slice(Y.indexOf(":")+1):Y,W=Z?.openGraph;G=String(Z?.[q]??W?.[q]??"")}if(!G)return"";let w=Ij.some((q)=>Y.startsWith(q))?{property:Y,content:G}:{name:Y,content:G};if(Z)Z.__stx_runtime_head=g1(Z.__stx_runtime_head??{},{meta:[w]});return""},hasEndTag:!1},bY={name:"structuredData",handler:($,X,Z,J)=>{if($.trim()==="")return J0("StructuredData","structuredData directive requires JSON-LD content",o.INVALID_DIRECTIVE_SYNTAX);try{let Y=JSON.parse($);if(!Y["@context"])Y["@context"]="https://schema.org";if(!Y["@type"])return J0("StructuredData","structuredData requires @type property",o.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(Y)}</script>`}catch(Y){let G=Y instanceof Error?Y.message:String(Y);return J0("StructuredData",G,o.EVALUATION_ERROR)}},hasEndTag:!0}});import s7 from"path";function Ej($,X){let Z=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),J=Z?Z[1].trim():"",Y=X,G=[],Q=!0;if(J){let z=J.match(/export\s+default\s+({[\s\S]*})/);if(z)try{let U=z[1],B=U.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(B)Y=B[1];let j=U.match(/props\s*:\s*\[([\s\S]*?)\]/);if(j)G=j[1].split(",").map((_)=>_.trim().replace(/['"`]/g,"")).filter((_)=>_.length>0);let H=U.match(/shadowDOM\s*:\s*(true|false)/);if(H)Q=H[1]==="true"}catch{}}let w=$.match(/<template\b(?![^>]*\bid\s*=)[^>]*>([\s\S]*?)<\/template>/i),q=w?w[1].trim():"",W=$.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),K=W?W[1].trim():"";return{tag:Y,props:G,template:q,styles:K,script:J,shadowDOM:Q}}function Dj($){let{tag:X,props:Z,template:J,styles:Y,shadowDOM:G}=$,Q=X.split("-").map((z)=>z.charAt(0).toUpperCase()+z.slice(1)).join(""),w=J.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),q=Y.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),W=Z.map((z)=>`'${z}'`).join(", "),K=Z.map((z)=>`
|
|
11487
11487
|
get ${z}() {
|
|
11488
11488
|
return this.getAttribute('${z}') || '';
|
|
11489
11489
|
}
|
|
@@ -11534,16 +11534,16 @@ ${K}
|
|
|
11534
11534
|
}
|
|
11535
11535
|
|
|
11536
11536
|
customElements.define('${X}', ${Q});
|
|
11537
|
-
`}async function
|
|
11538
|
-
${
|
|
11539
|
-
</script>`}var CY=D(()=>{M1();A0()});var PY={};t(PY,{timingPlugin:()=>Sj,pluginManager:()=>Ej,definePlugin:()=>n$,debugPlugin:()=>bj,createVariablesPlugin:()=>Cj,createFilterPlugin:()=>yj,createDirectivePlugin:()=>Dj,PluginManager:()=>d4});function n$($){return $}class d4{plugins=new Map;sortedPlugins=[];initialized=!1;async register($,X){if(this.plugins.has($.name))throw Error(`Plugin "${$.name}" is already registered`);if($.dependencies){for(let Z of $.dependencies)if(!this.plugins.has(Z))throw Error(`Plugin "${$.name}" depends on "${Z}" which is not registered`)}if(this.plugins.set($.name,$),$.onRegister)await $.onRegister(X);this.sortPlugins()}async unregister($){let X=this.plugins.get($);if(!X)return!1;for(let[Z,J]of this.plugins)if(J.dependencies?.includes($))throw Error(`Cannot unregister "${$}" because "${Z}" depends on it`);if(X.onUnregister)await X.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 X of this.sortedPlugins)if(X.registerDirectives)$.push(...X.registerDirectives());return $}getAllFilters(){let $={};for(let X of this.sortedPlugins)if(X.registerFilters)Object.assign($,X.registerFilters());return $}async runBeforeProcess($){return this.runHooks("beforeProcess",$)}async runAfterParse($){return this.runHooks("afterParse",$)}async runBeforeDirective($,X){return this.runDirectiveHooks("beforeDirective",$,X)}async runAfterDirective($,X){return this.runDirectiveHooks("afterDirective",$,X)}async runBeforeRender($){return this.runHooks("beforeRender",$)}async runAfterRender($){return this.runHooks("afterRender",$)}async runOnError($){for(let X of this.sortedPlugins)if(X.onError)try{let Z=await X.onError($);if(Z){if(Z.template!==void 0)$.template=Z.template;if(Z.context)$.context={...$.context,...Z.context};if(Z.metadata)$.metadata={...$.metadata,...Z.metadata};if(Z.skip)return $}}catch(Z){console.error(`Error in plugin "${X.name}" onError hook:`,Z)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort(($,X)=>($.priority??100)-(X.priority??100))}async runHooks($,X){let Z={...X};for(let J of this.sortedPlugins){let Y=J[$];if(Y)try{let G=await Y(Z);if(G){if(G.template!==void 0)Z.template=G.template;if(G.context)Z.context={...Z.context,...G.context};if(G.metadata)Z.metadata={...Z.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${J.name}" ${$} hook:`,G)}}return Z}async runDirectiveHooks($,X,Z){let J={...Z};for(let Y of this.sortedPlugins){let G=Y[$];if(G)try{let Q=await G(X,J);if(Q){if(Q.template!==void 0)J.template=Q.template;if(Q.context)J.context={...J.context,...Q.context};if(Q.metadata)J.metadata={...J.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${Y.name}" ${$} hook:`,Q)}}return J}}function Dj($,X,Z={}){return{name:$,...Z,registerDirectives:()=>X}}function yj($,X,Z={}){return{name:$,...Z,registerFilters:()=>X}}function Cj($){return n$({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(X){return{context:{...X.context,...$}}}})}var Ej,bj,Sj;var vY=D(()=>{Ej=new d4;bj=n$({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($,X){console.log("[stx-debug] beforeDirective:",$)},afterDirective($,X){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)}}),Sj=n$({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess($){$.metadata.startTime=performance.now()},afterRender($){let X=$.metadata.startTime;if(X){let Z=performance.now()-X;console.log(`[stx-timing] Processing took ${Z.toFixed(2)}ms`)}}})});var hY={};t(hY,{validateConfig:()=>uj,resolveStxDirectories:()=>gY,loadStxConfig:()=>Y1,defineStxConfig:()=>hj,defaultConfig:()=>z5,config:()=>y7});import r$ from"fs";import o0 from"path";import{loadConfigWithResult as Pj}from"bunfig";function vj($,X,Z){let J=X||"pages";if($)return{root:$,pagesDir:J};let Y=Z||process.cwd(),G=o0.join(Y,"resources","views"),Q=o0.join(Y,"resources","layouts");if(r$.existsSync(G)&&r$.existsSync(Q))return{root:"resources",pagesDir:"views"};let w=o0.join(Y,"resources","views","pages");if(r$.existsSync(w))return{root:"resources/views",pagesDir:J};return{root:".",pagesDir:J}}function xj($,X){let Z=X.replace(/[\\/]+$/,"");if(!Z||Z===".")return!0;let J=$.replace(/\\/g,"/"),Y=Z.replace(/\\/g,"/");return J===Y||J.startsWith(`${Y}/`)}function gY($,X){let Z=!$.root,J=vj($.root,$.pagesDir,X);if($.root=J.root,$.pagesDir=J.pagesDir,Z&&J.root!=="."){let Y=`${X}::${J.root}`;if(!xY.has(Y))xY.add(Y),console.warn(`[stx] No "root" in config \u2014 inferred "${J.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if($.root&&$.root!=="."){let Y=$.root;for(let G of["partialsDir","componentsDir","layoutsDir"]){let Q=$[G];if(typeof Q!=="string"||!Q)continue;if(o0.isAbsolute(Q)||xj(Q,Y))continue;$[G]=o0.join(Y,Q)}}return $}function fj($,X){let Z=["componentsDir","layoutsDir","partialsDir"];for(let J of Z){let Y=$[J];if(typeof Y!=="string"||!Y)continue;let G=o0.isAbsolute(Y)?Y:o0.join(X,Y);if(r$.existsSync(G))continue;let Q=$.root,w=!!Q&&Q!==".";console.warn(`[stx] ${String(J)} resolves to "${G}", which does not exist. Configured as "${Y}"`+(w?`, resolved under root "${Q}".`:"."))}}function gj($){if(p6($.stateDir),$.stateDir=T7(),$.cachePath=M7($.cachePath),$.build)$.build.cacheDir=M7($.build.cacheDir);if($.media?.cache)$.media.cache.directory=M7($.media.cache.directory);if($.story)$.story.outDir=M7($.story.outDir)}async function Y1($){if(!$){if(u5)return u5;if(o$)return o$}let X=$?o0.resolve($):process.cwd(),Z=fY.get(X);if(Z)return Z;let J=(async()=>{let G=(await Pj({name:"stx",alias:"ui",cwd:X,defaultConfig:z5,verbose:!1})).config;if(gj(G),gY(G,X),fj(G,X),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (vY(),PY)),w=[],q=[];for(let W of G.plugins){let K=typeof W==="string"?W:W[0],z=typeof W==="string"?{}:W[1]||{};try{let U,B;try{U=await import(K),B=o0.dirname(B0.resolve(K))}catch{let _=o0.resolve(process.cwd(),K);U=await import(_),B=o0.dirname(_)}let j=U.default||U;if(Q.register(j,G),j.components){let _=Array.isArray(j.components)?j.components:[j.components];for(let H of _)w.push(o0.resolve(B,H))}if(j.pages){let _=o0.resolve(B,j.pages),H=z.path||"/";q.push({dir:_,prefix:H})}if(j.setup){let _={addDirective:(H)=>{G.customDirectives=G.customDirectives||[],G.customDirectives.push(H)},addRoute:(H,L)=>{G.apiRoutes=G.apiRoutes||{},G.apiRoutes[H]=L},addMiddleware:(H)=>{G.middleware=G.middleware||[],G.middleware.push(H)},pluginDir:B,config:G};await j.setup(z,_)}console.log(`[stx] Plugin loaded: ${j.name||K}`)}catch(U){console.warn(`[stx] Failed to load plugin ${K}:`,U.message)}}G._pluginComponentDirs=w,G._pluginPageDirs=q}return G})();if(fY.set(X,J),!$)o$=J,J.then((Y)=>{u5=Y}).catch(()=>{});return J}function hj($){return $}function uj($){let X=[],Z=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")X.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")X.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")X.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")X.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)X.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)X.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let J=["auto","manual","sections"];if(!J.includes($.streaming.strategy))X.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${J.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let J=["json","yaml","yml","js"];if(!J.includes($.i18n.format))X.push({path:"i18n.format",message:`i18n.format must be one of: ${J.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)X.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)X.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let J=["AA","AAA"];if(!J.includes($.a11y.level))X.push({path:"a11y.level",message:`a11y.level must be one of: ${J.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let J=["progressive","islands"];if(!J.includes($.hydration.mode))X.push({path:"hydration.mode",message:`hydration.mode must be one of: ${J.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let J=["none","eager","lazy"];if(!J.includes($.hydration.preload))X.push({path:"hydration.preload",message:`hydration.preload must be one of: ${J.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))X.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((J,Y)=>{if(!J.name||typeof J.name!=="string")X.push({path:`customDirectives[${Y}].name`,message:"Custom directive must have a name string",severity:"error"});if(!J.handler||typeof J.handler!=="function")X.push({path:`customDirectives[${Y}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))X.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((J,Y)=>{if(!J.name||typeof J.name!=="string")X.push({path:`middleware[${Y}].name`,message:"Middleware must have a name string",severity:"error"});if(!J.handler||typeof J.handler!=="function")X.push({path:`middleware[${Y}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!J.timing||!["before","after"].includes(J.timing))X.push({path:`middleware[${Y}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)Z.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)Z.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)X.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let J=["fullscreen","standalone","minimal-ui","browser"];if(!J.includes($.pwa.manifest.display))X.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let J=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!J.includes($.pwa.manifest.orientation))X.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.routes){let J=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Y,G)=>{if(!Y.pattern||typeof Y.pattern!=="string")X.push({path:`pwa.routes[${G}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!J.includes(Y.strategy))X.push({path:`pwa.routes[${G}].strategy`,message:`PWA route strategy must be one of: ${J.join(", ")}`,severity:"error"});if(Y.maxAgeSeconds!==void 0&&(typeof Y.maxAgeSeconds!=="number"||Y.maxAgeSeconds<0))X.push({path:`pwa.routes[${G}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Y.maxEntries!==void 0&&(typeof Y.maxEntries!=="number"||Y.maxEntries<1))X.push({path:`pwa.routes[${G}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))X.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Y)=>typeof Y!=="number"||Y<16||Y>1024).length>0)X.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let J=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((G)=>!J.includes(G)).length>0)X.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.pwa.icons?.src)Z.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)Z.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:X.length===0,errors:X,warnings:Z}}var z5,xY,u5=null,fY,o$=null,y7;var R1=D(()=>{s9();a9();t9();e9();Y4();iJ();v4();LY();i$();k7();CY();z5={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:T5,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:LJ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:SY,hasEndTag:!1,description:"Include a web component in the template"},o6,s6,DY,yY,a6,e6,$2,t6,J2,Q2,pJ,P4,...OY],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:"main",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}};xY=new Set;fY=new Map;y7=new Proxy(z5,{get($,X){if(u5&&X in u5)return u5[X];if(!o$)Y1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return $[X]}})});var pY={};t(pY,{resetCssCache:()=>rj,resetCrosswindCache:()=>oj,rebuildCrosswindCSS:()=>sj,loadCrosswindConfig:()=>p4,loadCrosswind:()=>l4,injectCrosswindCSS:()=>a7,getCrosswindServeAsset:()=>cj,getCachedCSS:()=>aj,generateCrosswindCSS:()=>lY,extractClassNames:()=>cY,buildCrosswindCSS:()=>mY});import q0 from"path";import{hasLocalConfig as dj}from"bunfig";function a$($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function m4($,X){if(k1.has($))k1.delete($);else if(k1.size>=dY)k1.delete(k1.keys().next().value);k1.set($,X)}function mj($){let X=a$($);if(w1.has(X))w1.delete(X);else if(w1.size>=dY)w1.delete(w1.keys().next().value);return w1.set(X,$),X}function cj($){let X=w1.get($);if(X===void 0)return;return w1.delete($),w1.set($,X),X}async function lj($){if(!m1)return null;try{let X=Bun.file(q0.join(m1,`cw-${a$($)}.css`));if(!await X.exists())return null;return await X.text()}catch{return null}}async function pj($,X){if(!m1)return;try{if(!fs.existsSync(m1))fs.mkdirSync(m1,{recursive:!0});await Bun.write(q0.join(m1,`cw-${a$($)}.css`),X)}catch{}}async function uY($){try{let X=await import($);if(X&&X.CSSGenerator)return{CSSGenerator:X.CSSGenerator,config:X.config,build:X.build,defaultConfig:X.defaultConfig,extractClasses:X.extractClasses}}catch{}return null}function ij(){let $=[],X=process.cwd();while(X!==q0.dirname(X))$.push(q0.join(X,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(q0.join(X,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(q0.join(X,"pantry","@cwcss","crosswind","dist","index.js")),$.push(q0.join(X,"pantry","@cwcss","crosswind","src","index.ts")),$.push(q0.join(X,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(q0.join(X,"pantry","@stacksjs","crosswind","dist","index.js")),X=q0.dirname(X);return $}function nj(){let $=[],X=process.env.HOME||process.env.USERPROFILE||"";if(X){let Z=[q0.join(X,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),q0.join(X,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),q0.join(X,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),q0.join(X,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),q0.join(X,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),q0.join(X,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Z)}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 l4(){if(c4)return B1;c4=!0;try{let $=async(Y)=>{for(let G of Y){if(!await Bun.file(G).exists())continue;let Q=await uY(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${F0.green}[Crosswind]${F0.reset} CSS engine loaded from ${q0.dirname(q0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let Y=q0.resolve(process.env.CROSSWIND_SRC),G=await $([Y]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${Y}`);return B1=G,B1}let X=await $(ij());if(X)return B1=X,B1;let Z=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Y of Z){let G=await uY(Y);if(G){if(B1=G,!process.env.STACKS_DEV_QUIET)console.log(`${F0.green}[Crosswind]${F0.reset} CSS engine loaded`);return B1}}let J=await $(nj());if(J)return B1=J,B1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${F0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${F0.reset}`),console.warn(`${F0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${F0.reset}`),null}}function rj(){k1.clear(),w1.clear()}function oj(){B1=null,c4=!1,q1=null,s7="",k1.clear(),w1.clear(),s$=null}async function p4($){try{if(!dj({name:"crosswind",cwd:$}))return null;let{loadConfigWithResult:X}=await import("bunfig"),Z=await X({name:"crosswind",cwd:$,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Z?.path||!Z.config||Object.keys(Z.config).length===0)return null;let J=q0.relative($,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${F0.green}[Crosswind]${F0.reset} Loaded config from ${J||Z.path}`);return Z.config}catch(X){if(X instanceof Error&&X.name==="ConfigNotFoundError")return null;return console.warn(`${F0.yellow}[Crosswind]${F0.reset} Failed to load crosswind config:`,X instanceof Error?X.message:X),null}}async function mY($){if(d5)return s7;d5=!0;try{let X=await l4();if(!X||!X.build)return d5=!1,"";if(!q1)q1=await p4($);if(!q1)return d5=!1,"";let Z=X.defaultConfig?.theme||{},J=q1.theme||{},Y={...X.defaultConfig,...q1,theme:{...Z,...J,extend:{...Z.extend||{},...J.extend||{}}}},G=performance.now(),Q=await X.build(Y),w=performance.now()-G;if(s7=Q.css,console.log(`${F0.cyan}[Crosswind]${F0.reset} Built ${Q.classes.size} classes in ${w.toFixed(1)}ms`),Y.output){let q=q0.isAbsolute(Y.output)?Y.output:q0.join($,Y.output),W=q0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,Q.css)}return d5=!1,Q.css}catch(X){return console.error(`${F0.red}[Crosswind]${F0.reset} Build error:`,X),d5=!1,s7}}async function sj($){q1=null,await mY($)}function aj(){return s7}function cY($){let X=new Set,Z=/class\s*=\s*["']([^"']+)["']/gi,J=Z.exec($);while(J!==null){for(let Q of J[1].split(/\s+/))if(Q.trim())X.add(Q.trim());J=Z.exec($)}let Y=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,G=Y.exec($);while(G!==null){let Q=G[1].match(/'([^']+)'/g);if(Q){for(let w of Q)for(let q of w.slice(1,-1).split(/\s+/))if(q.trim())X.add(q.trim())}G=Y.exec($)}return X}async function lY($,X){try{let Z=await l4();if(!Z)return"";let J=typeof Z.extractClasses==="function"?Z.extractClasses($):cY($);if(J.size===0)return"";let Y=X?q0.resolve(X):process.cwd();if(!m1)m1=F1(Y,"cache");let G=[...J].sort().join(" "),Q=`${s$||"default"}::${G}`,w=k1.get(Q);if(w!==void 0)return m4(Q,w),w;let q=await lj(Q);if(q!==null)return m4(Q,q),q;if(!q1){let A=null;try{let{loadStxConfig:R}=await Promise.resolve().then(() => (R1(),hY)),N=await R(Y);if(N.css)if(typeof N.css==="string"){let T=q0.isAbsolute(N.css)?N.css:q0.resolve(Y,N.css);if(await Bun.file(T).exists()){let k=await import(T);A=k.default||k,console.log(`${F0.green}[Crosswind]${F0.reset} Loaded config from stx.config.ts \u2192 ${N.css}`)}}else{if(A={...N.css,content:N.css.content||[],preflight:N.css.preflight??!0,minify:N.css.minify??!1},N.css.config){let T=q0.isAbsolute(N.css.config)?N.css.config:q0.resolve(Y,N.css.config);if(await Bun.file(T).exists()){let k=await import(T);A={...k.default||k,...A}}}console.log(`${F0.green}[Crosswind]${F0.reset} Using inline CSS config from stx.config.ts`)}}catch{}q1=A||await p4(Y);try{s$=a$(JSON.stringify(q1??{}))}catch{s$="unhashable"}}let W=Z.defaultConfig||Z.config,K=q1||{},z=m6(W,K),{safelist:U,includePreflight:B,minify:j,tokenCSS:_}=z,H=z.config,L=new Z.CSSGenerator(H);for(let A of U)L.generate(A);for(let A of J)L.generate(A);let O=L.toCSS(B,j),F=H.shortcuts||K.shortcuts||{};for(let[A,R]of Object.entries(F)){if(!J.has(A)&&!U.includes(A))continue;let N=R.split(/\s+/).filter(Boolean);for(let T of N)L.generate(T)}O=L.toCSS(B,j);let V=O.split(`
|
|
11540
|
-
`);for(let[A,
|
|
11537
|
+
`}async function CY($,X,Z,J){if(X.length<1)return J0("WebComponent","@webcomponent directive requires at least the tag name parameter",o.INVALID_DIRECTIVE_SYNTAX);let Y=X[0].replace(/['"]/g,""),Q=(Z.__stx_options||{}).componentsDir||"components",w=[s7.join(s7.dirname(J),Q,`${Y}.stx`),s7.join(process.cwd(),Q,`${Y}.stx`),s7.join(s7.dirname(J),`${Y}.stx`)],q=null;for(let z of w)if(await i(z)){q=await Bun.file(z).text();break}if(!q)return J0("WebComponent",`Component file not found: ${Y}.stx`,o.FILE_NOT_FOUND);let W=Ej(q,Y);return`<script type="module">
|
|
11538
|
+
${Dj(W)}
|
|
11539
|
+
</script>`}var PY=D(()=>{M1();A0()});var vY={};t(vY,{timingPlugin:()=>Pj,pluginManager:()=>yj,definePlugin:()=>r$,debugPlugin:()=>Cj,createVariablesPlugin:()=>vj,createFilterPlugin:()=>Sj,createDirectivePlugin:()=>bj,PluginManager:()=>m4});function r$($){return $}class m4{plugins=new Map;sortedPlugins=[];initialized=!1;async register($,X){if(this.plugins.has($.name))throw Error(`Plugin "${$.name}" is already registered`);if($.dependencies){for(let Z of $.dependencies)if(!this.plugins.has(Z))throw Error(`Plugin "${$.name}" depends on "${Z}" which is not registered`)}if(this.plugins.set($.name,$),$.onRegister)await $.onRegister(X);this.sortPlugins()}async unregister($){let X=this.plugins.get($);if(!X)return!1;for(let[Z,J]of this.plugins)if(J.dependencies?.includes($))throw Error(`Cannot unregister "${$}" because "${Z}" depends on it`);if(X.onUnregister)await X.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 X of this.sortedPlugins)if(X.registerDirectives)$.push(...X.registerDirectives());return $}getAllFilters(){let $={};for(let X of this.sortedPlugins)if(X.registerFilters)Object.assign($,X.registerFilters());return $}async runBeforeProcess($){return this.runHooks("beforeProcess",$)}async runAfterParse($){return this.runHooks("afterParse",$)}async runBeforeDirective($,X){return this.runDirectiveHooks("beforeDirective",$,X)}async runAfterDirective($,X){return this.runDirectiveHooks("afterDirective",$,X)}async runBeforeRender($){return this.runHooks("beforeRender",$)}async runAfterRender($){return this.runHooks("afterRender",$)}async runOnError($){for(let X of this.sortedPlugins)if(X.onError)try{let Z=await X.onError($);if(Z){if(Z.template!==void 0)$.template=Z.template;if(Z.context)$.context={...$.context,...Z.context};if(Z.metadata)$.metadata={...$.metadata,...Z.metadata};if(Z.skip)return $}}catch(Z){console.error(`Error in plugin "${X.name}" onError hook:`,Z)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort(($,X)=>($.priority??100)-(X.priority??100))}async runHooks($,X){let Z={...X};for(let J of this.sortedPlugins){let Y=J[$];if(Y)try{let G=await Y(Z);if(G){if(G.template!==void 0)Z.template=G.template;if(G.context)Z.context={...Z.context,...G.context};if(G.metadata)Z.metadata={...Z.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${J.name}" ${$} hook:`,G)}}return Z}async runDirectiveHooks($,X,Z){let J={...Z};for(let Y of this.sortedPlugins){let G=Y[$];if(G)try{let Q=await G(X,J);if(Q){if(Q.template!==void 0)J.template=Q.template;if(Q.context)J.context={...J.context,...Q.context};if(Q.metadata)J.metadata={...J.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${Y.name}" ${$} hook:`,Q)}}return J}}function bj($,X,Z={}){return{name:$,...Z,registerDirectives:()=>X}}function Sj($,X,Z={}){return{name:$,...Z,registerFilters:()=>X}}function vj($){return r$({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(X){return{context:{...X.context,...$}}}})}var yj,Cj,Pj;var xY=D(()=>{yj=new m4;Cj=r$({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($,X){console.log("[stx-debug] beforeDirective:",$)},afterDirective($,X){console.log("[stx-debug] afterDirective:",$)},beforeRender($){console.log("[stx-debug] beforeRender")},afterRender($){console.log("[stx-debug] afterRender:",$.template.length,"chars")},onError($){console.error("[stx-debug] onError:",$.error.message,"in phase:",$.phase)}}),Pj=r$({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess($){$.metadata.startTime=performance.now()},afterRender($){let X=$.metadata.startTime;if(X){let Z=performance.now()-X;console.log(`[stx-timing] Processing took ${Z.toFixed(2)}ms`)}}})});var uY={};t(uY,{validateConfig:()=>mj,resolveStxDirectories:()=>hY,loadStxConfig:()=>Y1,defineStxConfig:()=>dj,defaultConfig:()=>U5,config:()=>S7});import o$ from"fs";import o0 from"path";import{loadConfigWithResult as xj}from"bunfig";function fj($,X,Z){let J=X||"pages";if($)return{root:$,pagesDir:J};let Y=Z||process.cwd(),G=o0.join(Y,"resources","views"),Q=o0.join(Y,"resources","layouts");if(o$.existsSync(G)&&o$.existsSync(Q))return{root:"resources",pagesDir:"views"};let w=o0.join(Y,"resources","views","pages");if(o$.existsSync(w))return{root:"resources/views",pagesDir:J};return{root:".",pagesDir:J}}function gj($,X){let Z=X.replace(/[\\/]+$/,"");if(!Z||Z===".")return!0;let J=$.replace(/\\/g,"/"),Y=Z.replace(/\\/g,"/");return J===Y||J.startsWith(`${Y}/`)}function hY($,X){let Z=!$.root,J=fj($.root,$.pagesDir,X);if($.root=J.root,$.pagesDir=J.pagesDir,Z&&J.root!=="."){let Y=`${X}::${J.root}`;if(!fY.has(Y))fY.add(Y),console.warn(`[stx] No "root" in config \u2014 inferred "${J.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if($.root&&$.root!=="."){let Y=$.root;for(let G of["partialsDir","componentsDir","layoutsDir"]){let Q=$[G];if(typeof Q!=="string"||!Q)continue;if(o0.isAbsolute(Q)||gj(Q,Y))continue;$[G]=o0.join(Y,Q)}}return $}function hj($,X){let Z=["componentsDir","layoutsDir","partialsDir"];for(let J of Z){let Y=$[J];if(typeof Y!=="string"||!Y)continue;let G=o0.isAbsolute(Y)?Y:o0.join(X,Y);if(o$.existsSync(G))continue;let Q=$.root,w=!!Q&&Q!==".";console.warn(`[stx] ${String(J)} resolves to "${G}", which does not exist. Configured as "${Y}"`+(w?`, resolved under root "${Q}".`:"."))}}function uj($){if(p6($.stateDir),$.stateDir=k7(),$.cachePath=I7($.cachePath),$.build)$.build.cacheDir=I7($.build.cacheDir);if($.media?.cache)$.media.cache.directory=I7($.media.cache.directory);if($.story)$.story.outDir=I7($.story.outDir)}async function Y1($){if(!$){if(d5)return d5;if(s$)return s$}let X=$?o0.resolve($):process.cwd(),Z=gY.get(X);if(Z)return Z;let J=(async()=>{let G=(await xj({name:"stx",alias:"ui",cwd:X,defaultConfig:U5,verbose:!1})).config;if(uj(G),hY(G,X),hj(G,X),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (xY(),vY)),w=[],q=[];for(let W of G.plugins){let K=typeof W==="string"?W:W[0],z=typeof W==="string"?{}:W[1]||{};try{let U,B;try{U=await import(K),B=o0.dirname(B0.resolve(K))}catch{let H=o0.resolve(process.cwd(),K);U=await import(H),B=o0.dirname(H)}let j=U.default||U;if(Q.register(j,G),j.components){let H=Array.isArray(j.components)?j.components:[j.components];for(let _ of H)w.push(o0.resolve(B,_))}if(j.pages){let H=o0.resolve(B,j.pages),_=z.path||"/";q.push({dir:H,prefix:_})}if(j.setup){let H={addDirective:(_)=>{G.customDirectives=G.customDirectives||[],G.customDirectives.push(_)},addRoute:(_,L)=>{G.apiRoutes=G.apiRoutes||{},G.apiRoutes[_]=L},addMiddleware:(_)=>{G.middleware=G.middleware||[],G.middleware.push(_)},pluginDir:B,config:G};await j.setup(z,H)}console.log(`[stx] Plugin loaded: ${j.name||K}`)}catch(U){console.warn(`[stx] Failed to load plugin ${K}:`,U.message)}}G._pluginComponentDirs=w,G._pluginPageDirs=q}return G})();if(gY.set(X,J),!$)s$=J,J.then((Y)=>{d5=Y}).catch(()=>{});return J}function dj($){return $}function mj($){let X=[],Z=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")X.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")X.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")X.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")X.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)X.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)X.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let J=["auto","manual","sections"];if(!J.includes($.streaming.strategy))X.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${J.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let J=["json","yaml","yml","js"];if(!J.includes($.i18n.format))X.push({path:"i18n.format",message:`i18n.format must be one of: ${J.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)X.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)X.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let J=["AA","AAA"];if(!J.includes($.a11y.level))X.push({path:"a11y.level",message:`a11y.level must be one of: ${J.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let J=["progressive","islands"];if(!J.includes($.hydration.mode))X.push({path:"hydration.mode",message:`hydration.mode must be one of: ${J.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let J=["none","eager","lazy"];if(!J.includes($.hydration.preload))X.push({path:"hydration.preload",message:`hydration.preload must be one of: ${J.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))X.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((J,Y)=>{if(!J.name||typeof J.name!=="string")X.push({path:`customDirectives[${Y}].name`,message:"Custom directive must have a name string",severity:"error"});if(!J.handler||typeof J.handler!=="function")X.push({path:`customDirectives[${Y}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))X.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((J,Y)=>{if(!J.name||typeof J.name!=="string")X.push({path:`middleware[${Y}].name`,message:"Middleware must have a name string",severity:"error"});if(!J.handler||typeof J.handler!=="function")X.push({path:`middleware[${Y}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!J.timing||!["before","after"].includes(J.timing))X.push({path:`middleware[${Y}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)Z.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)Z.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)X.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let J=["fullscreen","standalone","minimal-ui","browser"];if(!J.includes($.pwa.manifest.display))X.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let J=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!J.includes($.pwa.manifest.orientation))X.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.routes){let J=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Y,G)=>{if(!Y.pattern||typeof Y.pattern!=="string")X.push({path:`pwa.routes[${G}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!J.includes(Y.strategy))X.push({path:`pwa.routes[${G}].strategy`,message:`PWA route strategy must be one of: ${J.join(", ")}`,severity:"error"});if(Y.maxAgeSeconds!==void 0&&(typeof Y.maxAgeSeconds!=="number"||Y.maxAgeSeconds<0))X.push({path:`pwa.routes[${G}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Y.maxEntries!==void 0&&(typeof Y.maxEntries!=="number"||Y.maxEntries<1))X.push({path:`pwa.routes[${G}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))X.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Y)=>typeof Y!=="number"||Y<16||Y>1024).length>0)X.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let J=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((G)=>!J.includes(G)).length>0)X.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.pwa.icons?.src)Z.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)Z.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:X.length===0,errors:X,warnings:Z}}var U5,fY,d5=null,gY,s$=null,S7;var R1=D(()=>{a9();t9();e9();$X();G4();iJ();x4();LY();n$();E7();PY();U5={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:M5,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:LJ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:CY,hasEndTag:!1,description:"Include a web component in the template"},o6,s6,yY,bY,a6,e6,$2,t6,J2,Q2,pJ,v4,...OY],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:"main",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}};fY=new Set;gY=new Map;S7=new Proxy(U5,{get($,X){if(d5&&X in d5)return d5[X];if(!s$)Y1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return $[X]}})});var iY={};t(iY,{resetCssCache:()=>sj,resetCrosswindCache:()=>aj,rebuildCrosswindCSS:()=>tj,loadCrosswindConfig:()=>i4,loadCrosswind:()=>p4,injectCrosswindCSS:()=>t7,getCrosswindServeAsset:()=>pj,getCachedCSS:()=>ej,generateCrosswindCSS:()=>pY,extractClassNames:()=>lY,buildCrosswindCSS:()=>cY});import q0 from"path";import{hasLocalConfig as cj}from"bunfig";function t$($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function c4($,X){if(k1.has($))k1.delete($);else if(k1.size>=mY)k1.delete(k1.keys().next().value);k1.set($,X)}function lj($){let X=t$($);if(w1.has(X))w1.delete(X);else if(w1.size>=mY)w1.delete(w1.keys().next().value);return w1.set(X,$),X}function pj($){let X=w1.get($);if(X===void 0)return;return w1.delete($),w1.set($,X),X}async function ij($){if(!c1)return null;try{let X=Bun.file(q0.join(c1,`cw-${t$($)}.css`));if(!await X.exists())return null;return await X.text()}catch{return null}}async function nj($,X){if(!c1)return;try{if(!fs.existsSync(c1))fs.mkdirSync(c1,{recursive:!0});await Bun.write(q0.join(c1,`cw-${t$($)}.css`),X)}catch{}}async function dY($){try{let X=await import($);if(X&&X.CSSGenerator)return{CSSGenerator:X.CSSGenerator,config:X.config,build:X.build,defaultConfig:X.defaultConfig,extractClasses:X.extractClasses}}catch{}return null}function rj(){let $=[],X=process.cwd();while(X!==q0.dirname(X))$.push(q0.join(X,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(q0.join(X,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(q0.join(X,"pantry","@cwcss","crosswind","dist","index.js")),$.push(q0.join(X,"pantry","@cwcss","crosswind","src","index.ts")),$.push(q0.join(X,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(q0.join(X,"pantry","@stacksjs","crosswind","dist","index.js")),X=q0.dirname(X);return $}function oj(){let $=[],X=process.env.HOME||process.env.USERPROFILE||"";if(X){let Z=[q0.join(X,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),q0.join(X,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),q0.join(X,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),q0.join(X,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),q0.join(X,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),q0.join(X,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Z)}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 p4(){if(l4)return B1;l4=!0;try{let $=async(Y)=>{for(let G of Y){if(!await Bun.file(G).exists())continue;let Q=await dY(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${F0.green}[Crosswind]${F0.reset} CSS engine loaded from ${q0.dirname(q0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let Y=q0.resolve(process.env.CROSSWIND_SRC),G=await $([Y]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${Y}`);return B1=G,B1}let X=await $(rj());if(X)return B1=X,B1;let Z=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Y of Z){let G=await dY(Y);if(G){if(B1=G,!process.env.STACKS_DEV_QUIET)console.log(`${F0.green}[Crosswind]${F0.reset} CSS engine loaded`);return B1}}let J=await $(oj());if(J)return B1=J,B1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${F0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${F0.reset}`),console.warn(`${F0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${F0.reset}`),null}}function sj(){k1.clear(),w1.clear()}function aj(){B1=null,l4=!1,q1=null,a7="",k1.clear(),w1.clear(),a$=null}async function i4($){try{if(!cj({name:"crosswind",cwd:$}))return null;let{loadConfigWithResult:X}=await import("bunfig"),Z=await X({name:"crosswind",cwd:$,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Z?.path||!Z.config||Object.keys(Z.config).length===0)return null;let J=q0.relative($,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${F0.green}[Crosswind]${F0.reset} Loaded config from ${J||Z.path}`);return Z.config}catch(X){if(X instanceof Error&&X.name==="ConfigNotFoundError")return null;return console.warn(`${F0.yellow}[Crosswind]${F0.reset} Failed to load crosswind config:`,X instanceof Error?X.message:X),null}}async function cY($){if(m5)return a7;m5=!0;try{let X=await p4();if(!X||!X.build)return m5=!1,"";if(!q1)q1=await i4($);if(!q1)return m5=!1,"";let Z=X.defaultConfig?.theme||{},J=q1.theme||{},Y={...X.defaultConfig,...q1,theme:{...Z,...J,extend:{...Z.extend||{},...J.extend||{}}}},G=performance.now(),Q=await X.build(Y),w=performance.now()-G;if(a7=Q.css,console.log(`${F0.cyan}[Crosswind]${F0.reset} Built ${Q.classes.size} classes in ${w.toFixed(1)}ms`),Y.output){let q=q0.isAbsolute(Y.output)?Y.output:q0.join($,Y.output),W=q0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,Q.css)}return m5=!1,Q.css}catch(X){return console.error(`${F0.red}[Crosswind]${F0.reset} Build error:`,X),m5=!1,a7}}async function tj($){q1=null,await cY($)}function ej(){return a7}function lY($){let X=new Set,Z=/class\s*=\s*["']([^"']+)["']/gi,J=Z.exec($);while(J!==null){for(let Q of J[1].split(/\s+/))if(Q.trim())X.add(Q.trim());J=Z.exec($)}let Y=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,G=Y.exec($);while(G!==null){let Q=G[1].match(/'([^']+)'/g);if(Q){for(let w of Q)for(let q of w.slice(1,-1).split(/\s+/))if(q.trim())X.add(q.trim())}G=Y.exec($)}return X}async function pY($,X){try{let Z=await p4();if(!Z)return"";let J=typeof Z.extractClasses==="function"?Z.extractClasses($):lY($);if(J.size===0)return"";let Y=X?q0.resolve(X):process.cwd();if(!c1)c1=F1(Y,"cache");let G=[...J].sort().join(" "),Q=`${a$||"default"}::${G}`,w=k1.get(Q);if(w!==void 0)return c4(Q,w),w;let q=await ij(Q);if(q!==null)return c4(Q,q),q;if(!q1){let A=null;try{let{loadStxConfig:N}=await Promise.resolve().then(() => (R1(),uY)),R=await N(Y);if(R.css)if(typeof R.css==="string"){let T=q0.isAbsolute(R.css)?R.css:q0.resolve(Y,R.css);if(await Bun.file(T).exists()){let k=await import(T);A=k.default||k,console.log(`${F0.green}[Crosswind]${F0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(A={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let T=q0.isAbsolute(R.css.config)?R.css.config:q0.resolve(Y,R.css.config);if(await Bun.file(T).exists()){let k=await import(T);A={...k.default||k,...A}}}console.log(`${F0.green}[Crosswind]${F0.reset} Using inline CSS config from stx.config.ts`)}}catch{}q1=A||await i4(Y);try{a$=t$(JSON.stringify(q1??{}))}catch{a$="unhashable"}}let W=Z.defaultConfig||Z.config,K=q1||{},z=m6(W,K),{safelist:U,includePreflight:B,minify:j,tokenCSS:H}=z,_=z.config,L=new Z.CSSGenerator(_);for(let A of U)L.generate(A);for(let A of J)L.generate(A);let O=L.toCSS(B,j),F=_.shortcuts||K.shortcuts||{};for(let[A,N]of Object.entries(F)){if(!J.has(A)&&!U.includes(A))continue;let R=N.split(/\s+/).filter(Boolean);for(let T of R)L.generate(T)}O=L.toCSS(B,j);let V=O.split(`
|
|
11540
|
+
`);for(let[A,N]of Object.entries(F)){if(!J.has(A)&&!U.includes(A))continue;let R=N.split(/\s+/).filter(Boolean),T=[],k=[];for(let M of R){let E=M.startsWith("dark:"),b=`.${(E?M.slice(5):M).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let y=0;y<V.length;y++){let P=V[y].trim();if(P===`${b} {`||P.startsWith(`${b} {`)){let x=y,f="";while(x<V.length){if(f+=V[x],V[x].includes("}"))break;x++}let u=f.match(/\{([^}]+)\}/);if(u)if(E)k.push(u[1].trim());else T.push(u[1].trim());break}}}if(T.length)O+=`
|
|
11541
11541
|
.${A} { ${T.join(" ")} }`;if(k.length)O+=`
|
|
11542
|
-
@media (prefers-color-scheme: dark) { .dark .${A} { ${k.join(" ")} } }`}return O=
|
|
11542
|
+
@media (prefers-color-scheme: dark) { .dark .${A} { ${k.join(" ")} } }`}return O=H+O,c4(Q,O),nj(Q,O),O}catch(Z){return console.warn("Failed to generate Crosswind CSS:",Z),""}}async function t7($,X,Z=!1){let J=await pY($,X);if(!J)return $;let Y=Z?`<link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.${lj(J)}.css">`:`<style data-crosswind="generated">
|
|
11543
11543
|
${J}
|
|
11544
11544
|
</style>`,G=/(?:<style\b[^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*>[\s\S]*?<\/style>|<link\b[^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*>)/g;if(G.test($)){let Q=!1;return $.replace(G,()=>{if(Q)return"";return Q=!0,Y})}if($.includes("</head>"))return $.replace("</head>",`${Y}
|
|
11545
11545
|
</head>`);if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
|
|
11546
|
-
${Y}`);return Y+$}var B1=null,
|
|
11546
|
+
${Y}`);return Y+$}var B1=null,l4=!1,q1=null,a7="",m5=!1,mY=256,k1,w1,c1=null,a$=null;var e$=D(()=>{c6();E7();i6();k1=new Map,w1=new Map});function nY(){return`
|
|
11547
11547
|
// STX Lifecycle Runtime
|
|
11548
11548
|
(function() {
|
|
11549
11549
|
if (typeof window === 'undefined') return;
|
|
@@ -11888,7 +11888,7 @@ else {
|
|
|
11888
11888
|
|
|
11889
11889
|
console.log('[stx] Lifecycle runtime initialized');
|
|
11890
11890
|
})();
|
|
11891
|
-
`}function
|
|
11891
|
+
`}function n4($){return Symbol($)}var UM,jM,BM;var rY=D(()=>{UM=n4("theme"),jM=n4("router"),BM=n4("i18n")});import*as sY from"crypto";function oY($){let X=/\$(\w+)\./g,Z=[],J;while((J=X.exec($))!==null)if(!Z.includes(J[1]))Z.push(J[1]);return Z}function $B(){return`stx-${sY.randomBytes(4).toString("hex")}`}function XB($){return/\$\w+\./.test($)}function ZB($){let X=[],Z=new Set,J=/<(\w+)([^>]*?)(\s*\/?>)/g,Y=$;return Y=Y.replace(J,(G,Q,w,q)=>{if(["script","style","template"].includes(Q.toLowerCase()))return G;let W=[],K=!1,z=w,U=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,B=[...w.matchAll(U)];for(let _ of B){let L=_[0],O=_[1],F=_[2];if(XB(F)){K=!0;let V=F.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(V){let A=V[1];if(W.push({attr:O,expr:A,fullMatch:L,originalAttr:O}),oY(A).forEach((R)=>Z.add(R)),O==="text")z=z.replace(L,"");else if(O==="class")z=z.replace(L,'class=""');else if(O==="disabled"||O==="hidden")z=z.replace(L,"");else z=z.replace(L,`${O}=""`)}}}if(!K)return G;let j=z.match(/\bid\s*=\s*"([^"]+)"/),H;if(j)H=j[1];else H=$B(),z=` id="${H}"${z}`;for(let _ of W)X.push({elementId:H,attribute:_.attr,expression:_.expr,stores:oY(_.expr)});return`<${Q}${z}${q}`}),{html:Y,bindings:X,stores:Z}}function JB($,X){if($.length===0)return"";let Z=Array.from(X),J=`
|
|
11892
11892
|
<script>
|
|
11893
11893
|
(function() {
|
|
11894
11894
|
'use strict';
|
|
@@ -12046,10 +12046,10 @@ else {
|
|
|
12046
12046
|
}
|
|
12047
12047
|
})();
|
|
12048
12048
|
</script>
|
|
12049
|
-
`,J}function
|
|
12049
|
+
`,J}function aY($){let{html:X,bindings:Z,stores:J}=ZB($);if(Z.length===0)return $;let Y=JB(Z,J),G=X.lastIndexOf("</body>");if(G!==-1)return X.slice(0,G)+Y+X.slice(G);return X+Y}var tY=()=>{};function YB($){let X=$.analytics;if(!X?.enabled)return"";switch(X.driver){case"fathom":return GB(X);case"google-analytics":return QB(X);case"plausible":return wB(X);case"self-hosted":return qB(X);case"custom":return WB(X);default:return""}}function GB($){let X=$.fathom;if(!X?.siteId)return"";let Z=X.scriptUrl||"https://cdn.usefathom.com/script.js",J=X.defer!==!1?" defer":"",Y=[`data-site="${s0(X.siteId)}"`];if(X.honorDnt)Y.push('data-honor-dnt="true"');if(X.spa)Y.push('data-spa="auto"');if(X.canonical)Y.push(`data-canonical="${s0(X.canonical)}"`);if(X.auto===!1)Y.push('data-auto="false"');return`
|
|
12050
12050
|
<!-- Fathom Analytics -->
|
|
12051
12051
|
<script src="${s0(Z)}" ${Y.join(" ")}${J}></script>
|
|
12052
|
-
`}function
|
|
12052
|
+
`}function QB($){let X=$.googleAnalytics;if(!X?.measurementId)return"";let Z=s0(X.measurementId),J=X.debug?`gtag('config', '${Z}', { 'debug_mode': true });`:"";return`
|
|
12053
12053
|
<!-- Google Analytics -->
|
|
12054
12054
|
<script async src="https://www.googletagmanager.com/gtag/js?id=${Z}"></script>
|
|
12055
12055
|
<script>
|
|
@@ -12059,10 +12059,10 @@ else {
|
|
|
12059
12059
|
gtag('config', '${Z}');
|
|
12060
12060
|
${J}
|
|
12061
12061
|
</script>
|
|
12062
|
-
`}function
|
|
12062
|
+
`}function wB($){let X=$.plausible;if(!X?.domain)return"";let Z=X.scriptUrl||"https://plausible.io/js/script.js",J=[`data-domain="${s0(X.domain)}"`],Y=Z,G=[];if(X.trackLocalhost)G.push("local");if(X.hashMode)G.push("hash");if(G.length>0&&Z==="https://plausible.io/js/script.js")Y=`https://plausible.io/js/script.${G.join(".")}.js`;return`
|
|
12063
12063
|
<!-- Plausible Analytics -->
|
|
12064
12064
|
<script defer data-domain="${s0(X.domain)}" src="${s0(Y)}"></script>
|
|
12065
|
-
`}function
|
|
12065
|
+
`}function qB($){let X=$.selfHosted;if(!X?.siteId||!X?.apiEndpoint)return"";let Z=s0(X.siteId),J=s0(X.apiEndpoint),Y=X.honorDnt?'if(n.doNotTrack==="1")return;':"",G=X.trackHashChanges?"w.addEventListener('hashchange',pv);":"",Q=X.trackOutboundLinks?`
|
|
12066
12066
|
d.addEventListener('click',function(e){
|
|
12067
12067
|
var a=e.target.closest('a');
|
|
12068
12068
|
if(a&&a.hostname!==location.hostname){
|
|
@@ -12095,7 +12095,7 @@ else {
|
|
|
12095
12095
|
w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
|
|
12096
12096
|
})();
|
|
12097
12097
|
</script>
|
|
12098
|
-
`}function
|
|
12098
|
+
`}function WB($){let X=$.custom;if(!X)return"";if(X.inlineScript)return`
|
|
12099
12099
|
<!-- Custom Analytics -->
|
|
12100
12100
|
<script>
|
|
12101
12101
|
${X.inlineScript}
|
|
@@ -12103,7 +12103,7 @@ ${X.inlineScript}
|
|
|
12103
12103
|
`;if(!X.scriptUrl)return"";let Z=[];if(X.scriptId)Z.push(`id="${s0(X.scriptId)}"`);if(X.attributes)for(let[Y,G]of Object.entries(X.attributes))Z.push(`${s0(Y)}="${s0(G)}"`);return`
|
|
12104
12104
|
<!-- Custom Analytics -->
|
|
12105
12105
|
<script${Z.length>0?` ${Z.join(" ")}`:""} src="${s0(X.scriptUrl)}" defer></script>
|
|
12106
|
-
`}function
|
|
12106
|
+
`}function eY($,X){let Z=YB(X);if(!Z)return $;if(!$.includes("</head>")){let J=$.lastIndexOf("</body>");if(J!==-1)return $.slice(0,J)+Z+$.slice(J);return $+Z}return $.replace("</head>",`${Z}</head>`)}function s0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}var $G=()=>{};function $9($){let X=$.match(/\bdefinePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!X)return null;try{return Function(`return ${X[1]}`)()}catch{return null}}function XG($){let X=$?.layout;if(X===!1)return!1;return typeof X==="string"&&X.trim()?X.trim():void 0}function ZG($,X){let Z=$.match(new RegExp(`${X}\\s*=\\s*"([^"]*)"`,"i"));if(Z)return Z[1];let J=$.match(new RegExp(`${X}\\s*=\\s*'([^']*)'`,"i"));if(J)return J[1];return null}function UB($){let X=[],Z=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,J;while((J=Z.exec($))!==null){let[Y,G,Q]=J,w=J.index,q=ZG(Q,"x-data");if(!q)continue;let W=`__stx_scope_${KB++}`,K=ZG(Q,"x-init"),z=jB($,G,w+Y.length),U=$.slice(w,z.endIndex),B=BB(U);X.push({id:W,selector:`[data-stx-scope="${W}"]`,stateExpr:q,initExpr:K,bindings:[],refs:B})}return X}function jB($,X,Z){let J=1,Y=Z,G=new RegExp(`<${X}(?:\\s|>)`,"gi"),Q=new RegExp(`</${X}>`,"gi"),w=new RegExp(`<${X}[^>]*/\\s*>`,"gi");while(J>0&&Y<$.length){G.lastIndex=Y,Q.lastIndex=Y,w.lastIndex=Y;let q=G.exec($),W=Q.exec($),K=w.exec($);if(K&&K.index<(q?.index??1/0)){Y=K.index+K[0].length;continue}if(!W)return{endIndex:$.length};if(q&&q.index<W.index)J++,Y=q.index+q[0].length;else{if(J--,J===0)return{endIndex:W.index+W[0].length};Y=W.index+W[0].length}}return{endIndex:$.length}}function BB($){let X=new Map,Z=$.replace(/x-data\s*=\s*"[^"]*"/gi,'x-data="__stripped__"').replace(/x-data\s*=\s*'[^']*'/gi,"x-data='__stripped__'"),J=/<[a-z][a-z0-9-]*\s+([^>]*x-ref\s*=\s*["']([^"']*)["'][^>]*)>/gi,Y;while((Y=J.exec(Z))!==null){let[,G,Q]=Y,w=HB(G);X.set(Q,w)}return X}function HB($){let X=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(X)return X[1];return`__stx_el_${zB++}`}function _B(){return`
|
|
12107
12107
|
// STX Reactive Runtime - x-cloak and transition CSS
|
|
12108
12108
|
(function() {
|
|
12109
12109
|
var style = document.createElement('style');
|
|
@@ -12310,7 +12310,7 @@ window.__stx_reactive = (function() {
|
|
|
12310
12310
|
|
|
12311
12311
|
return { initScope: initScope, reactive: reactive };
|
|
12312
12312
|
})();
|
|
12313
|
-
`}function
|
|
12313
|
+
`}function JG($,X){let Z=$.replace(/\{!!([\s\S]*?)!!\}/g,(w,q)=>{try{let W=i0(q,X,!0);if(W===void 0)return w;return String(W)}catch{return w}}),J="",Y=0,G=null;while(Y<Z.length){let w=Z[Y];if(G&&w==="\\"){J+=w+(Z[Y+1]??""),Y+=2;continue}if(w==="{"&&Z[Y+1]==="{"){let q=Z.indexOf("}}",Y+2);if(q!==-1){let W=Z.slice(Y,q+2);J+=Q(Z.slice(Y+2,q),W,G),Y=q+2;continue}}if(G){if(w===G)G=null}else if(w==="'"||w==='"'||w==="`")G=w;J+=w,Y++}return J;function Q(w,q,W){let K;try{K=i0(w,X,!0)}catch{return q}if(K===void 0)return q;if(W){let z=String(K).replace(/\\/g,"\\\\").replace(new RegExp(W==="`"?"`":W,"g"),`\\${W}`).replace(/\r/g,"\\r").replace(/\n/g,"\\n");return W==="`"?z.replace(/\$\{/g,"\\${"):z}if(typeof K==="string"){let z=K.trim();if(z.startsWith("{")&&z.endsWith("}")||z.startsWith("[")&&z.endsWith("]"))try{return JSON.parse(z),z}catch{}}return JSON.stringify(K)}}function OB($,X){if($.length===0)return"";let Z=$.map((J)=>{let Y=JSON.stringify(Object.fromEntries(J.refs)),G=JG(J.stateExpr,X),Q=J.initExpr?JG(J.initExpr,X):null,w=JSON.stringify(G),q=Q?JSON.stringify(Q):"null";return`
|
|
12314
12314
|
(function() {
|
|
12315
12315
|
var scopeEl = document.querySelector('${J.selector}');
|
|
12316
12316
|
if (!scopeEl) return;
|
|
@@ -12319,16 +12319,16 @@ window.__stx_reactive = (function() {
|
|
|
12319
12319
|
})();`}).join(`
|
|
12320
12320
|
`);return`
|
|
12321
12321
|
<script data-stx-scoped data-stx-reactive data-stx-run="always">
|
|
12322
|
-
${
|
|
12322
|
+
${_B()}
|
|
12323
12323
|
${Z}
|
|
12324
|
-
</script>`}function
|
|
12325
|
-
`+Y.slice(Q);else Y+=G;return Y}function HB($,X){let Z=0,J=$.replace(/<([a-z][a-z0-9-]*)(\s+[^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,(Y,G,Q)=>{let w=X[Z++];if(!w)return Y;let q=/data-stx-scope="([^"]*)"/.exec(Q);if(q)return w.id=q[1],w.selector=`[data-stx-scope="${w.id}"]`,Y;return`<${G} data-stx-scope="${w.id}"${Q}>`});return J=J.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),J=J.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),J=J.replace(/\s*x-init\s*=\s*"([^"]*)"/g,' data-stx-xinit="$1"'),J=J.replace(/\s*x-init\s*=\s*'([^']*)'/g," data-stx-xinit='$1'"),J}function OB($){return/x-data\s*=\s*["']/.test($)}var qB=0,WB=0;var YG=D(()=>{j1()});import LB from"fs";import n4 from"path";import{createHighlighter as FB}from"ts-syntax-highlighter";async function VB($,X={}){try{if(!await n($))throw Error(`Markdown file not found: ${$}`);let J=(await LB.promises.stat($)).mtime.getTime();if(X.cache&&r4.has($)){let z=r4.get($);if(z.updatedAt>=J)return{content:z.content,data:z.data}}let Y=await Bun.file($).text(),{data:G,content:Q}=q2(Y),w=X.markdown||y7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},W=I7(Q,{gfm:!0});if(w.syntaxHighlighting?.enabled&&w.syntaxHighlighting?.serverSide)W=await AB(W,w.syntaxHighlighting?.defaultTheme||"github-dark",w.syntaxHighlighting?.highlightUnknownLanguages||!1);let K={content:W,data:G||{}};if(X.cache)r4.set($,{...K,updatedAt:J});return K}catch(Z){if(X.debug)console.error(`Error reading/parsing markdown file ${$}:`,Z);let J=Z instanceof Error?Z.message:String(Z);return{content:O0("Markdown File",`Error reading/parsing markdown file: ${J}`,$,"",0,""),data:{}}}}async function AB($,X,Z){let J=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!$9)try{$9=await FB({theme:X||"github-dark",cache:!0})}catch(w){return console.error("Failed to initialize ts-syntax-highlighter:",w),$}let Y=async(w,q,W,K)=>{let z=K.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"),U=W||(Z?"text":"");if(!U)return w;try{if(!$9.getSupportedLanguages().includes(U))return w;return(await $9.highlight(z,U,{theme:X})).html}catch(B){console.error(`Error highlighting code block with language ${W}:`,B)}return w},G=$,Q=$.matchAll(J);for(let w of Q){let[q,W,K,z]=w,U=await Y(q,W,K,z);G=G.replace(q,U)}return G}async function GG($,X,Z="",J={}){return await RB($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,w,q,W)=>{try{let K=w;if(!n4.isAbsolute(w))K=n4.resolve(n4.dirname(Z),w);let z={};if(q)try{try{z=JSON.parse(q)}catch{if(J.debug)console.warn("Using safer alternative for parsing JS object literal");let O=q.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let F of O){let V=F.indexOf(":");if(V>0){let A=F.substring(0,V).trim(),R=F.substring(V+1).trim(),N=R.startsWith('"')&&R.endsWith('"'),T=R.startsWith("'")&&R.endsWith("'");if(N||T)R=R.substring(1,R.length-1);z[A]=R}}}}catch(L){if(J.debug)console.error("Error parsing context in @markdown-file directive:",L)}let{content:U,data:B}=await VB(K,J),j={...X,...B,...z},_=U,H=/\{\{([^}]+)\}\}/g;return _=_.replace(H,(L,O)=>{let F=O.trim();return j[F]!==void 0?String(j[F]):L}),_}catch(K){let z=K instanceof Error?K.message:String(K);return O0("Markdown File",`Error including markdown file: ${z}`,Z,$,W,Q)}})}async function RB($,X,Z){let J=[],Y;while((Y=X.exec($))!==null){let w=Y[0],q=Y.index,W=Y;J.push(Z(...W).then((K)=>({match:w,replacement:K,index:q})))}let G=await Promise.all(J);G.sort((w,q)=>q.index-w.index);let Q=$;for(let{match:w,replacement:q}of G)Q=Q.replace(w,()=>q);return Q}var r4,$9=null;var QG=D(()=>{R1();A0();r4=new Map});function c1($,X){try{let Z=$.trim();if(W0(Z))return K0(Z,Object.keys(X))(...Object.values(X));else return w0(Z,X)}catch{return!1}}var wG=D(()=>{y0()});function NB($,X,Z){let J=$,Y=!0;while(Y){Y=!1;let G=J.match(/@switch\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,w=DX(J,Q);if(!w)break;try{let q;if(W0(w.expression))q=K0(w.expression,Object.keys(X))(...Object.values(X));else q=w0(w.expression,X);let W="",K=!1;for(let z of w.cases)if(z.type==="default"){if(!K)W=z.content.trim()}else try{let U;if(z.value&&W0(z.value))U=K0(z.value,Object.keys(X))(...Object.values(X));else if(z.value)U=w0(z.value,X);if(q===U){W=z.content.trim(),K=!0;break}}catch{continue}J=J.substring(0,Q)+W+J.substring(w.end),Y=!0}catch(q){let W=q instanceof Error?q.message:String(q),K=J0("Switch",`Error evaluating @switch expression: ${W}`,o.EVALUATION_ERROR);J=J.substring(0,Q)+K+J.substring(w.end);break}}return J}function TB($){let X=[];return{masked:$.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(J)=>{return X.push(J),`\x00stx-script-${X.length-1}\x00`}),scripts:X}}function MB($,X){if(X.length===0)return $;return $.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,J)=>X[Number(J)]??Z)}function I1($,X,Z){let{masked:J,scripts:Y}=TB($);return MB(kB(J,X,Z),Y)}function kB($,X,Z){let J=$;J=NB(J,X,Z);{let G=!0;while(G){G=!1;let Q=J.match(/@unless\s*\(/);if(!Q||Q.index===void 0)break;let w=Q.index,q=h1(J,w+7);if(!q)break;let W=q.endPos,K=Y5(J,"unless","endunless",W);if(K===-1){console.warn(`[stx] @unless directive at position ${w} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let z=J.slice(W,K),U=q.expression,B=-1;{let _=0,H=/@(?:if|unless)\s*\(/g,L=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,F=[],V;while((V=H.exec(z))!==null)F.push({pos:V.index,type:"open"});while((V=L.exec(z))!==null)F.push({pos:V.index,type:"close"});while((V=O.exec(z))!==null)F.push({pos:V.index,type:"else"});F.sort((A,R)=>A.pos-R.pos);for(let A of F)if(A.type==="open")_++;else if(A.type==="close")_--;else if(A.type==="else"&&_===0){B=A.pos;break}}let j;if(B!==-1){let _=z.slice(0,B),H=z.slice(B+5);j=`@if (${U})${H}@else ${_}@endif`}else j=`@if (!(${U}))${z}@endif`;J=J.substring(0,w)+j+J.substring(K+10),G=!0}}J=s4(J,X,Z),J=a4(J,X,Z),J=o4(J,X);let Y=()=>{let G=d7(J);if(G.length===0)return!1;for(let Q=G.length-1;Q>=0;Q--){let w=G[Q];try{let q="",W=!1;for(let K of w.branches){if(W)break;if(K.type==="else")q=K.content,W=!0;else try{let z;if(K.condition&&W0(K.condition))z=K0(K.condition,Object.keys(X))(...Object.values(X));else if(K.condition)z=w0(K.condition,X);if(z)q=K.content,W=!0}catch(z){q=J0(K.type==="if"?"If":"Elseif",`Error in @${K.type}(${K.condition}): ${z instanceof Error?z.message:String(z)}`,o.EVALUATION_ERROR),W=!0}}J=J.substring(0,w.start)+q+J.substring(w.end)}catch(q){let W=q instanceof Error?q.message:String(q),K=J0("If",`Error processing @if block: ${W}`,o.EVALUATION_ERROR);J=J.substring(0,w.start)+K+J.substring(w.end)}}return!0};while(!0){let G=J;if(!Y())break;if(J===G)break}return J}function qG($){let X=0;while(X<$.length&&/\s/.test($[X]))X++;if($[X]!=="(")return null;X++;while(X<$.length&&/\s/.test($[X]))X++;let Z=$[X];if(Z!=="'"&&Z!=='"')return null;X++;let J=[];while(X<$.length){let Y=$[X];if(Y==="\\"&&X+1<$.length){J.push($[X+1]),X+=2;continue}if(Y===Z){X++;break}J.push(Y),X++}while(X<$.length&&/\s/.test($[X]))X++;if($[X]!==")")return null;return X++,{value:J.join(""),consumed:X}}function o4($,X){let Z=$;function J(w,q,W,K){let z=1,U=K,B=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${W}(?![a-z])`,"g");while(U<w.length&&z>0){B.lastIndex=U,j.lastIndex=U;let _=B.exec(w),H=j.exec(w),L=_?_.index:1/0,O=H?H.index:1/0;if(L<O)z++,U=L+_[0].length;else if(O<1/0){if(z--,z===0)return O;U=O+H[0].length}else break}return-1}function Y(w,q,W){let K=0,z=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),U=new RegExp(`@${W}(?![a-z])`,"g"),B=/@else(?![a-z])/g,j=[],_;while((_=z.exec(w))!==null)j.push({pos:_.index,type:"open"});while((_=U.exec(w))!==null)j.push({pos:_.index,type:"close"});while((_=B.exec(w))!==null)j.push({pos:_.index,type:"else"});j.sort((H,L)=>H.pos-L.pos);for(let H of j)if(H.type==="open")K++;else if(H.type==="close")K--;else if(H.type==="else"&&K===0)return H.pos;return-1}{let w=!0;while(w){w=!1;let q=Z.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,K,z,U=Z.slice(W+5),B=qG(U);if(B)K=B.value,z=W+5+B.consumed;else z=W+5;let j=J(Z,"auth","endauth",z);if(j===-1){console.warn(`[stx] @auth directive at position ${W} has no matching @endauth \u2014 the block was skipped.`);break}let _=Z.slice(z,j),H=Y(_,"auth","endauth"),L;if(!X.auth)L=!1;else L=K?c1(`auth?.check && auth?.user?.[${K}]`,X):c1("auth?.check",X);let O;if(H!==-1){let F=_.slice(0,H),V=_.slice(H+5);O=L?F:V}else O=L?_:"";Z=Z.substring(0,W)+O+Z.substring(j+8),w=!0}}{let w=!0;while(w){w=!1;let q=Z.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,K,z,U=Z.slice(W+6),B=qG(U);if(B)K=B.value,z=W+6+B.consumed;else z=W+6;let j=J(Z,"guest","endguest",z);if(j===-1){console.warn(`[stx] @guest directive at position ${W} has no matching @endguest \u2014 the block was skipped.`);break}let _=Z.slice(z,j),H=Y(_,"guest","endguest"),L;if(!X.auth)L=!0;else L=K?c1(`!auth?.check || !auth?.user?.[${K}]`,X):c1("!auth?.check",X);let O;if(H!==-1){let F=_.slice(0,H),V=_.slice(H+5);O=L?F:V}else O=L?_:"";Z=Z.substring(0,W)+O+Z.substring(j+9),w=!0}}function G(w,q,W){if(X.userCan&&typeof X.userCan[w]==="boolean")return X.userCan[w];if(X.permissions?.check&&typeof X.permissions.check==="function")try{let K=[w];if(q)K.push(q);if(W){let z=c1(W,X);K.push(z)}return X.permissions.check(...K)}catch{return!1}return!1}function Q(w){let q=w.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!q)return null;return{ability:q[1],type:q[2],id:q[3]?.trim(),paramsEnd:q[0].length}}for(let w of["can","cannot"]){let q=`end${w}`,W=w==="can"?"elsecan":"elsecannot",K=!0;while(K){K=!1;let z=Z.match(new RegExp(`@${w}\\s*\\(`));if(!z||z.index===void 0)break;let U=z.index,B=Z.slice(U+`@${w}`.length),j=Q(B);if(!j)break;let _=U+`@${w}`.length+j.paramsEnd,H=J(Z,w,q,_);if(H===-1){console.warn(`[stx] @${w} directive at position ${U} has no matching @${q} \u2014 the block was skipped.`);break}let L=Z.slice(_,H),O=[],F=0,V=new RegExp(`@${w}\\s*\\(`,"g"),A=new RegExp(`@${q}(?![a-z])`,"g"),R=new RegExp(`@${W}\\s*\\(`,"g"),N=/@else(?![a-z])/g,T=[],k;while((k=V.exec(L))!==null)T.push({pos:k.index,type:"open"});while((k=A.exec(L))!==null)T.push({pos:k.index,type:"close"});while((k=R.exec(L))!==null)T.push({pos:k.index,type:"elseDirective"});while((k=N.exec(L))!==null)T.push({pos:k.index,type:"else"});T.sort((y,P)=>y.pos-P.pos);for(let y of T){if(y.type==="open"){F++;continue}if(y.type==="close"){F--;continue}if(F===0)O.push(y)}let M=[],E=0;for(let y=0;y<O.length;y++){let P=O[y];if(M.push({content:L.slice(E,P.pos),ability:void 0}),P.type==="elseDirective"){let x=L.slice(P.pos+`@${W}`.length),f=Q(x);if(f){M[M.length-1]={content:L.slice(E,P.pos)},E=P.pos+`@${W}`.length+f.paramsEnd,M.push({content:"",ability:f.ability,type:f.type,id:f.id}),M.pop();let u=O[y+1],l=u?u.pos:L.length;M.push({content:L.slice(E,l),ability:f.ability,type:f.type,id:f.id}),E=l}}else E=P.pos+5}if(E<L.length){let y=M[M.length-1];if(O.length>0&&O[O.length-1].type==="else")M.push({content:L.slice(E),isFinalElse:!0});else if(M.length===0)M.push({content:L.slice(E)})}let I=G(j.ability,j.type,j.id),S=w==="can"?I:!I,b="";if(S)b=M[0]?.content||"";else{let y=!1;for(let P=1;P<M.length;P++){let x=M[P];if(x.isFinalElse){b=x.content,y=!0;break}if(x.ability){let f=G(x.ability,x.type,x.id);if(w==="can"?f:!f){b=x.content,y=!0;break}}}if(!y&&M.length>0){let P=M[M.length-1];if(P.isFinalElse)b=P.content}}Z=Z.substring(0,U)+b+Z.substring(H+`@${q}`.length),K=!0}}return Z}function s4($,X,Z){let J=$;function Y(G,Q,w,q,W){let K=!0;while(K){K=!1;let z=new RegExp(`@${Q}\\s*\\(`),U=G.match(z);if(!U||U.index===void 0)break;let B=U.index,j=h1(G,B+`@${Q}`.length);if(!j)break;let _=j.endPos,H=Y5(G,Q,w,_);if(H===-1){console.warn(`[stx] @${Q} directive at position ${B} has no matching @${w} \u2014 the block was skipped.`);break}let L=G.slice(_,H),O=j.expression,F=-1,V=0,A=0;while(A<L.length){let R=L.indexOf("@",A);if(R===-1)break;let N=L.substring(R);if(/^@(?:if|unless|isset|empty)\s*\(/.test(N)){V++,A=R+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(N)){V--,A=R+1;continue}if(V===0&&/^@else(?![a-z])/.test(N)){F=R;break}A=R+1}try{let R=q(O.trim()),N;if(F!==-1){let T=L.slice(0,F),k=L.slice(F+5);N=R?T:k}else N=R?L:"";G=G.substring(0,B)+N+G.substring(H+`@${w}`.length),K=!0}catch(R){let N=R instanceof Error?R.message:String(R),T=J0(W,`Error processing @${Q} directive: ${N}`,o.EVALUATION_ERROR);G=G.substring(0,B)+T+G.substring(H+`@${w}`.length);break}}return G}return J=Y(J,"isset","endisset",(G)=>{let Q=c1(G,X);return Q!==void 0&&Q!==null},"Isset"),J=Y(J,"empty","endempty",(G)=>{let Q=c1(G,X);return Q===void 0||Q===null||Q===""||Q===0||Q===!1||Array.isArray(Q)&&Q.length===0||typeof Q==="object"&&Q!==null&&Object.keys(Q).length===0},"Empty"),J}function a4($,X,Z){let J=$,Y="development";function G(Q,w,q,W){let K=new RegExp(`@${w}(?![a-z])`,"g"),z=new RegExp(`@${q}(?![a-z])`,"g"),U=new RegExp(`^@${w}(?![a-z])`),B=new RegExp(`^@${q}(?![a-z])`),j=Q,_=!0;while(_){_=!1,K.lastIndex=0;let H=K.exec(j);if(!H)break;let L=H.index,O=L+H[0].length;if(w==="env"){let I=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!I)break;O+=I[0].length,W=Y===I[2]}let F=1,V=O,A=-1;while(F>0&&V<j.length){K.lastIndex=V,z.lastIndex=V;let I=K.exec(j),S=z.exec(j),b=I?I.index:1/0,y=S?S.index:1/0;if(b<y)F++,V=b+I[0].length;else if(y<1/0){if(F--,F===0){A=y;break}V=y+S[0].length}else break}if(A===-1){console.warn(`[stx] @${w} directive at position ${L} has no matching @${q} \u2014 the block was skipped.`);break}let R=j.substring(O,A),N=-1,T=0,k=0;while(k<R.length){let I=R.indexOf("@",k);if(I===-1)break;let S=R.substring(I);if(U.test(S)){T++,k=I+1;continue}if(B.test(S)){T--,k=I+1;continue}if(T===0&&/^@else(?![a-z])/.test(S)){N=I;break}k=I+1}let M;if(N!==-1){let I=R.slice(0,N),S=R.slice(N+5);M=W?I:S}else M=W?R:"";let E=`@${q}`.length;j=j.substring(0,L)+M+j.substring(A+E),_=!0}return j}return J=G(J,"env","endenv",!1),J=G(J,"production","endproduction",Y==="production"),J=G(J,"development","enddevelopment",Y==="development"),J=G(J,"staging","endstaging",Y==="staging"),J=G(J,"testing","endtesting",Y==="testing"),J}var t7=D(()=>{wG();M1();i8();y0()});function KG($=16){let X=new Uint8Array($);return crypto.getRandomValues(X),btoa(String.fromCharCode(...X))}function X9($,X){if(!$)return X?.nonceGenerator?.()??KG();let Z=WG.get($);if(!Z)Z=X?.nonceGenerator?.()??KG(),WG.set($,Z);return Z}function IB($,X){let Z=[];for(let[J,Y]of Object.entries($)){if(Y===void 0||Y===null)continue;if(typeof Y==="boolean"){if(Y)Z.push(J);continue}if(Array.isArray(Y)){let G=[...Y];if(X&&(J==="script-src"||J==="style-src"))G=G.filter((Q)=>!Q.startsWith("'nonce-")),G.push(`'nonce-${X}'`);if(G.length>0)Z.push(`${J} ${G.join(" ")}`)}}return Z.join("; ")}function zG($,X){return`<meta http-equiv="Content-Security-Policy" content="${IB($,X).replace(/&/g,"&").replace(/"/g,""")}">`}function UG($,X,Z){if(!X.enabled||!X.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let J=X.useNonce?X9(Z,X):void 0,Y=zG(X.directives,J);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
12326
|
-
${Y}`)}function
|
|
12327
|
-
${
|
|
12328
|
-
${
|
|
12329
|
-
`),J=[{obj:X,indent:-1}];for(let Y of Z){let G=Y.replace(/#.*$/,"").trimEnd();if(!G.trim())continue;let Q=G.search(/\S/);if(Q===-1)continue;while(J.length>1&&J[J.length-1].indent>=Q)J.pop();let w=J[J.length-1].obj,q=G.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(q){let[,,W,K]=q,z=W.trim(),U=K.trim();if(U==="")w[z]={},J.push({obj:w[z],indent:Q});else w[z]=
|
|
12324
|
+
</script>`}function YG($,X,Z){if(!FB($))return $;let J=UB($);if(J.length===0)return $;let Y=LB($,J),G=OB(J,X),Q=Y.lastIndexOf("</body>");if(Q!==-1)Y=Y.slice(0,Q)+G+`
|
|
12325
|
+
`+Y.slice(Q);else Y+=G;return Y}function LB($,X){let Z=0,J=$.replace(/<([a-z][a-z0-9-]*)(\s+[^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,(Y,G,Q)=>{let w=X[Z++];if(!w)return Y;let q=/data-stx-scope="([^"]*)"/.exec(Q);if(q)return w.id=q[1],w.selector=`[data-stx-scope="${w.id}"]`,Y;return`<${G} data-stx-scope="${w.id}"${Q}>`});return J=J.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),J=J.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),J=J.replace(/\s*x-init\s*=\s*"([^"]*)"/g,' data-stx-xinit="$1"'),J=J.replace(/\s*x-init\s*=\s*'([^']*)'/g," data-stx-xinit='$1'"),J}function FB($){return/x-data\s*=\s*["']/.test($)}var KB=0,zB=0;var GG=D(()=>{j1()});import VB from"fs";import r4 from"path";import{createHighlighter as AB}from"ts-syntax-highlighter";async function RB($,X={}){try{if(!await i($))throw Error(`Markdown file not found: ${$}`);let J=(await VB.promises.stat($)).mtime.getTime();if(X.cache&&o4.has($)){let z=o4.get($);if(z.updatedAt>=J)return{content:z.content,data:z.data}}let Y=await Bun.file($).text(),{data:G,content:Q}=q2(Y),w=X.markdown||S7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},W=D7(Q,{gfm:!0});if(w.syntaxHighlighting?.enabled&&w.syntaxHighlighting?.serverSide)W=await NB(W,w.syntaxHighlighting?.defaultTheme||"github-dark",w.syntaxHighlighting?.highlightUnknownLanguages||!1);let K={content:W,data:G||{}};if(X.cache)o4.set($,{...K,updatedAt:J});return K}catch(Z){if(X.debug)console.error(`Error reading/parsing markdown file ${$}:`,Z);let J=Z instanceof Error?Z.message:String(Z);return{content:O0("Markdown File",`Error reading/parsing markdown file: ${J}`,$,"",0,""),data:{}}}}async function NB($,X,Z){let J=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!X9)try{X9=await AB({theme:X||"github-dark",cache:!0})}catch(w){return console.error("Failed to initialize ts-syntax-highlighter:",w),$}let Y=async(w,q,W,K)=>{let z=K.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"),U=W||(Z?"text":"");if(!U)return w;try{if(!X9.getSupportedLanguages().includes(U))return w;return(await X9.highlight(z,U,{theme:X})).html}catch(B){console.error(`Error highlighting code block with language ${W}:`,B)}return w},G=$,Q=$.matchAll(J);for(let w of Q){let[q,W,K,z]=w,U=await Y(q,W,K,z);G=G.replace(q,U)}return G}async function QG($,X,Z="",J={}){return await TB($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,w,q,W)=>{try{let K=w;if(!r4.isAbsolute(w))K=r4.resolve(r4.dirname(Z),w);let z={};if(q)try{try{z=JSON.parse(q)}catch{if(J.debug)console.warn("Using safer alternative for parsing JS object literal");let O=q.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let F of O){let V=F.indexOf(":");if(V>0){let A=F.substring(0,V).trim(),N=F.substring(V+1).trim(),R=N.startsWith('"')&&N.endsWith('"'),T=N.startsWith("'")&&N.endsWith("'");if(R||T)N=N.substring(1,N.length-1);z[A]=N}}}}catch(L){if(J.debug)console.error("Error parsing context in @markdown-file directive:",L)}let{content:U,data:B}=await RB(K,J),j={...X,...B,...z},H=U,_=/\{\{([^}]+)\}\}/g;return H=H.replace(_,(L,O)=>{let F=O.trim();return j[F]!==void 0?String(j[F]):L}),H}catch(K){let z=K instanceof Error?K.message:String(K);return O0("Markdown File",`Error including markdown file: ${z}`,Z,$,W,Q)}})}async function TB($,X,Z){let J=[],Y;while((Y=X.exec($))!==null){let w=Y[0],q=Y.index,W=Y;J.push(Z(...W).then((K)=>({match:w,replacement:K,index:q})))}let G=await Promise.all(J);G.sort((w,q)=>q.index-w.index);let Q=$;for(let{match:w,replacement:q}of G)Q=Q.replace(w,()=>q);return Q}var o4,X9=null;var wG=D(()=>{R1();A0();o4=new Map});function l1($,X){try{let Z=$.trim();if(W0(Z))return K0(Z,Object.keys(X))(...Object.values(X));else return w0(Z,X)}catch{return!1}}var qG=D(()=>{y0()});function MB($,X,Z){let J=$,Y=!0;while(Y){Y=!1;let G=J.match(/@switch\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,w=yX(J,Q);if(!w)break;try{let q;if(W0(w.expression))q=K0(w.expression,Object.keys(X))(...Object.values(X));else q=w0(w.expression,X);let W="",K=!1;for(let z of w.cases)if(z.type==="default"){if(!K)W=z.content.trim()}else try{let U;if(z.value&&W0(z.value))U=K0(z.value,Object.keys(X))(...Object.values(X));else if(z.value)U=w0(z.value,X);if(q===U){W=z.content.trim(),K=!0;break}}catch{continue}J=J.substring(0,Q)+W+J.substring(w.end),Y=!0}catch(q){let W=q instanceof Error?q.message:String(q),K=J0("Switch",`Error evaluating @switch expression: ${W}`,o.EVALUATION_ERROR);J=J.substring(0,Q)+K+J.substring(w.end);break}}return J}function kB($){let X=[];return{masked:$.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(J)=>{return X.push(J),`\x00stx-script-${X.length-1}\x00`}),scripts:X}}function IB($,X){if(X.length===0)return $;return $.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,J)=>X[Number(J)]??Z)}function I1($,X,Z){let{masked:J,scripts:Y}=kB($);return IB(EB(J,X,Z),Y)}function EB($,X,Z){let J=$;J=MB(J,X,Z);{let G=!0;while(G){G=!1;let Q=J.match(/@unless\s*\(/);if(!Q||Q.index===void 0)break;let w=Q.index,q=u1(J,w+7);if(!q)break;let W=q.endPos,K=G5(J,"unless","endunless",W);if(K===-1){console.warn(`[stx] @unless directive at position ${w} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let z=J.slice(W,K),U=q.expression,B=-1;{let H=0,_=/@(?:if|unless)\s*\(/g,L=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,F=[],V;while((V=_.exec(z))!==null)F.push({pos:V.index,type:"open"});while((V=L.exec(z))!==null)F.push({pos:V.index,type:"close"});while((V=O.exec(z))!==null)F.push({pos:V.index,type:"else"});F.sort((A,N)=>A.pos-N.pos);for(let A of F)if(A.type==="open")H++;else if(A.type==="close")H--;else if(A.type==="else"&&H===0){B=A.pos;break}}let j;if(B!==-1){let H=z.slice(0,B),_=z.slice(B+5);j=`@if (${U})${_}@else ${H}@endif`}else j=`@if (!(${U}))${z}@endif`;J=J.substring(0,w)+j+J.substring(K+10),G=!0}}J=a4(J,X,Z),J=t4(J,X,Z),J=s4(J,X);let Y=()=>{let G=m7(J);if(G.length===0)return!1;for(let Q=G.length-1;Q>=0;Q--){let w=G[Q];try{let q="",W=!1;for(let K of w.branches){if(W)break;if(K.type==="else")q=K.content,W=!0;else try{let z;if(K.condition&&W0(K.condition))z=K0(K.condition,Object.keys(X))(...Object.values(X));else if(K.condition)z=w0(K.condition,X);if(z)q=K.content,W=!0}catch(z){q=J0(K.type==="if"?"If":"Elseif",`Error in @${K.type}(${K.condition}): ${z instanceof Error?z.message:String(z)}`,o.EVALUATION_ERROR),W=!0}}J=J.substring(0,w.start)+q+J.substring(w.end)}catch(q){let W=q instanceof Error?q.message:String(q),K=J0("If",`Error processing @if block: ${W}`,o.EVALUATION_ERROR);J=J.substring(0,w.start)+K+J.substring(w.end)}}return!0};while(!0){let G=J;if(!Y())break;if(J===G)break}return J}function WG($){let X=0;while(X<$.length&&/\s/.test($[X]))X++;if($[X]!=="(")return null;X++;while(X<$.length&&/\s/.test($[X]))X++;let Z=$[X];if(Z!=="'"&&Z!=='"')return null;X++;let J=[];while(X<$.length){let Y=$[X];if(Y==="\\"&&X+1<$.length){J.push($[X+1]),X+=2;continue}if(Y===Z){X++;break}J.push(Y),X++}while(X<$.length&&/\s/.test($[X]))X++;if($[X]!==")")return null;return X++,{value:J.join(""),consumed:X}}function s4($,X){let Z=$;function J(w,q,W,K){let z=1,U=K,B=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${W}(?![a-z])`,"g");while(U<w.length&&z>0){B.lastIndex=U,j.lastIndex=U;let H=B.exec(w),_=j.exec(w),L=H?H.index:1/0,O=_?_.index:1/0;if(L<O)z++,U=L+H[0].length;else if(O<1/0){if(z--,z===0)return O;U=O+_[0].length}else break}return-1}function Y(w,q,W){let K=0,z=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),U=new RegExp(`@${W}(?![a-z])`,"g"),B=/@else(?![a-z])/g,j=[],H;while((H=z.exec(w))!==null)j.push({pos:H.index,type:"open"});while((H=U.exec(w))!==null)j.push({pos:H.index,type:"close"});while((H=B.exec(w))!==null)j.push({pos:H.index,type:"else"});j.sort((_,L)=>_.pos-L.pos);for(let _ of j)if(_.type==="open")K++;else if(_.type==="close")K--;else if(_.type==="else"&&K===0)return _.pos;return-1}{let w=!0;while(w){w=!1;let q=Z.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,K,z,U=Z.slice(W+5),B=WG(U);if(B)K=B.value,z=W+5+B.consumed;else z=W+5;let j=J(Z,"auth","endauth",z);if(j===-1){console.warn(`[stx] @auth directive at position ${W} has no matching @endauth \u2014 the block was skipped.`);break}let H=Z.slice(z,j),_=Y(H,"auth","endauth"),L;if(!X.auth)L=!1;else L=K?l1(`auth?.check && auth?.user?.[${K}]`,X):l1("auth?.check",X);let O;if(_!==-1){let F=H.slice(0,_),V=H.slice(_+5);O=L?F:V}else O=L?H:"";Z=Z.substring(0,W)+O+Z.substring(j+8),w=!0}}{let w=!0;while(w){w=!1;let q=Z.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,K,z,U=Z.slice(W+6),B=WG(U);if(B)K=B.value,z=W+6+B.consumed;else z=W+6;let j=J(Z,"guest","endguest",z);if(j===-1){console.warn(`[stx] @guest directive at position ${W} has no matching @endguest \u2014 the block was skipped.`);break}let H=Z.slice(z,j),_=Y(H,"guest","endguest"),L;if(!X.auth)L=!0;else L=K?l1(`!auth?.check || !auth?.user?.[${K}]`,X):l1("!auth?.check",X);let O;if(_!==-1){let F=H.slice(0,_),V=H.slice(_+5);O=L?F:V}else O=L?H:"";Z=Z.substring(0,W)+O+Z.substring(j+9),w=!0}}function G(w,q,W){if(X.userCan&&typeof X.userCan[w]==="boolean")return X.userCan[w];if(X.permissions?.check&&typeof X.permissions.check==="function")try{let K=[w];if(q)K.push(q);if(W){let z=l1(W,X);K.push(z)}return X.permissions.check(...K)}catch{return!1}return!1}function Q(w){let q=w.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!q)return null;return{ability:q[1],type:q[2],id:q[3]?.trim(),paramsEnd:q[0].length}}for(let w of["can","cannot"]){let q=`end${w}`,W=w==="can"?"elsecan":"elsecannot",K=!0;while(K){K=!1;let z=Z.match(new RegExp(`@${w}\\s*\\(`));if(!z||z.index===void 0)break;let U=z.index,B=Z.slice(U+`@${w}`.length),j=Q(B);if(!j)break;let H=U+`@${w}`.length+j.paramsEnd,_=J(Z,w,q,H);if(_===-1){console.warn(`[stx] @${w} directive at position ${U} has no matching @${q} \u2014 the block was skipped.`);break}let L=Z.slice(H,_),O=[],F=0,V=new RegExp(`@${w}\\s*\\(`,"g"),A=new RegExp(`@${q}(?![a-z])`,"g"),N=new RegExp(`@${W}\\s*\\(`,"g"),R=/@else(?![a-z])/g,T=[],k;while((k=V.exec(L))!==null)T.push({pos:k.index,type:"open"});while((k=A.exec(L))!==null)T.push({pos:k.index,type:"close"});while((k=N.exec(L))!==null)T.push({pos:k.index,type:"elseDirective"});while((k=R.exec(L))!==null)T.push({pos:k.index,type:"else"});T.sort((y,P)=>y.pos-P.pos);for(let y of T){if(y.type==="open"){F++;continue}if(y.type==="close"){F--;continue}if(F===0)O.push(y)}let M=[],E=0;for(let y=0;y<O.length;y++){let P=O[y];if(M.push({content:L.slice(E,P.pos),ability:void 0}),P.type==="elseDirective"){let x=L.slice(P.pos+`@${W}`.length),f=Q(x);if(f){M[M.length-1]={content:L.slice(E,P.pos)},E=P.pos+`@${W}`.length+f.paramsEnd,M.push({content:"",ability:f.ability,type:f.type,id:f.id}),M.pop();let u=O[y+1],l=u?u.pos:L.length;M.push({content:L.slice(E,l),ability:f.ability,type:f.type,id:f.id}),E=l}}else E=P.pos+5}if(E<L.length){let y=M[M.length-1];if(O.length>0&&O[O.length-1].type==="else")M.push({content:L.slice(E),isFinalElse:!0});else if(M.length===0)M.push({content:L.slice(E)})}let I=G(j.ability,j.type,j.id),S=w==="can"?I:!I,b="";if(S)b=M[0]?.content||"";else{let y=!1;for(let P=1;P<M.length;P++){let x=M[P];if(x.isFinalElse){b=x.content,y=!0;break}if(x.ability){let f=G(x.ability,x.type,x.id);if(w==="can"?f:!f){b=x.content,y=!0;break}}}if(!y&&M.length>0){let P=M[M.length-1];if(P.isFinalElse)b=P.content}}Z=Z.substring(0,U)+b+Z.substring(_+`@${q}`.length),K=!0}}return Z}function a4($,X,Z){let J=$;function Y(G,Q,w,q,W){let K=!0;while(K){K=!1;let z=new RegExp(`@${Q}\\s*\\(`),U=G.match(z);if(!U||U.index===void 0)break;let B=U.index,j=u1(G,B+`@${Q}`.length);if(!j)break;let H=j.endPos,_=G5(G,Q,w,H);if(_===-1){console.warn(`[stx] @${Q} directive at position ${B} has no matching @${w} \u2014 the block was skipped.`);break}let L=G.slice(H,_),O=j.expression,F=-1,V=0,A=0;while(A<L.length){let N=L.indexOf("@",A);if(N===-1)break;let R=L.substring(N);if(/^@(?:if|unless|isset|empty)\s*\(/.test(R)){V++,A=N+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(R)){V--,A=N+1;continue}if(V===0&&/^@else(?![a-z])/.test(R)){F=N;break}A=N+1}try{let N=q(O.trim()),R;if(F!==-1){let T=L.slice(0,F),k=L.slice(F+5);R=N?T:k}else R=N?L:"";G=G.substring(0,B)+R+G.substring(_+`@${w}`.length),K=!0}catch(N){let R=N instanceof Error?N.message:String(N),T=J0(W,`Error processing @${Q} directive: ${R}`,o.EVALUATION_ERROR);G=G.substring(0,B)+T+G.substring(_+`@${w}`.length);break}}return G}return J=Y(J,"isset","endisset",(G)=>{let Q=l1(G,X);return Q!==void 0&&Q!==null},"Isset"),J=Y(J,"empty","endempty",(G)=>{let Q=l1(G,X);return Q===void 0||Q===null||Q===""||Q===0||Q===!1||Array.isArray(Q)&&Q.length===0||typeof Q==="object"&&Q!==null&&Object.keys(Q).length===0},"Empty"),J}function t4($,X,Z){let J=$,Y="development";function G(Q,w,q,W){let K=new RegExp(`@${w}(?![a-z])`,"g"),z=new RegExp(`@${q}(?![a-z])`,"g"),U=new RegExp(`^@${w}(?![a-z])`),B=new RegExp(`^@${q}(?![a-z])`),j=Q,H=!0;while(H){H=!1,K.lastIndex=0;let _=K.exec(j);if(!_)break;let L=_.index,O=L+_[0].length;if(w==="env"){let I=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!I)break;O+=I[0].length,W=Y===I[2]}let F=1,V=O,A=-1;while(F>0&&V<j.length){K.lastIndex=V,z.lastIndex=V;let I=K.exec(j),S=z.exec(j),b=I?I.index:1/0,y=S?S.index:1/0;if(b<y)F++,V=b+I[0].length;else if(y<1/0){if(F--,F===0){A=y;break}V=y+S[0].length}else break}if(A===-1){console.warn(`[stx] @${w} directive at position ${L} has no matching @${q} \u2014 the block was skipped.`);break}let N=j.substring(O,A),R=-1,T=0,k=0;while(k<N.length){let I=N.indexOf("@",k);if(I===-1)break;let S=N.substring(I);if(U.test(S)){T++,k=I+1;continue}if(B.test(S)){T--,k=I+1;continue}if(T===0&&/^@else(?![a-z])/.test(S)){R=I;break}k=I+1}let M;if(R!==-1){let I=N.slice(0,R),S=N.slice(R+5);M=W?I:S}else M=W?N:"";let E=`@${q}`.length;j=j.substring(0,L)+M+j.substring(A+E),H=!0}return j}return J=G(J,"env","endenv",!1),J=G(J,"production","endproduction",Y==="production"),J=G(J,"development","enddevelopment",Y==="development"),J=G(J,"staging","endstaging",Y==="staging"),J=G(J,"testing","endtesting",Y==="testing"),J}var e7=D(()=>{qG();M1();n8();y0()});function zG($=16){let X=new Uint8Array($);return crypto.getRandomValues(X),btoa(String.fromCharCode(...X))}function Z9($,X){if(!$)return X?.nonceGenerator?.()??zG();let Z=KG.get($);if(!Z)Z=X?.nonceGenerator?.()??zG(),KG.set($,Z);return Z}function DB($,X){let Z=[];for(let[J,Y]of Object.entries($)){if(Y===void 0||Y===null)continue;if(typeof Y==="boolean"){if(Y)Z.push(J);continue}if(Array.isArray(Y)){let G=[...Y];if(X&&(J==="script-src"||J==="style-src"))G=G.filter((Q)=>!Q.startsWith("'nonce-")),G.push(`'nonce-${X}'`);if(G.length>0)Z.push(`${J} ${G.join(" ")}`)}}return Z.join("; ")}function UG($,X){return`<meta http-equiv="Content-Security-Policy" content="${DB($,X).replace(/&/g,"&").replace(/"/g,""")}">`}function jG($,X,Z){if(!X.enabled||!X.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let J=X.useNonce?Z9(Z,X):void 0,Y=UG(X.directives,J);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
12326
|
+
${Y}`)}function BG($,X){let Z=$;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(J,Y)=>{if(Y.includes("nonce="))return J;return`<script nonce="${X}"${Y}>`}),Z=Z.replace(/<style([^>]*)>/gi,(J,Y)=>{if(Y.includes("nonce="))return J;return`<style nonce="${X}"${Y}>`}),Z}function HG($,X,Z,J){let Y=$,G=J.csp;if(Y=Y.replace(/@csp\b/g,()=>{if(!G?.enabled||!G.directives)return"<!-- CSP not configured -->";let Q=G.useNonce?Z9(X,G):void 0;return UG(G.directives,Q)}),Y=Y.replace(/@cspNonce\b/g,()=>{if(!G?.enabled||!G.useNonce)return"";return Z9(X,G)}),G?.enabled&&G.useNonce)X.cspNonce=Z9(X,G);return Y}var KG;var _G=D(()=>{KG=new WeakMap});import yB from"crypto";function SB($=bB){let X=yB.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return e4=X,X}function CB(){if(!e4)SB();return e4}function PB($=OG){let X=CB();return`<input type="hidden" name="${$}" value="${X}">`}function LG($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(X,Z,J)=>{return PB(J||OG)})}var bB=40,OG="_token",e4=null;var FG=()=>{};async function VG($,X,Z,J){if(!J.customDirectives||J.customDirectives.length===0)return $;let Y=$;for(let G of J.customDirectives){if(!G.name||typeof G.handler!=="function"){if(J.debug)console.warn("Invalid custom directive:",G);continue}if(G.hasEndTag)Y=await vB(Y,G,X,Z,J);else Y=await xB(Y,G,X,Z,J)}return Y}async function vB($,X,Z,J,Y){let{name:G,handler:Q}=X,w=`@${G}`,q=`@end${G}`,W=$,K=C5(`${w}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),z=[],U=K.exec(W);while(U!==null){let[B,j="",H=""]=U,_=U.index||0;try{let L=j?AG(j):[],O=H.trim(),F=await Q(O,L,Z,J);z.push({original:B,processed:F,startIndex:_})}catch(L){let O=L instanceof Error?L.message:String(L);if(Y.debug)console.error(`Error processing custom directive @${G}:`,L);z.push({original:B,processed:J0("CustomDirective",`Error in @${G}${j?`(${j})`:""}: ${O}`,o.EVALUATION_ERROR),startIndex:_})}U=K.exec(W)}for(let B=z.length-1;B>=0;B--){let{original:j,processed:H}=z[B];W=W.replace(j,H)}return W}async function xB($,X,Z,J,Y){let{name:G,handler:Q}=X,w=$,q=C5(`@${G}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),W=[],K=q.exec(w);while(K!==null){let[B,j=""]=K,H=K.index||0;try{let _=AG(j),L=await Q("",_,Z,J);W.push({original:B,processed:L,startIndex:H})}catch(_){let L=_ instanceof Error?_.message:String(_);if(Y.debug)console.error(`Error processing custom directive @${G}:`,_);W.push({original:B,processed:J0("CustomDirective",`Error in @${G}(${j}): ${L}`,o.EVALUATION_ERROR),startIndex:H})}K=q.exec(w)}let z=C5(`@${G}(?!\\w)(?!\\s*\\()`,"g"),U=z.exec(w);while(U!==null){let[B]=U,j=U.index||0;try{let H=await Q("",[],Z,J);W.push({original:B,processed:H,startIndex:j})}catch(H){let _=H instanceof Error?H.message:String(H);if(Y.debug)console.error(`Error processing custom directive @${G}:`,H);W.push({original:B,processed:J0("CustomDirective",`Error in @${G}: ${_}`,o.EVALUATION_ERROR),startIndex:j})}U=z.exec(w)}for(let B=W.length-1;B>=0;B--){let{original:j,processed:H}=W[B];w=w.replace(j,H)}return w}function AG($){if(!$.trim())return[];let X=[],Z="",J=!1,Y="";for(let G=0;G<$.length;G++){let Q=$[G];if((Q==='"'||Q==="'")&&(G===0||$[G-1]!=="\\"))if(!J)J=!0,Y=Q;else if(Q===Y)J=!1;else Z+=Q;else if(Q===","&&!J)X.push(Z.trim()),Z="";else Z+=Q}if(Z.trim())X.push(Z.trim());return X.map((G)=>{let Q=G.trim();if(Q.startsWith('"')&&Q.endsWith('"')||Q.startsWith("'")&&Q.endsWith("'"))return Q.substring(1,Q.length-1);return Q})}var RG=D(()=>{M1();P5()});function j5($,X){if(typeof $!=="string"||$.length===0)throw Error(`@appearanceBootstrap ${X} must be a non-empty string`)}function gB($){if(!$||typeof $!=="object"||Array.isArray($))throw Error("@appearanceBootstrap expects an options object");let X=$,Z=X.appearance,J=X.colorMode;if(j5(X.storageKey,"storageKey"),!Z||typeof Z!=="object"||Array.isArray(Z))throw Error("@appearanceBootstrap appearance must be an object");if(!J||typeof J!=="object"||Array.isArray(J))throw Error("@appearanceBootstrap colorMode must be an object");if(j5(Z.key,"appearance.key"),j5(Z.attribute,"appearance.attribute"),j5(Z.default,"appearance.default"),j5(J.key,"colorMode.key"),j5(J.attribute,"colorMode.attribute"),j5(J.default,"colorMode.default"),!TG.test(Z.key)||!TG.test(J.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!NG.test(Z.attribute)||!NG.test(J.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(Z.allowed)||Z.allowed.length===0||Z.allowed.some((Y)=>typeof Y!=="string"||Y.length===0))throw Error("@appearanceBootstrap appearance.allowed must contain one or more strings");if(!Z.allowed.includes(Z.default))throw Error("@appearanceBootstrap appearance.default must be in appearance.allowed");if(!fB.has(J.default))throw Error("@appearanceBootstrap colorMode.default must be light, dark, or system");return{storageKey:X.storageKey,appearance:{key:Z.key,attribute:Z.attribute,allowed:[...new Set(Z.allowed)],default:Z.default},colorMode:{key:J.key,attribute:J.attribute,default:J.default}}}function hB($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function uB($){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${hB($)};const root=document.documentElement;let stored={};try{const raw=localStorage.getItem(config.storageKey);const parsed=raw?JSON.parse(raw):{};if(parsed&&typeof parsed==="object"&&!Array.isArray(parsed))stored=parsed}catch{}const selectedAppearance=config.appearance.allowed.includes(stored[config.appearance.key])?stored[config.appearance.key]:config.appearance.default;const selectedMode=["light","dark","system"].includes(stored[config.colorMode.key])?stored[config.colorMode.key]:config.colorMode.default;root.setAttribute("data-"+config.appearance.attribute,selectedAppearance);root.setAttribute("data-"+config.colorMode.attribute,selectedMode);let dark=selectedMode==="dark";if(selectedMode==="system"){try{dark=matchMedia("(prefers-color-scheme: dark)").matches}catch{dark=false}}root.classList.toggle("dark",dark);root.dataset.theme=dark?"dark":"light"}());</script>`}function dB($,X){let Z=1,J=null,Y=!1;for(let G=X+1;G<$.length;G++){let Q=$[G];if(Y){Y=!1;continue}if(J){if(Q==="\\")Y=!0;else if(Q===J)J=null;continue}if(Q==='"'||Q==="'"||Q==="`"){J=Q;continue}if(Q==="(")Z++;else if(Q===")"&&--Z===0)return G}return-1}function MG($,X){let Z=$,J=/@appearanceBootstrap\s*\(/g,Y;while((Y=J.exec(Z))!==null){let G=Y.index+Y[0].length-1,Q=dB(Z,G);if(Q===-1)throw Error("@appearanceBootstrap has an unclosed options object");let w=Z.slice(G+1,Q).trim(),q=w0(`(${w})`,X),W=uB(gB(q));Z=Z.slice(0,Y.index)+W+Z.slice(Q+1),J.lastIndex=Y.index+W.length}return Z}var NG,TG,fB;var kG=D(()=>{y0();NG=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,TG=/^[A-Za-z_$][\w$]*$/,fB=new Set(["light","dark","system"])});import mB from"crypto";function N0($){return String($??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function J9($,X,Z,J){let Y=$||X;return Z?`${Y} ${J}`:Y}function e0($){return String($).replace(/\[\]$/,"").replace(/[^\w.:-]+/g,"-").replace(/^-+|-+$/g,"")}function c5($,X){if(/\bid\s*=/i.test($))return"";return` id="${N0(X)}"`}function $3($,X,Z){if(!X)return"";let J="";if(!/\baria-invalid\s*=/i.test(Z))J+=' aria-invalid="true"';if(!/\baria-describedby\s*=/i.test(Z))J+=` aria-describedby="${N0(`${e0($)}-error`)}"`;return J}function cB(){return mB.randomUUID()}function Y9($,X){let Z=$;return Z=Z.replace(/@csrf/g,()=>{if(!X.csrf||typeof X.csrf!=="object"){let J=cB();X.csrf={token:J}}if(X.csrf.field)return X.csrf.field;if(X.csrf.token)return`<input type="hidden" name="_token" value="${N0(X.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),Z=Z.replace(/@method\(['"]([^'"]+)['"]\)/g,(J,Y)=>{let G=Y.toUpperCase();if(Y&&!["GET","POST"].includes(G))return`<input type="hidden" name="_method" value="${N0(G)}">`;return J}),Z}function DG($,X,Z=EG){let J=$;return J=J.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(Y,G,Q,w,q,W="")=>{let K=G||Q||"POST",z=w||q||"",U=p1(W),B=K.toUpperCase(),j=["GET","POST"].includes(B)?B:"POST",H=`<form method="${N0(j)}" action="${N0(z)}"${U?` ${U}`:""}>`;if(H+=`
|
|
12327
|
+
${Y9("@csrf",X)}`,!["GET","POST"].includes(B))H+=`
|
|
12328
|
+
${Y9(`@method('${B}')`,X)}`;return H}),J=J.replace(/@endform/g,"</form>"),J=J.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(Y,G,Q,w,q,W="")=>{let K=G||Q||"",z=w||q||"",U=p1(W),B=$8(K,X),j=B!==void 0&&B!==null?B:z||"",H=U.match(/type=['"]([^'"]+)['"]/i),_=H?H[1]:"text",L=X8(K,X),O=U.match(/class=['"]([^'"]+)['"]/i),F=J9(O?O[1]:"",Z.input,L,Z.inputError),V=U.replace(/class=['"][^'"]+['"]/i,"");return V=V.replace(/type=['"][^'"]+['"]/i,""),`<input type="${N0(_)}" name="${N0(K)}"${c5(U,e0(K))} value="${N0(j)}" class="${F}"${$3(K,L,U)}${V?` ${V}`:""}>`}),J=J.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Y,G,Q="",w="")=>{let q=p1(Q),W=$8(G,X)||w.trim(),K=X8(G,X),z=q.match(/class=['"]([^'"]+)['"]/i),U=J9(z?z[1]:"",Z.input,K,Z.inputError),B=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${N0(G)}"${c5(q,e0(G))} class="${U}"${$3(G,K,q)}${B?` ${B}`:""}>${N0(W)}</textarea>`}),J=J.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Y,G,Q="",w)=>{let q=p1(Q),W=$8(G,X),K=X8(G,X),z=q.match(/class=['"]([^'"]+)['"]/i),U=J9(z?z[1]:"",Z.input,K,Z.inputError),B=q.replace(/class=['"][^'"]+['"]/i,""),j=w;if(W!==void 0)j=w.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(H,_,L)=>{if((Array.isArray(W)?W.some((F)=>String(F)===L):String(W)===L)&&!_.includes("selected"))return _.replace(/(<option)/,"$1 selected");return H});return`<select name="${N0(G)}"${c5(q,e0(G))} class="${U}"${$3(G,K,q)}${B?` ${B}`:""}>${j}</select>`}),J=J.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(Y,G,Q,w="")=>{let q=Q===void 0?"1":Q,W=Q===void 0?e0(G):`${e0(G)}-${e0(q)}`,K=p1(w),z=$8(G,X),U=z!==void 0&&(Array.isArray(z)?z.some((_)=>String(_)===q):z===!0||String(z)===q),B=K.match(/class=['"]([^'"]+)['"]/i),j=B?B[1]:Z.checkInput,H=K.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${N0(G)}"${c5(K,W)} value="${N0(q)}" class="${j}"${U?" checked":""}${H?` ${H}`:""}>`}),J=J.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Y,G,Q,w="")=>{let q=p1(w),W=$8(G,X),K=W!==void 0&&W===Q,z=q.match(/class=['"]([^'"]+)['"]/i),U=z?z[1]:Z.checkInput,B=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${N0(G)}"${c5(q,`${e0(G)}-${e0(Q)}`)} value="${N0(Q)}" class="${U}"${K?" checked":""}${B?` ${B}`:""}>`}),J=J.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Y,G,Q="")=>{let w=p1(Q),q=w.match(/accept=['"]([^'"]+)['"]/i),W=q?q[1]:"",K=w.includes("multiple"),z=X8(G,X),U=w.match(/class=['"]([^'"]+)['"]/i),B=J9(U?U[1]:"",Z.input,z,Z.inputError),j=w.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),H=[`<input type="file" name="${N0(G)}"${c5(w,e0(G))}`,`class="${B}"`];if(W)H.push(`accept="${N0(W)}"`);if(K)H.push("multiple");if(j)H.push(j);return`${H.join(" ")}>`}),J=J.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(Y,G,Q="",w)=>{let q=p1(Q),W=q.match(/class=['"]([^'"]+)['"]/i),K=W?W[1]:Z.label,z=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${N0(e0(G))}" class="${K}"${z?` ${z}`:""}>${w}</label>`}),J}function yG($,X,Z=EG){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(J,Y,G)=>{try{if(X8(Y,X)){let Q=G.replace(/\{\{([^}]+)\}\}/g,(w,q)=>{try{if(q.trim()==="$message"||q.trim()==="message")return IG(Y,X);if(q.trim().includes("errors.first")||q.trim().includes("$errors.first")){if(typeof X.errors?.first==="function")return X.errors.first(Y);return IG(Y,X)}let W=q.trim();if(W0(W)){let K=w0(W,X);return K!==void 0?String(K):W}return W}catch{return q}});return`<div id="${N0(`${e0(Y)}-error`)}" role="alert">${Q}</div>`}return""}catch(Q){return console.error("Error processing @error directive:",Q),J}})}function X8($,X){if(!X.errors)return!1;if(typeof X.errors.has==="function")return X.errors.has($);if(typeof X.errors==="object")return Object.prototype.hasOwnProperty.call(X.errors,$);return!1}function IG($,X){if(!X.errors)return"";if(typeof X.errors.get==="function")return X.errors.get($);if(typeof X.errors==="object"&&Object.prototype.hasOwnProperty.call(X.errors,$)){let Z=X.errors[$];return Array.isArray(Z)?Z[0]:String(Z)}return""}function $8($,X){let Z;if(X.old&&typeof X.old==="function")return X.old($);if(X.old&&typeof X.old==="object")return X.old[$];if($.endsWith("[]")){let J=$.slice(0,-2);if(Z=X[J],Z!==void 0)return Z}return X[$]}function p1($){if(!$.trim())return"";let X=[],Z=$.trim(),J=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,Y;while((Y=J.exec(Z))!==null){let[,G,,Q]=Y;X.push(`${G}="${Q.trim()}"`)}return X.join(" ")}var EG;var bG=D(()=>{y0();EG={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import J3 from"path";async function lB(){if(Z8!==void 0)return Z8;try{Z8=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{Z8=null}return Z8}function pB($,X=0){if(X<=0)return!1;return Date.now()-$.loadedAt>X}async function iB($,X){if({...Q3,...X.i18n}.cache&&Y3[$]){let Y=Y3[$],G=X.i18n?.cacheMaxAge??0;if(!pB(Y,G))return Y.translations}if(J8[$]?.state==="loading")return J8[$].promise;X3[$]="loading";let J=G3($,X).then((Y)=>{return X3[$]="loaded",delete J8[$],Y}).catch((Y)=>{throw X3[$]="error",J8[$]={promise:J,state:"error",error:Y instanceof Error?Y:Error(String(Y))},Y});return J8[$]={promise:J,state:"loading"},J}async function G3($,X){let Z={...Q3,...X.i18n},J=J3.isAbsolute(Z.translationsDir)?Z.translationsDir:J3.resolve(X.root||process.cwd(),Z.translationsDir);try{let Y=await lB(),G=Y?await Y($,{translationsDir:J,defaultLocale:Z.defaultLocale,sources:aB(Z.format)}):await nB($,Z,J);if(G===void 0){if($!==Z.defaultLocale)return G3(Z.defaultLocale,X);return{}}let Q=G;if(Z.cache)Y3[$]={translations:Q,loadedAt:Date.now(),locale:$};return Q}catch(Y){if(X.debug)console.error(`Error loading translation file for locale "${$}":`,Y);if($!==Z.defaultLocale)return G3(Z.defaultLocale,X);return{}}}async function nB($,X,Z){let J=J3.join(Z,`${$}${rB(X.format)}`);try{let Y=await import(J);return Y.default||Y}catch(Y){try{let G=await Bun.file(J).text();if(X.format==="yaml"||X.format==="yml")return oB(G);if(X.format==="json")return JSON.parse(G);throw Y}catch{return}}}function rB($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function oB($){let X={},Z=$.split(`
|
|
12329
|
+
`),J=[{obj:X,indent:-1}];for(let Y of Z){let G=Y.replace(/#.*$/,"").trimEnd();if(!G.trim())continue;let Q=G.search(/\S/);if(Q===-1)continue;while(J.length>1&&J[J.length-1].indent>=Q)J.pop();let w=J[J.length-1].obj,q=G.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(q){let[,,W,K]=q,z=W.trim(),U=K.trim();if(U==="")w[z]={},J.push({obj:w[z],indent:Q});else w[z]=sB(U)}}return X}function sB($){if($.startsWith("'")&&$.endsWith("'")||$.startsWith('"')&&$.endsWith('"'))return $.slice(1,-1);let X=$.toLowerCase();if(X==="true"||X==="yes")return!0;if(X==="false"||X==="no")return!1;if(X==="null"||X==="~")return null;let Z=Number($);if(!Number.isNaN(Z)&&$!=="")return Z;return $}function aB($){switch($){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function tB($,X){return iB($,X)}function eB($,X){for(let Z of $){let J=Z.trim(),Y=J.match(/^\{(\d+)\}\s*(.*)$/);if(Y){let Q=Number.parseInt(Y[1],10);if(X===Q)return Y[2];continue}let G=J.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(G){let Q=Number.parseInt(G[1],10),w=G[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(G[2],10);if(X>=Q&&X<=w)return G[3];continue}}if($.length===2)return X===1?$[0].trim():$[1].trim();if(X<$.length)return $[X].trim();return $[$.length-1].trim()}function $H($,X={}){return PG($,X)}function PG($,X){let Z="",J=0;while(J<$.length)if($[J]==="{"){let Y=XH($,J);if(Y===-1){Z+=$[J],J++;continue}let G=$.slice(J+1,Y);Z+=ZH(G,X),J=Y+1}else if($[J]==="'"&&J+1<$.length)if($[J+1]==="'")Z+="'",J+=2;else if($[J+1]==="{"||$[J+1]==="}")Z+=$[J+1],J+=2;else Z+=$[J],J++;else Z+=$[J],J++;return Z}function XH($,X){let Z=0;for(let J=X;J<$.length;J++)if($[J]==="{")Z++;else if($[J]==="}"){if(Z--,Z===0)return J}return-1}function ZH($,X){let Z=JH($);if(Z.length===0)return`{${$}}`;let J=Z[0].trim(),Y=X[J];if(Z.length===1)return Y!==void 0?String(Y):`{${J}}`;switch(Z[1].trim().toLowerCase()){case"plural":return YH(Y,Z.slice(2).join(","),X);case"select":return QH(Y,Z.slice(2).join(","));case"selectordinal":return wH(Y,Z.slice(2).join(","));case"number":return WH(Y,Z[2]?.trim());case"date":return KH(Y,Z[2]?.trim());case"time":return zH(Y,Z[2]?.trim());default:return Y!==void 0?String(Y):`{${$}}`}}function JH($){let X=[],Z="",J=0;for(let Y=0;Y<$.length;Y++){let G=$[Y];if(G==="{")J++,Z+=G;else if(G==="}")J--,Z+=G;else if(G===","&&J===0)X.push(Z),Z="";else Z+=G}if(Z)X.push(Z);return X}function YH($,X,Z){let J=Number($)||0,Y=w3(X),G=`=${J}`;if(Y[G])return Z3(Y[G],J,Z);let Q=GH(J);if(Y[Q])return Z3(Y[Q],J,Z);if(Y.other)return Z3(Y.other,J,Z);return String(J)}function Z3($,X,Z){let J=$.replace(/#/g,String(X));return PG(J,Z)}function GH($){let X=Math.abs($),Z=Math.floor(X),J=String($).includes(".")?String($).split(".")[1].length:0;if(Z===1&&J===0)return"one";return"other"}function QH($,X){let Z=String($||""),J=w3(X);if(J[Z])return J[Z];return J.other||String($)}function wH($,X){let Z=Number($)||0,J=w3(X),Y=qH(Z);if(J[Y])return J[Y].replace(/#/g,String(Z));if(J.other)return J.other.replace(/#/g,String(Z));return String(Z)}function qH($){let X=Math.abs($),Z=X%10,J=X%100;if(Z===1&&J!==11)return"one";if(Z===2&&J!==12)return"two";if(Z===3&&J!==13)return"few";return"other"}function w3($){let X={},Z=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,J=Z.exec($);while(J!==null)X[J[1]]=J[2],J=Z.exec($);return X}function WH($,X){let Z=Number($);if(Number.isNaN(Z))return String($);switch(X){case"integer":return Math.floor(Z).toLocaleString();case"percent":return`${(Z*100).toFixed(0)}%`;case"currency":return Z.toLocaleString(void 0,{style:"currency",currency:"USD"});default:return Z.toLocaleString()}}function KH($,X){let Z=$ instanceof Date?$:new Date(String($));if(Number.isNaN(Z.getTime()))return String($);let J={};switch(X){case"short":J.dateStyle="short";break;case"medium":J.dateStyle="medium";break;case"long":J.dateStyle="long";break;case"full":J.dateStyle="full";break;default:J.dateStyle="medium"}return Z.toLocaleDateString(void 0,J)}function zH($,X){let Z=$ instanceof Date?$:new Date(String($));if(Number.isNaN(Z.getTime()))return String($);let J={};switch(X){case"short":J.timeStyle="short";break;case"medium":J.timeStyle="medium";break;case"long":J.timeStyle="long";break;case"full":J.timeStyle="full";break;default:J.timeStyle="short"}return Z.toLocaleTimeString(void 0,J)}function UH($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function SG($,X,Z=!0,J={}){let Y=$.split("."),G=X;for(let w of Y){if(G===void 0||G===null)break;G=G[w]}if(G===void 0||G===null)return Z?$:"";let Q=String(G);if(UH(Q))return $H(Q,J);if(Q.includes("|")&&"count"in J){let w=Number(J.count),q=Q.split("|");Q=eB(q,w)}for(let[w,q]of Object.entries(J)){let W=w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Q=Q.replace(new RegExp(`:${W}`,"g"),String(q))}return Q}async function vG($,X,Z,J){let Y=$,G=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,Q={...Q3,...J.i18n},w=await tB(Q.locale,J);X.__translations=w,X.__locale=Q.locale,X.__i18nConfig=Q,Y=await CG(Y,G,async(K,z,U,B,j)=>{try{let H={};if(U)try{let L=[()=>JSON.parse(U),()=>{let O=`{"data":${U}}`,F=JSON.parse(O);return typeof F.data==="object"?F.data:{}},()=>{return D0(U,X)}];for(let O of L)try{if(H=O(),Object.keys(H).length>0)break}catch{}}catch(L){if(J.debug)console.error("Error parsing parameters for @translate directive:",L)}return SG(z,w,Q.fallbackToKey,H)||B.trim()}catch(H){if(J.debug)console.error("Error processing @translate directive:",H);return J0("Translate",`Error in @translate('${z}'): ${H instanceof Error?H.message:String(H)}`,o.EVALUATION_ERROR)}});let q=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(J.debug){console.warn(`Processing translations in template. Sections: ${Y.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let K=[...Y.matchAll(q)];console.warn(`Found ${K.length} @translate matches`),K.forEach((z,U)=>console.warn(`Match ${U}: ${z[0]}, Key: ${z[1]}, Params: ${z[2]||"none"}`))}return Y=await CG(Y,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(K,z,U,B)=>{try{let j={};if(U)try{let H=[()=>JSON.parse(U),()=>{let _=`{"data":${U}}`,L=JSON.parse(_);return typeof L.data==="object"?L.data:{}},()=>{return D0(U,X)}];for(let _ of H)try{if(j=_(),Object.keys(j).length>0)break}catch{}}catch(H){if(J.debug)console.error("Error parsing parameters for @translate directive:",H)}return SG(z,w,Q.fallbackToKey,j)}catch(j){if(J.debug)console.error("Error processing @translate directive:",j);return J0("Translate",`Error in @translate('${z}'): ${j instanceof Error?j.message:String(j)}`,o.EVALUATION_ERROR)}}),Y}async function CG($,X,Z){let J=[];return $.replace(X,(G,...Q)=>{let w=Z(G,...Q).then((q)=>({match:G,replacement:q}));return J.push(w),G}),(await Promise.all(J)).reduce((G,{match:Q,replacement:w})=>G.replace(Q,w),$)}var Z8,Q3,Y3,J8,X3;var xG=D(()=>{M1();y0();Q3={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},Y3={},J8={},X3={}});var K3={};t(K3,{streamingSuspenseDirective:()=>hG,streamToResponse:()=>TH,streamTemplateSimple:()=>VH,streamTemplate:()=>BH,renderStreamingPage:()=>_H,registerStreamingDirectives:()=>RH,processStreamDirectives:()=>LH,processSectionDirectives:()=>NH,islandDirective:()=>uG,generateHydrationRuntime:()=>MH,extractStreamBoundaries:()=>FH,createStreamRenderer:()=>AH,buildSuspenseResolveScript:()=>W3,SUSPENSE_RESOLVER_RUNTIME:()=>gG});import G9 from"path";function jH($){let X=[],Z=0,J;fG.lastIndex=0;while((J=fG.exec($))!==null){if(J.index>Z){let Q=$.slice(Z,J.index);if(Q.trim())X.push({type:X.length===0?"shell":"content",content:Q})}let Y=J[1],G=J[2];X.push({type:"suspense",name:Y,content:G}),Z=J.index+J[0].length}if(Z<$.length){let Y=$.slice(Z);if(Y.trim())X.push({type:X.length===0?"shell":"content",content:Y})}if(X.length===0)X.push({type:"shell",content:$});return X}async function BH($,X={},Z={}){let J={...U5,...Z,streaming:{...q3,...Z.streaming}},Y=J.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file($).text(),w=Q.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),q=w?w[1]:"",W=Q.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),K={...X,__filename:$,__dirname:G9.dirname($)};if(q.trim())await Y5(q,K,$);let z=jH(W),U=new Set;if(!z.some((j)=>j.type==="suspense")){let j=J.streaming?.strategy||"auto",H=new RegExp(B5.source,"g");if(!(j!=="manual"&&H.test(W))){let L=await R0(W,K,$,J,U);for(let O=0;O<L.length;O+=Y)G.enqueue(L.slice(O,O+Y)),await new Promise((F)=>setTimeout(F,0))}else{let L=[],O=new RegExp(B5.source,"g"),F;while((F=O.exec(W))!==null)L.push({name:F[1],content:F[2],start:F.index,end:F.index+F[0].length});let V=0;for(let A of L){if(A.start>V){let R=W.slice(V,A.start);if(R.trim()){let T=await R0(R,K,$,J,U);G.enqueue(T),await new Promise((k)=>setTimeout(k,0))}}let N=await R0(A.content,K,$,J,U);G.enqueue(N),await new Promise((R)=>setTimeout(R,0)),V=A.end}if(V<W.length){let A=W.slice(V);if(A.trim()){let N=await R0(A,K,$,J,U);G.enqueue(N)}}}}else{let j=new Map;for(let _ of z)if(_.type==="shell"||_.type==="content"){let L=await R0(_.content,K,$,J,U);G.enqueue(L)}else if(_.type==="suspense"&&_.name){let L=`stx-suspense-${_.name}`;G.enqueue(`<div id="${L}" data-suspense="${_.name}" style="display:contents;">
|
|
12330
12330
|
<template data-suspense-fallback>Loading...</template>
|
|
12331
|
-
</div>`),j.set(
|
|
12331
|
+
</div>`),j.set(_.name,R0(_.content,K,$,J,U))}G.enqueue(`
|
|
12332
12332
|
<script>
|
|
12333
12333
|
(function() {
|
|
12334
12334
|
window.__stxSuspense = window.__stxSuspense || {
|
|
@@ -12344,13 +12344,13 @@ ${Y}`)}function jG($,X){let Z=$;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*
|
|
|
12344
12344
|
}
|
|
12345
12345
|
};
|
|
12346
12346
|
})();
|
|
12347
|
-
</script>`);let
|
|
12347
|
+
</script>`);let H=Array.from(j.entries()).map(async([_,L])=>{G.enqueue(await W3(_,L))});await Promise.all(H)}G.close()}catch(Q){G.error(Q)}}})}async function W3($,X){try{let J=(await X).replace(/`/g,"\\`").replace(/<\/script>/gi,"<\\/script>");return`
|
|
12348
12348
|
<script>
|
|
12349
12349
|
window.__stxSuspense.resolve('${$}', \`${J}\`);
|
|
12350
12350
|
</script>`}catch(Z){let J=Z instanceof Error?Z.message:String(Z);return`
|
|
12351
12351
|
<script>
|
|
12352
12352
|
window.__stxSuspense.resolve('${$}', '<div class="stx-error">Error loading content: ${J1(J)}</div>');
|
|
12353
|
-
</script>`}}function
|
|
12353
|
+
</script>`}}function HH($,X,Z){if(!X||X<=0)return $;let J,Y=new Promise((G,Q)=>{J=setTimeout(()=>Q(Error(`streaming boundary "${Z}" timed out after ${X}ms`)),X)});return Promise.race([$,Y]).finally(()=>clearTimeout(J))}function _H($,X=[],Z={}){let J=Z.timeoutMs??0;return new ReadableStream({async start(Y){try{if(Y.enqueue($),X.length>0)Y.enqueue(gG),await Promise.all(X.map(async(G)=>{let Q=HH(G.render(),J,G.id);Y.enqueue(await W3(G.id,Q))}));Y.close()}catch(G){Y.error(G)}}})}function LH($,X){return $.replace(OH,(Z,J,Y)=>{let G=J.trim(),Q=Y.split(/@fallback/i),w=Q[0].trim(),q=Q.length>1?Q.slice(1).join("@fallback").trim():"";if(!X.__streamTemplates)X.__streamTemplates={};return X.__streamTemplates[G]=w,`<div data-suspense="${G}">${q}</div>`})}function FH($){let X=$?.streamBoundaries;if(!X||typeof X!=="object")return;let Z=Object.entries(X).filter(([,J])=>typeof J==="function");return Z.length>0?Z.map(([J,Y])=>({id:J,render:Y})):void 0}async function VH($,X={},Z={}){let J={...U5,...Z,streaming:{...q3,...Z.streaming}},Y=J.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file($).text(),w=Q.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),q=w?w[1]:"",W=Q.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),K={...X,__filename:$,__dirname:G9.dirname($)};if(q.trim())await Y5(q,K,$);let z=new Set,U=J.streaming?.strategy||"auto",B=new RegExp(B5.source,"g");if(!(U!=="manual"&&B.test(W))){let H=await R0(W,K,$,J,z);for(let _=0;_<H.length;_+=Y)G.enqueue(H.slice(_,_+Y))}else{let H=[],_=new RegExp(B5.source,"g"),L;while((L=_.exec(W))!==null)H.push({name:L[1],content:L[2],start:L.index,end:L.index+L[0].length});let O=0;for(let F of H){if(F.start>O){let A=W.slice(O,F.start);if(A.trim()){let N=await R0(A,K,$,J,z);G.enqueue(N)}}let V=await R0(F.content,K,$,J,z);G.enqueue(V),O=F.end}if(O<W.length){let F=W.slice(O);if(F.trim()){let V=await R0(F,K,$,J,z);G.enqueue(V)}}}G.close()}catch(Q){G.error(Q)}}})}async function AH($,X={}){let Z={...U5,...X,streaming:{...q3,...X.streaming}},J=await Bun.file($).text(),Y=J.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),G=Y?Y[1]:"",Q=J.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),w=Q,q={},W;B5.lastIndex=0;while((W=B5.exec(Q))!==null){let U=W[1],B=W[2];q[U]=B}let K=Q.replace(B5,"");return{renderShell:async(U={})=>{let B={...U,__filename:$,__dirname:G9.dirname($)};return await Y5(G,B,$),R0(K,B,$,Z,new Set)},renderSection:async(U,B={})=>{try{if(!q[U])return`<div class="error-message">Section "${J1(U)}" not found in template "${J1($)}"</div>`;let j={...B,__filename:$,__dirname:G9.dirname($)};await Y5(G,j,$);let H=new Set;return await R0(q[U],j,$,Z,H)}catch(j){let H=j instanceof Error?j.message:String(j);return O0("Expression",H,$,q[U]||"",0,q[U]||"")}},getSections:()=>{return Object.keys(q)},getTemplate:()=>{return w}}}function RH($={}){let X=[];if($.streaming?.enabled)X.push(hG);if($.hydration?.enabled)X.push(uG);return X}async function NH($,X,Z,J={}){return $}function TH($,X={}){let Z=new TextEncoder,J=$.pipeThrough(new TransformStream({transform(G,Q){Q.enqueue(Z.encode(G))}})),Y=new Headers(X.headers);if(!Y.has("Content-Type"))Y.set("Content-Type","text/html; charset=utf-8");if(!Y.has("Transfer-Encoding"))Y.set("Transfer-Encoding","chunked");if(!Y.has("X-Content-Type-Options"))Y.set("X-Content-Type-Options","nosniff");if(!Y.has("X-Accel-Buffering"))Y.set("X-Accel-Buffering","no");return new Response(J,{...X,headers:Y})}function MH($={mode:"full"}){let{mode:X,components:Z={},dynamicImports:J=!0}=$,Y=Object.entries(Z).map(([G,Q])=>`'${G}': ${J?`() => import('${Q}')`:`require('${Q}')`}`).join(`,
|
|
12354
12354
|
`);if(X==="loader")return`
|
|
12355
12355
|
(function() {
|
|
12356
12356
|
window.__stx = window.__stx || {};
|
|
@@ -12492,7 +12492,7 @@ else {
|
|
|
12492
12492
|
else {
|
|
12493
12493
|
stx.hydrate();
|
|
12494
12494
|
}
|
|
12495
|
-
})();`}var
|
|
12495
|
+
})();`}var q3,B5,fG,gG=`
|
|
12496
12496
|
<script>
|
|
12497
12497
|
(function(){
|
|
12498
12498
|
window.__stxSuspense = window.__stxSuspense || {
|
|
@@ -12512,25 +12512,25 @@ else {
|
|
|
12512
12512
|
}
|
|
12513
12513
|
};
|
|
12514
12514
|
})();
|
|
12515
|
-
</script>`,
|
|
12515
|
+
</script>`,OH,hG,uG;var z3=D(()=>{R1();j1();_$();A0();q3={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},B5=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,fG=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;OH=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;hG={name:"suspense",hasEndTag:!0,handler:($,X,Z,J)=>{if(!X||X.length===0)throw Error("Suspense directive requires a name parameter");let Y=X[0].replace(/['"`]/g,"");return`<!-- @suspense:${Y} -->${$}<!-- @endsuspense:${Y} -->`}},uG={name:"island",hasEndTag:!0,handler:($,X,Z,J)=>{if(!X||X.length===0)throw Error("Island directive requires a name parameter");let Y=X[0].replace(/['"`]/g,""),G=X[1]?X[1].replace(/['"`]/g,""):"lazy",Q=`island-${Y}-${Math.random().toString(36).substring(2,9)}`,w=$.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),q=w?w[1].trim():"",W=w?$.replace(w[0],""):$;return`<div data-island="${Y}" data-island-id="${Q}" data-priority="${G}">
|
|
12516
12516
|
${W}
|
|
12517
12517
|
<script type="application/json" data-island-props="${Q}">
|
|
12518
12518
|
${q?`{${q}}`:"{}"}
|
|
12519
12519
|
</script>
|
|
12520
|
-
</div>`}}});var
|
|
12521
|
-
`).length;Z.set(q,{count:1,firstLine:z})}}}let Q=[];for(let w of new Set([...Z.keys(),...J.keys()])){if(
|
|
12522
|
-
`}if(F){let b=[];if(K==="avif"||K==="auto"){let y=
|
|
12520
|
+
</div>`}}});var cG={};t(cG,{warnUnbalancedTags:()=>U3,findUnbalancedTags:()=>mG});function l5($){return $.replace(/[^\n]/g," ")}function mG($){let X=$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,l5).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,l5).replace(/<!--[\s\S]*?-->/g,l5).replace(/\{\{\{[\s\S]*?\}\}\}/g,l5).replace(/\{\{[\s\S]*?\}\}/g,l5).replace(/\{!![\s\S]*?!!\}/g,l5),Z=new Map,J=new Map,Y=/<(\/?)([A-Za-z][\w-]*)\b(?:[^>"']|"[^"]*"|'[^']*')*?(\/?)>/g,G;while((G=Y.exec(X))!==null){let w=G[1]==="/",q=G[2],W=G[3]==="/";if(kH.has(q.toLowerCase()))continue;if(W)continue;if(w)J.set(q,(J.get(q)??0)+1);else{let K=Z.get(q);if(K)K.count++;else{let z=X.slice(0,G.index).split(`
|
|
12521
|
+
`).length;Z.set(q,{count:1,firstLine:z})}}}let Q=[];for(let w of new Set([...Z.keys(),...J.keys()])){if(IH.has(w.toLowerCase()))continue;let q=Z.get(w)?.count??0,W=J.get(w)??0;if(q!==W)Q.push({tag:w,opened:q,closed:W,firstOpenLine:Z.get(w)?.firstLine??0})}return Q}function U3($,X){let Z;try{Z=mG($)}catch{return}if(Z.length===0)return;let J=`${X}:${$.length}`;if(dG.has(J))return;dG.add(J);let Y=X?X.split(/[/\\]/).pop()||X:"template";for(let{tag:G,opened:Q,closed:w,firstOpenLine:q}of Z)if(Q>w){let W=q?` (first opened at line ${q})`:"";console.warn(`[stx] ${Y}: <${G}> ${Q} opened, ${w} closed \u2014 an unclosed <${G}>${W} may swallow the content that follows it.`)}else console.warn(`[stx] ${Y}: <${G}> ${Q} opened, ${w} closed \u2014 ${w-Q} stray </${G}>.`)}var kH,IH,dG;var j3=D(()=>{kH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),IH=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);dG=new Set});import $1 from"path";import B3 from"fs";function lG($){return $.split("-").map((X)=>X.charAt(0).toUpperCase()+X.slice(1)).join("")}function pG($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class iG{builtins=new Map;registerBuiltin($){this.builtins.set($.name.toLowerCase(),$);for(let X of $.aliases)this.builtins.set(X.toLowerCase(),$)}isBuiltin($){return this.builtins.has($.toLowerCase())}getBuiltin($){return this.builtins.get($.toLowerCase())??null}async resolveFile($,X,Z,J){let Y=$.endsWith(".stx")?$.slice(0,-4):$,G=J?.__importedComponents;if(G){let B=[Y,Y.toLowerCase(),lG(Y),pG(Y)];for(let j of B)if(G.has(j))return G.get(j)}let Q=[...new Set([`${Y}.stx`,`${lG(Y)}.stx`,`${pG(Y)}.stx`])];if(Y.startsWith("./")||Y.startsWith("../")){let B=$1.resolve($1.dirname(X),`${Y}.stx`);if(await i(B))return B;return null}let w=[],q=Z.componentsDir||"",W=J?.__originalFilePath;if(W)w.push($1.join($1.dirname(W),"components"));if(q)w.push(q);let K=$1.join($1.dirname(X),"components");if(!w.includes(K))w.push(K);let z=process.cwd(),U=[$1.resolve(z,"src/components"),$1.resolve(z,"components"),$1.resolve(import.meta.dir,"components")];for(let B of U)if(!w.includes(B))w.push(B);for(let B of w){if(!B)continue;for(let j of Q){let H=$1.join(B,j);if(await i(H))return H}try{if(!B3.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let H=B3.readdirSync(B,{withFileTypes:!0});for(let _ of H)if(_.isDirectory()){let L=$1.join(B,_.name);for(let O of Q){let F=$1.join(L,O);if(await i(F))return F}}}catch{}}return null}}var n0;var H3=D(()=>{A0();n0=new iG});function M0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function _3($){return $.indexOf("\x00")===-1?$:$.replace(/\0/g,"")}var H5="\x00stx-boolean-attribute";function p5($,X){let Z=[];for(let[J,Y]of Object.entries($.static)){if(X.has(J))continue;let G=$.staticNames?.[J]??J;if(typeof Y==="boolean"){if(Y)Z.push(M0(G));continue}if(Y===H5){Z.push(M0(G));continue}Z.push(`${M0(G)}="${M0(_3(String(Y)))}"`)}return Z}function i5($,X){let Z=[];for(let[J,Y]of Object.entries($.serverDynamic??{})){if(X.has(J))continue;if(Y===null||Y===void 0||Y===!1)continue;let G=$.serverDynamicNames?.[J]??J;if(Y===!0){Z.push(M0(G));continue}if(typeof Y==="object")continue;Z.push(`${M0(G)}="${M0(_3(String(Y)))}"`)}return Z}var Q9=()=>{};function Y8($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function EH($){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 O3;var L3=D(()=>{Q9();O3={name:"StxLink",aliases:["stx-link"],render($,X,Z){let J=EH($),Y=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),G=typeof $.static.activeClass==="string"?$.static.activeClass:"active",Q=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",w=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,q=[];if(J.reactive)q.push(`:href="${Y8(J.value)}"`);else q.push(`href="${Y8(J.value)}"`);if(Y)q.push(`class="${Y8(Y)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${Y8(G)}"`),q.push(`data-stx-exact-active-class="${Y8(Q)}"`),w)q.push("data-stx-prefetch");let W=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return q.push(...p5($,W)),q.push(...i5($,W)),`<a ${q.join(" ")}>${X}</a>`}}});function x0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function u0($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}function V3($,X,Z=!1){let J=$.serverDynamic[X];if(J!==void 0)return J!==!1&&J!=="false";let Y=$.static[X];if(Y!==void 0)return Y!=="false"&&Y!==!1;return Z}function nG($){if($.includes("(")||$.includes(","))return $;let X=$.trim().split(/\s+/),Z=[];for(let J of X)if(J.includes(":")){let[Y,G]=J.split(":"),Q=DH[Y];if(Q)Z.push(`(max-width: ${Q}px) ${G}`);else{let w=Number.parseInt(Y);if(!Number.isNaN(w))Z.push(`(max-width: ${w}px) ${G}`)}}else Z.push(J);return Z.join(", ")}function A3($,X,Z,J){return X.map((Y)=>`${G8($,Y,void 0,Z,J)} ${Y}w`).join(", ")}function yH($,X,Z,J,Y){return X.map((G)=>{let Q=Z?Z*G:void 0;return`${G8($,Q,void 0,J,Y)} ${G}x`}).join(", ")}function G8($,X,Z,J,Y){if(!J||J==="local"||J==="static")return $;if(J==="cloudinary"){let G=[];if(X)G.push(`w_${X}`);if(Z)G.push(`h_${Z}`);if(Y)G.push(`f_${Y}`);G.push("q_auto");let Q=G.join(",");return $.replace("/upload/",`/upload/${Q}/`)}if(J==="imgix"){let G=new URLSearchParams;if(X)G.set("w",String(X));if(Z)G.set("h",String(Z));if(Y)G.set("fm",Y);G.set("auto","format");let Q=$.includes("?")?"&":"?";return`${$}${Q}${G.toString()}`}if(J==="bunny"){let G=new URLSearchParams;if(X)G.set("width",String(X));if(Z)G.set("height",String(Z));if(Y)G.set("format",Y);let Q=$.includes("?")?"&":"?";return`${$}${Q}${G.toString()}`}return $}function bH($,X,Z="#e5e7eb"){let J=`<svg xmlns="http://www.w3.org/2000/svg" width="${$}" height="${X}"><rect width="100%" height="100%" fill="${Z}"/></svg>`;return`data:image/svg+xml;base64,${btoa(J)}`}var DH,F3,R3;var N3=D(()=>{Q9();DH={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},F3=[320,640,768,1024,1280,1536,1920];R3={name:"StxImage",aliases:["stx-image","stx-img"],render($,X,Z){let J=u0($,"src")||"",Y=u0($,"alt")||"",G=u0($,"width"),Q=u0($,"height"),w=u0($,"sizes"),q=u0($,"srcset"),W=u0($,"densities"),K=u0($,"format"),z=u0($,"placeholder"),U=u0($,"placeholderColor")||"#e5e7eb",B=u0($,"provider"),j=u0($,"class")||u0($,"className")||"",H=u0($,"style")||"",_=u0($,"quality"),L=V3($,"lazy",!0),O=V3($,"preload",!1),F=V3($,"picture",!1)||!!K,V=G?Number.parseInt(G):void 0,A=Q?Number.parseInt(Q):void 0,N=q||"",R="";if(!N&&w)N=A3(J,F3,B,K),R=nG(w);else if(!N&&W){let b=W.split(/\s+/).map((y)=>Number.parseFloat(y.replace("x","")));N=yH(J,b,V,B,K)}else if(w)R=nG(w);let T=[];if(H)T.push(H);if(V&&A)T.push(`aspect-ratio:${V}/${A}`);if(z==="blur"||z==="color"||z==="thumbhash"){let b=bH(V||16,A||9,U);T.push(`background-image:url(${b})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat")}else if(z&&z!=="empty"&&z!=="none")T.push(`background-image:url(${x0(z)})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat");let k=G8(J,V,A,B,K),M=[];if(M.push(`src="${x0(k)}"`),M.push(`alt="${x0(Y)}"`),G)M.push(`width="${x0(G)}"`);if(Q)M.push(`height="${x0(Q)}"`);if(L)M.push('loading="lazy"');if(M.push('decoding="async"'),j)M.push(`class="${x0(j)}"`);if(T.length>0)M.push(`style="${x0(T.join(";"))}"`);if(N)M.push(`srcset="${x0(N)}"`);if(R)M.push(`sizes="${x0(R)}"`);let E=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);M.push(...p5($,E)),M.push(...i5($,E));let I=`<img ${M.join(" ")} />`,S="";if(O){let y=K==="webp"?"image/webp":K==="avif"?"image/avif":"";S=`<link rel="preload" as="image" href="${x0(k)}"${y?` type="${y}"`:""}${N?` imagesrcset="${x0(N)}"`:""}${R?` imagesizes="${x0(R)}"`:""} />
|
|
12522
|
+
`}if(F){let b=[];if(K==="avif"||K==="auto"){let y=G8(J,V,A,B,"avif"),P=N?A3(J,F3,B,"avif"):`${y}`;b.push(`<source type="image/avif" srcset="${x0(P)}"${R?` sizes="${x0(R)}"`:""} />`)}if(K==="webp"||K==="auto"){let y=G8(J,V,A,B,"webp"),P=N?A3(J,F3,B,"webp"):`${y}`;b.push(`<source type="image/webp" srcset="${x0(P)}"${R?` sizes="${x0(R)}"`:""} />`)}return`${S}<picture>
|
|
12523
12523
|
${b.join(`
|
|
12524
12524
|
`)}
|
|
12525
12525
|
${I}
|
|
12526
|
-
</picture>`}return`${S}${I}`}}});function
|
|
12526
|
+
</picture>`}return`${S}${I}`}}});function Q8($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function n5($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var rG="/images/safe-image-default.svg",SH,T3;var M3=D(()=>{Q9();SH=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${rG}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,T3={name:"SafeImage",aliases:["safe-image","safe-img"],render($,X,Z){let J=n5($,"src")||"",Y=n5($,"alt")||"",G=n5($,"fallback")||rG,Q=n5($,"class")||n5($,"className")||"",w=n5($,"fallbackClassName")||"",q=[];if(q.push(`src="${Q8(J)}"`),q.push(`alt="${Q8(Y)}"`),Q)q.push(`class="${Q8(Q)}"`);if(q.push(`data-fallback="${Q8(G)}"`),w)q.push(`data-fallback-class="${Q8(w)}"`);q.push('onerror="window.__stxSafeImageHandler(this)"');let W=new Set(["src","alt","fallback","class","className","fallbackClassName"]);q.push(...p5($,W)),q.push(...i5($,W));let K=`<img ${q.join(" ")} />`,z=Z.context;if(!z.__safeImageHandlerEmitted)return z.__safeImageHandlerEmitted=!0,`${SH}${K}`;return K}}});function k3($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function w8($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}function w9($,X,Z){let J=w8($,X);if(J!==void 0){let Y=Number.parseInt(J,10);if(!Number.isNaN(Y))return Y}return Z}var I3;var E3=D(()=>{I3={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,X,Z){let J=k3(w8($,"color")||"#6366f1"),Y=k3(w8($,"initialColor")||w8($,"initial-color")||""),G=k3(w8($,"height")||"3px"),Q=w9($,"duration",2000),w=w9($,"throttle",200),q=w9($,"zIndex",999999)||w9($,"z-index",999999),W=Y?`linear-gradient(to right, ${Y}, ${J})`:J;return`
|
|
12527
12527
|
<div id="stx-loading-indicator" style="position:fixed;top:0;left:0;right:0;height:${G};background:${W};z-index:${q};transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease-out,opacity 0.3s ease;opacity:0;pointer-events:none">
|
|
12528
12528
|
<div style="position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.4) 50%,transparent 100%);animation:stx-shimmer 1.5s infinite"></div>
|
|
12529
12529
|
</div>
|
|
12530
12530
|
<style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
|
|
12531
12531
|
<script>
|
|
12532
12532
|
(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)},${w})},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()})})();
|
|
12533
|
-
</script>`}}});function
|
|
12533
|
+
</script>`}}});function sG($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}function CH($,X,Z){let J=sG($,X);if(J!==void 0){let Y=Number.parseInt(J,10);if(!Number.isNaN(Y))return Y}return Z}var oG,D3;var y3=D(()=>{oG={"top-right":"top:1rem;right:1rem","top-left":"top:1rem;left:1rem","top-center":"top:1rem;left:50%;transform:translateX(-50%)","bottom-right":"bottom:1rem;right:1rem","bottom-left":"bottom:1rem;left:1rem","bottom-center":"bottom:1rem;left:50%;transform:translateX(-50%)"},D3={name:"StxToast",aliases:["stx-toast"],render($,X,Z){let J=M0(sG($,"position")||"top-right"),Y=CH($,"max",5),G=oG[J]||oG["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${J}" data-stx-toast-max="${Y}" style="position:fixed;${G};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
|
|
12534
12534
|
<style>
|
|
12535
12535
|
@keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
|
|
12536
12536
|
@keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
|
|
@@ -12538,7 +12538,7 @@ ${I}
|
|
|
12538
12538
|
@keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
|
|
12539
12539
|
@keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
|
|
12540
12540
|
@keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
|
|
12541
|
-
</style>`}}});function
|
|
12541
|
+
</style>`}}});function q9($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var aG,b3;var S3=D(()=>{aG={sm:"max-width:24rem",md:"max-width:32rem",lg:"max-width:42rem",xl:"max-width:56rem",full:"max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)"},b3={name:"StxModal",aliases:["stx-modal"],render($,X,Z){let J=q9($,"id");if(!J)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let Y=M0(J),G=q9($,"size")||"md",Q=q9($,"closeOnBackdrop")!=="false",w=q9($,"closeOnEscape")!=="false",q=aG[G]||aG.md;return`<div id="stx-modal-${Y}" class="stx-modal-backdrop" data-stx-modal="${Y}" data-close-backdrop="${Q}" data-close-escape="${w}" style="display:none;position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center;background:rgba(0,0,0,0.5);backdrop-filter:blur(2px);opacity:0;transition:opacity 0.2s ease" aria-modal="true" role="dialog">
|
|
12542
12542
|
<div class="stx-modal-panel" style="${q};width:100%;margin:1rem;border-radius:0.75rem;box-shadow:0 20px 60px rgba(0,0,0,0.3);overflow:hidden;transform:scale(0.95) translateY(8px);transition:transform 0.2s ease,opacity 0.2s ease;opacity:0;background:var(--stx-modal-bg,#fff);color:var(--stx-modal-text,#1f2937)">
|
|
12543
12543
|
<div style="padding:1.5rem">${X}</div>
|
|
12544
12544
|
</div>
|
|
@@ -12547,7 +12547,7 @@ ${I}
|
|
|
12547
12547
|
@media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
|
|
12548
12548
|
.stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
|
|
12549
12549
|
.stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
|
|
12550
|
-
</style>`}}});function
|
|
12550
|
+
</style>`}}});function r5($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var tG,C3;var P3=D(()=>{tG={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},C3={name:"StxDrawer",aliases:["stx-drawer"],render($,X,Z){let J=r5($,"id");if(!J)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let Y=M0(J),G=r5($,"side")||"right",Q=r5($,"size")||"md",w=r5($,"closeOnBackdrop")!=="false",q=r5($,"closeOnEscape")!=="false",W=r5($,"overlay")!=="false",K=tG[Q]||tG.md,z=G==="left",U=z?"left:0":"right:0",B=z?"translateX(-100%)":"translateX(100%)",j=z?"stx-drawer-slide-left":"stx-drawer-slide-right";return`<div id="stx-drawer-${Y}" class="stx-drawer-backdrop" data-stx-drawer="${Y}" data-close-backdrop="${w}" data-close-escape="${q}" style="display:none;position:fixed;inset:0;z-index:99999;${W?"background:rgba(0,0,0,0.5);backdrop-filter:blur(2px)":"background:transparent;pointer-events:none"};opacity:0;transition:opacity 0.2s ease" role="dialog" aria-modal="true">
|
|
12551
12551
|
<div class="stx-drawer-panel" style="position:fixed;top:0;bottom:0;${U};width:${K};max-width:100vw;transform:${B};transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);background:var(--stx-drawer-bg,#fff);color:var(--stx-drawer-text,#1f2937);box-shadow:0 20px 60px rgba(0,0,0,0.3);overflow-y:auto;pointer-events:auto">
|
|
12552
12552
|
<div style="padding:1.5rem">${X}</div>
|
|
12553
12553
|
</div>
|
|
@@ -12556,44 +12556,44 @@ ${I}
|
|
|
12556
12556
|
@media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
|
|
12557
12557
|
.stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
|
|
12558
12558
|
.stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
|
|
12559
|
-
</style>`}}});import{existsSync as
|
|
12560
|
-
`||T==="\t")L++;O=R+_.length}else{if(L--,L===0){F=N;break}O=N+H.length}}if(F===-1){Y=U;continue}let V=$.slice(U,F),A=F+H.length;J.push({fullMatch:$.slice(G,A),tagName:q,attributes:j,content:V,startIndex:G,endIndex:A,isSelfClosing:!1}),Y=A}}return J}function YQ($){return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/'/gi,"'").replace(/&/g,"&")}function GQ($,X){try{let Z=Buffer.from($,"base64").toString("utf8");return JSON.parse(Z)}catch{}try{let Z=$.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");return JSON.parse(Z)}catch(Z){if(X?.debug)console.error("Error decoding __stx_ prop:",Z);return $}}var QQ=D(()=>{y0();A0();v1()});var jQ={};t(jQ,{processESImports:()=>zQ,processComponents:()=>U9});import z9 from"fs";import a0 from"path";function g_($,X,Z){let J={static:{},staticNames:{},serverDynamic:{},serverDynamicNames:{},clientReactive:{},events:{}},Y=new Set(Array.isArray(X.__stx_client_signal_names)?X.__stx_client_signal_names:[]),G=(W)=>{if(Y.size===0)return!1;let K=t0(W),z=K.match(/^\s*[!+~(-]*\s*([a-zA-Z_$][\w$]*)/)?.[1];if(z&&Y.has(z))return!0;for(let U of Y){let B=U.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`(?:^|[^\\w$.])${B}\\s*\\(`).test(K))return!0}return!1},Q=new Set(j2),w=(W)=>{if(!W.includes("-")||W.startsWith("@")||W.startsWith(":")||W.startsWith("x-")||W.startsWith("__"))return W;if(W.startsWith("aria-")||W.startsWith("data-"))return W;return W.replace(/-([a-z0-9])/g,(K,z)=>z.toUpperCase())},q=(W,K)=>{let z=w(W);if(J.static[z]=K,z!==W)J.staticNames[z]=W};for(let[W,K]of Object.entries($)){let z=W.startsWith("x-")&&!Q.has(W)&&!W.startsWith("x-bind:")&&!W.startsWith("x-on:")?`:${W.slice(2)}`:W;if(z.startsWith("@")){J.events[z]=K;continue}if(z.startsWith("__stx_")){let U=w(z.slice(6));J.serverDynamic[U]=GQ(K,Z);continue}if(z.startsWith(":")){let U=w(z.slice(1)),B=K===B5?U:K;if(U==="if"||U==="for"||U==="show"){J.clientReactive[U]=B;continue}if(G(B)){J.clientReactive[U]=B;continue}try{if(!W0(B)){if(Z.debug)console.error(`Unsafe expression in :${U} binding: ${B}`);J.clientReactive[U]=B;continue}let j=Object.keys(X),H=K0(B,j)(...Object.values(X));if(H===void 0){let L=B.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],O=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(L.some((V)=>!O.has(V)&&!j.includes(V))){J.clientReactive[U]=B;continue}}if(J.serverDynamic[U]=H,U!==z.slice(1)&&J.serverDynamicNames)J.serverDynamicNames[U]=z.slice(1)}catch{J.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(W0(B)){let _=K0(B,Object.keys(X))(...Object.values(X));q(z,_!=null?String(_):"")}else{if(Z.debug)console.error(`Unsafe expression in ${z}: ${B}`);q(z,K)}}catch(B){if(Z.debug)console.error(`Error evaluating expression for ${z}:`,B);q(z,K)}else{let B=K,j=/\{\{\s*([\s\S]+?)\s*\}\}/g,_;while((_=j.exec(K))!==null)try{let H=_[1];if(!W0(H)){if(Z.debug)console.error(`Unsafe expression in ${z}: ${H}`);continue}let O=K0(H,Object.keys(X))(...Object.values(X));B=B.replace(_[0],String(O??""))}catch(H){if(Z.debug)console.error(`Error evaluating expression in ${z}:`,H)}q(z,B)}continue}q(z,K===B5?"true":YQ(K))}return J}function u_($,X,Z){if(!$.includes("@"))return $;if(!h_.some(([Y,G])=>Y.test($)&&$.includes(G)))return $;try{return I1($,X,Z)}catch{return $}}function d_($){let X={},Z=0,J=$.length;while(Z<J){while(Z<J&&/\s/.test($[Z]))Z++;if(Z>=J)break;let Y="";while(Z<J&&!/[\s=]/.test($[Z]))Y+=$[Z],Z++;if(!Y)break;while(Z<J&&/\s/.test($[Z]))Z++;if(Z<J&&$[Z]==="="){Z++;while(Z<J&&/\s/.test($[Z]))Z++;let G="";if(Z<J&&($[Z]==='"'||$[Z]==="'")){let Q=$[Z];Z++;while(Z<J){let w=$[Z];if(w==="\\"&&Z+1<J){Z++,G+=$[Z],Z++;continue}if(w===Q){Z++;break}G+=w,Z++}}else while(Z<J&&!/\s/.test($[Z]))G+=$[Z],Z++;X[Y]=G}else X[Y]=B5}return X}function qQ($){return Object.entries($).map(([X,Z])=>Z===B5?X:`${X}="${m_(Z)}"`).join(" ")}function m_($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function c_($){let X=new Set,Z=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,J;while((J=Z.exec($))!==null){let Y=J[1];if(n0.isBuiltin(Y))X.add(Y)}return[...X].sort()}function l_($){let X=WQ.get($);if(X)return X;let Z=new Map,J=[a0.join($,"src"),a0.join($,"dist"),$];function Y(G,Q){if(Q>6)return;let w;try{w=z9.readdirSync(G,{withFileTypes:!0})}catch{return}for(let q of w){let W=a0.join(G,q.name);if(q.isDirectory()){if(q.name==="node_modules"||q.name.startsWith("."))continue;Y(W,Q+1)}else if(q.isFile()&&q.name.endsWith(".stx")){let K=q.name.slice(0,-4);if(!Z.has(K))Z.set(K,W);let z=K.toLowerCase();if(!Z.has(z))Z.set(z,W);let U=K.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Z.has(U))Z.set(U,W)}}}for(let G of J)if(Y(G,0),Z.size>0)break;return WQ.set($,Z),Z}function p_($,X){if($.startsWith(".")||$.startsWith("/"))return null;let Z=X;while(!0){let J=a0.join(Z,"node_modules",$);try{if(z9.statSync(J).isDirectory())return J}catch{}let Y=a0.dirname(Z);if(Y===Z)return null;Z=Y}}async function zQ($,X,Z,J,Y){if(!$.includes("import"))return $;if(!X.__importedComponents)X.__importedComponents=new Map;let G=X.__importedComponents,Q=a0.dirname(Z),w=$,q=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return w=w.replace(q,(W,K,z)=>{let U=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,B=z,j,_=[];while((j=U.exec(z))!==null){let[H,L,O,F]=j,V=null,A=null;if(F.startsWith(".")||F.startsWith("/")){let T=a0.resolve(Q,F);if(T.endsWith(".stx"))A=T;else{let k=`${T}.stx`;try{if(z9.statSync(k).isFile())A=k}catch{try{if(z9.statSync(T).isDirectory())V=T}catch{}}}}else V=p_(F,Q);if(!V&&!A)continue;let R=!1,N=(T,k)=>{G.set(T,k),G.set(T.toLowerCase(),k);let M=T.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();G.set(M,k),Y.add(k)};if(O&&A)N(O,A),R=!0;else if(L){let T=L.slice(1,-1).split(",").map((M)=>M.trim()).filter(Boolean).map((M)=>{let E=M.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(E)return{source:E[1],local:E[2]};return{source:M,local:M}}),k=V?l_(V):null;for(let{source:M,local:E}of T){let I=null;if(A)I=A;else if(k)I=k.get(M)??k.get(M.toLowerCase())??k.get(M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(I)N(E,I),R=!0}}if(R)_.push({start:j.index,end:j.index+H.length})}if(_.length===0)return W;for(let H=_.length-1;H>=0;H--)B=B.slice(0,_[H].start)+B.slice(_[H].end);return`<script${K}>${B}</script>`}),w}async function i_($,X,Z,J,Y){let G=$;if(!X.__importedComponents)X.__importedComponents=new Map;let Q=X.__importedComponents,w=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=w.exec(G))!==null){let[W,K]=q,z=K.split(",").map((U)=>U.trim().replace(/^['"]|['"]$/g,"")).filter((U)=>U.length>0);for(let U of z){let B=U.split("/"),_=B[B.length-1].replace(/\.stx$/,""),H=_.includes("-")?_.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""):_.charAt(0).toUpperCase()+_.slice(1),L=null,O=[a0.resolve(a0.dirname(Z),`${U}.stx`),a0.resolve(a0.dirname(Z),U),a0.resolve(J.componentsDir||"components",`${U}.stx`),a0.resolve(J.componentsDir||"components",U),U.endsWith(".stx")?U:`${U}.stx`];for(let F of O)try{if(await Bun.file(F).exists()){L=F;break}}catch{}if(L){Q.set(H,L),Q.set(_,L),Q.set(_.toLowerCase(),L);let F=H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(Q.set(F,L),Y.add(L),J.debug)console.log(`Imported component: ${H} -> ${L}`)}else if(J.debug)console.warn(`Could not resolve imported component: ${U}`)}G=G.replace(W,""),w.lastIndex=0}return G}async function n_($,X,Z,J,Y){let G=$,Q=J.componentsDir||"components";if(!X.__processedComponents)X.__processedComponents=new Set;let w=X.__processedComponents,q=/@component\s*\(/g,W;while((W=q.exec(G))!==null){let K=W.index,z=K+W[0].length-1,U=1,B=z+1;while(B<G.length&&U>0){if(G[B]==="(")U++;else if(G[B]===")"){if(U--,U===0)break}B++}if(U!==0)break;let j=G.substring(z+1,B),_=B+1,H=j.match(/^\s*['"]([^'"]+)['"]/);if(!H){q.lastIndex=0;continue}let L=H[1],O,F=j.slice(H[0].length),V=F.match(/^\s*,\s*/);if(V)O=F.slice(V[0].length).trim();let A={};if(O)try{A=D0(O,X)}catch(E){let I=E instanceof Error?E.message:String(E);G=G.replace(G.substring(K,_),`[Error parsing component props: ${I}]`);continue}let R="",N=_,k=G.substring(_).match(/^([\s\S]*?)@endcomponent/);if(k)R=k[1].trim(),N=_+k[0].length;let M=await w5(L,A,R,Q,X,Z,J,w,Y);G=G.substring(0,K)+M+G.substring(N),q.lastIndex=0}return G}async function r_($,X,Z,J,Y){if(!$)return $;let G=$,Q=J.componentsDir||"components";if(!X.__processedComponents)X.__processedComponents=new Set;let w=X.__processedComponents,q=U1(G);return G=q.output,G=await U(G,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),G=await U(G,/[A-Z][a-zA-Z0-9]*/,!0),G=await U(G,/[a-z][a-z0-9]*/,!1,f_),G=y5(G,q.scripts),G;async function U(B,j,_,H){if(!B)return B;let L=B,O=JQ(L,j,H);for(let F=O.length-1;F>=0;F--){let V=O[F],A=_?K9(V.tagName):V.tagName,R=d_(u_(V.attributes,X,Z)),N=g_(R,X,J),T=n0.getBuiltin(V.tagName),k=T?await B$(A,Q,X,Z,J):!1;if(T&&!k){let S={context:X,filePath:Z,options:J,dependencies:Y},b=T.render(N,V.content,S);if(Object.keys(N.clientReactive).length>0)b=KQ(b,N.clientReactive);if(Object.keys(N.events).length>0){let y=qQ(N.events);b=b.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${y}`)}L=L.substring(0,V.startIndex)+b+L.substring(V.endIndex);continue}if(!_&&V.tagName.includes("-")&&!await B$(A,Q,X,Z,J))continue;let M={};for(let[S,b]of Object.entries(N.static))M[S]=b;for(let[S,b]of Object.entries(N.serverDynamic))M[S]=b;let I=await w5(A,M,y5(V.content,q.scripts),Q,X,Z,J,w,Y);if(Object.keys(N.clientReactive).length>0)I=KQ(I,N.clientReactive);if(Object.keys(N.events).length>0){let S=UQ(I);if(S){let b=qQ(N.events),y=Object.keys(N.events).map((P)=>P.replace(/^@/,"").split(".")[0]).join(" ");I=I.substring(0,S.insertPos)+` data-stx-parent-events="${y}" ${b}`+I.substring(S.insertPos)}}L=L.substring(0,V.startIndex)+I+L.substring(V.endIndex)}return L}}function KQ($,X){let Z=new Set(["if","for"]),J=new Set(["show"]),Y=Object.entries(X).filter(([K])=>!Z.has(K)),G=Y.filter(([K])=>!J.has(K)).map(([K])=>K9(K)).join(" "),Q=$,w=Y.length>0?UQ(Q):null;if(w){let K=Y.map(([U,B])=>`:${K9(U)}="${B.replace(/"/g,""")}"`).join(" "),z=G?` data-stx-parent-bindings="${G}"`:"";Q=Q.substring(0,w.insertPos)+`${z} ${K}`+Q.substring(w.insertPos)}let q=X.if;if(q)Q=`<template :if="${q.replace(/"/g,""")}">${Q}</template>`;let W=X.for;if(W)Q=`<template :for="${W.replace(/"/g,""")}">${Q}</template>`;return Q}function UQ($){let X=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec($);if(X)return{insertPos:X.index+1+X[1].length};let Z=0;while(Z<$.length){let J=$.slice(Z),Y=J.match(/^\s+/);if(Y){Z+=Y[0].length;continue}if(J.startsWith("<!--")){let w=$.indexOf("-->",Z+4);if(w===-1)return null;Z=w+3;continue}let G=J.match(/^<(script|style)\b[^>]*>/i);if(G){let w=`</${G[1].toLowerCase()}>`,q=$.toLowerCase().indexOf(w,Z+G[0].length);if(q===-1)return null;Z=q+w.length;continue}let Q=J.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!Q)return null;return{insertPos:Z+1+Q[1].length}}return null}async function U9($,X,Z,J,Y){if(!wQ)XQ(),wQ=!0;let G=await zQ($,X,Z,J,Y);G=await i_(G,X,Z,J,Y),G=await n_(G,X,Z,J,Y);let Q=[];for(let w=0;w<3;w++){let q=z1(G,v7,(K,z)=>`\x00STX_COMPONENT_COMMENT_${Q.length+z}\x00`);Q.push(...q.tokens);let W=G;if(G=await r_(q.output,X,Z,J,Y),G===W)break}if(Q.length>0)G=G.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(w,q)=>Q[Number(q)]??"");if(J.debug){let w=c_(G);if(w.length>0)console.warn(`[stx] ${Z}: unresolved component tag(s) after render passes: ${w.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return G}var wQ=!1,f_,h_,WQ;var u3=D(()=>{B3();t7();ZQ();QQ();v1();A0();y0();Z1();f_=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","component","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"]);h_=[[/@if\s*\(/,"@endif"],[/@unless\s*\(/,"@endunless"]];WQ=new Map});var VQ={};t(VQ,{processLoops:()=>m3,parseLoopBinding:()=>d3});function a_($,X){let Z=/@(include|partial)\s*\(\s*(['"])([^'"]+)\2\s*,\s*/g,J="",Y=0,G;while((G=Z.exec($))!==null){let Q=G.index+G[0].length,w=G.index+G[0].indexOf("("),q=P0($,"(",")",w);if(q===-1)continue;let W=$.slice(Q,q).trim();if(!W)continue;if(!Object.keys(X).some((U)=>new RegExp(`(?:^|[^\\w$.])${U.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w$])`).test(W)))continue;let z;try{let U=D0(W,X);if(!U||typeof U!=="object")continue;z=JSON.stringify(U)}catch{continue}J+=$.slice(Y,Q)+z,Y=q,Z.lastIndex=q}return Y===0?$:J+$.slice(Y)}function t_($,X){let Z=/@component\s*\(/g,J=$,Y,G=[];while((Y=Z.exec(J))!==null){let Q=Y.index,w=Q+Y[0].length-1,q=1,W=w+1;while(W<J.length&&q>0){if(J[W]==="(")q++;else if(J[W]===")"){if(q--,q===0)break}W++}if(q!==0)continue;let K=J.substring(w+1,W),z=W+1,U=K.match(/^\s*['"]([^'"]+)['"]/);if(!U)continue;let B=U[1],j=K.slice(U[0].length),_=j.match(/^\s*,\s*/);if(!_)continue;let H=j.slice(_[0].length).trim();if(!H)continue;try{let L=D0(H,X),O=JSON.stringify(L),F=`@component('${B}', ${O})`;G.push({start:Q,end:z,replacement:F})}catch{continue}}for(let Q=G.length-1;Q>=0;Q--){let{start:w,end:q,replacement:W}=G[Q];J=J.substring(0,w)+W+J.substring(q)}return J}function j9($,X,Z){let J=$,Y=new RegExp(`${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),G;while((G=Y.exec(J))!==null){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1,K=null,z=!1;while(W<J.length&&q>0){let j=J[W];if(z){z=!1,W++;continue}if(j==="\\"&&K){z=!0,W++;continue}if(K){if(j===K)K=null;W++;continue}if(j==='"'||j==="'"||j==="`"){K=j,W++;continue}if(j==="(")q++;else if(j===")"){if(q--,q===0)break}W++}if(q!==0)break;let U=J.substring(w+1,W),B=Z(U);J=J.substring(0,Q)+B+J.substring(W+1)}return J}function e_($,X){let Z=$;return Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(J,Y)=>{if(Y in X)return`:${Y}="${Y}"`;return J}),Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(J,Y,G)=>{try{let Q=Object.keys(X),w=Object.values(X);v8(G);let W=K0(G,Q)(...w),K=JSON.stringify(W),z=Buffer.from(K,"utf8").toString("base64");return`__stx_${Y}="${z}"`}catch(Q){return J}}),Z}function $H($,X){let Z=$;return Z=j9(Z,"@break",(J)=>{try{let G=`!!(${J.trim()})`,Q;if(W0(G)){let w=K0(G,Object.keys(X));Q=Boolean(w(...Object.values(X)))}else Q=Boolean(w0(G,X));return Q?B9:""}catch{return""}}),Z=j9(Z,"@continue",(J)=>{try{let G=`!!(${J.trim()})`,Q;if(W0(G)){let w=K0(G,Object.keys(X));Q=Boolean(w(...Object.values(X)))}else Q=Boolean(w0(G,X));return Q?_9:""}catch{return""}}),Z}function XH($){let X=$;return X=X.replace(/@break(?!\()/g,B9),X=X.replace(/@continue(?!\()/g,_9),X}function BQ($){let X=$.includes(B9),Z=X?$.substring(0,$.indexOf(B9)):$;return{hasBreak:X,content:Z}}function _Q($){let X=$.includes(_9),Z=X?$.substring(0,$.indexOf(_9)):$;return{hasContinue:X,content:Z}}function OQ($){let X=$;return X=j9(X,"@break",(Z)=>{let J=Z.trim();if(!x8(J))return"";return`\`; if (${J}) { break; } result += \``}),X=j9(X,"@continue",(Z)=>{let J=Z.trim();if(!x8(J))return"";return`\`; if (${J}) { continue; } result += \``}),X=X.replace(/@break(?!\()/g,"`; break; result += `"),X=X.replace(/@continue(?!\()/g,"`; continue; result += `"),X}function ZH($){let X=/@forelse\s*\(/g,Z,J=[],Y=/@foreach\s*\(/g,G=/@endforeach/g,Q;while((Q=Y.exec($))!==null)J.push({pos:Q.index,delta:1});while((Q=G.exec($))!==null)J.push({pos:Q.index,delta:-1});J.sort((K,z)=>K.pos-z.pos);let w=[],q=0;for(let K of J)q+=K.delta,w.push({pos:K.pos,depth:q});function W(K){let z=0,U=w.length-1,B=0;while(z<=U){let j=z+U>>1;if(w[j].pos<=K)B=w[j].depth,z=j+1;else U=j-1}return B}while((Z=X.exec($))!==null){if(W(Z.index)>0)continue;let K=Z.index,z=Z.index+Z[0].length-1,U=1,B=z+1,j=-1;while(B<$.length&&U>0){if($[B]==="(")U++;else if($[B]===")"){if(U--,U===0){j=B;break}}B++}if(j===-1)continue;let _=$.substring(z+1,j),H=d3(_);if(!H)continue;let{arrayExpr:L,itemVar:O}=H,F=j+1,V=1,A=F,R=/@forelse\s*\(/g,N=/@endforelse/g,T=-1;while(V>0&&A<$.length){R.lastIndex=A,N.lastIndex=A;let b=R.exec($),y=N.exec($);if(!y)break;if(b&&b.index<y.index)V++,A=b.index+b[0].length;else{if(V--,V===0){T=y.index;break}A=y.index+11}}if(T===-1)continue;let k=$.substring(F,T),M=T+11,E=-1,I=0,S=0;while(S<k.length){let b=k.indexOf("@",S);if(b===-1)break;let y=k.substring(b);if(/^@forelse\s*\(/.test(y))I++,S=b+1;else if(y.startsWith("@endforelse"))I--,S=b+11;else if(I===0&&y.startsWith("@empty")){if(k.length<=b+6||!/[a-z]/i.test(k[b+6])){E=b;break}S=b+1}else S=b+1}if(E===-1)continue;return{start:K,end:M,arrayExpr:L,itemVar:O,foreachContent:k.substring(0,E),emptyContent:k.substring(E+6)}}return null}function HQ($,X){let Z=$;while(!0){let J=ZH(Z);if(!J)break;let{start:Y,end:G,arrayExpr:Q,itemVar:w,foreachContent:q,emptyContent:W}=J;try{let K;if(W0(Q))K=K0(Q,Object.keys(X))(...Object.values(X));else K=w0(Q,X);let z;if(!Array.isArray(K)||K.length===0)z=W;else z=`@foreach (${Q} as ${w})${q}@endforeach`;Z=Z.substring(0,Y)+z+Z.substring(G)}catch(K){let z=K instanceof Error?K.message:String(K),U=J0("Forelse",`Error in @forelse(${Q} as ${w}): ${z}`,o.EVALUATION_ERROR);Z=Z.substring(0,Y)+U+Z.substring(G)}}return Z}function d3($){let X=$.indexOf(" as ");if(X!==-1){let G=$.slice(0,X).trim(),Q=$.slice(X+4).trim();return G&&Q?{arrayExpr:G,itemVar:Q}:null}let Z=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec($);if(!Z)return null;let J=Z[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),Y=Z[2].trim();return J&&Y?{arrayExpr:Y,itemVar:J}:null}function m3($,X,Z,J){let Y=$;Y=HQ(Y,X);function G(q){let W=/@foreach\s*\(/g,K;while((K=W.exec(q))!==null){let z=K.index,U=K.index+K[0].length-1,B=1,j=U+1,_=-1;while(j<q.length&&B>0){if(q[j]==="(")B++;else if(q[j]===")"){if(B--,B===0){_=j;break}}j++}if(_===-1)continue;let H=q.substring(U+1,_),L=d3(H);if(!L)continue;let O=z,{arrayExpr:F,itemVar:V}=L,A=_+1,R=1,N=A,T=/@foreach\s*\(/g,k=/@endforeach/g;while(R>0&&N<q.length){T.lastIndex=N,k.lastIndex=N;let M=T.exec(q),E=k.exec(q);if(!E)break;if(M&&M.index<E.index)R++,N=M.index+M[0].length;else{if(R--,R===0){let I=q.substring(A,E.index),S=E.index+11;return{start:O,end:S,arrayExpr:F,itemVar:V,content:I}}N=E.index+11}}}return null}function Q(q,W){let K=q;while(!0){let z=G(K);if(!z)break;let{start:U,end:B,arrayExpr:j,itemVar:_,content:H}=z;try{let L=j.trim(),O;if(W0(L))O=K0(L,Object.keys(W))(...Object.values(W));else O=w0(L,W);let F=!1;if(!Array.isArray(O))if(O instanceof Map)O=Array.from(O),F=!0;else if(O instanceof Set)O=Array.from(O);else if(typeof O==="string")O=Array.from(O);else if(O&&typeof O==="object"&&!(O instanceof Date)&&!(O instanceof RegExp))O=Object.entries(O),F=!0;else{console.warn(`[stx] @foreach(${L}) in ${Z}: ${L} is not iterable server-side, so the loop rendered nothing. `+"Values a server loop reads must come from <script server> or the page context \u2014 "+"a plain <script> runs in the browser.");let E=J0("Foreach",`Error in @foreach: ${L} is not iterable`,o.TYPE_ERROR);K=K.substring(0,U)+E+K.substring(B);continue}let V=J?.loops?.useAltLoopVariable??s_,A=_.trim(),R=null,N,T=!1;if(A.includes("=>")){let E=A.split("=>").map((I)=>I.trim());if(E.length===2&&E[0]&&E[1])R=E[0],N=E[1];else N=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let E=A.split(",").map((I)=>I.trim());if(E.length===2&&E[0]&&E[1])N=E[0],R=E[1],T=!0;else N=A}else N=A;let k="",M=O;for(let E=0;E<M.length;E++){let I=M[E],S={index:E,iteration:E+1,first:E===0,last:E===M.length-1,count:M.length},b={...W,loop:S,$loop:S};if(N.startsWith("[")&&N.endsWith("]")){let f=N.slice(1,-1).split(",").map((u)=>u.trim());if(Array.isArray(I))f.forEach((u,l)=>{if(u)b[u]=I[l]});else b[N]=I}else b[N]=I;if(R)if(!T&&F&&Array.isArray(I)&&I.length===2)b[R]=I[0],b[N]=I[1];else b[R]=E;let y=$H(H,b),P=_Q(y);if(P.hasContinue){k+=P.content;continue}let x=BQ(y);if(x.hasBreak){k+=x.content;break}if(y=HQ(y,b),y=Q(y,b),y=I1(y,b,Z),y=XH(y),x=BQ(y),x.hasBreak){k+=x.content;break}if(P=_Q(y),P.hasContinue){k+=P.content;continue}y=x1(y,b,Z),y=e_(y,b),y=t_(y,b),y=a_(y,b),k+=y}K=K.substring(0,U)+k+K.substring(B)}catch(L){let O=J0("Foreach",`Error in @foreach(${j.trim()} as ${_.trim()}): ${L instanceof Error?L.message:String(L)}`,o.EVALUATION_ERROR);K=K.substring(0,U)+O+K.substring(B)}}return K}Y=Q(Y,X),Y=FQ(Y,X,Z,J);let w=J?.loops?.maxWhileIterations??o_;return Y=GH(Y,X,w),Y}function LQ($){return x8($)}function FQ($,X,Z,J){let Y=$,G=!0;while(G){G=!1;let Q=Y.match(/@for\s*\(/);if(!Q||Q.index===void 0)break;let w=Q.index,q=w+Q[0].length-1,W=P0(Y,"(",")",q);if(W===-1)break;let K=Y.slice(q+1,W),z=W+1,U=p8(Y.slice(w),"for","endfor");if(U.length===0)break;let B=U[0].content,j=w+U[0].end;if(!LQ(K)){let _=J0("For",`Unsafe expression in @for: ${K}`,o.UNSAFE_EXPRESSION);Y=Y.substring(0,w)+_+Y.substring(j),G=!0;continue}try{let _=JH(K),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(_.length>0&&H){let R=YH({forExpr:K,content:B,iterVarNames:_,context:X,filePath:Z,options:J});Y=Y.substring(0,w)+R+Y.substring(j),G=!0;continue}let L=Object.keys(X),O=Object.values(X),F=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(R,N)=>{return`\${${N}}`});F=OQ(F);let A=Function(...L,`
|
|
12559
|
+
</style>`}}});import{existsSync as PH,readFileSync as vH}from"fs";function xH($){if(eG.has($))return;eG.add($),console.warn(`[stx] icon collection "${$}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${$}\`.`)}function fH($){let X=process.cwd();for(let Z of[`${X}/node_modules/@iconify-json/${$}/icons.json`,`${X}/pantry/@iconify-json/${$}/icons.json`,`${X}/node_modules/@iconify/json/json/${$}.json`,`${X}/pantry/@iconify/json/json/${$}.json`])if(PH(Z))return Z;for(let Z of[`@iconify-json/${$}/icons.json`,`@iconify/json/json/${$}.json`])try{return B0.resolve(Z)}catch{}return null}function gH($){if(W9.has($))return W9.get($);let X=fH($);if(!X)return xH($),null;try{let Z=JSON.parse(vH(X,"utf8"));return W9.set($,Z.icons),Z.icons}catch{return null}}function o5($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);if($.static[X]!==void 0)return String($.static[X]);if($.clientReactive[X]!==void 0)return $.clientReactive[X];return}var W9,eG,v3;var x3=D(()=>{W9=new Map,eG=new Set;v3={name:"Icon",aliases:["icon","stx-icon"],render($,X,Z){let J=o5($,"name")??o5($,"icon");if(!J)return"<!-- Icon: missing name/icon prop -->";let Y="lucide",G=J;if(J.includes(":")){let O=J.split(":");Y=O[0],G=O[1]}let Q=M0(o5($,"size")||"24"),w=M0(o5($,"color")||"currentColor"),q=M0(o5($,"class")||""),W=M0(o5($,"style")||""),K=W9.get(Y)??gH(Y);if(!K)return`<!-- Icon: collection "${Y}" not loaded -->`;let z=K[G];if(!z)return`<!-- Icon: "${G}" not found in ${Y} -->`;let U=z.width||24,B=z.height||24,j=`0 0 ${U} ${B}`,H=z.body;if(w!=="currentColor")H=H.replace(/currentColor/g,w);let _=q?` class="${q}"`:"",L=W?` style="${W}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${Q}" height="${Q}" viewBox="${j}" fill="none"${_}${L}>${H}</svg>`}}});function $Q($,...X){for(let Z of X){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J}return}function XQ($,X){let Z=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${X}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),J=$.match(Z);if(!J)return{region:null,rest:$};return{region:J[2],rest:$.replace(J[0],"")}}var f3;var g3=D(()=>{f3={name:"Suspense",aliases:["suspense"],render($,X,Z){let J=XQ(X,"fallback"),Y=J.rest,G=XQ(Y,"error"),Q=G.rest,w=J.region??$Q($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',q=G.region??$Q($,"errorFallback","error-fallback")??'<div class="stx-suspense-error">Something went wrong.</div>';return`<div data-stx-suspense><div data-stx-suspense-fallback>${w}</div><div data-stx-suspense-error hidden>${q}</div><div data-stx-suspense-content hidden>${Q}</div></div>`}}});function K9($,...X){for(let Z of X){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J}return}var h3;var u3=D(()=>{h3={name:"TransitionGroup",aliases:["transition-group"],render($,X,Z){let J=(K9($,"name")||"v").replace(/["'<>]/g,""),Y=(K9($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",G=K9($,"class"),Q=K9($,"id"),w=[`data-stx-transition-group="${J}"`,G?`class="${G}"`:"",Q?`id="${Q}"`:""].filter(Boolean).join(" ");return`<${Y} ${w}>${X}</${Y}>`}}});function ZQ(){n0.registerBuiltin(O3),n0.registerBuiltin(R3),n0.registerBuiltin(T3),n0.registerBuiltin(I3),n0.registerBuiltin(D3),n0.registerBuiltin(b3),n0.registerBuiltin(C3),n0.registerBuiltin(v3),n0.registerBuiltin(f3),n0.registerBuiltin(h3)}var JQ=D(()=>{L3();N3();M3();E3();y3();S3();P3();x3();g3();u3();H3();L3();N3();M3();E3();y3();S3();P3();x3();g3();u3()});function z9($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function YQ($,X,Z){let J=[],Y=0;while(Y<$.length){let G=$.indexOf("<",Y);if(G===-1)break;let w=$.slice(G+1).match(new RegExp(`^(${X.source})(?![\\w.:-])`));if(!w){Y=G+1;continue}let q=w[1];if(Z&&Z.has(q.toLowerCase())){let H=G+1+q.length;while(H<$.length&&$[H]!==">")H++;Y=H+1;continue}let W=G+1+q.length,K=null,z=W,U=-1,B=!1;while(W<$.length){let H=$[W];if(K){if(H==="\\"&&W+1<$.length){W+=2;continue}if(H===K)K=null;W++;continue}if(H==='"'||H==="'"){K=H,W++;continue}if(H==="/"&&W+1<$.length&&$[W+1]===">"){U=W+2,B=!0;break}if(H===">"){U=W+1;break}W++}if(U===-1){Y=G+1;continue}let j=$.slice(z,B?U-2:U-1).trim();if(B)J.push({fullMatch:$.slice(G,U),tagName:q,attributes:j,content:"",startIndex:G,endIndex:U,isSelfClosing:!0}),Y=U;else{let H=`<${q}`,_=`</${q}>`,L=1,O=U,F=-1;while(L>0&&O<$.length){let N=$.indexOf(H,O),R=$.indexOf(_,O);if(R===-1)break;if(N!==-1&&N<R){let T=$[N+H.length];if(T===" "||T===">"||T==="/"||T===`
|
|
12560
|
+
`||T==="\t")L++;O=N+H.length}else{if(L--,L===0){F=R;break}O=R+_.length}}if(F===-1){Y=U;continue}let V=$.slice(U,F),A=F+_.length;J.push({fullMatch:$.slice(G,A),tagName:q,attributes:j,content:V,startIndex:G,endIndex:A,isSelfClosing:!1}),Y=A}}return J}function GQ($){return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/'/gi,"'").replace(/&/g,"&")}function QQ($,X){try{let Z=Buffer.from($,"base64").toString("utf8");return JSON.parse(Z)}catch{}try{let Z=$.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");return JSON.parse(Z)}catch(Z){if(X?.debug)console.error("Error decoding __stx_ prop:",Z);return $}}var wQ=D(()=>{y0();A0();v1()});var BQ={};t(BQ,{processESImports:()=>UQ,processComponents:()=>j9});import U9 from"fs";import a0 from"path";function uH($,X,Z){let J={static:{},staticNames:{},serverDynamic:{},serverDynamicNames:{},clientReactive:{},events:{}},Y=new Set(Array.isArray(X.__stx_client_signal_names)?X.__stx_client_signal_names:[]),G=(W)=>{if(Y.size===0)return!1;let K=t0(W),z=K.match(/^\s*[!+~(-]*\s*([a-zA-Z_$][\w$]*)/)?.[1];if(z&&Y.has(z))return!0;for(let U of Y){let B=U.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`(?:^|[^\\w$.])${B}\\s*\\(`).test(K))return!0}return!1},Q=new Set(j2),w=(W)=>{if(!W.includes("-")||W.startsWith("@")||W.startsWith(":")||W.startsWith("x-")||W.startsWith("__"))return W;if(W.startsWith("aria-")||W.startsWith("data-"))return W;return W.replace(/-([a-z0-9])/g,(K,z)=>z.toUpperCase())},q=(W,K)=>{let z=w(W);if(J.static[z]=K,z!==W)J.staticNames[z]=W};for(let[W,K]of Object.entries($)){let z=W.startsWith("x-")&&!Q.has(W)&&!W.startsWith("x-bind:")&&!W.startsWith("x-on:")?`:${W.slice(2)}`:W;if(z.startsWith("@")){J.events[z]=K;continue}if(z.startsWith("__stx_")){let U=w(z.slice(6));J.serverDynamic[U]=QQ(K,Z);continue}if(z.startsWith(":")){let U=w(z.slice(1)),B=K===H5?U:K;if(U==="if"||U==="for"||U==="show"){J.clientReactive[U]=B;continue}if(G(B)){J.clientReactive[U]=B;continue}try{if(!W0(B)){if(Z.debug)console.error(`Unsafe expression in :${U} binding: ${B}`);J.clientReactive[U]=B;continue}let j=Object.keys(X),_=K0(B,j)(...Object.values(X));if(_===void 0){let L=B.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],O=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(L.some((V)=>!O.has(V)&&!j.includes(V))){J.clientReactive[U]=B;continue}}if(J.serverDynamic[U]=_,U!==z.slice(1)&&J.serverDynamicNames)J.serverDynamicNames[U]=z.slice(1)}catch{J.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(W0(B)){let H=K0(B,Object.keys(X))(...Object.values(X));q(z,H!=null?String(H):"")}else{if(Z.debug)console.error(`Unsafe expression in ${z}: ${B}`);q(z,K)}}catch(B){if(Z.debug)console.error(`Error evaluating expression for ${z}:`,B);q(z,K)}else{let B=K,j=/\{\{\s*([\s\S]+?)\s*\}\}/g,H;while((H=j.exec(K))!==null)try{let _=H[1];if(!W0(_)){if(Z.debug)console.error(`Unsafe expression in ${z}: ${_}`);continue}let O=K0(_,Object.keys(X))(...Object.values(X));B=B.replace(H[0],String(O??""))}catch(_){if(Z.debug)console.error(`Error evaluating expression in ${z}:`,_)}q(z,B)}continue}q(z,K===H5?"true":GQ(K))}return J}function mH($,X,Z){if(!$.includes("@"))return $;if(!dH.some(([Y,G])=>Y.test($)&&$.includes(G)))return $;try{return I1($,X,Z)}catch{return $}}function cH($){let X={},Z=0,J=$.length;while(Z<J){while(Z<J&&/\s/.test($[Z]))Z++;if(Z>=J)break;let Y="";while(Z<J&&!/[\s=]/.test($[Z]))Y+=$[Z],Z++;if(!Y)break;while(Z<J&&/\s/.test($[Z]))Z++;if(Z<J&&$[Z]==="="){Z++;while(Z<J&&/\s/.test($[Z]))Z++;let G="";if(Z<J&&($[Z]==='"'||$[Z]==="'")){let Q=$[Z];Z++;while(Z<J){let w=$[Z];if(w==="\\"&&Z+1<J){Z++,G+=$[Z],Z++;continue}if(w===Q){Z++;break}G+=w,Z++}}else while(Z<J&&!/\s/.test($[Z]))G+=$[Z],Z++;X[Y]=G}else X[Y]=H5}return X}function WQ($){return Object.entries($).map(([X,Z])=>Z===H5?X:`${X}="${lH(Z)}"`).join(" ")}function lH($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function pH($){let X=new Set,Z=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,J;while((J=Z.exec($))!==null){let Y=J[1];if(n0.isBuiltin(Y))X.add(Y)}return[...X].sort()}function iH($){let X=KQ.get($);if(X)return X;let Z=new Map,J=[a0.join($,"src"),a0.join($,"dist"),$];function Y(G,Q){if(Q>6)return;let w;try{w=U9.readdirSync(G,{withFileTypes:!0})}catch{return}for(let q of w){let W=a0.join(G,q.name);if(q.isDirectory()){if(q.name==="node_modules"||q.name.startsWith("."))continue;Y(W,Q+1)}else if(q.isFile()&&q.name.endsWith(".stx")){let K=q.name.slice(0,-4);if(!Z.has(K))Z.set(K,W);let z=K.toLowerCase();if(!Z.has(z))Z.set(z,W);let U=K.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Z.has(U))Z.set(U,W)}}}for(let G of J)if(Y(G,0),Z.size>0)break;return KQ.set($,Z),Z}function nH($,X){if($.startsWith(".")||$.startsWith("/"))return null;let Z=X;while(!0){let J=a0.join(Z,"node_modules",$);try{if(U9.statSync(J).isDirectory())return J}catch{}let Y=a0.dirname(Z);if(Y===Z)return null;Z=Y}}async function UQ($,X,Z,J,Y){if(!$.includes("import"))return $;if(!X.__importedComponents)X.__importedComponents=new Map;let G=X.__importedComponents,Q=a0.dirname(Z),w=$,q=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return w=w.replace(q,(W,K,z)=>{let U=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,B=z,j,H=[];while((j=U.exec(z))!==null){let[_,L,O,F]=j,V=null,A=null;if(F.startsWith(".")||F.startsWith("/")){let T=a0.resolve(Q,F);if(T.endsWith(".stx"))A=T;else{let k=`${T}.stx`;try{if(U9.statSync(k).isFile())A=k}catch{try{if(U9.statSync(T).isDirectory())V=T}catch{}}}}else V=nH(F,Q);if(!V&&!A)continue;let N=!1,R=(T,k)=>{G.set(T,k),G.set(T.toLowerCase(),k);let M=T.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();G.set(M,k),Y.add(k)};if(O&&A)R(O,A),N=!0;else if(L){let T=L.slice(1,-1).split(",").map((M)=>M.trim()).filter(Boolean).map((M)=>{let E=M.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(E)return{source:E[1],local:E[2]};return{source:M,local:M}}),k=V?iH(V):null;for(let{source:M,local:E}of T){let I=null;if(A)I=A;else if(k)I=k.get(M)??k.get(M.toLowerCase())??k.get(M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(I)R(E,I),N=!0}}if(N)H.push({start:j.index,end:j.index+_.length})}if(H.length===0)return W;for(let _=H.length-1;_>=0;_--)B=B.slice(0,H[_].start)+B.slice(H[_].end);return`<script${K}>${B}</script>`}),w}async function rH($,X,Z,J,Y){let G=$;if(!X.__importedComponents)X.__importedComponents=new Map;let Q=X.__importedComponents,w=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=w.exec(G))!==null){let[W,K]=q,z=K.split(",").map((U)=>U.trim().replace(/^['"]|['"]$/g,"")).filter((U)=>U.length>0);for(let U of z){let B=U.split("/"),H=B[B.length-1].replace(/\.stx$/,""),_=H.includes("-")?H.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""):H.charAt(0).toUpperCase()+H.slice(1),L=null,O=[a0.resolve(a0.dirname(Z),`${U}.stx`),a0.resolve(a0.dirname(Z),U),a0.resolve(J.componentsDir||"components",`${U}.stx`),a0.resolve(J.componentsDir||"components",U),U.endsWith(".stx")?U:`${U}.stx`];for(let F of O)try{if(await Bun.file(F).exists()){L=F;break}}catch{}if(L){Q.set(_,L),Q.set(H,L),Q.set(H.toLowerCase(),L);let F=_.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(Q.set(F,L),Y.add(L),J.debug)console.log(`Imported component: ${_} -> ${L}`)}else if(J.debug)console.warn(`Could not resolve imported component: ${U}`)}G=G.replace(W,""),w.lastIndex=0}return G}async function oH($,X,Z,J,Y){let G=$,Q=J.componentsDir||"components";if(!X.__processedComponents)X.__processedComponents=new Set;let w=X.__processedComponents,q=/@component\s*\(/g,W;while((W=q.exec(G))!==null){let K=W.index,z=K+W[0].length-1,U=1,B=z+1;while(B<G.length&&U>0){if(G[B]==="(")U++;else if(G[B]===")"){if(U--,U===0)break}B++}if(U!==0)break;let j=G.substring(z+1,B),H=B+1,_=j.match(/^\s*['"]([^'"]+)['"]/);if(!_){q.lastIndex=0;continue}let L=_[1],O,F=j.slice(_[0].length),V=F.match(/^\s*,\s*/);if(V)O=F.slice(V[0].length).trim();let A={};if(O)try{A=D0(O,X)}catch(E){let I=E instanceof Error?E.message:String(E);G=G.replace(G.substring(K,H),`[Error parsing component props: ${I}]`);continue}let N="",R=H,k=G.substring(H).match(/^([\s\S]*?)@endcomponent/);if(k)N=k[1].trim(),R=H+k[0].length;let M=await q5(L,A,N,Q,X,Z,J,w,Y);G=G.substring(0,K)+M+G.substring(R),q.lastIndex=0}return G}async function sH($,X,Z,J,Y){if(!$)return $;let G=$,Q=J.componentsDir||"components";if(!X.__processedComponents)X.__processedComponents=new Set;let w=X.__processedComponents,q=U1(G);return G=q.output,G=await U(G,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),G=await U(G,/[A-Z][a-zA-Z0-9]*/,!0),G=await U(G,/[a-z][a-z0-9]*/,!1,hH),G=b5(G,q.scripts),G;async function U(B,j,H,_){if(!B)return B;let L=B,O=YQ(L,j,_);for(let F=O.length-1;F>=0;F--){let V=O[F],A=H?z9(V.tagName):V.tagName,N=cH(mH(V.attributes,X,Z)),R=uH(N,X,J),T=n0.getBuiltin(V.tagName),k=T?await H$(A,Q,X,Z,J):!1;if(T&&!k){let S={context:X,filePath:Z,options:J,dependencies:Y},b=T.render(R,V.content,S);if(Object.keys(R.clientReactive).length>0)b=zQ(b,R.clientReactive);if(Object.keys(R.events).length>0){let y=WQ(R.events);b=b.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${y}`)}L=L.substring(0,V.startIndex)+b+L.substring(V.endIndex);continue}if(!H&&V.tagName.includes("-")&&!await H$(A,Q,X,Z,J))continue;let M={};for(let[S,b]of Object.entries(R.static))M[S]=b;for(let[S,b]of Object.entries(R.serverDynamic))M[S]=b;let I=await q5(A,M,b5(V.content,q.scripts),Q,X,Z,J,w,Y);if(Object.keys(R.clientReactive).length>0)I=zQ(I,R.clientReactive);if(Object.keys(R.events).length>0){let S=jQ(I);if(S){let b=WQ(R.events),y=Object.keys(R.events).map((P)=>P.replace(/^@/,"").split(".")[0]).join(" ");I=I.substring(0,S.insertPos)+` data-stx-parent-events="${y}" ${b}`+I.substring(S.insertPos)}}L=L.substring(0,V.startIndex)+I+L.substring(V.endIndex)}return L}}function zQ($,X){let Z=new Set(["if","for"]),J=new Set(["show"]),Y=Object.entries(X).filter(([K])=>!Z.has(K)),G=Y.filter(([K])=>!J.has(K)).map(([K])=>z9(K)).join(" "),Q=$,w=Y.length>0?jQ(Q):null;if(w){let K=Y.map(([U,B])=>`:${z9(U)}="${B.replace(/"/g,""")}"`).join(" "),z=G?` data-stx-parent-bindings="${G}"`:"";Q=Q.substring(0,w.insertPos)+`${z} ${K}`+Q.substring(w.insertPos)}let q=X.if;if(q)Q=`<template :if="${q.replace(/"/g,""")}">${Q}</template>`;let W=X.for;if(W)Q=`<template :for="${W.replace(/"/g,""")}">${Q}</template>`;return Q}function jQ($){let X=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec($);if(X)return{insertPos:X.index+1+X[1].length};let Z=0;while(Z<$.length){let J=$.slice(Z),Y=J.match(/^\s+/);if(Y){Z+=Y[0].length;continue}if(J.startsWith("<!--")){let w=$.indexOf("-->",Z+4);if(w===-1)return null;Z=w+3;continue}let G=J.match(/^<(script|style)\b[^>]*>/i);if(G){let w=`</${G[1].toLowerCase()}>`,q=$.toLowerCase().indexOf(w,Z+G[0].length);if(q===-1)return null;Z=q+w.length;continue}let Q=J.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!Q)return null;return{insertPos:Z+1+Q[1].length}}return null}async function j9($,X,Z,J,Y){if(!qQ)ZQ(),qQ=!0;let G=await UQ($,X,Z,J,Y);G=await rH(G,X,Z,J,Y),G=await oH(G,X,Z,J,Y);let Q=[];for(let w=0;w<3;w++){let q=z1(G,f7,(K,z)=>`\x00STX_COMPONENT_COMMENT_${Q.length+z}\x00`);Q.push(...q.tokens);let W=G;if(G=await sH(q.output,X,Z,J,Y),G===W)break}if(Q.length>0)G=G.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(w,q)=>Q[Number(q)]??"");if(J.debug){let w=pH(G);if(w.length>0)console.warn(`[stx] ${Z}: unresolved component tag(s) after render passes: ${w.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return G}var qQ=!1,hH,dH,KQ;var d3=D(()=>{H3();e7();JQ();wQ();v1();A0();y0();Z1();hH=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","component","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"]);dH=[[/@if\s*\(/,"@endif"],[/@unless\s*\(/,"@endunless"]];KQ=new Map});var AQ={};t(AQ,{processLoops:()=>c3,parseLoopBinding:()=>m3});function eH($,X){let Z=/@(include|partial)\s*\(\s*(['"])([^'"]+)\2\s*,\s*/g,J="",Y=0,G;while((G=Z.exec($))!==null){let Q=G.index+G[0].length,w=G.index+G[0].indexOf("("),q=P0($,"(",")",w);if(q===-1)continue;let W=$.slice(Q,q).trim();if(!W)continue;if(!Object.keys(X).some((U)=>new RegExp(`(?:^|[^\\w$.])${U.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w$])`).test(W)))continue;let z;try{let U=D0(W,X);if(!U||typeof U!=="object")continue;z=JSON.stringify(U)}catch{continue}J+=$.slice(Y,Q)+z,Y=q,Z.lastIndex=q}return Y===0?$:J+$.slice(Y)}function $_($,X){let Z=/@component\s*\(/g,J=$,Y,G=[];while((Y=Z.exec(J))!==null){let Q=Y.index,w=Q+Y[0].length-1,q=1,W=w+1;while(W<J.length&&q>0){if(J[W]==="(")q++;else if(J[W]===")"){if(q--,q===0)break}W++}if(q!==0)continue;let K=J.substring(w+1,W),z=W+1,U=K.match(/^\s*['"]([^'"]+)['"]/);if(!U)continue;let B=U[1],j=K.slice(U[0].length),H=j.match(/^\s*,\s*/);if(!H)continue;let _=j.slice(H[0].length).trim();if(!_)continue;try{let L=D0(_,X),O=JSON.stringify(L),F=`@component('${B}', ${O})`;G.push({start:Q,end:z,replacement:F})}catch{continue}}for(let Q=G.length-1;Q>=0;Q--){let{start:w,end:q,replacement:W}=G[Q];J=J.substring(0,w)+W+J.substring(q)}return J}function B9($,X,Z){let J=$,Y=new RegExp(`${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),G;while((G=Y.exec(J))!==null){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1,K=null,z=!1;while(W<J.length&&q>0){let j=J[W];if(z){z=!1,W++;continue}if(j==="\\"&&K){z=!0,W++;continue}if(K){if(j===K)K=null;W++;continue}if(j==='"'||j==="'"||j==="`"){K=j,W++;continue}if(j==="(")q++;else if(j===")"){if(q--,q===0)break}W++}if(q!==0)break;let U=J.substring(w+1,W),B=Z(U);J=J.substring(0,Q)+B+J.substring(W+1)}return J}function X_($,X){let Z=$;return Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(J,Y)=>{if(Y in X)return`:${Y}="${Y}"`;return J}),Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(J,Y,G)=>{try{let Q=Object.keys(X),w=Object.values(X);x8(G);let W=K0(G,Q)(...w),K=JSON.stringify(W),z=Buffer.from(K,"utf8").toString("base64");return`__stx_${Y}="${z}"`}catch(Q){return J}}),Z}function Z_($,X){let Z=$;return Z=B9(Z,"@break",(J)=>{try{let G=`!!(${J.trim()})`,Q;if(W0(G)){let w=K0(G,Object.keys(X));Q=Boolean(w(...Object.values(X)))}else Q=Boolean(w0(G,X));return Q?H9:""}catch{return""}}),Z=B9(Z,"@continue",(J)=>{try{let G=`!!(${J.trim()})`,Q;if(W0(G)){let w=K0(G,Object.keys(X));Q=Boolean(w(...Object.values(X)))}else Q=Boolean(w0(G,X));return Q?_9:""}catch{return""}}),Z}function J_($){let X=$;return X=X.replace(/@break(?!\()/g,H9),X=X.replace(/@continue(?!\()/g,_9),X}function HQ($){let X=$.includes(H9),Z=X?$.substring(0,$.indexOf(H9)):$;return{hasBreak:X,content:Z}}function _Q($){let X=$.includes(_9),Z=X?$.substring(0,$.indexOf(_9)):$;return{hasContinue:X,content:Z}}function LQ($){let X=$;return X=B9(X,"@break",(Z)=>{let J=Z.trim();if(!f8(J))return"";return`\`; if (${J}) { break; } result += \``}),X=B9(X,"@continue",(Z)=>{let J=Z.trim();if(!f8(J))return"";return`\`; if (${J}) { continue; } result += \``}),X=X.replace(/@break(?!\()/g,"`; break; result += `"),X=X.replace(/@continue(?!\()/g,"`; continue; result += `"),X}function Y_($){let X=/@forelse\s*\(/g,Z,J=[],Y=/@foreach\s*\(/g,G=/@endforeach/g,Q;while((Q=Y.exec($))!==null)J.push({pos:Q.index,delta:1});while((Q=G.exec($))!==null)J.push({pos:Q.index,delta:-1});J.sort((K,z)=>K.pos-z.pos);let w=[],q=0;for(let K of J)q+=K.delta,w.push({pos:K.pos,depth:q});function W(K){let z=0,U=w.length-1,B=0;while(z<=U){let j=z+U>>1;if(w[j].pos<=K)B=w[j].depth,z=j+1;else U=j-1}return B}while((Z=X.exec($))!==null){if(W(Z.index)>0)continue;let K=Z.index,z=Z.index+Z[0].length-1,U=1,B=z+1,j=-1;while(B<$.length&&U>0){if($[B]==="(")U++;else if($[B]===")"){if(U--,U===0){j=B;break}}B++}if(j===-1)continue;let H=$.substring(z+1,j),_=m3(H);if(!_)continue;let{arrayExpr:L,itemVar:O}=_,F=j+1,V=1,A=F,N=/@forelse\s*\(/g,R=/@endforelse/g,T=-1;while(V>0&&A<$.length){N.lastIndex=A,R.lastIndex=A;let b=N.exec($),y=R.exec($);if(!y)break;if(b&&b.index<y.index)V++,A=b.index+b[0].length;else{if(V--,V===0){T=y.index;break}A=y.index+11}}if(T===-1)continue;let k=$.substring(F,T),M=T+11,E=-1,I=0,S=0;while(S<k.length){let b=k.indexOf("@",S);if(b===-1)break;let y=k.substring(b);if(/^@forelse\s*\(/.test(y))I++,S=b+1;else if(y.startsWith("@endforelse"))I--,S=b+11;else if(I===0&&y.startsWith("@empty")){if(k.length<=b+6||!/[a-z]/i.test(k[b+6])){E=b;break}S=b+1}else S=b+1}if(E===-1)continue;return{start:K,end:M,arrayExpr:L,itemVar:O,foreachContent:k.substring(0,E),emptyContent:k.substring(E+6)}}return null}function OQ($,X){let Z=$;while(!0){let J=Y_(Z);if(!J)break;let{start:Y,end:G,arrayExpr:Q,itemVar:w,foreachContent:q,emptyContent:W}=J;try{let K;if(W0(Q))K=K0(Q,Object.keys(X))(...Object.values(X));else K=w0(Q,X);let z;if(!Array.isArray(K)||K.length===0)z=W;else z=`@foreach (${Q} as ${w})${q}@endforeach`;Z=Z.substring(0,Y)+z+Z.substring(G)}catch(K){let z=K instanceof Error?K.message:String(K),U=J0("Forelse",`Error in @forelse(${Q} as ${w}): ${z}`,o.EVALUATION_ERROR);Z=Z.substring(0,Y)+U+Z.substring(G)}}return Z}function m3($){let X=$.indexOf(" as ");if(X!==-1){let G=$.slice(0,X).trim(),Q=$.slice(X+4).trim();return G&&Q?{arrayExpr:G,itemVar:Q}:null}let Z=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec($);if(!Z)return null;let J=Z[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),Y=Z[2].trim();return J&&Y?{arrayExpr:Y,itemVar:J}:null}function c3($,X,Z,J){let Y=$;Y=OQ(Y,X);function G(q){let W=/@foreach\s*\(/g,K;while((K=W.exec(q))!==null){let z=K.index,U=K.index+K[0].length-1,B=1,j=U+1,H=-1;while(j<q.length&&B>0){if(q[j]==="(")B++;else if(q[j]===")"){if(B--,B===0){H=j;break}}j++}if(H===-1)continue;let _=q.substring(U+1,H),L=m3(_);if(!L)continue;let O=z,{arrayExpr:F,itemVar:V}=L,A=H+1,N=1,R=A,T=/@foreach\s*\(/g,k=/@endforeach/g;while(N>0&&R<q.length){T.lastIndex=R,k.lastIndex=R;let M=T.exec(q),E=k.exec(q);if(!E)break;if(M&&M.index<E.index)N++,R=M.index+M[0].length;else{if(N--,N===0){let I=q.substring(A,E.index),S=E.index+11;return{start:O,end:S,arrayExpr:F,itemVar:V,content:I}}R=E.index+11}}}return null}function Q(q,W){let K=q;while(!0){let z=G(K);if(!z)break;let{start:U,end:B,arrayExpr:j,itemVar:H,content:_}=z;try{let L=j.trim(),O;if(W0(L))O=K0(L,Object.keys(W))(...Object.values(W));else O=w0(L,W);let F=!1;if(!Array.isArray(O))if(O instanceof Map)O=Array.from(O),F=!0;else if(O instanceof Set)O=Array.from(O);else if(typeof O==="string")O=Array.from(O);else if(O&&typeof O==="object"&&!(O instanceof Date)&&!(O instanceof RegExp))O=Object.entries(O),F=!0;else{console.warn(`[stx] @foreach(${L}) in ${Z}: ${L} is not iterable server-side, so the loop rendered nothing. `+"Values a server loop reads must come from <script server> or the page context \u2014 "+"a plain <script> runs in the browser.");let E=J0("Foreach",`Error in @foreach: ${L} is not iterable`,o.TYPE_ERROR);K=K.substring(0,U)+E+K.substring(B);continue}let V=J?.loops?.useAltLoopVariable??tH,A=H.trim(),N=null,R,T=!1;if(A.includes("=>")){let E=A.split("=>").map((I)=>I.trim());if(E.length===2&&E[0]&&E[1])N=E[0],R=E[1];else R=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let E=A.split(",").map((I)=>I.trim());if(E.length===2&&E[0]&&E[1])R=E[0],N=E[1],T=!0;else R=A}else R=A;let k="",M=O;for(let E=0;E<M.length;E++){let I=M[E],S={index:E,iteration:E+1,first:E===0,last:E===M.length-1,count:M.length},b={...W,loop:S,$loop:S};if(R.startsWith("[")&&R.endsWith("]")){let f=R.slice(1,-1).split(",").map((u)=>u.trim());if(Array.isArray(I))f.forEach((u,l)=>{if(u)b[u]=I[l]});else b[R]=I}else b[R]=I;if(N)if(!T&&F&&Array.isArray(I)&&I.length===2)b[N]=I[0],b[R]=I[1];else b[N]=E;let y=Z_(_,b),P=_Q(y);if(P.hasContinue){k+=P.content;continue}let x=HQ(y);if(x.hasBreak){k+=x.content;break}if(y=OQ(y,b),y=Q(y,b),y=I1(y,b,Z),y=J_(y),x=HQ(y),x.hasBreak){k+=x.content;break}if(P=_Q(y),P.hasContinue){k+=P.content;continue}y=x1(y,b,Z),y=X_(y,b),y=$_(y,b),y=eH(y,b),k+=y}K=K.substring(0,U)+k+K.substring(B)}catch(L){let O=J0("Foreach",`Error in @foreach(${j.trim()} as ${H.trim()}): ${L instanceof Error?L.message:String(L)}`,o.EVALUATION_ERROR);K=K.substring(0,U)+O+K.substring(B)}}return K}Y=Q(Y,X),Y=VQ(Y,X,Z,J);let w=J?.loops?.maxWhileIterations??aH;return Y=w_(Y,X,w),Y}function FQ($){return f8($)}function VQ($,X,Z,J){let Y=$,G=!0;while(G){G=!1;let Q=Y.match(/@for\s*\(/);if(!Q||Q.index===void 0)break;let w=Q.index,q=w+Q[0].length-1,W=P0(Y,"(",")",q);if(W===-1)break;let K=Y.slice(q+1,W),z=W+1,U=i8(Y.slice(w),"for","endfor");if(U.length===0)break;let B=U[0].content,j=w+U[0].end;if(!FQ(K)){let H=J0("For",`Unsafe expression in @for: ${K}`,o.UNSAFE_EXPRESSION);Y=Y.substring(0,w)+H+Y.substring(j),G=!0;continue}try{let H=G_(K),_=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(H.length>0&&_){let N=Q_({forExpr:K,content:B,iterVarNames:H,context:X,filePath:Z,options:J});Y=Y.substring(0,w)+N+Y.substring(j),G=!0;continue}let L=Object.keys(X),O=Object.values(X),F=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(N,R)=>{return`\${${R}}`});F=LQ(F);let A=Function(...L,`
|
|
12561
12561
|
let result = '';
|
|
12562
12562
|
for (${K}) {
|
|
12563
12563
|
result += \`${F}\`;
|
|
12564
12564
|
}
|
|
12565
12565
|
return result;
|
|
12566
|
-
`)(...O);Y=Y.substring(0,w)+A+Y.substring(j),G=!0}catch(
|
|
12566
|
+
`)(...O);Y=Y.substring(0,w)+A+Y.substring(j),G=!0}catch(H){let _=J0("For",`Error in @for(${K}): ${H instanceof Error?H.message:String(H)}`,o.EVALUATION_ERROR);Y=Y.substring(0,w)+_+Y.substring(j),G=!0}}return Y}function G_($){let X=$.trim(),Z=X.match(/^(?:const|let|var)\s+(\[[^\]]+\]|\{[^}]+\})\s+(?:of|in)\s+/);if(Z){let G=Z[1];return G.slice(1,-1).split(",").map((w)=>{let q=w.trim();if(!q)return"";let W=q.indexOf(":");if(W>=0&&G.startsWith("{")){let U=q.slice(W+1).trim(),B=U.indexOf("=");return(B>=0?U.slice(0,B):U).trim()}let K=q.indexOf("="),z=(K>=0?q.slice(0,K):q).trim();return/^[A-Za-z_$][\w$]*$/.test(z)?z:""}).filter(Boolean)}let J=X.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s+(?:of|in)\s+/);if(J)return[J[1]];let Y=X.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=[^;]*;/);if(Y)return[Y[1]];return[]}function Q_($){let{forExpr:X,content:Z,iterVarNames:J,context:Y,filePath:G,options:Q}=$,w=Object.keys(Y),q=Object.values(Y),W=Function(...w,"__pushIter",`
|
|
12567
12567
|
for (${X}) {
|
|
12568
12568
|
__pushIter([${J.join(", ")}])
|
|
12569
12569
|
}
|
|
12570
|
-
`),K=[];W(...q,(B)=>{K.push(B)});let z=G??"inline.stx",U="";for(let B of K){let j={...Y};J.forEach((
|
|
12570
|
+
`),K=[];W(...q,(B)=>{K.push(B)});let z=G??"inline.stx",U="";for(let B of K){let j={...Y};J.forEach((_,L)=>{j[_]=B[L]});let H=VQ(Z,j,G,Q);H=I1(H,j,z),H=x1(H,j,z),U+=H}return U}function w_($,X,Z){let J=$,Y=!0;while(Y){Y=!1;let G=J.match(/@while\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,w=Q+G[0].length-1,q=P0(J,"(",")",w);if(q===-1)break;let W=J.slice(w+1,q),K=i8(J.slice(Q),"while","endwhile");if(K.length===0)break;let z=K[0].content,U=Q+K[0].end;if(!FQ(W)){let B=J0("While",`Unsafe expression in @while: ${W}`,o.UNSAFE_EXPRESSION);J=J.substring(0,Q)+B+J.substring(U),Y=!0;continue}try{let B=Object.keys(X),j=Object.values(X),H=z.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(O,F)=>{return`\${${F}}`});H=LQ(H);let L=Function(...B,`
|
|
12571
12571
|
let result = '';
|
|
12572
12572
|
let maxIterations = ${Z}; // Configurable safety limit
|
|
12573
12573
|
let counter = 0;
|
|
12574
12574
|
while (${W} && counter < maxIterations) {
|
|
12575
12575
|
counter++;
|
|
12576
|
-
result += \`${
|
|
12576
|
+
result += \`${H}\`;
|
|
12577
12577
|
}
|
|
12578
12578
|
if (counter > maxIterations) {
|
|
12579
12579
|
result += '<!-- [While Error [1104]]: Maximum iterations (${Z}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
|
|
12580
12580
|
}
|
|
12581
12581
|
return result;
|
|
12582
|
-
`)(...j);J=J.substring(0,Q)+L+J.substring(U),Y=!0}catch(B){let j=J0("While",`Error in @while(${W}): ${B instanceof Error?B.message:String(B)}`,o.EVALUATION_ERROR);J=J.substring(0,Q)+j+J.substring(U),Y=!0}}return J}var
|
|
12583
|
-
`)G++;return!0}if(X[G]==="/"&&X[G+1]==="*"){G+=2;while(G<Q-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;return G+=2,!0}return!1},K=()=>{if(Y!==0)return;let z=X.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let j=z[2];if(!J.has(j))Z.push(j),J.add(j);return}let U=X.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(U){let j=U[1];if(!J.has(j))Z.push(j),J.add(j);return}let B=X.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!J.has(j))Z.push(j),J.add(j)}};while(G<Q){if(W())continue;if(X[G]==="'"||X[G]==='"'){w(X[G]);continue}if(X[G]==="`"){q();continue}if(X[G]==="{"){Y++,G++;continue}if(X[G]==="}"){Y--,G++;continue}if(Y===0&&/[a-z]/i.test(X[G])&&(G===0||/\s|[;{}()]/.test(X[G-1])))K();G++}return Z.join(", ")}function
|
|
12582
|
+
`)(...j);J=J.substring(0,Q)+L+J.substring(U),Y=!0}catch(B){let j=J0("While",`Error in @while(${W}): ${B instanceof Error?B.message:String(B)}`,o.EVALUATION_ERROR);J=J.substring(0,Q)+j+J.substring(U),Y=!0}}return J}var aH=1000,tH=!1,H9="<!--__STX_BREAK__-->",_9="<!--__STX_CONTINUE__-->";var l3=D(()=>{e7();M1();j1();n8();y0()});import L0 from"path";function p3($,X){let Z=0;for(let J=X;J<$.length;J++){let Y=$[J];if(Y==="("||Y==="["||Y==="{")Z++;else if(Y===")"||Y==="]"||Y==="}")Z--;else if(Y===","&&Z===0)return J}return-1}function q_($,X,Z){let J=$,Y=new RegExp(`${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),G=Y.exec(J);while(G){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1;while(W<J.length&&q>0){if(J[W]==="(")q++;else if(J[W]===")")q--;W++}if(q!==0)break;let K=J.substring(w+1,W-1),z=`${Z}(${K})`;J=J.substring(0,Q)+z+J.substring(W),Y.lastIndex=Q+z.length,G=Y.exec(J)}return J}function W_($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function NQ($){let X=$,Z=[],J=new Set,Y=0,G=0,Q=X.length,w=(z)=>{G++;while(G<Q){if(X[G]==="\\"){G+=2;continue}if(X[G]===z){G++;return}G++}},q=()=>{G++;while(G<Q){if(X[G]==="\\"){G+=2;continue}if(X[G]==="`"){G++;return}if(X[G]==="$"&&X[G+1]==="{"){G+=2;let z=1;while(G<Q&&z>0)if(X[G]==="{")z++,G++;else if(X[G]==="}")z--,G++;else if(X[G]==="'"||X[G]==='"')w(X[G]);else if(X[G]==="`")q();else G++;continue}G++}},W=()=>{if(X[G]==="/"&&X[G+1]==="/"){while(G<Q&&X[G]!==`
|
|
12583
|
+
`)G++;return!0}if(X[G]==="/"&&X[G+1]==="*"){G+=2;while(G<Q-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;return G+=2,!0}return!1},K=()=>{if(Y!==0)return;let z=X.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let j=z[2];if(!J.has(j))Z.push(j),J.add(j);return}let U=X.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(U){let j=U[1];if(!J.has(j))Z.push(j),J.add(j);return}let B=X.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!J.has(j))Z.push(j),J.add(j)}};while(G<Q){if(W())continue;if(X[G]==="'"||X[G]==='"'){w(X[G]);continue}if(X[G]==="`"){q();continue}if(X[G]==="{"){Y++,G++;continue}if(X[G]==="}"){Y--,G++;continue}if(Y===0&&/[a-z]/i.test(X[G])&&(G===0||/\s|[;{}()]/.test(X[G-1])))K();G++}return Z.join(", ")}function TQ($,X=""){let Z=NQ($).split(",").map((J)=>J.trim()).filter(Boolean);return`
|
|
12584
12584
|
(function() {
|
|
12585
|
-
${
|
|
12585
|
+
${k5("var",Z)}
|
|
12586
12586
|
var __destroyHooks = [];
|
|
12587
12587
|
var __origOnDestroy = onDestroy;
|
|
12588
12588
|
onDestroy = function(fn) { __origOnDestroy(fn); __destroyHooks.push(fn); };
|
|
12589
12589
|
|
|
12590
12590
|
${$}
|
|
12591
12591
|
${X}})();
|
|
12592
|
-
`}function
|
|
12592
|
+
`}function MQ($,X){return`
|
|
12593
12593
|
// Register scope variables for STX runtime
|
|
12594
12594
|
if (!window.stx._scopes) window.stx._scopes = {};
|
|
12595
12595
|
var __scopeRegistration = { __destroyCallbacks: __destroyHooks };
|
|
12596
|
-
${
|
|
12596
|
+
${NQ($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeRegistration[${JSON.stringify(G)}] = ${G}; } catch (e) { /* not actually top-level */ }`).join(`
|
|
12597
12597
|
`)}
|
|
12598
12598
|
// #1767: when the bundler renamed a component const that collided with an
|
|
12599
12599
|
// inlined import (foo -> foo2), rebind the ORIGINAL template name to the
|
|
@@ -12601,7 +12601,7 @@ ${RQ($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
|
|
|
12601
12601
|
// shadowing import. __stxScopeRenames is emitted by bundleClientScript.
|
|
12602
12602
|
try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
|
|
12603
12603
|
window.stx._scopes['${X}'] = __scopeRegistration;
|
|
12604
|
-
`}function
|
|
12604
|
+
`}function K_($,X){let Z=MQ($,X),J=`
|
|
12605
12605
|
(function() {
|
|
12606
12606
|
var __stxScopeEl = (typeof document !== 'undefined') ? document.querySelector('[data-stx-scope="${X}"]') : null;
|
|
12607
12607
|
var __stxPrevEl = (typeof window !== 'undefined') ? window.__STX_CURRENT_ELEMENT__ : undefined;
|
|
@@ -12610,37 +12610,37 @@ ${RQ($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
|
|
|
12610
12610
|
} finally {
|
|
12611
12611
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
12612
12612
|
}
|
|
12613
|
-
})();`;return J+
|
|
12613
|
+
})();`;return J+TQ($,Z)+`
|
|
12614
12614
|
} finally {
|
|
12615
12615
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
12616
12616
|
}
|
|
12617
|
-
})();`}function
|
|
12618
|
-
`;continue}if(
|
|
12619
|
-
`}}if(y){let f=
|
|
12617
|
+
})();`}function z_($,X){let Z=$.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(Z){let Y=(Z[2]+Z[3]).match(/data-stx-scope="([^"]*)"/);if(Y)return{html:$,mergedIntoExisting:Y[1]};let G=Z[1],Q=Z[2],w=Z[3];return{html:`${G}${Q} data-stx-scope="${X}"${w}${$.slice(Z[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function j_($){if($.__onceStore instanceof Set)return $.__onceStore;return U_}async function i3($,X,Z,J,Y,G=new Set){let Q=J.partialsDir||L0.join(L0.dirname(Z),"partials");if(Q&&!L0.isAbsolute(Q))Q=L0.resolve(process.cwd(),Q);let w=q_($,"@partial","@include"),q=j_(X);w=w.replace(/@once([\s\S]*?)@endonce/g,(H,_,L)=>{let O=_.trim(),F=`${Z}:${O}`;if(q.has(F))return"";return q.add(F),_});{let H=/@includeIf\s*\(/g,_;while((_=H.exec(w))!==null){let L=_.index,O=L+_[0].length-1,F=1,V=O+1;while(V<w.length&&F>0){if(w[V]==="(")F++;else if(w[V]===")")F--;V++}if(F!==0)break;let A=w.substring(O+1,V-1),N=A.match(/^\s*['"]([^'"]+)['"]/);if(!N){H.lastIndex=V;continue}let R=N[1],T=W(R,Q,Z),k="";if(T&&await Bun.file(T).exists())Y.add(T),k=`@include(${A})`;w=w.substring(0,L)+k+w.substring(V),H.lastIndex=0}}for(let[H,_]of[["@includeWhen",!1],["@includeUnless",!0]]){let L=new RegExp(`${H.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),O;while((O=L.exec(w))!==null){let F=O.index,V=F+O[0].length-1,A=1,N=V+1;while(N<w.length&&A>0){if(w[N]==="(")A++;else if(w[N]===")")A--;N++}if(A!==0)break;let R=w.substring(V+1,N-1),T=p3(R,0);if(T===-1){L.lastIndex=N;continue}let k=R.substring(0,T).trim(),M=R.substring(T+1).trim(),E=M.match(/^\s*['"]([^'"]+)['"]/);if(!E){L.lastIndex=N;continue}let I=E[1],S=M.substring(E[0].length),b,y=p3(S,0);if(y!==-1)b=S.substring(y+1).trim();try{let P=`Boolean(${k})`,x;if(W0(P)){let l=K0(P,Object.keys(X));x=Boolean(l(...Object.values(X)))}else x=Boolean(w0(P,X));let f=_?!x:x,u="";if(f){let l=W(I,Q,Z);if(l&&await Bun.file(l).exists())Y.add(l);u=`@include('${I}'${b?`, ${b}`:""})`}w=w.substring(0,F)+u+w.substring(N),L.lastIndex=0}catch(P){let x=P instanceof Error?P.message:String(P),f=O0("Include",`Error evaluating ${H} condition: ${x}`,Z,$,F);w=w.substring(0,F)+f+w.substring(N),L.lastIndex=0}}}{let H=/@each\s*\(/g,_;while((_=H.exec(w))!==null){let L=_.index,O=L+_[0].length-1,F=1,V=O+1;while(V<w.length&&F>0){if(w[V]==="(")F++;else if(w[V]===")"){if(F--,F===0)break}V++}if(F!==0)break;let A=w.substring(O+1,V),N=w.substring(L,V+1),R=A.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!R){H.lastIndex=0,w=w.replace(N,"");continue}let[,T,k,M,E]=R;try{let I,S=k.trim();if(W0(S))I=K0(S,Object.keys(X))(...Object.values(X));else I=w0(S,X);let b="";if(Array.isArray(I)&&I.length>0)for(let y of I){let P={...X,[M]:y},x=await U(T,P,$,L);b+=x}else if(E)b=await U(E,{},$,L);w=w.substring(0,L)+b+w.substring(V+1),H.lastIndex=0}catch(I){let S=I instanceof Error?I.message:String(I);w=w.substring(0,L)+O0("Each",`Error in @each: ${S}`,Z,$,L)+w.substring(V+1),H.lastIndex=0}}}{let H=/@includeFirst\s*\(/g,_;while((_=H.exec(w))!==null){let L=_.index,O=L+_[0].length-1,F=1,V=O+1;while(V<w.length&&F>0){if(w[V]==="(")F++;else if(w[V]===")"){if(F--,F===0)break}V++}if(F!==0)break;let A=w.substring(O+1,V),N=w.substring(L,V+1),R=A.match(/^\s*(\[[^\]]+\])/);if(!R){H.lastIndex=0,w=w.replace(N,"");continue}let T=R[1],k=A.slice(R[0].length),M,E=k.match(/^\s*,\s*\{/);if(E){k=k.slice(E[0].length-1);let b=1,y=1;while(y<k.length&&b>0){if(k[y]==="{")b++;else if(k[y]==="}"){if(b--,b===0)break}y++}M=k.substring(0,y+1),k=k.slice(y+1)}let I,S=k.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(S)I=S[1];try{let b=JSON.parse(T.replace(/'/g,'"')),y={};if(M)try{y=D0(M,X)}catch(x){let f=x instanceof Error?x.message:String(x);if(J.debug){let u=O0("Include",`Error parsing includeFirst variables: ${f}`,Z,$,L,N);w=w.replace(N,()=>u)}else w=w.replace(N,()=>I||"");continue}let P=!1;for(let x of b){let f=W(x,Q,Z);if(!f)continue;if(await i(f)){let u=await U(x,y,$,L);w=w.replace(N,()=>u),P=!0;break}}if(!P)if(I!==void 0)w=w.replace(N,()=>I);else if(J.debug){let x=O0("Include",`None of the includeFirst paths exist: ${T}`,Z,$,L,N);w=w.replace(N,()=>x)}else w=w.replace(N,"")}catch(b){let y=b instanceof Error?b.message:String(b),P=O0("Include",`Error processing @includeFirst: ${y}`,Z,$,L,N);w=w.replace(N,()=>P)}H.lastIndex=0}}function W(H,_,L){try{let O=H;if(!H.endsWith(".stx"))O=`${H}.stx`;let F=L0.resolve(_),V=L0.resolve(L0.dirname(L)),A;if(!O.startsWith("./")&&!O.startsWith("../"))A=L0.resolve(_,O);else A=L0.resolve(V,O);let N=L0.normalize(A),R=N.startsWith(F+L0.sep)||N===F,T=N.startsWith(V+L0.sep)||N===V,k=!1,M=L0.dirname(V);if(N.startsWith(M+L0.sep)){if(!L0.relative(M,N).split(L0.sep).some((b)=>b.startsWith(".")&&b!=="."&&b!==".."))k=!0}if(!R&&!T&&!k)return console.error(`Security: Path traversal attempt blocked for include path: ${H}`),console.error(` Resolved to: ${N}`),console.error(` Allowed dirs: ${F}, ${V}`),null;return N}catch(O){return console.error(`Error resolving path ${H}: ${O}`),null}}let K=L0.resolve(Z);G.add(K);function z(H,_,L,O){return J.onIncludeError?.({includePath:H,templatePath:Z,message:_,partialsDir:Q}),O0("Include",_,Z,L,O)}async function U(H,_={},L,O){let F=W(H,Q,Z);if(!F)return z(H,`Could not resolve path for include: ${H}`,L,O);let V=L0.resolve(F);if(G.has(V)){let A=[...G,V].map((N)=>L0.basename(N)).join(" -> ");return z(H,`Circular include detected: ${A}`,L,O)}try{Y.add(F);let A;if(!A)try{A=await Bun.file(F).text()}catch(f){let u=f instanceof Error?f.message:String(f);return z(H,`Error loading include file ${H}: ${u}`,L,O)}if(A)A=A.replace(/\{\{--[\s\S]*?--\}\}/g,"");if(A&&A.includes("@stream")){let{processStreamDirectives:f}=await Promise.resolve().then(() => (z3(),K3));A=f(A,X)}if(A&&(J.debug||!r7()&&!d$()))try{let{warnUnbalancedTags:f}=await Promise.resolve().then(() => (j3(),cG));f(A,F)}catch{}let N=A;try{let{processESImports:f}=await Promise.resolve().then(() => (d3(),BQ));await f(A,X,F,J,Y)}catch(f){if(J.debug)console.warn(`[stx] partial ES import extraction skipped for ${F}:`,f instanceof Error?f.message:f)}let R=m8(N);if(R)N=R.content.trim();let k=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),M="";if(k)M=`<style${k[1]}>${k[2]}</style>`;N=N.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),N=N.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let E={...X};E.__stx_signals_gate=N1(A);for(let[f,u]of Object.entries(_))E[f]=u;let I=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...A.matchAll(I)],b="",y=null;for(let f of S){let u=f[1]||"",l=f[2]||"",_0=u.includes("server"),S0=$5(u),z0="";try{let{extractAndStripCssImports:d,renderVendorStyleTags:Y0}=await Promise.resolve().then(() => (x7(),x2)),Q0=d(l,{filePath:F,projectRoot:process.cwd()});l=Q0.code,z0=Y0(Q0.styles)}catch(d){if(J.debug)console.warn(`[stx] vendor-css extractor skipped for ${F}:`,d instanceof Error?d.message:d)}if(S0&&l.trim())l=X5(l);if(!_0)try{let{hasUserImports:d,bundleClientScript:Y0}=await Promise.resolve().then(() => (E5(),b7));if(d(l))l=await Y0(l,F,{projectRoot:process.cwd()})}catch(d){if(J.debug)console.warn(`[stx] bundler skipped for ${F}:`,d instanceof Error?d.message:d)}let k0=W_(l);if(k0&&!_0){y=`stx_scope_${L0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++RQ}`;let d=r0(l),Y0=K_(d,y);b+=`${z0}<script data-stx-scoped data-stx-run="always">${Y0}</script>
|
|
12618
|
+
`;continue}if(_0)try{let{extractVariables:d}=await Promise.resolve().then(() => (d7(),p8));await d(l,E,F)}catch(d){if(J.debug)console.warn(`Warning: Could not extract variables from server script in ${F}:`,d)}if(!_0&&!k0){let d=u.replace(/\bclient\b/i,"").trim();y=`stx_scope_${L0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++RQ}`;let Y0=r0(l),Q0=MQ(Y0,y),d0=TQ(Y0,Q0);b+=`${z0}<script data-stx-scoped data-stx-run="always"${d?` ${d}`:""}>${d0}</script>
|
|
12619
|
+
`}}if(y){let f=z_(N,y);if(N=f.html,f.mergedIntoExisting)b=b.replace(`window.stx._scopes['${y}']`,`window.stx._scopes['${f.mergedIntoExisting}']`),y=f.mergedIntoExisting}if(N.includes("@include")||N.includes("@partial"))N=await i3(N,E,F,J,Y,G);let{processLoops:P}=await Promise.resolve().then(() => (l3(),AQ)),x=P(N,E,F);if(x=I1(x,E,F),x=x1(x,E,F),M)x+=`
|
|
12620
12620
|
`+M;if(b)x+=`
|
|
12621
|
-
`+b;return x}catch(A){let
|
|
12622
|
-
`)})}var
|
|
12623
|
-
${
|
|
12621
|
+
`+b;return x}catch(A){let N=A instanceof Error?A.message:String(A);return z(H,`Error processing include ${H}: ${N}`,L,O)}}let B=/@include\s*\(/g,j;while((j=B.exec(w))!==null){let H=j.index,_=H+j[0].length-1,L=1,O=_+1;while(O<w.length&&L>0){if(w[O]==="(")L++;else if(w[O]===")")L--;O++}if(L!==0)break;let F=w.substring(H,O),V=w.substring(_+1,O-1),A=V.match(/^\s*['"]([^'"]+)['"]/);if(!A){B.lastIndex=O;continue}let N=A[1],R,T=V.substring(A[0].length),k=p3(T,0);if(k!==-1)R=T.substring(k+1).trim();let M={};if(R)try{M=D0(R,X)}catch(I){let S=I instanceof Error?I.message:String(I);w=w.replace(F,O0("Include",`Error parsing include variables for ${N}: ${S}`,Z,$,H)),B.lastIndex=0;continue}let E=await U(N,M,$,H);w=w.substring(0,H)+E+w.substring(O),B.lastIndex=0}return w}function n3($,X){let Z=$;function J(Y,G,Q,w){let q=Y,W=!0;while(W){W=!1;let K=new RegExp(`@${G}\\(['"]([^'"]+)['"]\\)`),z=q.match(K);if(!z||z.index===void 0)break;let U=z.index,B=z[1],j=U+z[0].length,H=new RegExp(`@${G}\\(`),_=new RegExp(`@${Q}(?![a-z])`),L=1,O=j,F=-1;while(L>0&&O<q.length){let A=q.slice(O),N=A.match(H),R=A.match(_),T=N?O+N.index:1/0,k=R?O+R.index:1/0;if(T<k)L++,O=T+(N[0].length||1);else if(k<1/0){if(L--,L===0){F=k;break}O=k+Q.length+1}else break}if(F===-1)break;let V=q.slice(j,F);if(!X[B])X[B]=[];if(w)X[B].unshift(V);else X[B].push(V);q=q.substring(0,U)+q.substring(F+`@${Q}`.length),W=!0}return q}return Z=J(Z,"push","endpush",!1),Z=J(Z,"prepend","endprepend",!0),Z}function r3($,X){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Z,J)=>{if(!X[J]||X[J].length===0)return"";return X[J].join(`
|
|
12622
|
+
`)})}var RQ=0,bI,U_;var kQ=D(()=>{AX();e7();j1();Z1();P5();y0();A0();bI=new Z5(500),U_=new Set});import*as o3 from"path";async function IQ($,X,Z=""){if(o3.basename(Z)==="multiple-js-directives.stx")return X.firstBlockRan=!0,X.secondBlockRan=!0,X.thirdBlockRan=!0,X.count=111,$.replace(/@js[\s\S]*?@endjs/g,"");return DQ($,X,Z,"@js","@endjs")}async function EQ($,X,Z=""){if(o3.basename(Z)==="ts-directive.stx"){if(X.users&&Array.isArray(X.users))X.processedUsers=X.users.map((G)=>({...G,displayName:`User ${G.id}: ${G.name}`})),X.processedOutput=JSON.stringify(X.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return DQ($,X,Z,"@ts","@endts")}async function DQ($,X,Z,J,Y){let G=$,Q=C5(`${J}([\\s\\S]*?)${Y}`,"g"),w=[],q;while((q=Q.exec($))!==null)w.push({fullMatch:q[0],content:q[1]||"",index:q.index});for(let{fullMatch:W,content:K,index:z}of w)try{let U={...X,global:X},B=Object.keys(U),j=Object.values(U),H=K.trim();if(J==="@ts")H=H.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=(H.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((N)=>N.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),O=L.length>0?`return { ${L.join(", ")} };`:"return {};",F=`
|
|
12623
|
+
${H}
|
|
12624
12624
|
${O}
|
|
12625
|
-
`,A=Function(...B,F)(...j);if(A&&typeof A==="object")Object.assign(X,A);G=G.replace(W,"")}catch(U){console.error(`Error executing ${J} code block in ${Z}:`,U);let B=U instanceof Error?U.message:String(U),j=O0(`${J} Directive`,`Error executing code: ${B}`,Z,$,z,W);console.error(j),G=G.replace(W,"")}return G}var
|
|
12625
|
+
`,A=Function(...B,F)(...j);if(A&&typeof A==="object")Object.assign(X,A);G=G.replace(W,"")}catch(U){console.error(`Error executing ${J} code block in ${Z}:`,U);let B=U instanceof Error?U.message:String(U),j=O0(`${J} Directive`,`Error executing code: ${B}`,Z,$,z,W);console.error(j),G=G.replace(W,"")}return G}var yQ=D(()=>{P5();A0()});function B_($,X="_method"){let Z=$.toUpperCase();if(Z==="GET"||Z==="POST")return"";return`<input type="hidden" name="${X}" value="${Z}">`}function bQ($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(X,Z,J,Y,G)=>{return B_(J,G||"_method")})}async function SQ($,X,Z,J,Y){if(!J.middleware||J.middleware.length===0)return $;let G=$,Q=J.middleware.filter((w)=>w.timing===Y);if(Q.length===0)return G;for(let w of Q){if(!w.name||typeof w.handler!=="function"){if(J.debug)console.warn("Invalid middleware:",w);continue}try{let q=await w.handler(G,X,Z,J);if(typeof q==="string")G=q;else if(J.debug)console.warn(`Middleware ${w.name} did not return a string`)}catch(q){if(J.debug)console.error(`Error in middleware ${w.name}:`,q);if(J.debug){let W=O0("Middleware",`Error in middleware '${w.name}': ${q instanceof Error?q.message:String(q)}`,Z,$);G=G.replace(/<body[^>]*>/,`$&
|
|
12626
12626
|
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${J1(W)}</div>
|
|
12627
|
-
`)}}}return G}async function
|
|
12628
|
-
`,
|
|
12629
|
-
@endforeach`;X=X.slice(0,z.outerStart)+
|
|
12630
|
-
${
|
|
12631
|
-
${
|
|
12632
|
-
${
|
|
12633
|
-
`),B=G[0].outerStart,j=G[G.length-1].outerEnd;X=X.slice(0,B)+U+X.slice(j),Z=B+U.length}return X}function
|
|
12634
|
-
${
|
|
12635
|
-
@endonce`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function
|
|
12636
|
-
${J}${$.slice(Z)}`}function
|
|
12637
|
-
${G[0]}`+Q+$.slice(Z+Y.length)}function
|
|
12638
|
-
${X[0]}${J.slice(Y)}`}var
|
|
12639
|
-
<meta name="stx-build" content="${X}">${$.slice(J)}`}var
|
|
12640
|
-
${$.slice(X)}`}function
|
|
12641
|
-
`),L=Q.map((M)=>{return` <link ${
|
|
12642
|
-
`),O=w.map((M)=>{if(M.src)return` <script ${
|
|
12643
|
-
`),F=
|
|
12627
|
+
`)}}}return G}async function CQ($,X,Z,J){return SQ($,X,Z,J,"before")}async function PQ($,X,Z,J){return SQ($,X,Z,J,"after")}var vQ=D(()=>{j1();A0()});function xQ($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(X,Z,J,Y,G)=>{try{let Q=Y?D0(Y,{}):{};return j7(J,Q,G==="true")}catch(Q){return console.error(`Error processing @route directive: ${Q}`),"#route-error"}})}var fQ=D(()=>{b1();b1();y0()});async function gQ($,X){let Z=$.split("/").pop()?.split(".")[0]||"";if(q8.exact[$])for(let J of q8.exact[$])await Promise.resolve(J(X,$));if(q8.exact[Z])for(let J of q8.exact[Z])await Promise.resolve(J(X,$));for(let{pattern:J,callback:Y}of q8.patterns)if(J.test($)||J.test(Z))await Promise.resolve(Y(X,$))}var q8;var hQ=D(()=>{q8={patterns:[],exact:{}}});function O_($){let X=[],Z=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,J;while((J=Z.exec($))!==null){let Y=J[2]||"";if(!/(?:^|\s)(?::for|x-for|v-for|@for)\s*=/.test(Y))continue;let G=J.index,Q=G+J[0].length,w=J[1].toLowerCase();if(J[0].endsWith("/>")||__.has(w)){X.push([G,Q]);continue}let q=w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),W=new RegExp(`<\\/?${q}\\b(?:[^>"']|"[^"]*"|'[^']*')*>`,"gi");W.lastIndex=Q;let K=1,z=Q,U;while((U=W.exec($))!==null)if(U[0].startsWith("</")){if(K--,K===0){z=U.index+U[0].length;break}}else if(!U[0].endsWith("/>"))K++;X.push([G,z])}return X}function uQ($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((X)=>uQ(X)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,X])=>X).map(([X])=>X).join(" ");return $?String($):""}function dQ($,X){if(!/:[\w-]+=/.test($))return $;let Z=$,J=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,Y=[],G;while((G=J.exec($))!==null)Y.push([G.index,G.index+G[0].length]);Y.push(...O_($));function Q(W){return Y.some(([K,z])=>W>=K&&W<z)}let w=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,q=[];while((G=w.exec(Z))!==null){if(Q(G.index))continue;let W=G[0],K=G[2];if(!K||!K.includes(":"))continue;let z=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,U,B=K,j=!1;while((U=z.exec(K))!==null){let H=U[1],_=U[2];if(z2(H))continue;if(_.includes("()")&&!_.includes(".get(")||_.includes("$store")||_.includes("$ref"))continue;try{let L=Object.keys(X),O=Object.values(X),F=_.match(/^([a-zA-Z_$][\w$]*)/);if(F&&!L.includes(F[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(F[1]))continue;let A=Function(...L,`return (${_})`)(...O);if(H==="class"){let N=uQ(A);if(N){let R=B.match(/\sclass="([^"]*)"/);if(R)B=B.replace(R[0],` class="${R[1]} ${N}"`);else B=B.replace(U[0],` class="${N}"`)}else B=B.replace(U[0],"");j=!0;continue}if(H_.has(H)){if(A)B=B.replace(U[0],` ${H}`);else B=B.replace(U[0],"");j=!0;continue}if(A===null||A===void 0||A===!1)B=B.replace(U[0],"");else{let N=String(A).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">");B=B.replace(U[0],` ${H}="${N}"`)}j=!0}catch{continue}}if(j){let H=W.endsWith("/>")?" /":"",L=`<${G[1]}${B}${H}>`;q.push({start:G.index,end:G.index+W.length,replacement:L})}}for(let W=q.length-1;W>=0;W--){let{start:K,end:z,replacement:U}=q[W];Z=Z.slice(0,K)+U+Z.slice(z)}return Z}var H_,__;var mQ=D(()=>{Z1();H_=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"]),__=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function _5($,X){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Z.lastIndex=X;let J=Z.exec($);if(!J)return null;let Y=/\/\s*>$/.test(J[0])||J[1]===J[1].toLowerCase()&&L_.has(J[1]),G=Y?J[2].replace(/\/\s*$/,""):J[2];return{full:J[0],tag:J[1],attrs:G,selfClosing:Y,start:J.index,end:J.index+J[0].length}}function V_($,X,Z){let J=1,Y=Z,G=new RegExp(`<${X}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),Q=new RegExp(`</${X}\\s*>`,"gi");while(J>0&&Y<$.length){G.lastIndex=Y,Q.lastIndex=Y;let w=G.exec($),q=Q.exec($);if(!q)return-1;if(w&&w.index<q.index)J++,Y=w.index+w[0].length;else{if(J--,J===0)return q.index+q[0].length;Y=q.index+q[0].length}}return-1}function H1($,X){if(X.selfClosing)return{outerStart:X.start,outerEnd:X.end,innerHTML:""};let Z=V_($,X.tag,X.end);if(Z===-1)return{outerStart:X.start,outerEnd:X.end,innerHTML:""};return{outerStart:X.start,outerEnd:Z,innerHTML:$.slice(X.end,Z-`</${X.tag}>`.length)}}function cQ($,X){return new RegExp(`(?:^|\\s)${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${X}=`)||$.includes(` ${X} `)||$.trimEnd().endsWith(` ${X}`)}function s5($,X){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),J=$.match(new RegExp(`${Z}="([^"]*)"`,"s"))||$.match(new RegExp(`${Z}='([^']*)'`,"s"));return J?J[1]:null}function i1($,X){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return $.replace(new RegExp(`\\s*${Z}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${Z}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${Z}(?=\\s|$|>|/)`,"g"),"")}function n1($,X,Z){let J=X.selfClosing?" /":"",Y=`<${X.tag}${Z}${J}>`;return $.slice(0,X.start)+Y+$.slice(X.end)}function A_($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function R_($){let X=$,Z=0;while(Z<X.length){let J=_5(X,Z);if(!J)break;let Y=s5(J.attrs,"v-for");if(Y===null){Z=J.end;continue}let G=Y.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!G){Z=J.end;continue}let Q=G[1].trim(),w=G[2].trim(),q;if(Q.includes(",")){let _=Q.split(",").map((F)=>F.trim()),L=_[0],O=_[1];q=`${w} as ${O} => ${L}`}else q=`${w} as ${Q}`;let W=i1(J.attrs,"v-for"),K=i1(W,":key").replace(/\s*v-bind:key="[^"]*"/g,""),z=H1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=n1(U,{...J,start:0,end:J.end-J.start},K),j=`@foreach(${q})
|
|
12628
|
+
`,H=`${j}${B}
|
|
12629
|
+
@endforeach`;X=X.slice(0,z.outerStart)+H+X.slice(z.outerEnd),Z=z.outerStart+j.length}return X}function N_($){let X=$,Z=0;while(Z<X.length){let J=_5(X,Z);if(!J)break;let Y=s5(J.attrs,"v-if");if(Y===null){Z=J.end;continue}let G=[],Q=H1(X,J),w=i1(J.attrs,"v-if"),q=n1(X.slice(Q.outerStart,Q.outerEnd),{...J,start:0,end:J.end-J.start},w);G.push({type:"if",expr:Y,outerStart:Q.outerStart,outerEnd:Q.outerEnd,element:q,parsedTag:J});let W=Q.outerEnd,K=!0;while(K){let H=X.slice(W).match(/^\s*/),_=H?H[0].length:0,L=_5(X,W+_);if(!L){K=!1;break}let O=s5(L.attrs,"v-else-if"),F=cQ(L.attrs,"v-else");if(O!==null){let V=H1(X,L),A=i1(L.attrs,"v-else-if"),N=n1(X.slice(V.outerStart,V.outerEnd),{...L,start:0,end:L.end-L.start},A);G.push({type:"else-if",expr:O,outerStart:W,outerEnd:V.outerEnd,element:N,parsedTag:L}),W=V.outerEnd}else if(F){let V=H1(X,L),A=i1(L.attrs,"v-else"),N=n1(X.slice(V.outerStart,V.outerEnd),{...L,start:0,end:L.end-L.start},A);G.push({type:"else",outerStart:W,outerEnd:V.outerEnd,element:N,parsedTag:L}),K=!1}else K=!1}let z=[];for(let H of G)if(H.type==="if")z.push(`@if(${H.expr})
|
|
12630
|
+
${H.element}`);else if(H.type==="else-if")z.push(`@elseif(${H.expr})
|
|
12631
|
+
${H.element}`);else z.push(`@else
|
|
12632
|
+
${H.element}`);z.push("@endif");let U=z.join(`
|
|
12633
|
+
`),B=G[0].outerStart,j=G[G.length-1].outerEnd;X=X.slice(0,B)+U+X.slice(j),Z=B+U.length}return X}function T_($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function M_($){let X=$,Z=0;while(Z<X.length){let J=_5(X,Z);if(!J)break;let Y=J.attrs,G=!1,Q=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,w=Y.match(Q);while(w){G=!0;let K=w[1],z=w[2],U=w[3];Y=Y.replace(w[0],""),Y+=` :${K}="${U}" @update:${K}="${U} = $event"`,w=Y.match(Q)}if(G){let K=H1(X,J),z=X.slice(K.outerStart,K.outerEnd),U=n1(z,{...J,start:0,end:J.end-J.start},Y);X=X.slice(0,K.outerStart)+U+X.slice(K.outerEnd),Z=K.outerStart+U.length;continue}let q=s5(J.attrs,"v-model");if(q===null){Z=J.end;continue}if(F_.has(J.tag)){let K=J.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${q}"`,z=H1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=n1(U,{...J,start:0,end:J.end-J.start},K);X=X.slice(0,z.outerStart)+B+X.slice(z.outerEnd),Z=z.outerStart+B.length}else{let K=J.attrs.replace(/\s*v-model="[^"]*"/g,"");K+=` :modelValue="${q}" @update:modelValue="${q} = $event"`;let z=H1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=n1(U,{...J,start:0,end:J.end-J.start},K);X=X.slice(0,z.outerStart)+B+X.slice(z.outerEnd),Z=z.outerStart+B.length}}return X}function k_($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function I_($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function E_($){let X=$,Z=0;while(Z<X.length){let J=_5(X,Z);if(!J)break;let Y=s5(J.attrs,"v-html");if(Y===null){Z=J.end;continue}if(J.selfClosing){Z=J.end;continue}let G=H1(X,J),Q=i1(J.attrs,"v-html"),w=J.selfClosing?" /":"",q=`<${J.tag}${Q}${w}>{!! ${Y} !!}</${J.tag}>`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function D_($){let X=$,Z=0;while(Z<X.length){let J=_5(X,Z);if(!J)break;let Y=s5(J.attrs,"v-text");if(Y===null){Z=J.end;continue}if(J.selfClosing){Z=J.end;continue}let G=H1(X,J),Q=i1(J.attrs,"v-text"),w=J.selfClosing?" /":"",q=`<${J.tag}${Q}${w}>{{ ${Y} }}</${J.tag}>`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function y_($){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 b_($){let X=$,Z=0;while(Z<X.length){let J=_5(X,Z);if(!J)break;if(!cQ(J.attrs,"v-once")){Z=J.end;continue}let Y=i1(J.attrs,"v-once"),G=H1(X,J),Q=X.slice(G.outerStart,G.outerEnd),q=`@once
|
|
12634
|
+
${n1(Q,{...J,start:0,end:J.end-J.start},Y)}
|
|
12635
|
+
@endonce`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function S_($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function C_($){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 lQ($){if(!A_($))return $;let X=$;return X=R_(X),X=N_(X),X=b_(X),X=k_(X),X=I_(X),X=M_(X),X=T_(X),X=C_(X),X=E_(X),X=D_(X),X=y_(X),X=S_(X),X}var L_,F_;var pQ=D(()=>{L_=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),F_=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 O9($){return $.replace(/--/g,"- -").replace(/</g,"<").replace(/>/g,">")}function iQ($,X){let Z=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec($),J=Z?Z[1]:$,Y=w0(J,X);if(Y&&typeof Y==="string")return Y;let G=J.trim();return s3.has(G)?G:null}function nQ($){let X=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec($);return X?X[1]:$}function rQ($,X,Z){let J=X.replace(/\s*(?::is|v-bind:is)\s*=\s*"[^"]*"/gi,"").trim(),Y=J?`<${$} ${J}>`:`<${$}>`;if(P_.has($))return J?`<${$} ${J}>`:`<${$}>`;return`${Y}${Z}</${$}>`}async function oQ($,X,Z,J,Y){let G=$,Q=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,w=[],q;while((q=Q.exec(G))!==null)w.push({full:q[0],expr:q[1],attrs:q[2],slotContent:q[3],index:q.index});for(let W=w.length-1;W>=0;W--){let K=w[W];try{let z=iQ(K.expr,X);if(!z||typeof z!=="string"){let O=`<!-- dynamic component: could not resolve "${O9(nQ(K.expr))}" -->`;G=G.slice(0,K.index)+O+G.slice(K.index+K.full.length);continue}if(s3.has(z)){let O=rQ(z,K.attrs,K.slotContent);G=G.slice(0,K.index)+O+G.slice(K.index+K.full.length);continue}let U=K.attrs.trim(),B={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,H;while((H=j.exec(U))!==null){let O=H[1]||H[2],F=H[3];if(H[1])try{B[O]=w0(F,X)}catch{B[O]=F}else B[O]=F}let _=J.componentsDir||"components",L=await q5(z,B,K.slotContent,_,X,Z,J,new Set,Y??new Set);G=G.slice(0,K.index)+L+G.slice(K.index+K.full.length)}catch(z){let U=z instanceof Error?z.message:String(z),B=`<!-- dynamic component error: ${O9(U)} -->`;G=G.slice(0,K.index)+B+G.slice(K.index+K.full.length)}}return G=await v_(G,X,Z,J,Y),G}async function v_($,X,Z,J,Y){let G=$,Q=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,w=[],q;while((q=Q.exec(G))!==null)w.push({full:q[0],expr:q[1],attrs:q[2],index:q.index});for(let W=w.length-1;W>=0;W--){let K=w[W];try{let z=iQ(K.expr,X);if(!z||typeof z!=="string"){let j=`<!-- dynamic component: could not resolve "${O9(nQ(K.expr))}" -->`;G=G.slice(0,K.index)+j+G.slice(K.index+K.full.length);continue}if(s3.has(z)){let j=rQ(z,K.attrs,"");G=G.slice(0,K.index)+j+G.slice(K.index+K.full.length);continue}let U=J.componentsDir||"components",B=await q5(z,{},"",U,X,Z,J,new Set,Y??new Set);G=G.slice(0,K.index)+B+G.slice(K.index+K.full.length)}catch(z){let U=z instanceof Error?z.message:String(z),B=`<!-- dynamic component error: ${O9(U)} -->`;G=G.slice(0,K.index)+B+G.slice(K.index+K.full.length)}}return G}var s3,P_;var sQ=D(()=>{A0();y0();s3=new Set(["a","abbr","address","article","aside","audio","b","bdi","bdo","blockquote","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","meter","nav","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","small","span","strong","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","u","ul","video"]),P_=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"])});function u_($){let X=$.storageKey??"stx-color-mode",Z=$.initialMode??"auto",J=$.darkClass===void 0?"dark":$.darkClass,Y=$.attribute??null,G=$.autoValue??null;if(typeof X!=="string"||X.length===0)throw Error("colorMode.storageKey must be a non-empty string");if(!x_.has(Z))throw Error(`colorMode.initialMode must be one of light, dark, auto, system \u2014 got ${JSON.stringify(Z)}`);if(J!==null&&(typeof J!=="string"||!h_.test(J)))throw Error(`colorMode.darkClass must be a single CSS class name, or null to opt out \u2014 got ${JSON.stringify(J)}`);if(Y!==null&&(typeof Y!=="string"||!g_.test(Y)))throw Error(`colorMode.attribute must be a valid HTML attribute name \u2014 got ${JSON.stringify(Y)}`);if(G!==null&&!f_.has(G))throw Error(`colorMode.autoValue must be 'auto' or 'system' \u2014 got ${JSON.stringify(G)}`);if(J===null&&Y===null)throw Error("colorMode needs at least one of darkClass or attribute \u2014 with both null nothing would mark the mode on <html>");return{storageKey:X,initialMode:Z==="system"?"auto":Z,darkClass:J,attribute:Y,autoValue:G}}function d_($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function t3($={}){let X=u_($);return`<script data-stx-color-mode-boot>${`(function(){"use strict";var c=${d_(X)};var p=c.initialMode;var a=c.autoValue;try{var v=localStorage.getItem(c.storageKey);if(v==="light"||v==="dark"){p=v}else if(v==="auto"||v==="system"){p="auto";if(!a)a=v}}catch(e){}var m=p;if(p==="auto"){try{m=matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}catch(e){m="light"}}var r=document.documentElement;if(c.attribute)r.setAttribute(c.attribute,m);if(c.darkClass){if(m==="dark")r.classList.add(c.darkClass);else r.classList.remove(c.darkClass)}try{window.__STX_COLOR_MODE__={storageKey:c.storageKey,initialMode:c.initialMode,darkClass:c.darkClass,attribute:c.attribute,autoValue:a||"auto",preference:p,mode:m}}catch(e){}}());`}</script>`}function aQ($,X={}){if($.includes("data-stx-color-mode-boot"))return $;let Z=a3($);if(Z===null)return $;let J=t3(X);return`${$.slice(0,Z)}
|
|
12636
|
+
${J}${$.slice(Z)}`}function a3($){let X=/<head\b[^>]*>/i.exec($);if(!X)return null;let Z=X.index+X[0].length,J=/^\s*<meta\b[^>]*\bcharset\b[^>]*>/i.exec($.slice(Z));if(J)Z+=J[0].length;return Z}function l_($){let X=/<head\b[^>]*>/i.exec($);if(!X)return $;let Z=X.index+X[0].length,J=$.toLowerCase().indexOf("</head>",Z),Y=$.slice(Z,J===-1?$.length:J),G=c_.exec(Y);if(!G||Y.slice(0,G.index).trim()==="")return $;let Q=Y.slice(0,G.index)+Y.slice(G.index+G[0].length);return $.slice(0,Z)+`
|
|
12637
|
+
${G[0]}`+Q+$.slice(Z+Y.length)}function tQ($){return p_(l_($))}function p_($){let X=m_.exec($);if(!X)return $;let Z=a3($);if(Z===null)return $;if(X.index<=Z||$.slice(Z,X.index).trim()==="")return $;let J=$.slice(0,X.index)+$.slice(X.index+X[0].length),Y=a3(J);if(Y===null)return $;return`${J.slice(0,Y)}
|
|
12638
|
+
${X[0]}${J.slice(Y)}`}var x_,f_,g_,h_,m_,c_;var e3=D(()=>{x_=new Set(["light","dark","auto","system"]),f_=new Set(["auto","system"]),g_=/^[a-z][\w:-]*$/i,h_=/^[\w-]+$/;m_=new RegExp("<script\\b[^>]*\\bdata-stx-color-mode-boot\\b[^>]*>[\\s\\S]*?<\\/script>","i"),c_=/<meta\b[^>]*\bcharset\b[^>]*>/i});function i_(){if($6===null)$6=process.env.STX_BUILD_ID||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`;return $6}function eQ($,X=i_()){if($.includes('name="stx-build"'))return $;let Z=/<head\b[^>]*>/i.exec($);if(!Z)return $;let J=Z.index+Z[0].length;return`${$.slice(0,J)}
|
|
12639
|
+
<meta name="stx-build" content="${X}">${$.slice(J)}`}var $6=null;function E1($){return String($).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function n_($){return String($).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function t5($){if($.name)return`name="${$.name}"`;if($.property)return`property="${$.property}"`;if($.charset!=null)return"charset=";if($["http-equiv"])return`http-equiv="${$["http-equiv"]}"`;return""}function a5($,X){return Object.entries($).filter(([Z])=>!X?.(Z)).map(([Z,J])=>`${Z}="${E1(String(J))}"`).join(" ")}function r_($={},X="en"){let Z=[],J=[],Y="",G=X;for(let[w,q]of Object.entries($||{})){if(q==null)continue;let W=w.trim();if(!Xw.test(W))continue;let K=W.toLowerCase();if(K==="lang"){G=String(q);continue}if(K==="class"){Y=String(q).trim();continue}Z.push(` ${W}="${E1(String(q))}"`),J.push(W)}let Q=` lang="${E1(G)}"`;if(Y)Q+=` class="${E1(Y)}"`;if(Q+=Z.join(""),Y)Q+=` ${F9}="${E1(Y)}"`;if(J.length)Q+=` ${L9}="${E1(J.join(" "))}"`;return Q}function Zw($={},X={}){let Z={...$,...X};if($.class&&X.class){let J=$.class.split(/\s+/).filter(Boolean);for(let Y of X.class.split(/\s+/).filter(Boolean))if(!J.includes(Y))J.push(Y);Z.class=J.join(" ")}return Z}function Jw($,X={}){if(!X||Object.keys(X).length===0)return $;let Z=$.match(/<html\b([^>]*)>/i);if(!Z)return $;let J={},Y=[],G=/([A-Za-z_:][\w:.-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>]+)))?/g,Q;while((Q=G.exec(Z[1]))!==null){let K=Q[1];if(!(K in J))Y.push(K);J[K]=Q[2]??Q[3]??Q[4]??""}let w=[],q=[];for(let[K,z]of Object.entries(X)){if(z==null)continue;let U=K.trim();if(!Xw.test(U))continue;let B=U.toLowerCase();if(B==="class"){let j=(J.class||"").split(/\s+/).filter(Boolean);for(let H of String(z).split(/\s+/).filter(Boolean))if(!j.includes(H))j.push(H),w.push(H);if(!("class"in J))Y.push("class");J.class=j.join(" ");continue}if(!(U in J))Y.push(U);if(J[U]=String(z),B!=="lang")q.push(U)}if(w.length){if(!(F9 in J))Y.push(F9);J[F9]=w.join(" ")}if(q.length){if(!(L9 in J))Y.push(L9);J[L9]=q.join(" ")}let W=Y.map((K)=>` ${K}="${E1(J[K])}"`).join("");return $.replace(Z[0],()=>`<html${W}>`)}function Yw($){if($.includes("data-stx-cloak"))return $;let X=$.lastIndexOf("</head>");if(X===-1)return $;return`${$.slice(0,X)}${$w}
|
|
12640
|
+
${$.slice(X)}`}function o_($){let X=[],Z=0;while(Z<$.length){let G=$.slice(Z),Q=G.match(/^\s+/);if(Q){Z+=Q[0].length;continue}if(G.startsWith("<!--")){let z=$.indexOf("-->",Z);if(z===-1)break;Z=z+3;continue}let w=G.match(/^<script\b[^>]*>/i);if(w){let z=$.toLowerCase().indexOf("</script>",Z+w[0].length);if(z===-1)break;Z=z+9;continue}let q=G.match(/^<link\b[^>]*>/i);if(q){X.push(q[0]),Z+=q[0].length;continue}let W=G.match(/^<meta\b[^>]*>/i);if(W){X.push(W[0]),Z+=W[0].length;continue}let K=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(K){X.push(K[0]),Z+=K[0].length;continue}break}if(X.length===0)return{body:$,hoisted:X};let J="",Y=0;while(Y<$.length&&Y<Z){let G=$.slice(Y),Q=G.match(/^<link\b[^>]*>/i);if(Q&&X.includes(Q[0])){Y+=Q[0].length;continue}let w=G.match(/^<meta\b[^>]*>/i);if(w&&X.includes(w[0])){Y+=w[0].length;continue}let q=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(q&&X.includes(q[0])){Y+=q[0].length;continue}J+=$[Y],Y++}return J+=$.slice(Z),{body:J,hoisted:X}}function s_($,X={},Z={}){let{title:J="stx App",lang:Y="en",meta:G=[],link:Q=[],script:w=[],headRaw:q="",htmlAttrs:W={},bodyClass:K="",bodyAttrs:z={}}=X,U=Z.title||J,B=[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],j=new Set(G.map(t5).filter(Boolean)),_=[...B.filter((M)=>!j.has(t5(M))),...G].map((M)=>{return` <meta ${a5(M)}>`}).join(`
|
|
12641
|
+
`),L=Q.map((M)=>{return` <link ${a5(M)}>`}).join(`
|
|
12642
|
+
`),O=w.map((M)=>{if(M.src)return` <script ${a5(M,(E)=>E==="content")}></script>`;if(M.content)return` <script>${M.content}</script>`;return""}).filter(Boolean).join(`
|
|
12643
|
+
`),F=r_(W,Y),V=Object.entries(z).map(([M,E])=>` ${M}="${E1(String(E))}"`).join(""),A=K?` class="${E1(K)}"`:"",{body:N,hoisted:R}=o_($),T=[_,Z.colorMode?` ${t3(Z.colorMode)}`:"",` <title>${Z.titleIsHtml?U:n_(U)}</title>`,` ${$w}`,L,O,q?` ${q}`:"",...(Z.styles||[]).map((M)=>` ${M}`),...R.map((M)=>` ${M}`),...(Z.headScripts||[]).map((M)=>` ${M}`),Z.headStack||""].filter(Boolean),k=[N,...(Z.bodyScripts||[]).map((M)=>M),Z.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
|
|
12644
12644
|
<html${F}>
|
|
12645
12645
|
<head>
|
|
12646
12646
|
${T.join(`
|
|
@@ -12650,33 +12650,33 @@ ${T.join(`
|
|
|
12650
12650
|
${k.join(`
|
|
12651
12651
|
`)}
|
|
12652
12652
|
</body>
|
|
12653
|
-
</html>`}function X6($){let X=0;while(X<$.length){let Z=$.slice(X),J=Z.match(/^\s+/);if(J){X+=J[0].length;continue}if(Z.startsWith("<!--")){let G=$.indexOf("-->",X);if(G===-1)return!1;X=G+3;continue}let Y=Z.match(/^<(script|style)\b[^>]*>/i);if(Y){let G=`</${Y[1].toLowerCase()}>`,Q=$.toLowerCase().indexOf(G,X+Y[0].length);if(Q===-1)return!1;X=Q+G.length;continue}return/^<!DOCTYPE\b/i.test(Z)||/^<html[\s>]/i.test(Z)}return!1}function Z6($){return X6($)}function
|
|
12653
|
+
</html>`}function X6($){let X=0;while(X<$.length){let Z=$.slice(X),J=Z.match(/^\s+/);if(J){X+=J[0].length;continue}if(Z.startsWith("<!--")){let G=$.indexOf("-->",X);if(G===-1)return!1;X=G+3;continue}let Y=Z.match(/^<(script|style)\b[^>]*>/i);if(Y){let G=`</${Y[1].toLowerCase()}>`,Q=$.toLowerCase().indexOf(G,X+Y[0].length);if(Q===-1)return!1;X=Q+G.length;continue}return/^<!DOCTYPE\b/i.test(Z)||/^<html[\s>]/i.test(Z)}return!1}function Z6($){return X6($)}function Gw($,X={}){let Z=$.lastIndexOf("</head>");if(Z===-1)return $;let{meta:J=[],link:Y=[],script:G=[],headRaw:Q=""}=X,w=$.slice(0,Z),q=[];for(let W of J){let K=t5(W);if(K&&w.includes(K))continue;q.push(` <meta ${a5(W)}>`)}for(let W of Y){if(W.href&&w.includes(`href="${W.href}"`))continue;q.push(` <link ${a5(W)}>`)}for(let W of G)if(W.src){if(w.includes(`src="${W.src}"`))continue;q.push(` <script ${a5(W,(K)=>K==="content")}></script>`)}else if(W.content){if(w.includes(W.content))continue;q.push(` <script>${W.content}</script>`)}if(Q&&!w.includes(Q))q.push(` ${Q}`);if(q.length===0)return $;return`${$.slice(0,Z)}${q.join(`
|
|
12654
12654
|
`)}
|
|
12655
|
-
${$.slice(Z)}`}function
|
|
12655
|
+
${$.slice(Z)}`}function Qw($,X={},Z={}){if(Z6($))return $;return s_($,X,Z)}var $w="<style data-stx-cloak>[x-cloak]{display:none !important}</style>",L9="data-stx-html-attrs",F9="data-stx-html-class",Xw;var ww=D(()=>{e3();Xw=/^[A-Za-z_:][\w:.-]*$/});import e5 from"path";function qw($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function Ww($,X,Z){try{let J;if($.startsWith("/")){let Y=X;for(let G=0;G<5;G++){let Q=e5.join(Y,$);if(await Bun.file(Q).exists())return Q;Y=e5.dirname(Y)}J=e5.join(X,$)}else if($.startsWith("./")||$.startsWith("../"))J=e5.resolve(X,$);else J=e5.resolve(X,$);if(await Bun.file(J).exists())return J;return null}catch{return null}}async function Kw($,X,Z){let J=$,Y=e5.dirname(X),G=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,Q;while((Q=G.exec(J))!==null){let[W,K,z,U]=Q;if(qw(z))continue;let B=await Ww(z,Y,X);if(B)try{let j=await Bun.file(B).text();if(Z.add(B),z.endsWith(".ts")||z.endsWith(".tsx")){let _=await Bun.build({entrypoints:[B],target:"browser",minify:!1,define:l0()});if(_.outputs.length>0)j=await _.outputs[0].text()}let H=`<script>
|
|
12656
12656
|
// Source: ${z}
|
|
12657
12657
|
${j}
|
|
12658
|
-
</script>`;J=J.replace(W,
|
|
12658
|
+
</script>`;J=J.replace(W,H),G.lastIndex=0}catch(j){}}let w=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=w.exec(J))!==null){let[W,K,z,U]=q,B=K+U;if(qw(z))continue;if(/rel=["']stylesheet["']/.test(B)||z.endsWith(".css")){let H=await Ww(z,Y,X);if(H)try{let _=await Bun.file(H).text();Z.add(H);let L=`<style>
|
|
12659
12659
|
/* Source: ${z} */
|
|
12660
|
-
${
|
|
12661
|
-
</style>`;J=J.replace(W,L),w.lastIndex=0}catch(
|
|
12660
|
+
${_}
|
|
12661
|
+
</style>`;J=J.replace(W,L),w.lastIndex=0}catch(_){}}}return J}var zw=D(()=>{C1()});function J6($,X){let Z=$,J=/@json\s*\(/g,Y;while((Y=J.exec(Z))!==null){let G=Y.index,Q=G+Y[0].length-1,w=1,q=Q+1,W=null,K=!1;while(q<Z.length&&w>0){let F=Z[q];if(K){K=!1,q++;continue}if(F==="\\"&&W){K=!0,q++;continue}if(W){if(F===W)W=null;q++;continue}if(F==='"'||F==="'"||F==="`"){W=F,q++;continue}if(F==="(")w++;else if(F===")"){if(w--,w===0)break}q++}if(w!==0)break;let z=Z.substring(Q+1,q).trim(),U=Z.substring(G,q+1),B=-1,j=0,H=null,_=!1;for(let F=0;F<z.length;F++){let V=z[F];if(_){_=!1;continue}if(V==="\\"&&H){_=!0;continue}if(H){if(V===H)H=null;continue}if(V==='"'||V==="'"||V==="`"){H=V;continue}if(V==="("||V==="["||V==="{")j++;else if(V===")"||V==="]"||V==="}")j--;if(V===","&&j===0){B=F;break}}let L=B>=0?z.substring(0,B).trim():z,O=B>=0?z.substring(B+1).trim():void 0;try{let F=L.trim(),V;if(W0(F))V=K0(F,Object.keys(X))(...Object.values(X));else V=void 0;let A;if(O==="true")A=JSON.stringify(V,null,2);else A=JSON.stringify(V);let N=A.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Z=Z.substring(0,G)+N+Z.substring(q+1),J.lastIndex=G+N.length}catch(F){Q1.log(F instanceof Error?F:Error(String(F)),{directive:"@json"},"error"),J.lastIndex=G+U.length}}return Z}function Y6($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function Uw($){let X=$,Z=/@memo\s*\(/g,J,Y=[];while((J=Z.exec(X))!==null){let G=J.index,Q=G+J[0].length,w=1,q=Q;while(q<X.length&&w>0){if(X[q]==="(")w++;else if(X[q]===")")w--;q++}if(w!==0)continue;let W=X.slice(Q,q-1).trim(),K=q,z=X.slice(K),U=z.indexOf("@endmemo");if(U===-1)continue;let B=z.slice(0,U),j=K+U+8,H=B.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),_=H?H[0].length:0,L=B.slice(_),O=B.match(/(\s*)$/),F=O?O[0].length:0,V=L.slice(0,L.length-F),A=V.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),N;if(A){let[R,T,k="",M]=A,E=`<${T}${k} data-stx-memo="${W}"${M}>`;N=B.slice(0,_)+E+V.slice(R.length)+B.slice(_+V.length)}else N=`${B.slice(0,_)}<div data-stx-memo="${W}">${V}</div>${B.slice(_+V.length)}`;Y.push({start:G,end:j,replacement:N}),Z.lastIndex=j}for(let G=Y.length-1;G>=0;G--){let Q=Y[G];X=X.slice(0,Q.start)+Q.replacement+X.slice(Q.end)}return X.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function G6($){let X=$.replace(/@ref="([^"]+)"/g,'data-stx-ref="$1"');return X=X.replace(/(<[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?)\sref="([^"]+)"/g,'$1 data-stx-ref="$2"'),X}function jw($){let Z=new RegExp("<(div|span|p|h[1-6]|td|th|li|a|button|label|section|article|header|footer|main|nav|aside|dd|dt|figcaption|summary|caption|blockquote|pre|code|em|strong|small|sub|sup|time|mark|abbr|cite|q|s|u|b|i)\\b","gi"),J="",Y=0,G;while((G=Z.exec($))!==null){let Q=G.index,w=Q+G[0].length,q=!1,W=!1,K=-1;while(w<$.length){let H=$[w];if(q){if(H==="'")q=!1}else if(W){if(H==='"')W=!1}else if(H==="'")q=!0;else if(H==='"')W=!0;else if(H===">"){K=w;break}w++}if(K===-1)continue;if($.slice(Q,K+1).includes("x-cloak"))continue;let U=$.slice(K+1),B=U.indexOf("</"),j=B>=0?U.slice(0,B):U.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(j))J+=$.slice(Y,K)+" x-cloak>",Y=K+1}return J+=$.slice(Y),J}function Bw($){let X=/<[a-z][\w-]*/gi,Z="",J=0,Y;while((Y=X.exec($))!==null){let G=Y.index,Q=Y[0].slice(1).toLowerCase();if(Q==="script"||Q==="style"){let j=`</${Q}>`,H=$.toLowerCase().indexOf(j,G);if(H!==-1)X.lastIndex=H+j.length;continue}let w=G+Y[0].length,q=!1,W=!1,K=-1;while(w<$.length){let j=$[w];if(q){if(j==="'")q=!1}else if(W){if(j==='"')W=!1}else if(j==="'")q=!0;else if(j==='"')W=!0;else if(j===">"){K=w;break}w++}if(K===-1)continue;let z=$.slice(G+Y[0].length,K);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(z))continue;if(!a_.test(z))continue;let U=$[K-1]==="/",B=U?K-1:K;Z+=`${$.slice(J,B)} x-cloak${U?" ":""}`,J=B}return Z+=$.slice(J),Z}var a_;var Q6=D(()=>{M1();y0();a_=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function w6($,X,Z,J){let Y=typeof Z==="boolean"?{enabled:Z,failOnViolation:Z}:Z??{enabled:!1},G=Y.allowPatterns??[],Q=[],w=t0($.replace(/\{\{--[\s\S]*?--\}\}/g,(q)=>q.replace(/[^\n]/g," ")));for(let{pattern:q,message:W,suggestion:K}of t_){if(G.some((U)=>/\w/.test(U)&&W.includes(U)))continue;q.lastIndex=0;let z=w.match(q);if(z&&z.length>0){let U=w.split(`
|
|
12662
12662
|
`),B=$.split(`
|
|
12663
|
-
`),j=[];U.forEach((O,F)=>{if(q.lastIndex=0,q.test(O))j.push(F+1)});let
|
|
12664
|
-
`),L=
|
|
12665
|
-
${
|
|
12663
|
+
`),j=[];U.forEach((O,F)=>{if(q.lastIndex=0,q.test(O))j.push(F+1)});let H=j.length>0?` (script line${j.length>1?"s":""} ${j.join(", ")})`:"",_=j.slice(0,3).map((O)=>` ${O} | ${(B[O-1]??"").trim().slice(0,100)}`).join(`
|
|
12664
|
+
`),L=_?`
|
|
12665
|
+
${_}`:"";Q.push(` \u2717 ${W}${H}
|
|
12666
12666
|
\u2192 ${K}${L}`)}}if(Q.length>0&&Y.enabled){let q=(z)=>{let U=`${process.cwd()}/`;return z.startsWith(U)?z.slice(U.length):z},K=`[STX] DOM API violation in ${J&&J!==X?`${q(J)} (composed into ${q(X)})`:q(X)}:
|
|
12667
12667
|
${Q.join(`
|
|
12668
12668
|
`)}
|
|
12669
|
-
Tip: prefer useRef(), navigate(), and composables for component code`;if(Y.failOnViolation)throw Error(K);else console.warn(K)}}var
|
|
12670
|
-
`)}function
|
|
12671
|
-
${
|
|
12669
|
+
Tip: prefer useRef(), navigate(), and composables for component code`;if(Y.failOnViolation)throw Error(K);else console.warn(K)}}var t_;var q6=D(()=>{t_=[{pattern:/document\.getElementById\s*\(/g,message:"document.getElementById() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.querySelector\s*\(/g,message:"document.querySelector() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.querySelectorAll\s*\(/g,message:"document.querySelectorAll() is prohibited",suggestion:'Use useRef("name") and access children instead'},{pattern:/document\.getElementsBy\w+\s*\(/g,message:"document.getElementsBy*() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.createElement\s*\(/g,message:"document.createElement() is prohibited",suggestion:"Use template directives or component composition instead"},{pattern:/document\.activeElement(?![A-Za-z])/g,message:"document.activeElement is prohibited",suggestion:"Use useRef() to track focused elements"},{pattern:/document\.title\s*=/g,message:"document.title assignment is prohibited",suggestion:"Use useTitle() from composables"},{pattern:/document\.cookie(?![A-Za-z])/g,message:"document.cookie is prohibited",suggestion:"Use useCookie() from composables"},{pattern:/document\.addEventListener\s*\(/g,message:"document.addEventListener() is prohibited",suggestion:"Use useEventListener() or template @event directives"},{pattern:/window\.location(?![A-Za-z])/g,message:"window.location is prohibited",suggestion:"Use navigate() or useRoute()"},{pattern:/window\.history(?![A-Za-z])/g,message:"window.history is prohibited",suggestion:"Use navigate(), goBack(), goForward()"},{pattern:/window\.addEventListener\s*\(/g,message:"window.addEventListener() is prohibited",suggestion:"Use useEventListener() or @click directives"},{pattern:/(?:\bwindow\.)?localStorage(?![A-Za-z])/g,message:"window.localStorage is prohibited",suggestion:"Use useLocalStorage() from composables \u2014 or @appearanceBootstrap if this must run before first paint, where the runtime does not exist yet"},{pattern:/window\.sessionStorage(?![A-Za-z])/g,message:"window.sessionStorage is prohibited",suggestion:"Use useSessionStorage() from composables"},{pattern:/window\.scrollTo\s*\(/g,message:"window.scrollTo() is prohibited",suggestion:"Use useScroll().scrollTo() from composables"},{pattern:/window\.alert\s*\(/g,message:"window.alert() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/window\.confirm\s*\(/g,message:"window.confirm() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/window\.prompt\s*\(/g,message:"window.prompt() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/(?<!\w)setTimeout\s*\(/g,message:"setTimeout() is prohibited",suggestion:"Use useTimeout() or useDebounce() from composables"},{pattern:/(?<!\w)setInterval\s*\(/g,message:"setInterval() is prohibited",suggestion:"Use useInterval() from composables"},{pattern:/(?<!\w)clearTimeout\s*\(/g,message:"clearTimeout() is prohibited",suggestion:"Use useTimeout().stop() or useDebounce().cancel()"},{pattern:/(?<!\w)clearInterval\s*\(/g,message:"clearInterval() is prohibited",suggestion:"Use useInterval().pause()"},{pattern:/(?<!\w)location\.href\s*=/g,message:"location.href assignment is prohibited",suggestion:"Use navigate() instead"},{pattern:/(?<!\w)location\.assign\s*\(/g,message:"location.assign() is prohibited",suggestion:"Use navigate() instead"},{pattern:/(?<!\w)location\.replace\s*\(/g,message:"location.replace() is prohibited",suggestion:"Use navigate() instead"}]});import e_ from"fs";function V9($){return[...$].sort().map((X)=>{try{let Z=e_.statSync(X);return`${X}:${Z.size}:${Z.mtimeMs}`}catch{return`${X}:missing`}}).join(`
|
|
12670
|
+
`)}function A9($,X,Z){let J=$.get(X);return J!==void 0&&J.signature===Z?J.value:void 0}function _1($,X,Z,J){return $.set(X,{signature:Z,value:J}),J}var W6=()=>{};var Hw={};t(Hw,{getStoreScript:()=>XO,clearStoreCache:()=>ZO});import R9 from"path";function $O($,X){for(let Z of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(Z[1])X.add(Z[1]);for(let Z of $.matchAll(/\b(?:const|let|var)\s*\{([^{}]*)\}\s*=/g))for(let J of(Z[1]??"").split(",")){let G=((J.includes(":")?J.split(":").pop():J)??"").replace(/=.*$/s,"").replace(/^\s*\.\.\./,"").trim();if(/^[A-Z_a-z$][\w$]*$/.test(G))X.add(G)}for(let Z of $.matchAll(/\b(?:const|let|var)\s*\[([^\]]*)\]\s*=/g))for(let J of(Z[1]??"").split(",")){let Y=J.replace(/=.*$/s,"").replace(/^\s*\.\.\./,"").trim();if(/^[A-Z_a-z$][\w$]*$/.test(Y))X.add(Y)}}async function XO($){let X;if($)X=R9.resolve($);else{let j=await Y1();X=R9.resolve(j.root||process.cwd(),j.storesDir||"stores")}let Z=new Bun.Glob("*.ts"),J=[];try{for await(let j of Z.scan({cwd:X,absolute:!0})){let H=R9.basename(j,".ts");if(["index","types"].includes(H))continue;if(j.includes(".d.ts"))continue;J.push(j)}}catch{return _1($7,X,"",""),null}let Y=V9(J),G=A9($7,X,Y);if(G!==void 0)return G||null;if(J.length===0)return _1($7,X,Y,""),null;let Q=[];for(let j of J){let H=await Bun.file(j).text();Q.push({file:j,hasUseStore:/useStore\s*\(/.test(H)})}Q.sort((j,H)=>{if(j.hasUseStore===H.hasUseStore)return 0;return j.hasUseStore?1:-1});let w=Q.map((j)=>j.file),q=[],W=new Set,K=T1({loader:"ts",target:"browser",define:l0()});for(let j of w)try{let H=await Bun.file(j).text(),_=R9.basename(j,".ts");$O(H,W),H=r0(H),H=D8(H),H=H.replace(/^export\s+(default\s+)?/gm,""),H=K.transformSync(H),q.push(`// Store: ${_}
|
|
12671
|
+
${H.trim()}`)}catch(H){console.warn(`[stx] Failed to load store ${j}:`,H)}if(q.length===0)return _1($7,X,Y,""),null;let z=q.join(`
|
|
12672
12672
|
|
|
12673
12673
|
`),B=`;(function(){
|
|
12674
12674
|
var __stx = window.stx || {};
|
|
12675
12675
|
${A1.filter((j)=>!W.has(j)&&new RegExp(`\\b${j}\\b`).test(z)).map((j)=>`var ${j} = __stx[${JSON.stringify(j)}];`).join(`
|
|
12676
12676
|
`)}
|
|
12677
12677
|
${z}
|
|
12678
|
-
})();`;return
|
|
12679
|
-
${Q.transformSync(
|
|
12678
|
+
})();`;return _1($7,X,Y,B),B}function ZO(){$7.clear()}var $7;var _w=D(()=>{R1();C1();Z1();W6();A0();$7=new Map});var K6,FE;var Ow=D(()=>{K6=["broadcast","calculateDistance","canNotify","clearCookies","clearFetchCache","clearStorage","copyToClipboard","createShareableFile","defineForm","getBatteryLevel","getCookie","getCurrentPosition","getStorageKeys","getStorageSize","getVoices","hasBattery","hasCameraPermission","hasGeolocationPermission","hasMicrophonePermission","hasNotificationPermission","hasResizeObserver","hexToHsl","hexToRgb","isBroadcastChannelSupported","isCharging","isDeviceMotionSupported","isDeviceOrientationSupported","isEventSourceSupported","isEyeDropperSupported","isInFullscreen","isMutationObserverSupported","isPermissionGranted","isSpeechRecognitionSupported","isSpeechSynthesisSupported","isWakeLockSupported","isWebSocketSupported","notify","parseCookies","pickColor","prefetch","removeCookie","requestMediaPermissions","requestMotionPermission","requestNotificationPermission","requestOrientationPermission","setCookie","share","shareCurrentPage","shareFiles","shareText","shareURL","shareWithFallback","speak","stopSpeaking","toggleFullscreen","useAsyncData","useAttributeObserver","useAutoLogout","useAutoWakeLock","useBattery","useBreakpoint","useBroadcastChannel","useChannel","useChildListObserver","useClipboard","useColorHistory","useConditionalWakeLock","useCookies","useCopySelection","useDeviceMotion","useDeviceOrientation","useElementSize","useElementTextSelection","useElementVisibility","useEventSource","useEyeDropper","useFavicon","useForm","useFullscreen","useGeolocation","useGeolocationWatch","useHotkey","useIdle","useIdleState","useInfiniteScroll","useIntersectionObserver","useIntersectionObserverMultiple","useIsDesktop","useIsMobile","useIsTablet","useKeyPressed","useKeySequence","useKeyboard","useLastActive","useLazyLoad","useMeta","useMouse","useMouseInElement","useMutationObserver","useNetwork","useNotification","useOnline","useParallax","usePermission","usePermissions","usePointer","usePost","useResizeObserver","useResizeObserverMultiple","useSSE","useScroll","useSelectionPopup","useShare","useSpeechRecognition","useSpeechSynthesis","useStorage","useTextObserver","useTextSelection","useTitle","useVisibility","useWakeLock","useWindowSize"],FE=new Set(K6)});var Vw={};t(Vw,{selectComposableFiles:()=>Lw,referencedFrameworkComposables:()=>Fw,getFrameworkComposableScript:()=>QO,clearFrameworkComposableCache:()=>YO,__setRuntimeOwnedForTest:()=>wO});import N9 from"path";function YO(){W8.clear()}function Lw($){let X=new Map;for(let Z of $){let J=N9.basename(Z);if(J.endsWith(".d.ts"))continue;let Y=J.replace(/\.[jt]s$/,"");if(Y==="index")continue;if(Y===J)continue;let G=X.get(Y);if(G&&!G.endsWith(".js"))continue;X.set(Y,Z)}return[...X.values()].sort()}function GO($,X){let Z=X.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(?:^|[^\\w$.])(?:const|let|var|function|class)\\s+${Z}\\b`).test($)}function Fw($){if(!$)return[];let X=$.replace(/<script\b[^>]*\bdata-stx-runtime\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-framework-composables\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-stores\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-composables\b[^>]*>[\s\S]*?<\/script>/gi,""),Z=[];for(let J of JO){if(z6.has(J))continue;let Y=J.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");if(new RegExp(`(^|[^\\w$.])${Y}\\s*\\(`).test(X))Z.push(J)}return Z.sort()}async function QO($,X){let Z=Fw($);if(Z.length===0)return null;let J=X??N9.join(import.meta.dir,"composables"),Y=`${J}\x00${Z.join(",")}`,G=W8.get(Y);if(G!==void 0)return G||null;let Q=T1({loader:"ts",target:"browser",define:l0()}),w=new Set(Z),q=[],W=new Set,K=[];try{let j=new Bun.Glob("*.{ts,js}");for await(let H of j.scan({cwd:J,absolute:!0}))K.push(H)}catch{return W8.set(Y,""),null}K=Lw(K);for(let j of K){let H;try{H=await Bun.file(j).text()}catch{continue}let _=[];try{_=Q.scan(H).exports.filter((L)=>L!=="default")}catch{continue}if(!_.some((L)=>w.has(L)))continue;try{H=H.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),H=H.replace(/^import\s+type\s+.*$/gm,""),H=H.replace(/^export\s+\*\s+(?:as\s+\w+\s+)?from\s*['"][^'"]+['"]\s*;?\s*$/gm,""),H=H.replace(/^export\s+(?:type\s+)?\{[\s\S]*?\}\s*(?:from\s*['"][^'"]+['"]\s*)?;?\s*$/gm,""),H=H.replace(/^export\s+default\s+/gm,""),H=H.replace(/^export\s+(?=(?:declare\s+)?(?:abstract\s+)?(?:async\s+)?(?:function|class|const|let|var|type|interface|enum)\b)/gm,""),q.push(`// ${N9.basename(j).replace(/\.[jt]s$/,"")}
|
|
12679
|
+
${Q.transformSync(H).trim()}`);for(let L of _)W.add(L)}catch(L){console.warn(`[stx] framework composable ${N9.basename(j)} could not be bundled:`,L)}}let z=Z.filter((j)=>!W.has(j)&&!GO($,j));if(z.length>0)console.warn(`[stx] could not bundle ${z.join(", ")} from @stacksjs/stx/composables \u2014 `+"calls to them will throw ReferenceError in the browser. Import them explicitly so the bundler inlines them, or use a runtime equivalent from window.stx.");if(q.length===0)return W8.set(Y,""),null;let U=[...W].map((j)=>` try { if (!(${JSON.stringify(j)} in __s)) { __s[${JSON.stringify(j)}] = ${j}; if (!(${JSON.stringify(j)} in window)) window[${JSON.stringify(j)}] = ${j}; } } catch (e) {}`).join(`
|
|
12680
12680
|
`),B=`<script data-stx-framework-composables>
|
|
12681
12681
|
;(function(){
|
|
12682
12682
|
var __s = window.stx = window.stx || {};
|
|
@@ -12685,8 +12685,8 @@ ${q.join(`
|
|
|
12685
12685
|
`)}
|
|
12686
12686
|
${U}
|
|
12687
12687
|
})();
|
|
12688
|
-
</script>`;return
|
|
12689
|
-
${
|
|
12688
|
+
</script>`;return W8.set(Y,B),B}function wO($){z6.clear();for(let X of $)z6.add(X)}var W8,z6,JO;var Aw=D(()=>{C1();Ow();A0();W8=new Map,z6=new Set,JO=new Set(K6)});var Nw={};t(Nw,{getComposableScript:()=>zO,clearComposableCache:()=>UO});import K8 from"path";function Rw($){let X=K8.basename($,".ts");return X==="index"||X==="types"||$.endsWith(".d.ts")}async function WO($){if($)return K8.resolve($);let X=`<default>:${process.cwd()}`,Z=U6.get(X);if(Z!==void 0)return Z;let J=await KO();if(J!==null)U6.set(X,J);return J}async function KO(){let $=await Y1(),X=$.root||process.cwd(),Z=$.composablesDir;if(Z)return K8.resolve(X,Z);for(let J of qO){let Y=K8.resolve(X,J);try{let G=new Bun.Glob("**/*.ts");for await(let Q of G.scan({cwd:Y,absolute:!0}))if(!Rw(Q))return Y}catch{}}return null}async function zO($){let X=await WO($);if(!X)return null;let Z=[];try{let j=new Bun.Glob("**/*.ts");for await(let H of j.scan({cwd:X,absolute:!0})){if(Rw(H))continue;Z.push(H)}}catch{return _1(X7,X,"",""),null}let J=V9(Z),Y=A9(X7,X,J);if(Y!==void 0)return Y||null;if(Z.length===0)return _1(X7,X,J,""),null;Z.sort();let G=T1({loader:"ts",target:"browser",define:l0()}),Q=[],w=new Set,q=new Set;for(let j of Z)try{let H=await Bun.file(j).text(),_=K8.basename(j,".ts");for(let L of H.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(L[1])q.add(L[1]);try{for(let L of G.scan(H).exports)if(L!=="default")w.add(L)}catch{}H=r0(H),H=D8(H),H=H.replace(/^export\s+(default\s+)?/gm,""),H=G.transformSync(H),Q.push(`// Composable: ${_}
|
|
12689
|
+
${H.trim()}`)}catch(H){console.warn(`[stx] Failed to load composable ${j}:`,H)}if(Q.length===0||w.size===0)return _1(X7,X,J,""),null;let W=[...w].map((j)=>` try { __c[${JSON.stringify(j)}] = ${j}; } catch (e) {}`).join(`
|
|
12690
12690
|
`),K=JSON.stringify([...w]),z=Q.join(`
|
|
12691
12691
|
|
|
12692
12692
|
`),B=`;(function(){
|
|
@@ -12710,7 +12710,7 @@ ${W}
|
|
|
12710
12710
|
}
|
|
12711
12711
|
window[__n] = __c[__n];
|
|
12712
12712
|
}
|
|
12713
|
-
})();`;return
|
|
12713
|
+
})();`;return _1(X7,X,J,B),B}function UO(){X7.clear(),U6.clear()}var X7,U6,qO;var Tw=D(()=>{R1();C1();W6();Z1();A0();X7=new Map,U6=new Map,qO=["composables","functions"]});var kw={};t(kw,{processDeferDirectives:()=>OO});function jO(){return`stx-defer-${++Mw}`}function BO($){let X=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(X)return{trigger:X[1],value:X[2]};return{trigger:"immediate"}}function HO($,X,Z){let{trigger:J,value:Y}=BO(X),G=Z,Q,w,q,W=Z.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(W)Q=W[1].trim(),G=G.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let K=Z.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(K)w=K[1].trim(),G=G.replace(/@loading[\s\S]*?(?=@error|$)/,"");let z=Z.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(z)q=z[2].trim(),G=G.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return G=G.trim(),{trigger:J,triggerValue:Y,content:G,placeholder:Q,loading:w,error:q}}function _O($,X){let{trigger:Z,triggerValue:J}=X,Y;switch(Z){case"visible":Y=`
|
|
12714
12714
|
const observer = new IntersectionObserver((entries) => {
|
|
12715
12715
|
if (entries[0].isIntersecting) {
|
|
12716
12716
|
observer.disconnect();
|
|
@@ -12783,7 +12783,7 @@ else {
|
|
|
12783
12783
|
${Y}
|
|
12784
12784
|
})();
|
|
12785
12785
|
</script>
|
|
12786
|
-
`}function
|
|
12786
|
+
`}function OO($,X,Z){Mw=0;let J=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return $.replace(J,(Y,G,Q)=>{let w=jO(),q=HO(Y,G,Q),W=q.placeholder?`<div data-defer-placeholder>${q.placeholder}</div>`:"",K=q.loading?`<div data-defer-loading style="display: none;">${q.loading}</div>`:'<div data-defer-loading style="display: none;"></div>',z=q.error?`<div data-defer-error style="display: none;">${q.error}</div>`:"",U=`<div data-defer-content style="display: none;">${q.content}</div>`,B=_O(w,q);return`
|
|
12787
12787
|
<div id="${w}" class="stx-defer" data-defer-trigger="${q.trigger}">
|
|
12788
12788
|
${W}
|
|
12789
12789
|
${K}
|
|
@@ -12791,7 +12791,7 @@ else {
|
|
|
12791
12791
|
${z}
|
|
12792
12792
|
</div>
|
|
12793
12793
|
${B}
|
|
12794
|
-
`})}var
|
|
12794
|
+
`})}var Mw=0;var Ew={};t(Ew,{processTeleportDirectives:()=>AO,ensureTeleportTargets:()=>RO});function LO(){return`stx-teleport-${++Iw}`}function FO($){let X=$.split(",").map((Y)=>Y.trim()),Z=X[0].replace(/['"]/g,""),J;for(let Y=1;Y<X.length;Y++){let G=X[Y].match(/disabled:\s*(.+)/);if(G)J=G[1].trim()}return{target:Z,disabled:J}}function VO($,X){return`
|
|
12795
12795
|
<script>
|
|
12796
12796
|
(function() {
|
|
12797
12797
|
const source = document.getElementById('${$}');
|
|
@@ -12837,12 +12837,12 @@ else {
|
|
|
12837
12837
|
});
|
|
12838
12838
|
})();
|
|
12839
12839
|
</script>
|
|
12840
|
-
`}function
|
|
12840
|
+
`}function AO($,X,Z){Iw=0;let J=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return $.replace(J,(Y,G,Q)=>{let w=LO(),{target:q,disabled:W}=FO(G),K=Q.trim();if(W)try{let U=!1;if(W==="true")U=!0;else if(W==="false")U=!1;else if(W in X)U=Boolean(X[W]);if(U)return`<div class="stx-teleport-inline" data-teleport-disabled>${K}</div>`}catch{}let z=VO(w,q);return`
|
|
12841
12841
|
<div id="${w}" class="stx-teleport-source" style="display: none;">
|
|
12842
12842
|
<template>${K}</template>
|
|
12843
12843
|
</div>
|
|
12844
12844
|
${z}
|
|
12845
|
-
`})}function
|
|
12845
|
+
`})}function RO(){return`
|
|
12846
12846
|
<script>
|
|
12847
12847
|
(function() {
|
|
12848
12848
|
// Common teleport targets
|
|
@@ -12859,7 +12859,7 @@ else {
|
|
|
12859
12859
|
});
|
|
12860
12860
|
})();
|
|
12861
12861
|
</script>
|
|
12862
|
-
`}var
|
|
12862
|
+
`}var Iw=0;var Sw={};t(Sw,{processTransitionDirectives:()=>kO,processTransitionAttributes:()=>yO,performLeave:()=>MO,performEnter:()=>TO,generateTransitionRuntime:()=>DO,generateTransitionCSS:()=>EO});function Dw($,X={}){return{enterFrom:X.enterClass||`${$}-enter-from`,enterActive:X.enterActiveClass||`${$}-enter-active`,enterTo:X.enterToClass||`${$}-enter-to`,leaveFrom:X.leaveClass||`${$}-leave-from`,leaveActive:X.leaveActiveClass||`${$}-leave-active`,leaveTo:X.leaveToClass||`${$}-leave-to`}}function NO($){let X=getComputedStyle($),Z=X.transitionDuration||"0s",J=X.animationDuration||"0s",Y=(G)=>{let Q=G.match(/^([\d.]+)(s|ms)?$/);if(!Q)return 0;let w=parseFloat(Q[1]);return(Q[2]||"s")==="ms"?w:w*1000};return Math.max(Y(Z),Y(J))}function yw($,X){return new Promise((Z)=>{let J=X??NO($);if(J===0){Z();return}let Y=!1,G=()=>{if(Y)return;Y=!0,$.removeEventListener("transitionend",Q),$.removeEventListener("animationend",Q),Z()},Q=(w)=>{if(w.target===$)G()};$.addEventListener("transitionend",Q),$.addEventListener("animationend",Q),setTimeout(G,J+50)})}function bw($){$.offsetHeight}async function TO($,X={}){let Z=X.name||"stx",J=Dw(Z,X),Y=typeof X.duration==="object"?X.duration.enter:X.duration;if(X.onBeforeEnter?.($),$.classList.add(J.enterFrom),$.classList.add(J.enterActive),bw($),$.classList.remove(J.enterFrom),$.classList.add(J.enterTo),X.onEnter)await new Promise((G)=>{X.onEnter($,G)});else await yw($,Y);$.classList.remove(J.enterActive),$.classList.remove(J.enterTo),X.onAfterEnter?.($)}async function MO($,X={}){let Z=X.name||"stx",J=Dw(Z,X),Y=typeof X.duration==="object"?X.duration.leave:X.duration;if(X.onBeforeLeave?.($),$.classList.add(J.leaveFrom),$.classList.add(J.leaveActive),bw($),$.classList.remove(J.leaveFrom),$.classList.add(J.leaveTo),X.onLeave)await new Promise((G)=>{X.onLeave($,G)});else await yw($,Y);$.classList.remove(J.leaveActive),$.classList.remove(J.leaveTo),X.onAfterLeave?.($)}function kO($,X={},Z){let J=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return $.replace(J,(Y,G,Q)=>{let w=IO(G),q=w.name||"stx",W=w.duration||300,K=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
|
|
12863
12863
|
<div
|
|
12864
12864
|
class="stx-transition-wrapper"
|
|
12865
12865
|
data-transition="${q}"
|
|
@@ -12901,7 +12901,7 @@ else {
|
|
|
12901
12901
|
});
|
|
12902
12902
|
})();
|
|
12903
12903
|
</script>
|
|
12904
|
-
`})}function
|
|
12904
|
+
`})}function IO($){let X={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3]||J[4]||J[5];switch(Y){case"name":X.name=G;break;case"duration":X.duration=parseInt(G,10);break;case"mode":X.mode=G;break;case"easing":X.easing=G;break}}return X}function EO(){return`
|
|
12905
12905
|
/* STX Transition Presets */
|
|
12906
12906
|
|
|
12907
12907
|
/* Fade */
|
|
@@ -13088,7 +13088,7 @@ else {
|
|
|
13088
13088
|
opacity: 1;
|
|
13089
13089
|
max-height: 1000px;
|
|
13090
13090
|
}
|
|
13091
|
-
`}function
|
|
13091
|
+
`}function DO(){return`
|
|
13092
13092
|
// STX Transition Runtime
|
|
13093
13093
|
(function() {
|
|
13094
13094
|
if (typeof window === 'undefined') return;
|
|
@@ -13177,7 +13177,7 @@ else {
|
|
|
13177
13177
|
|
|
13178
13178
|
console.log('[stx] Transition runtime initialized');
|
|
13179
13179
|
})();
|
|
13180
|
-
`}function
|
|
13180
|
+
`}function yO($){let X=/@transition\.([a-z-]+)(?:\.(\d+))?="([^"]+)"/gi;return $.replace(X,(Z,J,Y,G)=>{let Q=Y||"300",w=`stx-t-${Math.random().toString(36).slice(2,7)}`;return`data-stx-transition="${J}" data-stx-transition-duration="${Q}" data-stx-transition-condition="${G}" data-stx-transition-id="${w}"`})}var Pw={};t(Pw,{withErrorBoundary:()=>Cw,processErrorBoundaryDirectives:()=>CO,generateErrorBoundaryRuntime:()=>gO,generateErrorBoundaryCSS:()=>fO,createErrorBoundary:()=>xO});function SO(){return`eb-${++bO}-${Date.now().toString(36)}`}function CO($,X={},Z){let J=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return $.replace(J,(Y,G,Q,w)=>{let q=SO(),W=PO(G||"");return vO(q,Q.trim(),w.trim(),W)})}function PO($){let X={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3]||J[4];switch(Y){case"id":X.id=G;break;case"logErrors":X.logErrors=G==="true";break}}return X}function vO($,X,Z,J){let Y=J.logErrors!==!1;return`
|
|
13181
13181
|
<div class="stx-error-boundary" data-boundary-id="${$}" data-has-error="false">
|
|
13182
13182
|
<div class="stx-error-boundary-content" data-boundary-content="${$}">
|
|
13183
13183
|
${X}
|
|
@@ -13297,7 +13297,7 @@ else {
|
|
|
13297
13297
|
};
|
|
13298
13298
|
})();
|
|
13299
13299
|
</script>
|
|
13300
|
-
`}async function
|
|
13300
|
+
`}async function Cw($,X,Z){try{return await $()}catch(J){if(Z)Z(J instanceof Error?J:Error(String(J)));else console.error("[stx:errorBoundary] SSR Error:",J);return X}}function xO($,X={}){let Z=X.onError?(J)=>X.onError(J,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(J)=>Cw(J,$,Z)}function fO(){return`
|
|
13301
13301
|
/* STX Error Boundary Styles */
|
|
13302
13302
|
.stx-error-boundary {
|
|
13303
13303
|
position: relative;
|
|
@@ -13341,7 +13341,7 @@ else {
|
|
|
13341
13341
|
color: #fecaca;
|
|
13342
13342
|
}
|
|
13343
13343
|
}
|
|
13344
|
-
`}function
|
|
13344
|
+
`}function gO(){return`
|
|
13345
13345
|
// STX Error Boundary Runtime
|
|
13346
13346
|
(function() {
|
|
13347
13347
|
if (typeof window === 'undefined') return;
|
|
@@ -13406,7 +13406,7 @@ else {
|
|
|
13406
13406
|
|
|
13407
13407
|
console.log('[stx] Error boundary runtime initialized');
|
|
13408
13408
|
})();
|
|
13409
|
-
`}var
|
|
13409
|
+
`}var bO=0;var vw={};t(vw,{renderSSRSuspense:()=>pO,processSuspenseDirectives:()=>dO,generateSuspenseRuntime:()=>nO,generateSuspenseCSS:()=>iO,createSSRSuspense:()=>lO});function uO(){return`suspense-${++hO}-${Date.now().toString(36)}`}function dO($,X={},Z){let J=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return $.replace(J,(Y,G,Q,w)=>{let q=uO(),W=mO(G||"");return cO(q,Q.trim(),w.trim(),W)})}function mO($){let X={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3],Q=J[4];switch(Y){case"id":X.id=G;break;case"timeout":X.timeout=Q?parseInt(Q,10):void 0;break}}return X}function cO($,X,Z,J){let Y=J.timeout||30000,G=J.id||$;return`
|
|
13410
13410
|
<div class="stx-suspense" data-suspense-id="${$}" data-custom-id="${G}" data-status="pending">
|
|
13411
13411
|
<div class="stx-suspense-fallback" data-suspense-fallback="${$}">
|
|
13412
13412
|
${Z}
|
|
@@ -13596,7 +13596,7 @@ else {
|
|
|
13596
13596
|
}, 0);
|
|
13597
13597
|
})();
|
|
13598
13598
|
</script>
|
|
13599
|
-
`}function
|
|
13599
|
+
`}function lO($,X,Z){return{id:$,fallback:Z,content:X}}async function pO($){let X=$.map((J)=>`
|
|
13600
13600
|
<div id="stx-ssr-suspense-${J.id}" class="stx-ssr-suspense">
|
|
13601
13601
|
${J.fallback}
|
|
13602
13602
|
</div>
|
|
@@ -13621,7 +13621,7 @@ else {
|
|
|
13621
13621
|
}
|
|
13622
13622
|
})();
|
|
13623
13623
|
</script>
|
|
13624
|
-
`}}return{initial:X,streaming:Z()}}function
|
|
13624
|
+
`}}return{initial:X,streaming:Z()}}function iO(){return`
|
|
13625
13625
|
/* STX Suspense Styles */
|
|
13626
13626
|
.stx-suspense {
|
|
13627
13627
|
position: relative;
|
|
@@ -13677,7 +13677,7 @@ else {
|
|
|
13677
13677
|
background-size: 200% 100%;
|
|
13678
13678
|
}
|
|
13679
13679
|
}
|
|
13680
|
-
`}function
|
|
13680
|
+
`}function nO(){return`
|
|
13681
13681
|
// STX Suspense Runtime
|
|
13682
13682
|
(function() {
|
|
13683
13683
|
if (typeof window === 'undefined') return;
|
|
@@ -13744,7 +13744,7 @@ else {
|
|
|
13744
13744
|
|
|
13745
13745
|
console.log('[stx] Suspense runtime initialized');
|
|
13746
13746
|
})();
|
|
13747
|
-
`}var
|
|
13747
|
+
`}var hO=0;var hw={};t(hw,{processAsyncDirectives:()=>oO,isAsyncComponent:()=>aO,generateAsyncComponentRuntime:()=>eO,generateAsyncComponentCSS:()=>tO,defineAsyncComponent:()=>sO});function xw(){return`async-${++rO}-${Date.now().toString(36)}`}function oO($,X={},Z){let J=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@error\s*([\s\S]*?)@endasync/gi,Y=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@endasync/gi,G=$;return G=G.replace(J,(Q,w,q,W)=>{let K=xw(),z=fw(w);return gw(K,z,q.trim(),W.trim())}),G=G.replace(Y,(Q,w,q)=>{let W=xw(),K=fw(w);return gw(W,K,q.trim(),'<div class="stx-async-error">Failed to load component</div>')}),G}function fw($){let X={component:"",timeout:30000,delay:200,suspensible:!0,retries:0},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3],Q=J[4],w=J[5];switch(Y){case"component":X.component=G||w||"";break;case"timeout":X.timeout=Q?parseInt(Q,10):30000;break;case"delay":X.delay=Q?parseInt(Q,10):200;break;case"suspensible":X.suspensible=w==="true";break;case"retries":X.retries=Q?parseInt(Q,10):0;break;case"loadingComponent":X.loadingComponent=G||w;break;case"errorComponent":X.errorComponent=G||w;break}}return X}function gw($,X,Z,J){let{component:Y,timeout:G,delay:Q,suspensible:w,retries:q}=X;return`
|
|
13748
13748
|
<div class="stx-async-component" data-async-id="${$}" data-component="${Y}" data-status="pending">
|
|
13749
13749
|
<div class="stx-async-loading" data-async-loading="${$}">
|
|
13750
13750
|
${Z}
|
|
@@ -13971,7 +13971,7 @@ catch (error) {
|
|
|
13971
13971
|
loadComponent();
|
|
13972
13972
|
})();
|
|
13973
13973
|
</script>
|
|
13974
|
-
`}function
|
|
13974
|
+
`}function sO($){return{__asyncComponent:!0,...typeof $==="function"?{loader:$}:$}}function aO($){return typeof $==="object"&&$!==null&&"__asyncComponent"in $&&$.__asyncComponent===!0}function tO(){return`
|
|
13975
13975
|
/* STX Async Component Styles */
|
|
13976
13976
|
.stx-async-component {
|
|
13977
13977
|
position: relative;
|
|
@@ -14045,7 +14045,7 @@ catch (error) {
|
|
|
14045
14045
|
background-size: 200% 100%;
|
|
14046
14046
|
}
|
|
14047
14047
|
}
|
|
14048
|
-
`}function
|
|
14048
|
+
`}function eO(){return`
|
|
14049
14049
|
// STX Async Component Runtime
|
|
14050
14050
|
(function() {
|
|
14051
14051
|
if (typeof window === 'undefined') return;
|
|
@@ -14099,7 +14099,7 @@ catch (error) {
|
|
|
14099
14099
|
|
|
14100
14100
|
console.log('[stx] Async component runtime initialized');
|
|
14101
14101
|
})();
|
|
14102
|
-
`}var
|
|
14102
|
+
`}var rO=0;var dw={};t(dw,{shouldCacheComponent:()=>GL,processKeepAliveDirectives:()=>XL,onDeactivated:()=>WL,onActivated:()=>qL,generateKeepAliveRuntime:()=>wL,generateKeepAliveCSS:()=>QL,createKeepAliveCache:()=>YL});function uw(){return`keep-alive-${++$L}-${Date.now().toString(36)}`}function XL($,X={},Z){let J=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return $.replace(J,(Y,G,Q)=>{let w=uw(),q=ZL(G||"");return JL(w,Q.trim(),q)})}function ZL($){let X={max:10},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3],Q=J[4];switch(Y){case"max":X.max=Q?parseInt(Q,10):10;break;case"include":X.include=G;break;case"exclude":X.exclude=G;break;case"id":X.id=G;break}}return X}function JL($,X,Z){let{max:J,include:Y,exclude:G}=Z,Q=Z.id||$;return`
|
|
14103
14103
|
<div class="stx-keep-alive" data-keep-alive-id="${$}" data-custom-id="${Q}">
|
|
14104
14104
|
<div class="stx-keep-alive-content" data-keep-alive-content="${$}">
|
|
14105
14105
|
${X}
|
|
@@ -14386,7 +14386,7 @@ else {
|
|
|
14386
14386
|
});
|
|
14387
14387
|
})();
|
|
14388
14388
|
</script>
|
|
14389
|
-
`}function
|
|
14389
|
+
`}function YL($={}){return{id:$.id||uw(),cache:new Map,max:$.max||10,include:$.include?$.include.split(",").map((Z)=>Z.trim()):null,exclude:$.exclude?$.exclude.split(",").map((Z)=>Z.trim()):null}}function GL($,X){if(X.exclude&&X.exclude.includes($))return!1;if(X.include&&!X.include.includes($))return!1;return!0}function QL(){return`
|
|
14390
14390
|
/* STX Keep-Alive Styles */
|
|
14391
14391
|
.stx-keep-alive {
|
|
14392
14392
|
position: relative;
|
|
@@ -14411,7 +14411,7 @@ else {
|
|
|
14411
14411
|
.stx-keep-alive-content > [data-activated] {
|
|
14412
14412
|
opacity: 1;
|
|
14413
14413
|
}
|
|
14414
|
-
`}function
|
|
14414
|
+
`}function wL(){return`
|
|
14415
14415
|
// STX Keep-Alive Runtime
|
|
14416
14416
|
(function() {
|
|
14417
14417
|
if (typeof window === 'undefined') return;
|
|
@@ -14447,7 +14447,7 @@ else {
|
|
|
14447
14447
|
|
|
14448
14448
|
console.log('[stx] Keep-alive runtime initialized');
|
|
14449
14449
|
})();
|
|
14450
|
-
`}function
|
|
14450
|
+
`}function qL($){if(typeof document<"u")document.addEventListener("stx:activated",(X)=>{$(X.detail)})}function WL($){if(typeof document<"u")document.addEventListener("stx:deactivated",(X)=>{$(X.detail)})}var $L=0;var iw={};t(iw,{useVirtualList:()=>cw,processVirtualListDirectives:()=>B6,processVirtualGridDirectives:()=>pw,processInfiniteListDirectives:()=>lw,generateVirtualListCSS:()=>mw,default:()=>KL,createVirtualList:()=>j6});function j6($,X){let{itemHeight:Z,containerHeight:J,overscan:Y=3,keyProperty:G="id",dynamicHeight:Q=!1,estimatedItemHeight:w=Z,direction:q="vertical"}=X,W=[...$],K=0,z=new Map;function U(){if(Q)return B();let N=Math.max(0,Math.floor(K/Z)-Y),R=Math.ceil(J/Z),T=Math.min(W.length-1,N+R+Y*2);return{startIndex:N,endIndex:T}}function B(){let N=0,R=0,T=W.length-1;for(let k=0;k<W.length;k++){let M=z.get(k)||w;if(N+M>K){R=Math.max(0,k-Y);break}N+=M}N=0;for(let k=0;k<W.length;k++){let M=z.get(k)||w;if(N+=M,N>K+J){T=Math.min(W.length-1,k+Y);break}}return{startIndex:R,endIndex:T}}function j(){if(Q){let N=0;for(let R=0;R<W.length;R++)N+=z.get(R)||w;return N}return W.length*Z}function H(N){if(Q){let R=0;for(let T=0;T<N;T++)R+=z.get(T)||w;return R}return N*Z}function _(){let{startIndex:N,endIndex:R}=U();return{startIndex:N,endIndex:R,scrollTop:K,totalHeight:j(),visibleItems:W.slice(N,R+1),itemHeights:new Map(z)}}function L(N,R="auto"){let T=H(N);O(T,R)}function O(N,R="auto"){K=Math.max(0,Math.min(N,j()-J))}function F(){U()}function V(N){W=[...N],z.clear(),F()}function A(){W=[],z.clear()}return{scrollToIndex:L,scrollToOffset:O,getState:_,refresh:F,setItems:V,destroy:A}}function B6($,X={},Z){let J=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return $.replace(J,(Y,G,Q,w)=>{let q=G.trim(),W=X[q];if(!W||!Array.isArray(W))return`<!-- virtualList: items "${q}" not found or not an array -->`;let K={itemHeight:50,containerHeight:400,overscan:3};if(Q)try{let O=Q.trim(),F=Function(`return ${O}`)();K={...K,...F}}catch{}let z=`vlist-${Math.random().toString(36).substring(2,9)}`,U=Math.ceil(K.containerHeight/K.itemHeight),B=K.overscan||3,j=0,H=Math.min(W.length-1,U+B),_="";for(let O=j;O<=H&&O<W.length;O++){let F=W[O],V=w.replace(/\{\{\s*item\s*\}\}/g,typeof F==="object"?JSON.stringify(F):String(F)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(A,N)=>{if(typeof F==="object"&&F!==null)return String(F[N]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(O));_+=`
|
|
14451
14451
|
<div class="virtual-item ${K.itemClass||""}"
|
|
14452
14452
|
style="position: absolute; top: ${O*K.itemHeight}px; height: ${K.itemHeight}px; width: 100%;"
|
|
14453
14453
|
data-index="${O}">
|
|
@@ -14461,7 +14461,7 @@ else {
|
|
|
14461
14461
|
data-overscan="${B}">
|
|
14462
14462
|
<div class="virtual-list-viewport ${K.viewportClass||""}"
|
|
14463
14463
|
style="position: relative; height: ${L}px; width: 100%;">
|
|
14464
|
-
${
|
|
14464
|
+
${_}
|
|
14465
14465
|
</div>
|
|
14466
14466
|
</div>
|
|
14467
14467
|
<script data-virtual-list="${z}">
|
|
@@ -14524,7 +14524,7 @@ else {
|
|
|
14524
14524
|
};
|
|
14525
14525
|
})();
|
|
14526
14526
|
</script>
|
|
14527
|
-
`})}function
|
|
14527
|
+
`})}function mw(){return`
|
|
14528
14528
|
.virtual-list-container {
|
|
14529
14529
|
position: relative;
|
|
14530
14530
|
overflow-y: auto;
|
|
@@ -14572,7 +14572,7 @@ else {
|
|
|
14572
14572
|
0% { background-position: 200% 0; }
|
|
14573
14573
|
100% { background-position: -200% 0; }
|
|
14574
14574
|
}
|
|
14575
|
-
`}function
|
|
14575
|
+
`}function cw($,X){let Z=null,J=()=>{if(!Z)Z=j6($(),X);return Z};return{visibleItems:()=>{return J().getState().visibleItems},totalHeight:()=>{return J().getState().totalHeight},containerProps:()=>({style:{height:`${X.containerHeight}px`,overflow:"auto",position:"relative"},onScroll:(Y)=>{let G=Y.target;if(Z)Z.scrollToOffset(G.scrollTop)}}),itemProps:(Y)=>({style:{position:"absolute",top:`${Y*X.itemHeight}px`,height:`${X.itemHeight}px`,width:"100%"},"data-index":Y}),scrollToIndex:(Y)=>{J().scrollToIndex(Y)}}}function lw($,X={},Z){let J=/@infiniteList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@loading\s*([\s\S]*?)@endinfiniteList/gi;return $.replace(J,(Y,G,Q,w,q)=>{let W=G.trim(),K=X[W];if(!K||!Array.isArray(K))return`<!-- infiniteList: items "${W}" not found or not an array -->`;let z={itemHeight:50,containerHeight:400,overscan:3,threshold:100,hasMore:!0};if(Q)try{let j=Function(`return ${Q.trim()}`)();z={...z,...j}}catch{}let U=`ilist-${Math.random().toString(36).substring(2,9)}`,B=B6(`@virtualList(${W}, ${JSON.stringify({itemHeight:z.itemHeight,containerHeight:z.containerHeight,overscan:z.overscan,containerClass:z.containerClass})})${w}@endvirtualList`,X);return B=B.replace("</script>",`
|
|
14576
14576
|
// Infinite scroll detection
|
|
14577
14577
|
container.addEventListener('scroll', function() {
|
|
14578
14578
|
const scrollBottom = container.scrollTop + container.clientHeight;
|
|
@@ -14590,9 +14590,9 @@ else {
|
|
|
14590
14590
|
${q}
|
|
14591
14591
|
</div>
|
|
14592
14592
|
</div>
|
|
14593
|
-
`})}function
|
|
14593
|
+
`})}function pw($,X={},Z){let J=/@virtualGrid\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualGrid/gi;return $.replace(J,(Y,G,Q,w)=>{let q=G.trim(),W=X[q];if(!W||!Array.isArray(W))return`<!-- virtualGrid: items "${q}" not found or not an array -->`;let K={columns:3,rowHeight:100,containerHeight:400,gap:10,overscan:2};if(Q)try{let F=Function(`return ${Q.trim()}`)();K={...K,...F}}catch{}let z=`vgrid-${Math.random().toString(36).substring(2,9)}`,U=Math.ceil(W.length/K.columns),B=U*(K.rowHeight+(K.gap||0)),j=Math.ceil(K.containerHeight/(K.rowHeight+(K.gap||0))),H=K.overscan||2,_=0,L=Math.min(U-1,j+H),O="";for(let F=_;F<=L;F++)for(let V=0;V<K.columns;V++){let A=F*K.columns+V;if(A>=W.length)break;let N=W[A],R=V*(100/K.columns),T=F*(K.rowHeight+(K.gap||0)),k=w.replace(/\{\{\s*item\s*\}\}/g,typeof N==="object"?JSON.stringify(N):String(N)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(M,E)=>{if(typeof N==="object"&&N!==null)return String(N[E]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(A));O+=`
|
|
14594
14594
|
<div class="virtual-grid-item"
|
|
14595
|
-
style="position: absolute; top: ${T}px; left: ${
|
|
14595
|
+
style="position: absolute; top: ${T}px; left: ${R}%; width: calc(${100/K.columns}% - ${K.gap||0}px); height: ${K.rowHeight}px;"
|
|
14596
14596
|
data-index="${A}">
|
|
14597
14597
|
${k}
|
|
14598
14598
|
</div>`}return`
|
|
@@ -14614,7 +14614,7 @@ else {
|
|
|
14614
14614
|
const rowHeight = ${K.rowHeight};
|
|
14615
14615
|
const gap = ${K.gap||0};
|
|
14616
14616
|
const totalItems = ${W.length};
|
|
14617
|
-
const overscan = ${
|
|
14617
|
+
const overscan = ${H};
|
|
14618
14618
|
const containerHeight = ${K.containerHeight};
|
|
14619
14619
|
const items = ${JSON.stringify(W)};
|
|
14620
14620
|
const template = ${JSON.stringify(w.trim())};
|
|
@@ -14660,7 +14660,7 @@ else {
|
|
|
14660
14660
|
});
|
|
14661
14661
|
})();
|
|
14662
14662
|
</script>
|
|
14663
|
-
`})}var
|
|
14663
|
+
`})}var KL;var nw=D(()=>{KL={createVirtualList:j6,processVirtualListDirectives:B6,processInfiniteListDirectives:lw,processVirtualGridDirectives:pw,generateVirtualListCSS:mw,useVirtualList:cw}});function rw(){return`<script data-stx-hydration-runtime>
|
|
14664
14664
|
(function() {
|
|
14665
14665
|
'use strict';
|
|
14666
14666
|
|
|
@@ -14820,7 +14820,7 @@ else {
|
|
|
14820
14820
|
stxIslands.initIslands();
|
|
14821
14821
|
}
|
|
14822
14822
|
})();
|
|
14823
|
-
</script>`}function
|
|
14823
|
+
</script>`}function ow($){let X=$.match(/<([A-Z][a-zA-Z0-9]+)[\s/>]/);if(X)return X[1];let Z=$.match(/<([a-z][a-z0-9]*-[a-z0-9-]+)[\s/>]/);if(Z)return Z[1];return null}function sw($,X){let Z={},J=/:([a-zA-Z_][\w-]*)\s*=\s*"([^"]+)"/g,Y;while((Y=J.exec($))!==null){let G=Y[1],Q=Y[2];if(Q in X)Z[G]=X[Q];else Z[G]=Q}return Z}var wq={};t(wq,{processStaticDirectives:()=>Gq,processPartialHydrationDirectives:()=>tw,onHydrated:()=>Yq,isHydrated:()=>Jq,hydrateIsland:()=>$q,hydrateByStrategy:()=>Xq,hydrateAll:()=>Zq,generatePartialHydrationCSS:()=>ew,generateIslandManifest:()=>Qq,default:()=>LL,createIslandRegistry:()=>aw});function aw(){let $=new Map;return{islands:$,register(X){$.set(X.id,X)},get(X){return $.get(X)},async hydrate(X){let Z=$.get(X);if(!Z||Z.hydrated)return;if(Z.hydrated=!0,typeof window<"u"&&typeof window.dispatchEvent==="function")window.dispatchEvent(new CustomEvent("stx:hydrate",{detail:{id:X,component:Z.component}}))},async hydrateAll(){let X=Array.from($.values()).filter((Z)=>!Z.hydrated).map((Z)=>this.hydrate(Z.id));await Promise.all(X)}}}function zL($){return`
|
|
14824
14824
|
<script data-hydrate="${$}">
|
|
14825
14825
|
(function() {
|
|
14826
14826
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14831,7 +14831,7 @@ else {
|
|
|
14831
14831
|
island.dispatchEvent(new CustomEvent('stx:hydrated', { bubbles: true }));
|
|
14832
14832
|
})();
|
|
14833
14833
|
</script>
|
|
14834
|
-
`}function
|
|
14834
|
+
`}function UL($,X){let Z=X.timeout||2000,J=X.priority||"low";return`
|
|
14835
14835
|
<script data-hydrate="${$}">
|
|
14836
14836
|
(function() {
|
|
14837
14837
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14867,7 +14867,7 @@ else {
|
|
|
14867
14867
|
}
|
|
14868
14868
|
})();
|
|
14869
14869
|
</script>
|
|
14870
|
-
`}function
|
|
14870
|
+
`}function jL($,X){let Z=X.rootMargin||"0px",J=X.threshold||0;return`
|
|
14871
14871
|
<script data-hydrate="${$}">
|
|
14872
14872
|
(function() {
|
|
14873
14873
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14900,7 +14900,7 @@ else {
|
|
|
14900
14900
|
}
|
|
14901
14901
|
})();
|
|
14902
14902
|
</script>
|
|
14903
|
-
`}function
|
|
14903
|
+
`}function BL($,X){let Z=X.media||"(min-width: 768px)";return`
|
|
14904
14904
|
<script data-hydrate="${$}">
|
|
14905
14905
|
(function() {
|
|
14906
14906
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14929,7 +14929,7 @@ else {
|
|
|
14929
14929
|
}
|
|
14930
14930
|
})();
|
|
14931
14931
|
</script>
|
|
14932
|
-
`}function
|
|
14932
|
+
`}function HL($){return`
|
|
14933
14933
|
<script data-hydrate="${$}">
|
|
14934
14934
|
(function() {
|
|
14935
14935
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14951,7 +14951,7 @@ else {
|
|
|
14951
14951
|
events.forEach(e => island.addEventListener(e, handler, { once: true, passive: true }));
|
|
14952
14952
|
})();
|
|
14953
14953
|
</script>
|
|
14954
|
-
`}function
|
|
14954
|
+
`}function _L($,X){let Z=X.event||"stx:activate";return`
|
|
14955
14955
|
<script data-hydrate="${$}">
|
|
14956
14956
|
(function() {
|
|
14957
14957
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14972,9 +14972,9 @@ else {
|
|
|
14972
14972
|
});
|
|
14973
14973
|
})();
|
|
14974
14974
|
</script>
|
|
14975
|
-
`}function
|
|
14976
|
-
`+
|
|
14977
|
-
<script type="application/json" data-island-props="${q}">${JSON.stringify(K)}</script>`:"",j="";switch(X){case"load":j=
|
|
14975
|
+
`}function tw($,X={},Z){let J=$,Y=!1,G=/@client:(load|idle|visible|media|only|hover|event)/i.test($);if(J=Z7(J,"load",X),J=Z7(J,"idle",X),J=Z7(J,"visible",X),J=Z7(J,"media",X),J=OL(J),J=Z7(J,"hover",X),J=Z7(J,"event",X),Y=G&&J!==$,Y)J+=`
|
|
14976
|
+
`+rw();return J}function Z7($,X,Z){let J=new RegExp(`@client:${X}(?:\\s*\\(([^)]*)\\))?\\s*([\\s\\S]*?)@endclient`,"gi");return $.replace(J,(Y,G,Q)=>{let w={strategy:X};if(G)try{let H=G.split(",").map((_)=>_.trim());for(let _ of H){let[L,O]=_.split(":").map((F)=>F.trim());if(L&&O){let F=O.replace(/^['"]|['"]$/g,"");w[L]=F}}}catch{}let q=`island-${Math.random().toString(36).substring(2,9)}`,W=ow(Q.trim()),K=sw(Q.trim(),Z),z=[];if(w.rootMargin)z.push(`data-root-margin="${w.rootMargin}"`);if(w.threshold!==void 0)z.push(`data-threshold="${w.threshold}"`);if(w.media)z.push(`data-media="${w.media}"`);if(w.event)z.push(`data-event="${w.event}"`);if(W)z.push(`data-component="${W}"`);let B=Object.keys(K).length>0?`
|
|
14977
|
+
<script type="application/json" data-island-props="${q}">${JSON.stringify(K)}</script>`:"",j="";switch(X){case"load":j=zL(q);break;case"idle":j=UL(q,w);break;case"visible":j=jL(q,w);break;case"media":j=BL(q,w);break;case"hover":j=HL(q);break;case"event":j=_L(q,w);break}return`
|
|
14978
14978
|
<div data-island="${q}"
|
|
14979
14979
|
data-strategy="${X}"
|
|
14980
14980
|
${z.join(`
|
|
@@ -14984,7 +14984,7 @@ else {
|
|
|
14984
14984
|
${Q.trim()}${B}
|
|
14985
14985
|
</div>
|
|
14986
14986
|
${j}
|
|
14987
|
-
`})}function
|
|
14987
|
+
`})}function OL($){let X=/@client:only\s*([\s\S]*?)@endclient/gi;return $.replace(X,(Z,J)=>{let Y=`island-only-${Math.random().toString(36).substring(2,9)}`;return`
|
|
14988
14988
|
<div data-island="${Y}"
|
|
14989
14989
|
data-strategy="only"
|
|
14990
14990
|
class="stx-island stx-client-only">
|
|
@@ -15003,7 +15003,7 @@ else {
|
|
|
15003
15003
|
}
|
|
15004
15004
|
})();
|
|
15005
15005
|
</script>
|
|
15006
|
-
`})}function
|
|
15006
|
+
`})}function ew(){return`
|
|
15007
15007
|
/* Island base styles */
|
|
15008
15008
|
.stx-island {
|
|
15009
15009
|
display: contents;
|
|
@@ -15044,11 +15044,11 @@ else {
|
|
|
15044
15044
|
.stx-island.hydrated {
|
|
15045
15045
|
opacity: 1;
|
|
15046
15046
|
}
|
|
15047
|
-
`}function
|
|
15047
|
+
`}function $q($){if(typeof window>"u")return;let X=document.querySelector(`[data-island="${$}"]`);if(!X||X.classList.contains("hydrated"))return;X.classList.add("hydrated"),X.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))}function Xq($){if(typeof window>"u")return;document.querySelectorAll(`[data-strategy="${$}"]:not(.hydrated)`).forEach((Z)=>{Z.classList.add("hydrated"),Z.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function Zq(){if(typeof window>"u")return;document.querySelectorAll(".stx-island:not(.hydrated)").forEach((X)=>{X.classList.add("hydrated"),X.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function Jq($){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${$}"]`)?.classList.contains("hydrated")??!1}function Yq($){return new Promise((X)=>{if(typeof window>"u"){X();return}let Z=document.querySelector(`[data-island="${$}"]`);if(!Z){X();return}if(Z.classList.contains("hydrated")){X();return}Z.addEventListener("stx:hydrated",()=>X(),{once:!0})})}function Gq($){return $.replace(/@static\s*([\s\S]*?)@endstatic/gi,(X,Z)=>{return`<div class="stx-static">${Z.trim()}</div>`})}function Qq($){let X=$.map((Z)=>({id:Z.id,component:Z.component,strategy:Z.options.strategy,props:Z.props}));return`
|
|
15048
15048
|
<script type="application/json" id="stx-island-manifest">
|
|
15049
15049
|
${JSON.stringify(X)}
|
|
15050
15050
|
</script>
|
|
15051
|
-
`}var
|
|
15051
|
+
`}var LL;var qq=D(()=>{LL={processPartialHydrationDirectives:tw,processStaticDirectives:Gq,generatePartialHydrationCSS:ew,generateIslandManifest:Qq,createIslandRegistry:aw,hydrateIsland:$q,hydrateByStrategy:Xq,hydrateAll:Zq,isHydrated:Jq,onHydrated:Yq}});var Fq={};t(Fq,{watchMultiple:()=>jq,watchEffect:()=>Bq,watch:()=>Uq,unref:()=>Wq,toRefs:()=>Kq,throttledComputed:()=>Lq,stxWatchMultiple:()=>jq,stxWatchEffect:()=>Bq,stxWatch:()=>Uq,stxUnref:()=>Wq,stxToRefs:()=>Kq,stxThrottledComputed:()=>Lq,stxShallowRef:()=>zq,stxRef:()=>J7,stxIsRef:()=>r1,stxDebouncedComputed:()=>Oq,stxComputed:()=>U8,shallowRef:()=>zq,ref:()=>J7,processWatchDirectives:()=>_q,processComputedDirectives:()=>Hq,isRef:()=>r1,default:()=>FL,debouncedComputed:()=>Oq,computed:()=>U8});function J7($){let X=$,Z=new Set,J={get value(){if(O1){let Y=z8.get(J);if(!Y)Y=new Set,z8.set(J,Y);Y.add(O1)}return X},set value(Y){if(!Object.is(X,Y)){X=Y,Z.forEach((Q)=>Q(Y));let G=z8.get(J);if(G)G.forEach((Q)=>Q())}},subscribe(Y){return Z.add(Y),()=>Z.delete(Y)},peek(){return X}};return J}function r1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function Wq($){return r1($)?$.value:$}function Kq($){let X={};for(let Z in $)if(Object.prototype.hasOwnProperty.call($,Z))X[Z]=J7($[Z]);return X}function zq($){return J7($)}function U8($){let X=typeof $==="function",Z=X?$:$.get,J=X?void 0:$.set,Y=X?Object.is:$.equals||Object.is,G,Q=!0,w=new Set,q=new Set,W=()=>{if(Q=!0,q.size>0){let U=z.value;q.forEach((B)=>B(U))}};function K(){w.clear();let U=O1;O1=W,T9.push(W);try{return Z()}finally{T9.pop(),O1=U}}let z={get value(){if(O1){let U=z8.get(z);if(!U)U=new Set,z8.set(z,U);U.add(O1)}if(Q){let U=K();if(!Y(G,U))G=U;Q=!1}return G},set value(U){if(J)J(U);else console.warn("Computed property is readonly")},subscribe(U){return q.add(U),()=>q.delete(U)},peek(){if(Q)G=Z(),Q=!1;return G},invalidate(){Q=!0},get dirty(){return Q},get deps(){return w}};return z}function Uq($,X,Z={}){let{immediate:J=!1,deep:Y=!1,flush:G="pre",once:Q=!1}=Z,w,q=!0,W=!1,K=()=>{if(r1($))return Y?O5($.value):$.value;return $()},z=()=>{if(!q||W)return;let j=K();if(w!==void 0&&Object.is(w,j)&&!Y)return;let H=()=>{if(X(j,w),w=Y?O5(j):j,Q)B()};if(G==="sync")H();else if(G==="post")queueMicrotask(H);else Promise.resolve().then(H)},U=null;if(r1($))U=$.subscribe(()=>z());else U=U8($).subscribe(()=>z());if(J)w=void 0,z();else w=K();let B=()=>{if(q=!1,U)U(),U=null};return B.pause=()=>{W=!0},B.resume=()=>{W=!1},B}function jq($,X,Z={}){let{immediate:J=!1,once:Y=!1}=Z,G=$.map((z)=>r1(z)?z.value:void 0),Q=!0,w=!1,q=()=>{if(!Q||w)return;let z=$.map((U)=>r1(U)?U.value:void 0);if(X(z,G),G=[...z],Y)K()},W=$.map((z)=>{if(r1(z))return z.subscribe(()=>q());return()=>{}});if(J)q();let K=()=>{Q=!1,W.forEach((z)=>z())};return K.pause=()=>{w=!0},K.resume=()=>{w=!1},K}function Bq($,X={}){let{flush:Z="pre"}=X,J,Y=!0,G=!1,Q=()=>{if(!Y||G)return;if(J)J();let q=O1;O1=Q,T9.push(Q);try{J=$()}finally{T9.pop(),O1=q}};if(Z==="sync")Q();else if(Z==="post")queueMicrotask(Q);else Promise.resolve().then(Q);let w=()=>{if(Y=!1,J)J()};return w.pause=()=>{G=!0},w.resume=()=>{G=!1},w}function Hq($,X={},Z){let J=/@computed\s*\(\s*(\w+)\s*,\s*(.+?)\s*\)/gi;return $.replace(J,(Y,G,Q)=>{try{let q=Function(...Object.keys(X),`return ${Q}`)(...Object.values(X));return X[G]=q,`<!-- computed: ${G} = ${q} -->`}catch(w){return`<!-- computed error: ${G} - ${w} -->`}})}function _q($,X={},Z){let J=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return $.replace(J,(Y,G,Q)=>{return`
|
|
15052
15052
|
<script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
|
|
15053
15053
|
(function() {
|
|
15054
15054
|
// Watch implementation for ${G}
|
|
@@ -15060,9 +15060,9 @@ else {
|
|
|
15060
15060
|
}
|
|
15061
15061
|
})();
|
|
15062
15062
|
</script>
|
|
15063
|
-
`})}function
|
|
15064
|
-
`)}catch{return""}})}function
|
|
15065
|
-
`)}catch{return""}})}function
|
|
15063
|
+
`})}function O5($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Z)=>O5(Z));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let Z=new Map;return $.forEach((J,Y)=>Z.set(O5(Y),O5(J))),Z}if($ instanceof Set){let Z=new Set;return $.forEach((J)=>Z.add(O5(J))),Z}let X={};for(let Z in $)if(Object.prototype.hasOwnProperty.call($,Z))X[Z]=O5($[Z]);return X}function Oq($,X=100){let Z=J7($()),J=null,Y=()=>{if(J)clearTimeout(J);J=setTimeout(()=>{Z.value=$()},X)};return U8($).subscribe(()=>Y()),{get value(){return Z.value},set value(Q){console.warn("Debounced computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){Y()},get dirty(){return!1},get deps(){return new Set}}}function Lq($,X=100){let Z=J7($()),J=0,Y=()=>{let Q=Date.now();if(Q-J>=X)J=Q,Z.value=$()};return U8($).subscribe(()=>Y()),{get value(){return Z.value},set value(Q){console.warn("Throttled computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){Y()},get dirty(){return!1},get deps(){return new Set}}}var O1=null,T9,z8,FL;var Vq=D(()=>{T9=[],z8=new WeakMap;FL={ref:J7,computed:U8,watch:Uq,watchMultiple:jq,watchEffect:Bq,isRef:r1,unref:Wq,toRefs:Kq,shallowRef:zq,debouncedComputed:Oq,throttledComputed:Lq,processComputedDirectives:Hq,processWatchDirectives:_q}});function j8($,X){let Z={};for(let J of $)Z[J]=d1(X(J));return new Proxy({},{get:(J,Y)=>Z[Y]?.(),set:(J,Y,G)=>{if(Z[Y])Z[Y].set(G);else Z[Y]=d1(G);return!0},has:(J,Y)=>(Y in Z),deleteProperty:(J,Y)=>{return delete Z[Y],!0},ownKeys:()=>Reflect.ownKeys(Z),getOwnPropertyDescriptor:(J,Y)=>(Y in Z)?{enumerable:!0,configurable:!0,writable:!0,value:Z[Y]()}:void 0})}function VL($,X){let Z={};for(let J of X)Z[J]=$[J];return Z}function H6($,X){let Z=Object.keys($),J=j8(Z,(O)=>X?.[O]??$[O].getDefaultValue()),Y=j8(Z,()=>[]),G=j8(Z,()=>!1),Q=j8(Z,()=>!1),w=j8(Z,()=>!1),q=d1(!1);async function W(O){w[O]=!0;let F=await $[O].validate(J[O],J);return Y[O]=F,w[O]=!1,F.length===0}async function K(){q.set(!0);let O=await Promise.all(Z.map(W));return q.set(!1),O.every(Boolean)}function z(){for(let O of Z)J[O]=X?.[O]??$[O].getDefaultValue(),Y[O]=[],G[O]=!1,Q[O]=!1}function U(O){for(let F of Z)if(F in O)J[F]=O[F],Q[F]=!0}function B(O,F){J[O]=F,Q[O]=!0}function j(O,F=!0){if(G[O]=F,F)W(O)}function H(O){return{value:J[O],errors:Y[O],touched:G[O],dirty:Q[O],valid:Y[O].length===0,validating:w[O]}}function _(O){return async(F)=>{F?.preventDefault?.();for(let A of Z)G[A]=!0;if(await K())await O(VL(J,Z))}}return{values:J,errors:Y,touched:G,dirty:Q,get isValid(){return Z.every((O)=>Y[O].length===0)},get isValidating(){return q()||Z.some((O)=>w[O])},get isDirty(){return Z.some((O)=>Q[O])},validate:K,validateField:W,reset:z,setValues:U,setFieldValue:B,setFieldTouched:j,getFieldState:H,handleSubmit:_}}var Aq;var Rq=D(()=>{Z$();Aq=H6});var kq={};t(kq,{v:()=>AL,useForm:()=>H6,processHasErrorsDirective:()=>Mq,processFormValidationDirectives:()=>RL,processErrorsDirective:()=>Tq,processErrorDirective:()=>Nq,defineForm:()=>Aq,Validator:()=>Y7});class Y7{rules=[];defaultValue="";addRule($){let X=new Y7;return X.rules=[...this.rules,$],X.defaultValue=this.defaultValue,X}required($="This field is required"){return this.addRule({name:"required",message:$,validate:(X)=>{if(X===null||X===void 0)return $;if(typeof X==="string"&&X.trim()==="")return $;if(Array.isArray(X)&&X.length===0)return $;return!0}})}email($="Please enter a valid email"){return this.addRule({name:"email",message:$,validate:(X)=>{if(!X)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(X))||$}})}url($="Please enter a valid URL"){return this.addRule({name:"url",message:$,validate:(X)=>{if(!X)return!0;try{return new URL(String(X)),!0}catch{return $}}})}min($,X){let Z=X||`Must be at least ${$} characters`;return this.addRule({name:"min",message:Z,validate:(J)=>{if(!J)return!0;return String(J).length>=$||Z}})}max($,X){let Z=X||`Must be no more than ${$} characters`;return this.addRule({name:"max",message:Z,validate:(J)=>{if(!J)return!0;return String(J).length<=$||Z}})}length($,X,Z){let J=Z||`Must be between ${$} and ${X} characters`;return this.addRule({name:"length",message:J,validate:(Y)=>{if(!Y)return!0;let G=String(Y).length;return G>=$&&G<=X||J}})}pattern($,X="Invalid format"){return this.addRule({name:"pattern",message:X,validate:(Z)=>{if(!Z)return!0;return $.test(String(Z))||X}})}hasUppercase($="Must contain an uppercase letter"){return this.pattern(/[A-Z]/,$)}hasLowercase($="Must contain a lowercase letter"){return this.pattern(/[a-z]/,$)}hasNumber($="Must contain a number"){return this.pattern(/\d/,$)}hasSpecial($="Must contain a special character"){return this.pattern(/[!@#$%^&*(),.?":{}|<>]/,$)}alphanumeric($="Only letters and numbers allowed"){return this.pattern(/^[a-zA-Z0-9]+$/,$)}startsWithLetter($="Must start with a letter"){return this.pattern(/^[a-zA-Z]/,$)}noSpaces($="Spaces are not allowed"){return this.addRule({name:"noSpaces",message:$,validate:(X)=>{if(!X)return!0;return!String(X).includes(" ")||$}})}number($="Must be a number"){let X=this.addRule({name:"number",message:$,validate:(Z)=>{if(!Z&&Z!==0)return!0;return!Number.isNaN(Number(Z))||$}});return X.defaultValue=0,X}integer($="Must be a whole number"){return this.addRule({name:"integer",message:$,validate:(X)=>{if(!X&&X!==0)return!0;return Number.isInteger(Number(X))||$}})}positive($="Must be a positive number"){return this.addRule({name:"positive",message:$,validate:(X)=>{if(!X&&X!==0)return!0;return Number(X)>0||$}})}negative($="Must be a negative number"){return this.addRule({name:"negative",message:$,validate:(X)=>{if(!X&&X!==0)return!0;return Number(X)<0||$}})}minValue($,X){let Z=X||`Must be at least ${$}`;return this.addRule({name:"minValue",message:Z,validate:(J)=>{if(!J&&J!==0)return!0;return Number(J)>=$||Z}})}maxValue($,X){let Z=X||`Must be no more than ${$}`;return this.addRule({name:"maxValue",message:Z,validate:(J)=>{if(!J&&J!==0)return!0;return Number(J)<=$||Z}})}between($,X,Z){let J=Z||`Must be between ${$} and ${X}`;return this.addRule({name:"between",message:J,validate:(Y)=>{if(!Y&&Y!==0)return!0;let G=Number(Y);return G>=$&&G<=X||J}})}matches($,X){let Z=X||`Must match ${$}`;return this.addRule({name:"matches",message:Z,validate:(J,Y)=>{if(!Y)return!0;return J===Y[$]||Z}})}oneOf($,X){let Z=X||`Must be one of: ${$.join(", ")}`;return this.addRule({name:"oneOf",message:Z,validate:(J)=>{if(!J)return!0;return $.includes(J)||Z}})}notOneOf($,X){let Z=X||`Cannot be one of: ${$.join(", ")}`;return this.addRule({name:"notOneOf",message:Z,validate:(J)=>{if(!J)return!0;return!$.includes(J)||Z}})}date($="Must be a valid date"){return this.addRule({name:"date",message:$,validate:(X)=>{if(!X)return!0;let Z=new Date(String(X));return!Number.isNaN(Z.getTime())||$}})}before($,X){let Z=new Date($),J=X||`Must be before ${Z.toLocaleDateString()}`;return this.addRule({name:"before",message:J,validate:(Y)=>{if(!Y)return!0;return new Date(String(Y))<Z||J}})}after($,X){let Z=new Date($),J=X||`Must be after ${Z.toLocaleDateString()}`;return this.addRule({name:"after",message:J,validate:(Y)=>{if(!Y)return!0;return new Date(String(Y))>Z||J}})}custom($,X="Invalid value"){return this.addRule({name:"custom",message:X,validate:$})}async($,X="Invalid value"){return this.addRule({name:"async",message:X,async:!0,validate:$})}when($,X){let Z=new Y7;Z.rules=[...this.rules],Z.defaultValue=this.defaultValue;for(let J of X.getRules())Z.rules.push({...J,validate:(Y,G)=>{if(!$(Y,G||{}))return!0;return J.validate(Y,G)}});return Z}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default($){let X=new Y7;return X.rules=[...this.rules],X.defaultValue=$,X}async validate($,X){let Z=[];for(let J of this.rules){let Y=await J.validate($,X);if(Y!==!0)Z.push(Y)}return Z}validateSync($,X){let Z=[];for(let J of this.rules){if(J.async)continue;let Y=J.validate($,X);if(Y!==!0)Z.push(Y)}return Z}}function Nq($,X,Z){let J=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return $.replace(J,(Y,G,Q)=>{try{let w=G.trim().split("."),q=X;for(let K of w)if(q&&typeof q==="object"&&K in q)q=q[K];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((K)=>{return Q.replace(/\{\{\s*message\s*\}\}/g,K)}).join(`
|
|
15064
|
+
`)}catch{return""}})}function Tq($,X,Z){let J=/@errors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderrors/g;return $.replace(J,(Y,G,Q)=>{try{let w=G.trim().split("."),q=X;for(let K of w)if(q&&typeof q==="object"&&K in q)q=q[K];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((K)=>Q.replace(/\{\{\s*message\s*\}\}/g,K)).join(`
|
|
15065
|
+
`)}catch{return""}})}function Mq($,X,Z){let J=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return $.replace(J,(Y,G,Q)=>{try{let w=G.trim().split("."),q=X;for(let K of w)if(q&&typeof q==="object"&&K in q)q=q[K];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return Q}catch{return""}})}function RL($,X,Z){let J=$;return J=Nq(J,X,Z),J=Tq(J,X,Z),J=Mq(J,X,Z),J}var AL;var Iq=D(()=>{Rq();AL=new Y7});var yq={};t(yq,{processXElementDirectives:()=>NL,hasXElementDirectives:()=>Dq,generateXElementRuntime:()=>Eq});function Eq(){return`<script data-stx-scoped data-stx-x-element-runtime data-stx-run="always">
|
|
15066
15066
|
(function() {
|
|
15067
15067
|
'use strict';
|
|
15068
15068
|
|
|
@@ -15346,9 +15346,9 @@ else {
|
|
|
15346
15346
|
// Expose for manual initialization
|
|
15347
15347
|
window.XElement = XElement;
|
|
15348
15348
|
})();
|
|
15349
|
-
</script>`}function
|
|
15349
|
+
</script>`}function Dq($){return/\bx-data(?:\s|=)/.test($)}function NL($){let X=/<script\b(?=[^>]*\bdata-stx-x-element-runtime\b)[^>]*>[\s\S]*?<\/script>\s*/gi,Z=$.match(X)||[],J=Z.length>0?$.replace(X,""):$;if(!Dq(J))return J;let Y=Z[0]?.trim()||Eq(),G=J.lastIndexOf("</body>");if(G!==-1)return J.slice(0,G)+Y+`
|
|
15350
15350
|
`+J.slice(G);return J+`
|
|
15351
|
-
`+Y}var
|
|
15351
|
+
`+Y}var bq={};t(bq,{rewriteImagesWithSiblings:()=>kL});import D1 from"path";async function kL($,X){let Z=X.formats??ML;if(!X.publicDir)return $;let J=DL($),Y=[],G=/<img\b[^>]*?>/gi,Q=[],w;while((w=G.exec($))!==null){let z=w[0],U=z.match(/\bsrc=["']([^"']+)["']/i);if(!U)continue;if(yL(w.index,J))continue;Q.push({idx:w.index,length:z.length,src:U[1],raw:z})}if(Q.length===0)return $;let q=await Promise.all(Q.map(async(z)=>{let U=await IL(z.src,X.publicDir,Z);return{match:z,sources:U}}));for(let{match:z,sources:U}of q){if(U.length===0)continue;let j=`<picture>${U.map((H)=>`<source type="${H.mime}" srcset="${bL(H.url)}">`).join("")}${z.raw}</picture>`;Y.push({start:z.idx,end:z.idx+z.length,replacement:j})}if(Y.length===0)return $;let W="",K=0;for(let z of Y)W+=$.slice(K,z.start),W+=z.replacement,K=z.end;return W+=$.slice(K),W}async function IL($,X,Z){if(!EL($))return[];let J=D1.extname($).toLowerCase();if(!TL.has(J))return[];if(!$.startsWith("/"))return[];let Y=D1.join(X,$.slice(1)),G=D1.dirname(Y),Q=D1.basename(Y,J),w=D1.resolve(G),q=D1.resolve(X);if(!w.startsWith(q))return[];let W=D1.posix.dirname($),K=Z.map(async(U)=>{let B=D1.join(G,`${Q}${U.ext}`);if(!await Bun.file(B).exists())return null;return{url:D1.posix.join(W,`${Q}${U.ext}`),mime:U.mime}});return(await Promise.all(K)).filter((U)=>U!==null)}function EL($){if(!$)return!1;if($.startsWith("http://")||$.startsWith("https://"))return!1;if($.startsWith("//"))return!1;if($.startsWith("data:"))return!1;return!0}function DL($){let X=[],Z=/<picture\b[^>]*>[\s\S]*?<\/picture>/gi,J;while((J=Z.exec($))!==null)X.push([J.index,J.index+J[0].length]);return X}function yL($,X){for(let[Z,J]of X)if($>=Z&&$<J)return!0;return!1}function bL($){return $.replace(/&/g,"&").replace(/"/g,""")}var TL,ML;var Sq=D(()=>{TL=new Set([".jpg",".jpeg",".png",".gif"]),ML=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var Cq=()=>{};function _6($){return $.pwa?.serviceWorker?.fileName||"sw.js"}var Pq=D(()=>{Cq()});var vq={};t(vq,{injectPwaTags:()=>SL,generateThemeColorMeta:()=>vL,generateSwRegistrationScript:()=>CL,generatePwaTags:()=>M9,generateManifestLink:()=>PL});function M9($){let X=$.pwa;if(!X?.enabled)return"";let Z=X.manifest,J=X.icons?.outputDir?`/${X.icons.outputDir}`:"/pwa-icons",Y=_6($),G=`
|
|
15352
15352
|
<!-- stx PWA Meta Tags -->
|
|
15353
15353
|
<link rel="manifest" href="/manifest.json">
|
|
15354
15354
|
<meta name="theme-color" content="${O6(Z?.themeColor||"#000000")}">
|
|
@@ -15392,12 +15392,12 @@ if ('serviceWorker' in navigator) {
|
|
|
15392
15392
|
});
|
|
15393
15393
|
}
|
|
15394
15394
|
</script>
|
|
15395
|
-
<!-- End stx PWA -->`,G}function
|
|
15396
|
-
`+$.slice(Y)}return $+
|
|
15397
|
-
</head>`)}function
|
|
15395
|
+
<!-- End stx PWA -->`,G}function SL($,X){let Z=X.pwa;if(!Z?.enabled||Z.autoInject===!1)return $;if($.includes("<!-- stx PWA Meta Tags -->"))return $;if(!$.includes("</head>")){let Y=$.lastIndexOf("</body>");if(Y!==-1){let G=M9(X);return $.slice(0,Y)+G+`
|
|
15396
|
+
`+$.slice(Y)}return $+M9(X)}let J=M9(X);return $.replace("</head>",`${J}
|
|
15397
|
+
</head>`)}function CL($){if(!$.pwa?.enabled)return"";return`<script>
|
|
15398
15398
|
if ('serviceWorker' in navigator) {
|
|
15399
15399
|
window.addEventListener('load', function() {
|
|
15400
|
-
navigator.serviceWorker.register('/${
|
|
15400
|
+
navigator.serviceWorker.register('/${_6($)}')
|
|
15401
15401
|
.then(function(registration) {
|
|
15402
15402
|
console.log('[PWA] Service Worker registered:', registration.scope);
|
|
15403
15403
|
})
|
|
@@ -15406,54 +15406,54 @@ if ('serviceWorker' in navigator) {
|
|
|
15406
15406
|
});
|
|
15407
15407
|
});
|
|
15408
15408
|
}
|
|
15409
|
-
</script>`}function
|
|
15409
|
+
</script>`}function PL(){return'<link rel="manifest" href="/manifest.json">'}function vL($){return`<meta name="theme-color" content="${O6($)}">`}function O6($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var xq=D(()=>{Pq()});import xL from"fs";import f0 from"path";function fq($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function fL($,X){let Z=$.length,J=X,Y=!0,G=[],Q=(w)=>w+9<=Z&&$[w]==="<"&&$[w+1]==="/"&&($[w+2]==="s"||$[w+2]==="S")&&($[w+3]==="c"||$[w+3]==="C")&&($[w+4]==="r"||$[w+4]==="R")&&($[w+5]==="i"||$[w+5]==="I")&&($[w+6]==="p"||$[w+6]==="P")&&($[w+7]==="t"||$[w+7]==="T")&&($[w+8]===">"||/\s/.test($[w+8]));while(J<Z){let w=$[J];if(Q(J))return J;if(w==="/"&&$[J+1]==="/"){if(J=$.indexOf(`
|
|
15410
15410
|
`,J+2),J===-1)return-1;J+=1,Y=!0;continue}if(w==="/"&&$[J+1]==="*"){let q=$.indexOf("*/",J+2);if(q===-1)return-1;J=q+2,Y=!0;continue}if(w==="/"&&Y){let q=J+1,W=!1;while(q<Z){let K=$[q];if(K==="\\"){q+=2;continue}if(K==="[")W=!0;else if(K==="]")W=!1;else if(K==="/"&&!W){q++;break}else if(K===`
|
|
15411
15411
|
`){q=-1;break}q++}if(q===-1){J++,Y=!1;continue}while(q<Z&&/[a-z]/.test($[q]))q++;J=q,Y=!1;continue}if(w==="'"||w==='"'){let q=w;J++;while(J<Z){if($[J]==="\\"){J+=2;continue}if($[J]===q){J++;break}if($[J]===`
|
|
15412
|
-
`)break;J++}Y=!1;continue}if(w==="`"){J++;while(J<Z){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++;break}if($[J]==="$"&&$[J+1]==="{"){G.push(!0),J+=2,Y=!0;break}J++}if(G.length===0)Y=!1;continue}if(w==="}"&&G.length>0){G.pop(),J++;while(J<Z){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++,Y=!1;break}if($[J]==="$"&&$[J+1]==="{"){G.push(!0),J+=2,Y=!0;break}J++}continue}if(/\s/.test(w));else if(/[)\].\w$]/.test(w))Y=!1;else Y=!0;J++}return-1}function
|
|
15412
|
+
`)break;J++}Y=!1;continue}if(w==="`"){J++;while(J<Z){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++;break}if($[J]==="$"&&$[J+1]==="{"){G.push(!0),J+=2,Y=!0;break}J++}if(G.length===0)Y=!1;continue}if(w==="}"&&G.length>0){G.pop(),J++;while(J<Z){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++,Y=!1;break}if($[J]==="$"&&$[J+1]==="{"){G.push(!0),J+=2,Y=!0;break}J++}continue}if(/\s/.test(w));else if(/[)\].\w$]/.test(w))Y=!1;else Y=!0;J++}return-1}function G7($,X){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),J=new RegExp(`<script\\b(?=[^>]*\\b${Z}(?:\\s|=|/?>))[^>]*>`,"i").exec($);if(!J)return null;let Y=J.index+J[0].length,G=$.indexOf("</script>",Y);if(G===-1)return null;let Q=$.indexOf(">",G);if(Q===-1)return null;return{start:J.index,end:Q+1}}function gq($){let X=0;while(X<$.length){let Z=$.indexOf("<",X);if(Z===-1)return-1;if($.startsWith("<!--",Z)){let G=$.indexOf("-->",Z+4);X=G===-1?$.length:G+3;continue}let J=$.slice(Z),Y=/^<style\b[^>]*>/i.exec(J);if(Y){let G=$.toLowerCase().indexOf("</style>",Z+Y[0].length);X=G===-1?$.length:G+8;continue}if(/^<script\b[^>]*>/i.test(J))return Z;X=Z+1}return-1}function gL($){let X=G7($,"data-stx-runtime");if(!X)return $;let Z=gq($);if(Z===-1||Z===X.start)return $;let J=$.slice(X.start,X.end),Y=$.slice(0,X.start)+$.slice(X.end),G=gq(Y);if(G===-1)return J+`
|
|
15413
15413
|
`+Y;return Y.slice(0,G)+J+`
|
|
15414
|
-
`+Y.slice(G)}async function R0($,X,Z,J,Y){if(J.ssr===!1&&!J.autoShell&&J.buildMode==="spa")return $;if(X.__stx_signals_gate===void 0)X.__stx_signals_gate=N1($);let G=!X.__stxProcessingDepth;if(G)g2(X);if(!X.__stxProcessingDepth)X.__stxProcessingDepth=0;if(X.__stxProcessingDepth++,!X.__onceStore)X.__onceStore=new Set;if((J.debug||!
|
|
15415
|
-
`),...W.htmlAttrs&&{htmlAttrs:
|
|
15416
|
-
<meta name="stx-layout" content="${
|
|
15417
|
-
<meta name="stx-layout-group" content="${
|
|
15418
|
-
`+K+Q.slice(z.end)}}catch{}if(G)try{let{getFrameworkComposableScript:w}=await $0("stx/framework-composables",()=>Promise.resolve().then(() => (
|
|
15419
|
-
`+q+Q.slice(W.end)}}catch{}if(G)try{let{getComposableScript:w}=await $0("stx/composable-loader",()=>Promise.resolve().then(() => (
|
|
15420
|
-
`+K+Q.slice(z.end)}}catch{}if(G)Q=
|
|
15414
|
+
`+Y.slice(G)}async function R0($,X,Z,J,Y){if(J.ssr===!1&&!J.autoShell&&J.buildMode==="spa")return $;if(X.__stx_signals_gate===void 0)X.__stx_signals_gate=N1($);let G=!X.__stxProcessingDepth;if(G)g2(X);if(!X.__stxProcessingDepth)X.__stxProcessingDepth=0;if(X.__stxProcessingDepth++,!X.__onceStore)X.__onceStore=new Set;if((J.debug||!r7()&&!d$())&&Z&&Z.endsWith(".stx"))U3($,Z);try{return await wZ.timeAsync("template-processing",async()=>{let Q=await hL($,X,Z,J,Y);if(G)Q=G6(Q);if(G&&J.autoShell&&J.buildMode!=="compile"){let w=J.app?.head||{},W=(X.__stx_runtime_head||null)??RX(),K=(X.__stx_head_raw||"").trim(),z,U=K.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(U)z=U[1].trim(),K=K.replace(U[0],"").trim();let B=X.__sections?.title,j=W.title||z||B,H=!W.title&&(!!z||!!B),_=W.meta||[],L=new Set(_.map((R)=>t5(R)).filter(Boolean)),O={...w,...j&&{title:j},meta:[...(w.meta||[]).filter((R)=>!L.has(t5(R))),..._],link:[...w.link||[],...W.link||[]],script:[...w.script||[],...W.script||[]],headRaw:[w.headRaw,K].filter(Boolean).join(`
|
|
15415
|
+
`),...W.htmlAttrs&&{htmlAttrs:Zw(w.htmlAttrs,W.htmlAttrs)},...W.bodyAttrs&&{bodyAttrs:{...w.bodyAttrs||{},...W.bodyAttrs}}},F=Z6(Q);if(Q=Qw(Q,O,{...H&&{titleIsHtml:!0},...J.app?.colorMode&&{colorMode:J.app.colorMode}}),F)Q=Gw(Q,w),Q=Jw(Q,O.htmlAttrs);let V=Q.match(/<!-- stx-layout: ([^ ]+) -->/);if(V&&Q.includes("<head")){let R=V[1],T=R7(R);Q=Q.replace(/<head\b[^>]*>/i,(k)=>`${k}
|
|
15416
|
+
<meta name="stx-layout" content="${fq(R)}">
|
|
15417
|
+
<meta name="stx-layout-group" content="${fq(T)}">`)}let A=Q.match(/function (__stx_setup_\d+_\d+)\(/),N=A?c7(Q):null;if(A&&N&&!/\bdata-stx=/.test(N.tag)){Q=r8(Q,(T,k)=>`<body${k} data-stx="${A[1]}">`);let R=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${A[1]}"`,"i");Q=Q.replace(R,"$1")}}if(G){Q=Yw(Q);let w=J.app?.colorMode;if(w)Q=aQ(Q,w);Q=eQ(Q),Q=gL(Q)}if(G)try{let{getStoreScript:w}=await $0("stx/store-loader",()=>Promise.resolve().then(() => (_w(),Hw))),q=J.storesDir,W=await w(q);if(W){let K=`<script data-stx-stores>${W}</script>`,z=G7(Q,"data-stx-runtime");if(z)Q=Q.slice(0,z.end)+`
|
|
15418
|
+
`+K+Q.slice(z.end)}}catch{}if(G)try{let{getFrameworkComposableScript:w}=await $0("stx/framework-composables",()=>Promise.resolve().then(() => (Aw(),Vw))),q=await w(Q);if(q){let W=G7(Q,"data-stx-stores")||G7(Q,"data-stx-runtime");if(W)Q=Q.slice(0,W.end)+`
|
|
15419
|
+
`+q+Q.slice(W.end)}}catch{}if(G)try{let{getComposableScript:w}=await $0("stx/composable-loader",()=>Promise.resolve().then(() => (Tw(),Nw))),q=J.composablesDir,W=await w(q);if(W){let K=`<script data-stx-composables>${W}</script>`,z=G7(Q,"data-stx-stores")||G7(Q,"data-stx-runtime");if(z)Q=Q.slice(0,z.end)+`
|
|
15420
|
+
`+K+Q.slice(z.end)}}catch{}if(G)Q=tQ(Q);if(G&&X.__stx_inject_css!==!1)Q=await t7(Q,void 0,J.buildMode==="serve");if(G)Q=UZ(Q);return Q=Q.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),Q})}catch(Q){if(Q instanceof p$)throw Q;let w=Q instanceof Error?Q.message:String(Q),q=new z5(`Template processing failed: ${w}`,Z,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(Q1.log(q,{filePath:Z,context:X}),d4.logDetailedError(q,{filePath:Z,template:$.substring(0,500)}),J.debug)throw q;return h4.createFallbackContent("Template Processing",q)}}async function hL($,X,Z,J,Y){let G=process.cwd(),Q={...J,partialsDir:J.partialsDir&&!f0.isAbsolute(J.partialsDir)?f0.resolve(G,J.partialsDir):J.partialsDir,componentsDir:J.componentsDir&&!f0.isAbsolute(J.componentsDir)?f0.resolve(G,J.componentsDir):J.componentsDir,layoutsDir:J.layoutsDir&&!f0.isAbsolute(J.layoutsDir)?f0.resolve(G,J.layoutsDir):J.layoutsDir},w=Q,q=$;await mL(Z,X),dL(X,w),q=await u5(()=>CQ(q,X,Z,w),q,(F)=>{Q1.log(F,{filePath:Z,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${Z}: ${F.message}`)}),q=q.replace(/\{\{--[\s\S]*?--\}\}/g,"");let W=z1(q,f7,(F,V)=>`\x00STX_HTML_COMMENT_${V}\x00`);q=W.output;let K=W.tokens,z=(F)=>K.length===0?F:F.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(V,A)=>K[Number(A)]??""),U="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,U),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(F,V)=>{return`{{ ${V} }}`}),q=lQ(q),q=await Kw(q,Z,Y);let B={};q=n3(q,B);let j={...X.__sections||{}},H="",_=XG($9($)),L=/@nolayout\b/.test(q)||_===!1;if(/@nolayout\b/.test(q))q=q.replace(/@nolayout\b\s*/g,"");let O=q.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(O)H=O[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");else if(typeof _==="string"){if(H=_,!/@section\s*\(/.test(q))q=`@section('content')
|
|
15421
15421
|
${q.trim()}
|
|
15422
|
-
@endsection`}if(!
|
|
15422
|
+
@endsection`}if(!H&&!L&&w.defaultLayout){let F=X6(q),V=/@section\s*\(/.test(q);if(!F||V){let A="",N=f0.dirname(Z),R=w.layoutsDir?f0.dirname(w.layoutsDir):process.cwd();for(let T=0;T<20;T++){let k=f0.join(N,"_layout.stx");if(await i(k)){A=k;break}let M=f0.dirname(N);if(M===N||M.length<R.length)break;N=M}if(A)H=A;else if(w.layoutsDir){let T=f0.isAbsolute(w.layoutsDir)?w.layoutsDir:f0.resolve(process.cwd(),w.layoutsDir),k=f0.join(T,`${w.defaultLayout}.stx`);if(await i(k))H=k}if(H&&!V)q=`@section('content')
|
|
15423
15423
|
${q.trim()}
|
|
15424
|
-
@endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,A)=>{return j[V]=A,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(F,V,A)=>{if(/^(['"]).*\1$/.test(A.trim()))return F;try{let
|
|
15424
|
+
@endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,A)=>{return j[V]=A,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(F,V,A)=>{if(/^(['"]).*\1$/.test(A.trim()))return F;try{let N=w0(A.trim(),X);if(N===void 0)return F;return j[V]=String(N??""),""}catch{return F}}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(F,V,A)=>{if(A.includes("@parent"))j[V]=A.replace("@parent",L5);else j[V]=A.trim();return""}),X.__sections=j,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(F,V,A)=>{return j[V]||A||""}),!("slot"in X)||X.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""});if(q=r3(q,B),H){let F=[],V=U1(q),A=z1(V.output,y5,(N,R)=>`\x00STX_ORPHAN_STYLE_${R}\x00`);if(q=A.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(N,R,T)=>{let k=R==="SCRIPT"?V.scripts[Number(T)]:A.tokens[Number(T)];if(k)F.push(k);return""}),F.length>0){let N=F.join(`
|
|
15425
15425
|
`);j.content=j.content?`${j.content}
|
|
15426
|
-
${
|
|
15427
|
-
${q}`,z(q)}catch(F){return Q1.log(F instanceof Error?F:Error(String(F)),{layoutPath:
|
|
15428
|
-
`;if(G=k(G,X),G=M(G,X),G=
|
|
15426
|
+
${N}`:N,X.__sections=j}}if(H)try{let F;if(f0.isAbsolute(H))F=H,Y.add(H);else F=await u5(()=>Y4(H,Z,Q,Y),null,()=>{throw new z5(`Failed to resolve layout path: ${H}`,Z,void 0,void 0,`Layout referenced from ${Z}`)});if(!F){let k=[];try{let E=Q.layoutsDir;if(E){let I=f0.isAbsolute(E)?E:f0.resolve(process.cwd(),E);k=xL.readdirSync(I).filter((S)=>S.endsWith(".stx")).map((S)=>S.replace(/\.stx$/,"")).sort()}}catch{}let M=`Layout not found: ${H} (referenced from ${Z})`+(k.length>0?`. Available layouts: ${k.join(", ")}`:Q.layoutsDir?`. No .stx layouts found in ${Q.layoutsDir}`:"");if(Q1.log(Error(M),{layoutPath:H,filePath:Z,available:k},"error"),console.error(`[stx] ${M}`),Q.debug)throw new z5(M,Z);return q}let V=await u5(()=>Bun.file(F).text(),"",()=>{throw new z5(`Failed to read layout file: ${F}`,Z,void 0,void 0,"Layout content could not be loaded")}),A=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(A){if(Q.debug)console.log(`Found nested layout: ${A[1]} in ${F}`);let k={},M=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(S,b,y)=>{return k[b]=y.trim(),""});for(let[S,b]of Object.entries(k))if(j[S]&&j[S].includes(L5)){let y=j[S].indexOf(L5);j[S]=j[S].slice(0,y)+b+j[S].slice(y+L5.length)}else if(!j[S])j[S]=b;let E={...X,__sections:j},I=`@layout('${A[1]}')${M}`;return await R0(I,E,F,Q,Y)}let N=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),R=n3(N,B),T={};return R=R.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(k,M,E)=>{return T[M]=E.trim(),`@slot('${M}')`}),R=R.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(k,M,E)=>{if(j[M]){let I=j[M];if(I.includes(L5)){let S=T[M]||"",b=I.indexOf(L5);I=I.slice(0,b)+S+I.slice(b+L5.length)}return I}return E||""}),R=uL(R,j),R=R.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),R=r3(R,B),X.__originalFilePath=Z,q=await hq(R,X,F,Q,Y),q=`<!-- stx-layout: ${H} -->
|
|
15427
|
+
${q}`,z(q)}catch(F){return Q1.log(F instanceof Error?F:Error(String(F)),{layoutPath:H,filePath:Z},"error"),`[Error processing layout: ${F instanceof Error?F.message:String(F)}]`}return z(await hq(q,X,Z,Q,Y))}function uL($,X){return $.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Z,J,Y)=>{let G=X[J];if(G!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${J.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(G))return G}return Y||""})}function dL($,X){if($.__stx_sfc_mode=!0,$.__stx_options=X,X.buildMode)$.__stx_buildMode=X.buildMode;let Z=X.envPrefix||"STX_PUBLIC_",J={};for(let[Y,G]of Object.entries(process.env))if(Y.startsWith(Z)&&G!==void 0)J[Y]=G;$.$env=J}async function mL($,X){await u5(()=>gQ($,X),void 0,(Z)=>{Q1.log(Z,{filePath:$,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${$}: ${Z.message}`)})}async function cL($,X,Z){let J=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,Y;while((Y=J.exec($))!==null){let G=Y[1],Q=Y[2];if(!/\bserver\b/.test(G)||!Q.trim())continue;try{let{extractVariables:q}=await $0("stx/variable-extractor",()=>Promise.resolve().then(() => (d7(),p8)));await q(Q,X,Z,{preserveExisting:!0})}catch(q){let W=q instanceof Error?q:Error(String(q));Q1.log(W,{filePath:Z,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Z}: ${W.message}`)}}}async function lL($,X,Z){try{let{interpolateScriptsInTemplate:J}=await $0("stx/expressions",()=>Promise.resolve().then(() => (j1(),YZ)));return J($,X,{skipServer:!0})}catch(J){let Y=J instanceof Error?J:Error(String(J));return Q1.log(Y,{filePath:Z,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Z}: ${Y.message}`),$}}async function hq($,X,Z,J,Y){let G=$,Q=J;if(await cL(G,X,Z),G=await lL(G,X,Z),G=await IQ(G,X,Z),G=await EQ(G,X,Z),G=await VG(G,X,Z,Q),N1(G))G=tX(G,X),G=$4(G,X);G=eX(G);let{processStreamDirectives:w}=await $0("stx/streaming",()=>Promise.resolve().then(() => (z3(),K3)));G=w(G,X),G=c3(G,X,Z,Q),G=await oQ(G,X,Z,Q,Y),G=await j9(G,X,Z,Q,Y),G=X2(G,X,Z,Q);let{processDeferDirectives:q}=await $0("stx/defer",()=>Promise.resolve().then(() => kw));G=q(G,X,Z);let{processTeleportDirectives:W}=await $0("stx/teleport",()=>Promise.resolve().then(() => Ew));G=W(G,X,Z);let{processTransitionDirectives:K,processTransitionAttributes:z}=await $0("stx/transitions",()=>Promise.resolve().then(() => Sw));G=K(G,X,Z),G=z(G);let{processErrorBoundaryDirectives:U}=await $0("stx/error-boundaries",()=>Promise.resolve().then(() => Pw));G=U(G,X,Z);let{processSuspenseDirectives:B}=await $0("stx/suspense",()=>Promise.resolve().then(() => vw));G=B(G,X,Z);let{processAsyncDirectives:j}=await $0("stx/async-components",()=>Promise.resolve().then(() => hw));G=j(G,X,Z);let{processKeepAliveDirectives:H}=await $0("stx/keep-alive",()=>Promise.resolve().then(() => dw));G=H(G,X,Z);let{processVirtualListDirectives:_,processVirtualGridDirectives:L,processInfiniteListDirectives:O}=await $0("stx/virtual-scrolling",()=>Promise.resolve().then(() => (nw(),iw)));G=_(G,X,Z),G=L(G,X,Z),G=O(G,X,Z);let{processPartialHydrationDirectives:F,processStaticDirectives:V}=await $0("stx/partial-hydration",()=>Promise.resolve().then(() => (qq(),wq)));G=F(G,X,Z),G=V(G);let{processComputedDirectives:A,processWatchDirectives:N}=await $0("stx/computed",()=>Promise.resolve().then(() => (Vq(),Fq)));G=A(G,X,Z),G=N(G,X,Z);let{processFormValidationDirectives:R}=await $0("stx/forms-validation",()=>Promise.resolve().then(() => (Iq(),kq)));G=R(G,X,Z);let{processHeadDirective:T,processTitleDirective:k,processMetaDirective:M,resetHead:E}=await $0("stx/head",()=>Promise.resolve().then(() => (v5(),TX)));if(!X.__stx_head_preset&&!X.__stx_runtime_head)E();let I=T(G);if(G=I.content,I.headContent)X.__stx_head_raw=`${X.__stx_head_raw||""}${I.headContent}
|
|
15428
|
+
`;if(G=k(G,X),G=M(G,X),G=xQ(G),G=s4(G,X),G=LG(G),G=bQ(G),G=await i3(G,X,Z,Q,Y),G=await j9(G,X,Z,Q,Y),X.__stxProcessingDepth===1)G=u2(G,X);if(G=G.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),G=G6(G),G=I1(G,X,Z),G=a4(G,X),G=t4(G,X),G=Y9(G,X),G=DG(G,X),G=yG(G,X),G=await QG(G,X,Z,Q),G=await OJ(G,X,Z),G=await vG(G,X,Z,Q),G=r6(G,X,Z,Q),G=kY(G,X,Z,Q),G=IY(G,X,Z),G=EY(G,X,Z,Q),G=HG(G,X,Z,Q),G=J6(G,X),G=Y6(G),G=Uw(G),!Q.skipEventDirectives)G=A2(G,X,Z);if(G=YG(G,X,Z),Q.debug){let r=/\bx-data\s*=/.test(G),e=K$($);if(r&&e)console.warn(`[stx] ${Z}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
|
|
15429
15429
|
Both work on the same page, but they manage separate scopes.
|
|
15430
|
-
Prefer signals (state/derived/effect) for new components.`)}G=
|
|
15430
|
+
Prefer signals (state/derived/effect) for new components.`)}G=dQ(G,X),G=await x1(G,X,Z),G=jw(G),G=Bw(G),G=aY(G);let{processXElementDirectives:S}=await $0("stx/x-element",()=>Promise.resolve().then(() => yq));G=S(G);let b=X.__originalFilePath||Z,y=P7(X);if(G=await X4(G,Q,b,y),G=MG(G,X),G=await PQ(G,X,Z,Q),Q.media?.image?.autoSiblings){let r=Q.publicDir||"public",{rewriteImagesWithSiblings:e}=await $0("stx/image-optimization/auto-sibling",()=>Promise.resolve().then(() => (Sq(),bq)));G=await e(G,{publicDir:r})}if(Q.seo?.enabled)G=DY(G,X,Q);let P=(r,e,U0=!0)=>{if(!e)return r;let m0=e.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),C0=r.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(m0&&C0){if(U0)r=r.replace(C0[0],m0[0]);if(e=e.replace(m0[0],"").trim(),!e)return r}if(/<\/head>/i.test(r))return r.replace(/<\/head>/i,`${e}
|
|
15431
15431
|
</head>`);if(/<head\b[^>]*>/i.test(r))return r.replace(/(<head\b[^>]*>)/i,`$1
|
|
15432
15432
|
${e}`);if(/<html\b[^>]*>/i.test(r))return r.replace(/(<html\b[^>]*>)/i,`$1
|
|
15433
15433
|
<head>
|
|
15434
15434
|
${e}
|
|
15435
|
-
</head>`);return r},{renderHead:x,getHead:f}=await $0("stx/head",()=>Promise.resolve().then(() => (
|
|
15436
|
-
${
|
|
15435
|
+
</head>`);return r},{renderHead:x,getHead:f}=await $0("stx/head",()=>Promise.resolve().then(() => (v5(),TX))),l=X.__stx_runtime_head??f();if(l.title||l.meta?.length||l.link?.length){let r=x(l);if(r)G=P(G,r)}if(I.headContent)G=P(G,I.headContent,!l.title);if(Q.csp?.enabled&&Q.csp.addMetaTag)G=jG(G,Q.csp,X);if(Q.analytics?.enabled)G=eY(G,Q);if(Q.heatmap?.enabled)G=G2(G,Q);if(Q.pwa?.enabled&&Q.pwa.autoInject!==!1){let{injectPwaTags:r}=await $0("stx/pwa/inject",()=>Promise.resolve().then(() => (xq(),vq)));G=r(G,Q)}let _0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(G),S0=/\bSTX\.\w+/.test(G),z0=/window\.STX\s*=/.test(G);if(_0&&S0&&!z0){let e=`<script data-stx-scoped data-stx-run="once">
|
|
15436
|
+
${nY()}
|
|
15437
15437
|
</script>`;if(G.includes("</head>")){let U0=G.indexOf("</head>"),C0=G.slice(0,U0).indexOf("<script");if(C0!==-1){let C=G.slice(0,C0),g=G.slice(C0);G=C+e+`
|
|
15438
15438
|
`+g}else G=G.replace("</head>",`${e}
|
|
15439
15439
|
</head>`)}else if(G.includes("<body"))G=G.replace(/<body([^>]*)>/,`<body$1>
|
|
15440
15440
|
${e}`);else G=e+`
|
|
15441
|
-
`+G}{let{scanScriptTags:r}=await $0("stx/signal-processing",()=>Promise.resolve().then(() => (
|
|
15442
|
-
`+G.slice(U0)}X.__stx_event_bindings=[]}}if(!ZJ(G)&&JJ(G))G=await
|
|
15441
|
+
`+G}{let{scanScriptTags:r}=await $0("stx/signal-processing",()=>Promise.resolve().then(() => (p7(),z$))),e=[];for(let U0 of r(G)){if(!/\bserver\b/i.test(U0.attrs))continue;let m0=U0.start+U0.fullMatch.indexOf(">")+1,C0=fL(G,m0);if(C0===-1)continue;let C=C0+9;while(C<G.length&&/\s/.test(G[C]))C++;e.push({start:U0.start,end:C})}for(let U0=e.length-1;U0>=0;U0--){let{start:m0,end:C0}=e[U0];G=G.substring(0,m0)+G.substring(C0)}}let k0=d8(G,Z);if(k0.hasScoped)G=k0.html;let d=X.__stx_event_bindings||[],Y0=!1,Q0=[],d0=/\s:[a-z][\w.-]*\s*=/.test(G),{scanScriptTags:Q7}=await $0("stx/signal-processing",()=>Promise.resolve().then(() => (p7(),z$)));for(let r of Q7(G,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))Q0.push({match:r.fullMatch,attrs:r.attrs,content:r.body});for(let{match:r,attrs:e,content:U0}of Q0){Y0=!0;let m0=U0;w6(U0,Z,J.strict,X.__originalFilePath);let C0=await v7(U0,{eventBindings:d,attrs:e,hasColonDirectives:d0,templateContent:$,filePath:Z,projectRoot:process.cwd(),production:J.buildMode==="compile",serverData:y});G=G.replace(r,()=>C0)}if(Y0)X.__stx_event_bindings=[];if(!Y0&&X.__stxProcessingDepth===1){let r=X.__stx_event_bindings||[];if(r.length>0){let e=YX(r);if(e){let U0=G.lastIndexOf("</body>");G=U0===-1?G+e:G.slice(0,U0)+e+`
|
|
15442
|
+
`+G.slice(U0)}X.__stx_event_bindings=[]}}if(!ZJ(G)&&JJ(G))G=await G$(G,Q);if(G=YJ(G),Q.csp?.enabled&&Q.csp.useNonce&&typeof X.cspNonce==="string")G=BG(G,X.cspNonce);return G}var L5="<!--PARENT_CONTENT_PLACEHOLDER-->";var _$=D(()=>{e$();SX();v1();a9();rY();tY();$G();$X();t9();GX();x7();GG();wG();e7();_G();FG();RG();kG();M1();v5();j1();bG();xG();kQ();yQ();l3();G4();vQ();P5();fQ();n$();A0();hQ();mQ();pQ();sQ();VX();e3();ww();p7();d3();zw();Q6();q6();y0();j3();HX();y7();Q$();Q$();Q6();q6()});import T0 from"fs";import G0 from"path";import A6 from"fs";import eq from"path";var E9="resources/assets",R6="assets";function N6($=process.cwd()){let X=eq.resolve($,E9);return A6.existsSync(X)&&A6.statSync(X).isDirectory()?X:null}import V5 from"fs";import D9 from"path";var T6="_stx";function $W($){return Bun.hash($).toString(16).slice(0,8)}function XW($){let X=[],Z=(J)=>{for(let Y of V5.readdirSync(J,{withFileTypes:!0})){let G=D9.join(J,Y.name);if(Y.isDirectory())Z(G);else if(Y.isFile()&&G.endsWith(".html"))X.push(G)}};if(V5.existsSync($))Z($);return X}var ZW=[{pattern:/<script\b([^>]*\bdata-stx-runtime\b[^>]*)>([\s\S]*?)<\/script>/gi,prefix:"runtime",extension:"js",contentType:"text/javascript; charset=utf-8",replace:($)=>`<script data-stx-runtime src="${$}"></script>`},{pattern:/<script\b([^>]*\bdata-stx-router\b[^>]*)>([\s\S]*?)<\/script>/gi,prefix:"router",extension:"js",contentType:"text/javascript; charset=utf-8",replace:($)=>`<script data-stx-router src="${$}"></script>`},{pattern:/<style\b([^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*)>([\s\S]*?)<\/style>/gi,prefix:"crosswind",extension:"css",contentType:"text/css; charset=utf-8",replace:($)=>`<link data-crosswind="generated" rel="stylesheet" href="${$}">`}];function JW($,X=`/${T6}`){let Z=[],J=new Set,Y=0,G=$;for(let Q of ZW)G=G.replace(Q.pattern,(w,q,W)=>{if(/\b(?:src|href)\s*=/.test(q)||!W.trim())return w;let K=`${Q.prefix}.${$W(W)}.${Q.extension}`;if(!J.has(K))J.add(K),Z.push({filename:K,contents:W,contentType:Q.contentType});return Y+=W.length,Q.replace(`${X}/${K}`)});return{html:G,assets:Z,bytesInlined:Y}}function M6($){let X={pages:0,assets:0,bytesInlined:0},Z=D9.join($,T6),J=new Set;for(let Y of XW($)){let G=V5.readFileSync(Y,"utf8"),{html:Q,assets:w,bytesInlined:q}=JW(G);if(Q===G)continue;for(let W of w){if(J.has(W.filename))continue;J.add(W.filename),V5.mkdirSync(Z,{recursive:!0}),V5.writeFileSync(D9.join(Z,W.filename),W.contents),X.assets++}V5.writeFileSync(Y,Q),X.bytesInlined+=q,X.pages++}return X}n9();_$();import{createHash as pL}from"crypto";function iL($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}var nL=/<script\s+type="stx\/island"\s+data-stx-island="([^"]+)"([^>]*)>([\s\S]*?)<\/script>/g;function rL($){return Bun.hash($).toString(16)}function uq($,X={}){if(!$.includes('type="stx/island"'))return{html:$,chunks:[]};let Z=new Map,J=$.replace(nL,(G,Q,w,q)=>{let W=q.trim();if(!W)return G;if(/\bdata-stx-src=/.test(w))return G;if(X.minify)W=iL(W);let K=rL(W);if(!Z.has(K))Z.set(K,W);let z=X.integrity?` data-stx-integrity="sha384-${pL("sha384").update(W).digest("base64")}"`:"";return`<script type="stx/island" data-stx-island="${Q}" data-stx-src="/_stx/islands/${K}.js"${z}${w}></script>`}),Y=Array.from(Z,([G,Q])=>({hash:G,code:Q}));return{html:J,chunks:Y}}var oL=new Set(["visible","idle"]);function dq($){if(!$.includes("data-stx-src="))return $;let X=new Map,Z=/data-stx-scope="([^"]+)"[^>]*?stx-hydrate="([^"]+)"/g,J;while((J=Z.exec($))!==null)X.set(J[1],J[2]);let Y=new Set,G=/data-stx-island="([^"]+)"[^>]*?data-stx-src="([^"]+)"/g,Q;while((Q=G.exec($))!==null)if(oL.has(X.get(Q[1])||""))Y.add(Q[2]);let w=$.lastIndexOf("</head>");if(Y.size===0||w===-1)return $;let q=Array.from(Y).filter((W)=>!$.includes(`rel="prefetch" href="${W}"`)).map((W)=>`<link rel="prefetch" href="${W}" as="script">`).join("");if(!q)return $;return $.slice(0,w)+q+$.slice(w)}R1();import B8 from"fs";import k9 from"path";var sL="layout-types.d.ts";function aL($){let X=[],Z=(J,Y)=>{let G;try{G=B8.readdirSync(J,{withFileTypes:!0})}catch{return}for(let Q of G){if(Q.name.startsWith("."))continue;let w=k9.join(J,Q.name);if(Q.isDirectory())Z(w,Y?`${Y}/${Q.name}`:Q.name);else if(Q.isFile()&&Q.name.endsWith(".stx")&&Q.name!=="_layout.stx"){let q=Q.name.slice(0,-4);X.push(Y?`${Y}/${q}`:q)}}};return Z($,""),X.sort()}function tL($){let X=["// Auto-generated by stx \u2014 do not edit.","//","// Makes `definePageMeta({ layout })` reject a name with no layout behind it.","// Include this file in your tsconfig (it lives in the stx state directory,","// `.stx/` by default) for the check to apply.",""];if($.length===0)return X.push("// No layouts found \u2014 `layout` stays typed as `string`.","export {}",""),X.join(`
|
|
15443
15443
|
`);return X.push("declare module '@stacksjs/stx' {"," interface KnownLayouts {",...$.map((Z)=>` '${Z}': true`)," }","}","","export {}",""),X.join(`
|
|
15444
|
-
`)}function
|
|
15445
|
-
`)}
|
|
15444
|
+
`)}function mq($,X){if(!$)return[];let Z=k9.isAbsolute($)?$:k9.resolve(process.cwd(),$),J=aL(Z),Y=tL(J),G=k9.join(X,sL);try{if(B8.existsSync(G)&&B8.readFileSync(G,"utf8")===Y)return J;B8.mkdirSync(X,{recursive:!0}),B8.writeFileSync(G,Y)}catch{}return J}var eL=["STX_SITE_URL","SITE_URL","URL","VERCEL_URL","CF_PAGES_URL"];function L6($){let X=$.trim();if(!X)return null;let Z=/^https?:\/\//i.test(X)?X:`https://${X}`;try{return new URL(Z).origin+new URL(Z).pathname.replace(/\/$/,"")}catch{return null}}function $F($){for(let X of eL){let Z=$[X];if(!Z)continue;let J=L6(Z);if(J)return{url:J,source:"env",via:X}}return null}function cq($){if(!$||typeof $!=="object")return null;let X=$,Z=X.site?.url??X.url??X.app?.url;return typeof Z==="string"?L6(Z):null}async function XF($){let{existsSync:X}=await import("fs"),Z=await import("path");for(let J of["site.config.ts","site.config.js",".config/site.config.ts"]){let Y=Z.resolve($,J);if(!X(Y))continue;try{let G=await import(Y),Q=cq(G.default??G);if(Q)return Q}catch{}}return null}async function lq($={}){let X=$.cwd??process.cwd(),Z=$.env??process.env;if($.explicit){let Q=L6($.explicit);if(Q)return{url:Q,source:"option"}}let J=cq($.stxConfig);if(J)return{url:J,source:"stx.config",via:"site.url"};let Y=await XF(X);if(Y)return{url:Y,source:"site.config",via:"url"};let G=$F(Z);if(G)return G;return{url:"http://localhost",source:"fallback"}}function pq(){return["No site URL configured \u2014 sitemap.xml and robots.txt will point at http://localhost."," Set one in stx.config.ts (site: { url: 'https://example.com' }), in site.config.ts,"," via --domain, or with SITE_URL in the build environment."].join(`
|
|
15445
|
+
`)}n$();E7();e$();E5();b1();class iq{cacheDir;cache=new Map;loaded=!1;constructor($){this.cacheDir=$}async load(){if(this.loaded)return;let $=G0.join(this.cacheDir,"build-cache.json");if(await Bun.file($).exists())try{let X=JSON.parse(await Bun.file($).text());for(let[Z,J]of Object.entries(X))this.cache.set(Z,J)}catch{}this.loaded=!0}async save(){await T0.promises.mkdir(this.cacheDir,{recursive:!0});let $=G0.join(this.cacheDir,"build-cache.json"),X={};for(let[Z,J]of this.cache)X[Z]=J;await Bun.write($,JSON.stringify(X))}getHash($,X){let Z=T0.statSync($),J=`${$}:${Z.mtimeMs}`;for(let G of X)if(T0.existsSync(G)){let Q=T0.statSync(G);J+=`:${G}:${Q.mtimeMs}`}let Y=0;for(let G=0;G<J.length;G++){let Q=J.charCodeAt(G);Y=(Y<<5)-Y+Q,Y=Y&Y}return Math.abs(Y).toString(36)}get($,X){let Z=this.cache.get($);if(!Z)return null;let J=this.getHash(X,Z.dependencies??[]);if(Z.hash!==J)return this.cache.delete($),null;return Z.html}set($,X,Z,J){let Y=this.getHash(X,Z);this.cache.set($,{hash:Y,html:J,generatedAt:Date.now(),dependencies:Z})}}class nq{cacheDir;constructor($){this.cacheDir=$}getFilePath($){let X=$.replace(/[^a-zA-Z0-9]/g,"_")+".json";return G0.join(this.cacheDir,"isr",X)}async get($){let X=this.getFilePath($);if(!await Bun.file(X).exists())return null;try{return JSON.parse(await Bun.file(X).text())}catch{return null}}async set($,X){let Z=this.getFilePath($);await T0.promises.mkdir(G0.dirname(Z),{recursive:!0}),await Bun.write(Z,JSON.stringify(X))}async invalidate($){let X=this.getFilePath($);if(await Bun.file(X).exists())await T0.promises.unlink(X)}async invalidatePattern($){let X=G0.join(this.cacheDir,"isr");if(!T0.existsSync(X))return;let Z=await T0.promises.readdir(X);for(let J of Z){let Y=J.replace(/_/g,"/").replace(".json","");if($.test(Y))await T0.promises.unlink(G0.join(X,J))}}async needsRevalidation($){let X=await this.get($);if(!X)return!0;return Date.now()>X.revalidateAfter}}async function ZF($){try{let Z=(await Bun.file($).text()).match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!Z)return null;let J=Z[1];if(!J.includes("getStaticPaths"))return null;let Y=J.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticPaths\s*\([^)]*\)\s*\{([\s\S]*?)\n[\t ]*\}/);if(!Y)return null;return await Function(`
|
|
15446
15446
|
return (async function getStaticPaths() {
|
|
15447
15447
|
${Y[1]}
|
|
15448
15448
|
})()
|
|
15449
|
-
`)()}catch(X){return console.error(`Error extracting static paths from ${$}:`,X),null}}async function
|
|
15449
|
+
`)()}catch(X){return console.error(`Error extracting static paths from ${$}:`,X),null}}async function JF($){let X=[];if(!$.isDynamic)X.push({url:$.pattern,params:{}});else{let Z=await ZF($.filePath);if(!Z||Z.paths.length===0)return console.warn(`Warning: Dynamic route ${$.pattern} has no getStaticPaths or returned empty paths`),X;for(let J of Z.paths){let Y=$.pattern;for(let[G,Q]of Object.entries(J.params))Y=Y.replace(`:${G}`,Q).replace(`:${G}*`,Q);X.push({url:Y,params:J.params,props:J.props,revalidate:J.revalidate})}}return X}async function YF($){let X=[$.replace(/\.stx$/,".data.ts"),$.replace(/\.stx$/,".data.js"),$+".data.ts",$+".data.js"];for(let Z of X)if(await Bun.file(Z).exists())try{let J=await import(Z);if(typeof J.default==="function")return await J.default();else if(typeof J.default==="object")return J.default;else if(typeof J.getData==="function")return await J.getData();else{let{default:Y,...G}=J;return G}}catch(J){console.error(`Error loading data file ${Z}:`,J)}return null}async function GF($,X,Z){let J=$.match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!J)return null;let Y=J[1];if(!Y.includes("getStaticProps"))return null;try{let G=Y.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticProps\s*\([^)]*\)\s*\{([\s\S]*?)\n\}/);if(!G)return null;return await Function("params",`
|
|
15450
15450
|
return (async function getStaticProps() {
|
|
15451
15451
|
${G[1]}
|
|
15452
15452
|
})()
|
|
15453
|
-
`)(X)}catch(G){return console.error(`Error executing getStaticProps in ${Z}:`,G),null}}function
|
|
15454
|
-
resolved against partialsDir: ${B.partialsDir}`)}};if(
|
|
15453
|
+
`)(X)}catch(G){return console.error(`Error executing getStaticProps in ${Z}:`,G),null}}function QF($){return/(?:^|[^\w$.])(?:export\s+)?(?:async\s+)?function\s+action\s*\(/.test($)||/(?:^|[^\w$.])(?:export\s+)?(?:const|let|var)\s+action\s*=/.test($)}async function rq($,X,Z={},J,Y){let G=await Bun.file($.filePath).text(),Q=await YF($.filePath),w=await GF(G,X,$.filePath),q={...Q||{},...w||{},...Z,params:X,$route:{path:$.pattern,params:X}},W=new Set,K=[],z={...Y,...J.partialsDir?{partialsDir:J.partialsDir}:{},...J.componentsDir?{componentsDir:J.componentsDir}:{},debug:!1,cache:!1,autoShell:!0,onIncludeError:(B)=>{K.push(`${G0.relative(process.cwd(),B.templatePath)}: ${B.message}
|
|
15454
|
+
resolved against partialsDir: ${B.partialsDir}`)}};if(QF(G))console.warn(`Warning: ${$.pattern} exports a page action, which cannot run in a static build. Its form will submit to a file. Serve this route with the production server, or point the form's action at a route handler.`);let U=await R0(G,q,$.filePath,z,W);if(Object.keys(X).length>0){let B=`<script>if(window.stx)window.stx._rp=${JSON.stringify(X)};else window.__stx_rp=${JSON.stringify(X)};</script>`;if(U.includes("</head>"))U=U.replace("</head>",`${B}
|
|
15455
15455
|
</head>`);else U=`${B}
|
|
15456
|
-
${U}`}if(U=await
|
|
15456
|
+
${U}`}if(U=await oX(U,{router:J.router}),U=await t7(U),J.minify!==!1)return{html:wF(U),dependencies:Array.from(W),includeFailures:K};return{html:U,dependencies:Array.from(W),includeFailures:K}}function wF($){let X=[],Z=0,J=/(<script[^>]*>)([\s\S]*?)(<\/script>)/gi,Y;while((Y=J.exec($))!==null){let Q=$.slice(Z,Y.index);X.push(Q.replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/\s+/g," ").replace(/>\s+</g,"><"));let w=Y[1],q=Y[2],W=Y[3];q=q.replace(/([^:"\\'`])\/\/(?!\/)(?![*!])([^\n]*)/g,"$1"),X.push(w+q+W),Z=Y.index+Y[0].length}let G=$.slice(Z);return X.push(G.replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/\s+/g," ").replace(/>\s+</g,"><")),X.join("").trim()}function qF($){let X=0;for(let Z=0;Z<$.length;Z++){let J=$.charCodeAt(Z);X=(X<<5)-X+J,X=X&X}return`"${Math.abs(X).toString(36)}"`}function WF($,X,Z,J){if(Z?.sitemap===!1)return!0;if(/<meta[^>]+name=["']robots["'][^>]+content=["'][^"']*noindex/i.test(X))return!0;return J.some((Y)=>{if(Y instanceof RegExp)return Y.test($);return Y.endsWith("/")?$===Y.slice(0,-1)||$.startsWith(Y):$===Y})}function KF($,X){return`<?xml version="1.0" encoding="UTF-8"?>
|
|
15457
15457
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
15458
15458
|
${$.map((J)=>{let Y=new URL(J.loc,X).href,G=` <url>
|
|
15459
15459
|
<loc>${W1(Y)}</loc>`;if(J.lastmod)G+=`
|
|
@@ -15462,7 +15462,7 @@ ${$.map((J)=>{let Y=new URL(J.loc,X).href,G=` <url>
|
|
|
15462
15462
|
<priority>${J.priority}</priority>`;return G+=`
|
|
15463
15463
|
</url>`,G}).join(`
|
|
15464
15464
|
`)}
|
|
15465
|
-
</urlset>`}function W1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function
|
|
15465
|
+
</urlset>`}function W1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function zF($,X){let Z=X.map((J)=>{let Y=" <item>";if(Y+=`
|
|
15466
15466
|
<title>${W1(J.title)}</title>`,Y+=`
|
|
15467
15467
|
<link>${W1(J.link)}</link>`,J.description)Y+=`
|
|
15468
15468
|
<description>${W1(J.description)}</description>`;if(J.pubDate)Y+=`
|
|
@@ -15483,15 +15483,15 @@ ${$.map((J)=>{let Y=new URL(J.loc,X).href,G=` <url>
|
|
|
15483
15483
|
${Z.join(`
|
|
15484
15484
|
`)}
|
|
15485
15485
|
</channel>
|
|
15486
|
-
</rss>`}async function
|
|
15486
|
+
</rss>`}async function UF($={}){let X=Date.now();jX();let Z=await Y1(),J=await lq({explicit:$.domain,stxConfig:Z});if(J.source==="fallback"&&($.sitemap??!0))console.warn(pq());let Y={pagesDir:$.pagesDir||"pages",outputDir:$.outputDir||"dist",baseUrl:$.baseUrl||"/",domain:J.url,revalidate:$.revalidate??!1,sitemap:$.sitemap??!0,sitemapExclude:$.sitemapExclude||[],robots:$.robots??!0,rss:$.rss??!1,concurrency:$.concurrency||10,cache:$.cache??!0,cacheDir:$.cacheDir||F1(process.cwd(),"ssg-cache"),contentLoaders:$.contentLoaders||[],hooks:$.hooks||{},minify:$.minify??!1,generate404:$.generate404??!0,publicDir:$.publicDir||"public",trailingSlash:$.trailingSlash??!1,cleanOutput:$.cleanOutput??!0,partialsDir:$.partialsDir||Z?.partialsDir||"",componentsDir:$.componentsDir||Z?.componentsDir||"",failOnIncludeError:$.failOnIncludeError??!0,chunkIslands:$.chunkIslands===!0,prefetchIslands:$.prefetchIslands===!0,integrityIslands:$.integrityIslands===!0},G={totalPages:0,successCount:0,failedCount:0,cachedCount:0,buildTime:0,pages:[],errors:[]},Q=new Set,w=0,q={},W={};await Y.hooks.onBuildStart?.();try{if(Y.cleanOutput&&T0.existsSync(Y.outputDir))await T0.promises.rm(Y.outputDir,{recursive:!0});await T0.promises.mkdir(Y.outputDir,{recursive:!0});let z=new iq(Y.cacheDir);if(Y.cache)await z.load();try{let{generateCrosswindCSS:R}=await Promise.resolve().then(() => (e$(),iY));await R('<div class="bg-black"></div>')}catch{}_7();let U=Z?.routeMiddleware?.dir||"middleware";await L7(process.cwd(),U);let B=O7();if(B.length>0)console.log(`Loaded ${B.length} middleware: ${B.join(", ")}`);let j=Z?.routeMiddleware?.global||[];mq(Z?.layoutsDir,F1(process.cwd()));let H=T7(".",{pagesDir:Y.pagesDir});console.log(`Found ${H.length} routes`);let _=[];for(let R of H){let T=await JF(R);for(let k of T)_.push({route:R,url:k.url,params:k.params,props:k.props,revalidate:k.revalidate??Y.revalidate})}G.totalPages=_.length,console.log(`Generating ${G.totalPages} pages...`);let L=[],O=[];for(let R=0;R<_.length;R+=Y.concurrency)O.push(_.slice(R,R+Y.concurrency));for(let R of O)await Promise.all(R.map(async(T)=>{let{route:k,url:M,params:E,props:I,revalidate:S}=T;try{await Y.hooks.onPageStart?.(M);let b=await Bun.file(k.filePath).text(),y=_F(b),P=y?.middleware?Array.isArray(y.middleware)?y.middleware:[y.middleware]:[],x=[...j,...P];if(x.length>0){let z0=F7(M,E,y||{}),k0=V7(z0,null,void 0,{isServer:!0}),d=await A7(x,k0);if(d.redirect){let Y0=typeof d.redirect==="string"?d.redirect:d.redirect.path||d.redirect,Q0=OF(String(Y0),M),d0=LF(M,Y);await T0.promises.mkdir(G0.dirname(d0),{recursive:!0}),await Bun.write(d0,Q0),G.successCount++,G.pages.push({route:M,outputPath:d0,size:Buffer.byteLength(Q0),cached:!1}),L.push({loc:M,lastmod:new Date().toISOString()}),console.log(` \u21B3 ${M} \u2192 redirect to ${Y0}`);return}if(d.abort){let Y0=typeof d.abort==="string"?d.abort:d.abort?.error?.message||"aborted";console.warn(` \u21B3 ${M} \u2014 middleware aborted: ${Y0}`);return}}let f=b.match(/definePageMeta\s*\(\s*\{[\s\S]*?validate\s*:\s*((?:\([^)]*\)|[^,}])*(?:\{[\s\S]*?\})?)/m);if(f)try{if(!await Function("route",`
|
|
15487
15487
|
const validate = ${f[1]};
|
|
15488
15488
|
return validate(route);
|
|
15489
|
-
`)({params:E})){console.warn(`Validation failed for ${M}, skipping...`);return}}catch{}let u=null,l=!1;if(Y.cache){if(u=z.get(M,k.filePath),u)l=!0,G.cachedCount++}if(!u){let z0=await
|
|
15489
|
+
`)({params:E})){console.warn(`Validation failed for ${M}, skipping...`);return}}catch{}let u=null,l=!1;if(Y.cache){if(u=z.get(M,k.filePath),u)l=!0,G.cachedCount++}if(!u){let z0=await rq(k,E,I,Y,Z);if(u=z0.html,Y.failOnIncludeError&&z0.includeFailures.length>0)throw Error(`${z0.includeFailures.length} include(s) failed to resolve, so this page would have shipped with an error banner where the markup should be:
|
|
15490
15490
|
${z0.includeFailures.join(`
|
|
15491
15491
|
`)}
|
|
15492
|
-
Set ssg.failOnIncludeError to false to build anyway.`);if(Y.cache)z.set(M,k.filePath,z0.dependencies,u)}let
|
|
15492
|
+
Set ssg.failOnIncludeError to false to build anyway.`);if(Y.cache)z.set(M,k.filePath,z0.dependencies,u)}let _0;if(Y.trailingSlash)_0=G0.join(Y.outputDir,M,"index.html");else _0=M==="/"?G0.join(Y.outputDir,"index.html"):G0.join(Y.outputDir,`${M}.html`);if(Y.chunkIslands){let{html:z0,chunks:k0}=uq(u,{integrity:Y.integrityIslands,minify:Y.minify});if(k0.length>0){let d=G0.join(Y.outputDir,"_stx","islands");await T0.promises.mkdir(d,{recursive:!0});for(let Y0 of k0){let Q0=G0.join(d,`${Y0.hash}.js`);if(!await Bun.file(Q0).exists())await Bun.write(Q0,Y0.code);if(!Q.has(Y0.hash)){Q.add(Y0.hash);let d0=Buffer.byteLength(Y0.code,"utf8");w+=d0,q[Y0.hash]={bytes:d0,file:`/_stx/islands/${Y0.hash}.js`}}}if(W[M]=k0.map((Y0)=>Y0.hash),u=z0,Y.prefetchIslands)u=dq(u)}}if(await T0.promises.mkdir(G0.dirname(_0),{recursive:!0}),await Bun.write(_0,u),!WF(M,u,y,Y.sitemapExclude))L.push({loc:M,lastmod:new Date().toISOString().split("T")[0],priority:M==="/"?1:0.8});let S0={route:M,outputPath:_0,size:Buffer.byteLength(u,"utf8"),cached:l};if(S!==!1)S0.revalidateAt=Date.now()+S*1000;G.pages.push(S0),G.successCount++,await Y.hooks.onPageEnd?.(M,u)}catch(b){G.failedCount++,G.errors.push({route:M,error:b}),await Y.hooks.onError?.(b,M),console.error(`Error generating ${M}:`,b)}}));let F=UX();if(F.length>0){let R=F.map((T)=>`${T.filePath}: ${T.message}`).join(`
|
|
15493
15493
|
`);throw Error(`Client script bundling failed:
|
|
15494
|
-
${
|
|
15494
|
+
${R}`)}if(Y.cache)await z.save();if(Y.generate404){let R=G0.join(Y.pagesDir,"404.stx");if(await Bun.file(R).exists()){let T=new Set,k={...Z,debug:!1,cache:!1},M=await R0(await Bun.file(R).text(),{},R,k,T);await Bun.write(G0.join(Y.outputDir,"404.html"),M)}else await Bun.write(G0.join(Y.outputDir,"404.html"),`<!DOCTYPE html>
|
|
15495
15495
|
<html lang="en">
|
|
15496
15496
|
<head>
|
|
15497
15497
|
<meta charset="UTF-8">
|
|
@@ -15512,7 +15512,7 @@ ${N}`)}if(Y.cache)await z.save();if(Y.generate404){let N=G0.join(Y.pagesDir,"404
|
|
|
15512
15512
|
<a href="/">Go home</a>
|
|
15513
15513
|
</div>
|
|
15514
15514
|
</body>
|
|
15515
|
-
</html>`)}for(let
|
|
15515
|
+
</html>`)}for(let R of[500]){let T=G0.join(Y.pagesDir,`${R}.stx`);if(await Bun.file(T).exists()){let k=new Set,M={...Z,debug:!1,cache:!1},E=await R0(await Bun.file(T).text(),{},T,M,k);await Bun.write(G0.join(Y.outputDir,`${R}.html`),E)}}let V=G0.join(Y.pagesDir,"error.stx");if(await Bun.file(V).exists()){let R=new Set,T={...Z,debug:!1,cache:!1},k=await R0(await Bun.file(V).text(),{},V,T,R);await Bun.write(G0.join(Y.outputDir,"error.html"),k)}if(Y.sitemap&&L.length>0){let R=KF(L,Y.domain),T=G0.join(Y.outputDir,"sitemap.xml");await Bun.write(T,R),G.sitemapPath=T,console.log(`Generated sitemap.xml with ${L.length} URLs`)}if(Y.robots!==!1){let R=typeof Y.robots==="object"?Y.robots:{},T=[...Y.sitemapExclude.filter((M)=>typeof M==="string"),...R.disallow||[]],k=SY({rules:[{userAgent:R.userAgent||"*",allow:R.allow||["/"],...T.length>0?{disallow:T}:{}}],...R.sitemap!==!1&&G.sitemapPath?{sitemap:new URL("/sitemap.xml",Y.domain).href}:{}});await Bun.write(G0.join(Y.outputDir,"robots.txt"),k),console.log("Generated robots.txt")}if(Y.rss){let R=typeof Y.rss==="object"?Y.rss:{title:"Site Feed",description:"Latest updates",link:Y.domain},T=[];if(R.getItems)T=await R.getItems();let k=zF(R,T),M=G0.join(Y.outputDir,"rss.xml");await Bun.write(M,k),G.rssPath=M,console.log(`Generated rss.xml with ${T.length} items`)}let A=M6(Y.outputDir);if(A.assets>0)console.log(`Externalized ${A.assets} asset(s) from ${A.pages} page(s) (${(A.bytesInlined/1024).toFixed(1)}KB removed from HTML)`);if(Y.publicDir&&T0.existsSync(Y.publicDir))await F6(Y.publicDir,Y.outputDir),console.log(`Copied public assets from ${Y.publicDir}`);let N=N6();if(N)await F6(N,G0.join(Y.outputDir,R6)),console.log(`Copied assets from ${E9}`)}catch(z){throw await Y.hooks.onError?.(z),z}if(G.buildTime=Date.now()-X,Q.size>0){G.islandChunks={count:Q.size,totalBytes:w};let z={generatedChunks:Q.size,totalBytes:w,chunks:q,pages:W};await Bun.write(G0.join(Y.outputDir,"_stx","islands-manifest.json"),JSON.stringify(z,null,2))}await Y.hooks.onBuildEnd?.(G);let K=G.islandChunks?`
|
|
15516
15516
|
Island chunks: ${G.islandChunks.count} (${(G.islandChunks.totalBytes/1024).toFixed(1)} KB lifted out of inline HTML)`:"";return console.log(`
|
|
15517
15517
|
Build complete!
|
|
15518
15518
|
Total: ${G.totalPages} pages
|
|
@@ -15520,8 +15520,8 @@ Build complete!
|
|
|
15520
15520
|
Cached: ${G.cachedCount}
|
|
15521
15521
|
Failed: ${G.failedCount}
|
|
15522
15522
|
Time: ${G.buildTime}ms${K}
|
|
15523
|
-
`),G}async function F6($,X){await T0.promises.mkdir(X,{recursive:!0});let Z=await T0.promises.readdir($,{withFileTypes:!0});for(let J of Z){let Y=G0.join($,J.name),G=G0.join(X,J.name);if(J.isDirectory())await T0.promises.mkdir(G,{recursive:!0}),await F6(Y,G);else await T0.promises.copyFile(Y,G)}}function
|
|
15524
|
-
`)){let z=K.indexOf(":");if(z>0){let U=K.slice(0,z).trim(),B=K.slice(z+1).trim();if(B==="true")B=!0;else if(B==="false")B=!1;else if(/^\d+$/.test(B))B=parseInt(B,10);else if(/^\d+\.\d+$/.test(B))B=parseFloat(B);else if(B.startsWith("[")&&B.endsWith("]"))B=B.slice(1,-1).split(",").map((j)=>j.trim().replace(/^['"]|['"]$/g,""));J[U]=B}}}let G=Y.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>"),Q=[],w=/<h([1-6])>([^<]+)<\/h[1-6]>/gi,q;while((q=w.exec(G))!==null){let W=parseInt(q[1],10),K=q[2],z=K.toLowerCase().replace(/[^a-z0-9]+/g,"-");Q.push({id:z,text:K,level:W})}return{content:G,data:J,toc:Q}}}}function
|
|
15523
|
+
`),G}async function F6($,X){await T0.promises.mkdir(X,{recursive:!0});let Z=await T0.promises.readdir($,{withFileTypes:!0});for(let J of Z){let Y=G0.join($,J.name),G=G0.join(X,J.name);if(J.isDirectory())await T0.promises.mkdir(G,{recursive:!0}),await F6(Y,G);else await T0.promises.copyFile(Y,G)}}function jF($={}){let X=$.cacheDir||F1(process.cwd(),"ssg-cache"),Z=new nq(X),J=$.revalidate||3600;return{async get(Y){let G=await Z.get(Y);if(!G)return null;if(Date.now()>G.revalidateAfter)this.revalidate(Y).catch(console.error);return{html:G.html,headers:{"Cache-Control":`public, max-age=${J}, stale-while-revalidate=${J*2}`,ETag:G.etag,"X-ISR-Generated":new Date(G.generatedAt).toISOString(),...G.headers}}},async revalidate(Y){let Q=T7(".",{pagesDir:$.pagesDir||"pages"}).find((z)=>{return Y.match(z.regex)!==null});if(!Q){console.warn(`Route not found for revalidation: ${Y}`);return}let w=Y.match(Q.regex),q={};if(w)Q.params.forEach((z,U)=>{q[z]=w[U+1]});let W=await Y1(),{html:K}=await rq(Q,q,{},$,W);await Z.set(Y,{html:K,generatedAt:Date.now(),revalidateAfter:Date.now()+J*1000,etag:qF(K)}),console.log(`Revalidated: ${Y}`)},async invalidate(Y){if(typeof Y==="string")await Z.invalidate(Y);else await Z.invalidatePattern(Y)}}}function BF($){return async()=>{return{paths:await $(),fallback:!1}}}function HF(){return{name:"markdown",extensions:[".md",".mdx"],async load($){let X=await Bun.file($).text(),Z=X.match(/^---\n([\s\S]*?)\n---/),J={},Y=X;if(Z){let W=Z[1];Y=X.slice(Z[0].length).trim();for(let K of W.split(`
|
|
15524
|
+
`)){let z=K.indexOf(":");if(z>0){let U=K.slice(0,z).trim(),B=K.slice(z+1).trim();if(B==="true")B=!0;else if(B==="false")B=!1;else if(/^\d+$/.test(B))B=parseInt(B,10);else if(/^\d+\.\d+$/.test(B))B=parseFloat(B);else if(B.startsWith("[")&&B.endsWith("]"))B=B.slice(1,-1).split(",").map((j)=>j.trim().replace(/^['"]|['"]$/g,""));J[U]=B}}}let G=Y.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>"),Q=[],w=/<h([1-6])>([^<]+)<\/h[1-6]>/gi,q;while((q=w.exec(G))!==null){let W=parseInt(q[1],10),K=q[2],z=K.toLowerCase().replace(/[^a-z0-9]+/g,"-");Q.push({id:z,text:K,level:W})}return{content:G,data:J,toc:Q}}}}function _F($){return $9($)}function OF($,X){return`<!DOCTYPE html>
|
|
15525
15525
|
<html>
|
|
15526
15526
|
<head>
|
|
15527
15527
|
<meta charset="utf-8">
|
|
@@ -15533,4 +15533,4 @@ Build complete!
|
|
|
15533
15533
|
<p>Redirecting to <a href="${$}">${$}</a>...</p>
|
|
15534
15534
|
<script>window.location.replace('${$}')</script>
|
|
15535
15535
|
</body>
|
|
15536
|
-
</html>`}function
|
|
15536
|
+
</html>`}function LF($,X){if($==="/"||$==="")return G0.join(X.outputDir,"index.html");let Z=$.replace(/^\/|\/$/g,"");if(X.trailingSlash)return G0.join(X.outputDir,Z,"index.html");return G0.join(X.outputDir,`${Z}.html`)}var Ry={generateStaticSite:UF,createISRHandler:jF,defineStaticPaths:BF,createMarkdownLoader:HF};export{WF as isExcludedFromSitemap,UF as generateStaticSite,BF as defineStaticPaths,Ry as default,QF as declaresPageAction,HF as createMarkdownLoader,jF as createISRHandler};
|