@stacksjs/stx 0.2.174 → 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 +1045 -930
- package/dist/client-script.js +1 -0
- package/dist/component-renderer.js +17 -0
- package/dist/craft.js +561 -453
- 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 +512 -404
- 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 +15 -0
- package/dist/server-bindings.js +3 -0
- package/dist/signal-processing.js +1 -1
- package/dist/signals.js +30 -27
- package/dist/ssg.d.ts +23 -0
- package/dist/ssg.js +509 -397
- 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:()=>a0,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 a0($){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=w1($);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?a0(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 a0(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 a0(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 t0())?.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
|
|
@@ -3700,7 +3803,7 @@ else if (immediate) {
|
|
|
3700
3803
|
var ownerScope = currentLifecycleScope() || componentScope;
|
|
3701
3804
|
return {
|
|
3702
3805
|
get current() {
|
|
3703
|
-
return ownerScope.$refs
|
|
3806
|
+
return (ownerScope.$refs && ownerScope.$refs[name]) || null;
|
|
3704
3807
|
},
|
|
3705
3808
|
get value() {
|
|
3706
3809
|
return this.current;
|
|
@@ -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
|
}
|
|
@@ -6884,33 +6991,30 @@ catch (e2) {
|
|
|
6884
6991
|
}
|
|
6885
6992
|
|
|
6886
6993
|
// Helper to evaluate with captured scope (auto-unwraps signals).
|
|
6887
|
-
//
|
|
6888
|
-
//
|
|
6889
|
-
//
|
|
6890
|
-
//
|
|
6891
|
-
//
|
|
6892
|
-
//
|
|
6893
|
-
//
|
|
6894
|
-
// for EVERY comparison/boolean expression. bindIf was the only
|
|
6895
|
-
// directive missing this retry.
|
|
6994
|
+
// A with-scope resolves only identifiers the expression actually references,
|
|
6995
|
+
// so the conditional subscribes narrowly instead of reading every signal
|
|
6996
|
+
// in a component scope. That broad subscription made an unrelated ref
|
|
6997
|
+
// update re-enter structural removal while the real condition was already
|
|
6998
|
+
// removing the same subtree. First try the auto-unwrap proxy (so a bare
|
|
6999
|
+
// comparison like count > 5 reads the signal value), then retry with the
|
|
7000
|
+
// raw scope so call syntax like count() === 0 still works (#1733).
|
|
6896
7001
|
const evalExpr = (expression) => {
|
|
6897
7002
|
// Skip placeholder expressions like __TITLE__ (build-time placeholders)
|
|
6898
7003
|
if (/^__[A-Z_]+__$/.test(expression.trim())) {
|
|
6899
7004
|
return expression;
|
|
6900
7005
|
}
|
|
6901
7006
|
try {
|
|
6902
|
-
// Use captured componentScope (with @for vars) merged with element scope
|
|
6903
7007
|
const scope = { ...globalHelpers, ...capturedComponentScope, ...(capturedElementScope || {}) };
|
|
6904
7008
|
const unwrapScope = createExpressionAutoUnwrapProxy(scope, expression);
|
|
6905
|
-
const fn = new Function(
|
|
6906
|
-
return fn(
|
|
7009
|
+
const fn = new Function('__scope__', 'with(__scope__) { return ' + expression + ' }');
|
|
7010
|
+
return fn(unwrapScope);
|
|
6907
7011
|
}
|
|
6908
7012
|
catch (e1) {
|
|
6909
7013
|
try {
|
|
6910
7014
|
// Retry without the unwrap proxy so call-syntax (signal()) works.
|
|
6911
7015
|
const scope2 = { ...globalHelpers, ...capturedComponentScope, ...(capturedElementScope || {}) };
|
|
6912
|
-
const fn2 = new Function(
|
|
6913
|
-
return fn2(
|
|
7016
|
+
const fn2 = new Function('__scope__', 'with(__scope__) { return ' + expression + ' }');
|
|
7017
|
+
return fn2(scope2);
|
|
6914
7018
|
}
|
|
6915
7019
|
catch (e2) {
|
|
6916
7020
|
if (!(e2 instanceof ReferenceError) && !(e2 instanceof TypeError)) console.warn('[STX] Expression error:', expression, e2);
|
|
@@ -6967,11 +7071,6 @@ catch (e2) {
|
|
|
6967
7071
|
value = directSignal();
|
|
6968
7072
|
console.log('[stx] bindIf effect (direct):', expr, '\u2192', value, 'isInserted:', isInserted);
|
|
6969
7073
|
} else {
|
|
6970
|
-
// Complex expression: read all signals first for tracking, then evaluate
|
|
6971
|
-
for (var sk in fullScope) {
|
|
6972
|
-
var sv = fullScope[sk];
|
|
6973
|
-
if (sv && typeof sv === 'function' && (sv._isSignal || sv._isDerived)) sv();
|
|
6974
|
-
}
|
|
6975
7074
|
value = evalExpr(expr);
|
|
6976
7075
|
}
|
|
6977
7076
|
|
|
@@ -7409,12 +7508,19 @@ else if (timer === null) {
|
|
|
7409
7508
|
};
|
|
7410
7509
|
}
|
|
7411
7510
|
|
|
7412
|
-
// Queue work after the current synchronous signal/effect flush
|
|
7413
|
-
//
|
|
7414
|
-
//
|
|
7511
|
+
// Queue work after the current synchronous signal/effect flush and after
|
|
7512
|
+
// structural directives finish their deferred subtree hydration. The
|
|
7513
|
+
// microtask schedules this timer only after every subscriber has run, so a
|
|
7514
|
+
// :if/:for timer created later in the same signal flush runs first and its
|
|
7515
|
+
// template refs are available to the callback.
|
|
7415
7516
|
function nextTick(fn) {
|
|
7416
7517
|
return Promise.resolve().then(function() {
|
|
7417
|
-
|
|
7518
|
+
return new Promise(function(resolve) {
|
|
7519
|
+
setTimeout(function() {
|
|
7520
|
+
if (fn) fn();
|
|
7521
|
+
resolve();
|
|
7522
|
+
}, 0);
|
|
7523
|
+
});
|
|
7418
7524
|
});
|
|
7419
7525
|
}
|
|
7420
7526
|
|
|
@@ -10411,20 +10517,22 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
10411
10517
|
}
|
|
10412
10518
|
}
|
|
10413
10519
|
})();
|
|
10414
|
-
`}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+`
|
|
10415
10521
|
`+$.slice(Z);let Y=/<head\b[^>]*>/i.exec($);if(Y){let Q=Y.index+Y[0].length;return`${$.slice(0,Q)}
|
|
10416
10522
|
${X}${$.slice(Q)}`}if($.includes("</head>")){let Q=$.indexOf("</head>");return $.slice(0,Q)+X+`
|
|
10417
|
-
`+$.slice(Q)}if(
|
|
10523
|
+
`+$.slice(Q)}if(g7($))return h8($,(Q)=>`${Q}
|
|
10418
10524
|
${X}`);return`${X}
|
|
10419
|
-
${$}`}async function
|
|
10420
|
-
|
|
10421
|
-
|
|
10422
|
-
`
|
|
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]!==`
|
|
10423
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]!==`
|
|
10424
|
-
`)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
|
|
10425
|
-
${
|
|
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(`
|
|
10426
10534
|
|
|
10427
|
-
`);K=
|
|
10535
|
+
`);K=Sz(K);let z=sZ(K),U=z.split(",").map((H)=>H.trim()).filter(Boolean),B=k8(K,Z),j=`
|
|
10428
10536
|
<script data-stx-scoped>
|
|
10429
10537
|
function ${Q}() {
|
|
10430
10538
|
${R5("const",U)}
|
|
@@ -10433,18 +10541,18 @@ ${N5(`${B}${K}`)}
|
|
|
10433
10541
|
}
|
|
10434
10542
|
window.__stx_latestSetup=${Q};
|
|
10435
10543
|
if(window.stx)window.stx._latestSetup=${Q};
|
|
10436
|
-
</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(_===`
|
|
10437
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]!==`
|
|
10438
|
-
`)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}
|
|
10439
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)}
|
|
10440
10548
|
${Q}${Y.slice(B)}`}else Y=`${Y}
|
|
10441
|
-
${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=
|
|
10442
|
-
`)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?`
|
|
10443
10551
|
Searched paths:
|
|
10444
|
-
${F.map((
|
|
10445
|
-
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${
|
|
10446
|
-
`)}`}if(Z&&
|
|
10447
|
-
${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)}
|
|
10448
10556
|
const __scope = window.stx._scopes = window.stx._scopes || {};
|
|
10449
10557
|
const __scopeVars = __scope[__scopeId] = __scope[__scopeId] || {};
|
|
10450
10558
|
__scopeVars.$refs = __scopeVars.$refs || {};
|
|
@@ -10458,12 +10566,12 @@ ${F.map((v)=>` - ${v}`).join(`
|
|
|
10458
10566
|
const onDestroy = (fn) => __scopeVars.__destroyCallbacks.push(fn);
|
|
10459
10567
|
|
|
10460
10568
|
try {
|
|
10461
|
-
${
|
|
10569
|
+
${z0}
|
|
10462
10570
|
|
|
10463
10571
|
// Register all defined signals and functions in this scope
|
|
10464
10572
|
const __localVars = {};
|
|
10465
10573
|
try {
|
|
10466
|
-
${
|
|
10574
|
+
${o.map((B1)=>`if (typeof ${B1} !== 'undefined') __localVars['${B1}'] = ${B1};`).join(`
|
|
10467
10575
|
`)}
|
|
10468
10576
|
}
|
|
10469
10577
|
catch (e) {}
|
|
@@ -10472,15 +10580,15 @@ catch (e) {}
|
|
|
10472
10580
|
finally {
|
|
10473
10581
|
window.__STX_CURRENT_ELEMENT__ = __previousCurrentElement;
|
|
10474
10582
|
}
|
|
10475
|
-
}`,
|
|
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+`
|
|
10476
10584
|
`+m.join(`
|
|
10477
|
-
`),
|
|
10478
|
-
`+
|
|
10479
|
-
`+
|
|
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+=`
|
|
10480
10588
|
`+m.join(`
|
|
10481
|
-
`),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(`
|
|
10482
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(`
|
|
10483
|
-
`);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(`
|
|
10484
10592
|
`,Math.max(0,Y-1));W=Y-(z+1)+1}let K="";if(Q>0)K+=`
|
|
10485
10593
|
${Z}:${Q}${W>0?`:${W}`:""}: ${$.toLowerCase()} error: ${X}
|
|
10486
10594
|
`;if(K+=`
|
|
@@ -10493,8 +10601,8 @@ ${X0.yellow}${X0.bold}Message:${X0.reset} ${X}
|
|
|
10493
10601
|
`,w)K+=`
|
|
10494
10602
|
${X0.blue}${X0.bold}Context:${X0.reset}
|
|
10495
10603
|
${X0.dim}${w}${X0.reset}
|
|
10496
|
-
`;return K}function
|
|
10497
|
-
`||
|
|
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`
|
|
10498
10606
|
#${$} {
|
|
10499
10607
|
--stx-img-transition-duration: ${J}ms;
|
|
10500
10608
|
--stx-img-transition-easing: ${Y};
|
|
@@ -10511,7 +10619,7 @@ ${X0.dim}${w}${X0.reset}
|
|
|
10511
10619
|
#${$}.stx-img-loaded img {
|
|
10512
10620
|
opacity: 1;
|
|
10513
10621
|
}
|
|
10514
|
-
`.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=`
|
|
10515
10623
|
.stx-img-placeholder {
|
|
10516
10624
|
position: relative;
|
|
10517
10625
|
overflow: hidden;
|
|
@@ -10540,20 +10648,20 @@ ${X0.dim}${w}${X0.reset}
|
|
|
10540
10648
|
filter: blur(0);
|
|
10541
10649
|
transform: scale(1);
|
|
10542
10650
|
}
|
|
10543
|
-
`.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(`
|
|
10544
|
-
`):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}">
|
|
10545
10653
|
<picture>
|
|
10546
10654
|
${k.join(`
|
|
10547
10655
|
`)}
|
|
10548
|
-
<img ${
|
|
10656
|
+
<img ${D} />
|
|
10549
10657
|
</picture>
|
|
10550
10658
|
</div>`}else I=`<picture${X?` id="${X}"`:""}>
|
|
10551
10659
|
${k.join(`
|
|
10552
10660
|
`)}
|
|
10553
|
-
<img ${
|
|
10554
|
-
</picture>`;return I}function
|
|
10555
|
-
<img ${
|
|
10556
|
-
</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`
|
|
10557
10665
|
(function() {
|
|
10558
10666
|
const container = document.getElementById('${$}');
|
|
10559
10667
|
if (!container) return;
|
|
@@ -10590,22 +10698,22 @@ ${k.join(`
|
|
|
10590
10698
|
|
|
10591
10699
|
observer.observe(container);
|
|
10592
10700
|
})();
|
|
10593
|
-
`.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}">
|
|
10594
10702
|
<picture>
|
|
10595
|
-
${
|
|
10703
|
+
${R.join(`
|
|
10596
10704
|
`)}
|
|
10597
10705
|
<img ${N.join(" ")} />
|
|
10598
10706
|
</picture>
|
|
10599
10707
|
</div>`}else I=`<picture${j?` id="${j}"`:""}>
|
|
10600
|
-
${
|
|
10708
|
+
${R.join(`
|
|
10601
10709
|
`)}
|
|
10602
10710
|
<img ${N.join(" ")} />
|
|
10603
|
-
</picture>`;let S=[];if(X.placeholder)S.push(
|
|
10604
|
-
`):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+`
|
|
10605
10713
|
`+K;if(W.css)K+=`
|
|
10606
10714
|
<style>${W.css}</style>`;if(W.script)K+=`
|
|
10607
|
-
<script>${W.script}</script>`;return K},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function
|
|
10608
|
-
`)}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"?>
|
|
10609
10717
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
|
|
10610
10718
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
10611
10719
|
xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
|
|
@@ -10631,11 +10739,11 @@ ${A.join(`
|
|
|
10631
10739
|
</Representation>
|
|
10632
10740
|
`}w+=` </AdaptationSet>
|
|
10633
10741
|
`}return w+=` </Period>
|
|
10634
|
-
</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(`
|
|
10635
10743
|
`),b=`<video ${I.join(" ")}>
|
|
10636
10744
|
${S}
|
|
10637
10745
|
Your browser does not support the video tag.
|
|
10638
|
-
</video>`,
|
|
10746
|
+
</video>`,y;if(_)y=`
|
|
10639
10747
|
(function() {
|
|
10640
10748
|
var video = document.getElementById('${k}');
|
|
10641
10749
|
if (!video) return;
|
|
@@ -10670,20 +10778,20 @@ ${S}
|
|
|
10670
10778
|
|
|
10671
10779
|
observer.observe(video);
|
|
10672
10780
|
})();
|
|
10673
|
-
`.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;">
|
|
10674
10782
|
<iframe ${K.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
|
|
10675
|
-
</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=`
|
|
10676
10784
|
<div
|
|
10677
10785
|
id="${H}"
|
|
10678
|
-
class="ts-video-player${j?" "+
|
|
10679
|
-
style="${
|
|
10786
|
+
class="ts-video-player${j?" "+E0(j):""}"
|
|
10787
|
+
style="${L}"
|
|
10680
10788
|
data-ts-video-player
|
|
10681
|
-
data-config='${JSON.stringify(
|
|
10789
|
+
data-config='${JSON.stringify(O)}'
|
|
10682
10790
|
${z?"data-lazy":""}
|
|
10683
10791
|
>
|
|
10684
10792
|
<div class="ts-video-player__container">
|
|
10685
10793
|
${Y?`
|
|
10686
|
-
<div class="ts-video-player__placeholder" style="background-image: url('${
|
|
10794
|
+
<div class="ts-video-player__placeholder" style="background-image: url('${E0(Y)}');">
|
|
10687
10795
|
<button class="ts-video-player__play-button" aria-label="Play video">
|
|
10688
10796
|
<svg viewBox="0 0 24 24" fill="currentColor" width="64" height="64">
|
|
10689
10797
|
<path d="M8 5v14l11-7z"/>
|
|
@@ -10709,7 +10817,7 @@ ${S}
|
|
|
10709
10817
|
|
|
10710
10818
|
// Load ts-video-player from CDN
|
|
10711
10819
|
var script = document.createElement('script');
|
|
10712
|
-
script.src = '${
|
|
10820
|
+
script.src = '${mU}';
|
|
10713
10821
|
script.onload = initPlayer;
|
|
10714
10822
|
script.onerror = function() {
|
|
10715
10823
|
console.error('[stx] Failed to load ts-video-player');
|
|
@@ -10787,7 +10895,7 @@ else {
|
|
|
10787
10895
|
});
|
|
10788
10896
|
}
|
|
10789
10897
|
})();
|
|
10790
|
-
`.trim(),
|
|
10898
|
+
`.trim(),R=`
|
|
10791
10899
|
.ts-video-player {
|
|
10792
10900
|
position: relative;
|
|
10793
10901
|
background: #000;
|
|
@@ -10839,14 +10947,14 @@ else {
|
|
|
10839
10947
|
.ts-video-player__play-button svg {
|
|
10840
10948
|
margin-left: 4px;
|
|
10841
10949
|
}
|
|
10842
|
-
`.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(" ")}>
|
|
10843
10951
|
${k}
|
|
10844
10952
|
Your browser does not support the video tag.
|
|
10845
|
-
</video>`;if(X.spriteSheet)
|
|
10846
|
-
${
|
|
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}
|
|
10847
10955
|
</div>`;let I;if(W)I=`
|
|
10848
10956
|
(function() {
|
|
10849
|
-
var video = document.getElementById('${
|
|
10957
|
+
var video = document.getElementById('${O}');
|
|
10850
10958
|
if (!video) return;
|
|
10851
10959
|
|
|
10852
10960
|
var observer = new IntersectionObserver(function(entries) {
|
|
@@ -10888,9 +10996,9 @@ ${y}
|
|
|
10888
10996
|
width: 100%;
|
|
10889
10997
|
height: auto;
|
|
10890
10998
|
}
|
|
10891
|
-
`.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+=`
|
|
10892
11000
|
<style>${W.css}</style>`;if(W.script)K+=`
|
|
10893
|
-
<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;">
|
|
10894
11002
|
${$}
|
|
10895
11003
|
</div>
|
|
10896
11004
|
<script>
|
|
@@ -10935,7 +11043,7 @@ ${y}
|
|
|
10935
11043
|
}
|
|
10936
11044
|
}
|
|
10937
11045
|
})();
|
|
10938
|
-
</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=`
|
|
10939
11047
|
<div class="stx-pwa-update-banner" style="
|
|
10940
11048
|
position: fixed;
|
|
10941
11049
|
bottom: 0;
|
|
@@ -11046,7 +11154,7 @@ else {
|
|
|
11046
11154
|
// Also listen for custom event
|
|
11047
11155
|
window.addEventListener('pwa-update-available', showUpdate);
|
|
11048
11156
|
})();
|
|
11049
|
-
</script>`}function
|
|
11157
|
+
</script>`}function eU($,X){let Z=$.trim().length>0,J=`
|
|
11050
11158
|
<div class="stx-offline-indicator" style="
|
|
11051
11159
|
position: fixed;
|
|
11052
11160
|
top: 16px;
|
|
@@ -11107,7 +11215,7 @@ else {
|
|
|
11107
11215
|
window.addEventListener('offline', updateStatus);
|
|
11108
11216
|
updateStatus();
|
|
11109
11217
|
})();
|
|
11110
|
-
</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;">
|
|
11111
11219
|
${$}
|
|
11112
11220
|
</div>
|
|
11113
11221
|
<script>
|
|
@@ -11189,72 +11297,72 @@ catch (error) {
|
|
|
11189
11297
|
init();
|
|
11190
11298
|
}
|
|
11191
11299
|
})();
|
|
11192
|
-
</script>`}var
|
|
11193
|
-
${$.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(`
|
|
11194
11302
|
${G}`)}if($.snippet)J.push(`
|
|
11195
11303
|
Snippet: ${$.snippet}`);if($.suggestion)J.push(`
|
|
11196
|
-
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(`
|
|
11197
11305
|
\x1B[90mat\x1B[0m ${z}`)}if(W.push(`
|
|
11198
11306
|
|
|
11199
|
-
${$.message}`),X&&$.line){let z=
|
|
11307
|
+
${$.message}`),X&&$.line){let z=zj(X,$.line,2);if(z)W.push(`
|
|
11200
11308
|
|
|
11201
11309
|
\x1B[90mContext:\x1B[0m
|
|
11202
11310
|
${z}`)}if($.suggestion)W.push(`
|
|
11203
11311
|
|
|
11204
11312
|
\x1B[33mSuggestion:\x1B[0m ${$.suggestion}`);return W.push(`
|
|
11205
|
-
${"\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(`
|
|
11206
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(`
|
|
11207
|
-
`)}function
|
|
11315
|
+
`)}function zj($,X,Z){let J=$.split(`
|
|
11208
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(`
|
|
11209
|
-
`)}function
|
|
11210
|
-
`);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(`
|
|
11211
11319
|
`).slice(1).join(`
|
|
11212
11320
|
`)}`);if($.context)X.push(` Context: ${JSON.stringify($.context)}`);return X.join(`
|
|
11213
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($)}
|
|
11214
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(`
|
|
11215
11323
|
|
|
11216
|
-
`),"utf-8")}}async flush(){await this.writeQueue}}var
|
|
11217
|
-
@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(
|
|
11218
|
-
`)}}});var
|
|
11219
|
-
`,F+=`<meta name="title" content="${
|
|
11220
|
-
`;if(
|
|
11221
|
-
`;if(
|
|
11222
|
-
`}if(
|
|
11223
|
-
`;if(
|
|
11224
|
-
`;if(
|
|
11225
|
-
`,V.title||
|
|
11226
|
-
`}if(V.description||
|
|
11227
|
-
`}if(V.url||
|
|
11228
|
-
`}if(V.image){if(F+=`<meta property="og:image" content="${
|
|
11229
|
-
`,V.imageAlt)F+=`<meta property="og:image:alt" content="${
|
|
11230
|
-
`;if(V.imageWidth)F+=`<meta property="og:image:width" content="${
|
|
11231
|
-
`;if(V.imageHeight)F+=`<meta property="og:image:height" content="${
|
|
11232
|
-
`}if(V.siteName)F+=`<meta property="og:site_name" content="${
|
|
11233
|
-
`}if(
|
|
11234
|
-
`,V.title||
|
|
11235
|
-
`}if(V.description||
|
|
11236
|
-
`}if(V.image||
|
|
11237
|
-
`}if(V.site)F+=`<meta name="twitter:site" content="${
|
|
11238
|
-
`;if(V.creator)F+=`<meta name="twitter:creator" content="${
|
|
11239
|
-
`}if(
|
|
11240
|
-
`}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=`
|
|
11241
11349
|
<!-- stx SEO Tags -->
|
|
11242
|
-
<meta name="title" content="${
|
|
11243
|
-
<meta name="description" content="${
|
|
11244
|
-
<meta property="og:title" content="${
|
|
11245
|
-
<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)}">
|
|
11246
11354
|
<meta property="og:type" content="website">
|
|
11247
11355
|
<meta name="twitter:card" content="summary_large_image">
|
|
11248
|
-
<meta name="twitter:title" content="${
|
|
11249
|
-
<meta name="twitter:description" content="${
|
|
11356
|
+
<meta name="twitter:title" content="${i(Q)}">
|
|
11357
|
+
<meta name="twitter:description" content="${i(w)}">
|
|
11250
11358
|
`;if(q)W+=`
|
|
11251
|
-
<meta property="og:image" content="${
|
|
11252
|
-
<meta name="twitter:image" content="${
|
|
11359
|
+
<meta property="og:image" content="${i(q)}">
|
|
11360
|
+
<meta name="twitter:image" content="${i(q)}">
|
|
11253
11361
|
`;let K=$;if(!G)K=K.replace(/<head[^>]*>/,`$&
|
|
11254
|
-
<title>${
|
|
11362
|
+
<title>${i(Q)}</title>`);return K.replace(/<head[^>]*>/,`$&
|
|
11255
11363
|
${W}
|
|
11256
|
-
`)}function
|
|
11257
|
-
`).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)=>`
|
|
11258
11366
|
get ${z}() {
|
|
11259
11367
|
return this.getAttribute('${z}') || '';
|
|
11260
11368
|
}
|
|
@@ -11305,16 +11413,16 @@ ${K}
|
|
|
11305
11413
|
}
|
|
11306
11414
|
|
|
11307
11415
|
customElements.define('${X}', ${Q});
|
|
11308
|
-
`}async function
|
|
11309
|
-
${
|
|
11310
|
-
</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:()=>t0,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 t0($){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$)t0().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(X1.has(X))X1.delete(X);else if(X1.size>=FY)X1.delete(X1.keys().next().value);return X1.set(X,$),X}function Nj($){let X=X1.get($);if(X===void 0)return;return X1.delete($),X1.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(),X1.clear()}function Dj(){K1=null,I3=!1,Z1=null,p7="",A1.clear(),X1.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(!Z1)Z1=await D3($);if(!Z1)return x5=!1,"";let Z=X.defaultConfig?.theme||{},J=Z1.theme||{},Y={...X.defaultConfig,...Z1,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($){Z1=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(!Z1){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{}Z1=V||await D3(Y);try{h$=u$(JSON.stringify(Z1??{}))}catch{h$="unhashable"}}let W=Z.defaultConfig||Z.config,K=Z1||{},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(`
|
|
11311
|
-
`);for(let[V,
|
|
11312
|
-
.${V} { ${N.join(" ")} }`;if(
|
|
11313
|
-
@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">
|
|
11314
11422
|
${J}
|
|
11315
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}
|
|
11316
11424
|
</head>`);if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
|
|
11317
|
-
${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`
|
|
11318
11426
|
// STX Lifecycle Runtime
|
|
11319
11427
|
(function() {
|
|
11320
11428
|
if (typeof window === 'undefined') return;
|
|
@@ -11659,7 +11767,7 @@ else {
|
|
|
11659
11767
|
|
|
11660
11768
|
console.log('[stx] Lifecycle runtime initialized');
|
|
11661
11769
|
})();
|
|
11662
|
-
`}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=`
|
|
11663
11771
|
<script>
|
|
11664
11772
|
(function() {
|
|
11665
11773
|
'use strict';
|
|
@@ -11817,10 +11925,10 @@ else {
|
|
|
11817
11925
|
}
|
|
11818
11926
|
})();
|
|
11819
11927
|
</script>
|
|
11820
|
-
`,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`
|
|
11821
11929
|
<!-- Fathom Analytics -->
|
|
11822
|
-
<script src="${
|
|
11823
|
-
`}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`
|
|
11824
11932
|
<!-- Google Analytics -->
|
|
11825
11933
|
<script async src="https://www.googletagmanager.com/gtag/js?id=${Z}"></script>
|
|
11826
11934
|
<script>
|
|
@@ -11830,10 +11938,10 @@ else {
|
|
|
11830
11938
|
gtag('config', '${Z}');
|
|
11831
11939
|
${J}
|
|
11832
11940
|
</script>
|
|
11833
|
-
`}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`
|
|
11834
11942
|
<!-- Plausible Analytics -->
|
|
11835
|
-
<script defer data-domain="${
|
|
11836
|
-
`}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?`
|
|
11837
11945
|
d.addEventListener('click',function(e){
|
|
11838
11946
|
var a=e.target.closest('a');
|
|
11839
11947
|
if(a&&a.hostname!==location.hostname){
|
|
@@ -11866,15 +11974,15 @@ else {
|
|
|
11866
11974
|
w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
|
|
11867
11975
|
})();
|
|
11868
11976
|
</script>
|
|
11869
|
-
`}function
|
|
11977
|
+
`}function rj($){let X=$.custom;if(!X)return"";if(X.inlineScript)return`
|
|
11870
11978
|
<!-- Custom Analytics -->
|
|
11871
11979
|
<script>
|
|
11872
11980
|
${X.inlineScript}
|
|
11873
11981
|
</script>
|
|
11874
|
-
`;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`
|
|
11875
11983
|
<!-- Custom Analytics -->
|
|
11876
|
-
<script${Z.length>0?` ${Z.join(" ")}`:""} src="${
|
|
11877
|
-
`}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`
|
|
11878
11986
|
// STX Reactive Runtime - x-cloak and transition CSS
|
|
11879
11987
|
(function() {
|
|
11880
11988
|
var style = document.createElement('style');
|
|
@@ -12081,7 +12189,7 @@ window.__stx_reactive = (function() {
|
|
|
12081
12189
|
|
|
12082
12190
|
return { initScope: initScope, reactive: reactive };
|
|
12083
12191
|
})();
|
|
12084
|
-
`}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`
|
|
12085
12193
|
(function() {
|
|
12086
12194
|
var scopeEl = document.querySelector('${J.selector}');
|
|
12087
12195
|
if (!scopeEl) return;
|
|
@@ -12090,14 +12198,14 @@ window.__stx_reactive = (function() {
|
|
|
12090
12198
|
})();`}).join(`
|
|
12091
12199
|
`);return`
|
|
12092
12200
|
<script data-stx-scoped data-stx-reactive data-stx-run="always">
|
|
12093
|
-
${
|
|
12201
|
+
${$B()}
|
|
12094
12202
|
${Z}
|
|
12095
|
-
</script>`}function
|
|
12096
|
-
`+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>
|
|
12097
|
-
${Y}`)}function
|
|
12098
|
-
${
|
|
12099
|
-
${
|
|
12100
|
-
`),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;">
|
|
12101
12209
|
<template data-suspense-fallback>Loading...</template>
|
|
12102
12210
|
</div>`),j.set(H.name,O0(H.content,K,$,J,U))}G.enqueue(`
|
|
12103
12211
|
<script>
|
|
@@ -12115,13 +12223,13 @@ ${Y}`)}function iY($,X){let Z=$;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*
|
|
|
12115
12223
|
}
|
|
12116
12224
|
};
|
|
12117
12225
|
})();
|
|
12118
|
-
</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`
|
|
12119
12227
|
<script>
|
|
12120
12228
|
window.__stxSuspense.resolve('${$}', \`${J}\`);
|
|
12121
12229
|
</script>`}catch(Z){let J=Z instanceof Error?Z.message:String(Z);return`
|
|
12122
12230
|
<script>
|
|
12123
|
-
window.__stxSuspense.resolve('${$}', '<div class="stx-error">Error loading content: ${
|
|
12124
|
-
</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(`,
|
|
12125
12233
|
`);if(X==="loader")return`
|
|
12126
12234
|
(function() {
|
|
12127
12235
|
window.__stx = window.__stx || {};
|
|
@@ -12263,7 +12371,7 @@ else {
|
|
|
12263
12371
|
else {
|
|
12264
12372
|
stx.hydrate();
|
|
12265
12373
|
}
|
|
12266
|
-
})();`}var
|
|
12374
|
+
})();`}var n3,q5,VG,AG=`
|
|
12267
12375
|
<script>
|
|
12268
12376
|
(function(){
|
|
12269
12377
|
window.__stxSuspense = window.__stxSuspense || {
|
|
@@ -12283,25 +12391,25 @@ else {
|
|
|
12283
12391
|
}
|
|
12284
12392
|
};
|
|
12285
12393
|
})();
|
|
12286
|
-
</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}">
|
|
12287
12395
|
${W}
|
|
12288
12396
|
<script type="application/json" data-island-props="${Q}">
|
|
12289
12397
|
${q?`{${q}}`:"{}"}
|
|
12290
12398
|
</script>
|
|
12291
|
-
</div>`}}});var
|
|
12292
|
-
`).length;Z.set(q,{count:1,firstLine:z})}}}let Q=[];for(let w of new Set([...Z.keys(),...J.keys()])){if(
|
|
12293
|
-
`}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>
|
|
12294
12402
|
${b.join(`
|
|
12295
12403
|
`)}
|
|
12296
12404
|
${I}
|
|
12297
|
-
</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`
|
|
12298
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">
|
|
12299
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>
|
|
12300
12408
|
</div>
|
|
12301
12409
|
<style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
|
|
12302
12410
|
<script>
|
|
12303
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()})})();
|
|
12304
|
-
</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>
|
|
12305
12413
|
<style>
|
|
12306
12414
|
@keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
|
|
12307
12415
|
@keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
|
|
@@ -12309,7 +12417,7 @@ ${I}
|
|
|
12309
12417
|
@keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
|
|
12310
12418
|
@keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
|
|
12311
12419
|
@keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
|
|
12312
|
-
</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">
|
|
12313
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)">
|
|
12314
12422
|
<div style="padding:1.5rem">${X}</div>
|
|
12315
12423
|
</div>
|
|
@@ -12318,7 +12426,7 @@ ${I}
|
|
|
12318
12426
|
@media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
|
|
12319
12427
|
.stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
|
|
12320
12428
|
.stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
|
|
12321
|
-
</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">
|
|
12322
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">
|
|
12323
12431
|
<div style="padding:1.5rem">${X}</div>
|
|
12324
12432
|
</div>
|
|
@@ -12327,18 +12435,18 @@ ${I}
|
|
|
12327
12435
|
@media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
|
|
12328
12436
|
.stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
|
|
12329
12437
|
.stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
|
|
12330
|
-
</style>`}}});import{existsSync as
|
|
12331
|
-
`||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(l2),G=(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,(q,W)=>W.toUpperCase())},Q=(w,q)=>{let W=G(w);if(J.static[W]=q,W!==w)J.staticNames[W]=w};for(let[w,q]of Object.entries($)){let W=w.startsWith("x-")&&!Y.has(w)&&!w.startsWith("x-bind:")&&!w.startsWith("x-on:")?`:${w.slice(2)}`:w;if(W.startsWith("@")){J.events[W]=q;continue}if(W.startsWith("__stx_")){let K=G(W.slice(6));J.serverDynamic[K]=hG(q,Z);continue}if(W.startsWith(":")){let K=G(W.slice(1)),z=q===W5?K:q;if(K==="if"||K==="for"||K==="show"){J.clientReactive[K]=z;continue}try{if(!q0(z)){if(Z.debug)console.error(`Unsafe expression in :${K} binding: ${z}`);J.clientReactive[K]=z;continue}let U=Object.keys(X),j=W0(z,U)(...Object.values(X));if(j===void 0){let _=z.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],H=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(_.some((O)=>!H.has(O)&&!U.includes(O))){J.clientReactive[K]=z;continue}}J.serverDynamic[K]=j}catch{J.clientReactive[K]=z}continue}if(typeof q==="string"&&q.includes("{{")&&q.includes("}}")){let K=q.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(K)try{let z=K[1];if(q0(z)){let B=W0(z,Object.keys(X))(...Object.values(X));Q(W,B!=null?String(B):"")}else{if(Z.debug)console.error(`Unsafe expression in ${W}: ${z}`);Q(W,q)}}catch(z){if(Z.debug)console.error(`Error evaluating expression for ${W}:`,z);Q(W,q)}else{let z=q,U=/\{\{\s*([\s\S]+?)\s*\}\}/g,B;while((B=U.exec(q))!==null)try{let j=B[1];if(!q0(j)){if(Z.debug)console.error(`Unsafe expression in ${W}: ${j}`);continue}let H=W0(j,Object.keys(X))(...Object.values(X));z=z.replace(B[0],String(H??""))}catch(j){if(Z.debug)console.error(`Error evaluating expression in ${W}:`,j)}Q(W,z)}continue}Q(W,q===W5?"true":gG(q))}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();Q1();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,`
|
|
12332
12440
|
let result = '';
|
|
12333
12441
|
for (${K}) {
|
|
12334
12442
|
result += \`${F}\`;
|
|
12335
12443
|
}
|
|
12336
12444
|
return result;
|
|
12337
|
-
`)(...
|
|
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",`
|
|
12338
12446
|
for (${X}) {
|
|
12339
12447
|
__pushIter([${J.join(", ")}])
|
|
12340
12448
|
}
|
|
12341
|
-
`),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,`
|
|
12342
12450
|
let result = '';
|
|
12343
12451
|
let maxIterations = ${Z}; // Configurable safety limit
|
|
12344
12452
|
let counter = 0;
|
|
@@ -12350,8 +12458,8 @@ ${I}
|
|
|
12350
12458
|
result += '<!-- [While Error [1104]]: Maximum iterations (${Z}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
|
|
12351
12459
|
}
|
|
12352
12460
|
return result;
|
|
12353
|
-
`)(...j);J=J.substring(0,Q)+
|
|
12354
|
-
`)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`
|
|
12355
12463
|
(function() {
|
|
12356
12464
|
${R5("var",Z)}
|
|
12357
12465
|
var __destroyHooks = [];
|
|
@@ -12360,11 +12468,11 @@ ${I}
|
|
|
12360
12468
|
|
|
12361
12469
|
${$}
|
|
12362
12470
|
${X}})();
|
|
12363
|
-
`}function
|
|
12471
|
+
`}function WQ($,X){return`
|
|
12364
12472
|
// Register scope variables for STX runtime
|
|
12365
12473
|
if (!window.stx._scopes) window.stx._scopes = {};
|
|
12366
12474
|
var __scopeRegistration = { __destroyCallbacks: __destroyHooks };
|
|
12367
|
-
${
|
|
12475
|
+
${wQ($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeRegistration[${JSON.stringify(G)}] = ${G}; } catch (e) { /* not actually top-level */ }`).join(`
|
|
12368
12476
|
`)}
|
|
12369
12477
|
// #1767: when the bundler renamed a component const that collided with an
|
|
12370
12478
|
// inlined import (foo -> foo2), rebind the ORIGINAL template name to the
|
|
@@ -12372,7 +12480,7 @@ ${ZQ($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
|
|
|
12372
12480
|
// shadowing import. __stxScopeRenames is emitted by bundleClientScript.
|
|
12373
12481
|
try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
|
|
12374
12482
|
window.stx._scopes['${X}'] = __scopeRegistration;
|
|
12375
|
-
`}function
|
|
12483
|
+
`}function i_($,X){let Z=WQ($,X),J=`
|
|
12376
12484
|
(function() {
|
|
12377
12485
|
var __stxScopeEl = (typeof document !== 'undefined') ? document.querySelector('[data-stx-scope="${X}"]') : null;
|
|
12378
12486
|
var __stxPrevEl = (typeof window !== 'undefined') ? window.__STX_CURRENT_ELEMENT__ : undefined;
|
|
@@ -12381,73 +12489,73 @@ ${ZQ($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
|
|
|
12381
12489
|
} finally {
|
|
12382
12490
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
12383
12491
|
}
|
|
12384
|
-
})();`;return J+
|
|
12492
|
+
})();`;return J+qQ($,Z)+`
|
|
12385
12493
|
} finally {
|
|
12386
12494
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
12387
12495
|
}
|
|
12388
|
-
})();`}function
|
|
12389
|
-
`;continue}if(
|
|
12390
|
-
`}}if(
|
|
12391
|
-
`+
|
|
12392
|
-
`+
|
|
12393
|
-
`)})}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=`
|
|
12394
12502
|
${_}
|
|
12395
|
-
${
|
|
12396
|
-
`,
|
|
12397
|
-
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${
|
|
12398
|
-
`)}}}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})
|
|
12399
12507
|
`,_=`${j}${B}
|
|
12400
|
-
@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})
|
|
12401
12509
|
${_.element}`);else if(_.type==="else-if")z.push(`@elseif(${_.expr})
|
|
12402
12510
|
${_.element}`);else z.push(`@else
|
|
12403
12511
|
${_.element}`);z.push("@endif");let U=z.join(`
|
|
12404
|
-
`),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
|
|
12405
12513
|
${d1(Q,{...J,start:0,end:J.end-J.start},Y)}
|
|
12406
|
-
@endonce`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function
|
|
12407
|
-
${J}${$.slice(Z)}`}function
|
|
12408
|
-
${G[0]}`+Q+$.slice(Z+Y.length)}function
|
|
12409
|
-
${X[0]}${J.slice(Y)}`}var
|
|
12410
|
-
<meta name="stx-build" content="${X}">${$.slice(J)}`}var
|
|
12411
|
-
${$.slice(X)}`}function
|
|
12412
|
-
`),
|
|
12413
|
-
`),
|
|
12414
|
-
`),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>
|
|
12415
12523
|
<html${F}>
|
|
12416
12524
|
<head>
|
|
12417
|
-
${
|
|
12525
|
+
${M.join(`
|
|
12418
12526
|
`)}
|
|
12419
12527
|
</head>
|
|
12420
|
-
<body${
|
|
12421
|
-
${
|
|
12528
|
+
<body${R}${V}>
|
|
12529
|
+
${T.join(`
|
|
12422
12530
|
`)}
|
|
12423
12531
|
</body>
|
|
12424
|
-
</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(`
|
|
12425
12533
|
`)}
|
|
12426
|
-
${$.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>
|
|
12427
12535
|
// Source: ${z}
|
|
12428
12536
|
${j}
|
|
12429
|
-
</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>
|
|
12430
12538
|
/* Source: ${z} */
|
|
12431
12539
|
${H}
|
|
12432
|
-
</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(`
|
|
12433
12541
|
`),B=$.split(`
|
|
12434
|
-
`),j=[];U.forEach((
|
|
12435
|
-
`),
|
|
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?`
|
|
12436
12544
|
${H}`:"";Q.push(` \u2717 ${W}${_}
|
|
12437
|
-
\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)}:
|
|
12438
12546
|
${Q.join(`
|
|
12439
12547
|
`)}
|
|
12440
|
-
Tip: prefer useRef(), navigate(), and composables for component code`;if(Y.failOnViolation)throw Error(K);else console.warn(K)}}var
|
|
12441
|
-
`)}function
|
|
12442
|
-
${_.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(`
|
|
12443
12551
|
|
|
12444
12552
|
`),B=`;(function(){
|
|
12445
12553
|
var __stx = window.stx || {};
|
|
12446
12554
|
${O1.filter((j)=>!W.has(j)&&new RegExp(`\\b${j}\\b`).test(z)).map((j)=>`var ${j} = __stx[${JSON.stringify(j)}];`).join(`
|
|
12447
12555
|
`)}
|
|
12448
12556
|
${z}
|
|
12449
|
-
})();`;return
|
|
12450
|
-
${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(`
|
|
12451
12559
|
`),B=`<script data-stx-framework-composables>
|
|
12452
12560
|
;(function(){
|
|
12453
12561
|
var __s = window.stx = window.stx || {};
|
|
@@ -12456,8 +12564,8 @@ ${q.join(`
|
|
|
12456
12564
|
`)}
|
|
12457
12565
|
${U}
|
|
12458
12566
|
})();
|
|
12459
|
-
</script>`;return
|
|
12460
|
-
${_.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(`
|
|
12461
12569
|
`),K=JSON.stringify([...w]),z=Q.join(`
|
|
12462
12570
|
|
|
12463
12571
|
`),B=`;(function(){
|
|
@@ -12481,7 +12589,7 @@ ${W}
|
|
|
12481
12589
|
}
|
|
12482
12590
|
window[__n] = __c[__n];
|
|
12483
12591
|
}
|
|
12484
|
-
})();`;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=`
|
|
12485
12593
|
const observer = new IntersectionObserver((entries) => {
|
|
12486
12594
|
if (entries[0].isIntersecting) {
|
|
12487
12595
|
observer.disconnect();
|
|
@@ -12554,7 +12662,7 @@ else {
|
|
|
12554
12662
|
${Y}
|
|
12555
12663
|
})();
|
|
12556
12664
|
</script>
|
|
12557
|
-
`}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`
|
|
12558
12666
|
<div id="${w}" class="stx-defer" data-defer-trigger="${q.trigger}">
|
|
12559
12667
|
${W}
|
|
12560
12668
|
${K}
|
|
@@ -12562,7 +12670,7 @@ else {
|
|
|
12562
12670
|
${z}
|
|
12563
12671
|
</div>
|
|
12564
12672
|
${B}
|
|
12565
|
-
`})}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`
|
|
12566
12674
|
<script>
|
|
12567
12675
|
(function() {
|
|
12568
12676
|
const source = document.getElementById('${$}');
|
|
@@ -12608,12 +12716,12 @@ else {
|
|
|
12608
12716
|
});
|
|
12609
12717
|
})();
|
|
12610
12718
|
</script>
|
|
12611
|
-
`}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`
|
|
12612
12720
|
<div id="${w}" class="stx-teleport-source" style="display: none;">
|
|
12613
12721
|
<template>${K}</template>
|
|
12614
12722
|
</div>
|
|
12615
12723
|
${z}
|
|
12616
|
-
`})}function
|
|
12724
|
+
`})}function YO(){return`
|
|
12617
12725
|
<script>
|
|
12618
12726
|
(function() {
|
|
12619
12727
|
// Common teleport targets
|
|
@@ -12630,7 +12738,7 @@ else {
|
|
|
12630
12738
|
});
|
|
12631
12739
|
})();
|
|
12632
12740
|
</script>
|
|
12633
|
-
`}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`
|
|
12634
12742
|
<div
|
|
12635
12743
|
class="stx-transition-wrapper"
|
|
12636
12744
|
data-transition="${q}"
|
|
@@ -12672,7 +12780,7 @@ else {
|
|
|
12672
12780
|
});
|
|
12673
12781
|
})();
|
|
12674
12782
|
</script>
|
|
12675
|
-
`})}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`
|
|
12676
12784
|
/* STX Transition Presets */
|
|
12677
12785
|
|
|
12678
12786
|
/* Fade */
|
|
@@ -12859,7 +12967,7 @@ else {
|
|
|
12859
12967
|
opacity: 1;
|
|
12860
12968
|
max-height: 1000px;
|
|
12861
12969
|
}
|
|
12862
|
-
`}function
|
|
12970
|
+
`}function zO(){return`
|
|
12863
12971
|
// STX Transition Runtime
|
|
12864
12972
|
(function() {
|
|
12865
12973
|
if (typeof window === 'undefined') return;
|
|
@@ -12948,7 +13056,7 @@ else {
|
|
|
12948
13056
|
|
|
12949
13057
|
console.log('[stx] Transition runtime initialized');
|
|
12950
13058
|
})();
|
|
12951
|
-
`}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`
|
|
12952
13060
|
<div class="stx-error-boundary" data-boundary-id="${$}" data-has-error="false">
|
|
12953
13061
|
<div class="stx-error-boundary-content" data-boundary-content="${$}">
|
|
12954
13062
|
${X}
|
|
@@ -13068,7 +13176,7 @@ else {
|
|
|
13068
13176
|
};
|
|
13069
13177
|
})();
|
|
13070
13178
|
</script>
|
|
13071
|
-
`}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`
|
|
13072
13180
|
/* STX Error Boundary Styles */
|
|
13073
13181
|
.stx-error-boundary {
|
|
13074
13182
|
position: relative;
|
|
@@ -13112,7 +13220,7 @@ else {
|
|
|
13112
13220
|
color: #fecaca;
|
|
13113
13221
|
}
|
|
13114
13222
|
}
|
|
13115
|
-
`}function
|
|
13223
|
+
`}function VO(){return`
|
|
13116
13224
|
// STX Error Boundary Runtime
|
|
13117
13225
|
(function() {
|
|
13118
13226
|
if (typeof window === 'undefined') return;
|
|
@@ -13177,7 +13285,7 @@ else {
|
|
|
13177
13285
|
|
|
13178
13286
|
console.log('[stx] Error boundary runtime initialized');
|
|
13179
13287
|
})();
|
|
13180
|
-
`}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`
|
|
13181
13289
|
<div class="stx-suspense" data-suspense-id="${$}" data-custom-id="${G}" data-status="pending">
|
|
13182
13290
|
<div class="stx-suspense-fallback" data-suspense-fallback="${$}">
|
|
13183
13291
|
${Z}
|
|
@@ -13367,7 +13475,7 @@ else {
|
|
|
13367
13475
|
}, 0);
|
|
13368
13476
|
})();
|
|
13369
13477
|
</script>
|
|
13370
|
-
`}function
|
|
13478
|
+
`}function kO($,X,Z){return{id:$,fallback:Z,content:X}}async function IO($){let X=$.map((J)=>`
|
|
13371
13479
|
<div id="stx-ssr-suspense-${J.id}" class="stx-ssr-suspense">
|
|
13372
13480
|
${J.fallback}
|
|
13373
13481
|
</div>
|
|
@@ -13392,7 +13500,7 @@ else {
|
|
|
13392
13500
|
}
|
|
13393
13501
|
})();
|
|
13394
13502
|
</script>
|
|
13395
|
-
`}}return{initial:X,streaming:Z()}}function
|
|
13503
|
+
`}}return{initial:X,streaming:Z()}}function EO(){return`
|
|
13396
13504
|
/* STX Suspense Styles */
|
|
13397
13505
|
.stx-suspense {
|
|
13398
13506
|
position: relative;
|
|
@@ -13448,7 +13556,7 @@ else {
|
|
|
13448
13556
|
background-size: 200% 100%;
|
|
13449
13557
|
}
|
|
13450
13558
|
}
|
|
13451
|
-
`}function
|
|
13559
|
+
`}function DO(){return`
|
|
13452
13560
|
// STX Suspense Runtime
|
|
13453
13561
|
(function() {
|
|
13454
13562
|
if (typeof window === 'undefined') return;
|
|
@@ -13515,7 +13623,7 @@ else {
|
|
|
13515
13623
|
|
|
13516
13624
|
console.log('[stx] Suspense runtime initialized');
|
|
13517
13625
|
})();
|
|
13518
|
-
`}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`
|
|
13519
13627
|
<div class="stx-async-component" data-async-id="${$}" data-component="${Y}" data-status="pending">
|
|
13520
13628
|
<div class="stx-async-loading" data-async-loading="${$}">
|
|
13521
13629
|
${Z}
|
|
@@ -13742,7 +13850,7 @@ catch (error) {
|
|
|
13742
13850
|
loadComponent();
|
|
13743
13851
|
})();
|
|
13744
13852
|
</script>
|
|
13745
|
-
`}function
|
|
13853
|
+
`}function SO($){return{__asyncComponent:!0,...typeof $==="function"?{loader:$}:$}}function CO($){return typeof $==="object"&&$!==null&&"__asyncComponent"in $&&$.__asyncComponent===!0}function PO(){return`
|
|
13746
13854
|
/* STX Async Component Styles */
|
|
13747
13855
|
.stx-async-component {
|
|
13748
13856
|
position: relative;
|
|
@@ -13816,7 +13924,7 @@ catch (error) {
|
|
|
13816
13924
|
background-size: 200% 100%;
|
|
13817
13925
|
}
|
|
13818
13926
|
}
|
|
13819
|
-
`}function
|
|
13927
|
+
`}function vO(){return`
|
|
13820
13928
|
// STX Async Component Runtime
|
|
13821
13929
|
(function() {
|
|
13822
13930
|
if (typeof window === 'undefined') return;
|
|
@@ -13870,7 +13978,7 @@ catch (error) {
|
|
|
13870
13978
|
|
|
13871
13979
|
console.log('[stx] Async component runtime initialized');
|
|
13872
13980
|
})();
|
|
13873
|
-
`}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`
|
|
13874
13982
|
<div class="stx-keep-alive" data-keep-alive-id="${$}" data-custom-id="${Q}">
|
|
13875
13983
|
<div class="stx-keep-alive-content" data-keep-alive-content="${$}">
|
|
13876
13984
|
${X}
|
|
@@ -14157,7 +14265,7 @@ else {
|
|
|
14157
14265
|
});
|
|
14158
14266
|
})();
|
|
14159
14267
|
</script>
|
|
14160
|
-
`}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`
|
|
14161
14269
|
/* STX Keep-Alive Styles */
|
|
14162
14270
|
.stx-keep-alive {
|
|
14163
14271
|
position: relative;
|
|
@@ -14182,7 +14290,7 @@ else {
|
|
|
14182
14290
|
.stx-keep-alive-content > [data-activated] {
|
|
14183
14291
|
opacity: 1;
|
|
14184
14292
|
}
|
|
14185
|
-
`}function
|
|
14293
|
+
`}function lO(){return`
|
|
14186
14294
|
// STX Keep-Alive Runtime
|
|
14187
14295
|
(function() {
|
|
14188
14296
|
if (typeof window === 'undefined') return;
|
|
@@ -14218,12 +14326,12 @@ else {
|
|
|
14218
14326
|
|
|
14219
14327
|
console.log('[stx] Keep-alive runtime initialized');
|
|
14220
14328
|
})();
|
|
14221
|
-
`}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+=`
|
|
14222
14330
|
<div class="virtual-item ${K.itemClass||""}"
|
|
14223
|
-
style="position: absolute; top: ${
|
|
14224
|
-
data-index="${
|
|
14331
|
+
style="position: absolute; top: ${L*K.itemHeight}px; height: ${K.itemHeight}px; width: 100%;"
|
|
14332
|
+
data-index="${L}">
|
|
14225
14333
|
${V}
|
|
14226
|
-
</div>`}let
|
|
14334
|
+
</div>`}let O=W.length*K.itemHeight;return`
|
|
14227
14335
|
<div id="${z}"
|
|
14228
14336
|
class="virtual-list-container ${K.containerClass||""}"
|
|
14229
14337
|
style="position: relative; height: ${K.containerHeight}px; overflow-y: auto;"
|
|
@@ -14231,7 +14339,7 @@ else {
|
|
|
14231
14339
|
data-total-items="${W.length}"
|
|
14232
14340
|
data-overscan="${B}">
|
|
14233
14341
|
<div class="virtual-list-viewport ${K.viewportClass||""}"
|
|
14234
|
-
style="position: relative; height: ${
|
|
14342
|
+
style="position: relative; height: ${O}px; width: 100%;">
|
|
14235
14343
|
${H}
|
|
14236
14344
|
</div>
|
|
14237
14345
|
</div>
|
|
@@ -14295,7 +14403,7 @@ else {
|
|
|
14295
14403
|
};
|
|
14296
14404
|
})();
|
|
14297
14405
|
</script>
|
|
14298
|
-
`})}function
|
|
14406
|
+
`})}function kw(){return`
|
|
14299
14407
|
.virtual-list-container {
|
|
14300
14408
|
position: relative;
|
|
14301
14409
|
overflow-y: auto;
|
|
@@ -14343,7 +14451,7 @@ else {
|
|
|
14343
14451
|
0% { background-position: 200% 0; }
|
|
14344
14452
|
100% { background-position: -200% 0; }
|
|
14345
14453
|
}
|
|
14346
|
-
`}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>",`
|
|
14347
14455
|
// Infinite scroll detection
|
|
14348
14456
|
container.addEventListener('scroll', function() {
|
|
14349
14457
|
const scrollBottom = container.scrollTop + container.clientHeight;
|
|
@@ -14361,18 +14469,18 @@ else {
|
|
|
14361
14469
|
${q}
|
|
14362
14470
|
</div>
|
|
14363
14471
|
</div>
|
|
14364
|
-
`})}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+=`
|
|
14365
14473
|
<div class="virtual-grid-item"
|
|
14366
|
-
style="position: absolute; top: ${
|
|
14367
|
-
data-index="${
|
|
14368
|
-
${
|
|
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}
|
|
14369
14477
|
</div>`}return`
|
|
14370
14478
|
<div id="${z}"
|
|
14371
14479
|
class="virtual-grid-container"
|
|
14372
14480
|
style="position: relative; height: ${K.containerHeight}px; overflow-y: auto;">
|
|
14373
14481
|
<div class="virtual-grid-viewport"
|
|
14374
14482
|
style="position: relative; height: ${B}px; width: 100%;">
|
|
14375
|
-
${
|
|
14483
|
+
${L}
|
|
14376
14484
|
</div>
|
|
14377
14485
|
</div>
|
|
14378
14486
|
<script data-virtual-grid="${z}">
|
|
@@ -14431,7 +14539,7 @@ else {
|
|
|
14431
14539
|
});
|
|
14432
14540
|
})();
|
|
14433
14541
|
</script>
|
|
14434
|
-
`})}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>
|
|
14435
14543
|
(function() {
|
|
14436
14544
|
'use strict';
|
|
14437
14545
|
|
|
@@ -14591,7 +14699,7 @@ else {
|
|
|
14591
14699
|
stxIslands.initIslands();
|
|
14592
14700
|
}
|
|
14593
14701
|
})();
|
|
14594
|
-
</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`
|
|
14595
14703
|
<script data-hydrate="${$}">
|
|
14596
14704
|
(function() {
|
|
14597
14705
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14602,7 +14710,7 @@ else {
|
|
|
14602
14710
|
island.dispatchEvent(new CustomEvent('stx:hydrated', { bubbles: true }));
|
|
14603
14711
|
})();
|
|
14604
14712
|
</script>
|
|
14605
|
-
`}function
|
|
14713
|
+
`}function rO($,X){let Z=X.timeout||2000,J=X.priority||"low";return`
|
|
14606
14714
|
<script data-hydrate="${$}">
|
|
14607
14715
|
(function() {
|
|
14608
14716
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14638,7 +14746,7 @@ else {
|
|
|
14638
14746
|
}
|
|
14639
14747
|
})();
|
|
14640
14748
|
</script>
|
|
14641
|
-
`}function
|
|
14749
|
+
`}function oO($,X){let Z=X.rootMargin||"0px",J=X.threshold||0;return`
|
|
14642
14750
|
<script data-hydrate="${$}">
|
|
14643
14751
|
(function() {
|
|
14644
14752
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14671,7 +14779,7 @@ else {
|
|
|
14671
14779
|
}
|
|
14672
14780
|
})();
|
|
14673
14781
|
</script>
|
|
14674
|
-
`}function
|
|
14782
|
+
`}function sO($,X){let Z=X.media||"(min-width: 768px)";return`
|
|
14675
14783
|
<script data-hydrate="${$}">
|
|
14676
14784
|
(function() {
|
|
14677
14785
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14700,7 +14808,7 @@ else {
|
|
|
14700
14808
|
}
|
|
14701
14809
|
})();
|
|
14702
14810
|
</script>
|
|
14703
|
-
`}function
|
|
14811
|
+
`}function aO($){return`
|
|
14704
14812
|
<script data-hydrate="${$}">
|
|
14705
14813
|
(function() {
|
|
14706
14814
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14722,7 +14830,7 @@ else {
|
|
|
14722
14830
|
events.forEach(e => island.addEventListener(e, handler, { once: true, passive: true }));
|
|
14723
14831
|
})();
|
|
14724
14832
|
</script>
|
|
14725
|
-
`}function
|
|
14833
|
+
`}function tO($,X){let Z=X.event||"stx:activate";return`
|
|
14726
14834
|
<script data-hydrate="${$}">
|
|
14727
14835
|
(function() {
|
|
14728
14836
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14743,9 +14851,9 @@ else {
|
|
|
14743
14851
|
});
|
|
14744
14852
|
})();
|
|
14745
14853
|
</script>
|
|
14746
|
-
`}function
|
|
14747
|
-
`+
|
|
14748
|
-
<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`
|
|
14749
14857
|
<div data-island="${q}"
|
|
14750
14858
|
data-strategy="${X}"
|
|
14751
14859
|
${z.join(`
|
|
@@ -14755,7 +14863,7 @@ else {
|
|
|
14755
14863
|
${Q.trim()}${B}
|
|
14756
14864
|
</div>
|
|
14757
14865
|
${j}
|
|
14758
|
-
`})}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`
|
|
14759
14867
|
<div data-island="${Y}"
|
|
14760
14868
|
data-strategy="only"
|
|
14761
14869
|
class="stx-island stx-client-only">
|
|
@@ -14774,7 +14882,7 @@ else {
|
|
|
14774
14882
|
}
|
|
14775
14883
|
})();
|
|
14776
14884
|
</script>
|
|
14777
|
-
`})}function
|
|
14885
|
+
`})}function fw(){return`
|
|
14778
14886
|
/* Island base styles */
|
|
14779
14887
|
.stx-island {
|
|
14780
14888
|
display: contents;
|
|
@@ -14815,11 +14923,11 @@ else {
|
|
|
14815
14923
|
.stx-island.hydrated {
|
|
14816
14924
|
opacity: 1;
|
|
14817
14925
|
}
|
|
14818
|
-
`}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`
|
|
14819
14927
|
<script type="application/json" id="stx-island-manifest">
|
|
14820
14928
|
${JSON.stringify(X)}
|
|
14821
14929
|
</script>
|
|
14822
|
-
`}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`
|
|
14823
14931
|
<script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
|
|
14824
14932
|
(function() {
|
|
14825
14933
|
// Watch implementation for ${G}
|
|
@@ -14831,9 +14939,9 @@ else {
|
|
|
14831
14939
|
}
|
|
14832
14940
|
})();
|
|
14833
14941
|
</script>
|
|
14834
|
-
`})}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
|
|
14835
|
-
`)}catch{return""}})}function
|
|
14836
|
-
`)}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">
|
|
14837
14945
|
(function() {
|
|
14838
14946
|
'use strict';
|
|
14839
14947
|
|
|
@@ -15117,16 +15225,16 @@ else {
|
|
|
15117
15225
|
// Expose for manual initialization
|
|
15118
15226
|
window.XElement = XElement;
|
|
15119
15227
|
})();
|
|
15120
|
-
</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+`
|
|
15121
15229
|
`+J.slice(G);return J+`
|
|
15122
|
-
`+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=`
|
|
15123
15231
|
<!-- stx PWA Meta Tags -->
|
|
15124
15232
|
<link rel="manifest" href="/manifest.json">
|
|
15125
|
-
<meta name="theme-color" content="${
|
|
15233
|
+
<meta name="theme-color" content="${Z6(Z?.themeColor||"#000000")}">
|
|
15126
15234
|
<meta name="mobile-web-app-capable" content="yes">
|
|
15127
15235
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
15128
15236
|
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
|
15129
|
-
<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+=`
|
|
15130
15238
|
<link rel="apple-touch-icon" href="${J}/apple-touch-icon.png">
|
|
15131
15239
|
<link rel="apple-touch-icon" sizes="120x120" href="${J}/apple-touch-icon-120x120.png">
|
|
15132
15240
|
<link rel="apple-touch-icon" sizes="152x152" href="${J}/apple-touch-icon-152x152.png">
|
|
@@ -15163,12 +15271,12 @@ if ('serviceWorker' in navigator) {
|
|
|
15163
15271
|
});
|
|
15164
15272
|
}
|
|
15165
15273
|
</script>
|
|
15166
|
-
<!-- End stx PWA -->`,G}function
|
|
15167
|
-
`+$.slice(Y)}return $+
|
|
15168
|
-
</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>
|
|
15169
15277
|
if ('serviceWorker' in navigator) {
|
|
15170
15278
|
window.addEventListener('load', function() {
|
|
15171
|
-
navigator.serviceWorker.register('/${
|
|
15279
|
+
navigator.serviceWorker.register('/${X6($)}')
|
|
15172
15280
|
.then(function(registration) {
|
|
15173
15281
|
console.log('[PWA] Service Worker registered:', registration.scope);
|
|
15174
15282
|
})
|
|
@@ -15177,86 +15285,90 @@ if ('serviceWorker' in navigator) {
|
|
|
15177
15285
|
});
|
|
15178
15286
|
});
|
|
15179
15287
|
}
|
|
15180
|
-
</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(`
|
|
15181
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===`
|
|
15182
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]===`
|
|
15183
|
-
`)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+`
|
|
15184
15292
|
`+Y;return Y.slice(0,G)+J+`
|
|
15185
|
-
`+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)
|
|
15186
|
-
`),...W.htmlAttrs&&{htmlAttrs:
|
|
15187
|
-
<meta name="stx-layout" content="${
|
|
15188
|
-
<meta name="stx-layout-group" content="${
|
|
15189
|
-
`+K+Q.slice(z.end)}}catch{}if(G)try{let{getFrameworkComposableScript:w}=await e("stx/framework-composables",()=>Promise.resolve().then(() => (
|
|
15190
|
-
`+q+Q.slice(W.end)}}catch{}if(G)try{let{getComposableScript:w}=await e("stx/composable-loader",()=>Promise.resolve().then(() => (
|
|
15191
|
-
`+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')
|
|
15192
15300
|
${q.trim()}
|
|
15193
|
-
@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')
|
|
15194
15302
|
${q.trim()}
|
|
15195
|
-
@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(`
|
|
15196
15304
|
`);j.content=j.content?`${j.content}
|
|
15197
|
-
${
|
|
15198
|
-
${q}`,z(q)}catch(F){return
|
|
15199
|
-
`;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.
|
|
15200
15308
|
Both work on the same page, but they manage separate scopes.
|
|
15201
|
-
Prefer signals (state/derived/effect) for new components.`)}G=
|
|
15202
|
-
</head>`);if(/<head\b[^>]*>/i.test(
|
|
15203
|
-
${
|
|
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
|
|
15204
15312
|
<head>
|
|
15205
|
-
${
|
|
15206
|
-
</head>`);return
|
|
15207
|
-
${
|
|
15208
|
-
</script>`;if(G.includes("</head>")){let K0=G.indexOf("</head>"),
|
|
15209
|
-
`+
|
|
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}
|
|
15210
15318
|
</head>`)}else if(G.includes("<body"))G=G.replace(/<body([^>]*)>/,`<body$1>
|
|
15211
|
-
${
|
|
15212
|
-
`+G}{let{scanScriptTags:
|
|
15213
|
-
`+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(`
|
|
15214
15322
|
`);return X.push("declare module '@stacksjs/stx' {"," interface KnownLayouts {",...$.map((Z)=>` '${Z}': true`)," }","}","","export {}",""),X.join(`
|
|
15215
|
-
`)}function
|
|
15216
|
-
`)}
|
|
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(`
|
|
15217
15325
|
return (async function getStaticPaths() {
|
|
15218
15326
|
${Y[1]}
|
|
15219
15327
|
})()
|
|
15220
|
-
`)()}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",`
|
|
15221
15329
|
return (async function getStaticProps() {
|
|
15222
15330
|
${G[1]}
|
|
15223
15331
|
})()
|
|
15224
|
-
`)(X)}catch(G){return console.error(`Error executing getStaticProps in ${Z}:`,G),null}}function
|
|
15225
|
-
|
|
15226
|
-
|
|
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"?>
|
|
15227
15336
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
15228
15337
|
${$.map((J)=>{let Y=new URL(J.loc,X).href,G=` <url>
|
|
15229
|
-
<loc>${
|
|
15338
|
+
<loc>${Q1(Y)}</loc>`;if(J.lastmod)G+=`
|
|
15230
15339
|
<lastmod>${J.lastmod}</lastmod>`;if(J.changefreq)G+=`
|
|
15231
15340
|
<changefreq>${J.changefreq}</changefreq>`;if(J.priority!==void 0)G+=`
|
|
15232
15341
|
<priority>${J.priority}</priority>`;return G+=`
|
|
15233
15342
|
</url>`,G}).join(`
|
|
15234
15343
|
`)}
|
|
15235
|
-
</urlset>`}function
|
|
15236
|
-
<title>${
|
|
15237
|
-
<link>${
|
|
15238
|
-
<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+=`
|
|
15239
15348
|
<pubDate>${J.pubDate.toUTCString()}</pubDate>`;if(J.author)Y+=`
|
|
15240
|
-
<author>${
|
|
15241
|
-
<category>${
|
|
15242
|
-
<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+=`
|
|
15243
15352
|
</item>`,Y});return`<?xml version="1.0" encoding="UTF-8"?>
|
|
15244
15353
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
|
15245
15354
|
<channel>
|
|
15246
|
-
<title>${
|
|
15247
|
-
<link>${
|
|
15248
|
-
<description>${
|
|
15355
|
+
<title>${Q1($.title)}</title>
|
|
15356
|
+
<link>${Q1($.link)}</link>
|
|
15357
|
+
<description>${Q1($.description)}</description>
|
|
15249
15358
|
${$.language?`<language>${$.language}</language>`:""}
|
|
15250
|
-
${$.copyright?`<copyright>${
|
|
15359
|
+
${$.copyright?`<copyright>${Q1($.copyright)}</copyright>`:""}
|
|
15251
15360
|
<lastBuildDate>${new Date().toUTCString()}</lastBuildDate>
|
|
15252
15361
|
<atom:link href="${$.link}/rss.xml" rel="self" type="application/rss+xml"/>
|
|
15253
15362
|
${Z.join(`
|
|
15254
15363
|
`)}
|
|
15255
15364
|
</channel>
|
|
15256
|
-
</rss>`}async function
|
|
15257
|
-
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]};
|
|
15258
15367
|
return validate(route);
|
|
15259
|
-
`)({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>
|
|
15260
15372
|
<html lang="en">
|
|
15261
15373
|
<head>
|
|
15262
15374
|
<meta charset="UTF-8">
|
|
@@ -15277,7 +15389,7 @@ ${Z.join(`
|
|
|
15277
15389
|
<a href="/">Go home</a>
|
|
15278
15390
|
</div>
|
|
15279
15391
|
</body>
|
|
15280
|
-
</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?`
|
|
15281
15393
|
Island chunks: ${G.islandChunks.count} (${(G.islandChunks.totalBytes/1024).toFixed(1)} KB lifted out of inline HTML)`:"";return console.log(`
|
|
15282
15394
|
Build complete!
|
|
15283
15395
|
Total: ${G.totalPages} pages
|
|
@@ -15285,8 +15397,8 @@ Build complete!
|
|
|
15285
15397
|
Cached: ${G.cachedCount}
|
|
15286
15398
|
Failed: ${G.failedCount}
|
|
15287
15399
|
Time: ${G.buildTime}ms${K}
|
|
15288
|
-
`),G}async function
|
|
15289
|
-
`)){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>
|
|
15290
15402
|
<html>
|
|
15291
15403
|
<head>
|
|
15292
15404
|
<meta charset="utf-8">
|
|
@@ -15298,4 +15410,4 @@ Build complete!
|
|
|
15298
15410
|
<p>Redirecting to <a href="${$}">${$}</a>...</p>
|
|
15299
15411
|
<script>window.location.replace('${$}')</script>
|
|
15300
15412
|
</body>
|
|
15301
|
-
</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};
|