@stacksjs/stx 0.2.175 → 0.2.176
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/a11y.d.ts +72 -2
- package/dist/a11y.js +25 -10
- package/dist/cli.js +961 -845
- package/dist/craft.js +538 -429
- package/dist/includes.js +8 -4
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/process.js +2 -1
- package/dist/props.d.ts +51 -8
- package/dist/pwa.js +486 -377
- package/dist/resolve-stx-targets.d.ts +49 -0
- package/dist/resolve-stx-targets.js +38 -0
- package/dist/runtime-globals.d.ts +24 -0
- package/dist/runtime-globals.js +16 -0
- package/dist/runtime-injection.d.ts +36 -0
- package/dist/runtime-injection.js +14 -0
- package/dist/server-bindings.js +3 -0
- package/dist/signal-processing.js +1 -1
- package/dist/signals.js +7 -3
- package/dist/ssg.d.ts +23 -0
- package/dist/ssg.js +486 -373
- package/dist/stx-virtual-ts.d.ts +27 -3
- package/dist/stx-virtual-ts.js +36 -0
- package/dist/typecheck.js +96 -62
- package/dist/types/config-types.d.ts +24 -0
- package/dist/utils.js +5 -4
- 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 Pq=Object.defineProperty;var vq=($)=>$;function xq($,X){this[$]=vq.bind(null,X)}var t=($,X)=>{for(var Z in X)Pq($,Z,{get:X[Z],enumerable:!0,configurable:!0,set:xq.bind(X,Z)})};var E=($,X)=>()=>($&&(X=$($=0)),X);var U0=import.meta.require;function V9($){return $.split(/[\\/]/).filter(Boolean).slice(0,-1).some((Z)=>e5.includes(Z))}function $7($){return V9($.replace(/^\//,""))}var e5;var z8=E(()=>{e5=["components","layouts","partials","emails"]});import O5 from"fs";import X7 from"path";function Z7($,X){let Z=$.filter((Q)=>!$7(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=X7.join(X,"route-types.d.ts");try{if(O5.existsSync(G)&&O5.readFileSync(G,"utf8")===Y)return;O5.mkdirSync(X,{recursive:!0}),O5.writeFileSync(G,Y)}catch{}}function J7($,X,Z){let J=process.cwd(),Y=X7.relative(J,Z),G=$.filter((w)=>!$7(w.pattern)),Q=["// Auto-generated by stx \u2014 do not edit",`// Source: ${Y||"pages"}/`,"","export const routes = ["];for(let w of G){let q=X7.relative(J,w.filePath).replace(/\\/g,"/"),W=JSON.stringify(w.params),K=w.layout?`, layout: '${X7.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']",""),O5.mkdirSync(X,{recursive:!0}),O5.writeFileSync(X7.join(X,"routes.ts"),Q.join(`
|
|
4
|
+
`))}var A9=E(()=>{z8()});import z6 from"path";function U8($,X){let J=z6.relative(X,$).replace(/\.(stx|md)$/,"");if(J=J.split(z6.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 Y7($){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 j8($,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 U6($){let X=$.replace(/\[\[([^\]]+)\]\]/g,":$1?").replace(/\[([^\]]+)\]/g,":$1").replace(/:\.\.\.([^/]+)/g,":$1*");return Y7(X)}var R9=()=>{};import mq from"fs";import N9 from"path";function B8($,X){let Z=[],J=N9.dirname($);while(J.startsWith(X)||J===X){let Y=N9.join(J,"_layout.stx");if(mq.existsSync(Y))Z.unshift(Y);if(J===X)break;J=N9.dirname(J)}return Z}var T9=()=>{};import M9 from"fs";import L5 from"path";function j6($,X){let Z=[];if(!M9.existsSync($))return Z;let J=M9.readdirSync($,{withFileTypes:!0});for(let Y of J){let G=L5.join($,Y.name);if(Y.isDirectory()){if(Y.name.startsWith("."))continue;if(e5.includes(Y.name))continue;Z.push(...j6(G,X))}else if(Y.isFile()){let Q=L5.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 F5{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)=>L5.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=j6(Q,J);for(let q of w){let W=U8(q,Q);if(Y.has(W))continue;Y.add(W);let{regex:K,params:z}=Y7(W),U=X.layouts!==!1?B8(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=L5.resolve($,X.stateDir||process.env.STX_DIR?.trim()||".stx");Z7(this.routes,G),J7(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 B6($,X){return new F5($,X)}function k9($,X){let Z=[`${X}.stx`,"error.stx"];for(let J of Z){let Y=L5.join($,J);if(M9.existsSync(Y))return Y}return null}function I9($,X){return $.map((Z)=>{let J=L5.relative(X,Z.filePath),Y=Z.isDynamic?" (dynamic)":"";return`${Z.pattern} \u2192 ${J}${Y}`})}var _6=E(()=>{A9();R9();T9();z8()});function E9($){_8=$.replace(/\/$/,"")}function D9($,X,Z={}){V5[$]={path:X,name:$,params:Z}}function y9($){for(let[X,Z]of Object.entries($))if(typeof Z==="string")V5[X]={path:Z,name:X};else V5[X]={...Z,name:X}}function G7($,X={},Z=!1){let J=V5[$];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&&_8?`${_8}${G}`:G}function b9(){for(let $ of Object.keys(V5))delete V5[$];_8=""}var V5,_8="";var H6=E(()=>{V5={}});import O6 from"fs";import L6 from"path";function C9($,X={}){return{type:"redirect",path:$,options:{replace:X.replace??!1,external:X.external??!1,redirectCode:X.redirectCode??302}}}function P9($){return{type:"abort",error:typeof $==="string"?{statusCode:500,message:$}:$}}function v9($,X={}){return{handler:$,mode:X.mode??"universal"}}function S9($){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 H8($,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 O8($,X){let Z=$.headers.get("cookie")||"",J=S9(Z);return{get(Y){return J[Y]},set(Y,G,Q={}){J[Y]=G,X.append("Set-Cookie",H8(Y,G,Q))},delete(Y){delete J[Y],X.append("Set-Cookie",H8(Y,"",{expires:new Date(0),path:"/"}))},getAll(){return{...J}}}}function L8(){return{get($){if(typeof document>"u")return;return S9(document.cookie)[$]},set($,X,Z={}){if(typeof document>"u")return;document.cookie=H8($,X,Z)},delete($){if(typeof document>"u")return;document.cookie=H8($,"",{expires:new Date(0),path:"/"})},getAll(){if(typeof document>"u")return{};return S9(document.cookie)}}}function F8(){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 Q7($,X){w7.set($,X)}function V8($){return w7.get($)}function x9($){return w7.has($)}function q7(){w7.clear()}function W7(){return Array.from(w7.keys())}async function K7($,X="middleware"){let Z=L6.resolve($,X);if(!O6.existsSync(Z))return;let J=O6.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=L6.join(Z,Y);try{let q=(await import(Q)).default;if(q&&typeof q.handler==="function")Q7(G,q);else if(typeof q==="function")Q7(G,{handler:q,mode:"universal"})}catch(w){console.warn(`Failed to load middleware '${G}' from ${Q}:`,w)}}}function lq($){let X={};if(!$)return X;let Z=new URLSearchParams($);for(let[J,Y]of Z)X[J]=Y;return X}function z7($,X,Z,J=""){return{path:$,params:X,query:lq(J),fullPath:J?`${$}?${J}`:$,meta:Z}}function U7($,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?O8(Z,Q):L8(),storage:F8(),state:{},request:Z,responseHeaders:Q}}async function j7($,X){let Z=Array.isArray($)?$:[$],J=X.isServer;for(let Y of Z){let G=V8(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 w7;var F6=E(()=>{w7=new Map});function B7($){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]||B7(Y)}}function cq($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}function _7(){if(A8)return A8;return A8=cq(`
|
|
5
5
|
;(function(){
|
|
6
6
|
'use strict';
|
|
7
7
|
var ROUTER_REV=7;
|
|
@@ -1651,7 +1651,7 @@ else {
|
|
|
1651
1651
|
|
|
1652
1652
|
if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();
|
|
1653
1653
|
})();
|
|
1654
|
-
`),
|
|
1654
|
+
`),A8}var A8;var A6={};t(A6,{setAppUrl:()=>E9,runMiddleware:()=>j7,route:()=>G7,resolveLayoutChain:()=>B8,resetRoutes:()=>b9,registerMiddleware:()=>Q7,patternToRegex:()=>Y7,navigateTo:()=>C9,matchRoute:()=>j8,loadMiddlewareFromDirectory:()=>K7,isNonPageRoutePattern:()=>$7,isNonPageRoutePath:()=>V9,hasMiddleware:()=>x9,getRouterScript:()=>_7,getMiddlewareNames:()=>W7,getMiddleware:()=>V8,generateRouteTypes:()=>Z7,generateRouteManifest:()=>J7,formatRoutes:()=>I9,findErrorPage:()=>k9,filePathToPattern:()=>U8,extractLayoutMetadata:()=>V6,deriveLayoutGroup:()=>B7,defineRoutes:()=>y9,defineRoute:()=>D9,defineMiddleware:()=>v9,createStorageManager:()=>F8,createServerCookieManager:()=>O8,createRouter:()=>B6,createRouteLocation:()=>z7,createMiddlewareContext:()=>U7,createClientCookieManager:()=>L8,clearMiddleware:()=>q7,bracketPathToRegex:()=>U6,abortNavigation:()=>P9,Router:()=>F5,NON_PAGE_DIRS:()=>e5});var k1=E(()=>{_6();R9();H6();F6();T9();A9();z8()});function H7($,X={}){return new F5($,X).routes}var f9=E(()=>{k1();k1()});function R6($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function g9($,X){let Z={...$};for(let[J,Y]of Object.entries(X))Z[J]=R6(Y)&&R6(Z[J])?g9(Z[J],Y):Y;return Z}function N6($={},X={}){let Z=$.theme||{},J=X.theme||{},{extend:Y,...G}=J,{extend:Q,...w}=Z,q=g9(w,G),W=g9(Q||{},Y||{});if(Object.keys(W).length>0)q.extend=W;let K=[...$.safelist||[],...X.safelist||[]],z={...$.shortcuts||{},...X.shortcuts||{}},U=[...$.preflights||[],...X.preflights||[]];return{config:{...$,...X,theme:q,safelist:K,shortcuts:z,...U.length>0?{preflights:U}:{},content:[],output:""},safelist:K,shortcuts:z,includePreflight:X.preflight!==!1,minify:X.minify===!0}}import O7 from"path";function M6($){T6=$?.trim()||null}function L7(){return process.env[pq]?.trim()||T6||A5}function _1($=process.cwd(),...X){let Z=L7();return O7.isAbsolute(Z)?O7.join(Z,...X):O7.join($,Z,...X)}function F7($){if(!$||O7.isAbsolute($))return $;let X=$.replace(/\\/g,"/");if(X!==A5&&!X.startsWith(`${A5}/`))return $;let Z=X.slice(A5.length+1);return Z?O7.join(L7(),Z):L7()}var A5=".stx",pq="STX_DIR",T6=null;var V7=()=>{};var H0;var k6=E(()=>{H0={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 I6=()=>{};function E6($,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 D6,y6;var h9=E(()=>{I6();D6={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},y6={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function iq($,X={}){let{duration:Z,delay:J,ease:Y,direction:G,custom:Q}={...H1,...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);"}
|
|
1655
1655
|
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
|
|
1656
1656
|
@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);"}
|
|
1657
1657
|
@keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
|
|
@@ -1661,7 +1661,7 @@ else {
|
|
|
1661
1661
|
@keyframes flipIn { from { transform: perspective(400px) rotateX(-90deg); opacity: 0; } to { transform: perspective(400px) rotateX(0); opacity: 1; } }
|
|
1662
1662
|
@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);"}
|
|
1663
1663
|
@keyframes rotateIn { from { transform: rotate(-90deg); opacity: 0; } to { transform: rotate(0); opacity: 1; } }
|
|
1664
|
-
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function
|
|
1664
|
+
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function nq(){return`
|
|
1665
1665
|
<script data-stx-scoped data-stx-run="once">
|
|
1666
1666
|
// Motion preferences handling
|
|
1667
1667
|
(function() {
|
|
@@ -1689,7 +1689,7 @@ else {
|
|
|
1689
1689
|
});
|
|
1690
1690
|
})();
|
|
1691
1691
|
</script>
|
|
1692
|
-
`}function
|
|
1692
|
+
`}function rq($){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 oq($=0.1,X="0px"){return`
|
|
1693
1693
|
<script data-stx-scoped data-stx-run="always">
|
|
1694
1694
|
// Intersection Observer for scroll animations
|
|
1695
1695
|
(function() {
|
|
@@ -1732,7 +1732,7 @@ else {
|
|
|
1732
1732
|
}
|
|
1733
1733
|
})();
|
|
1734
1734
|
</script>
|
|
1735
|
-
`}function
|
|
1735
|
+
`}function sq(){return`
|
|
1736
1736
|
<style id="stx-animation-base">
|
|
1737
1737
|
:root {
|
|
1738
1738
|
--stx-transition-duration: 300ms;
|
|
@@ -1847,7 +1847,7 @@ else {
|
|
|
1847
1847
|
transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
|
|
1848
1848
|
}
|
|
1849
1849
|
</style>
|
|
1850
|
-
`}function
|
|
1850
|
+
`}function aq($,X,Z={}){let{staggerDelay:J=50,sequence:Y=!1}=Z;return`
|
|
1851
1851
|
<script data-stx-scoped data-stx-run="always">
|
|
1852
1852
|
// Animation Group: ${$}
|
|
1853
1853
|
(function() {
|
|
@@ -1884,11 +1884,11 @@ else {
|
|
|
1884
1884
|
}
|
|
1885
1885
|
})();
|
|
1886
1886
|
</script>
|
|
1887
|
-
`}function
|
|
1888
|
-
</head>`)}if(Y.includes("stx-observe")){if(!Y.includes("Intersection Observer for scroll animations")){let q=
|
|
1889
|
-
`+Y.slice(W)}}return Y}var H1,
|
|
1890
|
-
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"},
|
|
1891
|
-
${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},
|
|
1887
|
+
`}function v6($,X,Z,J){let Y=$;if(J.animation?.enabled===!1)return Y;let G=Z.includes("test")&&Z.includes("animation");if(!rq(Y)&&!G)return Y;if(!Y.includes('<style id="stx-animation-base">')){let w=sq();Y=Y.replace("</head>",`${w}
|
|
1888
|
+
</head>`)}if(Y.includes("stx-observe")){if(!Y.includes("Intersection Observer for scroll animations")){let q=oq(),W=Y.lastIndexOf("</body>");if(W!==-1)Y=Y.slice(0,W)+q+`
|
|
1889
|
+
`+Y.slice(W)}}return Y}var H1,b6,S6,C6,P6;var u9=E(()=>{H1={duration:300,delay:0,ease:"ease",direction:"both"};b6={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)||H1.duration:H1.duration,Q=X.length>2?X[2]||H1.ease:H1.ease,w=X.length>3?Number.parseInt(X[3],10)||H1.delay:H1.delay,q=X.length>4?X[4]||H1.direction:H1.direction,W=`stx-transition-${Math.random().toString(36).substr(2,9)}`,K=iq(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":""}"
|
|
1890
|
+
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"},S6={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"},C6={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=aq(Y,G,{staggerDelay:Q,sequence:w});return`${$}
|
|
1891
|
+
${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},P6={name:"motion",handler:($,X,Z,J)=>{let Y=X.length>0?X[0].toLowerCase()==="true":!0,G=nq();return`<div data-animate="${Y?"auto":"true"}">${$}</div>${G}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});var x6=E(()=>{k1();d9()});async function tq($,X,Z,J){let Y=X[0]?.replace(/['"]/g,"")||"main",G=_7();if(Y!=="main")G=G.replace("container:'main'",`container:'${Y}'`);return`<script data-stx-router>${G}</script>`}var f6;var d9=E(()=>{x6();f6={name:"stxRouter",handler:tq,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function g6($){let X=$.heatmap;if(!X?.enabled)return"";let Z={...eq,...X};return`
|
|
1892
1892
|
<!-- stx Heatmap - Privacy-Compliant Tracking -->
|
|
1893
1893
|
<script>
|
|
1894
1894
|
(function() {
|
|
@@ -2271,10 +2271,10 @@ else {
|
|
|
2271
2271
|
};
|
|
2272
2272
|
})();
|
|
2273
2273
|
</script>
|
|
2274
|
-
`}function
|
|
2275
|
-
`)){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
|
|
2274
|
+
`}function h6($,X){let Z=g6(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 eq,u6;var m9=E(()=>{eq={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};u6={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 g6(Y)}}});function I1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function d6($){let X=$.trim().toLowerCase();return!X.startsWith("javascript:")&&!X.startsWith("vbscript:")&&!X.startsWith("data:text/html")}function m6($){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(`
|
|
2275
|
+
`)){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 A7($,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-${I1(z)}"`:"";return G.push(`<pre><code${j}>${I1(U.trim())}</code></pre>`),`\x00CODEBLOCK${B}\x00`}),Y=Y.replace(/`([^`]*)`/g,(K,z)=>`<code>${I1(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="${d6(U)?I1(U):""}" alt="${I1(z)}" />`}),Y=Y.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(K,z,U)=>{return`<a href="${d6(U)?I1(U):""}">${z}</a>`}),Y=Y.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),Y=Y.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),Y=Y.replace(/<\/blockquote>\n<blockquote>/g,`
|
|
2276
2276
|
`),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((H)=>H.trim()).filter(Boolean).map((H)=>`<th>${I1(H)}</th>`).join("")}</tr>`,_=U.trim().split(`
|
|
2277
|
-
`).map((H)=>{return`<tr>${H.split("|").map((
|
|
2277
|
+
`).map((H)=>{return`<tr>${H.split("|").map((L)=>L.trim()).filter(Boolean).map((L)=>`<td>${I1(L)}</td>`).join("")}</tr>`}).join(`
|
|
2278
2278
|
`);return`<table>
|
|
2279
2279
|
<thead>
|
|
2280
2280
|
${j}
|
|
@@ -2289,7 +2289,7 @@ ${_}
|
|
|
2289
2289
|
`:`
|
|
2290
2290
|
`)}</p>`);if(Y=w.join(`
|
|
2291
2291
|
`),J)Y=Y.replace(/\n/g,`<br />
|
|
2292
|
-
`);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 R5($="const",X=[],Z){let J=X.length?O1.filter((Y)=>!X.includes(Y)):O1;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
|
|
2292
|
+
`);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 R5($="const",X=[],Z){let J=X.length?O1.filter((Y)=>!X.includes(Y)):O1;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 l9($){if(!$)return!1;return ZW.some((X)=>new RegExp(`\\b${X}\\s*(?:<[^>]*>)?\\s*\\(`).test($))}function c9($){if(!$)return!1;let X=o6($);if(JW.some((Z)=>Z.test(X)))return!0;return l9(X)}function c6($){if(!$)return!1;return YW.test(o6($))||c9($)}function p6($){return GW.includes($.toLowerCase())}function r6(){return`{${i6.map(($)=>`'${$}':1`).join(",")}}`}function o6($){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 O1,l6,XW,ZW,JW,YW,GW,i6,QW,n6;var e0=E(()=>{O1=["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"],l6=["onMount","onDestroy"];XW=["defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","withDefaults"],ZW=O1.filter(($)=>!XW.includes($));JW=[/@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/],YW=/\s@[a-z][\w.:-]*\s*=/i;GW=["if","else-if","elseif","else","for","show","key","text","html","model","ref"];i6=["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"],QW=["x-init","x-transition","x-effect","x-on"],n6=[...i6,...QW]});function t6($){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(wW.has(J))X.systemKeys.push(J);else if(J in e6)X.mouse=J;else if(J in a6||/^[a-z]$/.test(J))X.keys.push(a6[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 $2($){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,O=_.split("."),L=O[0];if(!s6.has(L))continue;z.push({attribute:`@${_}`,event:L,handler:H,modifiers:t6(O.slice(1)),elementId:K})}let j=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((B=j.exec(w))!==null){let[,_,H]=B,O=_.split("."),L=O[0];if(!s6.has(L))continue;z.push({attribute:`@${_}`,event:L,handler:H,modifiers:t6(O.slice(1)),elementId:K})}if(z.length>0)X.push({originalTag:G,elementId:K,events:z,startIndex:q,endIndex:W})}return X}function qW($){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=e6[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 WW($,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 p9($){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=qW($),Y=WW(p9($.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`
|
|
2293
2293
|
(function() {
|
|
2294
2294
|
var $el = document.getElementById('${Z}');
|
|
2295
2295
|
if (!$el) return;
|
|
@@ -2343,7 +2343,7 @@ else {
|
|
|
2343
2343
|
__stx_runHandler('${w}', $event, $el);
|
|
2344
2344
|
}
|
|
2345
2345
|
}${Q});
|
|
2346
|
-
})();`}function
|
|
2346
|
+
})();`}function i9($){if($.length===0)return"";return`
|
|
2347
2347
|
<script data-stx-events>
|
|
2348
2348
|
(function() {
|
|
2349
2349
|
'use strict';
|
|
@@ -2398,44 +2398,44 @@ else {
|
|
|
2398
2398
|
}
|
|
2399
2399
|
|
|
2400
2400
|
// Event listeners
|
|
2401
|
-
${$.map(
|
|
2401
|
+
${$.map(KW).join(`
|
|
2402
2402
|
`)}
|
|
2403
2403
|
})();
|
|
2404
|
-
</script>`}function
|
|
2405
|
-
`+Y.slice(Q);else Y+=G;return Y}var
|
|
2404
|
+
</script>`}function zW($){let X=$2($);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 X2($,X,Z){if(c9($))return $;if(X.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test($))return $;let{template:w,bindings:q}=zW($),W=X.__stx_event_bindings||[];return X.__stx_event_bindings=[...W,...q],w}let J=$2($);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=i9(J.flatMap((w)=>w.events)),Q=Y.lastIndexOf("</body>");if(Q!==-1)Y=Y.slice(0,Q)+G+`
|
|
2405
|
+
`+Y.slice(Q);else Y+=G;return Y}var s6,a6,wW,e6;var n9=E(()=>{e0();s6=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"]),a6={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"},wW=new Set(["ctrl","alt","shift","meta"]),e6={left:0,middle:1,right:2}});function c0($){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__
|
|
2406
2406
|
`});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
|
|
2407
|
-
`}),$}function
|
|
2408
|
-
`)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
|
|
2407
|
+
`}),$}function R8($){return $.replace(/^import\s+[^'"]*?from\s*['"][^'"]+['"]\s*;?[ \t]*$/gm,"").replace(/^import\s+['"][^'"]+['"]\s*;?[ \t]*$/gm,"")}function UW($,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 jW($,X){let Z=X+1;while(Z<$.length){if($[Z]==="\\"){Z+=2;continue}if($[Z]==="`")return Z+1;if($[Z]==="$"&&$[Z+1]==="{"){if(Z=N8($,Z+2),Z<$.length)Z++;continue}Z++}return $.length}function N8($,X){let Z=1,J=X;while(J<$.length){let Y=$[J];if(Y==="\\"){J+=2;continue}if(Y==='"'||Y==="'"){J=UW($,J);continue}if(Y==="`"){J=jW($,J);continue}if(Y==="/"&&$[J+1]==="/"){while(J<$.length&&$[J]!==`
|
|
2408
|
+
`)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 o0($){let X="",Z=0;while(Z<$.length){let J=$.slice(Z,Z+2);if(J==="//"){while(Z<$.length&&$[Z]!==`
|
|
2409
2409
|
`)X+=" ",Z++;continue}if(J==="/*"){while(Z<$.length&&$.slice(Z,Z+2)!=="*/")X+=$[Z]===`
|
|
2410
2410
|
`?`
|
|
2411
2411
|
`:" ",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]===`
|
|
2412
2412
|
`?`
|
|
2413
|
-
`:" ",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=
|
|
2413
|
+
`:" ",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=N8($,G);if(X+=" ",X+=o0($.slice(G,Q)),Q<$.length)X+=" ";Z=Q+1;continue}X+=$[Z]===`
|
|
2414
2414
|
`?`
|
|
2415
|
-
`:" ",Z++}X+=" ",Z++;continue}X+=Y,Z++}return X}function
|
|
2415
|
+
`:" ",Z++}X+=" ",Z++;continue}X+=Y,Z++}return X}function BW(){let $=globalThis;return $[Z2]??=new Map,$[Z2]}function e($,X){let Z=BW(),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 Z2;var R7=E(()=>{Z2=Symbol.for("stx.lazy-module-promises")});function N5($){if(!$||$.indexOf("</")===-1)return $;return $.replace(_W,"<\\/$1")}var _W;var r9=E(()=>{_W=/<\/(script)/gi});import HW from"process";function h0($="STX_PUBLIC_"){let X={},Z={};for(let[J,Y]of Object.entries(HW.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 E1=()=>{};function OW($){if(!$||typeof $!=="object")return!1;let X=$;return typeof X.message==="string"&&(X.name==="BuildMessage"||X.name==="ResolveMessage"||("position"in X))}function LW($){if($&&typeof $==="object"&&Array.isArray($.errors))return $.errors;return[$]}function o9($,X){let Z=[];for(let J of LW($)){if(OW(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 J2($,X){return o9($,X).map((Z)=>{let J=Z.file?`${Z.file}${Z.line?`:${Z.line}${Z.column?`:${Z.column}`:""}`:""}`:"",Y=Z.lineText?`
|
|
2416
2416
|
${Z.lineText.trim()}`:"";return J?`${J}: ${Z.message}${Y}`:`${Z.message}${Y}`}).join(`
|
|
2417
|
-
`)}var
|
|
2418
|
-
export { ${B.join(", ")} }`:"";await Bun.write(K,$+
|
|
2419
|
-
`),k=
|
|
2420
|
-
`);if(V=`${
|
|
2417
|
+
`)}var N7={};t(N7,{shouldLogBundlerDiagnostics:()=>w2,setBundlerFallbackMode:()=>RW,resolveBundlerFallback:()=>W2,recordBundleFailure:()=>q2,queueClientBundleBuild:()=>K2,hasUserImports:()=>NW,getBundleFailures:()=>VW,clearBundleFailures:()=>AW,bundleClientScript:()=>MW});import N0 from"path";import u0 from"fs";function w2($=process.env){return $.STX_DEBUG==="true"||$.STX_DEBUG==="1"}function c1(...$){if(w2())console.log("[stx:bundler]",...$)}function q2($,X,Z){t9.push({filePath:$||"<inline>",message:X,details:Z})}function VW(){return t9.slice()}function AW(){t9.length=0}function RW($){a9=$}function W2(){if(a9)return a9;try{let $=M7.strict;return typeof $==="object"&&$!==null?$.bundlerFallback??"warn":"warn"}catch{return"warn"}}function NW($){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(!Y2.some((Q)=>Q.test(Y)))return c1("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(!Y2.some((Q)=>Q.test(Y)))return c1("detected side-effect import:",Y),!0}return!1}function TW($,X,Z,J){let Y=(G,Q)=>{let w=G===Z?X:N0.dirname(G),q=N0.resolve(w,Q),W=[q,`${q}.ts`,`${q}.tsx`,`${q}.js`,`${q}.mjs`,`${q}.jsx`,N0.join(q,"index.ts"),N0.join(q,"index.tsx"),N0.join(q,"index.js"),N0.join(q,"index.mjs")];for(let K of W)try{if(u0.existsSync(K)&&u0.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(u0.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=N0.resolve($,Q.path.slice(2)),q=[w,`${w}.ts`,`${w}.tsx`,`${w}.js`,`${w}.mjs`,`${w}.jsx`,N0.join(w,"index.ts"),N0.join(w,"index.tsx"),N0.join(w,"index.js"),N0.join(w,"index.mjs")];for(let W of q)if(u0.existsSync(W)&&u0.statSync(W,{throwIfNoEntry:!1})?.isFile())return c1(`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=N0.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:u0.readFileSync(Q.path,"utf8"),loader:q}})}}}function K2($){let X=globalThis,J=(X[G2]??Promise.resolve()).then($,$);return X[G2]=J.then(()=>{return},()=>{return}),J}async function MW($,X,Z={}){let J=Z.projectRoot||process.cwd(),Y=Z.minify??!1,G=Z.cacheDir||_1(J,"bundle-cache"),Q=new Bun.CryptoHasher("md5");Q.update(`${FW}\x00${$}\x00${X}`);let w=Q.digest("hex").slice(0,12),q=N0.join(G,`${w}.js`),W=N0.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 _=JSON.parse(await B.text());if(_.metadataVersion!==Q2||!Array.isArray(_.files))j=!1;for(let H of Array.isArray(_.files)?_.files:[])try{if(u0.statSync(H.path).mtimeMs!==H.mtimeMs){j=!1;break}}catch{j=!1;break}}catch{j=!1}if(j)return c1("cache hit:",w),await K.text();c1("cache invalidated by dep change:",w)}let z=s9.get(w);if(z)return await z;let U=K2(()=>kW($,X,{projectRoot:J,minify:Y,cacheDir:G,hash:w,cachePath:q,depsPath:W}));s9.set(w,U);try{return await U}finally{s9.delete(w)}}async function kW($,X,Z){let{projectRoot:J,minify:Y,cacheDir:G,hash:Q,cachePath:w,depsPath:q}=Z,W=_1(J,"bundle-tmp"),K=N0.join(W,`${Q}.ts`),z=N0.join(W,"out",Q);u0.mkdirSync(W,{recursive:!0}),u0.mkdirSync(z,{recursive:!0});let U=N0.dirname(X),B=[],j=/^(export\s+)?(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))/gm,_=/^(export\s+)?(?:async\s+)?function\s+(\w+)/gm,H;while((H=j.exec($))!==null){if(H[1])continue;if(H[2])H[2].split(",").forEach((F)=>{let V=F.split(":")[0].trim();if(V)B.push(V)});else if(H[3])B.push(H[3])}while((H=_.exec($))!==null){if(H[1])continue;B.push(H[2])}let O=B.length>0?`
|
|
2418
|
+
export { ${B.join(", ")} }`:"";await Bun.write(K,$+O),c1("bundling:",Q,"from:",N0.basename(X));let L=new Set;try{let F=await Bun.build({entrypoints:[K],outdir:z,target:"browser",format:"esm",minify:Y,plugins:[TW(J,U,K,L)],define:{"process.env.NODE_ENV":Y?'"production"':'"development"',...h0()},root:J});if(!F.success){let I=F.logs.filter((S)=>S.level==="error").map((S)=>S.message).join(", ");return console.warn("[stx:bundler] build failed:",I),$}let V="";for(let I of F.outputs){V=await I.text();break}let R=[];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){R.push([b[2],b[1]]);continue}let y=S.trim();if(/^[A-Za-z_$][\w$]*$/.test(y))R.push([y,y])}let A=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 N=`__stxBundle_${Q}`,M=R.map(([I,S])=>`${JSON.stringify(I)}: ${S}`).join(", "),T=R.map(([I])=>`var ${I} = undefined;`).join(`
|
|
2419
|
+
`),k=R.map(([I])=>`${I} = ${N}[${JSON.stringify(I)}];`).join(`
|
|
2420
|
+
`);if(V=`${A.join(`
|
|
2421
2421
|
`)}
|
|
2422
|
-
${
|
|
2422
|
+
${T}
|
|
2423
2423
|
var ${N} = (function() {
|
|
2424
2424
|
${V}
|
|
2425
|
-
return { ${
|
|
2425
|
+
return { ${M} };
|
|
2426
2426
|
})();
|
|
2427
|
-
${k}`.trim(),c1("bundled:",Q,"output:",V.length,"bytes"),B.length>0&&
|
|
2427
|
+
${k}`.trim(),c1("bundled:",Q,"output:",V.length,"bytes"),B.length>0&&R.length===0)return console.warn(`[stx:bundler] dropped every binding for ${N0.basename(X)} (${Q}); serving the unbundled source and not caching this result`),$;u0.mkdirSync(G,{recursive:!0}),await Bun.write(w,V);let D=Array.from(L).map((I)=>{try{return{path:I,mtimeMs:u0.statSync(I).mtimeMs}}catch{return null}}).filter((I)=>I!==null);return await Bun.write(q,JSON.stringify({metadataVersion:Q2,files:D})),V}catch(F){let V=o9(F,X||void 0),R=J2(F,X||void 0);if(console.warn(`[stx:bundler] error: ${R}`),q2(X||"",R,V),W2()==="error")throw F;return $}finally{try{u0.rmSync(K,{force:!0}),u0.rmSync(z,{recursive:!0,force:!0})}catch{}}}var FW=5,Q2=1,t9,a9,Y2,s9,G2;var T7=E(()=>{E1();V7();L1();t9=[];Y2=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];s9=new Map,G2=Symbol.for("stx.client-bundle-build-queue")});var L2={};t(L2,{stripCommentsAndLiterals:()=>o0,renderVendorStyleTags:()=>M8,processClientScript:()=>E7,injectBrowserCoreAutoImports:()=>T5,generateServerDataBridge:()=>k8,generateBrowserAutoImportDestructuring:()=>vW,generateAutoImportDestructuring:()=>e9,findInterpolationEnd:()=>N8,extractBridgeData:()=>I7,extractAndStripCssImports:()=>T8,STX_AUTO_IMPORTS:()=>B2});import p1 from"path";import k7 from"fs";function EW($){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 DW($,X){let Z=X;while(!0){let J=p1.join(Z,"node_modules",$,"package.json");if(k7.existsSync(J))return p1.dirname(J);let Y=p1.dirname(Z);if(Y===Z)return null;Z=Y}}function yW($,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 bW($,X){let Z=EW($);if(!Z||!Z.subpath)return null;let J=DW(Z.pkg,X);if(!J)return null;let Y;try{Y=JSON.parse(k7.readFileSync(p1.join(J,"package.json"),"utf8"))}catch{return null}let G=`.${Z.subpath}`,Q=yW(Y.exports,G);if(!Q)return null;let w=p1.resolve(J,Q);return k7.existsSync(w)?w:null}function T8($,X){let Z=X.filePath?p1.dirname(X.filePath):X.projectRoot||process.cwd(),J=X.projectRoot||process.cwd(),Y=new Set,G=[];return{code:$.replace(IW,(w,q)=>{let W;try{if(q.startsWith("./")||q.startsWith("../")||q.startsWith("/")){if(W=q.startsWith("/")?q:p1.resolve(Z,q),!k7.existsSync(W))throw Error(`file not found: ${W}`)}else{let K=null;try{K=Bun.resolveSync(q,J)}catch{K=bW(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=k7.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 SW($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function M8($){if($.length===0)return"";return`${$.map((X)=>{return`<style data-stx-vendor="${SW(X.source)}" data-stx-layer="vendor">
|
|
2428
2428
|
@layer vendor {
|
|
2429
2429
|
${X.contents}
|
|
2430
2430
|
}
|
|
2431
2431
|
</style>`}).join(`
|
|
2432
2432
|
`)}
|
|
2433
|
-
`}function T5($){let X=
|
|
2433
|
+
`}function T5($){let X=o0($),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=_2.filter((w)=>{if(Z.has(w)||J.has(w))return!1;return new RegExp(`\\b${w}\\s*\\(`).test(X)}),G=H2(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(`
|
|
2434
2434
|
`)}
|
|
2435
|
-
${$}`,imports:Y,models:G}}function
|
|
2435
|
+
${$}`,imports:Y,models:G}}function H2($){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(!CW.has(J[1]))X.add(J[1]);return Array.from(X)}function PW($){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 O2($){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 _=j.match(/^([A-Za-z_$][\w$]*)(?:\s+as\s+([A-Za-z_$][\w$]*))?$/);if(!_)continue;let H=_[1],O=_[2]||H;if(Y.add(H),Y.add(O),K==="stx"||K==="@stacksjs/stx")X.add(H);else Z.add(H);if(O!==H)z.push(`${O} = ${H}`)}let U=z.length>0?`var ${z.join(", ")}; /* [auto-import processed] */`:"// [auto-import processed]";J=J.replace(Q[0],U)}let w=PW(J);for(let W of B2){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 _2){if(Y.has(W)||w.has(W))continue;if(new RegExp(`\\b${W}\\b`,"g").test(J))Z.add(W)}let q=H2(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 e9($,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
|
|
2436
2436
|
${Z.join(`
|
|
2437
2437
|
`)}
|
|
2438
|
-
${
|
|
2438
|
+
${xW($,X)}`;return""}function vW($,X=[]){let{browserImports:Z}=O2($),J=new Set(X);return e9([],Z.filter((Y)=>!J.has(Y)))}function xW($,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
|
|
2439
2439
|
[${Z.join(", ")}].forEach(function (e) {
|
|
2440
2440
|
if (e[1] !== 'undefined') return;
|
|
2441
2441
|
console.error(
|
|
@@ -2444,10 +2444,10 @@ ${yW($,X)}`;return""}function DW($,X=[]){let{browserImports:Z}=j6($),J=new Set(X
|
|
|
2444
2444
|
+ 'or it should be imported from a relative path so the bundler includes it.'
|
|
2445
2445
|
);
|
|
2446
2446
|
});
|
|
2447
|
-
`}function
|
|
2447
|
+
`}function I7($){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 z2($,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 fW($,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(z2(Z[1],!0).has(X))return!0;for(let Z of $.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(z2(Z[1],!1).has(X))return!0;return!1}function gW($,X){return new RegExp(`(?<![.#\\w$])${X}(?![\\w$])`).test($)}function uW($,X){let Z=hW.test($),J=X.length>32768;if(!Z&&!J)return;if(U2.has($))return;if(U2.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 k8($,X){if(!X)return"";let Z=o0($),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&&!gW(Z,G))continue;if(fW($,G))continue;let w;try{w=JSON.stringify(Q)}catch{continue}if(w===void 0)continue;uW(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)
|
|
2448
2448
|
${Y.join(`
|
|
2449
2449
|
`)}
|
|
2450
|
-
`}function
|
|
2450
|
+
`}function mW($){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=dW[$.mouse];X.push(`if ($event.button !== ${Z}) return`)}if($.prevent)X.push("$event.preventDefault()");if($.stop)X.push("$event.stopPropagation()");return X.join("; ")}function lW($,X){let{elementId:Z,event:J,modifiers:Y}=$,G=p9($.handler),Q=mW(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) {
|
|
2451
2451
|
$el.dispatchEvent(new CustomEvent(name, { detail: detail, bubbles: true, cancelable: true }))
|
|
2452
2452
|
};`;function U(B){if(/\$emit\s*\(/.test(B))return`${z}
|
|
2453
2453
|
${B}`;return`var scope = $el.closest('[data-stx-scope]');
|
|
@@ -2490,25 +2490,25 @@ else {
|
|
|
2490
2490
|
else {
|
|
2491
2491
|
${G}
|
|
2492
2492
|
}
|
|
2493
|
-
}${q})`}function
|
|
2493
|
+
}${q})`}function cW($){if($.length===0)return"";return`
|
|
2494
2494
|
// STX: auto-generated event bindings
|
|
2495
|
-
${$.map((Z,J)=>
|
|
2496
|
-
`)}`}function
|
|
2497
|
-
`)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(":"),_=j>=0?B.slice(j+1).trim().split(/[\s=]/)[0]:B.split(/[\s=]/)[0];if(_&&!_.startsWith("_")&&!Z.has(_))X.push(_),Z.add(_)}),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
|
|
2495
|
+
${$.map((Z,J)=>lW(Z,J)).join(`
|
|
2496
|
+
`)}`}function j2($){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]!==`
|
|
2497
|
+
`)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(":"),_=j>=0?B.slice(j+1).trim().split(/[\s=]/)[0]:B.split(/[\s=]/)[0];if(_&&!_.startsWith("_")&&!Z.has(_))X.push(_),Z.add(_)}),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 iW($){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(!pW.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 E7($,X={}){let Z=$,J="",Y=!1,G=[],Q=T8(Z,{filePath:X.filePath,projectRoot:X.projectRoot});Z=Q.code;let w=M8(Q.styles),q=T5(Z);Z=q.code,G=[...q.imports,...q.models];let{hasUserImports:W,bundleClientScript:K}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (T7(),N7)));if(W(Z))Z=await K(Z,X.filePath||"",{projectRoot:X.projectRoot,minify:X.production}),Y=!0;if(X.autoImports!==!1){let L=O2(Z);Z=L.code,J=e9(L.stxImports,L.browserImports.filter((F)=>!G.includes(F)))}if(J=`${k8(Z,X.serverData)}${J}`,Z=c0(Z),!Y&&i1(X.attrs||""))Z=n1(Z);let z=cW(X.eventBindings||[]),U=(X.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(U)){let L=U.replace(/\btype\s*=\s*["']module["']/i,"").trim(),F=`type="module" data-stx-scoped${L?` ${L}`:""}`;return`${w}<script ${F}>
|
|
2498
2498
|
${N5(`${J}${Z}
|
|
2499
2499
|
${z}`)}
|
|
2500
|
-
</script>`}let j=
|
|
2501
|
-
return { ${
|
|
2500
|
+
</script>`}let j=l9($),_=/function __stx_setup_/.test(Z),H=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test($);function O(L){let F=L.length>0?`
|
|
2501
|
+
return { ${L.join(", ")} };`:"";return`${w}<script data-stx-scoped data-stx-run="always">
|
|
2502
2502
|
window.stx.mount(function() {
|
|
2503
2503
|
'use strict';
|
|
2504
2504
|
${N5(`${J}${Z}
|
|
2505
2505
|
${z}${F}`)}
|
|
2506
|
-
})</script>`}if(!H&&!_){if(j)return
|
|
2506
|
+
})</script>`}if(!H&&!_){if(j)return O(j2($));if(X.templateContent){let L=j2($);if(L.length>0){let F=iW(X.templateContent);if(L.some((R)=>F.has(R)))return O(L)}}}return`${w}<script data-stx-scoped data-stx-run="always">
|
|
2507
2507
|
;(function() {
|
|
2508
2508
|
'use strict';
|
|
2509
2509
|
${N5(`${J}${Z}
|
|
2510
2510
|
${z}`)}
|
|
2511
|
-
})()</script>`}var
|
|
2511
|
+
})()</script>`}var IW,B2,_2,CW,hW,U2,dW,pW;var D7=E(()=>{n9();D0();R7();e0();r9();IW=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;B2=O1,_2=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useActiveElement","useDocumentVisibility","useIntervalFn"];CW=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"]);hW=/token|secret|passw|apikey|api_key|privatekey|private_key|credential|webhook|bearer|jwt|signature/i,U2=new Set;dW={left:0,middle:1,right:2};pW=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 nW}from"crypto";function F2($){let X=$[I8];return X instanceof Map?X:null}function V2($){$[I8]=new Map}function A2($,X){let Z=F2($);if(!Z)return null;let J=nW("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 R2($,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>
|
|
2512
2512
|
(function() {
|
|
2513
2513
|
const factories = window.__stxComponentFactories = window.__stxComponentFactories || {};
|
|
2514
2514
|
${Y.map(([q,W])=>` try { factories[${JSON.stringify(q)}] = factories[${JSON.stringify(q)}] || ${W.body}; }
|
|
@@ -2517,7 +2517,7 @@ ${Y.map(([q,W])=>` try { factories[${JSON.stringify(q)}] = factories[${JSON.str
|
|
|
2517
2517
|
})();
|
|
2518
2518
|
</script>`,w=J.search(/<script\b(?=[^>]*\bdata-stx-scoped\b)/i);if(w<0)return`${Q}
|
|
2519
2519
|
${J}`;return`${J.slice(0,w)}${Q}
|
|
2520
|
-
${J.slice(w)}`}var
|
|
2520
|
+
${J.slice(w)}`}var I8="__stx_component_client_factories";var $X=()=>{};function aW($){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 tW($,X){let Z=/[$A-Z_a-z][$\w]*/g,J;while((J=Z.exec($))!==null){let Y=J[0],G=$[J.index-1];if(oW.has(Y))throw Error(`Potentially unsafe expression (matched /\\b${Y}\\b/; identifier ${Y}): ${X}`);if(G==="."&&k2.has(Y))throw Error(`Potentially unsafe expression (matched /.${Y}/; property ${Y}): ${X}`)}}function eW($){let X=/\[\s*(['"])(.*?)\1\s*\]/g,Z;while((Z=X.exec($))!==null){let J=Z[2];if(!k2.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 E8($){let X=$.trim(),Z=aW(X);tW(Z,X),eW(X);for(let J of M2)if(J.test(Z))throw Error(`Potentially unsafe expression (matched /${J.source}/): ${X}`);if(!T2.allowBracketNotation&&sW.test(X))throw Error(`Bracket notation with strings not allowed: ${X}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return X}function $K($){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("__")||M2.some((Y)=>Y.test(Z)))continue;if(J&&typeof J==="object"&&!Array.isArray(J))X[Z]=XX(J);else X[Z]=J}return X}function XX($,X=0){if(X>=T2.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((J)=>XX(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]=XX(Y,X+1);else Z[J]=Y}return Z}function Y0($,X){try{let Z=$K(X),J=Object.keys(Z),Y=Object.values(Z);return q0($,J)(...Y)}catch{return}}function w0($){try{return E8($),!0}catch{return!1}}function k0($,X){try{let Z=Y0($,X);if(Z&&typeof Z==="object"&&!Array.isArray(Z))return Z;return{}}catch{return{}}}function q0($,X){let Z=E8($),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(I2.has(K))continue;Y.push(W),G.push(K)}let Q=(W)=>Function(...G,...W,`
|
|
2521
2521
|
'use strict';
|
|
2522
2522
|
try {
|
|
2523
2523
|
return ${Z};
|
|
@@ -2528,7 +2528,7 @@ catch (e) {
|
|
|
2528
2528
|
}
|
|
2529
2529
|
throw e;
|
|
2530
2530
|
}
|
|
2531
|
-
`),w=Q([]);if(G.length===X.length)return F6(w,G,Q);return F6((...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 F6($,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)||N6.has(j))return;q.add(j),w.push(j),Q=Z(w),J?.(w)}return}}function E8($){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 mW,V6,A6,lW,R6,cW,N6;var T0=D(()=>{mW={maxSanitizeDepth:10,allowBracketNotation:!1},V6={...mW},A6=[/\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/],lW=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"]),R6=new Set(["__proto__","constructor","prototype"]),cW=/[\w)\]]\s*\[\s*['"]/;N6=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 D8($,X){let Z=oW++,J=`<!--__STX_${$.toUpperCase()}_${Z}__-->`;return sW.set(J,{type:$,expression:X}),J}var oW=0,sW;var T6=D(()=>{sW=new Map});function D6($,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 D1($,X){return D6($,X,M6,k6)}function M5($,X){return D6($,X,I6,E6)}function D7($,X){if(!$.startsWith("<!--",X))return-1;let Z=$.indexOf("-->",X+4);if(Z===-1)return-1;return Z+3}function aW($,X){if($.startsWith("<!--",X)){let Z=D7($,X);return Z===-1?$.length:Z}for(let[Z,J]of[[M6,k6],[I6,E6]]){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 XX($,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=aW($,J);if(W>J){J=W;continue}if(/^<\/?[a-zA-Z]/.test($.slice(J,J+2)))G=!0;J++}return Z}function q1($,X,Z){let J=XX($,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 y1($){let{output:X,tokens:Z}=q1($,D1,(J,Y)=>`\x00STX_SCRIPT_${Y}\x00`);return{output:X,scripts:Z}}function y7($,X){if(X.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,J)=>X[+J]??"")}var M6,k6,I6,E6;var r1=D(()=>{M6=/<script\b[^>]*>/iy,k6=/<\/script\s*>/ig,I6=/<style\b[^>]*>/iy,E6=/<\/style\s*>/ig});var x6={};a(x6,{usesSignalsInScript:()=>F1,unescapeHtml:()=>QK,registerFilters:()=>eW,registerFilter:()=>S6,processExpressions:()=>b1,interpolateScriptsInTemplate:()=>ZK,interpolateScriptExpressions:()=>y8,interpolateScriptAttributes:()=>P6,getAllFilters:()=>C6,evaluateExpression:()=>u0,escapeHtml:()=>t0,defaultFilters:()=>S7,clearCustomFilters:()=>$K,applyFilters:()=>v6});function tW($){let X=y6.get($);if(!X){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");X=new RegExp(`:${Z}(?!\\w)`,"g"),y6.set($,X)}return X.lastIndex=0,X}function S6($,X){if($ in S7)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);b7[$]=X}function eW($){for(let[X,Z]of Object.entries($))S6(X,Z)}function C6(){return{...S7,...b7}}function $K(){for(let $ of Object.keys(b7))delete b7[$]}function t0($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function F1($){let{scripts:X}=y1($);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 b6($,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 XK($,X){let Z=X.__stx_serverDeclared;if(!Z||Z.size===0)return!1;let J=n0($);for(let Y of Z)if(new RegExp(`(?<![.#\\w$])${Y}(?![\\w$])`).test(J))return!0;return!1}function y8($,X){let Z=$;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(J,Y)=>{try{let G=u0(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=u0(Y,X);if(Q===void 0)return J;return JSON.stringify(Q).replace(/</g,"\\u003c")}catch{return J}}),Z}function P6($,X){if(!$.includes("{"))return $;let Z=$;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(J,Y)=>{try{let G=u0(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=u0(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 ZK($,X,Z={}){let{output:J,scripts:Y}=y1($),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${P6(K,X)}>`;if(/\bsrc\s*=/.test(K)||/\btype\s*=\s*["']application\/json["']/.test(K))return B+z+Q.slice(W);return B+y8(z,X)+Q.slice(W)});return y7(J,G)}function b1($,X,Z){let J=$,Y=(z,U)=>{let B=M5(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}=q1(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,D1,w,(z)=>`<!--__STX_SCRIPT_EXPR_${z}__-->`);let q=X?.__stx_signals_gate===!0||F1($),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=u0(U,X);return j!==void 0&&j!==null?String(j):""}catch(j){let _=j instanceof Error?j.message:String(j);return z0("Expression",`Error evaluating: {{{ ${U.trim()}}}}: ${_}`,Z,$,B,z)}}),J=J.replace(/\{!!([\s\S]*?)!!\}/g,(z,U,B)=>{try{let j=u0(U,X);if(j===void 0&&X.__stx_buildMode==="compile")return D8("raw",U.trim());return j!==void 0&&j!==null?String(j):""}catch(j){if(X.__stx_buildMode==="compile")return D8("raw",U.trim());let _=j instanceof Error?j.message:String(j);return z0("Expression",`Error evaluating: {!! ${U.trim()} !!}: ${_}`,Z,$,B,z)}}),J=G(J,D1,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=u0(U,X);if(V)return z;if(q&&!b6(j,X))return z;if(X.__stx_buildMode==="compile"&&!q&&(T===void 0||XK(j,X)))return D8("expr",j);return T!==void 0&&T!==null?t0(String(T)):""}catch(T){if(V)return z;if(q&&!b6(j,X))return z;if(N)return z;let M=T instanceof Error?T.message:String(T);return z0("Expression",`Error evaluating: {{ ${j} }}: ${M}`,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 v6($,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=b7[Q]||S7[Q];if(!w)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(C6()).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=[u0(`(${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 u0(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 JK($){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 u0($,X,Z=!1){try{let J=$.trim(),Y=JK(J);if(Y>0){let G=J.substring(0,Y).trim(),Q=J.substring(Y+1).trim(),w=u0(G,X,!0);return v6(w,Q,X)}if(!q0(J)){if(!Z)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${J}`);return J0(J,X)}try{let G=Object.keys(X),Q=Object.values(X);return W0(J,G)(...Q)}catch{return J0(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=YK(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 YK($,X){let Z=null;for(let Y of X){if(Y===$)continue;let G=GK($,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 GK($,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 QK($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var b7,y6,S7;var W1=D(()=>{T0();k0();T6();r1();b7={},y6=new Map;S7={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 t0(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(tW(q),String(W))}),w},t:($,X,Z={})=>{return S7.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 o1{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 I5($,X){if(X?.includes("g"))return new RegExp($,X);let Z=`${$}:${X||""}`;if(!k5.has(Z)){if(k5.size>=wK){let J=k5.keys().next().value;if(J)k5.delete(J)}k5.set(Z,new RegExp($,X))}return k5.get(Z)}class f6{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,`
|
|
2531
|
+
`),w=Q([]);if(G.length===X.length)return N2(w,G,Q);return N2((...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 N2($,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)||I2.has(j))return;q.add(j),w.push(j),Q=Z(w),J?.(w)}return}}function D8($){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 rW,T2,M2,oW,k2,sW,I2;var I0=E(()=>{rW={maxSanitizeDepth:10,allowBracketNotation:!1},T2={...rW},M2=[/\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/],oW=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"]),k2=new Set(["__proto__","constructor","prototype"]),sW=/[\w)\]]\s*\[\s*['"]/;I2=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 y8($,X){let Z=XK++,J=`<!--__STX_${$.toUpperCase()}_${Z}__-->`;return ZK.set(J,{type:$,expression:X}),J}var XK=0,ZK;var E2=E(()=>{ZK=new Map});function C2($,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 D1($,X){return C2($,X,D2,y2)}function M5($,X){return C2($,X,b2,S2)}function y7($,X){if(!$.startsWith("<!--",X))return-1;let Z=$.indexOf("-->",X+4);if(Z===-1)return-1;return Z+3}function JK($,X){if($.startsWith("<!--",X)){let Z=y7($,X);return Z===-1?$.length:Z}for(let[Z,J]of[[D2,y2],[b2,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 ZX($,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=JK($,J);if(W>J){J=W;continue}if(/^<\/?[a-zA-Z]/.test($.slice(J,J+2)))G=!0;J++}return Z}function w1($,X,Z){let J=ZX($,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 y1($){let{output:X,tokens:Z}=w1($,D1,(J,Y)=>`\x00STX_SCRIPT_${Y}\x00`);return{output:X,scripts:Z}}function b7($,X){if(X.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,J)=>X[+J]??"")}var D2,y2,b2,S2;var r1=E(()=>{D2=/<script\b[^>]*>/iy,y2=/<\/script\s*>/ig,b2=/<style\b[^>]*>/iy,S2=/<\/style\s*>/ig});var u2={};t(u2,{usesSignalsInScript:()=>F1,unescapeHtml:()=>UK,registerFilters:()=>GK,registerFilter:()=>x2,processExpressions:()=>b1,interpolateScriptsInTemplate:()=>qK,interpolateScriptExpressions:()=>b8,interpolateScriptAttributes:()=>g2,getAllFilters:()=>f2,evaluateExpression:()=>d0,escapeHtml:()=>$1,defaultFilters:()=>C7,clearCustomFilters:()=>QK,applyFilters:()=>h2});function YK($){let X=P2.get($);if(!X){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");X=new RegExp(`:${Z}(?!\\w)`,"g"),P2.set($,X)}return X.lastIndex=0,X}function x2($,X){if($ in C7)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);S7[$]=X}function GK($){for(let[X,Z]of Object.entries($))x2(X,Z)}function f2(){return{...C7,...S7}}function QK(){for(let $ of Object.keys(S7))delete S7[$]}function $1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function F1($){let{scripts:X}=y1($);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 v2($,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 wK($,X){let Z=X.__stx_serverDeclared;if(!Z||Z.size===0)return!1;let J=o0($);for(let Y of Z)if(new RegExp(`(?<![.#\\w$])${Y}(?![\\w$])`).test(J))return!0;return!1}function b8($,X){let Z=$;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(J,Y)=>{try{let G=d0(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=d0(Y,X);if(Q===void 0)return J;return JSON.stringify(Q).replace(/</g,"\\u003c")}catch{return J}}),Z}function g2($,X){if(!$.includes("{"))return $;let Z=$;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(J,Y)=>{try{let G=d0(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=d0(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 qK($,X,Z={}){let{output:J,scripts:Y}=y1($),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${g2(K,X)}>`;if(/\bsrc\s*=/.test(K)||/\btype\s*=\s*["']application\/json["']/.test(K))return B+z+Q.slice(W);return B+b8(z,X)+Q.slice(W)});return b7(J,G)}function b1($,X,Z){let J=$,Y=(z,U)=>{let B=M5(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:O}=w1(z,U,(L,F)=>j(_+F));return B.push(...O),H},Q=[];J=G(J,Y,Q,(z)=>`<!--__STX_STYLE_${z}__-->`);let w=[];J=G(J,D1,w,(z)=>`<!--__STX_SCRIPT_EXPR_${z}__-->`);let q=X?.__stx_signals_gate===!0||F1($),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=d0(U,X);return j!==void 0&&j!==null?String(j):""}catch(j){let _=j instanceof Error?j.message:String(j);return j0("Expression",`Error evaluating: {{{ ${U.trim()}}}}: ${_}`,Z,$,B,z)}}),J=J.replace(/\{!!([\s\S]*?)!!\}/g,(z,U,B)=>{try{let j=d0(U,X);if(j===void 0&&X.__stx_buildMode==="compile")return y8("raw",U.trim());return j!==void 0&&j!==null?String(j):""}catch(j){if(X.__stx_buildMode==="compile")return y8("raw",U.trim());let _=j instanceof Error?j.message:String(j);return j0("Expression",`Error evaluating: {!! ${U.trim()} !!}: ${_}`,Z,$,B,z)}}),J=G(J,D1,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_$]*)/,L=j.match(H)?.[1],F=L&&((L in X)||_.includes(L)),V=Boolean(L&&W.has(L)),R=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,A=j.match(R),N=A&&!_.includes(A[1])&&!(A[1]in X);if(/^__[A-Z_]+__$/.test(j))return"";try{let M=d0(U,X);if(V)return z;if(q&&!v2(j,X))return z;if(X.__stx_buildMode==="compile"&&!q&&(M===void 0||wK(j,X)))return y8("expr",j);return M!==void 0&&M!==null?$1(String(M)):""}catch(M){if(V)return z;if(q&&!v2(j,X))return z;if(N)return z;let T=M instanceof Error?M.message:String(M);return j0("Expression",`Error evaluating: {{ ${j} }}: ${T}`,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 h2($,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=S7[Q]||C7[Q];if(!w)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(f2()).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=[d0(`(${z})`,Z,!0)];else{let U=[],B="",j=null,_=0,H=0,O=0,L=!1;for(let F=0;F<z.length;F++){let V=z[F];if(L){B+=V,L=!1;continue}if(V==="\\"){B+=V,L=!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==="{")O++;else if(V==="}")O--;if(V===","&&_===0&&H===0&&O===0){U.push(B),B="";continue}B+=V}if(B)U.push(B);q=U.map((F)=>{let V=F.trim();return d0(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 WK($){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 d0($,X,Z=!1){try{let J=$.trim(),Y=WK(J);if(Y>0){let G=J.substring(0,Y).trim(),Q=J.substring(Y+1).trim(),w=d0(G,X,!0);return h2(w,Q,X)}if(!w0(J)){if(!Z)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${J}`);return Y0(J,X)}try{let G=Object.keys(X),Q=Object.values(X);return q0(J,G)(...Q)}catch{return Y0(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=KK(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 KK($,X){let Z=null;for(let Y of X){if(Y===$)continue;let G=zK($,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 zK($,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 UK($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var S7,P2,C7;var q1=E(()=>{I0();D0();E2();r1();S7={},P2=new Map;C7={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 $1(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(YK(q),String(W))}),w},t:($,X,Z={})=>{return C7.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 o1{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 I5($,X){if(X?.includes("g"))return new RegExp($,X);let Z=`${$}:${X||""}`;if(!k5.has(Z)){if(k5.size>=jK){let J=k5.keys().next().value;if(J)k5.delete(J)}k5.set(Z,new RegExp($,X))}return k5.get(Z)}class d2{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
2532
|
'use strict';
|
|
2533
2533
|
try {
|
|
2534
2534
|
return ${q};
|
|
@@ -2539,34 +2539,137 @@ catch (e) {
|
|
|
2539
2539
|
}
|
|
2540
2540
|
throw e;
|
|
2541
2541
|
}
|
|
2542
|
-
`),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
|
|
2542
|
+
`),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 m2{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 BK(){if(!JX)JX=new m2;return JX}var k5,jK=500,mV,JX=null,l2;var E5=E(()=>{k5=new Map;mV=new d2;l2=new Proxy({},{get($,X){return BK()[X]}})});function c2($,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 p2($,X,Z={}){let{prefix:J="",preserveHost:Y=!0,scopeKeyframes:G=!0,scopeCustomProperties:Q=!1}=Z;if(!$.trim())return"";let w=YX($),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=i2(K,X,J,Y,W,Q);q.push(z)}return q.join(`
|
|
2543
2543
|
|
|
2544
|
-
`)}function
|
|
2545
|
-
`)})}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
|
|
2544
|
+
`)}function YX($){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=YX(U);X.push({selector:`@${K} ${z.trim()}`,declarations:B.map((j)=>`${j.selector} { ${j.declarations} }`).join(`
|
|
2545
|
+
`)})}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 i2($,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=YX(`x { ${w} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((U)=>i2(U,X,Z,J,Y,G)).join(`
|
|
2546
2546
|
`);return`${Q} {
|
|
2547
2547
|
${z}
|
|
2548
|
-
}`}return`${Q} { ${w} }`}let q=
|
|
2549
|
-
`)}function
|
|
2550
|
-
`,""}),headContent:X.trim()}}function
|
|
2551
|
-
`);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
|
|
2552
|
-
|
|
2553
|
-
`),X}function
|
|
2554
|
-
`),
|
|
2555
|
-
${
|
|
2556
|
-
${
|
|
2548
|
+
}`}return`${Q} { ${w} }`}let q=_K(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 _K($,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=HK(Q,X);if(q)G.push(Z?`${Z} ${q}`:q)}return G.join(", ")}function HK($,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 r2($){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 S8($,X){if(!OK.test($))return{html:$,hasScoped:!1};let Z=c2(X),J=`data-v-${Z}`,Y=$,G=new RegExp(`<style\\s+([^>]*${GX}[^>]*)>([\\s\\S]*?)</style>`,"gi"),Q=!1;if(Y=Y.replace(G,(w,q,W)=>{Q=!0;let K=LK(W,J),z=q.replace(new RegExp(GX,"gi"),"").trim(),U=z?` ${z}`:"";return`<style data-stx-scoped="${Z}"${U}>${K}</style>`}),!Q)return{html:$,hasScoped:!1};return Y=VK(Y,J),{html:Y,hasScoped:!0}}function LK($,X){return p2($,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${X}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${X}]`)}function VK($,X){let Z=w1($,(Y,G)=>{let Q=D1(Y,G);return Q>G?Q:M5(Y,G)},(Y,G)=>FK(G)),J=AK(Z.output,X);return n2.lastIndex=0,J.replace(n2,(Y,G)=>Z.tokens[Number(G)])}function AK($,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 GX,OK,FK=($)=>`\x00stx-scope-mask-${$}\x00`,n2;var QX=E(()=>{r1();GX=String.raw`(?<![\w-])scoped(?![\w-])`,OK=new RegExp(`<style\\s+[^>]*${GX}`,"i");n2=/\u0000stx-scope-mask-(\d+)\u0000/g});function NK($){let X=$.replace(/^<template\b/i,"").replace(/>$/,"");return RK.test(X)}function C8($){P7.lastIndex=0;let X;while((X=P7.exec($))!==null){if(X[0].startsWith("</")||NK(X[0]))continue;let Z=X.index,J=P7.lastIndex,Y=1,G;while((G=P7.exec($))!==null)if(G[0].startsWith("</")){if(Y--,Y===0){let Q=G.index;return{start:Z,openEnd:J,closeStart:Q,end:P7.lastIndex,content:$.slice(J,Q)}}}else Y++;return null}return null}var P7,RK;var wX=E(()=>{P7=/<\/?template\b[^>]*>/gi,RK=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var o2=()=>{};function y0($,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 KX={};t(KX,{useTitle:()=>EK,useSeoMeta:()=>s2,usePageTitle:()=>EK,useHead:()=>WX,seoMetaToHeadConfig:()=>v8,resetHead:()=>kK,renderHtmlAttrs:()=>yK,renderHead:()=>DK,renderBodyAttrs:()=>bK,processTitleDirective:()=>PK,processMetaDirective:()=>vK,processHeadDirective:()=>CK,mergeHeadConfigs:()=>D5,getPageMeta:()=>MK,getHead:()=>qX,definePageMeta:()=>IK,applyHead:()=>SK});function qX(){return S1}function MK(){return P8}function kK(){S1={},TK.length=0,P8={}}function WX($){S1=D5(S1,$)}function D5($,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 s2($){WX(v8($))}function v8($){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 IK($){if(P8={...P8,...$},$.title||$.description)s2({title:$.title,description:$.description})}function EK($){let X=typeof $==="function"?$():$;WX({title:X})}function DK($=S1){let X=[];if($.title){let Z=$.title;if($.titleTemplate)Z=typeof $.titleTemplate==="function"?$.titleTemplate(Z):$.titleTemplate.replace("%s",Z);X.push(`<title>${s1(Z)}</title>`)}if($.base){let Z=Object.entries($.base).map(([J,Y])=>`${J}="${s1(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}="${s1(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}="${s1(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}="${s1(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(`
|
|
2549
|
+
`)}function yK($=S1){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([X,Z])=>`${X}="${s1(Z)}"`).join(" ")}function bK($=S1){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([X,Z])=>`${X}="${s1(Z)}"`).join(" ")}function s1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function SK($=S1){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 CK($){let X="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(J,Y)=>{return X+=Y.trim()+`
|
|
2550
|
+
`,""}),headContent:X.trim()}}function PK($,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=D5(w,{title:Q}),""})}function vK($,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=D5(U,{meta:[z]}),""})}var S1,TK,P8;var v7=E(()=>{S1={},TK=[],P8={}});var x8={};t(x8,{stripTypeScript:()=>JZ,splitDeclaration:()=>WZ,isModuleResolutionFailure:()=>YZ,isMissingBindingFailure:()=>GZ,isCompleteImport:()=>QZ,hasVariables:()=>jZ,extractVariables:()=>a1,extractScriptFromTemplate:()=>UZ,convertToCommonJS:()=>jX,STX_ENGINE_BINDING_NAMES:()=>UX});import C1 from"path";import y5 from"process";function fK($){let X=[],Z=0,J=$.split(`
|
|
2551
|
+
`);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 JZ($){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 R=0;R<U.length;R++)if(U[R]==="<")j++;else if(U[R]===">")j--;else if(U[R]===":"&&j===0){B=R;break}if(B===-1)return W;let H=U.substring(0,B).trim().replace(/\?$/,""),O=U.substring(B+1),L=-1,F=0;for(let R=0;R<O.length;R++)if(O[R]==="<")F++;else if(O[R]===">")F--;else if(O[R]==="="&&F===0){L=R;break}let V=z?"...":"";if(L!==-1)return`${V}${H} = ${O.substring(L+1).trim()}`;return`${V}${H}`}).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,`
|
|
2552
|
+
|
|
2553
|
+
`),X}function YZ($){return/cannot find module|could not resolve|module not found|failed to resolve/i.test($)}function GZ($){if(!/is not defined|can't find variable/i.test($))return!1;return!/\b(document|window|navigator|localStorage|sessionStorage|self)\b/.test($)}async function a1($,X,Z,J={}){if(!$.trim())return;let Y;try{let P=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()}),C=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");C=C.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),Y=P.transformSync(C)}catch{Y=JZ($)}let G={exports:{}},Q=G.exports,w=y5.cwd(),q={},W=[...Y.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((P)=>P[1]).filter((P)=>!P.startsWith("node:")&&!P.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(P));for(let P of W)try{let C=C1.resolve(w,"node_modules",P),g=C1.join(C,"package.json"),m=JSON.parse(U0("fs").readFileSync(g,"utf8")),d=m.main||"index.js";if(m.exports){let Q0=typeof m.exports==="string"?m.exports:m.exports["."];if(typeof Q0==="string")d=Q0;else if(Q0?.bun)d=Q0.bun;else if(Q0?.import)d=Q0.import;else if(Q0?.default)d=Q0.default}q[P]=await import(C1.resolve(C,d))}catch{}let K=(P)=>{if(q[P])return q[P];return U0(P)},z=X.props||{},U=(P)=>{if(!P)return z;let C={};for(let[g,m]of Object.entries(P)){let d=z[g];if(d!==void 0)C[g]=d;else if(typeof m==="function")C[g]=m();else C[g]=m}return C};for(let[P,C]of Object.entries(z))Object.defineProperty(U,P,{value:C,enumerable:!0,configurable:!0,writable:!0});for(let P of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(z,P))continue;try{Object.defineProperty(U,P,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let B=(P)=>{if(!P)return z;let C={...z};for(let[g,m]of Object.entries(P)){let d=m&&typeof m==="object"&&!Array.isArray(m)?m:{type:m};if(C[g]===void 0&&d.default!==void 0)C[g]=typeof d.default==="function"?d.default():d.default}return C},j=()=>X.slots||{},_=(P,C)=>{let g={...P};for(let[m,d]of Object.entries(C))if(g[m]===void 0)if(typeof d==="function")g[m]=d();else g[m]=d;return g},H=(P)=>{let C=()=>P;return C.set=(g)=>{},C.update=(g)=>{},C},O=(P)=>{let C,g=!1;return()=>{if(!g)try{C=P(),g=!0}catch{C=void 0}return C}},L=(P)=>{},F=(P)=>P(),V=(P)=>{},R=(P)=>{};function A(P){let C=P||{};if(C.title!==void 0||C.description!==void 0)D({title:C.title,description:C.description})}function N(P){if(!P||typeof P!=="object")return;let C=X.__stxClientPayload??{};Object.assign(C,P),X.__stxClientPayload=C}let M=()=>{let P=X.__stxServeContext,C=X.__stxServeSearch??P?.search??"",g=P?.path??"",m=Object.fromEntries(new URLSearchParams(C)),d=X.query,Q0=Object.keys(m).length>0?m:d??{},R0=C||(Object.keys(Q0).length>0?`?${new URLSearchParams(Q0).toString()}`:"");return{params:X.params??{},query:Q0,path:g,name:"",fullPath:g+R0,hash:"",matched:[]}},T=()=>({push:(P)=>{},replace:(P)=>{},back:()=>{},forward:()=>{},go:(P)=>{}}),k=(P)=>{let C=X.__stx_runtime_head||{};X.__stx_runtime_head=D5(C,P||{})},D=(P)=>{k(v8(P||{}))},I=(P)=>({value:P}),S=(P)=>P,b=(P)=>({value:typeof P==="function"?P():P}),y=(P,C)=>{},v=(P)=>{},f=(P)=>{},x=(P)=>P?P():Promise.resolve(),p=(P)=>(C,...g)=>{},l=(P)=>{},T0=(P,C)=>{},W0=(P,C)=>C,A0=()=>({value:"light"}),s=()=>H(!1),c=(P)=>H(!1),_0=()=>H(!1),M0=()=>c("(prefers-color-scheme: dark)"),T1=()=>c("(prefers-color-scheme: light)"),j5=()=>c("(prefers-reduced-motion: reduce)"),r=()=>c("(prefers-contrast: more)"),$0={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:{}},K0=new Proxy($0,{get(P,C){if(C in P)return P[C];return},set(P,C,g){return P[C]=g,!0}}),v0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},L0=console;try{let P=jX(Y,Z),C=new Set(Object.keys(z)),g=(o)=>/^[a-z_$][\w$]*$/i.test(o),m=Object.keys(X).filter((o)=>!C.has(o)&&o!=="props"&&g(o)),d=m.map((o)=>X[o]);if(!m.includes("__stxServeContext"))m.push("__stxServeContext"),d.push(void 0);let Q0=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"]),R0=[],j1=[];for(let[o,l0]of Object.entries(z)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(o))continue;if(Q0.has(o))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${o}\\b`).test(P))continue;R0.push(o),j1.push(l0)}let g0=fK(P).map((o)=>`module.exports.${o} = typeof ${o} !== 'undefined' ? ${o} : module.exports.${o};`).join(`
|
|
2554
|
+
`),t0=X.params??{},l1=[],M1=[];for(let o=0;o<m.length;o++){if(m[o]==="params")continue;l1.push(m[o]),M1.push(d[o])}let z0=await Function(...UX,...R0,...l1,`return (async () => {
|
|
2555
|
+
${P}
|
|
2556
|
+
${g0}
|
|
2557
2557
|
return module.exports
|
|
2558
|
-
})()`)(G,Q,K,z,U,B,_,N,H,L,
|
|
2559
|
-
`),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,_=!1,H=Y[B];for(let
|
|
2560
|
-
`),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(!
|
|
2561
|
-
`+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
|
|
2562
|
-
`),Z,J)}function
|
|
2563
|
-
`)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=
|
|
2564
|
-
`);return{type:j,name:
|
|
2565
|
-
${
|
|
2566
|
-
${$[W]}`,W++;else break}return q=q.trim().replace(/;$/,""),{type:G,name:Q,value:q,nextIndex:W}}function
|
|
2558
|
+
})()`)(G,Q,K,z,U,B,_,N,H,O,L,F,V,R,A,M,T,k,D,I,S,b,y,v,f,x,p,l,j,T0,W0,A0,s,c,_0,M0,T1,j5,r,K0,v0,L0,$0.confirm,$0.alert,$0.fetch,t0,...j1,...M1);if(J.preserveExisting){for(let[o,l0]of Object.entries(z0))if(!(o in X)||X[o]===void 0)X[o]=l0}else Object.assign(X,z0);for(let[o,l0]of Object.entries(z))if(!(o in X))X[o]=l0}catch(P){let C=P instanceof Error?P.message:String(P);if(YZ(C))console.warn(`[stx] server <script> in ${Z??"<unknown>"} imports a module that does not resolve, so every variable in that script is undefined. Cause: ${C}`);else if(GZ(C))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: ${C}`);else if(y5.env.STX_DEBUG)console.warn(`[stx] server <script> did not execute in ${Z??"<unknown>"} \u2014 falling back to static extraction. Cause: ${C}`);try{await lK(Y,X,Z)}catch(g){if(y5.env.STX_DEBUG){let m=g instanceof Error?g.message:String(g);console.warn(`[stx] fallback extraction also failed in ${Z??"<unknown>"}: ${m}`)}}}}function QZ($){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 jX($,X){let Z=X?C1.dirname(X):y5.cwd(),J=y5.cwd(),Y=$.split(`
|
|
2559
|
+
`),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,_=!1,H=Y[B];for(let O=0;O<H.length;O++){let L=H[O];if(_){_=!1;continue}if(L==="\\"){_=!0;continue}if(j){if(L===j)j=null;continue}if(L==='"'||L==="'"||L==="`"){j=L;continue}if(L==="(")q++;else if(L===")"){if(q--,q===0){Q=B+1,W=!0;break}}}}if(!W)Q=Y.length;let z=Y.slice(K,Q).join(`
|
|
2560
|
+
`),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(!QZ(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=(_)=>{if(_.startsWith("."))return C1.resolve(Z,_);if(_.startsWith("~/")||_.startsWith("@/"))return C1.resolve(J,_.slice(2));return _};if(K){let[,_,H]=K,O=j(H);G.push(`const ${_} = (await import('${O}')).default`),G.push(`module.exports.${_} = ${_};`)}else if(z){let[,_,H]=z,O=j(H),L=[],F=[],V=xK.has(H);for(let R of _.split(",")){let A=R.trim();if(!A)continue;let N=A.split(/\s+as\s+/);if(N.length===2){let[M,T]=[N[0].trim(),N[1].trim()];if(V&&a2.has(M)){G.push(`const ${T} = ${M};`),F.push(T);continue}L.push(`${M}: ${T}`),F.push(T)}else{if(V&&a2.has(A)){F.push(A);continue}L.push(A),F.push(A)}}if(L.length>0)G.push(`const { ${L.join(", ")} } = await import('${O}')`);for(let R of F)G.push(`module.exports.${R} = ${R};`)}else if(U){let _=j(U[1]);G.push(`await import('${_}')`)}else G.push(B);Q++;continue}if(gK.test(w))G.push(Y[Q]),Q++;else if(w.startsWith("export const ")||w.startsWith("export let ")||w.startsWith("export var ")){let q=e2(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=zX(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=e2(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=zX(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=zX(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+=`
|
|
2561
|
+
`+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 hK(G.join(`
|
|
2562
|
+
`),Z,J)}function hK($,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===`
|
|
2563
|
+
`)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=uK($,G);if(U){let{quote:B,path:j,end:_}=U;if(j.startsWith(".")||j.startsWith("~/")||j.startsWith("@/")){let H=j.startsWith(".")?C1.resolve(X,j):C1.resolve(Z,j.slice(2));Y+=`await import(${B}${H}${B})`,G=_;continue}}}Y+=K,G++}return Y}function uK($,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 wZ($,X){let Z=$[X];if(Z!=="{"&&Z!=="[")return null;let Y=y0($,Z,Z==="{"?"}":"]",X);if(Y===-1)return null;return{pattern:$.slice(X,Y+1),endPos:Y+1}}function qZ($){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?wZ(Z,J):null;if(w){X.push(...qZ(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 WZ($){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 t2($,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 e2($,X){let Z=$[X].trim(),J=WZ(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],_=j==="{"?"}":"]",H=t2(z,j,_,0),O=z;for(let L=X+1;L<$.length&&H>0;L++)O+=` ${$[L].trim()}`,U=L,H=t2($[L],j,_,H);if(H>0)O=z,U=X;z=O}let B=wZ(z,0);if(B){let j=K[1],_=B.pattern,H=z.slice(B.endPos).trim();if(H.startsWith("=")){let O=H.slice(1).trim(),L=O,F=Math.max(U,X);if($Z(O)){let N=XZ($,F,O);L=N.value,F=N.nextIndex}else F=F+1;L=L.trim().replace(/;$/,"");let V=qZ(_),R=`__stx_src_${X}`,A=V.map((N)=>`module.exports.${N} = ${N};`).join(`
|
|
2564
|
+
`);return{type:j,name:R,value:`${L}; ${j} ${_} = ${R};
|
|
2565
|
+
${A}`,nextIndex:F}}}}throw Error(`Failed to parse variable declaration: ${Z}`)}let[,G,Q,w]=Y,q=w,W=X;if($Z(w)){let K=XZ($,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+=`
|
|
2566
|
+
${$[W]}`,W++;else break}return q=q.trim().replace(/;$/,""),{type:G,name:Q,value:q,nextIndex:W}}function zX($,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(dK(Z)){let w=mK($,X,G);G=w.functionCode,Q=w.nextIndex}else Q=X+1;return{name:Y,functionCode:G,nextIndex:Q}}function $Z($){let X=$.trim();if(X.startsWith("{"))return y0(X,"{","}",0)===-1;if(X.startsWith("["))return y0(X,"[","]",0)===-1;return!KZ(X)}function KZ($){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 zZ($){let X=$.indexOf("(");if(X===-1)return $.indexOf("{");let Z=y0($,"(",")",X);if(Z===-1)return-1;return $.indexOf("{",Z)}function dK($){let X=zZ($);if(X===-1)return!0;return y0($,"{","}",X)===-1}function XZ($,X,Z){let J=Z,Y=X+1;while(Y<$.length&&!KZ(J)){let G=$[Y];J+=`
|
|
2567
2567
|
${G}`,Y++}while(Y<$.length){let G=$[Y].trim();if(G.startsWith(".")||G.startsWith("?."))J+=`
|
|
2568
|
-
${$[Y]}`,Y++;else break}return{value:J,nextIndex:Y}}function
|
|
2569
|
-
${Q}`,Y++}return{functionCode:J,nextIndex:Y}}function t6($,X){let Z=J0($,X)??J0(`(${$})`,X);if(Z!==void 0)return Z;if(!/\bprocess\b/.test($))return;let J={...X,process:Object.freeze({env:{...y5.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 fK($,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=t6(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=t6(q,X);if(W!==void 0)X[Q]=W}catch{}}}function qZ($){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 WZ($){let X=$.trim();if(!X)return!1;return/(?:const|let|var|function)\s+\w+/.test(X)}var zX,n6,yK,SK;var v7=D(()=>{P7();E1();T0();zX=["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"],n6=new Set(zX),yK=new Set(["stx","@stacksjs/stx"]);SK=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/});var jX={};a(jX,{renderSlot:()=>zZ,processSlots:()=>jZ,parseSlots:()=>KZ,parseSlotElement:()=>mK,extractSlotContent:()=>pK,applySlots:()=>iK});function gK($,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 uK($,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 dK($){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=uK($,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=gK($,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)&&!hK.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 KZ($){let X={default:"",named:new Map},Z=$,J=dK($);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 mK($){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 zZ($,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=lK(Y,Q)}return Y}function lK($,X){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,J)=>{try{let Y=J.trim(),G=UZ(Y,X);return t0(String(G??""))}catch{return`{{ ${J} }}`}})}function UZ($,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(!q0($))return;return W0($,Object.keys(X))(...Object.values(X))}catch{return}}async function jZ($,X,Z){let J=$;J=await cK(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]=UZ(L,Z)}return await zZ(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 cK($,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 pK($){let X=KZ($);return{defaultSlot:X.default,namedSlots:X.named}}async function iK($,X,Z,J){return await jZ($,{default:X,named:Z},J)}var hK;var BX=D(()=>{W1();T0();hK=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function P1($,X){let Z=nK($,X);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function nK($,X){let Z=X;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Z};let J=E0($,"(",")",Z);if(J===-1)return{ok:!1,reason:"unclosed-paren",pos:Z};return{ok:!0,expression:$.slice(Z+1,J),endPos:J+1}}function rK($,X){let Z=$.lastIndexOf("<",X);if(Z===-1)return!1;return Z>$.lastIndexOf(">",X)}function t1($,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 BZ($,X){let Z=$.slice(X).match(/^@if\s*/);if(!Z)return null;let J=X+Z[0].length,Y=P1($,J);if(!Y)return null;let G=Y.endPos,Q=t1($,"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(rK(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=P1(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 x7($){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=BZ($,J.index);if(G)X.push(G),Z.lastIndex=G.end;J=Z.exec($)}return X}function x8($,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=E0($,"(",")",q);if(W===-1){G=Y.exec($);continue}let K=$.slice(q+1,W),z=W+1,U=t1($,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 _X($,X){let Z=$.slice(X).match(/^@switch\s*/);if(!Z)return null;let J=X+Z[0].length,Y=P1($,J);if(!Y)return null;let G=Y.endPos,Q=t1($,"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=P1(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 _Z=()=>{};var HZ=()=>{};var f8=D(()=>{_Z();HZ()});async function LZ($){let X=$;if(!X)try{X=(await e0())?.pagesDir||"pages"}catch{X="pages"}let Z=X,J=OZ.get(Z);if(J)return J;let Y=[];try{Y=_7(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{Y=[]}return OZ.set(Z,Y),Y}var OZ;var FZ=D(()=>{x9();L1();OZ=new Map});function tK($){return $.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function VZ($){return tK(JSON.stringify($))}function f7($){let X=0,Z,J=HX.map(()=>{return});while(X<$.length){if(Z===void 0||Z!==null&&Z.index<X)AZ.lastIndex=X,Z=AZ.exec($);if(!Z)return null;let Y=Z.index,G=-1,Q=null;for(let q=0;q<HX.length;q++){let W=HX[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 g8($,X){let Z=f7($);if(!Z)return $;return $.slice(0,Z.index)+X(Z.tag,Z.attrs)+$.slice(Z.index+Z.tag.length)}var HX,AZ;var OX=D(()=>{HX=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],AZ=/<body\b([^>]*)>/gi});function FX(){return e1}function VX($){let X=e1;return RZ.push($),e1=$,X}function AX($){RZ.pop(),e1=$}function RX(){return h8>0}function NX($){LX.add($)}function NZ($){h8++;try{$()}finally{if(h8--,h8===0){let X=[...LX];LX.clear();for(let Z of X)Z()}}}function TZ($){let X=e1;e1=null;try{return $()}finally{e1=X}}var e1=null,RZ,h8=0,LX;var MZ=D(()=>{RZ=[],LX=new Set});function v1($){let X=$,Z=new Set,J=new Set,Y=()=>{let G=FX();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)),RX())J.forEach((w)=>NX(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 d8($){let X,Z=!0,J=new Set,Y=()=>{if(!Z)if(Z=!0,RX())J.forEach((Q)=>NX(Q));else J.forEach((Q)=>Q())},G=()=>{let Q=FX();if(Q)J.add(Q);if(Z){let w=VX(Y);try{X=$()}finally{AX(w)}Z=!1}return X};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function m8($,X={}){let Z,J=!1,Y=()=>{if(J)return;if(Z)Z(),Z=void 0;let G=VX(Y);try{let Q=$();Z=typeof Q==="function"?Q:void 0}finally{AX(G)}};if(X.immediate!==!1)Y();return()=>{if(J=!0,Z)Z()}}function MX($){NZ($)}function kX($){TX.push($)}function IX($){u8.push($)}function eK(){kZ(TX,"onMount",u8)}function $z(){kZ(u8,"onDestroy")}function kZ($,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 Xz(){return{mount:TX.length,destroy:u8.length}}function l8($){return typeof $==="function"&&$._isSignal===!0}function c8($){return typeof $==="function"&&$._isDerived===!0}function EX($){if(l8($)||c8($))return $();return $}function p8($){return TZ($)}function Zz($,X){let Z=typeof $==="function"?$:()=>$,J=v1([]),Y=d8(()=>J().reduce((w,q)=>X(w,q.action),Z())),G=!1;return m8(()=>{if(Z(),!G){G=!0;return}if(p8(()=>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 TX,u8;var i8=D(()=>{MZ();TX=[],u8=[]});var EZ={};a(EZ,{useOptimistic:()=>Zz,untrack:()=>EX,state:()=>v1,runMountCallbacks:()=>eK,runDestroyCallbacks:()=>$z,pendingLifecycleCounts:()=>Xz,peek:()=>p8,onMount:()=>kX,onDestroy:()=>IX,isSignal:()=>l8,isDerived:()=>c8,generateSignalsRuntimeDev:()=>DX,generateSignalsRuntime:()=>IZ,effect:()=>m8,derived:()=>d8,default:()=>Yz,batch:()=>MX});function IZ(){let $=Jz(DX());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 Jz($){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 DX(){return`
|
|
2568
|
+
${$[Y]}`,Y++;else break}return{value:J,nextIndex:Y}}function mK($,X,Z){let J=Z,Y=X+1;while(Y<$.length){let G=zZ(J);if(G!==-1){if(y0(J,"{","}",G)!==-1)break}let Q=$[Y];J+=`
|
|
2569
|
+
${Q}`,Y++}return{functionCode:J,nextIndex:Y}}function ZZ($,X){let Z=Y0($,X)??Y0(`(${$})`,X);if(Z!==void 0)return Z;if(!/\bprocess\b/.test($))return;let J={...X,process:Object.freeze({env:{...y5.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 lK($,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=ZZ(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=ZZ(q,X);if(W!==void 0)X[Q]=W}catch{}}}function UZ($){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 jZ($){let X=$.trim();if(!X)return!1;return/(?:const|let|var|function)\s+\w+/.test(X)}var UX,a2,xK,gK;var x7=E(()=>{v7();E1();I0();UX=["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"],a2=new Set(UX),xK=new Set(["stx","@stacksjs/stx"]);gK=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/});var BX={};t(BX,{renderSlot:()=>_Z,processSlots:()=>OZ,parseSlots:()=>BZ,parseSlotElement:()=>rK,extractSlotContent:()=>aK,applySlots:()=>tK});function cK($,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 iK($,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 nK($){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=iK($,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=cK($,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)&&!pK.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 BZ($){let X={default:"",named:new Map},Z=$,J=nK($);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(),O=`<${W}${H?" "+H:""}>${B}</${W}>`;Y.push({start:Q.index,end:Q.index+q.length,slotName:z,element:O})}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 rK($){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 _Z($,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=oK(Y,Q)}return Y}function oK($,X){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,J)=>{try{let Y=J.trim(),G=HZ(Y,X);return $1(String(G??""))}catch{return`{{ ${J} }}`}})}function HZ($,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 q0($,Object.keys(X))(...Object.values(X))}catch{return}}async function OZ($,X,Z){let J=$;J=await sK(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],O=_[2];B[H]=HZ(O,Z)}return await _Z(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 sK($,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 aK($){let X=BZ($);return{defaultSlot:X.default,namedSlots:X.named}}async function tK($,X,Z,J){return await OZ($,{default:X,named:Z},J)}var pK;var _X=E(()=>{q1();I0();pK=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function P1($,X){let Z=eK($,X);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function eK($,X){let Z=X;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Z};let J=y0($,"(",")",Z);if(J===-1)return{ok:!1,reason:"unclosed-paren",pos:Z};return{ok:!0,expression:$.slice(Z+1,J),endPos:J+1}}function $z($,X){let Z=$.lastIndexOf("<",X);if(Z===-1)return!1;return Z>$.lastIndexOf(">",X)}function t1($,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 LZ($,X){let Z=$.slice(X).match(/^@if\s*/);if(!Z)return null;let J=X+Z[0].length,Y=P1($,J);if(!Y)return null;let G=Y.endPos,Q=t1($,"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($z(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 O=W+H[0].length,L=P1(w,O);if(!L){W++;continue}K="elseif",z=L.expression,W=L.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 f7($){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=LZ($,J.index);if(G)X.push(G),Z.lastIndex=G.end;J=Z.exec($)}return X}function f8($,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=y0($,"(",")",q);if(W===-1){G=Y.exec($);continue}let K=$.slice(q+1,W),z=W+1,U=t1($,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 HX($,X){let Z=$.slice(X).match(/^@switch\s*/);if(!Z)return null;let J=X+Z[0].length,Y=P1($,J);if(!Y)return null;let G=Y.endPos,Q=t1($,"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])/),O=U.match(/^@break(?![a-z])/);if(_&&U.startsWith("@case")){if(K)q.push(K);let L=W+_[0].length,F=P1(w,L);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(O&&U.startsWith("@break"))W+=O[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 VZ=()=>{};var g8=E(()=>{FZ();VZ()});async function RZ($){let X=$;if(!X)try{X=(await X1())?.pagesDir||"pages"}catch{X="pages"}let Z=X,J=AZ.get(Z);if(J)return J;let Y=[];try{Y=H7(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{Y=[]}return AZ.set(Z,Y),Y}var AZ;var NZ=E(()=>{f9();L1();AZ=new Map});function Yz($){return $.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function TZ($){return Yz(JSON.stringify($))}function g7($){let X=0,Z,J=OX.map(()=>{return});while(X<$.length){if(Z===void 0||Z!==null&&Z.index<X)MZ.lastIndex=X,Z=MZ.exec($);if(!Z)return null;let Y=Z.index,G=-1,Q=null;for(let q=0;q<OX.length;q++){let W=OX[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 h8($,X){let Z=g7($);if(!Z)return $;return $.slice(0,Z.index)+X(Z.tag,Z.attrs)+$.slice(Z.index+Z.tag.length)}var OX,MZ;var LX=E(()=>{OX=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],MZ=/<body\b([^>]*)>/gi});function FX(){return`
|
|
2570
|
+
(function(){
|
|
2571
|
+
var tip=null,hideTimer=null,currentEl=null;
|
|
2572
|
+
|
|
2573
|
+
function createTip(){
|
|
2574
|
+
tip=document.createElement("div");
|
|
2575
|
+
tip.id="stx-tooltip";
|
|
2576
|
+
tip.style.cssText="position:absolute;background:#1f2937;color:#fff;font-size:12px;line-height:1.4;padding:6px 10px;border-radius:6px;max-width:250px;z-index:999999;pointer-events:none;opacity:0;transition:opacity .15s ease;white-space:pre-wrap;word-wrap:break-word;box-shadow:0 2px 8px rgba(0,0,0,.25)";
|
|
2577
|
+
var arrow=document.createElement("div");
|
|
2578
|
+
arrow.className="stx-tip-arrow";
|
|
2579
|
+
arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent";
|
|
2580
|
+
tip.appendChild(arrow);
|
|
2581
|
+
var text=document.createElement("span");
|
|
2582
|
+
text.className="stx-tip-text";
|
|
2583
|
+
tip.appendChild(text);
|
|
2584
|
+
document.body.appendChild(tip);
|
|
2585
|
+
}
|
|
2586
|
+
|
|
2587
|
+
function position(el){
|
|
2588
|
+
var pos=el.getAttribute("x-tooltip-position")||"top";
|
|
2589
|
+
var r=el.getBoundingClientRect();
|
|
2590
|
+
var sy=window.scrollY,sx=window.scrollX;
|
|
2591
|
+
tip.style.display="block";
|
|
2592
|
+
tip.style.opacity="0";
|
|
2593
|
+
// Force layout so we can measure
|
|
2594
|
+
var tw=tip.offsetWidth,th=tip.offsetHeight;
|
|
2595
|
+
var arrow=tip.querySelector(".stx-tip-arrow");
|
|
2596
|
+
var left,top;
|
|
2597
|
+
|
|
2598
|
+
if(pos==="top"){
|
|
2599
|
+
left=r.left+r.width/2-tw/2+sx;
|
|
2600
|
+
top=r.top-th-8+sy;
|
|
2601
|
+
if(top-sy<0){pos="bottom";}
|
|
2602
|
+
}
|
|
2603
|
+
if(pos==="bottom"){
|
|
2604
|
+
left=r.left+r.width/2-tw/2+sx;
|
|
2605
|
+
top=r.bottom+8+sy;
|
|
2606
|
+
arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent;border-bottom-color:#1f2937;top:-10px;left:50%;transform:translateX(-50%)";
|
|
2607
|
+
}
|
|
2608
|
+
if(pos==="left"){
|
|
2609
|
+
left=r.left-tw-8+sx;
|
|
2610
|
+
top=r.top+r.height/2-th/2+sy;
|
|
2611
|
+
if(left-sx<0){pos="right";}
|
|
2612
|
+
}
|
|
2613
|
+
if(pos==="right"){
|
|
2614
|
+
left=r.right+8+sx;
|
|
2615
|
+
top=r.top+r.height/2-th/2+sy;
|
|
2616
|
+
arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent;border-right-color:#1f2937;left:-10px;top:50%;transform:translateY(-50%)";
|
|
2617
|
+
}
|
|
2618
|
+
|
|
2619
|
+
// Set arrow for top/left after potential flips
|
|
2620
|
+
if(pos==="top"){
|
|
2621
|
+
arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent;border-top-color:#1f2937;bottom:-10px;left:50%;transform:translateX(-50%)";
|
|
2622
|
+
}
|
|
2623
|
+
if(pos==="left"){
|
|
2624
|
+
arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent;border-left-color:#1f2937;right:-10px;top:50%;transform:translateY(-50%)";
|
|
2625
|
+
}
|
|
2626
|
+
|
|
2627
|
+
// Clamp horizontal
|
|
2628
|
+
if(left<sx+4) left=sx+4;
|
|
2629
|
+
if(left+tw>sx+window.innerWidth-4) left=sx+window.innerWidth-tw-4;
|
|
2630
|
+
|
|
2631
|
+
tip.style.left=left+"px";
|
|
2632
|
+
tip.style.top=top+"px";
|
|
2633
|
+
tip.style.opacity="1";
|
|
2634
|
+
}
|
|
2635
|
+
|
|
2636
|
+
function showTip(el){
|
|
2637
|
+
if(hideTimer){clearTimeout(hideTimer);hideTimer=null;}
|
|
2638
|
+
if(!tip) createTip();
|
|
2639
|
+
var text=el.getAttribute("x-tooltip");
|
|
2640
|
+
if(!text) return;
|
|
2641
|
+
tip.querySelector(".stx-tip-text").textContent=text;
|
|
2642
|
+
currentEl=el;
|
|
2643
|
+
position(el);
|
|
2644
|
+
}
|
|
2645
|
+
|
|
2646
|
+
function hideTip(){
|
|
2647
|
+
if(!tip) return;
|
|
2648
|
+
tip.style.opacity="0";
|
|
2649
|
+
hideTimer=setTimeout(function(){
|
|
2650
|
+
if(tip) tip.style.display="none";
|
|
2651
|
+
currentEl=null;
|
|
2652
|
+
},150);
|
|
2653
|
+
}
|
|
2654
|
+
|
|
2655
|
+
document.addEventListener("mouseover",function(e){
|
|
2656
|
+
var el=e.target.closest("[x-tooltip]");
|
|
2657
|
+
if(el) showTip(el);
|
|
2658
|
+
});
|
|
2659
|
+
document.addEventListener("mouseout",function(e){
|
|
2660
|
+
var el=e.target.closest("[x-tooltip]");
|
|
2661
|
+
if(el&&el===currentEl) hideTip();
|
|
2662
|
+
});
|
|
2663
|
+
document.addEventListener("focusin",function(e){
|
|
2664
|
+
var el=e.target.closest("[x-tooltip]");
|
|
2665
|
+
if(el) showTip(el);
|
|
2666
|
+
});
|
|
2667
|
+
document.addEventListener("focusout",function(e){
|
|
2668
|
+
var el=e.target.closest("[x-tooltip]");
|
|
2669
|
+
if(el) hideTip();
|
|
2670
|
+
});
|
|
2671
|
+
})();
|
|
2672
|
+
`}function AX(){return e1}function RX($){let X=e1;return kZ.push($),e1=$,X}function NX($){kZ.pop(),e1=$}function TX(){return u8>0}function MX($){VX.add($)}function IZ($){u8++;try{$()}finally{if(u8--,u8===0){let X=[...VX];VX.clear();for(let Z of X)Z()}}}function EZ($){let X=e1;e1=null;try{return $()}finally{e1=X}}var e1=null,kZ,u8=0,VX;var DZ=E(()=>{kZ=[],VX=new Set});function v1($){let X=$,Z=new Set,J=new Set,Y=()=>{let G=AX();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)),TX())J.forEach((w)=>MX(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 m8($){let X,Z=!0,J=new Set,Y=()=>{if(!Z)if(Z=!0,TX())J.forEach((Q)=>MX(Q));else J.forEach((Q)=>Q())},G=()=>{let Q=AX();if(Q)J.add(Q);if(Z){let w=RX(Y);try{X=$()}finally{NX(w)}Z=!1}return X};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function l8($,X={}){let Z,J=!1,Y=()=>{if(J)return;if(Z)Z(),Z=void 0;let G=RX(Y);try{let Q=$();Z=typeof Q==="function"?Q:void 0}finally{NX(G)}};if(X.immediate!==!1)Y();return()=>{if(J=!0,Z)Z()}}function IX($){IZ($)}function EX($){kX.push($)}function DX($){d8.push($)}function Gz(){yZ(kX,"onMount",d8)}function Qz(){yZ(d8,"onDestroy")}function yZ($,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 wz(){return{mount:kX.length,destroy:d8.length}}function c8($){return typeof $==="function"&&$._isSignal===!0}function p8($){return typeof $==="function"&&$._isDerived===!0}function yX($){if(c8($)||p8($))return $();return $}function i8($){return EZ($)}function qz($,X){let Z=typeof $==="function"?$:()=>$,J=v1([]),Y=m8(()=>J().reduce((w,q)=>X(w,q.action),Z())),G=!1;return l8(()=>{if(Z(),!G){G=!0;return}if(i8(()=>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 kX,d8;var n8=E(()=>{DZ();kX=[],d8=[]});var SZ={};t(SZ,{useOptimistic:()=>qz,untrack:()=>yX,state:()=>v1,runMountCallbacks:()=>Gz,runDestroyCallbacks:()=>Qz,pendingLifecycleCounts:()=>wz,peek:()=>i8,onMount:()=>EX,onDestroy:()=>DX,isSignal:()=>c8,isDerived:()=>p8,generateSignalsRuntimeDev:()=>bX,generateSignalsRuntime:()=>bZ,effect:()=>l8,derived:()=>m8,default:()=>Kz,batch:()=>IX});function bZ(){let $=Wz(bX());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 Wz($){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 bX(){return`
|
|
2570
2673
|
// STX Signals Runtime (Development Build)
|
|
2571
2674
|
console.log('[stx] signals runtime loading');
|
|
2572
2675
|
// Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
|
|
@@ -5122,7 +5225,7 @@ catch (e2) {
|
|
|
5122
5225
|
// :attr still works for backward compat but is reserved for structural directives.
|
|
5123
5226
|
// x-text, x-html, x-model, x-show, x-if, x-for, x-cloak, x-ref, x-data are
|
|
5124
5227
|
// handled by their own code paths below \u2014 exclude them here.
|
|
5125
|
-
var X_HANDLED = ${
|
|
5228
|
+
var X_HANDLED = ${r6()};
|
|
5126
5229
|
if (name.startsWith('@bind:') || name.startsWith('x-bind:')
|
|
5127
5230
|
|| (name.startsWith(':') && !name.startsWith('::') && !DIRECTIVE_NAMES[name.slice(1).split('.')[0]] && !EVENT_RE.test(name.slice(1)))
|
|
5128
5231
|
|| (name.startsWith('x-') && !X_HANDLED[name.split('.')[0]] && !X_HANDLED[name])) {
|
|
@@ -5286,12 +5389,16 @@ else if (name === 'ref' || name === ':ref' || name === 'x-ref' || name === 'data
|
|
|
5286
5389
|
? event.detail
|
|
5287
5390
|
: event;
|
|
5288
5391
|
|
|
5289
|
-
// Skip
|
|
5290
|
-
//
|
|
5392
|
+
// Skip an opener click that reaches UI which just became visible in
|
|
5393
|
+
// this frame. A click whose target is inside the revealed subtree is
|
|
5394
|
+
// a real interaction and must not be discarded, especially for
|
|
5395
|
+
// async lists whose controls are usable as soon as they render.
|
|
5291
5396
|
if (eventName === 'click') {
|
|
5292
5397
|
var ancestor = el;
|
|
5293
5398
|
while (ancestor) {
|
|
5294
|
-
if (ancestor.__stx_shown_at
|
|
5399
|
+
if (ancestor.__stx_shown_at
|
|
5400
|
+
&& (performance.now() - ancestor.__stx_shown_at) < 50
|
|
5401
|
+
&& !(ancestor.contains && ancestor.contains(event.target))) return;
|
|
5295
5402
|
ancestor = ancestor.parentElement;
|
|
5296
5403
|
}
|
|
5297
5404
|
}
|
|
@@ -10410,20 +10517,22 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
10410
10517
|
}
|
|
10411
10518
|
}
|
|
10412
10519
|
})();
|
|
10413
|
-
`}var
|
|
10520
|
+
`}var Kz;var CZ=E(()=>{n8();e0();n8();Kz={state:v1,derived:m8,effect:l8,batch:IX,onMount:EX,onDestroy:DX,isSignal:c8,isDerived:p8,untrack:yX,peek:i8,generateSignalsRuntime:bZ,generateSignalsRuntimeDev:bX}});var SX={};t(SX,{templateCache:()=>PZ,readFileCached:()=>zz,invalidateFileCacheByDir:()=>jz,invalidateFileCache:()=>Uz,hashFilePath:()=>h7,getCachedSignalsRuntime:()=>Hz,getCachedRouterScript:()=>Oz,clearDevCaches:()=>Lz,checkCache:()=>Fz,cacheTemplate:()=>Vz,__setSignalsGeneratorsForTest:()=>_z});import x1 from"fs";import b5 from"path";async function zz($){let Z;for(let J=0;J<3;J++)try{let G=(await x1.promises.stat($)).mtime.getTime(),Q=$5.get($);if(Q&&Q.mtime===G)return Q.content;let w=await Bun.file($).text(),W=(await x1.promises.stat($)).mtime.getTime();if(W!==G)continue;return $5.set($,{content:w,mtime:W}),w}catch(Y){Z=Y;break}throw $5.delete($),Error(`File not found: ${$}${Z?` (${Z.message})`:""}`)}function Uz($){$5.delete($)}function jz($){for(let X of $5.keys())if(X.startsWith($))$5.delete(X)}function _z($){vZ=$}async function Hz($=!1){let X=vZ??await Promise.resolve().then(() => (CZ(),SZ));if($)return X.generateSignalsRuntimeDev();if(r8===null)r8=X.generateSignalsRuntime();return r8}async function Oz(){if(o8===null){let{getRouterScript:$}=await Promise.resolve().then(() => (k1(),A6));o8=$()}return o8}function Lz(){$5.clear(),fZ(),r8=null,Bz=null,o8=null}function xZ($){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 Fz($,X){try{if(!X.cachePath)return null;let Z=b5.resolve(X.cachePath),J=b5.join(Z,`${h7($)}.html`),Y=b5.join(Z,`${h7($)}.meta.json`);if(!await n(J)||!await n(Y))return null;let G=await Bun.file(Y).text(),Q=JSON.parse(G);if(Q.cacheVersion!==X.cacheVersion)return null;if(Q.optionsSignature!==xZ(X))return null;if((await x1.promises.stat($)).mtime.getTime()>Q.mtime)return null;for(let q of Q.dependencies)if(await n(q)){if((await x1.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 Vz($,X,Z,J){try{if(!J.cachePath)return;let Y=b5.resolve(J.cachePath);await x1.promises.mkdir(Y,{recursive:!0});let G=b5.join(Y,`${h7($)}.html`),Q=b5.join(Y,`${h7($)}.meta.json`),w=await x1.promises.stat($);await Bun.write(G,X);let q={sourcePath:$,mtime:w.mtime.getTime(),dependencies:Array.from(Z),cacheVersion:J.cacheVersion,optionsSignature:xZ(J),generatedAt:Date.now()};await Bun.write(Q,JSON.stringify(q,null,2)),PZ.set($,{output:X,mtime:w.mtime.getTime(),dependencies:Z})}catch(Y){console.warn(`Failed to cache template ${$}:`,Y)}}function h7($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,Az)}var PZ,$5,r8=null,Bz=null,vZ=null,o8=null,Az=16;var CX=E(()=>{D0();PZ=new Map,$5=new Map});function gZ($){return $.includes("data-stx-runtime")}function hZ($){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 PX($,X){let Z=$.indexOf("<script"),J=$.search(/<!doctype\b/i);if(Z!==-1&&(J===-1||Z>J))return $.slice(0,Z)+X+`
|
|
10414
10521
|
`+$.slice(Z);let Y=/<head\b[^>]*>/i.exec($);if(Y){let Q=Y.index+Y[0].length;return`${$.slice(0,Q)}
|
|
10415
10522
|
${X}${$.slice(Q)}`}if($.includes("</head>")){let Q=$.indexOf("</head>");return $.slice(0,Q)+X+`
|
|
10416
|
-
`+$.slice(Q)}if(
|
|
10523
|
+
`+$.slice(Q)}if(g7($))return h8($,(Q)=>`${Q}
|
|
10417
10524
|
${X}`);return`${X}
|
|
10418
|
-
${$}`}async function
|
|
10419
|
-
|
|
10420
|
-
|
|
10421
|
-
`
|
|
10525
|
+
${$}`}async function s8($,X){if($.includes("data-stx-runtime")||$.includes("window.stx.state")||$.includes("STX Signals Runtime"))return $;if(X.buildMode==="serve")return PX($,'<script data-stx-runtime src="/_stx/runtime.js"></script>');if(X.buildMode==="compile")return PX($,'<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>');let{getCachedSignalsRuntime:Z}=await Promise.resolve().then(() => (CX(),SX)),J=await Z(X.debug);return PX($,`<script data-stx-scoped data-stx-runtime>${J}</script>`)}function Rz($){return/<[a-z][^>]*?\sx-tooltip\s*=/i.test($)}function uZ($){if($.includes("data-stx-tooltip-runtime")||!Rz($))return $;let X=`<script data-stx-scoped data-stx-tooltip-runtime>${FX()}</script>`,Z=$.lastIndexOf("</body>");if(Z===-1)return`${$}
|
|
10526
|
+
${X}`;return`${$.slice(0,Z)}${X}
|
|
10527
|
+
${$.slice(Z)}`}async function vX($,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 RZ(X?.pagesDir);if(q.length>0)w.ownedRoutes=q}catch{}if(Object.keys(w).length>0)J=`<script>window.__stxRouterConfig=${TZ(w)};</script>
|
|
10528
|
+
`}let{getCachedRouterScript:Y}=await Promise.resolve().then(() => (CX(),SX)),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+`
|
|
10529
|
+
</body>`+$.slice(Q+7)}var a8=E(()=>{NZ();LX()});var X$={};t(X$,{scanScriptTags:()=>nZ,rewriteStxImportSpecifiers:()=>aZ,processSignals:()=>uX,processScriptSetup:()=>oZ,preEvalLiteralReactiveIfs:()=>gX,parseLoopExpression:()=>rZ,hasSignalsSyntax:()=>$$,findMarkupIndexOutsideScripts:()=>e8,extractExports:()=>sZ,convertSignalLoopsToAttributes:()=>hX,convertSignalDirectivesToAttributes:()=>fX});function nZ($,X={}){let Z=[];for(let J of ZX($,D1)){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 rZ($){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}=mZ(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}=mZ(Y);if(Q)return{style:"in",iterable:G,itemVar:Q,indexVar:w}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function mZ($){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 $$($){return c6($)}function Tz($){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 Mz($){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 kz($){return $.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function cZ($,X,Z){if(!$)return!1;let J=kz($),Y=!1,G=!1,Q=!1,w=/([a-zA-Z_$][\w$]*)/g,q;while((q=w.exec(J))!==null){let U=q[1];if(J.slice(0,q.index).trimEnd().endsWith("."))continue;if(lZ.has(U))continue;if(X.has(U))Y=!0;else if(Z&&U in Z)G=!0}let W=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,K;while((K=W.exec(J))!==null){let U=K[1];if(J.slice(0,K.index).trimEnd().endsWith("."))continue;if(lZ.has(U)||Z&&U in Z)continue;Q=!0}return(Y||Q)&&!G}function t8($,X,Z){let J=Z===void 0?` ${X}`:` ${X}="${Z.replace(/"/g,""")}"`,Y=$.trim(),G=Y.match(iZ);if(G&&Iz(G[3],G[1])){let[,Q,w,q]=G;return`<${Q}${w}${J}>${q}</${Q}>`}return`<template${J}>${Y}</template>`}function Iz($,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 fX($,X){let Z=Mz($);function J(Y){let G=Y,Q=/@if\s*\(/g,w,q=[];while((w=Q.exec(G))!==null){let W=w.index,K=W+w[0].length,z=1,U=K;while(U<G.length&&z>0){if(G[U]==="(")z++;else if(G[U]===")")z--;U++}if(z!==0)continue;let B=G.substring(K,U-1).trim(),j=U,_=1,H=j,O=/@(if\s*\(|endif)/g;O.lastIndex=j;let L;while((L=O.exec(G))!==null)if(L[1].startsWith("if"))_++;else if(L[1]==="endif"){if(_--,_===0){H=L.index+L[0].length;break}}if(_!==0)continue;let F=G.substring(j,H-6).trim(),V;if(Tz(F)){let R=f7(G.substring(W,H));if(R.length===0)continue;let A=R[0].branches.filter((T)=>T.type!=="else");if(!(A.length>0&&A.every((T)=>cZ(T.condition,Z,X))))continue;V=R[0].branches.map((T)=>{let k=J(T.content);if(T.type==="elseif")return t8(k,"@else-if",T.condition??"");if(T.type==="else")return t8(k,"@else");return t8(k,"@if",T.condition??"")}).join(`
|
|
10530
|
+
`)}else{if(!cZ(B,Z,X))continue;V=t8(J(F),"@if",B)}q.push({start:W,end:H,replacement:V}),Q.lastIndex=H}for(let W=q.length-1;W>=0;W--){let{start:K,end:z,replacement:U}=q[W];G=G.substring(0,K)+U+G.substring(z)}return G}return J($)}function Ez($){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 Dz($,X,Z,J){if(xX.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 _=$.indexOf(">",j);if(_===-1)return-1;q=_+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)||xX.has(Y)))w++}q=U+1}return-1}function bz($,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 yz.test(G)}function gX($){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,O]=w,L=Ez(_);if(L===void 0)continue;let F=w.index,V=F+z.length,N=!!O||/\/\s*>$/.test(z)||xX.has(U.toLowerCase())?V:Dz($,F,U,V);if(N===-1)continue;if((j===":if"||j==="x-if"||j==="@if")&&bz($,N)){G.lastIndex=V;continue}if(L===!0){let T=`<${U}${B}${H}${O}>`;Q.push({start:F,end:V,replacement:T});continue}Q.push({start:F,end:N,replacement:""}),G.lastIndex=N}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 hX($,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=rZ(U),_=w==="for"?"@endfor":"@endforeach",H=1,O=B,L=w==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${w}\\s*\\(|end${w})`,"g");L.lastIndex=B;let F;while((F=L.exec(Z))!==null)if(F[1].startsWith(w))H++;else if(H--,H===0){O=F.index+F[0].length;break}if(H!==0)continue;let V=()=>{let M=[j.itemVar,j.indexVar].filter(Boolean);if(M.length)Q.push({start:q,end:O,vars:M})};if(j.iterable){let M=j.iterable.trim();if(M.startsWith("[")||M.startsWith("{")||M.startsWith("'")||M.startsWith('"')||M.startsWith("`")||/^-?\d/.test(M)){V();continue}let T=M.split(/[.[(]/)[0].trim(),k=X?T in X:!1,D=Q.some((I)=>q>I.start&&q<I.end&&I.vars.includes(T));if(T&&(k||D)){V();continue}}if(j.style==="as")U=j.indexVar?`(${j.itemVar}, ${j.indexVar}) in ${j.iterable}`:`${j.itemVar} in ${j.iterable}`;let R=Z.substring(B,O-_.length).trim(),A=R.match(iZ),N;if(A){let[,M,T,k]=A;N=`<${M}${T} @for="${U}">${k}</${M}>`}else N=`<template @for="${U}">${R}</template>`;G.push({start:q,end:O,replacement:N})}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 Sz($){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]!==`
|
|
10422
10531
|
`)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]!==`
|
|
10423
|
-
`)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],_=W(J+B[0].length);if(X.has(j)){Z.push(`/* stx: deduped const ${j} */`),J=_;continue}X.add(j),Z.push($.slice(J,_)),J=_;continue}}}Z.push(K),J++}return Z.join("")}async function
|
|
10424
|
-
${
|
|
10532
|
+
`)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],_=W(J+B[0].length);if(X.has(j)){Z.push(`/* stx: deduped const ${j} */`),J=_;continue}X.add(j),Z.push($.slice(J,_)),J=_;continue}}}Z.push(K),J++}return Z.join("")}async function oZ($,X,Z){let J=nZ($,{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 H of J){let O=H.body;if(i1(H.attrs))O=n1(O);if(Y.test(O))G.push({fullMatch:H.fullMatch,attrs:H.attrs,content:O})}if(G.length===0)return{output:$,setupCode:null};let Q=`__stx_setup_${Date.now()}_${Nz++}`,{hasUserImports:w,bundleClientScript:q}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (T7(),N7))),W=[];for(let H=0;H<G.length;H++){let O=G[H].content;if(O=T5(O).code,w(O))O=await q(O,X||"",{projectRoot:process.cwd()});O=O.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(F,V)=>aZ(V));let L=c0(O);W.push(`// \u2500\u2500 merged signal script #${H+1} \u2500\u2500
|
|
10533
|
+
${L}`)}let K=W.join(`
|
|
10425
10534
|
|
|
10426
|
-
`);K=
|
|
10535
|
+
`);K=Sz(K);let z=sZ(K),U=z.split(",").map((H)=>H.trim()).filter(Boolean),B=k8(K,Z),j=`
|
|
10427
10536
|
<script data-stx-scoped>
|
|
10428
10537
|
function ${Q}() {
|
|
10429
10538
|
${R5("const",U)}
|
|
@@ -10432,18 +10541,18 @@ ${N5(`${B}${K}`)}
|
|
|
10432
10541
|
}
|
|
10433
10542
|
window.__stx_latestSetup=${Q};
|
|
10434
10543
|
if(window.stx)window.stx._latestSetup=${Q};
|
|
10435
|
-
</script>`,_=$;for(let H of G)_=_.split(H.fullMatch).join("");if(_.includes("<body"))_=_.replace(new RegExp(`<body(${
|
|
10544
|
+
</script>`,_=$;for(let H of G)_=_.split(H.fullMatch).join("");if(_.includes("<body"))_=_.replace(new RegExp(`<body(${dZ})>`),`<body$1 data-stx="${Q}">`);else{let H=["script","style","html","head","meta","link","title","!doctype"],O=!1;_=_.replace(new RegExp(`<([a-zA-Z][a-zA-Z0-9-]*)\\b(${dZ})>`,"gi"),(L,F,V)=>{if(O||H.includes(F.toLowerCase()))return L;return O=!0,`<${F}${V} data-stx="${Q}">`})}return{output:_,setupCode:j}}function sZ($){let X=$,Z=[],J=new Set,Y=0,G=0,Q=X.length,w="",q=()=>{G++;let j=!1;while(G<Q){let _=X[G];if(_==="\\"){G+=2;continue}if(_==="["&&!j){j=!0,G++;continue}if(_==="]"&&j){j=!1,G++;continue}if(_==="/"&&!j){G++;while(G<Q&&/[gimsuyd]/.test(X[G]))G++;return}if(_===`
|
|
10436
10545
|
`)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]!==`
|
|
10437
|
-
`)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
|
|
10546
|
+
`)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 _=X.slice(G).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(_){_[1].split(",").forEach((F)=>{let V=F.trim();if(!V)return;let R=V.indexOf(":"),N=(R>=0?V.slice(R+1).trim():V).split(/[\s=]/)[0];if(N&&!J.has(N))Z.push(N),J.add(N)});return}let H=X.slice(G).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(H){H[1].split(",").forEach((F)=>{let V=F.trim().replace(/^\.\.\./,"");if(!V)return;let R=V.split(/[\s=]/)[0];if(R&&!J.has(R))Z.push(R),J.add(R)});return}let O=X.slice(G).match(/^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);return}let L=X.slice(G).match(/^async\s+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)}};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 uX($,X,Z,J){if(!$$($))return $;let Y=$;if(X.skipSignalsRuntime)return Y;let{output:G,setupCode:Q}=await oZ(Y,Z,J);if(Y=G,Y=await s8(Y,X),Q){let K=e8(Y,/<\/head>/i),z=K===-1?e8(Y,/<body[^>]*>/i):-1;if(K!==-1)Y=`${Y.slice(0,K)}${Q}
|
|
10438
10547
|
${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)}
|
|
10439
10548
|
${Q}${Y.slice(B)}`}else Y=`${Y}
|
|
10440
|
-
${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=
|
|
10441
|
-
`)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((_)=>{let H=_.trim().split(":");return H[H.length-1].trim()});for(let _ of j)if(_&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(_)&&!Z.has(_))X.push(_),Z.add(_);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
|
|
10549
|
+
${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=e8(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 e8($,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 aZ($){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 pZ;return`var ${X.join(", ")}; ${pZ}`}var Nz=0,dZ=`(?:"[^"]*"|'[^']*'|[^>"'])*`,iZ,lZ,xX,yz,pZ="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var u7=E(()=>{D7();g8();e0();r9();D0();a8();r1();R7();iZ=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;lZ=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"]);xX=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);yz=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import Cz from"fs";import h from"path";function vz($){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 tZ($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function xz($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function i1($){return!xz($)}function n1($){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=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()}).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 fz($){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]!==`
|
|
10550
|
+
`)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((_)=>{let H=_.trim().split(":");return H[H.length-1].trim()});for(let _ of j)if(_&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(_)&&!Z.has(_))X.push(_),Z.add(_);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 gz($){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 hz($){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 uz($,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 gz(w)){let W=q.trim();if(!W||W.startsWith("..."))continue;let K=hz(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((_)=>X[_]))}catch{}}}catch{}}async function Y$($,X,Z,J,Y){let G=$.endsWith(".stx")?$.slice(0,-4):$,Q=(H)=>H.split("-").map((O)=>O.charAt(0).toUpperCase()+O.slice(1)).join(""),w=(H)=>H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),q=Z.__importedComponents;if(q){for(let H of[G,G.toLowerCase(),Q(G),w(G)])if(q.has(H))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=(H)=>{if(H&&!U.includes(H))U.push(H)},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 _=Y._pluginComponentDirs;if(Array.isArray(_))for(let H of _)B(typeof H==="string"?H: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 n(h.resolve(h.dirname(J),`${G}.stx`));for(let H of U){let O=h.isAbsolute(H)?H:h.resolve(z,H);for(let L of W)if(await n(h.join(O,L)))return!0}return!1}function dz($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}function mz($){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 lz($){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 X5($,X,Z,J,Y,G,Q,w=new Set,q){let{extractVariables:W}=await e("stx/variable-extractor",()=>Promise.resolve().then(() => (x7(),x8))),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"&&dz(U)?U:"";try{let j=(C)=>C.split("-").map((g)=>g.charAt(0).toUpperCase()+g.slice(1)).join(""),_=(C)=>C.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),H=$.endsWith(".stx")?$.slice(0,-4):$,O=null,L=Y.__importedComponents;if(L){let C=[H,H.toLowerCase(),j(H),_(H)];for(let g of C)if(L.has(g)){O=L.get(g);break}}let F=[];if(!O){let C=[`${H}.stx`,`${j(H)}.stx`,`${_(H)}.stx`],g=[...new Set(C)],m=Y.__originalFilePath,d=[];if(m){let z0=h.join(h.dirname(m),"components");d.push(z0)}if(J)d.push(J);let Q0=Q._rootComponentsDir;if(typeof Q0==="string"&&!d.includes(Q0))d.push(Q0);let R0=h.join(h.dirname(G),"components");if(!d.includes(R0))d.push(R0);if(Q.componentsDir&&Q.componentsDir!==J&&!d.includes(Q.componentsDir))d.push(Q.componentsDir);let j1=Q._pluginComponentDirs;if(Array.isArray(j1)){for(let z0 of j1)if(typeof z0==="string"&&!d.includes(z0))d.push(z0)}let r0=typeof Q.root==="string"?h.resolve(Q.root):void 0,g0=r0??h.dirname(G),t0=[];if(r0)t0.push(h.resolve(r0,"resources/views/components")),t0.push(h.resolve(r0,"resources/components")),t0.push(h.resolve(r0,"src/components")),t0.push(h.resolve(r0,"components"));t0.push(h.resolve(import.meta.dir,"components"));for(let z0 of t0)if(!d.includes(z0))d.push(z0);let l1=[...new Set(d.map((z0)=>{if(!z0)return z0;return h.isAbsolute(z0)?z0:h.resolve(g0,z0)}))];d.length=0,d.push(...l1);let M1=`${H}\x00${G}\x00${l1.join("\x00")}`,B5=J$.get(M1);if(B5)if(await n(B5))O=B5;else J$.delete(M1);if(!O&&(H.startsWith("./")||H.startsWith("../")))O=h.resolve(h.dirname(G),`${H}.stx`),F.push(O);else if(!O)for(let z0 of d){if(!z0)continue;for(let o of g){let l0=h.join(z0,o);if(F.push(l0),await n(l0)){O=l0;break}}if(O)break;if(!O)try{let o=await import("fs");if(!o.statSync(z0,{throwIfNoEntry:!1})?.isDirectory())continue;let t5=8,_5=[{path:z0,depth:0}];while(_5.length>0&&!O){let B1=_5.pop();if(B1.depth>=t5)continue;let W8;try{W8=o.readdirSync(B1.path,{withFileTypes:!0})}catch{continue}for(let K8 of W8){if(!K8.isDirectory())continue;if(K8.name==="node_modules"||K8.name.startsWith("."))continue;let G6=h.join(B1.path,K8.name);for(let Cq of g){let O9=h.join(G6,Cq);if(F.push(O9),await n(O9)){O=O9;break}}if(O)break;_5.push({path:G6,depth:B1.depth+1})}}}catch{}if(O)break}if(O)J$.set(M1,O)}if(!O||!await n(O)){let C=F.length>0?`
|
|
10442
10551
|
Searched paths:
|
|
10443
|
-
${F.map((
|
|
10444
|
-
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${
|
|
10445
|
-
`)}`}if(Z&&
|
|
10446
|
-
${R5("const",[...
|
|
10552
|
+
${F.map((g)=>` - ${g}`).join(`
|
|
10553
|
+
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${C}`}q.add(O);let V;if(Z$.has(O))V=Z$.get(O);else try{V=await Bun.file(O).text(),Z$.set(O,V)}catch(C){return`[Error loading component: ${C instanceof Error?C.message:String(C)}]`}let R=new Set(["__originalFilePath","__importedComponents",I8,"__stx_client_signal_names"]),A={};for(let[C,g]of Object.entries(Y))if(!C.startsWith("__")||R.has(C))A[C]=g;let{extractSlotContent:N}=await e("stx/slots",()=>Promise.resolve().then(() => (_X(),BX))),M=N(Z),T={};if(M.defaultSlot?.trim())T.default=M.defaultSlot;for(let[C,g]of M.namedSlots)T[C]=g.content;let k={...A,...X,props:X,slot:Z,$slots:T,__processedComponents:z,__sections:{},__stx_signals_gate:F1(V)||mz(Z)};uz(V,k);let D=V,I=C8(D);if(I)D=I.content.trim();let S=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,b=[...V.matchAll(S)],y=[],v=b.some((C)=>/\bserver\b/.test(C[1]||"")&&/\bcache\b/.test(C[1]||""))&&b.every((C)=>/\bserver\b/.test(C[1]||"")),f=null,x=null;if(v){let C=vz({props:X,slot:Z,buildMode:Q.buildMode??"",skipEventDirectives:Q.skipEventDirectives===!0});if(C!==null){f=`${O}\x00${C}`;let g=dX.get(f);if(g){for(let m of g.dependencies)q.add(m);return g.output}x=new Set(q)}}for(let C of b){let g=C[1]||"",m=C[2]||"",d=g.includes("server");if(i1(g)&&m.trim())m=n1(m);if(d&&m)try{await W(m,k,O)}catch(R0){}if(!d){let R0=m.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),j1=R0.includes("{{")&&R0.includes("}}"),r0=R0.includes("{!!")&&R0.includes("!!}");if(j1||r0)R0=b8(R0,k);let g0=g.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");y.push(`<script${g0}>${R0}</script>`)}}let p=V.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),l=p?p[1]:"",T0=p?p[2]:"",W0="",A0=l&&/\bscoped\b/i.test(l);if(p)W0=`<style${l}>${T0}</style>`;let s=D;if(s=s.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),p)s=s.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let C=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,g=[];if(s=s.replace(C,(m,d)=>{let Q0=d.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(Q0)g.push(`<style${Q0[1]}>${Q0[2]}</style>`);return""}),s=s.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),g.length>0)W0=`${W0}${g.join(`
|
|
10554
|
+
`)}`}if(Z&&s.includes("{{ text || slot }}"))s=s.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Z);let{applySlots:c}=await e("stx/slots",()=>Promise.resolve().then(() => (_X(),BX))),{defaultSlot:_0,namedSlots:M0}=M;s=await c(s,_0,M0,k);let T1=y.some((C)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(C)),j5=lz(y),r=Array.isArray(k.__stx_client_signal_names)?k.__stx_client_signal_names:[];if(j5.length>0||r.length>0)k.__stx_client_signal_names=[...new Set([...r,...j5])];let $0={...Q,_rootComponentsDir:Q._rootComponentsDir||Q.componentsDir,componentsDir:h.dirname(O),skipSignalsRuntime:!0,skipEventDirectives:T1||y.length===0,defaultLayout:void 0};k.__stxProcessingDepth=(Y.__stxProcessingDepth||0)+1;let K0=await O0(s,k,O,$0,q),v0=new Set(Array.isArray(Y.__stx_preserved_client_expressions)?Y.__stx_preserved_client_expressions:[]);for(let C of K0.matchAll(/\{\{([\s\S]*?)\}\}/g))v0.add(C[1].trim());if(v0.size>0)Y.__stx_preserved_client_expressions=[...v0];let L0=`stx_${H.replace(/[^a-zA-Z0-9]/g,"_")}_${++Pz}_${Math.random().toString(36).slice(2,8)}`,P=K0;if(T1){let C="";if(Object.keys(X).length>0)try{C=` data-stx-props="${tZ(JSON.stringify(X))}"`}catch{}let g=B?` stx-hydrate="${tZ(B)}"`:"";P=`<div data-stx-scope="${L0}"${C}${g}>${K0}</div>`;let m=await Promise.all(y.map(async(d)=>{let Q0=d.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!Q0)return d;let[,R0,j1]=Q0,r0=T8(j1,{filePath:O,projectRoot:process.cwd()}),g0=r0.code,t0=M8(r0.styles);g0=T5(g0).code;let{hasUserImports:l1,bundleClientScript:M1}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (T7(),N7)));if(l1(g0))g0=await M1(g0,O,{projectRoot:process.cwd(),minify:Q.buildMode==="compile"});let{rewriteStxImportSpecifiers:B5}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (u7(),X$)));g0=g0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(B1,W8)=>B5(W8));let z0=c0(g0),o=fz(z0),l0=`function(__scopeId) {
|
|
10555
|
+
${R5("const",[...l6,...o],z0)}
|
|
10447
10556
|
const __scope = window.stx._scopes = window.stx._scopes || {};
|
|
10448
10557
|
const __scopeVars = __scope[__scopeId] = __scope[__scopeId] || {};
|
|
10449
10558
|
__scopeVars.$refs = __scopeVars.$refs || {};
|
|
@@ -10457,12 +10566,12 @@ ${F.map((v)=>` - ${v}`).join(`
|
|
|
10457
10566
|
const onDestroy = (fn) => __scopeVars.__destroyCallbacks.push(fn);
|
|
10458
10567
|
|
|
10459
10568
|
try {
|
|
10460
|
-
${
|
|
10569
|
+
${z0}
|
|
10461
10570
|
|
|
10462
10571
|
// Register all defined signals and functions in this scope
|
|
10463
10572
|
const __localVars = {};
|
|
10464
10573
|
try {
|
|
10465
|
-
${
|
|
10574
|
+
${o.map((B1)=>`if (typeof ${B1} !== 'undefined') __localVars['${B1}'] = ${B1};`).join(`
|
|
10466
10575
|
`)}
|
|
10467
10576
|
}
|
|
10468
10577
|
catch (e) {}
|
|
@@ -10471,15 +10580,15 @@ catch (e) {}
|
|
|
10471
10580
|
finally {
|
|
10472
10581
|
window.__STX_CURRENT_ELEMENT__ = __previousCurrentElement;
|
|
10473
10582
|
}
|
|
10474
|
-
}`,
|
|
10583
|
+
}`,t5=B?null:A2(Y,l0),_5=t5?`window.__stxComponentFactories[${JSON.stringify(t5)}](${JSON.stringify(L0)});`:`(${l0})(${JSON.stringify(L0)});`;if(B)return`${t0}<script type="stx/island" data-stx-island="${L0}" data-stx-scoped${R0}>${_5}</script>`;return`${t0}<script data-stx-scoped data-stx-run="always"${R0}>${_5}</script>`}));if(P=P+`
|
|
10475
10584
|
`+m.join(`
|
|
10476
|
-
`),
|
|
10477
|
-
`+
|
|
10478
|
-
`+
|
|
10585
|
+
`),W0)P+=`
|
|
10586
|
+
`+W0}else{if(W0)P+=`
|
|
10587
|
+
`+W0;if(y.length>0){let C=k.__stx_event_bindings||[],g=I7(k),m=await Promise.all(y.map(async(d)=>{let Q0=d.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!Q0)return d;return await E7(Q0[1],{eventBindings:C,templateContent:P,filePath:O,projectRoot:process.cwd(),serverData:g})}));P+=`
|
|
10479
10588
|
`+m.join(`
|
|
10480
|
-
`),k.__stx_event_bindings=[]}}if(A0){let
|
|
10589
|
+
`),k.__stx_event_bindings=[]}}if(A0){let C=S8(P,O);if(C.hasScoped)P=C.html}if(f&&x)dX.set(f,{output:P,dependencies:[...q].filter((C)=>!x.has(C))});return P}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{K.delete($)}}async function n($){return Bun.file($).exists()}function mX($,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 lX($,X,Z,J){let Y=await cz($,X,Z,J);if(Y===null)return null;let G=mX(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(mX(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 cz($,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=mX(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 n(B)&&J)J.add(B);return B}let Q=h.join(Y,$);if(await n(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 n(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=Cz.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){w=B;break}let _=h.dirname(q);if(_===q||_.length<W.length)break;q=_}if(w){let U=$.startsWith("layouts/")?$.slice(8):$,B=h.join(w,U);if(await n(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 n(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 n(j)){if(Z.debug)console.log(`Found in options.layoutsDir: ${j}`);if(J)J.add(j);return j}if(!$.endsWith(".stx")){let _=`${j}.stx`;if(await n(_)){if(Z.debug)console.log(`Found in options.layoutsDir with extension: ${_}`);if(J)J.add(_);return _}}}if($.startsWith("layouts/")||$.includes("/layouts/")){let U=$.split("layouts/"),B=h.join(Z.partialsDir||Y,"layouts",U[1]);if(await n(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 n(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 n(w)){let U=h.join(w,$);if(await n(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 n(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 n(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 n(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 n(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 n(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 eZ($,X,Z){let J=0,Y="",G="";try{if(typeof X==="number"&&X>=0){let Q=$.split(`
|
|
10481
10590
|
`),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(`
|
|
10482
|
-
`);break}}else if(Z){let Q=$.indexOf(Z);if(Q>=0)return
|
|
10591
|
+
`);break}}else if(Z){let Q=$.indexOf(Z);if(Q>=0)return eZ($,Q)}}catch{}return{lineNumber:J,lineContent:Y,context:G}}function j0($,X,Z,J,Y,G){let{lineNumber:Q,context:w}=eZ(J,Y,G),q=Z.split("/").pop(),W=0;if(typeof Y==="number"&&Y>=0&&J){let z=J.lastIndexOf(`
|
|
10483
10592
|
`,Math.max(0,Y-1));W=Y-(z+1)+1}let K="";if(Q>0)K+=`
|
|
10484
10593
|
${Z}:${Q}${W>0?`:${W}`:""}: ${$.toLowerCase()} error: ${X}
|
|
10485
10594
|
`;if(K+=`
|
|
@@ -10492,8 +10601,8 @@ ${X0.yellow}${X0.bold}Message:${X0.reset} ${X}
|
|
|
10492
10601
|
`,w)K+=`
|
|
10493
10602
|
${X0.blue}${X0.bold}Context:${X0.reset}
|
|
10494
10603
|
${X0.dim}${w}${X0.reset}
|
|
10495
|
-
`;return K}function
|
|
10496
|
-
`||
|
|
10604
|
+
`;return K}function fZ(){Z$.clear(),J$.clear(),dX.clear()}var Z$,J$,dX,Pz=0,X0;var D0=E(()=>{D7();$X();q1();e0();E5();G$();E1();QX();wX();R7();o2();x7();Z$=new o1(500),J$=new o1(1000),dX=new o1(2000);X0={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 $J($,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 H=$.indexOf("@markdown",U),O=$.indexOf("@endmarkdown",U);if(O===-1)break;if(H!==-1&&H<O&&H!==w){let L=$[H+9];if(L==="("||L===`
|
|
10605
|
+
`||L==="\r"||L===" "||L===void 0)z++;U=H+9}else{if(z--,z===0){B=O;break}U=O+12}}if(B===-1)continue;let j=$.slice(K,B),_=$.slice(w,B+12);Y.push({fullMatch:_,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 _=j.trim();if(_)z[_]=!0});let U={gfm:z.gfm??!0,breaks:z.breaks??!1},B=A7(W.trim(),U);J=J.split(w).join(B)}catch(z){let U=z instanceof Error?z.message:String(z),B=j0("Markdown Directive",`Error processing markdown: ${U}`,Z,$,K,w);J=J.split(w).join(B)}return J}async function XJ($,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}),A7($.trim(),Y)}var cX=E(()=>{D0()});function nz($){if(pz.set($.name,$),$.client)iz.set($.name,$.client)}function Q$($){return nz($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(Z,J,Y,G)=>{let Q=rz(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 rz($,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 pz,iz;var pX=E(()=>{pz=new Map,iz=new Map});function iX($,X=S5,Z={},J){return X.sort((Y,G)=>Y-G).map((Y)=>{return`${m7($,{...Z,w:Y,fm:J})} ${Y}w`}).join(", ")}function ZJ($,X,Z=oz,J={},Y){return Z.sort((G,Q)=>G-Q).map((G)=>{let Q=Math.round(X*G);return`${m7($,{...J,w:Q,dpr:G,fm:Y})} ${G}x`}).join(", ")}function nX($,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 m7($,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 rX($){return sz[$]||"application/octet-stream"}var S5,oz,d7,sz;var oX=E(()=>{S5=[320,480,640,768,1024,1280,1536,1920,2560],oz=[1,1.5,2,3],d7=["avif","webp","jpeg"],sz={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function tz(){try{return await import("ts-images")}catch{return null}}async function ez($,X={}){let Z={...az,...X},J=await tz();if(J)try{return await $U($,Z,J)}catch(Y){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${Y}`)}return XU($,Z)}async function $U($,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 XU($,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 JJ($,X,Z={}){let J=Z.transitionDuration||300,Y=Z.easing||"ease-out";return`
|
|
10497
10606
|
#${$} {
|
|
10498
10607
|
--stx-img-transition-duration: ${J}ms;
|
|
10499
10608
|
--stx-img-transition-easing: ${Y};
|
|
@@ -10510,7 +10619,7 @@ ${X0.dim}${w}${X0.reset}
|
|
|
10510
10619
|
#${$}.stx-img-loaded img {
|
|
10511
10620
|
opacity: 1;
|
|
10512
10621
|
}
|
|
10513
|
-
`.trim()}async function
|
|
10622
|
+
`.trim()}async function YJ($,X={}){let Z=`${$}:${JSON.stringify(X)}`;if(sX.has(Z))return sX.get(Z);let J=await ez($,X);return sX.set(Z,J),J}var az,aX,sX;var GJ=E(()=>{az={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},aX=`
|
|
10514
10623
|
.stx-img-placeholder {
|
|
10515
10624
|
position: relative;
|
|
10516
10625
|
overflow: hidden;
|
|
@@ -10539,20 +10648,20 @@ ${X0.dim}${w}${X0.reset}
|
|
|
10539
10648
|
filter: blur(0);
|
|
10540
10649
|
transform: scale(1);
|
|
10541
10650
|
}
|
|
10542
|
-
`.trim();rX=new Map});import{createHash as ZJ}from"crypto";import{readFile as oz,stat as JJ}from"fs/promises";async function v0($){try{let X=await oz($);return ZJ("sha256").update(X).digest("hex").slice(0,16)}catch{return""}}function XJ($){return ZJ("sha256").update($).digest("hex").slice(0,16)}function Q$($,X){let Z=JSON.stringify(X,Object.keys(X).sort());return`${XJ($)}-${XJ(Z)}`}async function sX($){try{return(await JJ($)).mtimeMs}catch{return 0}}async function D0($){try{return await JJ($),!0}catch{return!1}}var Z5=()=>{};import{mkdir as sz,readFile as az,writeFile as tz,readdir as HR,rm as ez,stat as OR}from"fs/promises";import{join as GJ,dirname as $U}from"path";async function XU($){try{await sz($,{recursive:!0})}catch{}}function QJ($,X,Z){return GJ($,Z,`${X}.json`)}async function YJ($,X,Z){if((Date.now()-$.createdAt)/86400000>Z)return!1;if(await sX(X)!==$.srcMtime)return!1;return!0}async function w$($,X,Z,J=aX){if(!J.enabled)return null;let Y=Q$($,X),G=C5.get(Y);if(G){if(await YJ(G,$,J.maxAge))return G.lastAccessedAt=Date.now(),G.data;C5.delete(Y)}let Q=QJ(J.directory,Y,Z);if(await D0(Q))try{let w=await az(Q,"utf-8"),q=JSON.parse(w);if(await YJ(q,$,J.maxAge))return q.lastAccessedAt=Date.now(),C5.set(Y,q),q.data}catch{}return null}async function q$($,X,Z,J,Y=aX){if(!Y.enabled)return;let G=Q$($,X),Q=await v0($),w=await sX($),q={key:G,src:$,srcHash:Q,srcMtime:w,optionsHash:Q$("",X),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};C5.set(G,q);let W=QJ(Y.directory,G,J);try{await XU($U(W)),await tz(W,JSON.stringify(q,null,2))}catch(K){console.warn(`[stx-media] Failed to write cache: ${K}`)}}async function W$($,X=aX){if($==="all")C5.clear();else C5.clear();let Z=$==="all"?["image","video"]:[$];for(let J of Z){let Y=GJ(X.directory,J);try{await ez(Y,{recursive:!0,force:!0})}catch{}}}var C5,aX;var tX=D(()=>{Z5();C5=new Map,aX={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class z${config;constructor($={}){this.config={...ZU,...$}}async get($,X){return w$($,X,"image",this.config)}async set($,X,Z){return q$($,X,Z,"image",this.config)}async clear(){return W$("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function eX($){if(!K$)K$=new z$($);else if($)K$.updateConfig($);return K$}async function U$($,X,Z){let J=Z?{directory:`${Z.outputDir}/../.cache`}:{};return eX(J).get($,X)}async function j$($,X,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return eX(Y).set($,X,Z)}async function wJ(){return eX().clear()}var ZU,K$=null;var $3=D(()=>{tX();ZU={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as JU,basename as YU,extname as GU,join as QU}from"path";import{mkdir as wU}from"fs/promises";async function X3(){try{return await import("ts-images")}catch{return null}}function qJ($){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 qU($,X){let Z=X?qJ(X):qJ("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 WJ($,X,Z){let J=await X3();if(!J)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Y=await U$($,X,Z);if(Y)return Y;try{let G=JU($);if(!await D0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let Q=qU(Z,X.preset),w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await wU(w,{recursive:!0});let W=await v0(G),K=YU($,GU($)),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 Z3(G,X.transformations,J);for(let j of z){let _=Q[j]||{},H=`${K}-${W}.${j}`,L=QU(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 j$($,X,U,Z),U}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function KJ($,X,Z,J){let Y=await X3();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 Z3($,X,Z){let J=Z||await X3();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 zJ=D(()=>{Z5();$3()});import{resolve as WU,basename as KU,extname as zU,join as UU}from"path";import{mkdir as jU}from"fs/promises";async function BU(){try{return await import("ts-images")}catch{return null}}async function UJ($,X,Z){let J=await BU();if(!J)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Y=WU($);if(!await D0(Y))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let G=X.responsiveWidths||Z.breakpoints||_U,Q=X.formats||Z.defaultFormats||["avif","webp","jpeg"],w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await jU(w,{recursive:!0});let W=await v0(Y),K=KU($,zU($)),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=UU(w,L),F=`${q}/${L}`;try{let V=z[j]?.quality||80;if(await D0(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||HU(G),U}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function HU($){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 jJ($,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 _U;var BJ=D(()=>{Z5();_U=[320,480,640,768,1024,1280,1536,1920]});var _J={};a(_J,{setCachedImageResult:()=>j$,processImage:()=>WJ,optimizeImage:()=>KJ,getCachedImageResult:()=>U$,generateSrcset:()=>jJ,generateResponsiveVariants:()=>UJ,clearImageCache:()=>wJ,applyTransformations:()=>Z3,ImageProcessorCache:()=>z$});var HJ=D(()=>{zJ();BJ();$3()});async function OU(){try{return await Promise.resolve().then(() => (HJ(),_J))}catch($){if(!OJ)console.warn("[stx-media] Image processor not available, some features disabled:",$),OJ=!0;return null}}async function B$($,X={}){let Z=X,J=$;if(J.process&&!J.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return AU(J,Z)}if(Z.processedResult?.processed)return Q3($,Z.processedResult,X);if(Z.responsiveVariants)return AJ($,Z.responsiveVariants,X);let{src:Y,alt:G,width:Q,height:w,sizes:q,widths:W=S5,dpr:K,formats:z=u7,quality:U=J3,params:B={},placeholder:j="none",placeholderOptions:_={},lazy:H=!0,priority:L=!1,loading:O=L?"eager":H$,decoding:F=_$,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:N,referrerpolicy:T}=$,M=$.class,k=$.style,y=$.id,I=$.data||{},{isDev:S=!1,baseUrl:b=""}=X;if(S&&!X.optimize)return VU($);let C,P,x=y||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!L)try{C=await eZ(Y,{strategy:j,..._}),P=tZ(x,C,_)}catch{}let f=K!==void 0&&Q!==void 0,l;if(f)l=FU($,x,C,X);else l=await LU($,x,C,X);let $0;if(L){let A0=z.includes("webp")?"webp":z[0],u=cX(Y,W,{...B,q:U},A0),t=typeof q==="object"?pX(q):q||"100vw";$0=`<link rel="preload" as="image" imagesrcset="${u}" imagesizes="${t}" />`}let C0=[];if(!LJ&&j!=="none")C0.push(oX),LJ=!0;if(P)C0.push(P);let U0=H?VJ(x):void 0;return{html:l,preloadLink:$0,css:C0.length>0?C0.join(`
|
|
10543
|
-
`):void 0,script:
|
|
10651
|
+
`.trim();sX=new Map});import{createHash as wJ}from"crypto";import{readFile as ZU,stat as qJ}from"fs/promises";async function x0($){try{let X=await ZU($);return wJ("sha256").update(X).digest("hex").slice(0,16)}catch{return""}}function QJ($){return wJ("sha256").update($).digest("hex").slice(0,16)}function w$($,X){let Z=JSON.stringify(X,Object.keys(X).sort());return`${QJ($)}-${QJ(Z)}`}async function tX($){try{return(await qJ($)).mtimeMs}catch{return 0}}async function b0($){try{return await qJ($),!0}catch{return!1}}var Z5=()=>{};import{mkdir as JU,readFile as YU,writeFile as GU,readdir as ER,rm as QU,stat as DR}from"fs/promises";import{join as KJ,dirname as wU}from"path";async function qU($){try{await JU($,{recursive:!0})}catch{}}function zJ($,X,Z){return KJ($,Z,`${X}.json`)}async function WJ($,X,Z){if((Date.now()-$.createdAt)/86400000>Z)return!1;if(await tX(X)!==$.srcMtime)return!1;return!0}async function q$($,X,Z,J=eX){if(!J.enabled)return null;let Y=w$($,X),G=C5.get(Y);if(G){if(await WJ(G,$,J.maxAge))return G.lastAccessedAt=Date.now(),G.data;C5.delete(Y)}let Q=zJ(J.directory,Y,Z);if(await b0(Q))try{let w=await YU(Q,"utf-8"),q=JSON.parse(w);if(await WJ(q,$,J.maxAge))return q.lastAccessedAt=Date.now(),C5.set(Y,q),q.data}catch{}return null}async function W$($,X,Z,J,Y=eX){if(!Y.enabled)return;let G=w$($,X),Q=await x0($),w=await tX($),q={key:G,src:$,srcHash:Q,srcMtime:w,optionsHash:w$("",X),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};C5.set(G,q);let W=zJ(Y.directory,G,J);try{await qU(wU(W)),await GU(W,JSON.stringify(q,null,2))}catch(K){console.warn(`[stx-media] Failed to write cache: ${K}`)}}async function K$($,X=eX){if($==="all")C5.clear();else C5.clear();let Z=$==="all"?["image","video"]:[$];for(let J of Z){let Y=KJ(X.directory,J);try{await QU(Y,{recursive:!0,force:!0})}catch{}}}var C5,eX;var $3=E(()=>{Z5();C5=new Map,eX={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class U${config;constructor($={}){this.config={...WU,...$}}async get($,X){return q$($,X,"image",this.config)}async set($,X,Z){return W$($,X,Z,"image",this.config)}async clear(){return K$("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function X3($){if(!z$)z$=new U$($);else if($)z$.updateConfig($);return z$}async function j$($,X,Z){let J=Z?{directory:`${Z.outputDir}/../.cache`}:{};return X3(J).get($,X)}async function B$($,X,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return X3(Y).set($,X,Z)}async function UJ(){return X3().clear()}var WU,z$=null;var Z3=E(()=>{$3();WU={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as KU,basename as zU,extname as UU,join as jU}from"path";import{mkdir as BU}from"fs/promises";async function J3(){try{return await import("ts-images")}catch{return null}}function jJ($){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 _U($,X){let Z=X?jJ(X):jJ("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 J3();if(!J)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Y=await j$($,X,Z);if(Y)return Y;try{let G=KU($);if(!await b0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let Q=_U(Z,X.preset),w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await BU(w,{recursive:!0});let W=await x0(G),K=zU($,UU($)),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 Y3(G,X.transformations,J);for(let j of z){let _=Q[j]||{},H=`${K}-${W}.${j}`,O=jU(w,H);try{let L=await J.optimizeImage({input:B||G,output:O,format:j,quality:_.quality,progressive:_.progressive});if(L){if(U.variants.push({path:O,url:`${q}/${H}`,width:L.width||0,height:L.height||0,format:j,size:L.outputSize||0}),!U.originalWidth&&L.width)U.originalWidth=L.width,U.originalHeight=L.height}}catch(L){U.errors=U.errors||[],U.errors.push(`Failed to optimize ${j}: ${L}`)}}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 B$($,X,U,Z),U}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function _J($,X,Z,J){let Y=await J3();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 Y3($,X,Z){let J=Z||await J3();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 HJ=E(()=>{Z5();Z3()});import{resolve as HU,basename as OU,extname as LU,join as FU}from"path";import{mkdir as VU}from"fs/promises";async function AU(){try{return await import("ts-images")}catch{return null}}async function OJ($,X,Z){let J=await AU();if(!J)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Y=HU($);if(!await b0(Y))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let G=X.responsiveWidths||Z.breakpoints||RU,Q=X.formats||Z.defaultFormats||["avif","webp","jpeg"],w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await VU(w,{recursive:!0});let W=await x0(Y),K=OU($,LU($)),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 O=`${K}-${H}w-${W}.${j}`,L=FU(w,O),F=`${q}/${O}`;try{let V=z[j]?.quality||80;if(await b0(L)){U.byFormat[j].push({path:L,url:F,width:H,height:0,format:j,size:0}),_.push(`${F} ${H}w`);continue}let R=await J.processImage({input:Y,output:L,format:j,quality:V,resize:{width:H}});if(R)U.byFormat[j].push({path:L,url:F,width:H,height:R.height||Math.round(H*(R.height||1)/(R.width||1)),format:j,size:R.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||NU(G),U}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function NU($){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 LJ($,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 RU;var FJ=E(()=>{Z5();RU=[320,480,640,768,1024,1280,1536,1920]});var VJ={};t(VJ,{setCachedImageResult:()=>B$,processImage:()=>BJ,optimizeImage:()=>_J,getCachedImageResult:()=>j$,generateSrcset:()=>LJ,generateResponsiveVariants:()=>OJ,clearImageCache:()=>UJ,applyTransformations:()=>Y3,ImageProcessorCache:()=>U$});var AJ=E(()=>{HJ();FJ();Z3()});async function TU(){try{return await Promise.resolve().then(() => (AJ(),VJ))}catch($){if(!RJ)console.warn("[stx-media] Image processor not available, some features disabled:",$),RJ=!0;return null}}async function _$($,X={}){let Z=X,J=$;if(J.process&&!J.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return EU(J,Z)}if(Z.processedResult?.processed)return q3($,Z.processedResult,X);if(Z.responsiveVariants)return kJ($,Z.responsiveVariants,X);let{src:Y,alt:G,width:Q,height:w,sizes:q,widths:W=S5,dpr:K,formats:z=d7,quality:U=G3,params:B={},placeholder:j="none",placeholderOptions:_={},lazy:H=!0,priority:O=!1,loading:L=O?"eager":O$,decoding:F=H$,fetchpriority:V,objectFit:R,objectPosition:A,crossorigin:N,referrerpolicy:M}=$,T=$.class,k=$.style,D=$.id,I=$.data||{},{isDev:S=!1,baseUrl:b=""}=X;if(S&&!X.optimize)return IU($);let y,v,f=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!O)try{y=await YJ(Y,{strategy:j,..._}),v=JJ(f,y,_)}catch{}let x=K!==void 0&&Q!==void 0,p;if(x)p=kU($,f,y,X);else p=await MU($,f,y,X);let l;if(O){let A0=z.includes("webp")?"webp":z[0],s=iX(Y,W,{...B,q:U},A0),c=typeof q==="object"?nX(q):q||"100vw";l=`<link rel="preload" as="image" imagesrcset="${s}" imagesizes="${c}" />`}let T0=[];if(!NJ&&j!=="none")T0.push(aX),NJ=!0;if(v)T0.push(v);let W0=H?MJ(f):void 0;return{html:p,preloadLink:l,css:T0.length>0?T0.join(`
|
|
10652
|
+
`):void 0,script:W0}}async function MU($,X,Z,J){let{src:Y,alt:G,width:Q,height:w,sizes:q,widths:W=S5,formats:K=d7,quality:z=G3,params:U={},lazy:B=!0,priority:j=!1,loading:_=j?"eager":O$,decoding:H=H$,fetchpriority:O,objectFit:L,objectPosition:F,crossorigin:V,referrerpolicy:R}=$,A=$.class,N=$.style,M=$.data||{},T=typeof q==="object"?nX(q):q||"100vw",k=[];for(let S of K){let b=iX(Y,W,{...U,q:z},S),y=rX(S);if(B&&!j)k.push(` <source type="${y}" data-srcset="${b}" data-sizes="${T}" />`);else k.push(` <source type="${y}" srcset="${b}" sizes="${T}" />`)}let D=Q3({src:m7(Y,{...U,q:z}),alt:G,width:Q,height:w,loading:j?void 0:_,decoding:H,fetchpriority:j?"high":O,objectFit:L,objectPosition:F,crossorigin:V,referrerpolicy:R,className:TJ(A,Z),style:w3(N,L,F,Z),lazy:B&&!j,data:M}),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}">
|
|
10544
10653
|
<picture>
|
|
10545
10654
|
${k.join(`
|
|
10546
10655
|
`)}
|
|
10547
|
-
<img ${
|
|
10656
|
+
<img ${D} />
|
|
10548
10657
|
</picture>
|
|
10549
10658
|
</div>`}else I=`<picture${X?` id="${X}"`:""}>
|
|
10550
10659
|
${k.join(`
|
|
10551
10660
|
`)}
|
|
10552
|
-
<img ${
|
|
10553
|
-
</picture>`;return I}function
|
|
10554
|
-
<img ${
|
|
10555
|
-
</div>`}return`<img ${X?`id="${X}" `:""}${
|
|
10661
|
+
<img ${D} />
|
|
10662
|
+
</picture>`;return I}function kU($,X,Z,J){let{src:Y,alt:G,width:Q,height:w,dpr:q=[1,2,3],quality:W=G3,params:K={},lazy:z=!0,priority:U=!1,loading:B=U?"eager":O$,decoding:j=H$,fetchpriority:_,objectFit:H,objectPosition:O,crossorigin:L,referrerpolicy:F}=$,V=$.class,R=$.style,A=$.data||{},N=typeof Q==="number"?Q:Number.parseInt(String(Q),10),M=ZJ(Y,N,q,{...K,q:W}),T=Q3({src:m7(Y,{...K,w:N,q:W}),alt:G,width:Q,height:w,loading:U?void 0:B,decoding:j,fetchpriority:U?"high":_,objectFit:H,objectPosition:O,crossorigin:L,referrerpolicy:F,className:TJ(V,Z),style:w3(R,H,O,Z),lazy:z&&!U,data:A}),k=z&&!U?`data-srcset="${M}"`:`srcset="${M}"`;if(Z){let D=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${X}" class="stx-img-placeholder" style="${D}">
|
|
10663
|
+
<img ${T} ${k} />
|
|
10664
|
+
</div>`}return`<img ${X?`id="${X}" `:""}${T} ${k} />`}function IU($){let{src:X,alt:Z,width:J,height:Y,loading:G=O$,decoding:Q=H$,fetchpriority:w,objectFit:q,objectPosition:W,crossorigin:K,referrerpolicy:z,priority:U=!1}=$,B=$.class,j=$.style,_=$.id,H=$.data||{};return{html:`<img ${Q3({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:w3(j,q,W),id:_,data:H})} />`}}function Q3($){let X=[];if($.lazy)X.push(`data-src="${Z1($.src)}"`),X.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else X.push(`src="${Z1($.src)}"`);if(X.push(`alt="${Z1($.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="${Z1($.className)}"`);if($.style)X.push(`style="${Z1($.style)}"`);if($.id)X.push(`id="${Z1($.id)}"`);if($.data)for(let[Z,J]of Object.entries($.data))X.push(`data-${Z}="${Z1(J)}"`);if($.lazy)X.push("data-stx-lazy");return X.join(" ")}function TJ($,X){let Z=[];if($)Z.push($);if(X)Z.push("stx-img-blur");return Z.join(" ")||""}function w3($,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 Z1($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function MJ($){return`
|
|
10556
10665
|
(function() {
|
|
10557
10666
|
const container = document.getElementById('${$}');
|
|
10558
10667
|
if (!container) return;
|
|
@@ -10589,22 +10698,22 @@ ${k.join(`
|
|
|
10589
10698
|
|
|
10590
10699
|
observer.observe(container);
|
|
10591
10700
|
})();
|
|
10592
|
-
`.trim()}async function
|
|
10701
|
+
`.trim()}async function EU($,X){let Z=await TU();if(!Z)return _$({...$,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 kJ($,G,X)}else{let G=await Z.processImage($.src,$,J);if(G.processed)return q3($,G,X)}return _$({...$,process:!1},X)}async function q3($,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)}`,_=$.data||{},H=X.variants||[],O=H.find((v)=>v.format==="jpeg")||H.find((v)=>v.format==="webp")||H[0],L=O?.url||$.src,F=H.filter((v)=>v.format===(O?.format||"jpeg")).map((v)=>`${v.url} ${v.width}w`).join(", "),V=new Map;for(let v of H){if(!V.has(v.format))V.set(v.format,[]);V.get(v.format).push(v)}let R=[],A=["avif","webp","jpeg","png"];for(let v of A){let f=V.get(v);if(f&&f.length>0){let x=f.map((l)=>`${l.url} ${l.width}w`).join(", "),p=rX(v);if(Q&&!w)R.push(` <source type="${p}" data-srcset="${x}" />`);else R.push(` <source type="${p}" srcset="${x}" />`)}}let N=[];if(Q&&!w){if(N.push(`data-src="${Z1(L)}"`),N.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),F)N.push(`data-srcset="${F}"`)}else if(N.push(`src="${Z1(L)}"`),F)N.push(`srcset="${F}"`);N.push(`alt="${Z1(J)}"`);let M=Y||X.originalWidth,T=G||X.originalHeight;if(M)N.push(`width="${M}"`);if(T)N.push(`height="${T}"`);if(!w)N.push(`loading="${Q?"lazy":"eager"}"`);if(N.push('decoding="async"'),w)N.push('fetchpriority="high"');if(K)N.push(`crossorigin="${K}"`);if(z)N.push(`referrerpolicy="${z}"`);let k=[];if(q)k.push(`object-fit: ${q}`);if(W)k.push(`object-position: ${W}`);if(X.placeholder&&Q)k.push("opacity: 0; transition: opacity 300ms ease-out");if(B)k.push(B);if(k.length>0)N.push(`style="${k.join("; ")}"`);let D=[];if(U)D.push(U);if(X.placeholder)D.push("stx-img-blur");if(D.length>0)N.push(`class="${D.join(" ")}"`);if(Q&&!w)N.push("data-stx-lazy");for(let[v,f]of Object.entries(_))N.push(`data-${v}="${Z1(f)}"`);let I;if(X.placeholder||X.dominantColor&&$.useDominantColor){let v=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="${v}">
|
|
10593
10702
|
<picture>
|
|
10594
|
-
${
|
|
10703
|
+
${R.join(`
|
|
10595
10704
|
`)}
|
|
10596
10705
|
<img ${N.join(" ")} />
|
|
10597
10706
|
</picture>
|
|
10598
10707
|
</div>`}else I=`<picture${j?` id="${j}"`:""}>
|
|
10599
|
-
${
|
|
10708
|
+
${R.join(`
|
|
10600
10709
|
`)}
|
|
10601
10710
|
<img ${N.join(" ")} />
|
|
10602
|
-
</picture>`;let S=[];if(X.placeholder)S.push(
|
|
10603
|
-
`):void 0,script:b}}async function
|
|
10711
|
+
</picture>`;let S=[];if(X.placeholder)S.push(aX);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(`
|
|
10712
|
+
`):void 0,script:b}}async function kJ($,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 q3($,J,Z)}var RJ=!1,G3=80,H$="async",O$="lazy",NJ=!1;var IJ=E(()=>{oX();GJ()});function DU(){return Q$({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}=yU($,X,Z);if(!Y)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let w={src:Y,alt:G||"",widths:Q.widths||S5,formats:Q.formats||d7,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 _$(w,{isDev:q}),K=W.html;if(W.preloadLink)K=W.preloadLink+`
|
|
10604
10713
|
`+K;if(W.css)K+=`
|
|
10605
10714
|
<style>${W.css}</style>`;if(W.script)K+=`
|
|
10606
|
-
<script>${W.script}</script>`;return K},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function
|
|
10607
|
-
`)}async function
|
|
10715
|
+
<script>${W.script}</script>`;return K},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function yU($,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=bU(J),G=W3(Y[0],Z)||"",Q=W3(Y[1],Z)||"",w={};if(Y[2]){let q=W3(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 bU($){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 W3($,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 EJ;var DJ=E(()=>{pX();IJ();oX();EJ=DU()});class F${config;constructor($={}){this.config={...SU,...$}}async get($,X){return q$($,X,"video",this.config)}async set($,X,Z){return W$($,X,Z,"video",this.config)}async clear(){return K$("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function K3($){if(!L$)L$=new F$($);else if($)L$.updateConfig($);return L$}async function V$($,X,Z){let J=Z?{directory:`${Z.outputDir}/../.cache`}:{};return K3(J).get($,X)}async function A$($,X,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return K3(Y).set($,X,Z)}async function yJ(){return K3().clear()}var SU,L$=null;var z3=E(()=>{$3();SU={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as U3,basename as j3,extname as B3,join as R$}from"path";import{mkdir as _3}from"fs/promises";async function H3(){try{return await import("ts-videos")}catch{return null}}async function N$($,X,Z,J){let Y=await H3();if(!Y)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let G=U3($);if(!await b0(G))return null;await _3(Z,{recursive:!0});let Q=await x0(G),w=j3($,B3($)),q=X.format||"webp",W=X.timestamp||0,K=`${w}-poster-${Q}.${q}`,z=R$(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 T$($,X,Z,J){let Y=await H3();if(!Y)return[];try{let G=U3($);if(!await b0(G))return[];await _3(Z,{recursive:!0});let Q=await x0(G),w=j3($,B3($)),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 H=0;H<U&&H*B<z;H++)j.push(H*B);let _=await Y.extractThumbnails(G,{timestamps:j,width:X.width||320,format:q,quality:X.quality||80,outputDir:Z,outputPattern:`${w}-thumb-${Q}`});if(_&&_.length>0)return _.map((H,O)=>({path:H.path||R$(Z,`${w}-thumb-${Q}-${O}.${q}`),url:`${J}/${w}-thumb-${Q}-${O}.${q}`,width:H.width||X.width||320,height:H.height||180,timestamp:j[O],size:H.size||0}));return[]}catch(G){return console.warn(`[stx-media] Failed to generate thumbnails: ${G}`),[]}}async function bJ($,X,Z,J){let Y=await H3();if(!Y)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let G=U3($);if(!await b0(G))return null;await _3(Z,{recursive:!0});let Q=await x0(G),w=j3($,B3($)),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,_=X.format||"jpeg",H=Math.ceil(K/U),O=Math.ceil(H/z),L=`${w}-sprite-${Q}.${_}`,F=R$(Z,L),V=[];for(let A=0;A<H;A++)V.push(A*U);let R=await Y.extractThumbnails(G,{timestamps:V,width:B,height:j,format:_,quality:X.quality||70,outputDir:R$(Z,".temp")});if(!R||R.length===0)return null;try{let A=await import("ts-images"),N=z*B,M=O*j,T=await A.createSprite({images:R.map((k)=>k.path),columns:z,padding:0,outputPath:F,format:_,quality:X.quality||70});return{url:`${J}/${L}`,path:F,columns:z,rows:O,thumbnailWidth:B,thumbnailHeight:j,interval:U,totalFrames:H}}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 O3=E(()=>{Z5()});import{resolve as CJ,basename as PJ,extname as vJ,join as J5}from"path";import{mkdir as M$,writeFile as xJ}from"fs/promises";async function fJ(){try{return await import("ts-videos")}catch{return null}}async function k$($,X,Z,J,Y){let G=await fJ();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let Q=CJ($);if(!await b0(Q))return null;let w=await x0(Q),q=PJ($,vJ($)),W=J5(Z,`${q}-${w}-hls`);await M$(W,{recursive:!0});let K=X.length>0?X:gJ,z=Y?.segmentDuration||6,j=(await new G.Input(Q).getInfo()).duration||0,_=[],H=0;for(let F of K){let V=J5(W,F.label);await M$(V,{recursive:!0});let R=`${F.label}.m3u8`,A=J5(V,R);try{let N=await G.generateHLS(Q,{outputDir:V,segmentDuration:z,width:F.width,height:F.height,videoBitrate:F.bitrate,audioBitrate:F.audioBitrate,playlistName:F.label});if(N)_.push({quality:F,url:`${J}/${q}-${w}-hls/${F.label}/${R}`,path:A}),H+=N.segmentCount||Math.ceil(j/z)}catch(N){console.warn(`[stx-media] Failed to generate HLS for ${F.label}: ${N}`)}}if(_.length===0)return null;let O=J5(W,"master.m3u8"),L=CU(_,J,q,w);return await xJ(O,L),{manifestUrl:`${J}/${q}-${w}-hls/master.m3u8`,manifestPath:O,playlists:_,segmentCount:H,duration:j}}catch(Q){return console.warn(`[stx-media] Failed to generate HLS manifest: ${Q}`),null}}function CU($,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(`
|
|
10716
|
+
`)}async function I$($,X,Z,J,Y){let G=await fJ();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let Q=CJ($);if(!await b0(Q))return null;let w=await x0(Q),q=PJ($,vJ($)),W=J5(Z,`${q}-${w}-dash`);await M$(W,{recursive:!0});let K=X.length>0?X:gJ,z=Y?.segmentDuration||4,U=Y?.minBufferTime||2,_=(await new G.Input(Q).getInfo()).duration||0,H=[],O=[];for(let R of K){let A=J5(W,R.label);await M$(A,{recursive:!0});try{if(await G.generateDASH(Q,{outputDir:A,segmentDuration:z,width:R.width,height:R.height,videoBitrate:R.bitrate,audioBitrate:R.audioBitrate})){if(H.push({bandwidth:R.bitrate,width:R.width,height:R.height||Math.round(R.width*9/16),url:`${J}/${q}-${w}-dash/${R.label}/video`}),R.audioBitrate)O.push({bandwidth:R.audioBitrate,url:`${J}/${q}-${w}-dash/${R.label}/audio`})}}catch(N){console.warn(`[stx-media] Failed to generate DASH for ${R.label}: ${N}`)}}if(H.length===0)return null;let L=J5(W,"manifest.mpd"),F=PU(H,O,_,z,U);await xJ(L,F);let V=[{type:"video",representations:H}];if(O.length>0)V.push({type:"audio",representations:O});return{manifestUrl:`${J}/${q}-${w}-dash/manifest.mpd`,manifestPath:L,adaptationSets:V,duration:_}}catch(Q){return console.warn(`[stx-media] Failed to generate DASH manifest: ${Q}`),null}}function PU($,X,Z,J,Y){let G=SJ(Z),Q=SJ(Y),w=`<?xml version="1.0" encoding="UTF-8"?>
|
|
10608
10717
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
|
|
10609
10718
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
10610
10719
|
xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
|
|
@@ -10630,11 +10739,11 @@ ${A.join(`
|
|
|
10630
10739
|
</Representation>
|
|
10631
10740
|
`}w+=` </AdaptationSet>
|
|
10632
10741
|
`}return w+=` </Period>
|
|
10633
|
-
</MPD>`,w}function
|
|
10742
|
+
</MPD>`,w}function SJ($){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 gJ;var L3=E(()=>{Z5();gJ=[{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 hJ,basename as vU,extname as xU,join as fU}from"path";import{mkdir as gU}from"fs/promises";async function uJ(){try{return await import("ts-videos")}catch{return null}}function hU($){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 uU($){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 F3($){let X=await uJ();if(!X)return null;try{let Z=hJ($),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 dJ($,X,Z,J){let Y=await uJ();if(!Y)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let G=await V$($,X,Z);if(G)return G;try{let Q=hJ($);if(!await b0(Q))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let w=Z.outputDir||"dist/videos",q=Z.baseUrl||"/videos";await gU(w,{recursive:!0});let W=await x0(Q),K=vU($,xU($)),z={src:$,processed:!0,hash:W};J?.({percentage:5,stage:"analyzing"}),z.metadata=await F3(Q)||void 0;let U={};if(X.quality)U.bitrate=hU(X.quality);if(X.platform)Object.assign(U,uU(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=fU(w,B);try{let _=await dU(Q,j,U,Y,(H)=>J?.({percentage:10+H*0.5,stage:"transcoding"}));if(_)z.transcoded={path:j,url:`${q}/${B}`,duration:_.duration,size:_.size,video:{codec:U.codec||"h264",width:_.width,height:_.height,bitrate:_.bitrate,frameRate:_.frameRate},audio:_.audioCodec?{codec:U.audioCodec||"aac",bitrate:U.audioBitrate||128000,sampleRate:U.sampleRate||48000,channels:U.channels||2}:void 0}}catch(_){z.errors=z.errors||[],z.errors.push(`Transcoding failed: ${_}`)}}if(X.generatePoster){J?.({percentage:65,stage:"generating-poster"});let B=typeof X.generatePoster==="object"?X.generatePoster:{timestamp:0},j=await N$(Q,B,w,q);if(j)z.poster=j}if(Z.thumbnails?.enabled){J?.({percentage:70,stage:"generating-thumbnails"});let B=await T$(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 k$(Q,B.qualities||Z.streaming?.defaultQualities||[],w,q);if(j)z.streaming={...z.streaming,hls:j}}if(B.format==="dash"){let j=await I$(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 A$($,X,z,Z),z}catch(Q){return{src:$,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function dU($,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 mJ=E(()=>{Z5();z3();O3();L3()});var lJ={};t(lJ,{setCachedVideoResult:()=>A$,processVideo:()=>dJ,getCachedVideoResult:()=>V$,generateThumbnails:()=>T$,generateSpriteSheet:()=>bJ,generatePoster:()=>N$,generateHLSManifest:()=>k$,generateDASHManifest:()=>I$,clearVideoCache:()=>yJ,analyzeVideo:()=>F3,VideoProcessorCache:()=>F$});var cJ=E(()=>{mJ();O3();L3();z3()});async function iJ(){try{return await Promise.resolve().then(() => (cJ(),lJ))}catch($){if(!pJ)console.warn("[stx-media] Video processor not available, some features disabled:",$),pJ=!0;return null}}async function E$($,X={}){let Z=X,J=$;if(J.process&&!J.skipProcessing){if(Z.tsVideosConfig?.enabled&&!Z.isDev)return nU(J,Z)}if(Z.processedResult?.processed)return sJ($,Z.processedResult,X);let Y;if(J.generatePoster&&J.src&&!$.poster)Y=await rU(J,Z);let{src:G,sources:Q=[],poster:w,posterPlaceholder:q,controls:W=nJ,autoplay:K=!1,muted:z=!1,loop:U=!1,preload:B=rJ,playsinline:j=!0,lazy:_=!0,player:H="native",type:O,width:L,height:F,crossorigin:V,disablePictureInPicture:R=!1,disableRemotePlayback:A=!1}=$,N=Y||w,M=$.class,T=$.style,k=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(H==="ts-video")return cU($,X);if(O&&O!=="video")return lU(G||"",O,$);let D=Q.length>0?Q:G?[{src:G,type:oJ(G)}]:[],I=[`id="${k}"`];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(R)I.push("disablepictureinpicture");if(A)I.push("disableremoteplayback");if(V)I.push(`crossorigin="${V}"`);if(_){if(I.push(`data-preload="${B}"`),I.push('preload="none"'),N)I.push(`data-poster="${E0(N)}"`);I.push("data-stx-lazy")}else if(I.push(`preload="${B}"`),N)I.push(`poster="${E0(N)}"`);if(L)I.push(`width="${L}"`);if(F)I.push(`height="${F}"`);if(M)I.push(`class="${E0(M)}"`);if(T)I.push(`style="${E0(T)}"`);let S=D.map((v)=>{return` <source ${_?`data-src="${E0(v.src)}"`:`src="${E0(v.src)}"`} type="${v.type}"${v.media?` media="${v.media}"`:""} />`}).join(`
|
|
10634
10743
|
`),b=`<video ${I.join(" ")}>
|
|
10635
10744
|
${S}
|
|
10636
10745
|
Your browser does not support the video tag.
|
|
10637
|
-
</video>`,
|
|
10746
|
+
</video>`,y;if(_)y=`
|
|
10638
10747
|
(function() {
|
|
10639
10748
|
var video = document.getElementById('${k}');
|
|
10640
10749
|
if (!video) return;
|
|
@@ -10669,20 +10778,20 @@ ${S}
|
|
|
10669
10778
|
|
|
10670
10779
|
observer.observe(video);
|
|
10671
10780
|
})();
|
|
10672
|
-
`.trim();return{html:b,script:
|
|
10781
|
+
`.trim();return{html:b,script:y}}function lU($,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=pU($),q=W?`https://www.youtube-nocookie.com/embed/${W}`:$;break;case"vimeo":W=iU($),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="${E0(q)}"`,`width="${J}"`,`height="${Y}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(G)K.push(`class="${E0(G)}"`);if(Q)K.push(`style="${E0(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;">
|
|
10673
10782
|
<iframe ${K.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
|
|
10674
|
-
</div>`}}function
|
|
10783
|
+
</div>`}}function cU($,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,_=$.style,H=$.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,O={src:J.length>0?J:Z,autoplay:Q,loop:q,muted:w,playsinline:K,preload:W,poster:Y,controls:G,title:$.title},L=["position: relative",U?`width: ${typeof U==="number"?U+"px":U}`:"width: 100%",B?`height: ${typeof B==="number"?B+"px":B}`:"",_||""].filter(Boolean).join("; "),F=`
|
|
10675
10784
|
<div
|
|
10676
10785
|
id="${H}"
|
|
10677
|
-
class="ts-video-player${j?" "+
|
|
10678
|
-
style="${
|
|
10786
|
+
class="ts-video-player${j?" "+E0(j):""}"
|
|
10787
|
+
style="${L}"
|
|
10679
10788
|
data-ts-video-player
|
|
10680
|
-
data-config='${JSON.stringify(
|
|
10789
|
+
data-config='${JSON.stringify(O)}'
|
|
10681
10790
|
${z?"data-lazy":""}
|
|
10682
10791
|
>
|
|
10683
10792
|
<div class="ts-video-player__container">
|
|
10684
10793
|
${Y?`
|
|
10685
|
-
<div class="ts-video-player__placeholder" style="background-image: url('${
|
|
10794
|
+
<div class="ts-video-player__placeholder" style="background-image: url('${E0(Y)}');">
|
|
10686
10795
|
<button class="ts-video-player__play-button" aria-label="Play video">
|
|
10687
10796
|
<svg viewBox="0 0 24 24" fill="currentColor" width="64" height="64">
|
|
10688
10797
|
<path d="M8 5v14l11-7z"/>
|
|
@@ -10708,7 +10817,7 @@ ${S}
|
|
|
10708
10817
|
|
|
10709
10818
|
// Load ts-video-player from CDN
|
|
10710
10819
|
var script = document.createElement('script');
|
|
10711
|
-
script.src = '${
|
|
10820
|
+
script.src = '${mU}';
|
|
10712
10821
|
script.onload = initPlayer;
|
|
10713
10822
|
script.onerror = function() {
|
|
10714
10823
|
console.error('[stx] Failed to load ts-video-player');
|
|
@@ -10786,7 +10895,7 @@ else {
|
|
|
10786
10895
|
});
|
|
10787
10896
|
}
|
|
10788
10897
|
})();
|
|
10789
|
-
`.trim(),
|
|
10898
|
+
`.trim(),R=`
|
|
10790
10899
|
.ts-video-player {
|
|
10791
10900
|
position: relative;
|
|
10792
10901
|
background: #000;
|
|
@@ -10838,14 +10947,14 @@ else {
|
|
|
10838
10947
|
.ts-video-player__play-button svg {
|
|
10839
10948
|
margin-left: 4px;
|
|
10840
10949
|
}
|
|
10841
|
-
`.trim();return{html:F,script:V,css:
|
|
10950
|
+
`.trim();return{html:F,script:V,css:R}}function oJ($){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 pU($){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 iU($){let X=$.match(/vimeo\.com\/(\d+)/);return X?X[1]:null}function E0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'")}async function nU($,X){let Z=await iJ();if(!Z)return E$({...$,process:!1},X);let J=X.tsVideosConfig,Y=await Z.processVideo($.src,$,J,$.onProcessProgress);if(Y.processed)return sJ($,Y,X);return E$({...$,process:!1},X)}async function rU($,X){let Z=await iJ();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 sJ($,X,Z){let{controls:J=nJ,autoplay:Y=!1,muted:G=!1,loop:Q=!1,preload:w=rJ,playsinline:q=!0,lazy:W=!0,width:K,height:z,crossorigin:U,disablePictureInPicture:B=!1,disableRemotePlayback:j=!1}=$,_=$.class,H=$.style,O=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,L=$.src,F=oJ(L);if(X.transcoded)L=X.transcoded.url,F="video/mp4";let V=X.streaming?.hls||X.streaming?.dash;if(V){if(X.streaming?.hls)L=X.streaming.hls.manifestUrl,F="application/x-mpegURL";else if(X.streaming?.dash)L=X.streaming.dash.manifestUrl,F="application/dash+xml"}let R=X.poster?.url||$.poster,A=[`id="${O}"`];if(J)A.push("controls");if(Y)A.push("autoplay");if(G)A.push("muted");if(Q)A.push("loop");if(q)A.push("playsinline");if(B)A.push("disablepictureinpicture");if(j)A.push("disableremoteplayback");if(U)A.push(`crossorigin="${U}"`);if(W){if(A.push(`data-preload="${w}"`),A.push('preload="none"'),R)A.push(`data-poster="${E0(R)}"`);A.push("data-stx-lazy")}else if(A.push(`preload="${w}"`),R)A.push(`poster="${E0(R)}"`);let N=K||X.metadata?.width,M=z||X.metadata?.height;if(N)A.push(`width="${N}"`);if(M)A.push(`height="${M}"`);if(_)A.push(`class="${E0(_)}"`);if(H)A.push(`style="${E0(H)}"`);let k=` <source ${W?`data-src="${E0(L)}"`:`src="${E0(L)}"`} type="${F}" />`,D=`<video ${A.join(" ")}>
|
|
10842
10951
|
${k}
|
|
10843
10952
|
Your browser does not support the video tag.
|
|
10844
|
-
</video>`;if(X.spriteSheet)
|
|
10845
|
-
${
|
|
10953
|
+
</video>`;if(X.spriteSheet)D=`<div class="stx-video-wrapper" data-sprite-sheet="${E0(X.spriteSheet.url)}" data-sprite-cols="${X.spriteSheet.columns}" data-sprite-interval="${X.spriteSheet.interval}">
|
|
10954
|
+
${D}
|
|
10846
10955
|
</div>`;let I;if(W)I=`
|
|
10847
10956
|
(function() {
|
|
10848
|
-
var video = document.getElementById('${
|
|
10957
|
+
var video = document.getElementById('${O}');
|
|
10849
10958
|
if (!video) return;
|
|
10850
10959
|
|
|
10851
10960
|
var observer = new IntersectionObserver(function(entries) {
|
|
@@ -10887,9 +10996,9 @@ ${y}
|
|
|
10887
10996
|
width: 100%;
|
|
10888
10997
|
height: auto;
|
|
10889
10998
|
}
|
|
10890
|
-
`.trim();return{html:
|
|
10999
|
+
`.trim();return{html:D,script:I,css:S}}var pJ=!1,nJ=!0,rJ="metadata",mU="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var aJ=E(()=>{A3()});function tJ(){return Q$({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}=oU($,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 E$(Q,q),K=W.html;if(W.css)K+=`
|
|
10891
11000
|
<style>${W.css}</style>`;if(W.script)K+=`
|
|
10892
|
-
<script>${W.script}</script>`;return K},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function
|
|
11001
|
+
<script>${W.script}</script>`;return K},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function oU($,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=sU(J),G=eJ(Y[0],Z)||"",Q={};if(Y[1]){let w=eJ(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 sU($){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 eJ($,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 V3;var A3=E(()=>{pX();aJ();V3=tJ()});function aU($,X){let Z=X.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
|
|
10893
11002
|
${$}
|
|
10894
11003
|
</div>
|
|
10895
11004
|
<script>
|
|
@@ -10934,7 +11043,7 @@ ${y}
|
|
|
10934
11043
|
}
|
|
10935
11044
|
}
|
|
10936
11045
|
})();
|
|
10937
|
-
</script>`}function
|
|
11046
|
+
</script>`}function tU($,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=`
|
|
10938
11047
|
<div class="stx-pwa-update-banner" style="
|
|
10939
11048
|
position: fixed;
|
|
10940
11049
|
bottom: 0;
|
|
@@ -11045,7 +11154,7 @@ else {
|
|
|
11045
11154
|
// Also listen for custom event
|
|
11046
11155
|
window.addEventListener('pwa-update-available', showUpdate);
|
|
11047
11156
|
})();
|
|
11048
|
-
</script>`}function
|
|
11157
|
+
</script>`}function eU($,X){let Z=$.trim().length>0,J=`
|
|
11049
11158
|
<div class="stx-offline-indicator" style="
|
|
11050
11159
|
position: fixed;
|
|
11051
11160
|
top: 16px;
|
|
@@ -11106,7 +11215,7 @@ else {
|
|
|
11106
11215
|
window.addEventListener('offline', updateStatus);
|
|
11107
11216
|
updateStatus();
|
|
11108
11217
|
})();
|
|
11109
|
-
</script>`}function
|
|
11218
|
+
</script>`}function $j($,X){let Z=X.pwa?.push,J=Z?.vapidPublicKey||"",Y=Z?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
|
|
11110
11219
|
${$}
|
|
11111
11220
|
</div>
|
|
11112
11221
|
<script>
|
|
@@ -11188,72 +11297,72 @@ catch (error) {
|
|
|
11188
11297
|
init();
|
|
11189
11298
|
}
|
|
11190
11299
|
})();
|
|
11191
|
-
</script>`}var
|
|
11192
|
-
${$.message}`),X&&$.line){let G=
|
|
11300
|
+
</script>`}var Xj,Zj,Jj,Yj,$Y;var XY=E(()=>{Xj={name:"pwa.installButton",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return aU($,Y)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},Zj={name:"pwa.updatePrompt",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return tU($,Y)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},Jj={name:"pwa.offlineIndicator",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return eU($,Y)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},Yj={name:"pwa.pushSubscribe",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return $j($,Y)},hasEndTag:!0,description:"Renders a push notification subscription button"},$Y=[Xj,Zj,Jj,Yj]});function R3($){for(let[X,Z]of Object.entries(a))if(Z===$)return X;return}var a;var D$=E(()=>{a={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 l7(){return!1}function c7(){return!l7()||process.env.STX_DEBUG==="true"}function y$(){return!1}import Gj from"path";function b$(){return{...N3}}function S$($){if(!N3.showRelativePaths||!$)return $;let X=N3.baseDir||process.cwd();try{let Z=Gj.relative(X,$);return Z.startsWith("..")?$:Z}catch{return $}}var Qj,N3,C$,Y5,P$;var v$=E(()=>{D$();Qj={showRelativePaths:!1,enableAutoRecovery:c7(),logRecoveryWarnings:!0},N3={...Qj};C$=class C$ 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||a.EVALUATION_ERROR,this.filePath)this.filePath=S$(this.filePath)}};Y5=class Y5 extends C${constructor($,X,Z,J,Y,G){super($,"stx_RUNTIME_ERROR",X,Z,J,Y,G||a.EVALUATION_ERROR);this.name="StxRuntimeError"}};P$=class P$ extends C${isFatal=!0;constructor($,X,Z,J,Y,G){super($,"stx_VALIDATION_ERROR",X,Z,J,Y,G||a.DOM_API_VIOLATION);this.name="StxValidationError"}}});function JY($){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 L=Uj(w,q);U=L.line,B=L.column}let j=Y?S$(Y):void 0,_=J?R3(J):void 0,H={type:X,code:J,codeName:_,message:Z,filePath:j,line:U,column:B,snippet:W,suggestion:K,timestamp:new Date().toISOString()},O;switch(z){case"html":O=qj(H);break;case"json":O=JSON.stringify(H,null,2);break;case"console":O=Wj(H,w,q);break;case"text":default:O=wj(H,w,q);break}return{formatted:O,data:H}}function wj($,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(`
|
|
11301
|
+
${$.message}`),X&&$.line){let G=Kj(X,$.line,2);if(G)J.push(`
|
|
11193
11302
|
${G}`)}if($.snippet)J.push(`
|
|
11194
11303
|
Snippet: ${$.snippet}`);if($.suggestion)J.push(`
|
|
11195
|
-
Suggestion: ${$.suggestion}`);return J.join(" ")}function
|
|
11304
|
+
Suggestion: ${$.suggestion}`);return J.join(" ")}function qj($){let X=$.code?` [${$.code}]`:"",Z=$.filePath?` in ${$.filePath}${$.line?`:${$.line}`:""}`:"",J=`<!-- [${$.type} Error${X}]${Z}: ${ZY($.message)}`;if($.suggestion)J+=` | Suggestion: ${ZY($.suggestion)}`;return J+=" -->",J}function Wj($,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(`
|
|
11196
11305
|
\x1B[90mat\x1B[0m ${z}`)}if(W.push(`
|
|
11197
11306
|
|
|
11198
|
-
${$.message}`),X&&$.line){let z=
|
|
11307
|
+
${$.message}`),X&&$.line){let z=zj(X,$.line,2);if(z)W.push(`
|
|
11199
11308
|
|
|
11200
11309
|
\x1B[90mContext:\x1B[0m
|
|
11201
11310
|
${z}`)}if($.suggestion)W.push(`
|
|
11202
11311
|
|
|
11203
11312
|
\x1B[33mSuggestion:\x1B[0m ${$.suggestion}`);return W.push(`
|
|
11204
|
-
${"\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
|
|
11313
|
+
${"\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 Kj($,X,Z){let J=$.split(`
|
|
11205
11314
|
`),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(`
|
|
11206
|
-
`)}function
|
|
11315
|
+
`)}function zj($,X,Z){let J=$.split(`
|
|
11207
11316
|
`),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(`
|
|
11208
|
-
`)}function
|
|
11209
|
-
`);return{line:J.length,column:J[J.length-1].length}}function Z0($,X,Z){return
|
|
11317
|
+
`)}function ZY($){return $.replace(/--/g,"- -").replace(/>/g,">")}function Uj($,X){let J=$.substring(0,X).split(`
|
|
11318
|
+
`);return{line:J.length,column:J[J.length-1].length}}function Z0($,X,Z){return JY({type:$,message:X,code:Z,format:"html"}).formatted}async function P5($,X,Z){try{return await $()}catch(J){if(Z&&J instanceof Error)Z(J);return X}}var YY=E(()=>{D$();v$()});class M3{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(`
|
|
11210
11319
|
`).slice(1).join(`
|
|
11211
11320
|
`)}`);if($.context)X.push(` Context: ${JSON.stringify($.context)}`);return X.join(`
|
|
11212
11321
|
`)}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($)}
|
|
11213
11322
|
`;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(`
|
|
11214
11323
|
|
|
11215
|
-
`),"utf-8")}}async flush(){await this.writeQueue}}var
|
|
11216
|
-
@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(
|
|
11217
|
-
`)}}});var
|
|
11218
|
-
`,F+=`<meta name="title" content="${
|
|
11219
|
-
`;if(
|
|
11220
|
-
`;if(
|
|
11221
|
-
`}if(
|
|
11222
|
-
`;if(
|
|
11223
|
-
`;if(
|
|
11224
|
-
`,V.title||
|
|
11225
|
-
`}if(V.description||
|
|
11226
|
-
`}if(V.url||
|
|
11227
|
-
`}if(V.image){if(F+=`<meta property="og:image" content="${
|
|
11228
|
-
`,V.imageAlt)F+=`<meta property="og:image:alt" content="${
|
|
11229
|
-
`;if(V.imageWidth)F+=`<meta property="og:image:width" content="${
|
|
11230
|
-
`;if(V.imageHeight)F+=`<meta property="og:image:height" content="${
|
|
11231
|
-
`}if(V.siteName)F+=`<meta property="og:site_name" content="${
|
|
11232
|
-
`}if(
|
|
11233
|
-
`,V.title||
|
|
11234
|
-
`}if(V.description||
|
|
11235
|
-
`}if(V.image||
|
|
11236
|
-
`}if(V.site)F+=`<meta name="twitter:site" content="${
|
|
11237
|
-
`;if(V.creator)F+=`<meta name="twitter:creator" content="${
|
|
11238
|
-
`}if(
|
|
11239
|
-
`}return F.trim()}catch(
|
|
11324
|
+
`),"utf-8")}}async flush(){await this.writeQueue}}var T3,J1,k3;var GY=E(()=>{v$();T3={isEnabled(){return b$().enableAutoRecovery},fixCommonSyntaxErrors($){let X=b$();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+=`
|
|
11325
|
+
@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(c7())return`<!-- ${$} failed: ${X.message} -->`;return"<!-- stx rendering error -->"}};J1=new M3,k3={isDevelopment(){return c7()},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(`
|
|
11326
|
+
`)}}});var QY=()=>{};var wY=E(()=>{D$();YY();GY();QY();v$()});var V1=E(()=>{wY()});function qY($,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="${i(z)}" content="${i(W)}">`:""}return W?`<meta name="${i(q)}" content="${i(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=k0(z,X);if(!j)return"";let _="<meta";if(j.name)_+=` name="${i(String(j.name))}"`;if(j.property)_+=` property="${i(String(j.property))}"`;if(j.httpEquiv)_+=` http-equiv="${i(String(j.httpEquiv))}"`;if(j.content)_+=` content="${i(String(j.content))}"`;return _+=">",_}catch(j){let _=j instanceof Error?j.message:String(j);return Z0("MetaTag",_,a.EVALUATION_ERROR)}})();Y=Y.substring(0,w)+B+Y.substring(U),G.lastIndex=0}return Y}function WY($,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=k0(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 Z0("StructuredData",j,a.EVALUATION_ERROR)}})();J=J.substring(0,Q)+U+J.substring(z),Y.lastIndex=0}return J}function KY($,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 O=Y[W];if(z){z=!1,W++;continue}if(O==="\\"&&K){z=!0,W++;continue}if(K){if(O===K)K=null;W++;continue}if(O==='"'||O==="'"||O==="`"){K=O,W++;continue}if(O==="{")q++;else if(O==="}")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),_=Y.substring(Q.index,B),H=((O)=>{try{let L=k0(O,X);if(!L)return"";let F="";if(L.title)F+=`<title>${i(L.title)}</title>
|
|
11327
|
+
`,F+=`<meta name="title" content="${i(L.title)}">
|
|
11328
|
+
`;if(L.description)F+=`<meta name="description" content="${i(L.description)}">
|
|
11329
|
+
`;if(L.keywords){let V=Array.isArray(L.keywords)?L.keywords.join(", "):L.keywords;F+=`<meta name="keywords" content="${i(V)}">
|
|
11330
|
+
`}if(L.robots)F+=`<meta name="robots" content="${i(L.robots)}">
|
|
11331
|
+
`;if(L.canonical)F+=`<link rel="canonical" href="${i(L.canonical)}">
|
|
11332
|
+
`;if(L.openGraph){let V=L.openGraph;if(F+=`<meta property="og:type" content="${i(V.type||"website")}">
|
|
11333
|
+
`,V.title||L.title){let R=V.title||L.title||"";F+=`<meta property="og:title" content="${i(R)}">
|
|
11334
|
+
`}if(V.description||L.description){let R=V.description||L.description||"";F+=`<meta property="og:description" content="${i(R)}">
|
|
11335
|
+
`}if(V.url||L.canonical){let R=V.url||L.canonical||"";F+=`<meta property="og:url" content="${i(R)}">
|
|
11336
|
+
`}if(V.image){if(F+=`<meta property="og:image" content="${i(V.image)}">
|
|
11337
|
+
`,V.imageAlt)F+=`<meta property="og:image:alt" content="${i(V.imageAlt)}">
|
|
11338
|
+
`;if(V.imageWidth)F+=`<meta property="og:image:width" content="${i(String(V.imageWidth))}">
|
|
11339
|
+
`;if(V.imageHeight)F+=`<meta property="og:image:height" content="${i(String(V.imageHeight))}">
|
|
11340
|
+
`}if(V.siteName)F+=`<meta property="og:site_name" content="${i(V.siteName)}">
|
|
11341
|
+
`}if(L.twitter){let V=L.twitter;if(F+=`<meta name="twitter:card" content="${i(V.card||"summary_large_image")}">
|
|
11342
|
+
`,V.title||L.title){let R=V.title||L.title||"";F+=`<meta name="twitter:title" content="${i(R)}">
|
|
11343
|
+
`}if(V.description||L.description){let R=V.description||L.description||"";F+=`<meta name="twitter:description" content="${i(R)}">
|
|
11344
|
+
`}if(V.image||L.openGraph&&L.openGraph.image){let R=V.image||(L.openGraph?L.openGraph.image:"")||"";F+=`<meta name="twitter:image" content="${i(R)}">
|
|
11345
|
+
`}if(V.site)F+=`<meta name="twitter:site" content="${i(V.site)}">
|
|
11346
|
+
`;if(V.creator)F+=`<meta name="twitter:creator" content="${i(V.creator)}">
|
|
11347
|
+
`}if(L.structuredData){let V=JSON.stringify(L.structuredData).replace(/<\//g,"<\\/");F+=`<script type="application/ld+json">${V}</script>
|
|
11348
|
+
`}return F.trim()}catch(L){let F=L instanceof Error?L.message:String(L);return Z0("SEO",`Error processing @seo directive: ${F}`,a.EVALUATION_ERROR)}})(j);Y=Y.substring(0,Q.index)+H+Y.substring(B),G.lastIndex=Q.index+H.length}return Y}function zY($,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=`
|
|
11240
11349
|
<!-- stx SEO Tags -->
|
|
11241
|
-
<meta name="title" content="${
|
|
11242
|
-
<meta name="description" content="${
|
|
11243
|
-
<meta property="og:title" content="${
|
|
11244
|
-
<meta property="og:description" content="${
|
|
11350
|
+
<meta name="title" content="${i(Q)}">
|
|
11351
|
+
<meta name="description" content="${i(w)}">
|
|
11352
|
+
<meta property="og:title" content="${i(Q)}">
|
|
11353
|
+
<meta property="og:description" content="${i(w)}">
|
|
11245
11354
|
<meta property="og:type" content="website">
|
|
11246
11355
|
<meta name="twitter:card" content="summary_large_image">
|
|
11247
|
-
<meta name="twitter:title" content="${
|
|
11248
|
-
<meta name="twitter:description" content="${
|
|
11356
|
+
<meta name="twitter:title" content="${i(Q)}">
|
|
11357
|
+
<meta name="twitter:description" content="${i(w)}">
|
|
11249
11358
|
`;if(q)W+=`
|
|
11250
|
-
<meta property="og:image" content="${
|
|
11251
|
-
<meta name="twitter:image" content="${
|
|
11359
|
+
<meta property="og:image" content="${i(q)}">
|
|
11360
|
+
<meta name="twitter:image" content="${i(q)}">
|
|
11252
11361
|
`;let K=$;if(!G)K=K.replace(/<head[^>]*>/,`$&
|
|
11253
|
-
<title>${
|
|
11362
|
+
<title>${i(Q)}</title>`);return K.replace(/<head[^>]*>/,`$&
|
|
11254
11363
|
${W}
|
|
11255
|
-
`)}function
|
|
11256
|
-
`).trim()}var
|
|
11364
|
+
`)}function i($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function BY($){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(`
|
|
11365
|
+
`).trim()}var UY,jY;var x$=E(()=>{V1();I0();UY={name:"meta",handler:($,X,Z,J)=>{if(X.length<1)return Z0("Meta","meta directive requires at least the meta name",a.INVALID_DIRECTIVE_SYNTAX);let Y=X[0].replace(/['"]/g,""),G=X.length>1?X[1].replace(/['"]/g,""):"";return`<meta name="${i(Y)}" content="${i(G)}">`},hasEndTag:!1},jY={name:"structuredData",handler:($,X,Z,J)=>{if($.trim()==="")return Z0("StructuredData","structuredData directive requires JSON-LD content",a.INVALID_DIRECTIVE_SYNTAX);try{let Y=JSON.parse($);if(!Y["@context"])Y["@context"]="https://schema.org";if(!Y["@type"])return Z0("StructuredData","structuredData requires @type property",a.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 Z0("StructuredData",G,a.EVALUATION_ERROR)}},hasEndTag:!0}});import p7 from"path";function jj($,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((H)=>H.trim().replace(/['"`]/g,"")).filter((H)=>H.length>0);let _=U.match(/shadowDOM\s*:\s*(true|false)/);if(_)Q=_[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 Bj($){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)=>`
|
|
11257
11366
|
get ${z}() {
|
|
11258
11367
|
return this.getAttribute('${z}') || '';
|
|
11259
11368
|
}
|
|
@@ -11304,16 +11413,16 @@ ${K}
|
|
|
11304
11413
|
}
|
|
11305
11414
|
|
|
11306
11415
|
customElements.define('${X}', ${Q});
|
|
11307
|
-
`}async function
|
|
11308
|
-
${
|
|
11309
|
-
</script>`}var zY=D(()=>{V1();k0()});var UY={};a(UY,{timingPlugin:()=>Uj,pluginManager:()=>qj,definePlugin:()=>x$,debugPlugin:()=>zj,createVariablesPlugin:()=>jj,createFilterPlugin:()=>Kj,createDirectivePlugin:()=>Wj,PluginManager:()=>M3});function x$($){return $}class M3{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 Wj($,X,Z={}){return{name:$,...Z,registerDirectives:()=>X}}function Kj($,X,Z={}){return{name:$,...Z,registerFilters:()=>X}}function jj($){return x$({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(X){return{context:{...X.context,...$}}}})}var qj,zj,Uj;var jY=D(()=>{qj=new M3;zj=x$({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)}}),Uj=x$({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 OY={};a(OY,{validateConfig:()=>Vj,resolveStxDirectories:()=>HY,loadStxConfig:()=>e0,defineStxConfig:()=>Fj,defaultConfig:()=>G5,config:()=>T7});import f$ from"fs";import c0 from"path";import{loadConfigWithResult as Bj}from"bunfig";function _j($,X,Z){let J=X||"pages";if($)return{root:$,pagesDir:J};let Y=Z||process.cwd(),G=c0.join(Y,"resources","views"),Q=c0.join(Y,"resources","layouts");if(f$.existsSync(G)&&f$.existsSync(Q))return{root:"resources",pagesDir:"views"};let w=c0.join(Y,"resources","views","pages");if(f$.existsSync(w))return{root:"resources/views",pagesDir:J};return{root:".",pagesDir:J}}function Hj($,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=_j($.root,$.pagesDir,X);if($.root=J.root,$.pagesDir=J.pagesDir,Z&&J.root!=="."){let Y=`${X}::${J.root}`;if(!BY.has(Y))BY.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(c0.isAbsolute(Q)||Hj(Q,Y))continue;$[G]=c0.join(Y,Q)}}return $}function Oj($,X){let Z=["componentsDir","layoutsDir","partialsDir"];for(let J of Z){let Y=$[J];if(typeof Y!=="string"||!Y)continue;let G=c0.isAbsolute(Y)?Y:c0.join(X,Y);if(f$.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 Lj($){if(N2($.stateDir),$.stateDir=O7(),$.cachePath=L7($.cachePath),$.build)$.build.cacheDir=L7($.build.cacheDir);if($.media?.cache)$.media.cache.directory=L7($.media.cache.directory);if($.story)$.story.outDir=L7($.story.outDir)}async function e0($){if(!$){if(v5)return v5;if(g$)return g$}let X=$?c0.resolve($):process.cwd(),Z=_Y.get(X);if(Z)return Z;let J=(async()=>{let G=(await Bj({name:"stx",alias:"ui",cwd:X,defaultConfig:G5,verbose:!1})).config;if(Lj(G),HY(G,X),Oj(G,X),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (jY(),UY)),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=c0.dirname(j0.resolve(K))}catch{let _=c0.resolve(process.cwd(),K);U=await import(_),B=c0.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(c0.resolve(B,H))}if(j.pages){let _=c0.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(_Y.set(X,J),!$)g$=J,J.then((Y)=>{v5=Y}).catch(()=>{});return J}function Fj($){return $}function Vj($){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 G5,BY,v5=null,_Y,g$=null,T7;var L1=D(()=>{g9();h9();u9();d9();mX();TJ();F3();sJ();v$();F7();zY();G5={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:A5,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:sZ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:KY,hasEndTag:!1,description:"Include a web component in the template"},k2,I2,wY,qY,E2,y2,b2,D2,P2,f2,NJ,L3,...oJ],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}};BY=new Set;_Y=new Map;T7=new Proxy(G5,{get($,X){if(v5&&X in v5)return v5[X];if(!g$)e0().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return $[X]}})});var NY={};a(NY,{resetCssCache:()=>Ej,resetCrosswindCache:()=>Dj,rebuildCrosswindCSS:()=>yj,loadCrosswindConfig:()=>D3,loadCrosswind:()=>E3,injectCrosswindCSS:()=>i7,getCrosswindServeAsset:()=>Nj,getCachedCSS:()=>bj,generateCrosswindCSS:()=>RY,extractClassNames:()=>AY,buildCrosswindCSS:()=>VY});import Y0 from"path";import{hasLocalConfig as Aj}from"bunfig";function u$($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function k3($,X){if(A1.has($))A1.delete($);else if(A1.size>=FY)A1.delete(A1.keys().next().value);A1.set($,X)}function Rj($){let X=u$($);if(Z1.has(X))Z1.delete(X);else if(Z1.size>=FY)Z1.delete(Z1.keys().next().value);return Z1.set(X,$),X}function Nj($){let X=Z1.get($);if(X===void 0)return;return Z1.delete($),Z1.set($,X),X}async function Tj($){if(!f1)return null;try{let X=Bun.file(Y0.join(f1,`cw-${u$($)}.css`));if(!await X.exists())return null;return await X.text()}catch{return null}}async function Mj($,X){if(!f1)return;try{if(!fs.existsSync(f1))fs.mkdirSync(f1,{recursive:!0});await Bun.write(Y0.join(f1,`cw-${u$($)}.css`),X)}catch{}}async function LY($){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 kj(){let $=[],X=process.cwd();while(X!==Y0.dirname(X))$.push(Y0.join(X,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(Y0.join(X,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(Y0.join(X,"pantry","@cwcss","crosswind","dist","index.js")),$.push(Y0.join(X,"pantry","@cwcss","crosswind","src","index.ts")),$.push(Y0.join(X,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(Y0.join(X,"pantry","@stacksjs","crosswind","dist","index.js")),X=Y0.dirname(X);return $}function Ij(){let $=[],X=process.env.HOME||process.env.USERPROFILE||"";if(X){let Z=[Y0.join(X,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),Y0.join(X,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),Y0.join(X,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),Y0.join(X,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),Y0.join(X,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),Y0.join(X,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Z)}return $.push(Y0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(Y0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function E3(){if(I3)return K1;I3=!0;try{let $=async(Y)=>{for(let G of Y){if(!await Bun.file(G).exists())continue;let Q=await LY(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} CSS engine loaded from ${Y0.dirname(Y0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let Y=Y0.resolve(process.env.CROSSWIND_SRC),G=await $([Y]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${Y}`);return K1=G,K1}let X=await $(kj());if(X)return K1=X,K1;let Z=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Y of Z){let G=await LY(Y);if(G){if(K1=G,!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} CSS engine loaded`);return K1}}let J=await $(Ij());if(J)return K1=J,K1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${H0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${H0.reset}`),console.warn(`${H0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${H0.reset}`),null}}function Ej(){A1.clear(),Z1.clear()}function Dj(){K1=null,I3=!1,J1=null,p7="",A1.clear(),Z1.clear(),h$=null}async function D3($){try{if(!Aj({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=Y0.relative($,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} Loaded config from ${J||Z.path}`);return Z.config}catch(X){if(X instanceof Error&&X.name==="ConfigNotFoundError")return null;return console.warn(`${H0.yellow}[Crosswind]${H0.reset} Failed to load crosswind config:`,X instanceof Error?X.message:X),null}}async function VY($){if(x5)return p7;x5=!0;try{let X=await E3();if(!X||!X.build)return x5=!1,"";if(!J1)J1=await D3($);if(!J1)return x5=!1,"";let Z=X.defaultConfig?.theme||{},J=J1.theme||{},Y={...X.defaultConfig,...J1,theme:{...Z,...J,extend:{...Z.extend||{},...J.extend||{}}}},G=performance.now(),Q=await X.build(Y),w=performance.now()-G;if(p7=Q.css,console.log(`${H0.cyan}[Crosswind]${H0.reset} Built ${Q.classes.size} classes in ${w.toFixed(1)}ms`),Y.output){let q=Y0.isAbsolute(Y.output)?Y.output:Y0.join($,Y.output),W=Y0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,Q.css)}return x5=!1,Q.css}catch(X){return console.error(`${H0.red}[Crosswind]${H0.reset} Build error:`,X),x5=!1,p7}}async function yj($){J1=null,await VY($)}function bj(){return p7}function AY($){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 RY($,X){try{let Z=await E3();if(!Z)return"";let J=typeof Z.extractClasses==="function"?Z.extractClasses($):AY($);if(J.size===0)return"";let Y=X?Y0.resolve(X):process.cwd();if(!f1)f1=_1(Y,"cache");let G=[...J].sort().join(" "),Q=`${h$||"default"}::${G}`,w=A1.get(Q);if(w!==void 0)return k3(Q,w),w;let q=await Tj(Q);if(q!==null)return k3(Q,q),q;if(!J1){let V=null;try{let{loadStxConfig:A}=await Promise.resolve().then(() => (L1(),OY)),R=await A(Y);if(R.css)if(typeof R.css==="string"){let N=Y0.isAbsolute(R.css)?R.css:Y0.resolve(Y,R.css);if(await Bun.file(N).exists()){let T=await import(N);V=T.default||T,console.log(`${H0.green}[Crosswind]${H0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(V={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let N=Y0.isAbsolute(R.css.config)?R.css.config:Y0.resolve(Y,R.css.config);if(await Bun.file(N).exists()){let T=await import(N);V={...T.default||T,...V}}}console.log(`${H0.green}[Crosswind]${H0.reset} Using inline CSS config from stx.config.ts`)}}catch{}J1=V||await D3(Y);try{h$=u$(JSON.stringify(J1??{}))}catch{h$="unhashable"}}let W=Z.defaultConfig||Z.config,K=J1||{},z=A2(W,K),{safelist:U,includePreflight:B,minify:j}=z,_=z.config,H=new Z.CSSGenerator(_);for(let V of U)H.generate(V);for(let V of J)H.generate(V);let L=H.toCSS(B,j),O=_.shortcuts||K.shortcuts||{};for(let[V,A]of Object.entries(O)){if(!J.has(V)&&!U.includes(V))continue;let R=A.split(/\s+/).filter(Boolean);for(let N of R)H.generate(N)}L=H.toCSS(B,j);let F=L.split(`
|
|
11310
|
-
`);for(let[V,
|
|
11311
|
-
.${V} { ${N.join(" ")} }`;if(
|
|
11312
|
-
@media (prefers-color-scheme: dark) { .dark .${V} { ${
|
|
11416
|
+
`}async function _Y($,X,Z,J){if(X.length<1)return Z0("WebComponent","@webcomponent directive requires at least the tag name parameter",a.INVALID_DIRECTIVE_SYNTAX);let Y=X[0].replace(/['"]/g,""),Q=(Z.__stx_options||{}).componentsDir||"components",w=[p7.join(p7.dirname(J),Q,`${Y}.stx`),p7.join(process.cwd(),Q,`${Y}.stx`),p7.join(p7.dirname(J),`${Y}.stx`)],q=null;for(let z of w)if(await n(z)){q=await Bun.file(z).text();break}if(!q)return Z0("WebComponent",`Component file not found: ${Y}.stx`,a.FILE_NOT_FOUND);let W=jj(q,Y);return`<script type="module">
|
|
11417
|
+
${Bj(W)}
|
|
11418
|
+
</script>`}var HY=E(()=>{V1();D0()});var OY={};t(OY,{timingPlugin:()=>Fj,pluginManager:()=>_j,definePlugin:()=>f$,debugPlugin:()=>Lj,createVariablesPlugin:()=>Vj,createFilterPlugin:()=>Oj,createDirectivePlugin:()=>Hj,PluginManager:()=>I3});function f$($){return $}class I3{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 Hj($,X,Z={}){return{name:$,...Z,registerDirectives:()=>X}}function Oj($,X,Z={}){return{name:$,...Z,registerFilters:()=>X}}function Vj($){return f$({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(X){return{context:{...X.context,...$}}}})}var _j,Lj,Fj;var LY=E(()=>{_j=new I3;Lj=f$({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)}}),Fj=f$({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 RY={};t(RY,{validateConfig:()=>Ij,resolveStxDirectories:()=>AY,loadStxConfig:()=>X1,defineStxConfig:()=>kj,defaultConfig:()=>G5,config:()=>M7});import g$ from"fs";import p0 from"path";import{loadConfigWithResult as Aj}from"bunfig";function Rj($,X,Z){let J=X||"pages";if($)return{root:$,pagesDir:J};let Y=Z||process.cwd(),G=p0.join(Y,"resources","views"),Q=p0.join(Y,"resources","layouts");if(g$.existsSync(G)&&g$.existsSync(Q))return{root:"resources",pagesDir:"views"};let w=p0.join(Y,"resources","views","pages");if(g$.existsSync(w))return{root:"resources/views",pagesDir:J};return{root:".",pagesDir:J}}function Nj($,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 AY($,X){let Z=!$.root,J=Rj($.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(p0.isAbsolute(Q)||Nj(Q,Y))continue;$[G]=p0.join(Y,Q)}}return $}function Tj($,X){let Z=["componentsDir","layoutsDir","partialsDir"];for(let J of Z){let Y=$[J];if(typeof Y!=="string"||!Y)continue;let G=p0.isAbsolute(Y)?Y:p0.join(X,Y);if(g$.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 Mj($){if(M6($.stateDir),$.stateDir=L7(),$.cachePath=F7($.cachePath),$.build)$.build.cacheDir=F7($.build.cacheDir);if($.media?.cache)$.media.cache.directory=F7($.media.cache.directory);if($.story)$.story.outDir=F7($.story.outDir)}async function X1($){if(!$){if(v5)return v5;if(h$)return h$}let X=$?p0.resolve($):process.cwd(),Z=VY.get(X);if(Z)return Z;let J=(async()=>{let G=(await Aj({name:"stx",alias:"ui",cwd:X,defaultConfig:G5,verbose:!1})).config;if(Mj(G),AY(G,X),Tj(G,X),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (LY(),OY)),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=p0.dirname(U0.resolve(K))}catch{let _=p0.resolve(process.cwd(),K);U=await import(_),B=p0.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(p0.resolve(B,H))}if(j.pages){let _=p0.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,O)=>{G.apiRoutes=G.apiRoutes||{},G.apiRoutes[H]=O},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(VY.set(X,J),!$)h$=J,J.then((Y)=>{v5=Y}).catch(()=>{});return J}function kj($){return $}function Ij($){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 G5,FY,v5=null,VY,h$=null,M7;var L1=E(()=>{h9();u9();d9();m9();cX();DJ();A3();XY();x$();V7();HY();G5={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:A5,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:XJ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:_Y,hasEndTag:!1,description:"Include a web component in the template"},D6,y6,UY,jY,b6,C6,P6,S6,f6,u6,EJ,V3,...$Y],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;VY=new Map;M7=new Proxy(G5,{get($,X){if(v5&&X in v5)return v5[X];if(!h$)X1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return $[X]}})});var EY={};t(EY,{resetCssCache:()=>vj,resetCrosswindCache:()=>xj,rebuildCrosswindCSS:()=>fj,loadCrosswindConfig:()=>b3,loadCrosswind:()=>y3,injectCrosswindCSS:()=>n7,getCrosswindServeAsset:()=>yj,getCachedCSS:()=>gj,generateCrosswindCSS:()=>IY,extractClassNames:()=>kY,buildCrosswindCSS:()=>MY});import G0 from"path";import{hasLocalConfig as Ej}from"bunfig";function d$($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function E3($,X){if(A1.has($))A1.delete($);else if(A1.size>=TY)A1.delete(A1.keys().next().value);A1.set($,X)}function Dj($){let X=d$($);if(Y1.has(X))Y1.delete(X);else if(Y1.size>=TY)Y1.delete(Y1.keys().next().value);return Y1.set(X,$),X}function yj($){let X=Y1.get($);if(X===void 0)return;return Y1.delete($),Y1.set($,X),X}async function bj($){if(!f1)return null;try{let X=Bun.file(G0.join(f1,`cw-${d$($)}.css`));if(!await X.exists())return null;return await X.text()}catch{return null}}async function Sj($,X){if(!f1)return;try{if(!fs.existsSync(f1))fs.mkdirSync(f1,{recursive:!0});await Bun.write(G0.join(f1,`cw-${d$($)}.css`),X)}catch{}}async function NY($){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 Cj(){let $=[],X=process.cwd();while(X!==G0.dirname(X))$.push(G0.join(X,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(G0.join(X,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(G0.join(X,"pantry","@cwcss","crosswind","dist","index.js")),$.push(G0.join(X,"pantry","@cwcss","crosswind","src","index.ts")),$.push(G0.join(X,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(G0.join(X,"pantry","@stacksjs","crosswind","dist","index.js")),X=G0.dirname(X);return $}function Pj(){let $=[],X=process.env.HOME||process.env.USERPROFILE||"";if(X){let Z=[G0.join(X,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),G0.join(X,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),G0.join(X,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),G0.join(X,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),G0.join(X,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),G0.join(X,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Z)}return $.push(G0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(G0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function y3(){if(D3)return W1;D3=!0;try{let $=async(Y)=>{for(let G of Y){if(!await Bun.file(G).exists())continue;let Q=await NY(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} CSS engine loaded from ${G0.dirname(G0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let Y=G0.resolve(process.env.CROSSWIND_SRC),G=await $([Y]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${Y}`);return W1=G,W1}let X=await $(Cj());if(X)return W1=X,W1;let Z=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Y of Z){let G=await NY(Y);if(G){if(W1=G,!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} CSS engine loaded`);return W1}}let J=await $(Pj());if(J)return W1=J,W1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${H0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${H0.reset}`),console.warn(`${H0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${H0.reset}`),null}}function vj(){A1.clear(),Y1.clear()}function xj(){W1=null,D3=!1,G1=null,i7="",A1.clear(),Y1.clear(),u$=null}async function b3($){try{if(!Ej({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=G0.relative($,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} Loaded config from ${J||Z.path}`);return Z.config}catch(X){if(X instanceof Error&&X.name==="ConfigNotFoundError")return null;return console.warn(`${H0.yellow}[Crosswind]${H0.reset} Failed to load crosswind config:`,X instanceof Error?X.message:X),null}}async function MY($){if(x5)return i7;x5=!0;try{let X=await y3();if(!X||!X.build)return x5=!1,"";if(!G1)G1=await b3($);if(!G1)return x5=!1,"";let Z=X.defaultConfig?.theme||{},J=G1.theme||{},Y={...X.defaultConfig,...G1,theme:{...Z,...J,extend:{...Z.extend||{},...J.extend||{}}}},G=performance.now(),Q=await X.build(Y),w=performance.now()-G;if(i7=Q.css,console.log(`${H0.cyan}[Crosswind]${H0.reset} Built ${Q.classes.size} classes in ${w.toFixed(1)}ms`),Y.output){let q=G0.isAbsolute(Y.output)?Y.output:G0.join($,Y.output),W=G0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,Q.css)}return x5=!1,Q.css}catch(X){return console.error(`${H0.red}[Crosswind]${H0.reset} Build error:`,X),x5=!1,i7}}async function fj($){G1=null,await MY($)}function gj(){return i7}function kY($){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 IY($,X){try{let Z=await y3();if(!Z)return"";let J=typeof Z.extractClasses==="function"?Z.extractClasses($):kY($);if(J.size===0)return"";let Y=X?G0.resolve(X):process.cwd();if(!f1)f1=_1(Y,"cache");let G=[...J].sort().join(" "),Q=`${u$||"default"}::${G}`,w=A1.get(Q);if(w!==void 0)return E3(Q,w),w;let q=await bj(Q);if(q!==null)return E3(Q,q),q;if(!G1){let V=null;try{let{loadStxConfig:R}=await Promise.resolve().then(() => (L1(),RY)),A=await R(Y);if(A.css)if(typeof A.css==="string"){let N=G0.isAbsolute(A.css)?A.css:G0.resolve(Y,A.css);if(await Bun.file(N).exists()){let M=await import(N);V=M.default||M,console.log(`${H0.green}[Crosswind]${H0.reset} Loaded config from stx.config.ts \u2192 ${A.css}`)}}else{if(V={...A.css,content:A.css.content||[],preflight:A.css.preflight??!0,minify:A.css.minify??!1},A.css.config){let N=G0.isAbsolute(A.css.config)?A.css.config:G0.resolve(Y,A.css.config);if(await Bun.file(N).exists()){let M=await import(N);V={...M.default||M,...V}}}console.log(`${H0.green}[Crosswind]${H0.reset} Using inline CSS config from stx.config.ts`)}}catch{}G1=V||await b3(Y);try{u$=d$(JSON.stringify(G1??{}))}catch{u$="unhashable"}}let W=Z.defaultConfig||Z.config,K=G1||{},z=N6(W,K),{safelist:U,includePreflight:B,minify:j}=z,_=z.config,H=new Z.CSSGenerator(_);for(let V of U)H.generate(V);for(let V of J)H.generate(V);let O=H.toCSS(B,j),L=_.shortcuts||K.shortcuts||{};for(let[V,R]of Object.entries(L)){if(!J.has(V)&&!U.includes(V))continue;let A=R.split(/\s+/).filter(Boolean);for(let N of A)H.generate(N)}O=H.toCSS(B,j);let F=O.split(`
|
|
11419
|
+
`);for(let[V,R]of Object.entries(L)){if(!J.has(V)&&!U.includes(V))continue;let A=R.split(/\s+/).filter(Boolean),N=[],M=[];for(let T of A){let k=T.startsWith("dark:"),S=`.${(k?T.slice(5):T).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let b=0;b<F.length;b++){let y=F[b].trim();if(y===`${S} {`||y.startsWith(`${S} {`)){let v=b,f="";while(v<F.length){if(f+=F[v],F[v].includes("}"))break;v++}let x=f.match(/\{([^}]+)\}/);if(x)if(k)M.push(x[1].trim());else N.push(x[1].trim());break}}}if(N.length)O+=`
|
|
11420
|
+
.${V} { ${N.join(" ")} }`;if(M.length)O+=`
|
|
11421
|
+
@media (prefers-color-scheme: dark) { .dark .${V} { ${M.join(" ")} } }`}return E3(Q,O),Sj(Q,O),O}catch(Z){return console.warn("Failed to generate Crosswind CSS:",Z),""}}async function n7($,X,Z=!1){let J=await IY($,X);if(!J)return $;let Y=Z?`<link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.${Dj(J)}.css">`:`<style data-crosswind="generated">
|
|
11313
11422
|
${J}
|
|
11314
11423
|
</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}
|
|
11315
11424
|
</head>`);if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
|
|
11316
|
-
${Y}`);return Y+$}var
|
|
11425
|
+
${Y}`);return Y+$}var W1=null,D3=!1,G1=null,i7="",x5=!1,TY=256,A1,Y1,f1=null,u$=null;var m$=E(()=>{V7();k6();A1=new Map,Y1=new Map});function DY(){return`
|
|
11317
11426
|
// STX Lifecycle Runtime
|
|
11318
11427
|
(function() {
|
|
11319
11428
|
if (typeof window === 'undefined') return;
|
|
@@ -11658,7 +11767,7 @@ else {
|
|
|
11658
11767
|
|
|
11659
11768
|
console.log('[stx] Lifecycle runtime initialized');
|
|
11660
11769
|
})();
|
|
11661
|
-
`}function
|
|
11770
|
+
`}function S3($){return Symbol($)}var lT,cT,pT;var yY=E(()=>{lT=S3("theme"),cT=S3("router"),pT=S3("i18n")});import*as SY from"crypto";function bY($){let X=/\$(\w+)\./g,Z=[],J;while((J=X.exec($))!==null)if(!Z.includes(J[1]))Z.push(J[1]);return Z}function hj(){return`stx-${SY.randomBytes(4).toString("hex")}`}function uj($){return/\$\w+\./.test($)}function dj($){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 H of B){let O=H[0],L=H[1],F=H[2];if(uj(F)){K=!0;let V=F.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(V){let R=V[1];if(W.push({attr:L,expr:R,fullMatch:O,originalAttr:L}),bY(R).forEach((N)=>Z.add(N)),L==="text")z=z.replace(O,"");else if(L==="class")z=z.replace(O,'class=""');else if(L==="disabled"||L==="hidden")z=z.replace(O,"");else z=z.replace(O,`${L}=""`)}}}if(!K)return G;let j=z.match(/\bid\s*=\s*"([^"]+)"/),_;if(j)_=j[1];else _=hj(),z=` id="${_}"${z}`;for(let H of W)X.push({elementId:_,attribute:H.attr,expression:H.expr,stores:bY(H.expr)});return`<${Q}${z}${q}`}),{html:Y,bindings:X,stores:Z}}function mj($,X){if($.length===0)return"";let Z=Array.from(X),J=`
|
|
11662
11771
|
<script>
|
|
11663
11772
|
(function() {
|
|
11664
11773
|
'use strict';
|
|
@@ -11816,10 +11925,10 @@ else {
|
|
|
11816
11925
|
}
|
|
11817
11926
|
})();
|
|
11818
11927
|
</script>
|
|
11819
|
-
`,J}function
|
|
11928
|
+
`,J}function CY($){let{html:X,bindings:Z,stores:J}=dj($);if(Z.length===0)return $;let Y=mj(Z,J),G=X.lastIndexOf("</body>");if(G!==-1)return X.slice(0,G)+Y+X.slice(G);return X+Y}var PY=()=>{};function lj($){let X=$.analytics;if(!X?.enabled)return"";switch(X.driver){case"fathom":return cj(X);case"google-analytics":return pj(X);case"plausible":return ij(X);case"self-hosted":return nj(X);case"custom":return rj(X);default:return""}}function cj($){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="${i0(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="${i0(X.canonical)}"`);if(X.auto===!1)Y.push('data-auto="false"');return`
|
|
11820
11929
|
<!-- Fathom Analytics -->
|
|
11821
|
-
<script src="${
|
|
11822
|
-
`}function
|
|
11930
|
+
<script src="${i0(Z)}" ${Y.join(" ")}${J}></script>
|
|
11931
|
+
`}function pj($){let X=$.googleAnalytics;if(!X?.measurementId)return"";let Z=i0(X.measurementId),J=X.debug?`gtag('config', '${Z}', { 'debug_mode': true });`:"";return`
|
|
11823
11932
|
<!-- Google Analytics -->
|
|
11824
11933
|
<script async src="https://www.googletagmanager.com/gtag/js?id=${Z}"></script>
|
|
11825
11934
|
<script>
|
|
@@ -11829,10 +11938,10 @@ else {
|
|
|
11829
11938
|
gtag('config', '${Z}');
|
|
11830
11939
|
${J}
|
|
11831
11940
|
</script>
|
|
11832
|
-
`}function
|
|
11941
|
+
`}function ij($){let X=$.plausible;if(!X?.domain)return"";let Z=X.scriptUrl||"https://plausible.io/js/script.js",J=[`data-domain="${i0(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`
|
|
11833
11942
|
<!-- Plausible Analytics -->
|
|
11834
|
-
<script defer data-domain="${
|
|
11835
|
-
`}function
|
|
11943
|
+
<script defer data-domain="${i0(X.domain)}" src="${i0(Y)}"></script>
|
|
11944
|
+
`}function nj($){let X=$.selfHosted;if(!X?.siteId||!X?.apiEndpoint)return"";let Z=i0(X.siteId),J=i0(X.apiEndpoint),Y=X.honorDnt?'if(n.doNotTrack==="1")return;':"",G=X.trackHashChanges?"w.addEventListener('hashchange',pv);":"",Q=X.trackOutboundLinks?`
|
|
11836
11945
|
d.addEventListener('click',function(e){
|
|
11837
11946
|
var a=e.target.closest('a');
|
|
11838
11947
|
if(a&&a.hostname!==location.hostname){
|
|
@@ -11865,15 +11974,15 @@ else {
|
|
|
11865
11974
|
w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
|
|
11866
11975
|
})();
|
|
11867
11976
|
</script>
|
|
11868
|
-
`}function
|
|
11977
|
+
`}function rj($){let X=$.custom;if(!X)return"";if(X.inlineScript)return`
|
|
11869
11978
|
<!-- Custom Analytics -->
|
|
11870
11979
|
<script>
|
|
11871
11980
|
${X.inlineScript}
|
|
11872
11981
|
</script>
|
|
11873
|
-
`;if(!X.scriptUrl)return"";let Z=[];if(X.scriptId)Z.push(`id="${
|
|
11982
|
+
`;if(!X.scriptUrl)return"";let Z=[];if(X.scriptId)Z.push(`id="${i0(X.scriptId)}"`);if(X.attributes)for(let[Y,G]of Object.entries(X.attributes))Z.push(`${i0(Y)}="${i0(G)}"`);return`
|
|
11874
11983
|
<!-- Custom Analytics -->
|
|
11875
|
-
<script${Z.length>0?` ${Z.join(" ")}`:""} src="${
|
|
11876
|
-
`}function
|
|
11984
|
+
<script${Z.length>0?` ${Z.join(" ")}`:""} src="${i0(X.scriptUrl)}" defer></script>
|
|
11985
|
+
`}function vY($,X){let Z=lj(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 i0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}var xY=()=>{};function l$($){let X=$.match(/\bdefinePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!X)return null;try{return Function(`return ${X[1]}`)()}catch{return null}}function fY($){let X=$?.layout;if(X===!1)return!1;return typeof X==="string"&&X.trim()?X.trim():void 0}function gY($,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 sj($){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=gY(Q,"x-data");if(!q)continue;let W=`__stx_scope_${uY++}`,K=gY(Q,"x-init"),z=aj($,G,w+Y.length),U=$.slice(w,z.endIndex),B=tj(U);X.push({id:W,selector:`[data-stx-scope="${W}"]`,stateExpr:q,initExpr:K,bindings:[],refs:B})}return X}function aj($,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 tj($){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=ej(G);X.set(Q,w)}return X}function ej($){let X=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(X)return X[1];return`__stx_el_${oj++}`}function $B(){return`
|
|
11877
11986
|
// STX Reactive Runtime - x-cloak and transition CSS
|
|
11878
11987
|
(function() {
|
|
11879
11988
|
var style = document.createElement('style');
|
|
@@ -12080,7 +12189,7 @@ window.__stx_reactive = (function() {
|
|
|
12080
12189
|
|
|
12081
12190
|
return { initScope: initScope, reactive: reactive };
|
|
12082
12191
|
})();
|
|
12083
|
-
`}function
|
|
12192
|
+
`}function hY($,X){let Z=$.replace(/\{!!([\s\S]*?)!!\}/g,(w,q)=>{try{let W=d0(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=d0(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 XB($,X){if($.length===0)return"";let Z=$.map((J)=>{let Y=JSON.stringify(Object.fromEntries(J.refs)),G=hY(J.stateExpr,X),Q=J.initExpr?hY(J.initExpr,X):null,w=JSON.stringify(G),q=Q?JSON.stringify(Q):"null";return`
|
|
12084
12193
|
(function() {
|
|
12085
12194
|
var scopeEl = document.querySelector('${J.selector}');
|
|
12086
12195
|
if (!scopeEl) return;
|
|
@@ -12089,14 +12198,14 @@ window.__stx_reactive = (function() {
|
|
|
12089
12198
|
})();`}).join(`
|
|
12090
12199
|
`);return`
|
|
12091
12200
|
<script data-stx-scoped data-stx-reactive data-stx-run="always">
|
|
12092
|
-
${
|
|
12201
|
+
${$B()}
|
|
12093
12202
|
${Z}
|
|
12094
|
-
</script>`}function
|
|
12095
|
-
`+Y.slice(Q);else Y+=G;return Y}function oj($,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,""),J=J.replace(/\s*x-init\s*=\s*'[^']*'/g,""),J}function sj($){return/x-data\s*=\s*["']/.test($)}var vY=0,mj=0;var fY=D(()=>{W1()});import aj from"fs";import b3 from"path";import{createHighlighter as tj}from"ts-syntax-highlighter";async function ej($,X={}){try{if(!await p($))throw Error(`Markdown file not found: ${$}`);let J=(await aj.promises.stat($)).mtime.getTime();if(X.cache&&S3.has($)){let z=S3.get($);if(z.updatedAt>=J)return{content:z.content,data:z.data}}let Y=await Bun.file($).text(),{data:G,content:Q}=h2(Y),w=X.markdown||T7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},W=V7(Q,{gfm:!0});if(w.syntaxHighlighting?.enabled&&w.syntaxHighlighting?.serverSide)W=await $B(W,w.syntaxHighlighting?.defaultTheme||"github-dark",w.syntaxHighlighting?.highlightUnknownLanguages||!1);let K={content:W,data:G||{}};if(X.cache)S3.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:z0("Markdown File",`Error reading/parsing markdown file: ${J}`,$,"",0,""),data:{}}}}async function $B($,X,Z){let J=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!l$)try{l$=await tj({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(!l$.getSupportedLanguages().includes(U))return w;return(await l$.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 gY($,X,Z="",J={}){return await XB($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,w,q,W)=>{try{let K=w;if(!b3.isAbsolute(w))K=b3.resolve(b3.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 ej(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 z0("Markdown File",`Error including markdown file: ${z}`,Z,$,W,Q)}})}async function XB($,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 S3,l$=null;var hY=D(()=>{L1();k0();S3=new Map});function g1($,X){try{let Z=$.trim();if(q0(Z))return W0(Z,Object.keys(X))(...Object.values(X));else return J0(Z,X)}catch{return!1}}var uY=D(()=>{T0()});function ZB($,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=_X(J,Q);if(!w)break;try{let q;if(q0(w.expression))q=W0(w.expression,Object.keys(X))(...Object.values(X));else q=J0(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&&q0(z.value))U=W0(z.value,Object.keys(X))(...Object.values(X));else if(z.value)U=J0(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=Z0("Switch",`Error evaluating @switch expression: ${W}`,o.EVALUATION_ERROR);J=J.substring(0,Q)+K+J.substring(w.end);break}}return J}function JB($){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 YB($,X){if(X.length===0)return $;return $.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,J)=>X[Number(J)]??Z)}function Q5($,X,Z){let{masked:J,scripts:Y}=JB($);return YB(GB(J,X,Z),Y)}function GB($,X,Z){let J=$;J=ZB(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=P1(J,w+7);if(!q)break;let W=q.endPos,K=t1(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=P3(J,X,Z),J=v3(J,X,Z),J=C3(J,X);let Y=()=>{let G=x7(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&&q0(K.condition))z=W0(K.condition,Object.keys(X))(...Object.values(X));else if(K.condition)z=J0(K.condition,X);if(z)q=K.content,W=!0}catch(z){q=Z0(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=Z0("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 dY($){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 C3($,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=dY(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?g1(`auth?.check && auth?.user?.[${K}]`,X):g1("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=dY(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?g1(`!auth?.check || !auth?.user?.[${K}]`,X):g1("!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=g1(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=[],M;while((M=V.exec(L))!==null)T.push({pos:M.index,type:"open"});while((M=A.exec(L))!==null)T.push({pos:M.index,type:"close"});while((M=R.exec(L))!==null)T.push({pos:M.index,type:"elseDirective"});while((M=N.exec(L))!==null)T.push({pos:M.index,type:"else"});T.sort((C,P)=>C.pos-P.pos);for(let C of T){if(C.type==="open"){F++;continue}if(C.type==="close"){F--;continue}if(F===0)O.push(C)}let k=[],y=0;for(let C=0;C<O.length;C++){let P=O[C];if(k.push({content:L.slice(y,P.pos),ability:void 0}),P.type==="elseDirective"){let x=L.slice(P.pos+`@${W}`.length),f=Q(x);if(f){k[k.length-1]={content:L.slice(y,P.pos)},y=P.pos+`@${W}`.length+f.paramsEnd,k.push({content:"",ability:f.ability,type:f.type,id:f.id}),k.pop();let l=O[C+1],$0=l?l.pos:L.length;k.push({content:L.slice(y,$0),ability:f.ability,type:f.type,id:f.id}),y=$0}}else y=P.pos+5}if(y<L.length){let C=k[k.length-1];if(O.length>0&&O[O.length-1].type==="else")k.push({content:L.slice(y),isFinalElse:!0});else if(k.length===0)k.push({content:L.slice(y)})}let I=G(j.ability,j.type,j.id),S=w==="can"?I:!I,b="";if(S)b=k[0]?.content||"";else{let C=!1;for(let P=1;P<k.length;P++){let x=k[P];if(x.isFinalElse){b=x.content,C=!0;break}if(x.ability){let f=G(x.ability,x.type,x.id);if(w==="can"?f:!f){b=x.content,C=!0;break}}}if(!C&&k.length>0){let P=k[k.length-1];if(P.isFinalElse)b=P.content}}Z=Z.substring(0,U)+b+Z.substring(H+`@${q}`.length),K=!0}}return Z}function P3($,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=P1(G,B+`@${Q}`.length);if(!j)break;let _=j.endPos,H=t1(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),M=L.slice(F+5);N=R?T:M}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=Z0(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=g1(G,X);return Q!==void 0&&Q!==null},"Isset"),J=Y(J,"empty","endempty",(G)=>{let Q=g1(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 v3($,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,C=S?S.index:1/0;if(b<C)F++,V=b+I[0].length;else if(C<1/0){if(F--,F===0){A=C;break}V=C+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,M=0;while(M<R.length){let I=R.indexOf("@",M);if(I===-1)break;let S=R.substring(I);if(U.test(S)){T++,M=I+1;continue}if(B.test(S)){T--,M=I+1;continue}if(T===0&&/^@else(?![a-z])/.test(S)){N=I;break}M=I+1}let k;if(N!==-1){let I=R.slice(0,N),S=R.slice(N+5);k=W?I:S}else k=W?R:"";let y=`@${q}`.length;j=j.substring(0,L)+k+j.substring(A+y),_=!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 c$=D(()=>{uY();V1();f8();T0()});function lY($=16){let X=new Uint8Array($);return crypto.getRandomValues(X),btoa(String.fromCharCode(...X))}function p$($,X){if(!$)return X?.nonceGenerator?.()??lY();let Z=mY.get($);if(!Z)Z=X?.nonceGenerator?.()??lY(),mY.set($,Z);return Z}function QB($,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 cY($,X){return`<meta http-equiv="Content-Security-Policy" content="${QB($,X).replace(/&/g,"&").replace(/"/g,""")}">`}function pY($,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?p$(Z,X):void 0,Y=cY(X.directives,J);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
12096
|
-
${Y}`)}function
|
|
12097
|
-
${
|
|
12098
|
-
${
|
|
12099
|
-
`),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]=
|
|
12203
|
+
</script>`}function dY($,X,Z){if(uY=0,!JB($))return $;let J=sj($);if(J.length===0)return $;let Y=ZB($,J),G=XB(J,X),Q=Y.lastIndexOf("</body>");if(Q!==-1)Y=Y.slice(0,Q)+G+`
|
|
12204
|
+
`+Y.slice(Q);else Y+=G;return Y}function ZB($,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,""),J=J.replace(/\s*x-init\s*=\s*'[^']*'/g,""),J}function JB($){return/x-data\s*=\s*["']/.test($)}var uY=0,oj=0;var mY=E(()=>{q1()});import YB from"fs";import C3 from"path";import{createHighlighter as GB}from"ts-syntax-highlighter";async function QB($,X={}){try{if(!await n($))throw Error(`Markdown file not found: ${$}`);let J=(await YB.promises.stat($)).mtime.getTime();if(X.cache&&P3.has($)){let z=P3.get($);if(z.updatedAt>=J)return{content:z.content,data:z.data}}let Y=await Bun.file($).text(),{data:G,content:Q}=m6(Y),w=X.markdown||M7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},W=A7(Q,{gfm:!0});if(w.syntaxHighlighting?.enabled&&w.syntaxHighlighting?.serverSide)W=await wB(W,w.syntaxHighlighting?.defaultTheme||"github-dark",w.syntaxHighlighting?.highlightUnknownLanguages||!1);let K={content:W,data:G||{}};if(X.cache)P3.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:j0("Markdown File",`Error reading/parsing markdown file: ${J}`,$,"",0,""),data:{}}}}async function wB($,X,Z){let J=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!c$)try{c$=await GB({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(!c$.getSupportedLanguages().includes(U))return w;return(await c$.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 lY($,X,Z="",J={}){return await qB($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,w,q,W)=>{try{let K=w;if(!C3.isAbsolute(w))K=C3.resolve(C3.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 L=q.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let F of L){let V=F.indexOf(":");if(V>0){let R=F.substring(0,V).trim(),A=F.substring(V+1).trim(),N=A.startsWith('"')&&A.endsWith('"'),M=A.startsWith("'")&&A.endsWith("'");if(N||M)A=A.substring(1,A.length-1);z[R]=A}}}}catch(O){if(J.debug)console.error("Error parsing context in @markdown-file directive:",O)}let{content:U,data:B}=await QB(K,J),j={...X,...B,...z},_=U,H=/\{\{([^}]+)\}\}/g;return _=_.replace(H,(O,L)=>{let F=L.trim();return j[F]!==void 0?String(j[F]):O}),_}catch(K){let z=K instanceof Error?K.message:String(K);return j0("Markdown File",`Error including markdown file: ${z}`,Z,$,W,Q)}})}async function qB($,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 P3,c$=null;var cY=E(()=>{L1();D0();P3=new Map});function g1($,X){try{let Z=$.trim();if(w0(Z))return q0(Z,Object.keys(X))(...Object.values(X));else return Y0(Z,X)}catch{return!1}}var pY=E(()=>{I0()});function WB($,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=HX(J,Q);if(!w)break;try{let q;if(w0(w.expression))q=q0(w.expression,Object.keys(X))(...Object.values(X));else q=Y0(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=q0(z.value,Object.keys(X))(...Object.values(X));else if(z.value)U=Y0(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=Z0("Switch",`Error evaluating @switch expression: ${W}`,a.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 zB($,X){if(X.length===0)return $;return $.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,J)=>X[Number(J)]??Z)}function Q5($,X,Z){let{masked:J,scripts:Y}=KB($);return zB(UB(J,X,Z),Y)}function UB($,X,Z){let J=$;J=WB(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=P1(J,w+7);if(!q)break;let W=q.endPos,K=t1(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,O=/@(?:endif|endunless)(?![a-z])/g,L=/@else(?![a-z])/g,F=[],V;while((V=H.exec(z))!==null)F.push({pos:V.index,type:"open"});while((V=O.exec(z))!==null)F.push({pos:V.index,type:"close"});while((V=L.exec(z))!==null)F.push({pos:V.index,type:"else"});F.sort((R,A)=>R.pos-A.pos);for(let R of F)if(R.type==="open")_++;else if(R.type==="close")_--;else if(R.type==="else"&&_===0){B=R.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=x3(J,X,Z),J=f3(J,X,Z),J=v3(J,X);let Y=()=>{let G=f7(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=q0(K.condition,Object.keys(X))(...Object.values(X));else if(K.condition)z=Y0(K.condition,X);if(z)q=K.content,W=!0}catch(z){q=Z0(K.type==="if"?"If":"Elseif",`Error in @${K.type}(${K.condition}): ${z instanceof Error?z.message:String(z)}`,a.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=Z0("If",`Error processing @if block: ${W}`,a.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 iY($){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 v3($,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),O=_?_.index:1/0,L=H?H.index:1/0;if(O<L)z++,U=O+_[0].length;else if(L<1/0){if(z--,z===0)return L;U=L+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,O)=>H.pos-O.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=iY(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"),O;if(!X.auth)O=!1;else O=K?g1(`auth?.check && auth?.user?.[${K}]`,X):g1("auth?.check",X);let L;if(H!==-1){let F=_.slice(0,H),V=_.slice(H+5);L=O?F:V}else L=O?_:"";Z=Z.substring(0,W)+L+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=iY(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"),O;if(!X.auth)O=!0;else O=K?g1(`!auth?.check || !auth?.user?.[${K}]`,X):g1("!auth?.check",X);let L;if(H!==-1){let F=_.slice(0,H),V=_.slice(H+5);L=O?F:V}else L=O?_:"";Z=Z.substring(0,W)+L+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=g1(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 O=Z.slice(_,H),L=[],F=0,V=new RegExp(`@${w}\\s*\\(`,"g"),R=new RegExp(`@${q}(?![a-z])`,"g"),A=new RegExp(`@${W}\\s*\\(`,"g"),N=/@else(?![a-z])/g,M=[],T;while((T=V.exec(O))!==null)M.push({pos:T.index,type:"open"});while((T=R.exec(O))!==null)M.push({pos:T.index,type:"close"});while((T=A.exec(O))!==null)M.push({pos:T.index,type:"elseDirective"});while((T=N.exec(O))!==null)M.push({pos:T.index,type:"else"});M.sort((y,v)=>y.pos-v.pos);for(let y of M){if(y.type==="open"){F++;continue}if(y.type==="close"){F--;continue}if(F===0)L.push(y)}let k=[],D=0;for(let y=0;y<L.length;y++){let v=L[y];if(k.push({content:O.slice(D,v.pos),ability:void 0}),v.type==="elseDirective"){let f=O.slice(v.pos+`@${W}`.length),x=Q(f);if(x){k[k.length-1]={content:O.slice(D,v.pos)},D=v.pos+`@${W}`.length+x.paramsEnd,k.push({content:"",ability:x.ability,type:x.type,id:x.id}),k.pop();let p=L[y+1],l=p?p.pos:O.length;k.push({content:O.slice(D,l),ability:x.ability,type:x.type,id:x.id}),D=l}}else D=v.pos+5}if(D<O.length){let y=k[k.length-1];if(L.length>0&&L[L.length-1].type==="else")k.push({content:O.slice(D),isFinalElse:!0});else if(k.length===0)k.push({content:O.slice(D)})}let I=G(j.ability,j.type,j.id),S=w==="can"?I:!I,b="";if(S)b=k[0]?.content||"";else{let y=!1;for(let v=1;v<k.length;v++){let f=k[v];if(f.isFinalElse){b=f.content,y=!0;break}if(f.ability){let x=G(f.ability,f.type,f.id);if(w==="can"?x:!x){b=f.content,y=!0;break}}}if(!y&&k.length>0){let v=k[k.length-1];if(v.isFinalElse)b=v.content}}Z=Z.substring(0,U)+b+Z.substring(H+`@${q}`.length),K=!0}}return Z}function x3($,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=P1(G,B+`@${Q}`.length);if(!j)break;let _=j.endPos,H=t1(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 O=G.slice(_,H),L=j.expression,F=-1,V=0,R=0;while(R<O.length){let A=O.indexOf("@",R);if(A===-1)break;let N=O.substring(A);if(/^@(?:if|unless|isset|empty)\s*\(/.test(N)){V++,R=A+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(N)){V--,R=A+1;continue}if(V===0&&/^@else(?![a-z])/.test(N)){F=A;break}R=A+1}try{let A=q(L.trim()),N;if(F!==-1){let M=O.slice(0,F),T=O.slice(F+5);N=A?M:T}else N=A?O:"";G=G.substring(0,B)+N+G.substring(H+`@${w}`.length),K=!0}catch(A){let N=A instanceof Error?A.message:String(A),M=Z0(W,`Error processing @${Q} directive: ${N}`,a.EVALUATION_ERROR);G=G.substring(0,B)+M+G.substring(H+`@${w}`.length);break}}return G}return J=Y(J,"isset","endisset",(G)=>{let Q=g1(G,X);return Q!==void 0&&Q!==null},"Isset"),J=Y(J,"empty","endempty",(G)=>{let Q=g1(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 f3($,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 O=H.index,L=O+H[0].length;if(w==="env"){let I=j.substring(L).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!I)break;L+=I[0].length,W=Y===I[2]}let F=1,V=L,R=-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){R=y;break}V=y+S[0].length}else break}if(R===-1){console.warn(`[stx] @${w} directive at position ${O} has no matching @${q} \u2014 the block was skipped.`);break}let A=j.substring(L,R),N=-1,M=0,T=0;while(T<A.length){let I=A.indexOf("@",T);if(I===-1)break;let S=A.substring(I);if(U.test(S)){M++,T=I+1;continue}if(B.test(S)){M--,T=I+1;continue}if(M===0&&/^@else(?![a-z])/.test(S)){N=I;break}T=I+1}let k;if(N!==-1){let I=A.slice(0,N),S=A.slice(N+5);k=W?I:S}else k=W?A:"";let D=`@${q}`.length;j=j.substring(0,O)+k+j.substring(R+D),_=!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 p$=E(()=>{pY();V1();g8();I0()});function rY($=16){let X=new Uint8Array($);return crypto.getRandomValues(X),btoa(String.fromCharCode(...X))}function i$($,X){if(!$)return X?.nonceGenerator?.()??rY();let Z=nY.get($);if(!Z)Z=X?.nonceGenerator?.()??rY(),nY.set($,Z);return Z}function jB($,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 oY($,X){return`<meta http-equiv="Content-Security-Policy" content="${jB($,X).replace(/&/g,"&").replace(/"/g,""")}">`}function sY($,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?i$(Z,X):void 0,Y=oY(X.directives,J);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
12205
|
+
${Y}`)}function aY($,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 tY($,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?i$(X,G):void 0;return oY(G.directives,Q)}),Y=Y.replace(/@cspNonce\b/g,()=>{if(!G?.enabled||!G.useNonce)return"";return i$(X,G)}),G?.enabled&&G.useNonce)X.cspNonce=i$(X,G);return Y}var nY;var eY=E(()=>{nY=new WeakMap});import BB from"crypto";function HB($=_B){let X=BB.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return g3=X,X}function OB(){if(!g3)HB();return g3}function LB($=$G){let X=OB();return`<input type="hidden" name="${$}" value="${X}">`}function XG($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(X,Z,J)=>{return LB(J||$G)})}var _B=40,$G="_token",g3=null;var ZG=()=>{};async function JG($,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 FB(Y,G,X,Z,J);else Y=await VB(Y,G,X,Z,J)}return Y}async function FB($,X,Z,J,Y){let{name:G,handler:Q}=X,w=`@${G}`,q=`@end${G}`,W=$,K=I5(`${w}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),z=[],U=K.exec(W);while(U!==null){let[B,j="",_=""]=U,H=U.index||0;try{let O=j?YG(j):[],L=_.trim(),F=await Q(L,O,Z,J);z.push({original:B,processed:F,startIndex:H})}catch(O){let L=O instanceof Error?O.message:String(O);if(Y.debug)console.error(`Error processing custom directive @${G}:`,O);z.push({original:B,processed:Z0("CustomDirective",`Error in @${G}${j?`(${j})`:""}: ${L}`,a.EVALUATION_ERROR),startIndex:H})}U=K.exec(W)}for(let B=z.length-1;B>=0;B--){let{original:j,processed:_}=z[B];W=W.replace(j,_)}return W}async function VB($,X,Z,J,Y){let{name:G,handler:Q}=X,w=$,q=I5(`@${G}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),W=[],K=q.exec(w);while(K!==null){let[B,j=""]=K,_=K.index||0;try{let H=YG(j),O=await Q("",H,Z,J);W.push({original:B,processed:O,startIndex:_})}catch(H){let O=H instanceof Error?H.message:String(H);if(Y.debug)console.error(`Error processing custom directive @${G}:`,H);W.push({original:B,processed:Z0("CustomDirective",`Error in @${G}(${j}): ${O}`,a.EVALUATION_ERROR),startIndex:_})}K=q.exec(w)}let z=I5(`@${G}(?!\\w)(?!\\s*\\()`,"g"),U=z.exec(w);while(U!==null){let[B]=U,j=U.index||0;try{let _=await Q("",[],Z,J);W.push({original:B,processed:_,startIndex:j})}catch(_){let H=_ instanceof Error?_.message:String(_);if(Y.debug)console.error(`Error processing custom directive @${G}:`,_);W.push({original:B,processed:Z0("CustomDirective",`Error in @${G}: ${H}`,a.EVALUATION_ERROR),startIndex:j})}U=z.exec(w)}for(let B=W.length-1;B>=0;B--){let{original:j,processed:_}=W[B];w=w.replace(j,_)}return w}function YG($){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 GG=E(()=>{V1();E5()});function w5($,X){if(typeof $!=="string"||$.length===0)throw Error(`@appearanceBootstrap ${X} must be a non-empty string`)}function RB($){if(!$||typeof $!=="object"||Array.isArray($))throw Error("@appearanceBootstrap expects an options object");let X=$,Z=X.appearance,J=X.colorMode;if(w5(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(w5(Z.key,"appearance.key"),w5(Z.attribute,"appearance.attribute"),w5(Z.default,"appearance.default"),w5(J.key,"colorMode.key"),w5(J.attribute,"colorMode.attribute"),w5(J.default,"colorMode.default"),!wG.test(Z.key)||!wG.test(J.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!QG.test(Z.attribute)||!QG.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(!AB.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 NB($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function TB($){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${NB($)};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 MB($,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 qG($,X){let Z=$,J=/@appearanceBootstrap\s*\(/g,Y;while((Y=J.exec(Z))!==null){let G=Y.index+Y[0].length-1,Q=MB(Z,G);if(Q===-1)throw Error("@appearanceBootstrap has an unclosed options object");let w=Z.slice(G+1,Q).trim(),q=Y0(`(${w})`,X),W=TB(RB(q));Z=Z.slice(0,Y.index)+W+Z.slice(Q+1),J.lastIndex=Y.index+W.length}return Z}var QG,wG,AB;var WG=E(()=>{I0();QG=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,wG=/^[A-Za-z_$][\w$]*$/,AB=new Set(["light","dark","system"])});import kB from"crypto";function F0($){return String($??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function n$($,X,Z,J){let Y=$||X;return Z?`${Y} ${J}`:Y}function s0($){return String($).replace(/\[\]$/,"").replace(/[^\w.:-]+/g,"-").replace(/^-+|-+$/g,"")}function f5($,X){if(/\bid\s*=/i.test($))return"";return` id="${F0(X)}"`}function h3($,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="${F0(`${s0($)}-error`)}"`;return J}function IB(){return kB.randomUUID()}function r$($,X){let Z=$;return Z=Z.replace(/@csrf/g,()=>{if(!X.csrf||typeof X.csrf!=="object"){let J=IB();X.csrf={token:J}}if(X.csrf.field)return X.csrf.field;if(X.csrf.token)return`<input type="hidden" name="_token" value="${F0(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="${F0(G)}">`;return J}),Z}function UG($,X,Z=zG){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=h1(W),B=K.toUpperCase(),j=["GET","POST"].includes(B)?B:"POST",_=`<form method="${F0(j)}" action="${F0(z)}"${U?` ${U}`:""}>`;if(_+=`
|
|
12206
|
+
${r$("@csrf",X)}`,!["GET","POST"].includes(B))_+=`
|
|
12207
|
+
${r$(`@method('${B}')`,X)}`;return _}),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=h1(W),B=r7(K,X),j=B!==void 0&&B!==null?B:z||"",_=U.match(/type=['"]([^'"]+)['"]/i),H=_?_[1]:"text",O=o7(K,X),L=U.match(/class=['"]([^'"]+)['"]/i),F=n$(L?L[1]:"",Z.input,O,Z.inputError),V=U.replace(/class=['"][^'"]+['"]/i,"");return V=V.replace(/type=['"][^'"]+['"]/i,""),`<input type="${F0(H)}" name="${F0(K)}"${f5(U,s0(K))} value="${F0(j)}" class="${F}"${h3(K,O,U)}${V?` ${V}`:""}>`}),J=J.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Y,G,Q="",w="")=>{let q=h1(Q),W=r7(G,X)||w.trim(),K=o7(G,X),z=q.match(/class=['"]([^'"]+)['"]/i),U=n$(z?z[1]:"",Z.input,K,Z.inputError),B=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${F0(G)}"${f5(q,s0(G))} class="${U}"${h3(G,K,q)}${B?` ${B}`:""}>${F0(W)}</textarea>`}),J=J.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Y,G,Q="",w)=>{let q=h1(Q),W=r7(G,X),K=o7(G,X),z=q.match(/class=['"]([^'"]+)['"]/i),U=n$(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,O)=>{if((Array.isArray(W)?W.some((F)=>String(F)===O):String(W)===O)&&!H.includes("selected"))return H.replace(/(<option)/,"$1 selected");return _});return`<select name="${F0(G)}"${f5(q,s0(G))} class="${U}"${h3(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?s0(G):`${s0(G)}-${s0(q)}`,K=h1(w),z=r7(G,X),U=z!==void 0&&(Array.isArray(z)?z.some((H)=>String(H)===q):z===!0||String(z)===q),B=K.match(/class=['"]([^'"]+)['"]/i),j=B?B[1]:Z.checkInput,_=K.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${F0(G)}"${f5(K,W)} value="${F0(q)}" class="${j}"${U?" checked":""}${_?` ${_}`:""}>`}),J=J.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Y,G,Q,w="")=>{let q=h1(w),W=r7(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="${F0(G)}"${f5(q,`${s0(G)}-${s0(Q)}`)} value="${F0(Q)}" class="${U}"${K?" checked":""}${B?` ${B}`:""}>`}),J=J.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Y,G,Q="")=>{let w=h1(Q),q=w.match(/accept=['"]([^'"]+)['"]/i),W=q?q[1]:"",K=w.includes("multiple"),z=o7(G,X),U=w.match(/class=['"]([^'"]+)['"]/i),B=n$(U?U[1]:"",Z.input,z,Z.inputError),j=w.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),_=[`<input type="file" name="${F0(G)}"${f5(w,s0(G))}`,`class="${B}"`];if(W)_.push(`accept="${F0(W)}"`);if(K)_.push("multiple");if(j)_.push(j);return`${_.join(" ")}>`}),J=J.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(Y,G,Q="",w)=>{let q=h1(Q),W=q.match(/class=['"]([^'"]+)['"]/i),K=W?W[1]:Z.label,z=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${F0(s0(G))}" class="${K}"${z?` ${z}`:""}>${w}</label>`}),J}function jG($,X,Z=zG){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(J,Y,G)=>{try{if(o7(Y,X)){let Q=G.replace(/\{\{([^}]+)\}\}/g,(w,q)=>{try{if(q.trim()==="$message"||q.trim()==="message")return KG(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 KG(Y,X)}let W=q.trim();if(w0(W)){let K=Y0(W,X);return K!==void 0?String(K):W}return W}catch{return q}});return`<div id="${F0(`${s0(Y)}-error`)}" role="alert">${Q}</div>`}return""}catch(Q){return console.error("Error processing @error directive:",Q),J}})}function o7($,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 KG($,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 r7($,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 h1($){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 zG;var BG=E(()=>{I0();zG={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import m3 from"path";async function EB(){if(s7!==void 0)return s7;try{s7=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{s7=null}return s7}function DB($,X=0){if(X<=0)return!1;return Date.now()-$.loadedAt>X}async function yB($,X){if({...p3,...X.i18n}.cache&&l3[$]){let Y=l3[$],G=X.i18n?.cacheMaxAge??0;if(!DB(Y,G))return Y.translations}if(a7[$]?.state==="loading")return a7[$].promise;u3[$]="loading";let J=c3($,X).then((Y)=>{return u3[$]="loaded",delete a7[$],Y}).catch((Y)=>{throw u3[$]="error",a7[$]={promise:J,state:"error",error:Y instanceof Error?Y:Error(String(Y))},Y});return a7[$]={promise:J,state:"loading"},J}async function c3($,X){let Z={...p3,...X.i18n},J=m3.isAbsolute(Z.translationsDir)?Z.translationsDir:m3.resolve(X.root||process.cwd(),Z.translationsDir);try{let Y=await EB(),G=Y?await Y($,{translationsDir:J,defaultLocale:Z.defaultLocale,sources:vB(Z.format)}):await bB($,Z,J);if(G===void 0){if($!==Z.defaultLocale)return c3(Z.defaultLocale,X);return{}}let Q=G;if(Z.cache)l3[$]={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 c3(Z.defaultLocale,X);return{}}}async function bB($,X,Z){let J=m3.join(Z,`${$}${SB(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 CB(G);if(X.format==="json")return JSON.parse(G);throw Y}catch{return}}}function SB($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function CB($){let X={},Z=$.split(`
|
|
12208
|
+
`),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]=PB(U)}}return X}function PB($){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 vB($){switch($){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function xB($,X){return yB($,X)}function fB($,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 gB($,X={}){return OG($,X)}function OG($,X){let Z="",J=0;while(J<$.length)if($[J]==="{"){let Y=hB($,J);if(Y===-1){Z+=$[J],J++;continue}let G=$.slice(J+1,Y);Z+=uB(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 hB($,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 uB($,X){let Z=dB($);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 mB(Y,Z.slice(2).join(","),X);case"select":return cB(Y,Z.slice(2).join(","));case"selectordinal":return pB(Y,Z.slice(2).join(","));case"number":return nB(Y,Z[2]?.trim());case"date":return rB(Y,Z[2]?.trim());case"time":return oB(Y,Z[2]?.trim());default:return Y!==void 0?String(Y):`{${$}}`}}function dB($){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 mB($,X,Z){let J=Number($)||0,Y=i3(X),G=`=${J}`;if(Y[G])return d3(Y[G],J,Z);let Q=lB(J);if(Y[Q])return d3(Y[Q],J,Z);if(Y.other)return d3(Y.other,J,Z);return String(J)}function d3($,X,Z){let J=$.replace(/#/g,String(X));return OG(J,Z)}function lB($){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 cB($,X){let Z=String($||""),J=i3(X);if(J[Z])return J[Z];return J.other||String($)}function pB($,X){let Z=Number($)||0,J=i3(X),Y=iB(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 iB($){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 i3($){let X={},Z=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,J=Z.exec($);while(J!==null)X[J[1]]=J[2],J=Z.exec($);return X}function nB($,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 rB($,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 oB($,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 sB($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function _G($,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(sB(Q))return gB(Q,J);if(Q.includes("|")&&"count"in J){let w=Number(J.count),q=Q.split("|");Q=fB(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 LG($,X,Z,J){let Y=$,G=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,Q={...p3,...J.i18n},w=await xB(Q.locale,J);X.__translations=w,X.__locale=Q.locale,X.__i18nConfig=Q,Y=await HG(Y,G,async(K,z,U,B,j)=>{try{let _={};if(U)try{let O=[()=>JSON.parse(U),()=>{let L=`{"data":${U}}`,F=JSON.parse(L);return typeof F.data==="object"?F.data:{}},()=>{return k0(U,X)}];for(let L of O)try{if(_=L(),Object.keys(_).length>0)break}catch{}}catch(O){if(J.debug)console.error("Error parsing parameters for @translate directive:",O)}return _G(z,w,Q.fallbackToKey,_)||B.trim()}catch(_){if(J.debug)console.error("Error processing @translate directive:",_);return Z0("Translate",`Error in @translate('${z}'): ${_ instanceof Error?_.message:String(_)}`,a.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 HG(Y,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(K,z,U,B)=>{try{let j={};if(U)try{let _=[()=>JSON.parse(U),()=>{let H=`{"data":${U}}`,O=JSON.parse(H);return typeof O.data==="object"?O.data:{}},()=>{return k0(U,X)}];for(let H of _)try{if(j=H(),Object.keys(j).length>0)break}catch{}}catch(_){if(J.debug)console.error("Error parsing parameters for @translate directive:",_)}return _G(z,w,Q.fallbackToKey,j)}catch(j){if(J.debug)console.error("Error processing @translate directive:",j);return Z0("Translate",`Error in @translate('${z}'): ${j instanceof Error?j.message:String(j)}`,a.EVALUATION_ERROR)}}),Y}async function HG($,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 s7,p3,l3,a7,u3;var FG=E(()=>{V1();I0();p3={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},l3={},a7={},u3={}});var o3={};t(o3,{streamingSuspenseDirective:()=>RG,streamToResponse:()=>q_,streamTemplateSimple:()=>Y_,streamTemplate:()=>tB,renderStreamingPage:()=>$_,registerStreamingDirectives:()=>Q_,processStreamDirectives:()=>Z_,processSectionDirectives:()=>w_,islandDirective:()=>NG,generateHydrationRuntime:()=>W_,extractStreamBoundaries:()=>J_,createStreamRenderer:()=>G_,buildSuspenseResolveScript:()=>r3,SUSPENSE_RESOLVER_RUNTIME:()=>AG});import o$ from"path";function aB($){let X=[],Z=0,J;VG.lastIndex=0;while((J=VG.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 tB($,X={},Z={}){let J={...G5,...Z,streaming:{...n3,...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:o$.dirname($)};if(q.trim())await a1(q,K,$);let z=aB(W),U=new Set;if(!z.some((j)=>j.type==="suspense")){let j=J.streaming?.strategy||"auto",_=new RegExp(q5.source,"g");if(!(j!=="manual"&&_.test(W))){let O=await O0(W,K,$,J,U);for(let L=0;L<O.length;L+=Y)G.enqueue(O.slice(L,L+Y)),await new Promise((F)=>setTimeout(F,0))}else{let O=[],L=new RegExp(q5.source,"g"),F;while((F=L.exec(W))!==null)O.push({name:F[1],content:F[2],start:F.index,end:F.index+F[0].length});let V=0;for(let R of O){if(R.start>V){let N=W.slice(V,R.start);if(N.trim()){let M=await O0(N,K,$,J,U);G.enqueue(M),await new Promise((T)=>setTimeout(T,0))}}let A=await O0(R.content,K,$,J,U);G.enqueue(A),await new Promise((N)=>setTimeout(N,0)),V=R.end}if(V<W.length){let R=W.slice(V);if(R.trim()){let A=await O0(R,K,$,J,U);G.enqueue(A)}}}}else{let j=new Map;for(let H of z)if(H.type==="shell"||H.type==="content"){let O=await O0(H.content,K,$,J,U);G.enqueue(O)}else if(H.type==="suspense"&&H.name){let O=`stx-suspense-${H.name}`;G.enqueue(`<div id="${O}" data-suspense="${H.name}" style="display:contents;">
|
|
12100
12209
|
<template data-suspense-fallback>Loading...</template>
|
|
12101
12210
|
</div>`),j.set(H.name,O0(H.content,K,$,J,U))}G.enqueue(`
|
|
12102
12211
|
<script>
|
|
@@ -12114,13 +12223,13 @@ ${Y}`)}function iY($,X){let Z=$;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*
|
|
|
12114
12223
|
}
|
|
12115
12224
|
};
|
|
12116
12225
|
})();
|
|
12117
|
-
</script>`);let _=Array.from(j.entries()).map(async([H,
|
|
12226
|
+
</script>`);let _=Array.from(j.entries()).map(async([H,O])=>{G.enqueue(await r3(H,O))});await Promise.all(_)}G.close()}catch(Q){G.error(Q)}}})}async function r3($,X){try{let J=(await X).replace(/`/g,"\\`").replace(/<\/script>/gi,"<\\/script>");return`
|
|
12118
12227
|
<script>
|
|
12119
12228
|
window.__stxSuspense.resolve('${$}', \`${J}\`);
|
|
12120
12229
|
</script>`}catch(Z){let J=Z instanceof Error?Z.message:String(Z);return`
|
|
12121
12230
|
<script>
|
|
12122
|
-
window.__stxSuspense.resolve('${$}', '<div class="stx-error">Error loading content: ${
|
|
12123
|
-
</script>`}}function
|
|
12231
|
+
window.__stxSuspense.resolve('${$}', '<div class="stx-error">Error loading content: ${$1(J)}</div>');
|
|
12232
|
+
</script>`}}function eB($,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 $_($,X=[],Z={}){let J=Z.timeoutMs??0;return new ReadableStream({async start(Y){try{if(Y.enqueue($),X.length>0)Y.enqueue(AG),await Promise.all(X.map(async(G)=>{let Q=eB(G.render(),J,G.id);Y.enqueue(await r3(G.id,Q))}));Y.close()}catch(G){Y.error(G)}}})}function Z_($,X){return $.replace(X_,(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 J_($){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 Y_($,X={},Z={}){let J={...G5,...Z,streaming:{...n3,...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:o$.dirname($)};if(q.trim())await a1(q,K,$);let z=new Set,U=J.streaming?.strategy||"auto",B=new RegExp(q5.source,"g");if(!(U!=="manual"&&B.test(W))){let _=await O0(W,K,$,J,z);for(let H=0;H<_.length;H+=Y)G.enqueue(_.slice(H,H+Y))}else{let _=[],H=new RegExp(q5.source,"g"),O;while((O=H.exec(W))!==null)_.push({name:O[1],content:O[2],start:O.index,end:O.index+O[0].length});let L=0;for(let F of _){if(F.start>L){let R=W.slice(L,F.start);if(R.trim()){let A=await O0(R,K,$,J,z);G.enqueue(A)}}let V=await O0(F.content,K,$,J,z);G.enqueue(V),L=F.end}if(L<W.length){let F=W.slice(L);if(F.trim()){let V=await O0(F,K,$,J,z);G.enqueue(V)}}}G.close()}catch(Q){G.error(Q)}}})}async function G_($,X={}){let Z={...G5,...X,streaming:{...n3,...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;q5.lastIndex=0;while((W=q5.exec(Q))!==null){let U=W[1],B=W[2];q[U]=B}let K=Q.replace(q5,"");return{renderShell:async(U={})=>{let B={...U,__filename:$,__dirname:o$.dirname($)};return await a1(G,B,$),O0(K,B,$,Z,new Set)},renderSection:async(U,B={})=>{try{if(!q[U])return`<div class="error-message">Section "${$1(U)}" not found in template "${$1($)}"</div>`;let j={...B,__filename:$,__dirname:o$.dirname($)};await a1(G,j,$);let _=new Set;return await O0(q[U],j,$,Z,_)}catch(j){let _=j instanceof Error?j.message:String(j);return j0("Expression",_,$,q[U]||"",0,q[U]||"")}},getSections:()=>{return Object.keys(q)},getTemplate:()=>{return w}}}function Q_($={}){let X=[];if($.streaming?.enabled)X.push(RG);if($.hydration?.enabled)X.push(NG);return X}async function w_($,X,Z,J={}){return $}function q_($,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 W_($={mode:"full"}){let{mode:X,components:Z={},dynamicImports:J=!0}=$,Y=Object.entries(Z).map(([G,Q])=>`'${G}': ${J?`() => import('${Q}')`:`require('${Q}')`}`).join(`,
|
|
12124
12233
|
`);if(X==="loader")return`
|
|
12125
12234
|
(function() {
|
|
12126
12235
|
window.__stx = window.__stx || {};
|
|
@@ -12262,7 +12371,7 @@ else {
|
|
|
12262
12371
|
else {
|
|
12263
12372
|
stx.hydrate();
|
|
12264
12373
|
}
|
|
12265
|
-
})();`}var
|
|
12374
|
+
})();`}var n3,q5,VG,AG=`
|
|
12266
12375
|
<script>
|
|
12267
12376
|
(function(){
|
|
12268
12377
|
window.__stxSuspense = window.__stxSuspense || {
|
|
@@ -12282,25 +12391,25 @@ else {
|
|
|
12282
12391
|
}
|
|
12283
12392
|
};
|
|
12284
12393
|
})();
|
|
12285
|
-
</script>`,
|
|
12394
|
+
</script>`,X_,RG,NG;var s3=E(()=>{L1();q1();G$();D0();n3={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},q5=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,VG=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;X_=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;RG={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} -->`}},NG={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}">
|
|
12286
12395
|
${W}
|
|
12287
12396
|
<script type="application/json" data-island-props="${Q}">
|
|
12288
12397
|
${q?`{${q}}`:"{}"}
|
|
12289
12398
|
</script>
|
|
12290
|
-
</div>`}}});var
|
|
12291
|
-
`).length;Z.set(q,{count:1,firstLine:z})}}}let Q=[];for(let w of new Set([...Z.keys(),...J.keys()])){if(
|
|
12292
|
-
`}if(F){let b=[];if(K==="avif"||K==="auto"){let
|
|
12399
|
+
</div>`}}});var kG={};t(kG,{warnUnbalancedTags:()=>a3,findUnbalancedTags:()=>MG});function g5($){return $.replace(/[^\n]/g," ")}function MG($){let X=$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,g5).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,g5).replace(/<!--[\s\S]*?-->/g,g5).replace(/\{\{\{[\s\S]*?\}\}\}/g,g5).replace(/\{\{[\s\S]*?\}\}/g,g5).replace(/\{!![\s\S]*?!!\}/g,g5),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(K_.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(`
|
|
12400
|
+
`).length;Z.set(q,{count:1,firstLine:z})}}}let Q=[];for(let w of new Set([...Z.keys(),...J.keys()])){if(z_.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 a3($,X){let Z;try{Z=MG($)}catch{return}if(Z.length===0)return;let J=`${X}:${$.length}`;if(TG.has(J))return;TG.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 K_,z_,TG;var t3=E(()=>{K_=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),z_=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);TG=new Set});import a0 from"path";import e3 from"fs";function IG($){return $.split("-").map((X)=>X.charAt(0).toUpperCase()+X.slice(1)).join("")}function EG($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class DG{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(),IG(Y),EG(Y)];for(let j of B)if(G.has(j))return G.get(j)}let Q=[...new Set([`${Y}.stx`,`${IG(Y)}.stx`,`${EG(Y)}.stx`])];if(Y.startsWith("./")||Y.startsWith("../")){let B=a0.resolve(a0.dirname(X),`${Y}.stx`);if(await n(B))return B;return null}let w=[],q=Z.componentsDir||"",W=J?.__originalFilePath;if(W)w.push(a0.join(a0.dirname(W),"components"));if(q)w.push(q);let K=a0.join(a0.dirname(X),"components");if(!w.includes(K))w.push(K);let z=process.cwd(),U=[a0.resolve(z,"src/components"),a0.resolve(z,"components"),a0.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 _=a0.join(B,j);if(await n(_))return _}try{if(!e3.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let _=e3.readdirSync(B,{withFileTypes:!0});for(let H of _)if(H.isDirectory()){let O=a0.join(B,H.name);for(let L of Q){let F=a0.join(O,L);if(await n(F))return F}}}catch{}}return null}}var m0;var $4=E(()=>{D0();m0=new DG});function S0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function yG($){return $.indexOf("\x00")===-1?$:$.replace(/\0/g,"")}var W5="\x00stx-boolean-attribute";function h5($,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(S0(G));continue}if(Y===W5){Z.push(S0(G));continue}Z.push(`${S0(G)}="${S0(yG(String(Y)))}"`)}return Z}var s$=()=>{};function t7($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function U_($){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 X4;var Z4=E(()=>{s$();X4={name:"StxLink",aliases:["stx-link"],render($,X,Z){let J=U_($),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="${t7(J.value)}"`);else q.push(`href="${t7(J.value)}"`);if(Y)q.push(`class="${t7(Y)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${t7(G)}"`),q.push(`data-stx-exact-active-class="${t7(Q)}"`),w)q.push("data-stx-prefetch");let W=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return q.push(...h5($,W)),`<a ${q.join(" ")}>${X}</a>`}}});function C0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function f0($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}function Y4($,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 bG($){if($.includes("(")||$.includes(","))return $;let X=$.trim().split(/\s+/),Z=[];for(let J of X)if(J.includes(":")){let[Y,G]=J.split(":"),Q=j_[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 G4($,X,Z,J){return X.map((Y)=>`${e7($,Y,void 0,Z,J)} ${Y}w`).join(", ")}function B_($,X,Z,J,Y){return X.map((G)=>{let Q=Z?Z*G:void 0;return`${e7($,Q,void 0,J,Y)} ${G}x`}).join(", ")}function e7($,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 __($,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 j_,J4,Q4;var w4=E(()=>{s$();j_={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},J4=[320,640,768,1024,1280,1536,1920];Q4={name:"StxImage",aliases:["stx-image","stx-img"],render($,X,Z){let J=f0($,"src")||"",Y=f0($,"alt")||"",G=f0($,"width"),Q=f0($,"height"),w=f0($,"sizes"),q=f0($,"srcset"),W=f0($,"densities"),K=f0($,"format"),z=f0($,"placeholder"),U=f0($,"placeholderColor")||"#e5e7eb",B=f0($,"provider"),j=f0($,"class")||f0($,"className")||"",_=f0($,"style")||"",H=f0($,"quality"),O=Y4($,"lazy",!0),L=Y4($,"preload",!1),F=Y4($,"picture",!1)||!!K,V=G?Number.parseInt(G):void 0,R=Q?Number.parseInt(Q):void 0,A=q||"",N="";if(!A&&w)A=G4(J,J4,B,K),N=bG(w);else if(!A&&W){let b=W.split(/\s+/).map((y)=>Number.parseFloat(y.replace("x","")));A=B_(J,b,V,B,K)}else if(w)N=bG(w);let M=[];if(_)M.push(_);if(V&&R)M.push(`aspect-ratio:${V}/${R}`);if(z==="blur"||z==="color"||z==="thumbhash"){let b=__(V||16,R||9,U);M.push(`background-image:url(${b})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat")}else if(z&&z!=="empty"&&z!=="none")M.push(`background-image:url(${C0(z)})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat");let T=e7(J,V,R,B,K),k=[];if(k.push(`src="${C0(T)}"`),k.push(`alt="${C0(Y)}"`),G)k.push(`width="${C0(G)}"`);if(Q)k.push(`height="${C0(Q)}"`);if(O)k.push('loading="lazy"');if(k.push('decoding="async"'),j)k.push(`class="${C0(j)}"`);if(M.length>0)k.push(`style="${C0(M.join(";"))}"`);if(A)k.push(`srcset="${C0(A)}"`);if(N)k.push(`sizes="${C0(N)}"`);let D=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);k.push(...h5($,D));let I=`<img ${k.join(" ")} />`,S="";if(L){let y=K==="webp"?"image/webp":K==="avif"?"image/avif":"";S=`<link rel="preload" as="image" href="${C0(T)}"${y?` type="${y}"`:""}${A?` imagesrcset="${C0(A)}"`:""}${N?` imagesizes="${C0(N)}"`:""} />
|
|
12401
|
+
`}if(F){let b=[];if(K==="avif"||K==="auto"){let y=e7(J,V,R,B,"avif"),v=A?G4(J,J4,B,"avif"):`${y}`;b.push(`<source type="image/avif" srcset="${C0(v)}"${N?` sizes="${C0(N)}"`:""} />`)}if(K==="webp"||K==="auto"){let y=e7(J,V,R,B,"webp"),v=A?G4(J,J4,B,"webp"):`${y}`;b.push(`<source type="image/webp" srcset="${C0(v)}"${N?` sizes="${C0(N)}"`:""} />`)}return`${S}<picture>
|
|
12293
12402
|
${b.join(`
|
|
12294
12403
|
`)}
|
|
12295
12404
|
${I}
|
|
12296
|
-
</picture>`}return`${S}${I}`}}});function
|
|
12405
|
+
</picture>`}return`${S}${I}`}}});function $8($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function u5($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var SG="/images/safe-image-default.svg",H_,q4;var W4=E(()=>{s$();H_=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${SG}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,q4={name:"SafeImage",aliases:["safe-image","safe-img"],render($,X,Z){let J=u5($,"src")||"",Y=u5($,"alt")||"",G=u5($,"fallback")||SG,Q=u5($,"class")||u5($,"className")||"",w=u5($,"fallbackClassName")||"",q=[];if(q.push(`src="${$8(J)}"`),q.push(`alt="${$8(Y)}"`),Q)q.push(`class="${$8(Q)}"`);if(q.push(`data-fallback="${$8(G)}"`),w)q.push(`data-fallback-class="${$8(w)}"`);q.push('onerror="window.__stxSafeImageHandler(this)"');let W=new Set(["src","alt","fallback","class","className","fallbackClassName"]);q.push(...h5($,W));let K=`<img ${q.join(" ")} />`,z=Z.context;if(!z.__safeImageHandlerEmitted)return z.__safeImageHandlerEmitted=!0,`${H_}${K}`;return K}}});function K4($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function X8($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}function a$($,X,Z){let J=X8($,X);if(J!==void 0){let Y=Number.parseInt(J,10);if(!Number.isNaN(Y))return Y}return Z}var z4;var U4=E(()=>{z4={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,X,Z){let J=K4(X8($,"color")||"#6366f1"),Y=K4(X8($,"initialColor")||X8($,"initial-color")||""),G=K4(X8($,"height")||"3px"),Q=a$($,"duration",2000),w=a$($,"throttle",200),q=a$($,"zIndex",999999)||a$($,"z-index",999999),W=Y?`linear-gradient(to right, ${Y}, ${J})`:J;return`
|
|
12297
12406
|
<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">
|
|
12298
12407
|
<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>
|
|
12299
12408
|
</div>
|
|
12300
12409
|
<style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
|
|
12301
12410
|
<script>
|
|
12302
12411
|
(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()})})();
|
|
12303
|
-
</script>`}}});function
|
|
12412
|
+
</script>`}}});function PG($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}function O_($,X,Z){let J=PG($,X);if(J!==void 0){let Y=Number.parseInt(J,10);if(!Number.isNaN(Y))return Y}return Z}var CG,j4;var B4=E(()=>{CG={"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%)"},j4={name:"StxToast",aliases:["stx-toast"],render($,X,Z){let J=S0(PG($,"position")||"top-right"),Y=O_($,"max",5),G=CG[J]||CG["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>
|
|
12304
12413
|
<style>
|
|
12305
12414
|
@keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
|
|
12306
12415
|
@keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
|
|
@@ -12308,7 +12417,7 @@ ${I}
|
|
|
12308
12417
|
@keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
|
|
12309
12418
|
@keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
|
|
12310
12419
|
@keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
|
|
12311
|
-
</style>`}}});function
|
|
12420
|
+
</style>`}}});function t$($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var vG,_4;var H4=E(()=>{vG={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)"},_4={name:"StxModal",aliases:["stx-modal"],render($,X,Z){let J=t$($,"id");if(!J)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let Y=S0(J),G=t$($,"size")||"md",Q=t$($,"closeOnBackdrop")!=="false",w=t$($,"closeOnEscape")!=="false",q=vG[G]||vG.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">
|
|
12312
12421
|
<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)">
|
|
12313
12422
|
<div style="padding:1.5rem">${X}</div>
|
|
12314
12423
|
</div>
|
|
@@ -12317,7 +12426,7 @@ ${I}
|
|
|
12317
12426
|
@media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
|
|
12318
12427
|
.stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
|
|
12319
12428
|
.stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
|
|
12320
|
-
</style>`}}});function d5($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var
|
|
12429
|
+
</style>`}}});function d5($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var xG,O4;var L4=E(()=>{xG={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},O4={name:"StxDrawer",aliases:["stx-drawer"],render($,X,Z){let J=d5($,"id");if(!J)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let Y=S0(J),G=d5($,"side")||"right",Q=d5($,"size")||"md",w=d5($,"closeOnBackdrop")!=="false",q=d5($,"closeOnEscape")!=="false",W=d5($,"overlay")!=="false",K=xG[Q]||xG.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">
|
|
12321
12430
|
<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">
|
|
12322
12431
|
<div style="padding:1.5rem">${X}</div>
|
|
12323
12432
|
</div>
|
|
@@ -12326,18 +12435,18 @@ ${I}
|
|
|
12326
12435
|
@media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
|
|
12327
12436
|
.stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
|
|
12328
12437
|
.stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
|
|
12329
|
-
</style>`}}});import{existsSync as
|
|
12330
|
-
`||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 gG($){return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/'/gi,"'").replace(/&/g,"&")}function hG($,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 uG=D(()=>{T0();k0();r1()});var nG={};a(nG,{processESImports:()=>pG,processComponents:()=>Z9});import X9 from"fs";import i0 from"path";function O_($,X,Z){let J={static:{},staticNames:{},serverDynamic:{},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=n0(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(l2),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]=hG(K,Z);continue}if(z.startsWith(":")){let U=w(z.slice(1)),B=K===W5?U:K;if(U==="if"||U==="for"||U==="show"){J.clientReactive[U]=B;continue}if(G(B)){J.clientReactive[U]=B;continue}try{if(!q0(B)){if(Z.debug)console.error(`Unsafe expression in :${U} binding: ${B}`);J.clientReactive[U]=B;continue}let j=Object.keys(X),H=W0(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}}J.serverDynamic[U]=H}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(q0(B)){let _=W0(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(!q0(H)){if(Z.debug)console.error(`Unsafe expression in ${z}: ${H}`);continue}let O=W0(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===W5?"true":gG(K))}return J}function L_($){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]=W5}return X}function mG($){return Object.entries($).map(([X,Z])=>Z===W5?X:`${X}="${F_(Z)}"`).join(" ")}function F_($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function V_($){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(d0.isBuiltin(Y))X.add(Y)}return[...X].sort()}function A_($){let X=lG.get($);if(X)return X;let Z=new Map,J=[i0.join($,"src"),i0.join($,"dist"),$];function Y(G,Q){if(Q>6)return;let w;try{w=X9.readdirSync(G,{withFileTypes:!0})}catch{return}for(let q of w){let W=i0.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 lG.set($,Z),Z}function R_($,X){if($.startsWith(".")||$.startsWith("/"))return null;let Z=X;while(!0){let J=i0.join(Z,"node_modules",$);try{if(X9.statSync(J).isDirectory())return J}catch{}let Y=i0.dirname(Z);if(Y===Z)return null;Z=Y}}async function pG($,X,Z,J,Y){if(!$.includes("import"))return $;if(!X.__importedComponents)X.__importedComponents=new Map;let G=X.__importedComponents,Q=i0.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=i0.resolve(Q,F);if(T.endsWith(".stx"))A=T;else{let M=`${T}.stx`;try{if(X9.statSync(M).isFile())A=M}catch{try{if(X9.statSync(T).isDirectory())V=T}catch{}}}}else V=R_(F,Q);if(!V&&!A)continue;let R=!1,N=(T,M)=>{G.set(T,M),G.set(T.toLowerCase(),M);let k=T.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();G.set(k,M),Y.add(M)};if(O&&A)N(O,A),R=!0;else if(L){let T=L.slice(1,-1).split(",").map((k)=>k.trim()).filter(Boolean).map((k)=>{let y=k.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(y)return{source:y[1],local:y[2]};return{source:k,local:k}}),M=V?A_(V):null;for(let{source:k,local:y}of T){let I=null;if(A)I=A;else if(M)I=M.get(k)??M.get(k.toLowerCase())??M.get(k.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(I)N(y,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 N_($,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=[i0.resolve(i0.dirname(Z),`${U}.stx`),i0.resolve(i0.dirname(Z),U),i0.resolve(J.componentsDir||"components",`${U}.stx`),i0.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 T_($,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=N0(O,X)}catch(y){let I=y instanceof Error?y.message:String(y);G=G.replace(G.substring(K,_),`[Error parsing component props: ${I}]`);continue}let R="",N=_,M=G.substring(_).match(/^([\s\S]*?)@endcomponent/);if(M)R=M[1].trim(),N=_+M[0].length;let k=await X5(L,A,R,Q,X,Z,J,w,Y);G=G.substring(0,K)+k+G.substring(N),q.lastIndex=0}return G}async function M_($,X,Z,J,Y){if(!$)return $;let G=$,Q=J.componentsDir||"components";if(!X.__processedComponents)X.__processedComponents=new Set;let w=X.__processedComponents,q=y1(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,H_),G=y7(G,q.scripts),G;async function U(B,j,_,H){if(!B)return B;let L=B,O=fG(L,j,H);for(let F=O.length-1;F>=0;F--){let V=O[F],A=_?$9(V.tagName):V.tagName,R=L_(V.attributes),N=O_(R,X,J),T=d0.getBuiltin(V.tagName),M=T?await J$(A,Q,X,Z,J):!1;if(T&&!M){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=cG(b,N.clientReactive);if(Object.keys(N.events).length>0){let C=mG(N.events);b=b.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${C}`)}L=L.substring(0,V.startIndex)+b+L.substring(V.endIndex);continue}if(!_&&V.tagName.includes("-")&&!await J$(A,Q,X,Z,J))continue;let k={};for(let[S,b]of Object.entries(N.static))k[S]=b;for(let[S,b]of Object.entries(N.serverDynamic))k[S]=b;let I=await X5(A,k,V.content,Q,X,Z,J,w,Y);if(Object.keys(N.clientReactive).length>0)I=cG(I,N.clientReactive);if(Object.keys(N.events).length>0){let S=iG(I);if(S){let b=mG(N.events),C=Object.keys(N.events).map((P)=>P.replace(/^@/,"").split(".")[0]).join(" ");I=I.substring(0,S.insertPos)+` data-stx-parent-events="${C}" ${b}`+I.substring(S.insertPos)}}L=L.substring(0,V.startIndex)+I+L.substring(V.endIndex)}return L}}function cG($,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])=>$9(K)).join(" "),Q=$,w=Y.length>0?iG(Q):null;if(w){let K=Y.map(([U,B])=>`:${$9(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 iG($){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 Z9($,X,Z,J,Y){if(!dG)vG(),dG=!0;let G=await pG($,X,Z,J,Y);G=await N_(G,X,Z,J,Y),G=await T_(G,X,Z,J,Y);let Q=[];for(let w=0;w<3;w++){let q=q1(G,D7,(K,z)=>`\x00STX_COMPONENT_COMMENT_${Q.length+z}\x00`);Q.push(...q.tokens);let W=G;if(G=await M_(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=V_(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 dG=!1,H_,lG;var N4=D(()=>{t3();xG();uG();r1();k0();T0();w1();H_=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"]);lG=new Map});var $Q={};a($Q,{processLoops:()=>M4,parseLoopBinding:()=>T4});function E_($,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=E0($,"(",")",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=N0(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 D_($,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=N0(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 y_($,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);I8(G);let W=W0(G,Q)(...w),K=JSON.stringify(W),z=Buffer.from(K,"utf8").toString("base64");return`__stx_${Y}="${z}"`}catch(Q){return J}}),Z}function b_($,X){let Z=$;return Z=J9(Z,"@break",(J)=>{try{let G=`!!(${J.trim()})`,Q;if(q0(G)){let w=W0(G,Object.keys(X));Q=Boolean(w(...Object.values(X)))}else Q=Boolean(J0(G,X));return Q?Y9:""}catch{return""}}),Z=J9(Z,"@continue",(J)=>{try{let G=`!!(${J.trim()})`,Q;if(q0(G)){let w=W0(G,Object.keys(X));Q=Boolean(w(...Object.values(X)))}else Q=Boolean(J0(G,X));return Q?G9:""}catch{return""}}),Z}function S_($){let X=$;return X=X.replace(/@break(?!\()/g,Y9),X=X.replace(/@continue(?!\()/g,G9),X}function rG($){let X=$.includes(Y9),Z=X?$.substring(0,$.indexOf(Y9)):$;return{hasBreak:X,content:Z}}function oG($){let X=$.includes(G9),Z=X?$.substring(0,$.indexOf(G9)):$;return{hasContinue:X,content:Z}}function aG($){let X=$;return X=J9(X,"@break",(Z)=>{let J=Z.trim();if(!E8(J))return"";return`\`; if (${J}) { break; } result += \``}),X=J9(X,"@continue",(Z)=>{let J=Z.trim();if(!E8(J))return"";return`\`; if (${J}) { continue; } result += \``}),X=X.replace(/@break(?!\()/g,"`; break; result += `"),X=X.replace(/@continue(?!\()/g,"`; continue; result += `"),X}function C_($){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=T4(_);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($),C=N.exec($);if(!C)break;if(b&&b.index<C.index)V++,A=b.index+b[0].length;else{if(V--,V===0){T=C.index;break}A=C.index+11}}if(T===-1)continue;let M=$.substring(F,T),k=T+11,y=-1,I=0,S=0;while(S<M.length){let b=M.indexOf("@",S);if(b===-1)break;let C=M.substring(b);if(/^@forelse\s*\(/.test(C))I++,S=b+1;else if(C.startsWith("@endforelse"))I--,S=b+11;else if(I===0&&C.startsWith("@empty")){if(M.length<=b+6||!/[a-z]/i.test(M[b+6])){y=b;break}S=b+1}else S=b+1}if(y===-1)continue;return{start:K,end:k,arrayExpr:L,itemVar:O,foreachContent:M.substring(0,y),emptyContent:M.substring(y+6)}}return null}function sG($,X){let Z=$;while(!0){let J=C_(Z);if(!J)break;let{start:Y,end:G,arrayExpr:Q,itemVar:w,foreachContent:q,emptyContent:W}=J;try{let K;if(q0(Q))K=W0(Q,Object.keys(X))(...Object.values(X));else K=J0(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=Z0("Forelse",`Error in @forelse(${Q} as ${w}): ${z}`,o.EVALUATION_ERROR);Z=Z.substring(0,Y)+U+Z.substring(G)}}return Z}function T4($){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 M4($,X,Z,J){let Y=$;Y=sG(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=T4(H);if(!L)continue;let O=z,{arrayExpr:F,itemVar:V}=L,A=_+1,R=1,N=A,T=/@foreach\s*\(/g,M=/@endforeach/g;while(R>0&&N<q.length){T.lastIndex=N,M.lastIndex=N;let k=T.exec(q),y=M.exec(q);if(!y)break;if(k&&k.index<y.index)R++,N=k.index+k[0].length;else{if(R--,R===0){let I=q.substring(A,y.index),S=y.index+11;return{start:O,end:S,arrayExpr:F,itemVar:V,content:I}}N=y.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(q0(L))O=W0(L,Object.keys(W))(...Object.values(W));else O=J0(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 y=Z0("Foreach",`Error in @foreach: ${L} is not iterable`,o.TYPE_ERROR);K=K.substring(0,U)+y+K.substring(B);continue}let V=J?.loops?.useAltLoopVariable??I_,A=_.trim(),R=null,N,T=!1;if(A.includes("=>")){let y=A.split("=>").map((I)=>I.trim());if(y.length===2&&y[0]&&y[1])R=y[0],N=y[1];else N=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let y=A.split(",").map((I)=>I.trim());if(y.length===2&&y[0]&&y[1])N=y[0],R=y[1],T=!0;else N=A}else N=A;let M="",k=O;for(let y=0;y<k.length;y++){let I=k[y],S={index:y,iteration:y+1,first:y===0,last:y===k.length-1,count:k.length},b={...W,loop:S,$loop:S};if(N.startsWith("[")&&N.endsWith("]")){let f=N.slice(1,-1).split(",").map((l)=>l.trim());if(Array.isArray(I))f.forEach((l,$0)=>{if(l)b[l]=I[$0]});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]=y;let C=b_(H,b),P=oG(C);if(P.hasContinue){M+=P.content;continue}let x=rG(C);if(x.hasBreak){M+=x.content;break}if(C=sG(C,b),C=Q(C,b),C=Q5(C,b,Z),C=S_(C),x=rG(C),x.hasBreak){M+=x.content;break}if(P=oG(C),P.hasContinue){M+=P.content;continue}C=b1(C,b,Z),C=y_(C,b),C=D_(C,b),C=E_(C,b),M+=C}K=K.substring(0,U)+M+K.substring(B)}catch(L){let O=Z0("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=eG(Y,X,Z,J);let w=J?.loops?.maxWhileIterations??k_;return Y=x_(Y,X,w),Y}function tG($){return E8($)}function eG($,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=E0(Y,"(",")",q);if(W===-1)break;let K=Y.slice(q+1,W),z=W+1,U=x8(Y.slice(w),"for","endfor");if(U.length===0)break;let B=U[0].content,j=w+U[0].end;if(!tG(K)){let _=Z0("For",`Unsafe expression in @for: ${K}`,o.UNSAFE_EXPRESSION);Y=Y.substring(0,w)+_+Y.substring(j),G=!0;continue}try{let _=P_(K),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(_.length>0&&H){let R=v_({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=aG(F);let A=Function(...L,`
|
|
12438
|
+
</style>`}}});import{existsSync as L_,readFileSync as F_}from"fs";function V_($){if(fG.has($))return;fG.add($),console.warn(`[stx] icon collection "${$}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${$}\`.`)}function A_($){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(L_(Z))return Z;for(let Z of[`@iconify-json/${$}/icons.json`,`@iconify/json/json/${$}.json`])try{return U0.resolve(Z)}catch{}return null}function R_($){if(e$.has($))return e$.get($);let X=A_($);if(!X)return V_($),null;try{let Z=JSON.parse(F_(X,"utf8"));return e$.set($,Z.icons),Z.icons}catch{return null}}function m5($,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 e$,fG,F4;var V4=E(()=>{e$=new Map,fG=new Set;F4={name:"Icon",aliases:["icon","stx-icon"],render($,X,Z){let J=m5($,"name")??m5($,"icon");if(!J)return"<!-- Icon: missing name/icon prop -->";let Y="lucide",G=J;if(J.includes(":")){let L=J.split(":");Y=L[0],G=L[1]}let Q=S0(m5($,"size")||"24"),w=S0(m5($,"color")||"currentColor"),q=S0(m5($,"class")||""),W=S0(m5($,"style")||""),K=e$.get(Y)??R_(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}`,_=z.body;if(w!=="currentColor")_=_.replace(/currentColor/g,w);let H=q?` class="${q}"`:"",O=W?` style="${W}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${Q}" height="${Q}" viewBox="${j}" fill="none"${H}${O}>${_}</svg>`}}});function gG($,...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 hG($,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 A4;var R4=E(()=>{A4={name:"Suspense",aliases:["suspense"],render($,X,Z){let J=hG(X,"fallback"),Y=J.rest,G=hG(Y,"error"),Q=G.rest,w=J.region??gG($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',q=G.region??gG($,"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 $9($,...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 N4;var T4=E(()=>{N4={name:"TransitionGroup",aliases:["transition-group"],render($,X,Z){let J=($9($,"name")||"v").replace(/["'<>]/g,""),Y=($9($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",G=$9($,"class"),Q=$9($,"id"),w=[`data-stx-transition-group="${J}"`,G?`class="${G}"`:"",Q?`id="${Q}"`:""].filter(Boolean).join(" ");return`<${Y} ${w}>${X}</${Y}>`}}});function uG(){m0.registerBuiltin(X4),m0.registerBuiltin(Q4),m0.registerBuiltin(q4),m0.registerBuiltin(z4),m0.registerBuiltin(j4),m0.registerBuiltin(_4),m0.registerBuiltin(O4),m0.registerBuiltin(F4),m0.registerBuiltin(A4),m0.registerBuiltin(N4)}var dG=E(()=>{Z4();w4();W4();U4();B4();H4();L4();V4();R4();T4();$4();Z4();w4();W4();U4();B4();H4();L4();V4();R4();T4()});function X9($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function mG($,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 _=G+1+q.length;while(_<$.length&&$[_]!==">")_++;Y=_+1;continue}let W=G+1+q.length,K=null,z=W,U=-1,B=!1;while(W<$.length){let _=$[W];if(K){if(_==="\\"&&W+1<$.length){W+=2;continue}if(_===K)K=null;W++;continue}if(_==='"'||_==="'"){K=_,W++;continue}if(_==="/"&&W+1<$.length&&$[W+1]===">"){U=W+2,B=!0;break}if(_===">"){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 _=`<${q}`,H=`</${q}>`,O=1,L=U,F=-1;while(O>0&&L<$.length){let A=$.indexOf(_,L),N=$.indexOf(H,L);if(N===-1)break;if(A!==-1&&A<N){let M=$[A+_.length];if(M===" "||M===">"||M==="/"||M===`
|
|
12439
|
+
`||M==="\t")O++;L=A+_.length}else{if(O--,O===0){F=N;break}L=N+H.length}}if(F===-1){Y=U;continue}let V=$.slice(U,F),R=F+H.length;J.push({fullMatch:$.slice(G,R),tagName:q,attributes:j,content:V,startIndex:G,endIndex:R,isSelfClosing:!1}),Y=R}}return J}function lG($){return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/'/gi,"'").replace(/&/g,"&")}function cG($,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 pG=E(()=>{I0();D0();r1()});var tG={};t(tG,{processESImports:()=>sG,processComponents:()=>J9});import Z9 from"fs";import n0 from"path";function T_($,X,Z){let J={static:{},staticNames:{},serverDynamic:{},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=o0(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(n6),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]=cG(K,Z);continue}if(z.startsWith(":")){let U=w(z.slice(1)),B=K===W5?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=q0(B,j)(...Object.values(X));if(H===void 0){let O=B.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],L=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(O.some((V)=>!L.has(V)&&!j.includes(V))){J.clientReactive[U]=B;continue}}J.serverDynamic[U]=H}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 _=q0(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 L=q0(H,Object.keys(X))(...Object.values(X));B=B.replace(_[0],String(L??""))}catch(H){if(Z.debug)console.error(`Error evaluating expression in ${z}:`,H)}q(z,B)}continue}q(z,K===W5?"true":lG(K))}return J}function M_($){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]=W5}return X}function nG($){return Object.entries($).map(([X,Z])=>Z===W5?X:`${X}="${k_(Z)}"`).join(" ")}function k_($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function I_($){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(m0.isBuiltin(Y))X.add(Y)}return[...X].sort()}function E_($){let X=rG.get($);if(X)return X;let Z=new Map,J=[n0.join($,"src"),n0.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=n0.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 rG.set($,Z),Z}function D_($,X){if($.startsWith(".")||$.startsWith("/"))return null;let Z=X;while(!0){let J=n0.join(Z,"node_modules",$);try{if(Z9.statSync(J).isDirectory())return J}catch{}let Y=n0.dirname(Z);if(Y===Z)return null;Z=Y}}async function sG($,X,Z,J,Y){if(!$.includes("import"))return $;if(!X.__importedComponents)X.__importedComponents=new Map;let G=X.__importedComponents,Q=n0.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,O,L,F]=j,V=null,R=null;if(F.startsWith(".")||F.startsWith("/")){let M=n0.resolve(Q,F);if(M.endsWith(".stx"))R=M;else{let T=`${M}.stx`;try{if(Z9.statSync(T).isFile())R=T}catch{try{if(Z9.statSync(M).isDirectory())V=M}catch{}}}}else V=D_(F,Q);if(!V&&!R)continue;let A=!1,N=(M,T)=>{G.set(M,T),G.set(M.toLowerCase(),T);let k=M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();G.set(k,T),Y.add(T)};if(L&&R)N(L,R),A=!0;else if(O){let M=O.slice(1,-1).split(",").map((k)=>k.trim()).filter(Boolean).map((k)=>{let D=k.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(D)return{source:D[1],local:D[2]};return{source:k,local:k}}),T=V?E_(V):null;for(let{source:k,local:D}of M){let I=null;if(R)I=R;else if(T)I=T.get(k)??T.get(k.toLowerCase())??T.get(k.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(I)N(D,I),A=!0}}if(A)_.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 y_($,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),O=null,L=[n0.resolve(n0.dirname(Z),`${U}.stx`),n0.resolve(n0.dirname(Z),U),n0.resolve(J.componentsDir||"components",`${U}.stx`),n0.resolve(J.componentsDir||"components",U),U.endsWith(".stx")?U:`${U}.stx`];for(let F of L)try{if(await Bun.file(F).exists()){O=F;break}}catch{}if(O){Q.set(H,O),Q.set(_,O),Q.set(_.toLowerCase(),O);let F=H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(Q.set(F,O),Y.add(O),J.debug)console.log(`Imported component: ${H} -> ${O}`)}else if(J.debug)console.warn(`Could not resolve imported component: ${U}`)}G=G.replace(W,""),w.lastIndex=0}return G}async function b_($,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 O=H[1],L,F=j.slice(H[0].length),V=F.match(/^\s*,\s*/);if(V)L=F.slice(V[0].length).trim();let R={};if(L)try{R=k0(L,X)}catch(D){let I=D instanceof Error?D.message:String(D);G=G.replace(G.substring(K,_),`[Error parsing component props: ${I}]`);continue}let A="",N=_,T=G.substring(_).match(/^([\s\S]*?)@endcomponent/);if(T)A=T[1].trim(),N=_+T[0].length;let k=await X5(O,R,A,Q,X,Z,J,w,Y);G=G.substring(0,K)+k+G.substring(N),q.lastIndex=0}return G}async function S_($,X,Z,J,Y){if(!$)return $;let G=$,Q=J.componentsDir||"components";if(!X.__processedComponents)X.__processedComponents=new Set;let w=X.__processedComponents,q=y1(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,N_),G=b7(G,q.scripts),G;async function U(B,j,_,H){if(!B)return B;let O=B,L=mG(O,j,H);for(let F=L.length-1;F>=0;F--){let V=L[F],R=_?X9(V.tagName):V.tagName,A=M_(V.attributes),N=T_(A,X,J),M=m0.getBuiltin(V.tagName),T=M?await Y$(R,Q,X,Z,J):!1;if(M&&!T){let S={context:X,filePath:Z,options:J,dependencies:Y},b=M.render(N,V.content,S);if(Object.keys(N.clientReactive).length>0)b=oG(b,N.clientReactive);if(Object.keys(N.events).length>0){let y=nG(N.events);b=b.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${y}`)}O=O.substring(0,V.startIndex)+b+O.substring(V.endIndex);continue}if(!_&&V.tagName.includes("-")&&!await Y$(R,Q,X,Z,J))continue;let k={};for(let[S,b]of Object.entries(N.static))k[S]=b;for(let[S,b]of Object.entries(N.serverDynamic))k[S]=b;let I=await X5(R,k,V.content,Q,X,Z,J,w,Y);if(Object.keys(N.clientReactive).length>0)I=oG(I,N.clientReactive);if(Object.keys(N.events).length>0){let S=aG(I);if(S){let b=nG(N.events),y=Object.keys(N.events).map((v)=>v.replace(/^@/,"").split(".")[0]).join(" ");I=I.substring(0,S.insertPos)+` data-stx-parent-events="${y}" ${b}`+I.substring(S.insertPos)}}O=O.substring(0,V.startIndex)+I+O.substring(V.endIndex)}return O}}function oG($,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])=>X9(K)).join(" "),Q=$,w=Y.length>0?aG(Q):null;if(w){let K=Y.map(([U,B])=>`:${X9(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 aG($){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(!iG)uG(),iG=!0;let G=await sG($,X,Z,J,Y);G=await y_(G,X,Z,J,Y),G=await b_(G,X,Z,J,Y);let Q=[];for(let w=0;w<3;w++){let q=w1(G,y7,(K,z)=>`\x00STX_COMPONENT_COMMENT_${Q.length+z}\x00`);Q.push(...q.tokens);let W=G;if(G=await S_(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=I_(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 iG=!1,N_,rG;var M4=E(()=>{$4();dG();pG();r1();D0();I0();e0();N_=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"]);rG=new Map});var GQ={};t(GQ,{processLoops:()=>I4,parseLoopBinding:()=>k4});function v_($,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=y0($,"(",")",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=k0(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_($,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 O=k0(H,X),L=JSON.stringify(O),F=`@component('${B}', ${L})`;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 Y9($,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 f_($,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);E8(G);let W=q0(G,Q)(...w),K=JSON.stringify(W),z=Buffer.from(K,"utf8").toString("base64");return`__stx_${Y}="${z}"`}catch(Q){return J}}),Z}function g_($,X){let Z=$;return Z=Y9(Z,"@break",(J)=>{try{let G=`!!(${J.trim()})`,Q;if(w0(G)){let w=q0(G,Object.keys(X));Q=Boolean(w(...Object.values(X)))}else Q=Boolean(Y0(G,X));return Q?G9:""}catch{return""}}),Z=Y9(Z,"@continue",(J)=>{try{let G=`!!(${J.trim()})`,Q;if(w0(G)){let w=q0(G,Object.keys(X));Q=Boolean(w(...Object.values(X)))}else Q=Boolean(Y0(G,X));return Q?Q9:""}catch{return""}}),Z}function h_($){let X=$;return X=X.replace(/@break(?!\()/g,G9),X=X.replace(/@continue(?!\()/g,Q9),X}function eG($){let X=$.includes(G9),Z=X?$.substring(0,$.indexOf(G9)):$;return{hasBreak:X,content:Z}}function $Q($){let X=$.includes(Q9),Z=X?$.substring(0,$.indexOf(Q9)):$;return{hasContinue:X,content:Z}}function ZQ($){let X=$;return X=Y9(X,"@break",(Z)=>{let J=Z.trim();if(!D8(J))return"";return`\`; if (${J}) { break; } result += \``}),X=Y9(X,"@continue",(Z)=>{let J=Z.trim();if(!D8(J))return"";return`\`; if (${J}) { continue; } result += \``}),X=X.replace(/@break(?!\()/g,"`; break; result += `"),X=X.replace(/@continue(?!\()/g,"`; continue; result += `"),X}function u_($){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=k4(_);if(!H)continue;let{arrayExpr:O,itemVar:L}=H,F=j+1,V=1,R=F,A=/@forelse\s*\(/g,N=/@endforelse/g,M=-1;while(V>0&&R<$.length){A.lastIndex=R,N.lastIndex=R;let b=A.exec($),y=N.exec($);if(!y)break;if(b&&b.index<y.index)V++,R=b.index+b[0].length;else{if(V--,V===0){M=y.index;break}R=y.index+11}}if(M===-1)continue;let T=$.substring(F,M),k=M+11,D=-1,I=0,S=0;while(S<T.length){let b=T.indexOf("@",S);if(b===-1)break;let y=T.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(T.length<=b+6||!/[a-z]/i.test(T[b+6])){D=b;break}S=b+1}else S=b+1}if(D===-1)continue;return{start:K,end:k,arrayExpr:O,itemVar:L,foreachContent:T.substring(0,D),emptyContent:T.substring(D+6)}}return null}function XQ($,X){let Z=$;while(!0){let J=u_(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=q0(Q,Object.keys(X))(...Object.values(X));else K=Y0(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=Z0("Forelse",`Error in @forelse(${Q} as ${w}): ${z}`,a.EVALUATION_ERROR);Z=Z.substring(0,Y)+U+Z.substring(G)}}return Z}function k4($){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 I4($,X,Z,J){let Y=$;Y=XQ(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,_),O=k4(H);if(!O)continue;let L=z,{arrayExpr:F,itemVar:V}=O,R=_+1,A=1,N=R,M=/@foreach\s*\(/g,T=/@endforeach/g;while(A>0&&N<q.length){M.lastIndex=N,T.lastIndex=N;let k=M.exec(q),D=T.exec(q);if(!D)break;if(k&&k.index<D.index)A++,N=k.index+k[0].length;else{if(A--,A===0){let I=q.substring(R,D.index),S=D.index+11;return{start:L,end:S,arrayExpr:F,itemVar:V,content:I}}N=D.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 O=j.trim(),L;if(w0(O))L=q0(O,Object.keys(W))(...Object.values(W));else L=Y0(O,W);let F=!1;if(!Array.isArray(L))if(L instanceof Map)L=Array.from(L),F=!0;else if(L instanceof Set)L=Array.from(L);else if(typeof L==="string")L=Array.from(L);else if(L&&typeof L==="object"&&!(L instanceof Date)&&!(L instanceof RegExp))L=Object.entries(L),F=!0;else{console.warn(`[stx] @foreach(${O}) in ${Z}: ${O} 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 D=Z0("Foreach",`Error in @foreach: ${O} is not iterable`,a.TYPE_ERROR);K=K.substring(0,U)+D+K.substring(B);continue}let V=J?.loops?.useAltLoopVariable??P_,R=_.trim(),A=null,N,M=!1;if(R.includes("=>")){let D=R.split("=>").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])A=D[0],N=D[1];else N=R}else if(!R.startsWith("[")&&!R.startsWith("{")&&R.includes(",")){let D=R.split(",").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])N=D[0],A=D[1],M=!0;else N=R}else N=R;let T="",k=L;for(let D=0;D<k.length;D++){let I=k[D],S={index:D,iteration:D+1,first:D===0,last:D===k.length-1,count:k.length},b={...W,loop:S,$loop:S};if(N.startsWith("[")&&N.endsWith("]")){let x=N.slice(1,-1).split(",").map((p)=>p.trim());if(Array.isArray(I))x.forEach((p,l)=>{if(p)b[p]=I[l]});else b[N]=I}else b[N]=I;if(A)if(!M&&F&&Array.isArray(I)&&I.length===2)b[A]=I[0],b[N]=I[1];else b[A]=D;let y=g_(H,b),v=$Q(y);if(v.hasContinue){T+=v.content;continue}let f=eG(y);if(f.hasBreak){T+=f.content;break}if(y=XQ(y,b),y=Q(y,b),y=Q5(y,b,Z),y=h_(y),f=eG(y),f.hasBreak){T+=f.content;break}if(v=$Q(y),v.hasContinue){T+=v.content;continue}y=b1(y,b,Z),y=f_(y,b),y=x_(y,b),y=v_(y,b),T+=y}K=K.substring(0,U)+T+K.substring(B)}catch(O){let L=Z0("Foreach",`Error in @foreach(${j.trim()} as ${_.trim()}): ${O instanceof Error?O.message:String(O)}`,a.EVALUATION_ERROR);K=K.substring(0,U)+L+K.substring(B)}}return K}Y=Q(Y,X),Y=YQ(Y,X,Z,J);let w=J?.loops?.maxWhileIterations??C_;return Y=l_(Y,X,w),Y}function JQ($){return D8($)}function YQ($,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=y0(Y,"(",")",q);if(W===-1)break;let K=Y.slice(q+1,W),z=W+1,U=f8(Y.slice(w),"for","endfor");if(U.length===0)break;let B=U[0].content,j=w+U[0].end;if(!JQ(K)){let _=Z0("For",`Unsafe expression in @for: ${K}`,a.UNSAFE_EXPRESSION);Y=Y.substring(0,w)+_+Y.substring(j),G=!0;continue}try{let _=d_(K),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(_.length>0&&H){let A=m_({forExpr:K,content:B,iterVarNames:_,context:X,filePath:Z,options:J});Y=Y.substring(0,w)+A+Y.substring(j),G=!0;continue}let O=Object.keys(X),L=Object.values(X),F=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(A,N)=>{return`\${${N}}`});F=ZQ(F);let R=Function(...O,`
|
|
12331
12440
|
let result = '';
|
|
12332
12441
|
for (${K}) {
|
|
12333
12442
|
result += \`${F}\`;
|
|
12334
12443
|
}
|
|
12335
12444
|
return result;
|
|
12336
|
-
`)(...
|
|
12445
|
+
`)(...L);Y=Y.substring(0,w)+R+Y.substring(j),G=!0}catch(_){let H=Z0("For",`Error in @for(${K}): ${_ instanceof Error?_.message:String(_)}`,a.EVALUATION_ERROR);Y=Y.substring(0,w)+H+Y.substring(j),G=!0}}return Y}function d_($){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 m_($){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",`
|
|
12337
12446
|
for (${X}) {
|
|
12338
12447
|
__pushIter([${J.join(", ")}])
|
|
12339
12448
|
}
|
|
12340
|
-
`),K=[];W(...q,(B)=>{K.push(B)});let z=G??"inline.stx",U="";for(let B of K){let j={...Y};J.forEach((H,
|
|
12449
|
+
`),K=[];W(...q,(B)=>{K.push(B)});let z=G??"inline.stx",U="";for(let B of K){let j={...Y};J.forEach((H,O)=>{j[H]=B[O]});let _=YQ(Z,j,G,Q);_=Q5(_,j,z),_=b1(_,j,z),U+=_}return U}function l_($,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=y0(J,"(",")",w);if(q===-1)break;let W=J.slice(w+1,q),K=f8(J.slice(Q),"while","endwhile");if(K.length===0)break;let z=K[0].content,U=Q+K[0].end;if(!JQ(W)){let B=Z0("While",`Unsafe expression in @while: ${W}`,a.UNSAFE_EXPRESSION);J=J.substring(0,Q)+B+J.substring(U),Y=!0;continue}try{let B=Object.keys(X),j=Object.values(X),_=z.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(L,F)=>{return`\${${F}}`});_=ZQ(_);let O=Function(...B,`
|
|
12341
12450
|
let result = '';
|
|
12342
12451
|
let maxIterations = ${Z}; // Configurable safety limit
|
|
12343
12452
|
let counter = 0;
|
|
@@ -12349,8 +12458,8 @@ ${I}
|
|
|
12349
12458
|
result += '<!-- [While Error [1104]]: Maximum iterations (${Z}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
|
|
12350
12459
|
}
|
|
12351
12460
|
return result;
|
|
12352
|
-
`)(...j);J=J.substring(0,Q)+
|
|
12353
|
-
`)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
|
|
12461
|
+
`)(...j);J=J.substring(0,Q)+O+J.substring(U),Y=!0}catch(B){let j=Z0("While",`Error in @while(${W}): ${B instanceof Error?B.message:String(B)}`,a.EVALUATION_ERROR);J=J.substring(0,Q)+j+J.substring(U),Y=!0}}return J}var C_=1000,P_=!1,G9="<!--__STX_BREAK__-->",Q9="<!--__STX_CONTINUE__-->";var E4=E(()=>{p$();V1();q1();g8();I0()});import B0 from"path";function D4($,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 c_($,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 p_($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function wQ($){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]!==`
|
|
12462
|
+
`)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 qQ($,X=""){let Z=wQ($).split(",").map((J)=>J.trim()).filter(Boolean);return`
|
|
12354
12463
|
(function() {
|
|
12355
12464
|
${R5("var",Z)}
|
|
12356
12465
|
var __destroyHooks = [];
|
|
@@ -12359,11 +12468,11 @@ ${I}
|
|
|
12359
12468
|
|
|
12360
12469
|
${$}
|
|
12361
12470
|
${X}})();
|
|
12362
|
-
`}function
|
|
12471
|
+
`}function WQ($,X){return`
|
|
12363
12472
|
// Register scope variables for STX runtime
|
|
12364
12473
|
if (!window.stx._scopes) window.stx._scopes = {};
|
|
12365
12474
|
var __scopeRegistration = { __destroyCallbacks: __destroyHooks };
|
|
12366
|
-
${
|
|
12475
|
+
${wQ($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeRegistration[${JSON.stringify(G)}] = ${G}; } catch (e) { /* not actually top-level */ }`).join(`
|
|
12367
12476
|
`)}
|
|
12368
12477
|
// #1767: when the bundler renamed a component const that collided with an
|
|
12369
12478
|
// inlined import (foo -> foo2), rebind the ORIGINAL template name to the
|
|
@@ -12371,7 +12480,7 @@ ${ZQ($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
|
|
|
12371
12480
|
// shadowing import. __stxScopeRenames is emitted by bundleClientScript.
|
|
12372
12481
|
try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
|
|
12373
12482
|
window.stx._scopes['${X}'] = __scopeRegistration;
|
|
12374
|
-
`}function
|
|
12483
|
+
`}function i_($,X){let Z=WQ($,X),J=`
|
|
12375
12484
|
(function() {
|
|
12376
12485
|
var __stxScopeEl = (typeof document !== 'undefined') ? document.querySelector('[data-stx-scope="${X}"]') : null;
|
|
12377
12486
|
var __stxPrevEl = (typeof window !== 'undefined') ? window.__STX_CURRENT_ELEMENT__ : undefined;
|
|
@@ -12380,73 +12489,73 @@ ${ZQ($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
|
|
|
12380
12489
|
} finally {
|
|
12381
12490
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
12382
12491
|
}
|
|
12383
|
-
})();`;return J+
|
|
12492
|
+
})();`;return J+qQ($,Z)+`
|
|
12384
12493
|
} finally {
|
|
12385
12494
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
12386
12495
|
}
|
|
12387
|
-
})();`}function
|
|
12388
|
-
`;continue}if(
|
|
12389
|
-
`}}if(
|
|
12390
|
-
`+
|
|
12391
|
-
`+
|
|
12392
|
-
`)})}var
|
|
12496
|
+
})();`}function n_($,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 o_($){if($.__onceStore instanceof Set)return $.__onceStore;return r_}async function y4($,X,Z,J,Y,G=new Set){let Q=J.partialsDir||B0.join(B0.dirname(Z),"partials");if(Q&&!B0.isAbsolute(Q))Q=B0.resolve(process.cwd(),Q);let w=c_($,"@partial","@include"),q=o_(X);w=w.replace(/@once([\s\S]*?)@endonce/g,(_,H,O)=>{let L=H.trim(),F=`${Z}:${L}`;if(q.has(F))return"";return q.add(F),H});{let _=/@includeIf\s*\(/g,H;while((H=_.exec(w))!==null){let O=H.index,L=O+H[0].length-1,F=1,V=L+1;while(V<w.length&&F>0){if(w[V]==="(")F++;else if(w[V]===")")F--;V++}if(F!==0)break;let R=w.substring(L+1,V-1),A=R.match(/^\s*['"]([^'"]+)['"]/);if(!A){_.lastIndex=V;continue}let N=A[1],M=W(N,Q,Z),T="";if(M&&await Bun.file(M).exists())Y.add(M),T=`@include(${R})`;w=w.substring(0,O)+T+w.substring(V),_.lastIndex=0}}for(let[_,H]of[["@includeWhen",!1],["@includeUnless",!0]]){let O=new RegExp(`${_.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),L;while((L=O.exec(w))!==null){let F=L.index,V=F+L[0].length-1,R=1,A=V+1;while(A<w.length&&R>0){if(w[A]==="(")R++;else if(w[A]===")")R--;A++}if(R!==0)break;let N=w.substring(V+1,A-1),M=D4(N,0);if(M===-1){O.lastIndex=A;continue}let T=N.substring(0,M).trim(),k=N.substring(M+1).trim(),D=k.match(/^\s*['"]([^'"]+)['"]/);if(!D){O.lastIndex=A;continue}let I=D[1],S=k.substring(D[0].length),b,y=D4(S,0);if(y!==-1)b=S.substring(y+1).trim();try{let v=`Boolean(${T})`,f;if(w0(v)){let l=q0(v,Object.keys(X));f=Boolean(l(...Object.values(X)))}else f=Boolean(Y0(v,X));let x=H?!f:f,p="";if(x){let l=W(I,Q,Z);if(l&&await Bun.file(l).exists())Y.add(l);p=`@include('${I}'${b?`, ${b}`:""})`}w=w.substring(0,F)+p+w.substring(A),O.lastIndex=0}catch(v){let f=v instanceof Error?v.message:String(v),x=j0("Include",`Error evaluating ${_} condition: ${f}`,Z,$,F);w=w.substring(0,F)+x+w.substring(A),O.lastIndex=0}}}{let _=/@each\s*\(/g,H;while((H=_.exec(w))!==null){let O=H.index,L=O+H[0].length-1,F=1,V=L+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 R=w.substring(L+1,V),A=w.substring(O,V+1),N=R.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!N){_.lastIndex=0,w=w.replace(A,"");continue}let[,M,T,k,D]=N;try{let I,S=T.trim();if(w0(S))I=q0(S,Object.keys(X))(...Object.values(X));else I=Y0(S,X);let b="";if(Array.isArray(I)&&I.length>0)for(let y of I){let v={...X,[k]:y},f=await U(M,v,$,O);b+=f}else if(D)b=await U(D,{},$,O);w=w.substring(0,O)+b+w.substring(V+1),_.lastIndex=0}catch(I){let S=I instanceof Error?I.message:String(I);w=w.substring(0,O)+j0("Each",`Error in @each: ${S}`,Z,$,O)+w.substring(V+1),_.lastIndex=0}}}{let _=/@includeFirst\s*\(/g,H;while((H=_.exec(w))!==null){let O=H.index,L=O+H[0].length-1,F=1,V=L+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 R=w.substring(L+1,V),A=w.substring(O,V+1),N=R.match(/^\s*(\[[^\]]+\])/);if(!N){_.lastIndex=0,w=w.replace(A,"");continue}let M=N[1],T=R.slice(N[0].length),k,D=T.match(/^\s*,\s*\{/);if(D){T=T.slice(D[0].length-1);let b=1,y=1;while(y<T.length&&b>0){if(T[y]==="{")b++;else if(T[y]==="}"){if(b--,b===0)break}y++}k=T.substring(0,y+1),T=T.slice(y+1)}let I,S=T.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(S)I=S[1];try{let b=JSON.parse(M.replace(/'/g,'"')),y={};if(k)try{y=k0(k,X)}catch(f){let x=f instanceof Error?f.message:String(f);if(J.debug){let p=j0("Include",`Error parsing includeFirst variables: ${x}`,Z,$,O,A);w=w.replace(A,()=>p)}else w=w.replace(A,()=>I||"");continue}let v=!1;for(let f of b){let x=W(f,Q,Z);if(!x)continue;if(await n(x)){let p=await U(f,y,$,O);w=w.replace(A,()=>p),v=!0;break}}if(!v)if(I!==void 0)w=w.replace(A,()=>I);else if(J.debug){let f=j0("Include",`None of the includeFirst paths exist: ${M}`,Z,$,O,A);w=w.replace(A,()=>f)}else w=w.replace(A,"")}catch(b){let y=b instanceof Error?b.message:String(b),v=j0("Include",`Error processing @includeFirst: ${y}`,Z,$,O,A);w=w.replace(A,()=>v)}_.lastIndex=0}}function W(_,H,O){try{let L=_;if(!_.endsWith(".stx"))L=`${_}.stx`;let F=B0.resolve(H),V=B0.resolve(B0.dirname(O)),R;if(!L.startsWith("./")&&!L.startsWith("../"))R=B0.resolve(H,L);else R=B0.resolve(V,L);let A=B0.normalize(R),N=A.startsWith(F+B0.sep)||A===F,M=A.startsWith(V+B0.sep)||A===V,T=!1,k=B0.dirname(V);if(A.startsWith(k+B0.sep)){if(!B0.relative(k,A).split(B0.sep).some((b)=>b.startsWith(".")&&b!=="."&&b!==".."))T=!0}if(!N&&!M&&!T)return console.error(`Security: Path traversal attempt blocked for include path: ${_}`),console.error(` Resolved to: ${A}`),console.error(` Allowed dirs: ${F}, ${V}`),null;return A}catch(L){return console.error(`Error resolving path ${_}: ${L}`),null}}let K=B0.resolve(Z);G.add(K);function z(_,H,O,L){return J.onIncludeError?.({includePath:_,templatePath:Z,message:H,partialsDir:Q}),j0("Include",H,Z,O,L)}async function U(_,H={},O,L){let F=W(_,Q,Z);if(!F)return z(_,`Could not resolve path for include: ${_}`,O,L);let V=B0.resolve(F);if(G.has(V)){let R=[...G,V].map((A)=>B0.basename(A)).join(" -> ");return z(_,`Circular include detected: ${R}`,O,L)}try{Y.add(F);let R;if(!R)try{R=await Bun.file(F).text()}catch(x){let p=x instanceof Error?x.message:String(x);return z(_,`Error loading include file ${_}: ${p}`,O,L)}if(R)R=R.replace(/\{\{--[\s\S]*?--\}\}/g,"");if(R&&R.includes("@stream")){let{processStreamDirectives:x}=await Promise.resolve().then(() => (s3(),o3));R=x(R,X)}if(R&&(J.debug||!l7()&&!y$()))try{let{warnUnbalancedTags:x}=await Promise.resolve().then(() => (t3(),kG));x(R,F)}catch{}let A=R;try{let{processESImports:x}=await Promise.resolve().then(() => (M4(),tG));await x(R,X,F,J,Y)}catch(x){if(J.debug)console.warn(`[stx] partial ES import extraction skipped for ${F}:`,x instanceof Error?x.message:x)}let N=C8(A);if(N)A=N.content.trim();let T=R.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),k="";if(T)k=`<style${T[1]}>${T[2]}</style>`;A=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),A=A.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let D={...X};D.__stx_signals_gate=F1(R);for(let[x,p]of Object.entries(H))D[x]=p;let I=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...R.matchAll(I)],b="",y=null;for(let x of S){let p=x[1]||"",l=x[2]||"",T0=p.includes("server"),W0=i1(p),A0="";try{let{extractAndStripCssImports:c,renderVendorStyleTags:_0}=await Promise.resolve().then(() => (D7(),L2)),M0=c(l,{filePath:F,projectRoot:process.cwd()});l=M0.code,A0=_0(M0.styles)}catch(c){if(J.debug)console.warn(`[stx] vendor-css extractor skipped for ${F}:`,c instanceof Error?c.message:c)}if(W0&&l.trim())l=n1(l);if(!T0)try{let{hasUserImports:c,bundleClientScript:_0}=await Promise.resolve().then(() => (T7(),N7));if(c(l))l=await _0(l,F,{projectRoot:process.cwd()})}catch(c){if(J.debug)console.warn(`[stx] bundler skipped for ${F}:`,c instanceof Error?c.message:c)}let s=p_(l);if(s&&!T0){y=`stx_scope_${B0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++QQ}`;let c=c0(l),_0=i_(c,y);b+=`${A0}<script data-stx-scoped data-stx-run="always">${_0}</script>
|
|
12497
|
+
`;continue}if(T0)try{let{extractVariables:c}=await Promise.resolve().then(() => (x7(),x8));await c(l,D,F)}catch(c){if(J.debug)console.warn(`Warning: Could not extract variables from server script in ${F}:`,c)}if(!T0&&!s){let c=p.replace(/\bclient\b/i,"").trim();y=`stx_scope_${B0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++QQ}`;let _0=c0(l),M0=WQ(_0,y),T1=qQ(_0,M0);b+=`${A0}<script data-stx-scoped data-stx-run="always"${c?` ${c}`:""}>${T1}</script>
|
|
12498
|
+
`}}if(y){let x=n_(A,y);if(A=x.html,x.mergedIntoExisting)b=b.replace(`window.stx._scopes['${y}']`,`window.stx._scopes['${x.mergedIntoExisting}']`),y=x.mergedIntoExisting}if(A.includes("@include")||A.includes("@partial"))A=await y4(A,D,F,J,Y,G);let{processLoops:v}=await Promise.resolve().then(() => (E4(),GQ)),f=v(A,D,F);if(f=Q5(f,D,F),f=b1(f,D,F),k)f+=`
|
|
12499
|
+
`+k;if(b)f+=`
|
|
12500
|
+
`+b;return f}catch(R){let A=R instanceof Error?R.message:String(R);return z(_,`Error processing include ${_}: ${A}`,O,L)}}let B=/@include\s*\(/g,j;while((j=B.exec(w))!==null){let _=j.index,H=_+j[0].length-1,O=1,L=H+1;while(L<w.length&&O>0){if(w[L]==="(")O++;else if(w[L]===")")O--;L++}if(O!==0)break;let F=w.substring(_,L),V=w.substring(H+1,L-1),R=V.match(/^\s*['"]([^'"]+)['"]/);if(!R){B.lastIndex=L;continue}let A=R[1],N,M=V.substring(R[0].length),T=D4(M,0);if(T!==-1)N=M.substring(T+1).trim();let k={};if(N)try{k=k0(N,X)}catch(I){let S=I instanceof Error?I.message:String(I);w=w.replace(F,j0("Include",`Error parsing include variables for ${A}: ${S}`,Z,$,_)),B.lastIndex=0;continue}let D=await U(A,k,$,_);w=w.substring(0,_)+D+w.substring(L),B.lastIndex=0}return w}function b4($,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,_=new RegExp(`@${G}\\(`),H=new RegExp(`@${Q}(?![a-z])`),O=1,L=j,F=-1;while(O>0&&L<q.length){let R=q.slice(L),A=R.match(_),N=R.match(H),M=A?L+A.index:1/0,T=N?L+N.index:1/0;if(M<T)O++,L=M+(A[0].length||1);else if(T<1/0){if(O--,O===0){F=T;break}L=T+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 S4($,X){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Z,J)=>{if(!X[J]||X[J].length===0)return"";return X[J].join(`
|
|
12501
|
+
`)})}var QQ=0,wI,r_;var KQ=E(()=>{wX();p$();q1();e0();E5();I0();D0();wI=new o1(500),r_=new Set});import*as C4 from"path";async function zQ($,X,Z=""){if(C4.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 jQ($,X,Z,"@js","@endjs")}async function UQ($,X,Z=""){if(C4.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 jQ($,X,Z,"@ts","@endts")}async function jQ($,X,Z,J,Y){let G=$,Q=I5(`${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),_=K.trim();if(J==="@ts")_=_.replace(/interface\s+\w+\s*\{[^}]*\}/g,"").replace(/type\s+\w+\s*=[^;]+;/g,"").replace(/(const|let|var)\s+(\w+)\s*:[^=]+=/g,"$1 $2 =").replace(/(\w+)\s*:[\w<>|&[\],\s]+(?=[,)])/g,"$1").replace(/\)\s*:[\w<>|&[\],\s]+(?=[{=>])/g,") ").replace(/<[\w<>|&[\],\s]+>/g,"").replace(/\s+as\s[\w<>|&[\],\s]+/g,"");let O=(_.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((A)=>A.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),L=O.length>0?`return { ${O.join(", ")} };`:"return {};",F=`
|
|
12393
12502
|
${_}
|
|
12394
|
-
${
|
|
12395
|
-
`,
|
|
12396
|
-
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${
|
|
12397
|
-
`)}}}return G}async function
|
|
12503
|
+
${L}
|
|
12504
|
+
`,R=Function(...B,F)(...j);if(R&&typeof R==="object")Object.assign(X,R);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=j0(`${J} Directive`,`Error executing code: ${B}`,Z,$,z,W);console.error(j),G=G.replace(W,"")}return G}var BQ=E(()=>{E5();D0()});function s_($,X="_method"){let Z=$.toUpperCase();if(Z==="GET"||Z==="POST")return"";return`<input type="hidden" name="${X}" value="${Z}">`}function _Q($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(X,Z,J,Y,G)=>{return s_(J,G||"_method")})}async function HQ($,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=j0("Middleware",`Error in middleware '${w.name}': ${q instanceof Error?q.message:String(q)}`,Z,$);G=G.replace(/<body[^>]*>/,`$&
|
|
12505
|
+
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${$1(W)}</div>
|
|
12506
|
+
`)}}}return G}async function OQ($,X,Z,J){return HQ($,X,Z,J,"before")}async function LQ($,X,Z,J){return HQ($,X,Z,J,"after")}var FQ=E(()=>{q1();D0()});function VQ($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(X,Z,J,Y,G)=>{try{let Q=Y?k0(Y,{}):{};return G7(J,Q,G==="true")}catch(Q){return console.error(`Error processing @route directive: ${Q}`),"#route-error"}})}var AQ=E(()=>{k1();k1();I0()});async function RQ($,X){let Z=$.split("/").pop()?.split(".")[0]||"";if(Z8.exact[$])for(let J of Z8.exact[$])await Promise.resolve(J(X,$));if(Z8.exact[Z])for(let J of Z8.exact[Z])await Promise.resolve(J(X,$));for(let{pattern:J,callback:Y}of Z8.patterns)if(J.test($)||J.test(Z))await Promise.resolve(Y(X,$))}var Z8;var NQ=E(()=>{Z8={patterns:[],exact:{}}});function e_($){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("/>")||t_.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 TQ($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((X)=>TQ(X)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,X])=>X).map(([X])=>X).join(" ");return $?String($):""}function MQ($,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(...e_($));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 _=U[1],H=U[2];if(p6(_))continue;if(H.includes("()")&&!H.includes(".get(")||H.includes("$store")||H.includes("$ref"))continue;try{let O=Object.keys(X),L=Object.values(X),F=H.match(/^([a-zA-Z_$][\w$]*)/);if(F&&!O.includes(F[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(F[1]))continue;let R=Function(...O,`return (${H})`)(...L);if(_==="class"){let A=TQ(R);if(A){let N=B.match(/\sclass="([^"]*)"/);if(N)B=B.replace(N[0],` class="${N[1]} ${A}"`);else B=B.replace(U[0],` class="${A}"`)}else B=B.replace(U[0],"");j=!0;continue}if(a_.has(_)){if(R)B=B.replace(U[0],` ${_}`);else B=B.replace(U[0],"");j=!0;continue}if(R===null||R===void 0||R===!1)B=B.replace(U[0],"");else{let A=String(R).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">");B=B.replace(U[0],` ${_}="${A}"`)}j=!0}catch{continue}}if(j){let _=W.endsWith("/>")?" /":"",O=`<${G[1]}${B}${_}>`;q.push({start:G.index,end:G.index+W.length,replacement:O})}}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 a_,t_;var kQ=E(()=>{e0();a_=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"]),t_=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function K5($,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()&&$H.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 ZH($,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 K1($,X){if(X.selfClosing)return{outerStart:X.start,outerEnd:X.end,innerHTML:""};let Z=ZH($,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 IQ($,X){return new RegExp(`(?:^|\\s)${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${X}=`)||$.includes(` ${X} `)||$.trimEnd().endsWith(` ${X}`)}function l5($,X){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),J=$.match(new RegExp(`${Z}="([^"]*)"`,"s"))||$.match(new RegExp(`${Z}='([^']*)'`,"s"));return J?J[1]:null}function u1($,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 d1($,X,Z){let J=X.selfClosing?" /":"",Y=`<${X.tag}${Z}${J}>`;return $.slice(0,X.start)+Y+$.slice(X.end)}function JH($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function YH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=l5(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 H=Q.split(",").map((F)=>F.trim()),O=H[0],L=H[1];q=`${w} as ${L} => ${O}`}else q=`${w} as ${Q}`;let W=u1(J.attrs,"v-for"),K=u1(W,":key").replace(/\s*v-bind:key="[^"]*"/g,""),z=K1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=d1(U,{...J,start:0,end:J.end-J.start},K),j=`@foreach(${q})
|
|
12398
12507
|
`,_=`${j}${B}
|
|
12399
|
-
@endforeach`;X=X.slice(0,z.outerStart)+_+X.slice(z.outerEnd),Z=z.outerStart+j.length}return X}function
|
|
12508
|
+
@endforeach`;X=X.slice(0,z.outerStart)+_+X.slice(z.outerEnd),Z=z.outerStart+j.length}return X}function GH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=l5(J.attrs,"v-if");if(Y===null){Z=J.end;continue}let G=[],Q=K1(X,J),w=u1(J.attrs,"v-if"),q=d1(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 _=X.slice(W).match(/^\s*/),H=_?_[0].length:0,O=K5(X,W+H);if(!O){K=!1;break}let L=l5(O.attrs,"v-else-if"),F=IQ(O.attrs,"v-else");if(L!==null){let V=K1(X,O),R=u1(O.attrs,"v-else-if"),A=d1(X.slice(V.outerStart,V.outerEnd),{...O,start:0,end:O.end-O.start},R);G.push({type:"else-if",expr:L,outerStart:W,outerEnd:V.outerEnd,element:A,parsedTag:O}),W=V.outerEnd}else if(F){let V=K1(X,O),R=u1(O.attrs,"v-else"),A=d1(X.slice(V.outerStart,V.outerEnd),{...O,start:0,end:O.end-O.start},R);G.push({type:"else",outerStart:W,outerEnd:V.outerEnd,element:A,parsedTag:O}),K=!1}else K=!1}let z=[];for(let _ of G)if(_.type==="if")z.push(`@if(${_.expr})
|
|
12400
12509
|
${_.element}`);else if(_.type==="else-if")z.push(`@elseif(${_.expr})
|
|
12401
12510
|
${_.element}`);else z.push(`@else
|
|
12402
12511
|
${_.element}`);z.push("@endif");let U=z.join(`
|
|
12403
|
-
`),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
|
|
12512
|
+
`),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 QH($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function wH($){let X=$,Z=0;while(Z<X.length){let J=K5(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=K1(X,J),z=X.slice(K.outerStart,K.outerEnd),U=d1(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=l5(J.attrs,"v-model");if(q===null){Z=J.end;continue}if(XH.has(J.tag)){let K=J.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${q}"`,z=K1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=d1(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=K1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=d1(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 qH($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function WH($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function KH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=l5(J.attrs,"v-html");if(Y===null){Z=J.end;continue}if(J.selfClosing){Z=J.end;continue}let G=K1(X,J),Q=u1(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 zH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=l5(J.attrs,"v-text");if(Y===null){Z=J.end;continue}if(J.selfClosing){Z=J.end;continue}let G=K1(X,J),Q=u1(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 UH($){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 jH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;if(!IQ(J.attrs,"v-once")){Z=J.end;continue}let Y=u1(J.attrs,"v-once"),G=K1(X,J),Q=X.slice(G.outerStart,G.outerEnd),q=`@once
|
|
12404
12513
|
${d1(Q,{...J,start:0,end:J.end-J.start},Y)}
|
|
12405
|
-
@endonce`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function
|
|
12406
|
-
${J}${$.slice(Z)}`}function
|
|
12407
|
-
${G[0]}`+Q+$.slice(Z+Y.length)}function
|
|
12408
|
-
${X[0]}${J.slice(Y)}`}var
|
|
12409
|
-
<meta name="stx-build" content="${X}">${$.slice(J)}`}var
|
|
12410
|
-
${$.slice(X)}`}function
|
|
12411
|
-
`),
|
|
12412
|
-
`),
|
|
12413
|
-
`),F=
|
|
12514
|
+
@endonce`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function BH($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function _H($){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 EQ($){if(!JH($))return $;let X=$;return X=YH(X),X=GH(X),X=jH(X),X=qH(X),X=WH(X),X=wH(X),X=QH(X),X=_H(X),X=KH(X),X=zH(X),X=UH(X),X=BH(X),X}var $H,XH;var DQ=E(()=>{$H=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),XH=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 w9($){return $.replace(/--/g,"- -").replace(/</g,"<").replace(/>/g,">")}function yQ($,X){let Z=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec($),J=Z?Z[1]:$,Y=Y0(J,X);if(Y&&typeof Y==="string")return Y;let G=J.trim();return P4.has(G)?G:null}function bQ($){let X=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec($);return X?X[1]:$}function SQ($,X,Z){let J=X.replace(/\s*(?::is|v-bind:is)\s*=\s*"[^"]*"/gi,"").trim(),Y=J?`<${$} ${J}>`:`<${$}>`;if(HH.has($))return J?`<${$} ${J}>`:`<${$}>`;return`${Y}${Z}</${$}>`}async function CQ($,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=yQ(K.expr,X);if(!z||typeof z!=="string"){let L=`<!-- dynamic component: could not resolve "${w9(bQ(K.expr))}" -->`;G=G.slice(0,K.index)+L+G.slice(K.index+K.full.length);continue}if(P4.has(z)){let L=SQ(z,K.attrs,K.slotContent);G=G.slice(0,K.index)+L+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,_;while((_=j.exec(U))!==null){let L=_[1]||_[2],F=_[3];if(_[1])try{B[L]=Y0(F,X)}catch{B[L]=F}else B[L]=F}let H=J.componentsDir||"components",O=await X5(z,B,K.slotContent,H,X,Z,J,new Set,Y??new Set);G=G.slice(0,K.index)+O+G.slice(K.index+K.full.length)}catch(z){let U=z instanceof Error?z.message:String(z),B=`<!-- dynamic component error: ${w9(U)} -->`;G=G.slice(0,K.index)+B+G.slice(K.index+K.full.length)}}return G=await OH(G,X,Z,J,Y),G}async function OH($,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=yQ(K.expr,X);if(!z||typeof z!=="string"){let j=`<!-- dynamic component: could not resolve "${w9(bQ(K.expr))}" -->`;G=G.slice(0,K.index)+j+G.slice(K.index+K.full.length);continue}if(P4.has(z)){let j=SQ(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 X5(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: ${w9(U)} -->`;G=G.slice(0,K.index)+B+G.slice(K.index+K.full.length)}}return G}var P4,HH;var PQ=E(()=>{D0();I0();P4=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"]),HH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"])});function RH($){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(!LH.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"||!AH.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"||!VH.test(Y)))throw Error(`colorMode.attribute must be a valid HTML attribute name \u2014 got ${JSON.stringify(Y)}`);if(G!==null&&!FH.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 NH($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function x4($={}){let X=RH($);return`<script data-stx-color-mode-boot>${`(function(){"use strict";var c=${NH(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 vQ($,X={}){if($.includes("data-stx-color-mode-boot"))return $;let Z=v4($);if(Z===null)return $;let J=x4(X);return`${$.slice(0,Z)}
|
|
12515
|
+
${J}${$.slice(Z)}`}function v4($){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 kH($){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=MH.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)+`
|
|
12516
|
+
${G[0]}`+Q+$.slice(Z+Y.length)}function xQ($){return IH(kH($))}function IH($){let X=TH.exec($);if(!X)return $;let Z=v4($);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=v4(J);if(Y===null)return $;return`${J.slice(0,Y)}
|
|
12517
|
+
${X[0]}${J.slice(Y)}`}var LH,FH,VH,AH,TH,MH;var f4=E(()=>{LH=new Set(["light","dark","auto","system"]),FH=new Set(["auto","system"]),VH=/^[a-z][\w:-]*$/i,AH=/^[\w-]+$/;TH=new RegExp("<script\\b[^>]*\\bdata-stx-color-mode-boot\\b[^>]*>[\\s\\S]*?<\\/script>","i"),MH=/<meta\b[^>]*\bcharset\b[^>]*>/i});function EH(){if(g4===null)g4=process.env.STX_BUILD_ID||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`;return g4}function fQ($,X=EH()){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)}
|
|
12518
|
+
<meta name="stx-build" content="${X}">${$.slice(J)}`}var g4=null;function R1($){return String($).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function DH($){return String($).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function h4($){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 c5($,X){return Object.entries($).filter(([Z])=>!X?.(Z)).map(([Z,J])=>`${Z}="${R1(String(J))}"`).join(" ")}function yH($={},X="en"){let Z=[],J=[],Y="",G=X;for(let[w,q]of Object.entries($||{})){if(q==null)continue;let W=w.trim();if(!hQ.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}="${R1(String(q))}"`),J.push(W)}let Q=` lang="${R1(G)}"`;if(Y)Q+=` class="${R1(Y)}"`;if(Q+=Z.join(""),Y)Q+=` ${W9}="${R1(Y)}"`;if(J.length)Q+=` ${q9}="${R1(J.join(" "))}"`;return Q}function uQ($={},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 dQ($,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(!hQ.test(U))continue;let B=U.toLowerCase();if(B==="class"){let j=(J.class||"").split(/\s+/).filter(Boolean);for(let _ of String(z).split(/\s+/).filter(Boolean))if(!j.includes(_))j.push(_),w.push(_);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(!(W9 in J))Y.push(W9);J[W9]=w.join(" ")}if(q.length){if(!(q9 in J))Y.push(q9);J[q9]=q.join(" ")}let W=Y.map((K)=>` ${K}="${R1(J[K])}"`).join("");return $.replace(Z[0],()=>`<html${W}>`)}function mQ($){if($.includes("data-stx-cloak"))return $;let X=$.lastIndexOf("</head>");if(X===-1)return $;return`${$.slice(0,X)}${gQ}
|
|
12519
|
+
${$.slice(X)}`}function bH($){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 SH($,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(h4).filter(Boolean)),H=[...B.filter((k)=>!j.has(h4(k))),...G].map((k)=>{return` <meta ${c5(k)}>`}).join(`
|
|
12520
|
+
`),O=Q.map((k)=>{return` <link ${c5(k)}>`}).join(`
|
|
12521
|
+
`),L=w.map((k)=>{if(k.src)return` <script ${c5(k,(D)=>D==="content")}></script>`;if(k.content)return` <script>${k.content}</script>`;return""}).filter(Boolean).join(`
|
|
12522
|
+
`),F=yH(W,Y),V=Object.entries(z).map(([k,D])=>` ${k}="${R1(String(D))}"`).join(""),R=K?` class="${R1(K)}"`:"",{body:A,hoisted:N}=bH($),M=[H,Z.colorMode?` ${x4(Z.colorMode)}`:"",` <title>${Z.titleIsHtml?U:DH(U)}</title>`,` ${gQ}`,O,L,q?` ${q}`:"",...(Z.styles||[]).map((k)=>` ${k}`),...N.map((k)=>` ${k}`),...(Z.headScripts||[]).map((k)=>` ${k}`),Z.headStack||""].filter(Boolean),T=[A,...(Z.bodyScripts||[]).map((k)=>k),Z.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
|
|
12414
12523
|
<html${F}>
|
|
12415
12524
|
<head>
|
|
12416
|
-
${
|
|
12525
|
+
${M.join(`
|
|
12417
12526
|
`)}
|
|
12418
12527
|
</head>
|
|
12419
|
-
<body${
|
|
12420
|
-
${
|
|
12528
|
+
<body${R}${V}>
|
|
12529
|
+
${T.join(`
|
|
12421
12530
|
`)}
|
|
12422
12531
|
</body>
|
|
12423
|
-
</html>`}function
|
|
12532
|
+
</html>`}function u4($){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 d4($){return u4($)}function lQ($,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=h4(W);if(K&&w.includes(K))continue;q.push(` <meta ${c5(W)}>`)}for(let W of Y){if(W.href&&w.includes(`href="${W.href}"`))continue;q.push(` <link ${c5(W)}>`)}for(let W of G)if(W.src){if(w.includes(`src="${W.src}"`))continue;q.push(` <script ${c5(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(`
|
|
12424
12533
|
`)}
|
|
12425
|
-
${$.slice(Z)}`}function
|
|
12534
|
+
${$.slice(Z)}`}function cQ($,X={},Z={}){if(d4($))return $;return SH($,X,Z)}var gQ="<style data-stx-cloak>[x-cloak]{display:none !important}</style>",q9="data-stx-html-attrs",W9="data-stx-html-class",hQ;var pQ=E(()=>{f4();hQ=/^[A-Za-z_:][\w:.-]*$/});import p5 from"path";function iQ($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function nQ($,X,Z){try{let J;if($.startsWith("/")){let Y=X;for(let G=0;G<5;G++){let Q=p5.join(Y,$);if(await Bun.file(Q).exists())return Q;Y=p5.dirname(Y)}J=p5.join(X,$)}else if($.startsWith("./")||$.startsWith("../"))J=p5.resolve(X,$);else J=p5.resolve(X,$);if(await Bun.file(J).exists())return J;return null}catch{return null}}async function rQ($,X,Z){let J=$,Y=p5.dirname(X),G=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,Q;while((Q=G.exec(J))!==null){let[W,K,z,U]=Q;if(iQ(z))continue;let B=await nQ(z,Y,X);if(B)try{let j=await Bun.file(B).text();if(Z.add(B),z.endsWith(".ts")||z.endsWith(".tsx")){let H=await Bun.build({entrypoints:[B],target:"browser",minify:!1,define:h0()});if(H.outputs.length>0)j=await H.outputs[0].text()}let _=`<script>
|
|
12426
12535
|
// Source: ${z}
|
|
12427
12536
|
${j}
|
|
12428
|
-
</script>`;J=J.replace(W,_),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(
|
|
12537
|
+
</script>`;J=J.replace(W,_),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(iQ(z))continue;if(/rel=["']stylesheet["']/.test(B)||z.endsWith(".css")){let _=await nQ(z,Y,X);if(_)try{let H=await Bun.file(_).text();Z.add(_);let O=`<style>
|
|
12429
12538
|
/* Source: ${z} */
|
|
12430
12539
|
${H}
|
|
12431
|
-
</style>`;J=J.replace(W,
|
|
12540
|
+
</style>`;J=J.replace(W,O),w.lastIndex=0}catch(H){}}}return J}var oQ=E(()=>{E1()});function m4($,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,_=null,H=!1;for(let F=0;F<z.length;F++){let V=z[F];if(H){H=!1;continue}if(V==="\\"&&_){H=!0;continue}if(_){if(V===_)_=null;continue}if(V==='"'||V==="'"||V==="`"){_=V;continue}if(V==="("||V==="["||V==="{")j++;else if(V===")"||V==="]"||V==="}")j--;if(V===","&&j===0){B=F;break}}let O=B>=0?z.substring(0,B).trim():z,L=B>=0?z.substring(B+1).trim():void 0;try{let F=O.trim(),V;if(w0(F))V=q0(F,Object.keys(X))(...Object.values(X));else V=void 0;let R;if(L==="true")R=JSON.stringify(V,null,2);else R=JSON.stringify(V);let A=R.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Z=Z.substring(0,G)+A+Z.substring(q+1),J.lastIndex=G+A.length}catch(F){J1.log(F instanceof Error?F:Error(String(F)),{directive:"@json"},"error"),J.lastIndex=G+U.length}}return Z}function l4($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function sQ($){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,_=B.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),H=_?_[0].length:0,O=B.slice(H),L=B.match(/(\s*)$/),F=L?L[0].length:0,V=O.slice(0,O.length-F),R=V.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),A;if(R){let[N,M,T="",k]=R,D=`<${M}${T} data-stx-memo="${W}"${k}>`;A=B.slice(0,H)+D+V.slice(N.length)+B.slice(H+V.length)}else A=`${B.slice(0,H)}<div data-stx-memo="${W}">${V}</div>${B.slice(H+V.length)}`;Y.push({start:G,end:j,replacement:A}),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 c4($){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 aQ($){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 _=$[w];if(q){if(_==="'")q=!1}else if(W){if(_==='"')W=!1}else if(_==="'")q=!0;else if(_==='"')W=!0;else if(_===">"){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 tQ($){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}>`,_=$.toLowerCase().indexOf(j,G);if(_!==-1)X.lastIndex=_+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(!CH.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 CH;var p4=E(()=>{V1();I0();CH=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function i4($,X,Z,J){let Y=typeof Z==="boolean"?{enabled:Z,failOnViolation:Z}:Z??{enabled:!1},G=Y.allowPatterns??[],Q=[],w=o0($.replace(/\{\{--[\s\S]*?--\}\}/g,(q)=>q.replace(/[^\n]/g," ")));for(let{pattern:q,message:W,suggestion:K}of PH){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(`
|
|
12432
12541
|
`),B=$.split(`
|
|
12433
|
-
`),j=[];U.forEach((
|
|
12434
|
-
`),
|
|
12542
|
+
`),j=[];U.forEach((L,F)=>{if(q.lastIndex=0,q.test(L))j.push(F+1)});let _=j.length>0?` (script line${j.length>1?"s":""} ${j.join(", ")})`:"",H=j.slice(0,3).map((L)=>` ${L} | ${(B[L-1]??"").trim().slice(0,100)}`).join(`
|
|
12543
|
+
`),O=H?`
|
|
12435
12544
|
${H}`:"";Q.push(` \u2717 ${W}${_}
|
|
12436
|
-
\u2192 ${K}${
|
|
12545
|
+
\u2192 ${K}${O}`)}}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)}:
|
|
12437
12546
|
${Q.join(`
|
|
12438
12547
|
`)}
|
|
12439
|
-
Tip: prefer useRef(), navigate(), and composables for component code`;if(Y.failOnViolation)throw Error(K);else console.warn(K)}}var
|
|
12440
|
-
`)}function
|
|
12441
|
-
${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load store ${j}:`,_)}if(q.length===0)return
|
|
12548
|
+
Tip: prefer useRef(), navigate(), and composables for component code`;if(Y.failOnViolation)throw Error(K);else console.warn(K)}}var PH;var n4=E(()=>{PH=[{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 vH from"fs";function K9($){return[...$].sort().map((X)=>{try{let Z=vH.statSync(X);return`${X}:${Z.size}:${Z.mtimeMs}`}catch{return`${X}:missing`}}).join(`
|
|
12549
|
+
`)}function z9($,X,Z){let J=$.get(X);return J!==void 0&&J.signature===Z?J.value:void 0}function z1($,X,Z,J){return $.set(X,{signature:Z,value:J}),J}var r4=()=>{};var eQ={};t(eQ,{getStoreScript:()=>fH,clearStoreCache:()=>gH});import U9 from"path";function xH($,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 fH($){let X;if($)X=U9.resolve($);else{let j=await X1();X=U9.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 _=U9.basename(j,".ts");if(["index","types"].includes(_))continue;if(j.includes(".d.ts"))continue;J.push(j)}}catch{return z1(i5,X,"",""),null}let Y=K9(J),G=z9(i5,X,Y);if(G!==void 0)return G||null;if(J.length===0)return z1(i5,X,Y,""),null;let Q=[];for(let j of J){let _=await Bun.file(j).text();Q.push({file:j,hasUseStore:/useStore\s*\(/.test(_)})}Q.sort((j,_)=>{if(j.hasUseStore===_.hasUseStore)return 0;return j.hasUseStore?1:-1});let w=Q.map((j)=>j.file),q=[],W=new Set,K=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()});for(let j of w)try{let _=await Bun.file(j).text(),H=U9.basename(j,".ts");xH(_,W),_=c0(_),_=R8(_),_=_.replace(/^export\s+(default\s+)?/gm,""),_=K.transformSync(_),q.push(`// Store: ${H}
|
|
12550
|
+
${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load store ${j}:`,_)}if(q.length===0)return z1(i5,X,Y,""),null;let z=q.join(`
|
|
12442
12551
|
|
|
12443
12552
|
`),B=`;(function(){
|
|
12444
12553
|
var __stx = window.stx || {};
|
|
12445
12554
|
${O1.filter((j)=>!W.has(j)&&new RegExp(`\\b${j}\\b`).test(z)).map((j)=>`var ${j} = __stx[${JSON.stringify(j)}];`).join(`
|
|
12446
12555
|
`)}
|
|
12447
12556
|
${z}
|
|
12448
|
-
})();`;return
|
|
12449
|
-
${Q.transformSync(_).trim()}`);for(let
|
|
12557
|
+
})();`;return z1(i5,X,Y,B),B}function gH(){i5.clear()}var i5;var $w=E(()=>{L1();E1();e0();r4();i5=new Map});var o4,rI;var Xw=E(()=>{o4=["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"],rI=new Set(o4)});var Yw={};t(Yw,{selectComposableFiles:()=>Zw,referencedFrameworkComposables:()=>Jw,getFrameworkComposableScript:()=>mH,clearFrameworkComposableCache:()=>uH,__setRuntimeOwnedForTest:()=>lH});import j9 from"path";function uH(){J8.clear()}function Zw($){let X=new Map;for(let Z of $){let J=j9.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 dH($,X){let Z=X.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(?:^|[^\\w$.])(?:const|let|var|function|class)\\s+${Z}\\b`).test($)}function Jw($){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 hH){if(s4.has(J))continue;let Y=J.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");if(new RegExp(`(^|[^\\w$.])${Y}\\s*\\(`).test(X))Z.push(J)}return Z.sort()}async function mH($,X){let Z=Jw($);if(Z.length===0)return null;let J=X??j9.join(import.meta.dir,"composables"),Y=`${J}\x00${Z.join(",")}`,G=J8.get(Y);if(G!==void 0)return G||null;let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()}),w=new Set(Z),q=[],W=new Set,K=[];try{let j=new Bun.Glob("*.{ts,js}");for await(let _ of j.scan({cwd:J,absolute:!0}))K.push(_)}catch{return J8.set(Y,""),null}K=Zw(K);for(let j of K){let _;try{_=await Bun.file(j).text()}catch{continue}let H=[];try{H=Q.scan(_).exports.filter((O)=>O!=="default")}catch{continue}if(!H.some((O)=>w.has(O)))continue;try{_=_.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),_=_.replace(/^import\s+type\s+.*$/gm,""),_=_.replace(/^export\s+\*\s+(?:as\s+\w+\s+)?from\s*['"][^'"]+['"]\s*;?\s*$/gm,""),_=_.replace(/^export\s+(?:type\s+)?\{[\s\S]*?\}\s*(?:from\s*['"][^'"]+['"]\s*)?;?\s*$/gm,""),_=_.replace(/^export\s+default\s+/gm,""),_=_.replace(/^export\s+(?=(?:declare\s+)?(?:abstract\s+)?(?:async\s+)?(?:function|class|const|let|var|type|interface|enum)\b)/gm,""),q.push(`// ${j9.basename(j).replace(/\.[jt]s$/,"")}
|
|
12558
|
+
${Q.transformSync(_).trim()}`);for(let O of H)W.add(O)}catch(O){console.warn(`[stx] framework composable ${j9.basename(j)} could not be bundled:`,O)}}let z=Z.filter((j)=>!W.has(j)&&!dH($,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 J8.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(`
|
|
12450
12559
|
`),B=`<script data-stx-framework-composables>
|
|
12451
12560
|
;(function(){
|
|
12452
12561
|
var __s = window.stx = window.stx || {};
|
|
@@ -12455,8 +12564,8 @@ ${q.join(`
|
|
|
12455
12564
|
`)}
|
|
12456
12565
|
${U}
|
|
12457
12566
|
})();
|
|
12458
|
-
</script>`;return
|
|
12459
|
-
${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load composable ${j}:`,_)}if(Q.length===0||w.size===0)return
|
|
12567
|
+
</script>`;return J8.set(Y,B),B}function lH($){s4.clear();for(let X of $)s4.add(X)}var J8,s4,hH;var Gw=E(()=>{E1();Xw();J8=new Map,s4=new Set,hH=new Set(o4)});var ww={};t(ww,{getComposableScript:()=>nH,clearComposableCache:()=>rH});import Y8 from"path";function Qw($){let X=Y8.basename($,".ts");return X==="index"||X==="types"||$.endsWith(".d.ts")}async function pH($){if($)return Y8.resolve($);let X=`<default>:${process.cwd()}`,Z=a4.get(X);if(Z!==void 0)return Z;let J=await iH();if(J!==null)a4.set(X,J);return J}async function iH(){let $=await X1(),X=$.root||process.cwd(),Z=$.composablesDir;if(Z)return Y8.resolve(X,Z);for(let J of cH){let Y=Y8.resolve(X,J);try{let G=new Bun.Glob("**/*.ts");for await(let Q of G.scan({cwd:Y,absolute:!0}))if(!Qw(Q))return Y}catch{}}return null}async function nH($){let X=await pH($);if(!X)return null;let Z=[];try{let j=new Bun.Glob("**/*.ts");for await(let _ of j.scan({cwd:X,absolute:!0})){if(Qw(_))continue;Z.push(_)}}catch{return z1(n5,X,"",""),null}let J=K9(Z),Y=z9(n5,X,J);if(Y!==void 0)return Y||null;if(Z.length===0)return z1(n5,X,J,""),null;Z.sort();let G=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()}),Q=[],w=new Set,q=new Set;for(let j of Z)try{let _=await Bun.file(j).text(),H=Y8.basename(j,".ts");for(let O of _.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(O[1])q.add(O[1]);try{for(let O of G.scan(_).exports)if(O!=="default")w.add(O)}catch{}_=c0(_),_=R8(_),_=_.replace(/^export\s+(default\s+)?/gm,""),_=G.transformSync(_),Q.push(`// Composable: ${H}
|
|
12568
|
+
${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load composable ${j}:`,_)}if(Q.length===0||w.size===0)return z1(n5,X,J,""),null;let W=[...w].map((j)=>` try { __c[${JSON.stringify(j)}] = ${j}; } catch (e) {}`).join(`
|
|
12460
12569
|
`),K=JSON.stringify([...w]),z=Q.join(`
|
|
12461
12570
|
|
|
12462
12571
|
`),B=`;(function(){
|
|
@@ -12480,7 +12589,7 @@ ${W}
|
|
|
12480
12589
|
}
|
|
12481
12590
|
window[__n] = __c[__n];
|
|
12482
12591
|
}
|
|
12483
|
-
})();`;return
|
|
12592
|
+
})();`;return z1(n5,X,J,B),B}function rH(){n5.clear(),a4.clear()}var n5,a4,cH;var qw=E(()=>{L1();E1();r4();e0();n5=new Map,a4=new Map,cH=["composables","functions"]});var Kw={};t(Kw,{processDeferDirectives:()=>eH});function oH(){return`stx-defer-${++Ww}`}function sH($){let X=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(X)return{trigger:X[1],value:X[2]};return{trigger:"immediate"}}function aH($,X,Z){let{trigger:J,value:Y}=sH(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 tH($,X){let{trigger:Z,triggerValue:J}=X,Y;switch(Z){case"visible":Y=`
|
|
12484
12593
|
const observer = new IntersectionObserver((entries) => {
|
|
12485
12594
|
if (entries[0].isIntersecting) {
|
|
12486
12595
|
observer.disconnect();
|
|
@@ -12553,7 +12662,7 @@ else {
|
|
|
12553
12662
|
${Y}
|
|
12554
12663
|
})();
|
|
12555
12664
|
</script>
|
|
12556
|
-
`}function
|
|
12665
|
+
`}function eH($,X,Z){Ww=0;let J=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return $.replace(J,(Y,G,Q)=>{let w=oH(),q=aH(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=tH(w,q);return`
|
|
12557
12666
|
<div id="${w}" class="stx-defer" data-defer-trigger="${q.trigger}">
|
|
12558
12667
|
${W}
|
|
12559
12668
|
${K}
|
|
@@ -12561,7 +12670,7 @@ else {
|
|
|
12561
12670
|
${z}
|
|
12562
12671
|
</div>
|
|
12563
12672
|
${B}
|
|
12564
|
-
`})}var
|
|
12673
|
+
`})}var Ww=0;var Uw={};t(Uw,{processTeleportDirectives:()=>JO,ensureTeleportTargets:()=>YO});function $O(){return`stx-teleport-${++zw}`}function XO($){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 ZO($,X){return`
|
|
12565
12674
|
<script>
|
|
12566
12675
|
(function() {
|
|
12567
12676
|
const source = document.getElementById('${$}');
|
|
@@ -12607,12 +12716,12 @@ else {
|
|
|
12607
12716
|
});
|
|
12608
12717
|
})();
|
|
12609
12718
|
</script>
|
|
12610
|
-
`}function
|
|
12719
|
+
`}function JO($,X,Z){zw=0;let J=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return $.replace(J,(Y,G,Q)=>{let w=$O(),{target:q,disabled:W}=XO(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=ZO(w,q);return`
|
|
12611
12720
|
<div id="${w}" class="stx-teleport-source" style="display: none;">
|
|
12612
12721
|
<template>${K}</template>
|
|
12613
12722
|
</div>
|
|
12614
12723
|
${z}
|
|
12615
|
-
`})}function
|
|
12724
|
+
`})}function YO(){return`
|
|
12616
12725
|
<script>
|
|
12617
12726
|
(function() {
|
|
12618
12727
|
// Common teleport targets
|
|
@@ -12629,7 +12738,7 @@ else {
|
|
|
12629
12738
|
});
|
|
12630
12739
|
})();
|
|
12631
12740
|
</script>
|
|
12632
|
-
`}var
|
|
12741
|
+
`}var zw=0;var Hw={};t(Hw,{processTransitionDirectives:()=>qO,processTransitionAttributes:()=>UO,performLeave:()=>wO,performEnter:()=>QO,generateTransitionRuntime:()=>zO,generateTransitionCSS:()=>KO});function jw($,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 GO($){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 Bw($,X){return new Promise((Z)=>{let J=X??GO($);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 _w($){$.offsetHeight}async function QO($,X={}){let Z=X.name||"stx",J=jw(Z,X),Y=typeof X.duration==="object"?X.duration.enter:X.duration;if(X.onBeforeEnter?.($),$.classList.add(J.enterFrom),$.classList.add(J.enterActive),_w($),$.classList.remove(J.enterFrom),$.classList.add(J.enterTo),X.onEnter)await new Promise((G)=>{X.onEnter($,G)});else await Bw($,Y);$.classList.remove(J.enterActive),$.classList.remove(J.enterTo),X.onAfterEnter?.($)}async function wO($,X={}){let Z=X.name||"stx",J=jw(Z,X),Y=typeof X.duration==="object"?X.duration.leave:X.duration;if(X.onBeforeLeave?.($),$.classList.add(J.leaveFrom),$.classList.add(J.leaveActive),_w($),$.classList.remove(J.leaveFrom),$.classList.add(J.leaveTo),X.onLeave)await new Promise((G)=>{X.onLeave($,G)});else await Bw($,Y);$.classList.remove(J.leaveActive),$.classList.remove(J.leaveTo),X.onAfterLeave?.($)}function qO($,X={},Z){let J=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return $.replace(J,(Y,G,Q)=>{let w=WO(G),q=w.name||"stx",W=w.duration||300,K=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
|
|
12633
12742
|
<div
|
|
12634
12743
|
class="stx-transition-wrapper"
|
|
12635
12744
|
data-transition="${q}"
|
|
@@ -12671,7 +12780,7 @@ else {
|
|
|
12671
12780
|
});
|
|
12672
12781
|
})();
|
|
12673
12782
|
</script>
|
|
12674
|
-
`})}function
|
|
12783
|
+
`})}function WO($){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 KO(){return`
|
|
12675
12784
|
/* STX Transition Presets */
|
|
12676
12785
|
|
|
12677
12786
|
/* Fade */
|
|
@@ -12858,7 +12967,7 @@ else {
|
|
|
12858
12967
|
opacity: 1;
|
|
12859
12968
|
max-height: 1000px;
|
|
12860
12969
|
}
|
|
12861
|
-
`}function
|
|
12970
|
+
`}function zO(){return`
|
|
12862
12971
|
// STX Transition Runtime
|
|
12863
12972
|
(function() {
|
|
12864
12973
|
if (typeof window === 'undefined') return;
|
|
@@ -12947,7 +13056,7 @@ else {
|
|
|
12947
13056
|
|
|
12948
13057
|
console.log('[stx] Transition runtime initialized');
|
|
12949
13058
|
})();
|
|
12950
|
-
`}function
|
|
13059
|
+
`}function UO($){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 Lw={};t(Lw,{withErrorBoundary:()=>Ow,processErrorBoundaryDirectives:()=>_O,generateErrorBoundaryRuntime:()=>VO,generateErrorBoundaryCSS:()=>FO,createErrorBoundary:()=>LO});function BO(){return`eb-${++jO}-${Date.now().toString(36)}`}function _O($,X={},Z){let J=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return $.replace(J,(Y,G,Q,w)=>{let q=BO(),W=HO(G||"");return OO(q,Q.trim(),w.trim(),W)})}function HO($){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 OO($,X,Z,J){let Y=J.logErrors!==!1;return`
|
|
12951
13060
|
<div class="stx-error-boundary" data-boundary-id="${$}" data-has-error="false">
|
|
12952
13061
|
<div class="stx-error-boundary-content" data-boundary-content="${$}">
|
|
12953
13062
|
${X}
|
|
@@ -13067,7 +13176,7 @@ else {
|
|
|
13067
13176
|
};
|
|
13068
13177
|
})();
|
|
13069
13178
|
</script>
|
|
13070
|
-
`}async function
|
|
13179
|
+
`}async function Ow($,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 LO($,X={}){let Z=X.onError?(J)=>X.onError(J,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(J)=>Ow(J,$,Z)}function FO(){return`
|
|
13071
13180
|
/* STX Error Boundary Styles */
|
|
13072
13181
|
.stx-error-boundary {
|
|
13073
13182
|
position: relative;
|
|
@@ -13111,7 +13220,7 @@ else {
|
|
|
13111
13220
|
color: #fecaca;
|
|
13112
13221
|
}
|
|
13113
13222
|
}
|
|
13114
|
-
`}function
|
|
13223
|
+
`}function VO(){return`
|
|
13115
13224
|
// STX Error Boundary Runtime
|
|
13116
13225
|
(function() {
|
|
13117
13226
|
if (typeof window === 'undefined') return;
|
|
@@ -13176,7 +13285,7 @@ else {
|
|
|
13176
13285
|
|
|
13177
13286
|
console.log('[stx] Error boundary runtime initialized');
|
|
13178
13287
|
})();
|
|
13179
|
-
`}var
|
|
13288
|
+
`}var jO=0;var Fw={};t(Fw,{renderSSRSuspense:()=>IO,processSuspenseDirectives:()=>NO,generateSuspenseRuntime:()=>DO,generateSuspenseCSS:()=>EO,createSSRSuspense:()=>kO});function RO(){return`suspense-${++AO}-${Date.now().toString(36)}`}function NO($,X={},Z){let J=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return $.replace(J,(Y,G,Q,w)=>{let q=RO(),W=TO(G||"");return MO(q,Q.trim(),w.trim(),W)})}function TO($){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 MO($,X,Z,J){let Y=J.timeout||30000,G=J.id||$;return`
|
|
13180
13289
|
<div class="stx-suspense" data-suspense-id="${$}" data-custom-id="${G}" data-status="pending">
|
|
13181
13290
|
<div class="stx-suspense-fallback" data-suspense-fallback="${$}">
|
|
13182
13291
|
${Z}
|
|
@@ -13366,7 +13475,7 @@ else {
|
|
|
13366
13475
|
}, 0);
|
|
13367
13476
|
})();
|
|
13368
13477
|
</script>
|
|
13369
|
-
`}function
|
|
13478
|
+
`}function kO($,X,Z){return{id:$,fallback:Z,content:X}}async function IO($){let X=$.map((J)=>`
|
|
13370
13479
|
<div id="stx-ssr-suspense-${J.id}" class="stx-ssr-suspense">
|
|
13371
13480
|
${J.fallback}
|
|
13372
13481
|
</div>
|
|
@@ -13391,7 +13500,7 @@ else {
|
|
|
13391
13500
|
}
|
|
13392
13501
|
})();
|
|
13393
13502
|
</script>
|
|
13394
|
-
`}}return{initial:X,streaming:Z()}}function
|
|
13503
|
+
`}}return{initial:X,streaming:Z()}}function EO(){return`
|
|
13395
13504
|
/* STX Suspense Styles */
|
|
13396
13505
|
.stx-suspense {
|
|
13397
13506
|
position: relative;
|
|
@@ -13447,7 +13556,7 @@ else {
|
|
|
13447
13556
|
background-size: 200% 100%;
|
|
13448
13557
|
}
|
|
13449
13558
|
}
|
|
13450
|
-
`}function
|
|
13559
|
+
`}function DO(){return`
|
|
13451
13560
|
// STX Suspense Runtime
|
|
13452
13561
|
(function() {
|
|
13453
13562
|
if (typeof window === 'undefined') return;
|
|
@@ -13514,7 +13623,7 @@ else {
|
|
|
13514
13623
|
|
|
13515
13624
|
console.log('[stx] Suspense runtime initialized');
|
|
13516
13625
|
})();
|
|
13517
|
-
`}var
|
|
13626
|
+
`}var AO=0;var Nw={};t(Nw,{processAsyncDirectives:()=>bO,isAsyncComponent:()=>CO,generateAsyncComponentRuntime:()=>vO,generateAsyncComponentCSS:()=>PO,defineAsyncComponent:()=>SO});function Vw(){return`async-${++yO}-${Date.now().toString(36)}`}function bO($,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=Vw(),z=Aw(w);return Rw(K,z,q.trim(),W.trim())}),G=G.replace(Y,(Q,w,q)=>{let W=Vw(),K=Aw(w);return Rw(W,K,q.trim(),'<div class="stx-async-error">Failed to load component</div>')}),G}function Aw($){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 Rw($,X,Z,J){let{component:Y,timeout:G,delay:Q,suspensible:w,retries:q}=X;return`
|
|
13518
13627
|
<div class="stx-async-component" data-async-id="${$}" data-component="${Y}" data-status="pending">
|
|
13519
13628
|
<div class="stx-async-loading" data-async-loading="${$}">
|
|
13520
13629
|
${Z}
|
|
@@ -13741,7 +13850,7 @@ catch (error) {
|
|
|
13741
13850
|
loadComponent();
|
|
13742
13851
|
})();
|
|
13743
13852
|
</script>
|
|
13744
|
-
`}function
|
|
13853
|
+
`}function SO($){return{__asyncComponent:!0,...typeof $==="function"?{loader:$}:$}}function CO($){return typeof $==="object"&&$!==null&&"__asyncComponent"in $&&$.__asyncComponent===!0}function PO(){return`
|
|
13745
13854
|
/* STX Async Component Styles */
|
|
13746
13855
|
.stx-async-component {
|
|
13747
13856
|
position: relative;
|
|
@@ -13815,7 +13924,7 @@ catch (error) {
|
|
|
13815
13924
|
background-size: 200% 100%;
|
|
13816
13925
|
}
|
|
13817
13926
|
}
|
|
13818
|
-
`}function
|
|
13927
|
+
`}function vO(){return`
|
|
13819
13928
|
// STX Async Component Runtime
|
|
13820
13929
|
(function() {
|
|
13821
13930
|
if (typeof window === 'undefined') return;
|
|
@@ -13869,7 +13978,7 @@ catch (error) {
|
|
|
13869
13978
|
|
|
13870
13979
|
console.log('[stx] Async component runtime initialized');
|
|
13871
13980
|
})();
|
|
13872
|
-
`}var
|
|
13981
|
+
`}var yO=0;var Mw={};t(Mw,{shouldCacheComponent:()=>dO,processKeepAliveDirectives:()=>fO,onDeactivated:()=>pO,onActivated:()=>cO,generateKeepAliveRuntime:()=>lO,generateKeepAliveCSS:()=>mO,createKeepAliveCache:()=>uO});function Tw(){return`keep-alive-${++xO}-${Date.now().toString(36)}`}function fO($,X={},Z){let J=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return $.replace(J,(Y,G,Q)=>{let w=Tw(),q=gO(G||"");return hO(w,Q.trim(),q)})}function gO($){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 hO($,X,Z){let{max:J,include:Y,exclude:G}=Z,Q=Z.id||$;return`
|
|
13873
13982
|
<div class="stx-keep-alive" data-keep-alive-id="${$}" data-custom-id="${Q}">
|
|
13874
13983
|
<div class="stx-keep-alive-content" data-keep-alive-content="${$}">
|
|
13875
13984
|
${X}
|
|
@@ -14156,7 +14265,7 @@ else {
|
|
|
14156
14265
|
});
|
|
14157
14266
|
})();
|
|
14158
14267
|
</script>
|
|
14159
|
-
`}function
|
|
14268
|
+
`}function uO($={}){return{id:$.id||Tw(),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 dO($,X){if(X.exclude&&X.exclude.includes($))return!1;if(X.include&&!X.include.includes($))return!1;return!0}function mO(){return`
|
|
14160
14269
|
/* STX Keep-Alive Styles */
|
|
14161
14270
|
.stx-keep-alive {
|
|
14162
14271
|
position: relative;
|
|
@@ -14181,7 +14290,7 @@ else {
|
|
|
14181
14290
|
.stx-keep-alive-content > [data-activated] {
|
|
14182
14291
|
opacity: 1;
|
|
14183
14292
|
}
|
|
14184
|
-
`}function
|
|
14293
|
+
`}function lO(){return`
|
|
14185
14294
|
// STX Keep-Alive Runtime
|
|
14186
14295
|
(function() {
|
|
14187
14296
|
if (typeof window === 'undefined') return;
|
|
@@ -14217,12 +14326,12 @@ else {
|
|
|
14217
14326
|
|
|
14218
14327
|
console.log('[stx] Keep-alive runtime initialized');
|
|
14219
14328
|
})();
|
|
14220
|
-
`}function
|
|
14329
|
+
`}function cO($){if(typeof document<"u")document.addEventListener("stx:activated",(X)=>{$(X.detail)})}function pO($){if(typeof document<"u")document.addEventListener("stx:deactivated",(X)=>{$(X.detail)})}var xO=0;var yw={};t(yw,{useVirtualList:()=>Iw,processVirtualListDirectives:()=>e4,processVirtualGridDirectives:()=>Dw,processInfiniteListDirectives:()=>Ew,generateVirtualListCSS:()=>kw,default:()=>iO,createVirtualList:()=>t4});function t4($,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 A=Math.max(0,Math.floor(K/Z)-Y),N=Math.ceil(J/Z),M=Math.min(W.length-1,A+N+Y*2);return{startIndex:A,endIndex:M}}function B(){let A=0,N=0,M=W.length-1;for(let T=0;T<W.length;T++){let k=z.get(T)||w;if(A+k>K){N=Math.max(0,T-Y);break}A+=k}A=0;for(let T=0;T<W.length;T++){let k=z.get(T)||w;if(A+=k,A>K+J){M=Math.min(W.length-1,T+Y);break}}return{startIndex:N,endIndex:M}}function j(){if(Q){let A=0;for(let N=0;N<W.length;N++)A+=z.get(N)||w;return A}return W.length*Z}function _(A){if(Q){let N=0;for(let M=0;M<A;M++)N+=z.get(M)||w;return N}return A*Z}function H(){let{startIndex:A,endIndex:N}=U();return{startIndex:A,endIndex:N,scrollTop:K,totalHeight:j(),visibleItems:W.slice(A,N+1),itemHeights:new Map(z)}}function O(A,N="auto"){let M=_(A);L(M,N)}function L(A,N="auto"){K=Math.max(0,Math.min(A,j()-J))}function F(){U()}function V(A){W=[...A],z.clear(),F()}function R(){W=[],z.clear()}return{scrollToIndex:O,scrollToOffset:L,getState:H,refresh:F,setItems:V,destroy:R}}function e4($,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 L=Q.trim(),F=Function(`return ${L}`)();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,_=Math.min(W.length-1,U+B),H="";for(let L=j;L<=_&&L<W.length;L++){let F=W[L],V=w.replace(/\{\{\s*item\s*\}\}/g,typeof F==="object"?JSON.stringify(F):String(F)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(R,A)=>{if(typeof F==="object"&&F!==null)return String(F[A]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(L));H+=`
|
|
14221
14330
|
<div class="virtual-item ${K.itemClass||""}"
|
|
14222
|
-
style="position: absolute; top: ${
|
|
14223
|
-
data-index="${
|
|
14331
|
+
style="position: absolute; top: ${L*K.itemHeight}px; height: ${K.itemHeight}px; width: 100%;"
|
|
14332
|
+
data-index="${L}">
|
|
14224
14333
|
${V}
|
|
14225
|
-
</div>`}let
|
|
14334
|
+
</div>`}let O=W.length*K.itemHeight;return`
|
|
14226
14335
|
<div id="${z}"
|
|
14227
14336
|
class="virtual-list-container ${K.containerClass||""}"
|
|
14228
14337
|
style="position: relative; height: ${K.containerHeight}px; overflow-y: auto;"
|
|
@@ -14230,7 +14339,7 @@ else {
|
|
|
14230
14339
|
data-total-items="${W.length}"
|
|
14231
14340
|
data-overscan="${B}">
|
|
14232
14341
|
<div class="virtual-list-viewport ${K.viewportClass||""}"
|
|
14233
|
-
style="position: relative; height: ${
|
|
14342
|
+
style="position: relative; height: ${O}px; width: 100%;">
|
|
14234
14343
|
${H}
|
|
14235
14344
|
</div>
|
|
14236
14345
|
</div>
|
|
@@ -14294,7 +14403,7 @@ else {
|
|
|
14294
14403
|
};
|
|
14295
14404
|
})();
|
|
14296
14405
|
</script>
|
|
14297
|
-
`})}function
|
|
14406
|
+
`})}function kw(){return`
|
|
14298
14407
|
.virtual-list-container {
|
|
14299
14408
|
position: relative;
|
|
14300
14409
|
overflow-y: auto;
|
|
@@ -14342,7 +14451,7 @@ else {
|
|
|
14342
14451
|
0% { background-position: 200% 0; }
|
|
14343
14452
|
100% { background-position: -200% 0; }
|
|
14344
14453
|
}
|
|
14345
|
-
`}function
|
|
14454
|
+
`}function Iw($,X){let Z=null,J=()=>{if(!Z)Z=t4($(),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 Ew($,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=e4(`@virtualList(${W}, ${JSON.stringify({itemHeight:z.itemHeight,containerHeight:z.containerHeight,overscan:z.overscan,containerClass:z.containerClass})})${w}@endvirtualList`,X);return B=B.replace("</script>",`
|
|
14346
14455
|
// Infinite scroll detection
|
|
14347
14456
|
container.addEventListener('scroll', function() {
|
|
14348
14457
|
const scrollBottom = container.scrollTop + container.clientHeight;
|
|
@@ -14360,18 +14469,18 @@ else {
|
|
|
14360
14469
|
${q}
|
|
14361
14470
|
</div>
|
|
14362
14471
|
</div>
|
|
14363
|
-
`})}function
|
|
14472
|
+
`})}function Dw($,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))),_=K.overscan||2,H=0,O=Math.min(U-1,j+_),L="";for(let F=H;F<=O;F++)for(let V=0;V<K.columns;V++){let R=F*K.columns+V;if(R>=W.length)break;let A=W[R],N=V*(100/K.columns),M=F*(K.rowHeight+(K.gap||0)),T=w.replace(/\{\{\s*item\s*\}\}/g,typeof A==="object"?JSON.stringify(A):String(A)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(k,D)=>{if(typeof A==="object"&&A!==null)return String(A[D]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(R));L+=`
|
|
14364
14473
|
<div class="virtual-grid-item"
|
|
14365
|
-
style="position: absolute; top: ${
|
|
14366
|
-
data-index="${
|
|
14367
|
-
${
|
|
14474
|
+
style="position: absolute; top: ${M}px; left: ${N}%; width: calc(${100/K.columns}% - ${K.gap||0}px); height: ${K.rowHeight}px;"
|
|
14475
|
+
data-index="${R}">
|
|
14476
|
+
${T}
|
|
14368
14477
|
</div>`}return`
|
|
14369
14478
|
<div id="${z}"
|
|
14370
14479
|
class="virtual-grid-container"
|
|
14371
14480
|
style="position: relative; height: ${K.containerHeight}px; overflow-y: auto;">
|
|
14372
14481
|
<div class="virtual-grid-viewport"
|
|
14373
14482
|
style="position: relative; height: ${B}px; width: 100%;">
|
|
14374
|
-
${
|
|
14483
|
+
${L}
|
|
14375
14484
|
</div>
|
|
14376
14485
|
</div>
|
|
14377
14486
|
<script data-virtual-grid="${z}">
|
|
@@ -14430,7 +14539,7 @@ else {
|
|
|
14430
14539
|
});
|
|
14431
14540
|
})();
|
|
14432
14541
|
</script>
|
|
14433
|
-
`})}var
|
|
14542
|
+
`})}var iO;var bw=E(()=>{iO={createVirtualList:t4,processVirtualListDirectives:e4,processInfiniteListDirectives:Ew,processVirtualGridDirectives:Dw,generateVirtualListCSS:kw,useVirtualList:Iw}});function Sw(){return`<script data-stx-hydration-runtime>
|
|
14434
14543
|
(function() {
|
|
14435
14544
|
'use strict';
|
|
14436
14545
|
|
|
@@ -14590,7 +14699,7 @@ else {
|
|
|
14590
14699
|
stxIslands.initIslands();
|
|
14591
14700
|
}
|
|
14592
14701
|
})();
|
|
14593
|
-
</script>`}function
|
|
14702
|
+
</script>`}function Cw($){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 Pw($,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 pw={};t(pw,{processStaticDirectives:()=>lw,processPartialHydrationDirectives:()=>xw,onHydrated:()=>mw,isHydrated:()=>dw,hydrateIsland:()=>gw,hydrateByStrategy:()=>hw,hydrateAll:()=>uw,generatePartialHydrationCSS:()=>fw,generateIslandManifest:()=>cw,default:()=>$L,createIslandRegistry:()=>vw});function vw(){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 nO($){return`
|
|
14594
14703
|
<script data-hydrate="${$}">
|
|
14595
14704
|
(function() {
|
|
14596
14705
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14601,7 +14710,7 @@ else {
|
|
|
14601
14710
|
island.dispatchEvent(new CustomEvent('stx:hydrated', { bubbles: true }));
|
|
14602
14711
|
})();
|
|
14603
14712
|
</script>
|
|
14604
|
-
`}function
|
|
14713
|
+
`}function rO($,X){let Z=X.timeout||2000,J=X.priority||"low";return`
|
|
14605
14714
|
<script data-hydrate="${$}">
|
|
14606
14715
|
(function() {
|
|
14607
14716
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14637,7 +14746,7 @@ else {
|
|
|
14637
14746
|
}
|
|
14638
14747
|
})();
|
|
14639
14748
|
</script>
|
|
14640
|
-
`}function
|
|
14749
|
+
`}function oO($,X){let Z=X.rootMargin||"0px",J=X.threshold||0;return`
|
|
14641
14750
|
<script data-hydrate="${$}">
|
|
14642
14751
|
(function() {
|
|
14643
14752
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14670,7 +14779,7 @@ else {
|
|
|
14670
14779
|
}
|
|
14671
14780
|
})();
|
|
14672
14781
|
</script>
|
|
14673
|
-
`}function
|
|
14782
|
+
`}function sO($,X){let Z=X.media||"(min-width: 768px)";return`
|
|
14674
14783
|
<script data-hydrate="${$}">
|
|
14675
14784
|
(function() {
|
|
14676
14785
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14699,7 +14808,7 @@ else {
|
|
|
14699
14808
|
}
|
|
14700
14809
|
})();
|
|
14701
14810
|
</script>
|
|
14702
|
-
`}function
|
|
14811
|
+
`}function aO($){return`
|
|
14703
14812
|
<script data-hydrate="${$}">
|
|
14704
14813
|
(function() {
|
|
14705
14814
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14721,7 +14830,7 @@ else {
|
|
|
14721
14830
|
events.forEach(e => island.addEventListener(e, handler, { once: true, passive: true }));
|
|
14722
14831
|
})();
|
|
14723
14832
|
</script>
|
|
14724
|
-
`}function
|
|
14833
|
+
`}function tO($,X){let Z=X.event||"stx:activate";return`
|
|
14725
14834
|
<script data-hydrate="${$}">
|
|
14726
14835
|
(function() {
|
|
14727
14836
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14742,9 +14851,9 @@ else {
|
|
|
14742
14851
|
});
|
|
14743
14852
|
})();
|
|
14744
14853
|
</script>
|
|
14745
|
-
`}function
|
|
14746
|
-
`+
|
|
14747
|
-
<script type="application/json" data-island-props="${q}">${JSON.stringify(K)}</script>`:"",j="";switch(X){case"load":j=
|
|
14854
|
+
`}function xw($,X={},Z){let J=$,Y=!1,G=/@client:(load|idle|visible|media|only|hover|event)/i.test($);if(J=r5(J,"load",X),J=r5(J,"idle",X),J=r5(J,"visible",X),J=r5(J,"media",X),J=eO(J),J=r5(J,"hover",X),J=r5(J,"event",X),Y=G&&J!==$,Y)J+=`
|
|
14855
|
+
`+Sw();return J}function r5($,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 _=G.split(",").map((H)=>H.trim());for(let H of _){let[O,L]=H.split(":").map((F)=>F.trim());if(O&&L){let F=L.replace(/^['"]|['"]$/g,"");w[O]=F}}}catch{}let q=`island-${Math.random().toString(36).substring(2,9)}`,W=Cw(Q.trim()),K=Pw(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?`
|
|
14856
|
+
<script type="application/json" data-island-props="${q}">${JSON.stringify(K)}</script>`:"",j="";switch(X){case"load":j=nO(q);break;case"idle":j=rO(q,w);break;case"visible":j=oO(q,w);break;case"media":j=sO(q,w);break;case"hover":j=aO(q);break;case"event":j=tO(q,w);break}return`
|
|
14748
14857
|
<div data-island="${q}"
|
|
14749
14858
|
data-strategy="${X}"
|
|
14750
14859
|
${z.join(`
|
|
@@ -14754,7 +14863,7 @@ else {
|
|
|
14754
14863
|
${Q.trim()}${B}
|
|
14755
14864
|
</div>
|
|
14756
14865
|
${j}
|
|
14757
|
-
`})}function
|
|
14866
|
+
`})}function eO($){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`
|
|
14758
14867
|
<div data-island="${Y}"
|
|
14759
14868
|
data-strategy="only"
|
|
14760
14869
|
class="stx-island stx-client-only">
|
|
@@ -14773,7 +14882,7 @@ else {
|
|
|
14773
14882
|
}
|
|
14774
14883
|
})();
|
|
14775
14884
|
</script>
|
|
14776
|
-
`})}function
|
|
14885
|
+
`})}function fw(){return`
|
|
14777
14886
|
/* Island base styles */
|
|
14778
14887
|
.stx-island {
|
|
14779
14888
|
display: contents;
|
|
@@ -14814,11 +14923,11 @@ else {
|
|
|
14814
14923
|
.stx-island.hydrated {
|
|
14815
14924
|
opacity: 1;
|
|
14816
14925
|
}
|
|
14817
|
-
`}function
|
|
14926
|
+
`}function gw($){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 hw($){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 uw(){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 dw($){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${$}"]`)?.classList.contains("hydrated")??!1}function mw($){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 lw($){return $.replace(/@static\s*([\s\S]*?)@endstatic/gi,(X,Z)=>{return`<div class="stx-static">${Z.trim()}</div>`})}function cw($){let X=$.map((Z)=>({id:Z.id,component:Z.component,strategy:Z.options.strategy,props:Z.props}));return`
|
|
14818
14927
|
<script type="application/json" id="stx-island-manifest">
|
|
14819
14928
|
${JSON.stringify(X)}
|
|
14820
14929
|
</script>
|
|
14821
|
-
`}var
|
|
14930
|
+
`}var $L;var iw=E(()=>{$L={processPartialHydrationDirectives:xw,processStaticDirectives:lw,generatePartialHydrationCSS:fw,generateIslandManifest:cw,createIslandRegistry:vw,hydrateIsland:gw,hydrateByStrategy:hw,hydrateAll:uw,isHydrated:dw,onHydrated:mw}});var Jq={};t(Jq,{watchMultiple:()=>aw,watchEffect:()=>tw,watch:()=>sw,unref:()=>nw,toRefs:()=>rw,throttledComputed:()=>Zq,stxWatchMultiple:()=>aw,stxWatchEffect:()=>tw,stxWatch:()=>sw,stxUnref:()=>nw,stxToRefs:()=>rw,stxThrottledComputed:()=>Zq,stxShallowRef:()=>ow,stxRef:()=>o5,stxIsRef:()=>m1,stxDebouncedComputed:()=>Xq,stxComputed:()=>Q8,shallowRef:()=>ow,ref:()=>o5,processWatchDirectives:()=>$q,processComputedDirectives:()=>ew,isRef:()=>m1,default:()=>XL,debouncedComputed:()=>Xq,computed:()=>Q8});function o5($){let X=$,Z=new Set,J={get value(){if(U1){let Y=G8.get(J);if(!Y)Y=new Set,G8.set(J,Y);Y.add(U1)}return X},set value(Y){if(!Object.is(X,Y)){X=Y,Z.forEach((Q)=>Q(Y));let G=G8.get(J);if(G)G.forEach((Q)=>Q())}},subscribe(Y){return Z.add(Y),()=>Z.delete(Y)},peek(){return X}};return J}function m1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function nw($){return m1($)?$.value:$}function rw($){let X={};for(let Z in $)if(Object.prototype.hasOwnProperty.call($,Z))X[Z]=o5($[Z]);return X}function ow($){return o5($)}function Q8($){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=U1;U1=W,B9.push(W);try{return Z()}finally{B9.pop(),U1=U}}let z={get value(){if(U1){let U=G8.get(z);if(!U)U=new Set,G8.set(z,U);U.add(U1)}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 sw($,X,Z={}){let{immediate:J=!1,deep:Y=!1,flush:G="pre",once:Q=!1}=Z,w,q=!0,W=!1,K=()=>{if(m1($))return Y?z5($.value):$.value;return $()},z=()=>{if(!q||W)return;let j=K();if(w!==void 0&&Object.is(w,j)&&!Y)return;let _=()=>{if(X(j,w),w=Y?z5(j):j,Q)B()};if(G==="sync")_();else if(G==="post")queueMicrotask(_);else Promise.resolve().then(_)},U=null;if(m1($))U=$.subscribe(()=>z());else U=Q8($).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 aw($,X,Z={}){let{immediate:J=!1,once:Y=!1}=Z,G=$.map((z)=>m1(z)?z.value:void 0),Q=!0,w=!1,q=()=>{if(!Q||w)return;let z=$.map((U)=>m1(U)?U.value:void 0);if(X(z,G),G=[...z],Y)K()},W=$.map((z)=>{if(m1(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 tw($,X={}){let{flush:Z="pre"}=X,J,Y=!0,G=!1,Q=()=>{if(!Y||G)return;if(J)J();let q=U1;U1=Q,B9.push(Q);try{J=$()}finally{B9.pop(),U1=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 ew($,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`
|
|
14822
14931
|
<script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
|
|
14823
14932
|
(function() {
|
|
14824
14933
|
// Watch implementation for ${G}
|
|
@@ -14830,9 +14939,9 @@ else {
|
|
|
14830
14939
|
}
|
|
14831
14940
|
})();
|
|
14832
14941
|
</script>
|
|
14833
|
-
`})}function z5($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Z)=>z5(Z));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let Z=new Map;return $.forEach((J,Y)=>Z.set(z5(Y),z5(J))),Z}if($ instanceof Set){let Z=new Set;return $.forEach((J)=>Z.add(z5(J))),Z}let X={};for(let Z in $)if(Object.prototype.hasOwnProperty.call($,Z))X[Z]=z5($[Z]);return X}function
|
|
14834
|
-
`)}catch{return""}})}function
|
|
14835
|
-
`)}catch{return""}})}function
|
|
14942
|
+
`})}function z5($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Z)=>z5(Z));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let Z=new Map;return $.forEach((J,Y)=>Z.set(z5(Y),z5(J))),Z}if($ instanceof Set){let Z=new Set;return $.forEach((J)=>Z.add(z5(J))),Z}let X={};for(let Z in $)if(Object.prototype.hasOwnProperty.call($,Z))X[Z]=z5($[Z]);return X}function Xq($,X=100){let Z=o5($()),J=null,Y=()=>{if(J)clearTimeout(J);J=setTimeout(()=>{Z.value=$()},X)};return Q8($).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 Zq($,X=100){let Z=o5($()),J=0,Y=()=>{let Q=Date.now();if(Q-J>=X)J=Q,Z.value=$()};return Q8($).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 U1=null,B9,G8,XL;var Yq=E(()=>{B9=[],G8=new WeakMap;XL={ref:o5,computed:Q8,watch:sw,watchMultiple:aw,watchEffect:tw,isRef:m1,unref:nw,toRefs:rw,shallowRef:ow,debouncedComputed:Xq,throttledComputed:Zq,processComputedDirectives:ew,processWatchDirectives:$q}});function w8($,X){let Z={};for(let J of $)Z[J]=v1(X(J));return new Proxy({},{get:(J,Y)=>Z[Y]?.(),set:(J,Y,G)=>{if(Z[Y])Z[Y].set(G);else Z[Y]=v1(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 ZL($,X){let Z={};for(let J of X)Z[J]=$[J];return Z}function $6($,X){let Z=Object.keys($),J=w8(Z,(L)=>X?.[L]??$[L].getDefaultValue()),Y=w8(Z,()=>[]),G=w8(Z,()=>!1),Q=w8(Z,()=>!1),w=w8(Z,()=>!1),q=v1(!1);async function W(L){w[L]=!0;let F=await $[L].validate(J[L],J);return Y[L]=F,w[L]=!1,F.length===0}async function K(){q.set(!0);let L=await Promise.all(Z.map(W));return q.set(!1),L.every(Boolean)}function z(){for(let L of Z)J[L]=X?.[L]??$[L].getDefaultValue(),Y[L]=[],G[L]=!1,Q[L]=!1}function U(L){for(let F of Z)if(F in L)J[F]=L[F],Q[F]=!0}function B(L,F){J[L]=F,Q[L]=!0}function j(L,F=!0){if(G[L]=F,F)W(L)}function _(L){return{value:J[L],errors:Y[L],touched:G[L],dirty:Q[L],valid:Y[L].length===0,validating:w[L]}}function H(L){return async(F)=>{F?.preventDefault?.();for(let R of Z)G[R]=!0;if(await K())await L(ZL(J,Z))}}return{values:J,errors:Y,touched:G,dirty:Q,get isValid(){return Z.every((L)=>Y[L].length===0)},get isValidating(){return q()||Z.some((L)=>w[L])},get isDirty(){return Z.some((L)=>Q[L])},validate:K,validateField:W,reset:z,setValues:U,setFieldValue:B,setFieldTouched:j,getFieldState:_,handleSubmit:H}}var Gq;var Qq=E(()=>{n8();Gq=$6});var Kq={};t(Kq,{v:()=>JL,useForm:()=>$6,processHasErrorsDirective:()=>Wq,processFormValidationDirectives:()=>YL,processErrorsDirective:()=>qq,processErrorDirective:()=>wq,defineForm:()=>Gq,Validator:()=>s5});class s5{rules=[];defaultValue="";addRule($){let X=new s5;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 s5;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 s5;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 wq($,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(`
|
|
14943
|
+
`)}catch{return""}})}function qq($,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(`
|
|
14944
|
+
`)}catch{return""}})}function Wq($,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 YL($,X,Z){let J=$;return J=wq(J,X,Z),J=qq(J,X,Z),J=Wq(J,X,Z),J}var JL;var zq=E(()=>{Qq();JL=new s5});var Bq={};t(Bq,{processXElementDirectives:()=>GL,hasXElementDirectives:()=>jq,generateXElementRuntime:()=>Uq});function Uq(){return`<script data-stx-scoped data-stx-x-element-runtime data-stx-run="always">
|
|
14836
14945
|
(function() {
|
|
14837
14946
|
'use strict';
|
|
14838
14947
|
|
|
@@ -15116,16 +15225,16 @@ else {
|
|
|
15116
15225
|
// Expose for manual initialization
|
|
15117
15226
|
window.XElement = XElement;
|
|
15118
15227
|
})();
|
|
15119
|
-
</script>`}function
|
|
15228
|
+
</script>`}function jq($){return/\bx-data(?:\s|=)/.test($)}function GL($){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(!jq(J))return J;let Y=Z[0]?.trim()||Uq(),G=J.lastIndexOf("</body>");if(G!==-1)return J.slice(0,G)+Y+`
|
|
15120
15229
|
`+J.slice(G);return J+`
|
|
15121
|
-
`+Y}var
|
|
15230
|
+
`+Y}var _q={};t(_q,{rewriteImagesWithSiblings:()=>qL});import N1 from"path";async function qL($,X){let Z=X.formats??wL;if(!X.publicDir)return $;let J=zL($),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(UL(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 WL(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((_)=>`<source type="${_.mime}" srcset="${jL(_.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 WL($,X,Z){if(!KL($))return[];let J=N1.extname($).toLowerCase();if(!QL.has(J))return[];if(!$.startsWith("/"))return[];let Y=N1.join(X,$.slice(1)),G=N1.dirname(Y),Q=N1.basename(Y,J),w=N1.resolve(G),q=N1.resolve(X);if(!w.startsWith(q))return[];let W=N1.posix.dirname($),K=Z.map(async(U)=>{let B=N1.join(G,`${Q}${U.ext}`);if(!await Bun.file(B).exists())return null;return{url:N1.posix.join(W,`${Q}${U.ext}`),mime:U.mime}});return(await Promise.all(K)).filter((U)=>U!==null)}function KL($){if(!$)return!1;if($.startsWith("http://")||$.startsWith("https://"))return!1;if($.startsWith("//"))return!1;if($.startsWith("data:"))return!1;return!0}function zL($){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 UL($,X){for(let[Z,J]of X)if($>=Z&&$<J)return!0;return!1}function jL($){return $.replace(/&/g,"&").replace(/"/g,""")}var QL,wL;var Hq=E(()=>{QL=new Set([".jpg",".jpeg",".png",".gif"]),wL=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var Oq=()=>{};function X6($){return $.pwa?.serviceWorker?.fileName||"sw.js"}var Lq=E(()=>{Oq()});var Fq={};t(Fq,{injectPwaTags:()=>BL,generateThemeColorMeta:()=>OL,generateSwRegistrationScript:()=>_L,generatePwaTags:()=>_9,generateManifestLink:()=>HL});function _9($){let X=$.pwa;if(!X?.enabled)return"";let Z=X.manifest,J=X.icons?.outputDir?`/${X.icons.outputDir}`:"/pwa-icons",Y=X6($),G=`
|
|
15122
15231
|
<!-- stx PWA Meta Tags -->
|
|
15123
15232
|
<link rel="manifest" href="/manifest.json">
|
|
15124
|
-
<meta name="theme-color" content="${
|
|
15233
|
+
<meta name="theme-color" content="${Z6(Z?.themeColor||"#000000")}">
|
|
15125
15234
|
<meta name="mobile-web-app-capable" content="yes">
|
|
15126
15235
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
15127
15236
|
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
|
15128
|
-
<meta name="apple-mobile-web-app-title" content="${
|
|
15237
|
+
<meta name="apple-mobile-web-app-title" content="${Z6(Z?.shortName||Z?.name||"App")}">`;if(X.icons?.generateAppleIcons!==!1)G+=`
|
|
15129
15238
|
<link rel="apple-touch-icon" href="${J}/apple-touch-icon.png">
|
|
15130
15239
|
<link rel="apple-touch-icon" sizes="120x120" href="${J}/apple-touch-icon-120x120.png">
|
|
15131
15240
|
<link rel="apple-touch-icon" sizes="152x152" href="${J}/apple-touch-icon-152x152.png">
|
|
@@ -15162,12 +15271,12 @@ if ('serviceWorker' in navigator) {
|
|
|
15162
15271
|
});
|
|
15163
15272
|
}
|
|
15164
15273
|
</script>
|
|
15165
|
-
<!-- End stx PWA -->`,G}function
|
|
15166
|
-
`+$.slice(Y)}return $+
|
|
15167
|
-
</head>`)}function
|
|
15274
|
+
<!-- End stx PWA -->`,G}function BL($,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=_9(X);return $.slice(0,Y)+G+`
|
|
15275
|
+
`+$.slice(Y)}return $+_9(X)}let J=_9(X);return $.replace("</head>",`${J}
|
|
15276
|
+
</head>`)}function _L($){if(!$.pwa?.enabled)return"";return`<script>
|
|
15168
15277
|
if ('serviceWorker' in navigator) {
|
|
15169
15278
|
window.addEventListener('load', function() {
|
|
15170
|
-
navigator.serviceWorker.register('/${
|
|
15279
|
+
navigator.serviceWorker.register('/${X6($)}')
|
|
15171
15280
|
.then(function(registration) {
|
|
15172
15281
|
console.log('[PWA] Service Worker registered:', registration.scope);
|
|
15173
15282
|
})
|
|
@@ -15176,86 +15285,90 @@ if ('serviceWorker' in navigator) {
|
|
|
15176
15285
|
});
|
|
15177
15286
|
});
|
|
15178
15287
|
}
|
|
15179
|
-
</script>`}function
|
|
15288
|
+
</script>`}function HL(){return'<link rel="manifest" href="/manifest.json">'}function OL($){return`<meta name="theme-color" content="${Z6($)}">`}function Z6($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var Vq=E(()=>{Lq()});import LL from"fs";import P0 from"path";function Aq($){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(`
|
|
15180
15289
|
`,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===`
|
|
15181
15290
|
`){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]===`
|
|
15182
|
-
`)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 a5($,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
|
|
15291
|
+
`)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 a5($,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 Rq($){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 VL($){let X=a5($,"data-stx-runtime");if(!X)return $;let Z=Rq($);if(Z===-1||Z===X.start)return $;let J=$.slice(X.start,X.end),Y=$.slice(0,X.start)+$.slice(X.end),G=Rq(Y);if(G===-1)return J+`
|
|
15183
15292
|
`+Y;return Y.slice(0,G)+J+`
|
|
15184
|
-
`+Y.slice(G)}async function O0($,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=F1($);let G=!X.__stxProcessingDepth;if(G)
|
|
15185
|
-
`),...W.htmlAttrs&&{htmlAttrs:
|
|
15186
|
-
<meta name="stx-layout" content="${
|
|
15187
|
-
<meta name="stx-layout-group" content="${
|
|
15188
|
-
`+K+Q.slice(z.end)}}catch{}if(G)try{let{getFrameworkComposableScript:w}=await e("stx/framework-composables",()=>Promise.resolve().then(() => (
|
|
15189
|
-
`+q+Q.slice(W.end)}}catch{}if(G)try{let{getComposableScript:w}=await e("stx/composable-loader",()=>Promise.resolve().then(() => (
|
|
15190
|
-
`+K+Q.slice(z.end)}}catch{}if(G)Q=
|
|
15293
|
+
`+Y.slice(G)}async function O0($,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=F1($);let G=!X.__stxProcessingDepth;if(G)V2(X);if(!X.__stxProcessingDepth)X.__stxProcessingDepth=0;if(X.__stxProcessingDepth++,!X.__onceStore)X.__onceStore=new Set;if((J.debug||!l7()&&!y$())&&Z&&Z.endsWith(".stx"))a3($,Z);try{return await l2.timeAsync("template-processing",async()=>{let Q=await AL($,X,Z,J,Y);if(G)Q=c4(Q);if(G&&J.autoShell&&J.buildMode!=="compile"){let w=J.app?.head||{},W=(X.__stx_runtime_head||null)??qX(),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,_=!W.title&&(!!z||!!B),H={...w,...j&&{title:j},meta:[...w.meta||[],...W.meta||[]],link:[...w.link||[],...W.link||[]],script:[...w.script||[],...W.script||[]],headRaw:[w.headRaw,K].filter(Boolean).join(`
|
|
15294
|
+
`),...W.htmlAttrs&&{htmlAttrs:uQ(w.htmlAttrs,W.htmlAttrs)},...W.bodyAttrs&&{bodyAttrs:{...w.bodyAttrs||{},...W.bodyAttrs}}},O=d4(Q);if(Q=cQ(Q,H,{..._&&{titleIsHtml:!0},...J.app?.colorMode&&{colorMode:J.app.colorMode}}),O)Q=lQ(Q,w),Q=dQ(Q,H.htmlAttrs);let L=Q.match(/<!-- stx-layout: ([^ ]+) -->/);if(L&&Q.includes("<head")){let R=L[1],A=B7(R);Q=Q.replace(/<head\b[^>]*>/i,(N)=>`${N}
|
|
15295
|
+
<meta name="stx-layout" content="${Aq(R)}">
|
|
15296
|
+
<meta name="stx-layout-group" content="${Aq(A)}">`)}let F=Q.match(/function (__stx_setup_\d+_\d+)\(/),V=F?g7(Q):null;if(F&&V&&!/\bdata-stx=/.test(V.tag)){Q=h8(Q,(A,N)=>`<body${N} data-stx="${F[1]}">`);let R=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${F[1]}"`,"i");Q=Q.replace(R,"$1")}}if(G){Q=mQ(Q);let w=J.app?.colorMode;if(w)Q=vQ(Q,w);Q=fQ(Q),Q=VL(Q)}if(G)try{let{getStoreScript:w}=await e("stx/store-loader",()=>Promise.resolve().then(() => ($w(),eQ))),q=J.storesDir,W=await w(q);if(W){let K=`<script data-stx-stores>${W}</script>`,z=a5(Q,"data-stx-runtime");if(z)Q=Q.slice(0,z.end)+`
|
|
15297
|
+
`+K+Q.slice(z.end)}}catch{}if(G)try{let{getFrameworkComposableScript:w}=await e("stx/framework-composables",()=>Promise.resolve().then(() => (Gw(),Yw))),q=await w(Q);if(q){let W=a5(Q,"data-stx-stores")||a5(Q,"data-stx-runtime");if(W)Q=Q.slice(0,W.end)+`
|
|
15298
|
+
`+q+Q.slice(W.end)}}catch{}if(G)try{let{getComposableScript:w}=await e("stx/composable-loader",()=>Promise.resolve().then(() => (qw(),ww))),q=J.composablesDir,W=await w(q);if(W){let K=`<script data-stx-composables>${W}</script>`,z=a5(Q,"data-stx-stores")||a5(Q,"data-stx-runtime");if(z)Q=Q.slice(0,z.end)+`
|
|
15299
|
+
`+K+Q.slice(z.end)}}catch{}if(G)Q=xQ(Q);if(G&&X.__stx_inject_css!==!1)Q=await n7(Q,void 0,J.buildMode==="serve");if(G)Q=r2(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 Y5(`Template processing failed: ${w}`,Z,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(J1.log(q,{filePath:Z,context:X}),k3.logDetailedError(q,{filePath:Z,template:$.substring(0,500)}),J.debug)throw q;return T3.createFallbackContent("Template Processing",q)}}async function AL($,X,Z,J,Y){let G=process.cwd(),Q={...J,partialsDir:J.partialsDir&&!P0.isAbsolute(J.partialsDir)?P0.resolve(G,J.partialsDir):J.partialsDir,componentsDir:J.componentsDir&&!P0.isAbsolute(J.componentsDir)?P0.resolve(G,J.componentsDir):J.componentsDir,layoutsDir:J.layoutsDir&&!P0.isAbsolute(J.layoutsDir)?P0.resolve(G,J.layoutsDir):J.layoutsDir},w=Q,q=$;await TL(Z,X),NL(X,w),q=await P5(()=>OQ(q,X,Z,w),q,(F)=>{J1.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=w1(q,y7,(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,R)=>K[Number(R)]??""),U="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,U),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(F,V)=>{return`{{ ${V} }}`}),q=EQ(q),q=await rQ(q,Z,Y);let B={};q=b4(q,B);let j={...X.__sections||{}},_="",H=fY(l$($)),O=/@nolayout\b/.test(q)||H===!1;if(/@nolayout\b/.test(q))q=q.replace(/@nolayout\b\s*/g,"");let L=q.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(L)_=L[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");else if(typeof H==="string"){if(_=H,!/@section\s*\(/.test(q))q=`@section('content')
|
|
15191
15300
|
${q.trim()}
|
|
15192
|
-
@endsection`}if(!_&&!
|
|
15301
|
+
@endsection`}if(!_&&!O&&w.defaultLayout){let F=u4(q),V=/@section\s*\(/.test(q);if(!F||V){let R="",A=P0.dirname(Z),N=w.layoutsDir?P0.dirname(w.layoutsDir):process.cwd();for(let M=0;M<20;M++){let T=P0.join(A,"_layout.stx");if(await n(T)){R=T;break}let k=P0.dirname(A);if(k===A||k.length<N.length)break;A=k}if(R)_=R;else if(w.layoutsDir){let M=P0.isAbsolute(w.layoutsDir)?w.layoutsDir:P0.resolve(process.cwd(),w.layoutsDir),T=P0.join(M,`${w.defaultLayout}.stx`);if(await n(T))_=T}if(_&&!V)q=`@section('content')
|
|
15193
15302
|
${q.trim()}
|
|
15194
|
-
@endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,
|
|
15303
|
+
@endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,R)=>{return j[V]=R,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(F,V,R)=>{if(/^(['"]).*\1$/.test(R.trim()))return F;try{let A=Y0(R.trim(),X);if(A===void 0)return F;return j[V]=String(A??""),""}catch{return F}}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(F,V,R)=>{if(R.includes("@parent"))j[V]=R.replace("@parent",U5);else j[V]=R.trim();return""}),X.__sections=j,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(F,V,R)=>{return j[V]||R||""}),!("slot"in X)||X.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""});if(q=S4(q,B),_){let F=[],V=y1(q),R=w1(V.output,M5,(A,N)=>`\x00STX_ORPHAN_STYLE_${N}\x00`);if(q=R.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(A,N,M)=>{let T=N==="SCRIPT"?V.scripts[Number(M)]:R.tokens[Number(M)];if(T)F.push(T);return""}),F.length>0){let A=F.join(`
|
|
15195
15304
|
`);j.content=j.content?`${j.content}
|
|
15196
|
-
${
|
|
15197
|
-
${q}`,z(q)}catch(F){return
|
|
15198
|
-
`;if(G=
|
|
15305
|
+
${A}`:A,X.__sections=j}}if(_)try{let F;if(P0.isAbsolute(_))F=_,Y.add(_);else F=await P5(()=>lX(_,Z,Q,Y),null,()=>{throw new Y5(`Failed to resolve layout path: ${_}`,Z,void 0,void 0,`Layout referenced from ${Z}`)});if(!F){let T=[];try{let D=Q.layoutsDir;if(D){let I=P0.isAbsolute(D)?D:P0.resolve(process.cwd(),D);T=LL.readdirSync(I).filter((S)=>S.endsWith(".stx")).map((S)=>S.replace(/\.stx$/,"")).sort()}}catch{}let k=`Layout not found: ${_} (referenced from ${Z})`+(T.length>0?`. Available layouts: ${T.join(", ")}`:Q.layoutsDir?`. No .stx layouts found in ${Q.layoutsDir}`:"");if(J1.log(Error(k),{layoutPath:_,filePath:Z,available:T},"error"),console.error(`[stx] ${k}`),Q.debug)throw new Y5(k,Z);return q}let V=await P5(()=>Bun.file(F).text(),"",()=>{throw new Y5(`Failed to read layout file: ${F}`,Z,void 0,void 0,"Layout content could not be loaded")}),R=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(R){if(Q.debug)console.log(`Found nested layout: ${R[1]} in ${F}`);let T={},k=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(S,b,y)=>{return T[b]=y.trim(),""});for(let[S,b]of Object.entries(T))if(j[S]&&j[S].includes(U5)){let y=j[S].indexOf(U5);j[S]=j[S].slice(0,y)+b+j[S].slice(y+U5.length)}else if(!j[S])j[S]=b;let D={...X,__sections:j},I=`@layout('${R[1]}')${k}`;return await O0(I,D,F,Q,Y)}let A=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),N=b4(A,B),M={};return N=N.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(T,k,D)=>{return M[k]=D.trim(),`@slot('${k}')`}),N=N.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(T,k,D)=>{if(j[k]){let I=j[k];if(I.includes(U5)){let S=M[k]||"",b=I.indexOf(U5);I=I.slice(0,b)+S+I.slice(b+U5.length)}return I}return D||""}),N=RL(N,j),N=N.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),N=S4(N,B),X.__originalFilePath=Z,q=await Nq(N,X,F,Q,Y),q=`<!-- stx-layout: ${_} -->
|
|
15306
|
+
${q}`,z(q)}catch(F){return J1.log(F instanceof Error?F:Error(String(F)),{layoutPath:_,filePath:Z},"error"),`[Error processing layout: ${F instanceof Error?F.message:String(F)}]`}return z(await Nq(q,X,Z,Q,Y))}function RL($,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 NL($,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 TL($,X){await P5(()=>RQ($,X),void 0,(Z)=>{J1.log(Z,{filePath:$,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${$}: ${Z.message}`)})}async function ML($,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 e("stx/variable-extractor",()=>Promise.resolve().then(() => (x7(),x8)));await q(Q,X,Z,{preserveExisting:!0})}catch(q){let W=q instanceof Error?q:Error(String(q));J1.log(W,{filePath:Z,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Z}: ${W.message}`)}}}async function kL($,X,Z){try{let{interpolateScriptsInTemplate:J}=await e("stx/expressions",()=>Promise.resolve().then(() => (q1(),u2)));return J($,X,{skipServer:!0})}catch(J){let Y=J instanceof Error?J:Error(String(J));return J1.log(Y,{filePath:Z,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Z}: ${Y.message}`),$}}async function Nq($,X,Z,J,Y){let G=$,Q=J;if(await ML(G,X,Z),G=await kL(G,X,Z),G=await zQ(G,X,Z),G=await UQ(G,X,Z),G=await JG(G,X,Z,Q),F1(G))G=fX(G,X),G=hX(G,X);G=gX(G);let{processStreamDirectives:w}=await e("stx/streaming",()=>Promise.resolve().then(() => (s3(),o3)));G=w(G,X),G=I4(G,X,Z,Q),G=await CQ(G,X,Z,Q,Y),G=await J9(G,X,Z,Q,Y),G=v6(G,X,Z,Q);let{processDeferDirectives:q}=await e("stx/defer",()=>Promise.resolve().then(() => Kw));G=q(G,X,Z);let{processTeleportDirectives:W}=await e("stx/teleport",()=>Promise.resolve().then(() => Uw));G=W(G,X,Z);let{processTransitionDirectives:K,processTransitionAttributes:z}=await e("stx/transitions",()=>Promise.resolve().then(() => Hw));G=K(G,X,Z),G=z(G);let{processErrorBoundaryDirectives:U}=await e("stx/error-boundaries",()=>Promise.resolve().then(() => Lw));G=U(G,X,Z);let{processSuspenseDirectives:B}=await e("stx/suspense",()=>Promise.resolve().then(() => Fw));G=B(G,X,Z);let{processAsyncDirectives:j}=await e("stx/async-components",()=>Promise.resolve().then(() => Nw));G=j(G,X,Z);let{processKeepAliveDirectives:_}=await e("stx/keep-alive",()=>Promise.resolve().then(() => Mw));G=_(G,X,Z);let{processVirtualListDirectives:H,processVirtualGridDirectives:O,processInfiniteListDirectives:L}=await e("stx/virtual-scrolling",()=>Promise.resolve().then(() => (bw(),yw)));G=H(G,X,Z),G=O(G,X,Z),G=L(G,X,Z);let{processPartialHydrationDirectives:F,processStaticDirectives:V}=await e("stx/partial-hydration",()=>Promise.resolve().then(() => (iw(),pw)));G=F(G,X,Z),G=V(G);let{processComputedDirectives:R,processWatchDirectives:A}=await e("stx/computed",()=>Promise.resolve().then(() => (Yq(),Jq)));G=R(G,X,Z),G=A(G,X,Z);let{processFormValidationDirectives:N}=await e("stx/forms-validation",()=>Promise.resolve().then(() => (zq(),Kq)));G=N(G,X,Z);let{processHeadDirective:M,processTitleDirective:T,processMetaDirective:k,resetHead:D}=await e("stx/head",()=>Promise.resolve().then(() => (v7(),KX)));if(!X.__stx_head_preset&&!X.__stx_runtime_head)D();let I=M(G);if(G=I.content,I.headContent)X.__stx_head_raw=`${X.__stx_head_raw||""}${I.headContent}
|
|
15307
|
+
`;if(G=T(G,X),G=k(G,X),G=VQ(G),G=v3(G,X),G=XG(G),G=_Q(G),G=await y4(G,X,Z,Q,Y),G=await J9(G,X,Z,Q,Y),X.__stxProcessingDepth===1)G=R2(G,X);if(G=G.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),G=c4(G),G=Q5(G,X,Z),G=x3(G,X),G=f3(G,X),G=r$(G,X),G=UG(G,X),G=jG(G,X),G=await lY(G,X,Z,Q),G=await $J(G,X,Z),G=await LG(G,X,Z,Q),G=E6(G,X,Z,Q),G=qY(G,X,Z,Q),G=WY(G,X,Z),G=KY(G,X,Z,Q),G=tY(G,X,Z,Q),G=m4(G,X),G=l4(G),G=sQ(G),!Q.skipEventDirectives)G=X2(G,X,Z);if(G=dY(G,X,Z),Q.debug){let r=/\bx-data\s*=/.test(G),$0=$$($);if(r&&$0)console.warn(`[stx] ${Z}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
|
|
15199
15308
|
Both work on the same page, but they manage separate scopes.
|
|
15200
|
-
Prefer signals (state/derived/effect) for new components.`)}G=
|
|
15201
|
-
</head>`);if(/<head\b[^>]*>/i.test(
|
|
15202
|
-
${
|
|
15309
|
+
Prefer signals (state/derived/effect) for new components.`)}G=MQ(G,X),G=await b1(G,X,Z),G=aQ(G),G=tQ(G),G=CY(G);let{processXElementDirectives:S}=await e("stx/x-element",()=>Promise.resolve().then(() => Bq));G=S(G);let b=X.__originalFilePath||Z,y=I7(X);if(G=await uX(G,Q,b,y),G=qG(G,X),G=await LQ(G,X,Z,Q),Q.media?.image?.autoSiblings){let r=Q.publicDir||"public",{rewriteImagesWithSiblings:$0}=await e("stx/image-optimization/auto-sibling",()=>Promise.resolve().then(() => (Hq(),_q)));G=await $0(G,{publicDir:r})}if(Q.seo?.enabled)G=zY(G,X,Q);let v=(r,$0,K0=!0)=>{if(!$0)return r;let v0=$0.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),L0=r.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(v0&&L0){if(K0)r=r.replace(L0[0],v0[0]);if($0=$0.replace(v0[0],"").trim(),!$0)return r}if(/<\/head>/i.test(r))return r.replace(/<\/head>/i,`${$0}
|
|
15310
|
+
</head>`);if(/<head\b[^>]*>/i.test(r))return r.replace(/(<head\b[^>]*>)/i,`$1
|
|
15311
|
+
${$0}`);if(/<html\b[^>]*>/i.test(r))return r.replace(/(<html\b[^>]*>)/i,`$1
|
|
15203
15312
|
<head>
|
|
15204
|
-
${
|
|
15205
|
-
</head>`);return
|
|
15206
|
-
${
|
|
15207
|
-
</script>`;if(G.includes("</head>")){let K0=G.indexOf("</head>"),
|
|
15208
|
-
`+
|
|
15313
|
+
${$0}
|
|
15314
|
+
</head>`);return r},{renderHead:f,getHead:x}=await e("stx/head",()=>Promise.resolve().then(() => (v7(),KX))),l=X.__stx_runtime_head??x();if(l.title||l.meta?.length||l.link?.length){let r=f(l);if(r)G=v(G,r)}if(I.headContent)G=v(G,I.headContent,!l.title);if(Q.csp?.enabled&&Q.csp.addMetaTag)G=sY(G,Q.csp,X);if(Q.analytics?.enabled)G=vY(G,Q);if(Q.heatmap?.enabled)G=h6(G,Q);if(Q.pwa?.enabled&&Q.pwa.autoInject!==!1){let{injectPwaTags:r}=await e("stx/pwa/inject",()=>Promise.resolve().then(() => (Vq(),Fq)));G=r(G,Q)}let T0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(G),W0=/\bSTX\.\w+/.test(G),A0=/window\.STX\s*=/.test(G);if(T0&&W0&&!A0){let $0=`<script data-stx-scoped data-stx-run="once">
|
|
15315
|
+
${DY()}
|
|
15316
|
+
</script>`;if(G.includes("</head>")){let K0=G.indexOf("</head>"),L0=G.slice(0,K0).indexOf("<script");if(L0!==-1){let P=G.slice(0,L0),C=G.slice(L0);G=P+$0+`
|
|
15317
|
+
`+C}else G=G.replace("</head>",`${$0}
|
|
15209
15318
|
</head>`)}else if(G.includes("<body"))G=G.replace(/<body([^>]*)>/,`<body$1>
|
|
15210
|
-
${
|
|
15211
|
-
`+G}{let{scanScriptTags:
|
|
15212
|
-
`+G.slice(K0)}X.__stx_event_bindings=[]}}if(!
|
|
15319
|
+
${$0}`);else G=$0+`
|
|
15320
|
+
`+G}{let{scanScriptTags:r}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (u7(),X$))),$0=[];for(let K0 of r(G)){if(!/\bserver\b/i.test(K0.attrs))continue;let v0=K0.start+K0.fullMatch.indexOf(">")+1,L0=FL(G,v0);if(L0===-1)continue;let P=L0+9;while(P<G.length&&/\s/.test(G[P]))P++;$0.push({start:K0.start,end:P})}for(let K0=$0.length-1;K0>=0;K0--){let{start:v0,end:L0}=$0[K0];G=G.substring(0,v0)+G.substring(L0)}}let s=S8(G,Z);if(s.hasScoped)G=s.html;let c=X.__stx_event_bindings||[],_0=!1,M0=[],T1=/\s:[a-z][\w.-]*\s*=/.test(G),{scanScriptTags:j5}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (u7(),X$)));for(let r of j5(G,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))M0.push({match:r.fullMatch,attrs:r.attrs,content:r.body});for(let{match:r,attrs:$0,content:K0}of M0){_0=!0;let v0=K0;i4(K0,Z,J.strict,X.__originalFilePath);let L0=await E7(K0,{eventBindings:c,attrs:$0,hasColonDirectives:T1,templateContent:$,filePath:Z,projectRoot:process.cwd(),production:J.buildMode==="compile",serverData:y});G=G.replace(r,()=>L0)}if(_0)X.__stx_event_bindings=[];if(!_0&&X.__stxProcessingDepth===1){let r=X.__stx_event_bindings||[];if(r.length>0){let $0=i9(r);if($0){let K0=G.lastIndexOf("</body>");G=K0===-1?G+$0:G.slice(0,K0)+$0+`
|
|
15321
|
+
`+G.slice(K0)}X.__stx_event_bindings=[]}}if(!gZ(G)&&hZ(G))G=await s8(G,Q);if(G=uZ(G),Q.csp?.enabled&&Q.csp.useNonce&&typeof X.cspNonce==="string")G=aY(G,X.cspNonce);return G}var U5="<!--PARENT_CONTENT_PLACEHOLDER-->";var G$=E(()=>{m$();LX();r1();h9();yY();PY();xY();m9();u9();n9();D7();mY();cY();p$();eY();ZG();GG();WG();V1();v7();q1();BG();FG();KQ();BQ();E4();cX();FQ();E5();AQ();x$();D0();NQ();kQ();DQ();PQ();QX();f4();pQ();u7();M4();oQ();p4();n4();I0();t3();$X();R7();a8();a8();p4();n4()});import V0 from"fs";import J0 from"path";import Q6 from"fs";import fq from"path";var L9="resources/assets",w6="assets";function q6($=process.cwd()){let X=fq.resolve($,L9);return Q6.existsSync(X)&&Q6.statSync(X).isDirectory()?X:null}import H5 from"fs";import F9 from"path";var W6="_stx";function gq($){return Bun.hash($).toString(16).slice(0,8)}function hq($){let X=[],Z=(J)=>{for(let Y of H5.readdirSync(J,{withFileTypes:!0})){let G=F9.join(J,Y.name);if(Y.isDirectory())Z(G);else if(Y.isFile()&&G.endsWith(".html"))X.push(G)}};if(H5.existsSync($))Z($);return X}var uq=[{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 dq($,X=`/${W6}`){let Z=[],J=new Set,Y=0,G=$;for(let Q of uq)G=G.replace(Q.pattern,(w,q,W)=>{if(/\b(?:src|href)\s*=/.test(q)||!W.trim())return w;let K=`${Q.prefix}.${gq(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 K6($){let X={pages:0,assets:0,bytesInlined:0},Z=F9.join($,W6),J=new Set;for(let Y of hq($)){let G=H5.readFileSync(Y,"utf8"),{html:Q,assets:w,bytesInlined:q}=dq(G);if(Q===G)continue;for(let W of w){if(J.has(W.filename))continue;J.add(W.filename),H5.mkdirSync(Z,{recursive:!0}),H5.writeFileSync(F9.join(Z,W.filename),W.contents),X.assets++}H5.writeFileSync(Y,Q),X.bytesInlined+=q,X.pages++}return X}f9();G$();import{createHash as IL}from"crypto";function EL($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}var DL=/<script\s+type="stx\/island"\s+data-stx-island="([^"]+)"([^>]*)>([\s\S]*?)<\/script>/g;function yL($){return Bun.hash($).toString(16)}function Tq($,X={}){if(!$.includes('type="stx/island"'))return{html:$,chunks:[]};let Z=new Map,J=$.replace(DL,(G,Q,w,q)=>{let W=q.trim();if(!W)return G;if(/\bdata-stx-src=/.test(w))return G;if(X.minify)W=EL(W);let K=yL(W);if(!Z.has(K))Z.set(K,W);let z=X.integrity?` data-stx-integrity="sha384-${IL("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 bL=new Set(["visible","idle"]);function Mq($){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(bL.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)}L1();import q8 from"fs";import H9 from"path";var SL="layout-types.d.ts";function CL($){let X=[],Z=(J,Y)=>{let G;try{G=q8.readdirSync(J,{withFileTypes:!0})}catch{return}for(let Q of G){if(Q.name.startsWith("."))continue;let w=H9.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 PL($){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(`
|
|
15213
15322
|
`);return X.push("declare module '@stacksjs/stx' {"," interface KnownLayouts {",...$.map((Z)=>` '${Z}': true`)," }","}","","export {}",""),X.join(`
|
|
15214
|
-
`)}function
|
|
15215
|
-
`)}
|
|
15323
|
+
`)}function kq($,X){if(!$)return[];let Z=H9.isAbsolute($)?$:H9.resolve(process.cwd(),$),J=CL(Z),Y=PL(J),G=H9.join(X,SL);try{if(q8.existsSync(G)&&q8.readFileSync(G,"utf8")===Y)return J;q8.mkdirSync(X,{recursive:!0}),q8.writeFileSync(G,Y)}catch{}return J}var vL=["STX_SITE_URL","SITE_URL","URL","VERCEL_URL","CF_PAGES_URL"];function J6($){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 xL($){for(let X of vL){let Z=$[X];if(!Z)continue;let J=J6(Z);if(J)return{url:J,source:"env",via:X}}return null}function Iq($){if(!$||typeof $!=="object")return null;let X=$,Z=X.site?.url??X.url??X.app?.url;return typeof Z==="string"?J6(Z):null}async function fL($){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=Iq(G.default??G);if(Q)return Q}catch{}}return null}async function Eq($={}){let X=$.cwd??process.cwd(),Z=$.env??process.env;if($.explicit){let Q=J6($.explicit);if(Q)return{url:Q,source:"option"}}let J=Iq($.stxConfig);if(J)return{url:J,source:"stx.config",via:"site.url"};let Y=await fL(X);if(Y)return{url:Y,source:"site.config",via:"url"};let G=xL(Z);if(G)return G;return{url:"http://localhost",source:"fallback"}}function Dq(){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(`
|
|
15324
|
+
`)}x$();V7();m$();k1();class yq{cacheDir;cache=new Map;loaded=!1;constructor($){this.cacheDir=$}async load(){if(this.loaded)return;let $=J0.join(this.cacheDir,"build-cache.json");if(await Bun.file($).exists())try{let 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 V0.promises.mkdir(this.cacheDir,{recursive:!0});let $=J0.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=V0.statSync($),J=`${$}:${Z.mtimeMs}`;for(let G of X)if(V0.existsSync(G)){let Q=V0.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 bq{cacheDir;constructor($){this.cacheDir=$}getFilePath($){let X=$.replace(/[^a-zA-Z0-9]/g,"_")+".json";return J0.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 V0.promises.mkdir(J0.dirname(Z),{recursive:!0}),await Bun.write(Z,JSON.stringify(X))}async invalidate($){let X=this.getFilePath($);if(await Bun.file(X).exists())await V0.promises.unlink(X)}async invalidatePattern($){let X=J0.join(this.cacheDir,"isr");if(!V0.existsSync(X))return;let Z=await V0.promises.readdir(X);for(let J of Z){let Y=J.replace(/_/g,"/").replace(".json","");if($.test(Y))await V0.promises.unlink(J0.join(X,J))}}async needsRevalidation($){let X=await this.get($);if(!X)return!0;return Date.now()>X.revalidateAfter}}async function gL($){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(`
|
|
15216
15325
|
return (async function getStaticPaths() {
|
|
15217
15326
|
${Y[1]}
|
|
15218
15327
|
})()
|
|
15219
|
-
`)()}catch(X){return console.error(`Error extracting static paths from ${$}:`,X),null}}async function
|
|
15328
|
+
`)()}catch(X){return console.error(`Error extracting static paths from ${$}:`,X),null}}async function hL($){let X=[];if(!$.isDynamic)X.push({url:$.pattern,params:{}});else{let Z=await gL($.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 uL($){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 dL($,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",`
|
|
15220
15329
|
return (async function getStaticProps() {
|
|
15221
15330
|
${G[1]}
|
|
15222
15331
|
})()
|
|
15223
|
-
`)(X)}catch(G){return console.error(`Error executing getStaticProps in ${Z}:`,G),null}}function
|
|
15224
|
-
|
|
15225
|
-
|
|
15332
|
+
`)(X)}catch(G){return console.error(`Error executing getStaticProps in ${Z}:`,G),null}}function mL($){return/(?:^|[^\w$.])(?:export\s+)?(?:async\s+)?function\s+action\s*\(/.test($)||/(?:^|[^\w$.])(?:export\s+)?(?:const|let|var)\s+action\s*=/.test($)}async function Sq($,X,Z={},J,Y){let G=await Bun.file($.filePath).text(),Q=await uL($.filePath),w=await dL(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(`${J0.relative(process.cwd(),B.templatePath)}: ${B.message}
|
|
15333
|
+
resolved against partialsDir: ${B.partialsDir}`)}};if(mL(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 O0(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}
|
|
15334
|
+
</head>`);else U=`${B}
|
|
15335
|
+
${U}`}if(U=await vX(U,{router:J.router}),U=await n7(U),J.minify!==!1)return{html:lL(U),dependencies:Array.from(W),includeFailures:K};return{html:U,dependencies:Array.from(W),includeFailures:K}}function lL($){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 cL($){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 pL($,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 iL($,X){return`<?xml version="1.0" encoding="UTF-8"?>
|
|
15226
15336
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
15227
15337
|
${$.map((J)=>{let Y=new URL(J.loc,X).href,G=` <url>
|
|
15228
|
-
<loc>${
|
|
15338
|
+
<loc>${Q1(Y)}</loc>`;if(J.lastmod)G+=`
|
|
15229
15339
|
<lastmod>${J.lastmod}</lastmod>`;if(J.changefreq)G+=`
|
|
15230
15340
|
<changefreq>${J.changefreq}</changefreq>`;if(J.priority!==void 0)G+=`
|
|
15231
15341
|
<priority>${J.priority}</priority>`;return G+=`
|
|
15232
15342
|
</url>`,G}).join(`
|
|
15233
15343
|
`)}
|
|
15234
|
-
</urlset>`}function
|
|
15235
|
-
<title>${
|
|
15236
|
-
<link>${
|
|
15237
|
-
<description>${
|
|
15344
|
+
</urlset>`}function Q1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function nL($,X){let Z=X.map((J)=>{let Y=" <item>";if(Y+=`
|
|
15345
|
+
<title>${Q1(J.title)}</title>`,Y+=`
|
|
15346
|
+
<link>${Q1(J.link)}</link>`,J.description)Y+=`
|
|
15347
|
+
<description>${Q1(J.description)}</description>`;if(J.pubDate)Y+=`
|
|
15238
15348
|
<pubDate>${J.pubDate.toUTCString()}</pubDate>`;if(J.author)Y+=`
|
|
15239
|
-
<author>${
|
|
15240
|
-
<category>${
|
|
15241
|
-
<guid>${
|
|
15349
|
+
<author>${Q1(J.author)}</author>`;if(J.categories)for(let G of J.categories)Y+=`
|
|
15350
|
+
<category>${Q1(G)}</category>`;if(J.guid)Y+=`
|
|
15351
|
+
<guid>${Q1(J.guid)}</guid>`;return Y+=`
|
|
15242
15352
|
</item>`,Y});return`<?xml version="1.0" encoding="UTF-8"?>
|
|
15243
15353
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
|
15244
15354
|
<channel>
|
|
15245
|
-
<title>${
|
|
15246
|
-
<link>${
|
|
15247
|
-
<description>${
|
|
15355
|
+
<title>${Q1($.title)}</title>
|
|
15356
|
+
<link>${Q1($.link)}</link>
|
|
15357
|
+
<description>${Q1($.description)}</description>
|
|
15248
15358
|
${$.language?`<language>${$.language}</language>`:""}
|
|
15249
|
-
${$.copyright?`<copyright>${
|
|
15359
|
+
${$.copyright?`<copyright>${Q1($.copyright)}</copyright>`:""}
|
|
15250
15360
|
<lastBuildDate>${new Date().toUTCString()}</lastBuildDate>
|
|
15251
15361
|
<atom:link href="${$.link}/rss.xml" rel="self" type="application/rss+xml"/>
|
|
15252
15362
|
${Z.join(`
|
|
15253
15363
|
`)}
|
|
15254
15364
|
</channel>
|
|
15255
|
-
</rss>`}async function
|
|
15256
|
-
const validate = ${
|
|
15365
|
+
</rss>`}async function rL($={}){let X=Date.now(),Z=await X1(),J=await Eq({explicit:$.domain,stxConfig:Z});if(J.source==="fallback"&&($.sitemap??!0))console.warn(Dq());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||_1(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&&V0.existsSync(Y.outputDir))await V0.promises.rm(Y.outputDir,{recursive:!0});await V0.promises.mkdir(Y.outputDir,{recursive:!0});let z=new yq(Y.cacheDir);if(Y.cache)await z.load();try{let{generateCrosswindCSS:A}=await Promise.resolve().then(() => (m$(),EY));await A('<div class="bg-black"></div>')}catch{}q7();let U=Z?.routeMiddleware?.dir||"middleware";await K7(process.cwd(),U);let B=W7();if(B.length>0)console.log(`Loaded ${B.length} middleware: ${B.join(", ")}`);let j=Z?.routeMiddleware?.global||[];kq(Z?.layoutsDir,_1(process.cwd()));let _=H7(".",{pagesDir:Y.pagesDir});console.log(`Found ${_.length} routes`);let H=[];for(let A of _){let N=await hL(A);for(let M of N)H.push({route:A,url:M.url,params:M.params,props:M.props,revalidate:M.revalidate??Y.revalidate})}G.totalPages=H.length,console.log(`Generating ${G.totalPages} pages...`);let O=[],L=[];for(let A=0;A<H.length;A+=Y.concurrency)L.push(H.slice(A,A+Y.concurrency));for(let A of L)await Promise.all(A.map(async(N)=>{let{route:M,url:T,params:k,props:D,revalidate:I}=N;try{await Y.hooks.onPageStart?.(T);let S=await Bun.file(M.filePath).text(),b=tL(S),y=b?.middleware?Array.isArray(b.middleware)?b.middleware:[b.middleware]:[],v=[...j,...y];if(v.length>0){let W0=z7(T,k,b||{}),A0=U7(W0,null,void 0,{isServer:!0}),s=await j7(v,A0);if(s.redirect){let c=typeof s.redirect==="string"?s.redirect:s.redirect.path||s.redirect,_0=eL(String(c),T),M0=$F(T,Y);await V0.promises.mkdir(J0.dirname(M0),{recursive:!0}),await Bun.write(M0,_0),G.successCount++,G.pages.push({route:T,outputPath:M0,size:Buffer.byteLength(_0),cached:!1}),O.push({loc:T,lastmod:new Date().toISOString()}),console.log(` \u21B3 ${T} \u2192 redirect to ${c}`);return}if(s.abort){let c=typeof s.abort==="string"?s.abort:s.abort?.error?.message||"aborted";console.warn(` \u21B3 ${T} \u2014 middleware aborted: ${c}`);return}}let f=S.match(/definePageMeta\s*\(\s*\{[\s\S]*?validate\s*:\s*((?:\([^)]*\)|[^,}])*(?:\{[\s\S]*?\})?)/m);if(f)try{if(!await Function("route",`
|
|
15366
|
+
const validate = ${f[1]};
|
|
15257
15367
|
return validate(route);
|
|
15258
|
-
`)({params:k})){console.warn(`Validation failed for ${
|
|
15368
|
+
`)({params:k})){console.warn(`Validation failed for ${T}, skipping...`);return}}catch{}let x=null,p=!1;if(Y.cache){if(x=z.get(T,M.filePath),x)p=!0,G.cachedCount++}if(!x){let W0=await Sq(M,k,D,Y,Z);if(x=W0.html,Y.failOnIncludeError&&W0.includeFailures.length>0)throw Error(`${W0.includeFailures.length} include(s) failed to resolve, so this page would have shipped with an error banner where the markup should be:
|
|
15369
|
+
${W0.includeFailures.join(`
|
|
15370
|
+
`)}
|
|
15371
|
+
Set ssg.failOnIncludeError to false to build anyway.`);if(Y.cache)z.set(T,M.filePath,W0.dependencies,x)}let l;if(Y.trailingSlash)l=J0.join(Y.outputDir,T,"index.html");else l=T==="/"?J0.join(Y.outputDir,"index.html"):J0.join(Y.outputDir,`${T}.html`);if(Y.chunkIslands){let{html:W0,chunks:A0}=Tq(x,{integrity:Y.integrityIslands,minify:Y.minify});if(A0.length>0){let s=J0.join(Y.outputDir,"_stx","islands");await V0.promises.mkdir(s,{recursive:!0});for(let c of A0){let _0=J0.join(s,`${c.hash}.js`);if(!await Bun.file(_0).exists())await Bun.write(_0,c.code);if(!Q.has(c.hash)){Q.add(c.hash);let M0=Buffer.byteLength(c.code,"utf8");w+=M0,q[c.hash]={bytes:M0,file:`/_stx/islands/${c.hash}.js`}}}if(W[T]=A0.map((c)=>c.hash),x=W0,Y.prefetchIslands)x=Mq(x)}}if(await V0.promises.mkdir(J0.dirname(l),{recursive:!0}),await Bun.write(l,x),!pL(T,x,b,Y.sitemapExclude))O.push({loc:T,lastmod:new Date().toISOString().split("T")[0],priority:T==="/"?1:0.8});let T0={route:T,outputPath:l,size:Buffer.byteLength(x,"utf8"),cached:p};if(I!==!1)T0.revalidateAt=Date.now()+I*1000;G.pages.push(T0),G.successCount++,await Y.hooks.onPageEnd?.(T,x)}catch(S){G.failedCount++,G.errors.push({route:T,error:S}),await Y.hooks.onError?.(S,T),console.error(`Error generating ${T}:`,S)}}));if(Y.cache)await z.save();if(Y.generate404){let A=J0.join(Y.pagesDir,"404.stx");if(await Bun.file(A).exists()){let N=new Set,M={...Z,debug:!1,cache:!1},T=await O0(await Bun.file(A).text(),{},A,M,N);await Bun.write(J0.join(Y.outputDir,"404.html"),T)}else await Bun.write(J0.join(Y.outputDir,"404.html"),`<!DOCTYPE html>
|
|
15259
15372
|
<html lang="en">
|
|
15260
15373
|
<head>
|
|
15261
15374
|
<meta charset="UTF-8">
|
|
@@ -15276,7 +15389,7 @@ ${Z.join(`
|
|
|
15276
15389
|
<a href="/">Go home</a>
|
|
15277
15390
|
</div>
|
|
15278
15391
|
</body>
|
|
15279
|
-
</html>`)}for(let
|
|
15392
|
+
</html>`)}for(let A of[500]){let N=J0.join(Y.pagesDir,`${A}.stx`);if(await Bun.file(N).exists()){let M=new Set,T={...Z,debug:!1,cache:!1},k=await O0(await Bun.file(N).text(),{},N,T,M);await Bun.write(J0.join(Y.outputDir,`${A}.html`),k)}}let F=J0.join(Y.pagesDir,"error.stx");if(await Bun.file(F).exists()){let A=new Set,N={...Z,debug:!1,cache:!1},M=await O0(await Bun.file(F).text(),{},F,N,A);await Bun.write(J0.join(Y.outputDir,"error.html"),M)}if(Y.sitemap&&O.length>0){let A=iL(O,Y.domain),N=J0.join(Y.outputDir,"sitemap.xml");await Bun.write(N,A),G.sitemapPath=N,console.log(`Generated sitemap.xml with ${O.length} URLs`)}if(Y.robots!==!1){let A=typeof Y.robots==="object"?Y.robots:{},N=[...Y.sitemapExclude.filter((T)=>typeof T==="string"),...A.disallow||[]],M=BY({rules:[{userAgent:A.userAgent||"*",allow:A.allow||["/"],...N.length>0?{disallow:N}:{}}],...A.sitemap!==!1&&G.sitemapPath?{sitemap:new URL("/sitemap.xml",Y.domain).href}:{}});await Bun.write(J0.join(Y.outputDir,"robots.txt"),M),console.log("Generated robots.txt")}if(Y.rss){let A=typeof Y.rss==="object"?Y.rss:{title:"Site Feed",description:"Latest updates",link:Y.domain},N=[];if(A.getItems)N=await A.getItems();let M=nL(A,N),T=J0.join(Y.outputDir,"rss.xml");await Bun.write(T,M),G.rssPath=T,console.log(`Generated rss.xml with ${N.length} items`)}let V=K6(Y.outputDir);if(V.assets>0)console.log(`Externalized ${V.assets} asset(s) from ${V.pages} page(s) (${(V.bytesInlined/1024).toFixed(1)}KB removed from HTML)`);if(Y.publicDir&&V0.existsSync(Y.publicDir))await Y6(Y.publicDir,Y.outputDir),console.log(`Copied public assets from ${Y.publicDir}`);let R=q6();if(R)await Y6(R,J0.join(Y.outputDir,w6)),console.log(`Copied assets from ${L9}`)}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(J0.join(Y.outputDir,"_stx","islands-manifest.json"),JSON.stringify(z,null,2))}await Y.hooks.onBuildEnd?.(G);let K=G.islandChunks?`
|
|
15280
15393
|
Island chunks: ${G.islandChunks.count} (${(G.islandChunks.totalBytes/1024).toFixed(1)} KB lifted out of inline HTML)`:"";return console.log(`
|
|
15281
15394
|
Build complete!
|
|
15282
15395
|
Total: ${G.totalPages} pages
|
|
@@ -15284,8 +15397,8 @@ Build complete!
|
|
|
15284
15397
|
Cached: ${G.cachedCount}
|
|
15285
15398
|
Failed: ${G.failedCount}
|
|
15286
15399
|
Time: ${G.buildTime}ms${K}
|
|
15287
|
-
`),G}async function
|
|
15288
|
-
`)){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
|
|
15400
|
+
`),G}async function Y6($,X){await V0.promises.mkdir(X,{recursive:!0});let Z=await V0.promises.readdir($,{withFileTypes:!0});for(let J of Z){let Y=J0.join($,J.name),G=J0.join(X,J.name);if(J.isDirectory())await V0.promises.mkdir(G,{recursive:!0}),await Y6(Y,G);else await V0.promises.copyFile(Y,G)}}function oL($={}){let X=$.cacheDir||_1(process.cwd(),"ssg-cache"),Z=new bq(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=H7(".",{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 X1(),{html:K}=await Sq(Q,q,{},$,W);await Z.set(Y,{html:K,generatedAt:Date.now(),revalidateAfter:Date.now()+J*1000,etag:cL(K)}),console.log(`Revalidated: ${Y}`)},async invalidate(Y){if(typeof Y==="string")await Z.invalidate(Y);else await Z.invalidatePattern(Y)}}}function sL($){return async()=>{return{paths:await $(),fallback:!1}}}function aL(){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(`
|
|
15401
|
+
`)){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 tL($){return l$($)}function eL($,X){return`<!DOCTYPE html>
|
|
15289
15402
|
<html>
|
|
15290
15403
|
<head>
|
|
15291
15404
|
<meta charset="utf-8">
|
|
@@ -15297,4 +15410,4 @@ Build complete!
|
|
|
15297
15410
|
<p>Redirecting to <a href="${$}">${$}</a>...</p>
|
|
15298
15411
|
<script>window.location.replace('${$}')</script>
|
|
15299
15412
|
</body>
|
|
15300
|
-
</html>`}function
|
|
15413
|
+
</html>`}function $F($,X){if($==="/"||$==="")return J0.join(X.outputDir,"index.html");let Z=$.replace(/^\/|\/$/g,"");if(X.trailingSlash)return J0.join(X.outputDir,Z,"index.html");return J0.join(X.outputDir,`${Z}.html`)}var rD={generateStaticSite:rL,createISRHandler:oL,defineStaticPaths:sL,createMarkdownLoader:aL};export{pL as isExcludedFromSitemap,rL as generateStaticSite,sL as defineStaticPaths,rD as default,mL as declaresPageAction,aL as createMarkdownLoader,oL as createISRHandler};
|