@stacksjs/stx 0.2.178 → 0.2.180
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/cli.js +728 -726
- package/dist/client-script-bundler.js +5 -2
- package/dist/craft.js +291 -291
- package/dist/pwa.js +277 -277
- package/dist/ssg.js +328 -326
- package/dist/stx.d.ts +36 -2
- package/dist/utils.d.ts +1 -0
- package/dist/utils.js +18 -1
- package/package.json +5 -5
- package/stx.d.ts +36 -2
package/dist/ssg.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var
|
|
3
|
-
`),G=
|
|
4
|
-
`))}var
|
|
2
|
+
var pq=Object.defineProperty;var iq=($)=>$;function nq($,X){this[$]=iq.bind(null,X)}var a=($,X)=>{for(var Z in X)pq($,Z,{get:X[Z],enumerable:!0,configurable:!0,set:nq.bind(X,Z)})};var y=($,X)=>()=>($&&(X=$($=0)),X);var U0=import.meta.require;function M9($){return $.split(/[\\/]/).filter(Boolean).slice(0,-1).some((Z)=>X7.includes(Z))}function Z7($){return M9($.replace(/^\//,""))}var X7;var j8=y(()=>{X7=["components","layouts","partials","emails"]});import O5 from"fs";import J7 from"path";function Y7($,X){let Z=$.filter((Q)=>!Z7(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=J7.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 G7($,X,Z){let J=process.cwd(),Y=J7.relative(J,Z),G=$.filter((w)=>!Z7(w.pattern)),Q=["// Auto-generated by stx \u2014 do not edit",`// Source: ${Y||"pages"}/`,"","export const routes = ["];for(let w of G){let q=J7.relative(J,w.filePath).replace(/\\/g,"/"),W=JSON.stringify(w.params),K=w.layout?`, layout: '${J7.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(J7.join(X,"routes.ts"),Q.join(`
|
|
4
|
+
`))}var k9=y(()=>{j8()});import R6 from"path";function B8($,X){let J=R6.relative(X,$).replace(/\.(stx|md)$/,"");if(J=J.split(R6.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 Q7($){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 _8($,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 N6($){let X=$.replace(/\[\[([^\]]+)\]\]/g,":$1?").replace(/\[([^\]]+)\]/g,":$1").replace(/:\.\.\.([^/]+)/g,":$1*");return Q7(X)}var I9=()=>{};import eq from"fs";import E9 from"path";function H8($,X){let Z=[],J=E9.dirname($);while(J.startsWith(X)||J===X){let Y=E9.join(J,"_layout.stx");if(eq.existsSync(Y))Z.unshift(Y);if(J===X)break;J=E9.dirname(J)}return Z}var D9=()=>{};import y9 from"fs";import L5 from"path";function T6($,X){let Z=[];if(!y9.existsSync($))return Z;let J=y9.readdirSync($,{withFileTypes:!0});for(let Y of J){let G=L5.join($,Y.name);if(Y.isDirectory()){if(Y.name.startsWith("."))continue;if(X7.includes(Y.name))continue;Z.push(...T6(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=T6(Q,J);for(let q of w){let W=B8(q,Q);if(Y.has(W))continue;Y.add(W);let{regex:K,params:z}=Q7(W),U=X.layouts!==!1?H8(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");Y7(this.routes,G),G7(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 M6($,X){return new F5($,X)}function b9($,X){let Z=[`${X}.stx`,"error.stx"];for(let J of Z){let Y=L5.join($,J);if(y9.existsSync(Y))return Y}return null}function S9($,X){return $.map((Z)=>{let J=L5.relative(X,Z.filePath),Y=Z.isDynamic?" (dynamic)":"";return`${Z.pattern} \u2192 ${J}${Y}`})}var k6=y(()=>{k9();I9();D9();j8()});function C9($){O8=$.replace(/\/$/,"")}function P9($,X,Z={}){V5[$]={path:X,name:$,params:Z}}function v9($){for(let[X,Z]of Object.entries($))if(typeof Z==="string")V5[X]={path:Z,name:X};else V5[X]={...Z,name:X}}function w7($,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&&O8?`${O8}${G}`:G}function x9(){for(let $ of Object.keys(V5))delete V5[$];O8=""}var V5,O8="";var I6=y(()=>{V5={}});import E6 from"fs";import D6 from"path";function g9($,X={}){return{type:"redirect",path:$,options:{replace:X.replace??!1,external:X.external??!1,redirectCode:X.redirectCode??302}}}function h9($){return{type:"abort",error:typeof $==="string"?{statusCode:500,message:$}:$}}function u9($,X={}){return{handler:$,mode:X.mode??"universal"}}function f9($){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 L8($,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 F8($,X){let Z=$.headers.get("cookie")||"",J=f9(Z);return{get(Y){return J[Y]},set(Y,G,Q={}){J[Y]=G,X.append("Set-Cookie",L8(Y,G,Q))},delete(Y){delete J[Y],X.append("Set-Cookie",L8(Y,"",{expires:new Date(0),path:"/"}))},getAll(){return{...J}}}}function V8(){return{get($){if(typeof document>"u")return;return f9(document.cookie)[$]},set($,X,Z={}){if(typeof document>"u")return;document.cookie=L8($,X,Z)},delete($){if(typeof document>"u")return;document.cookie=L8($,"",{expires:new Date(0),path:"/"})},getAll(){if(typeof document>"u")return{};return f9(document.cookie)}}}function A8(){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 R8($){return W7.get($)}function d9($){return W7.has($)}function K7(){W7.clear()}function z7(){return Array.from(W7.keys())}async function U7($,X="middleware"){let Z=D6.resolve($,X);if(!E6.existsSync(Z))return;let J=E6.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=D6.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 $W($){let X={};if(!$)return X;let Z=new URLSearchParams($);for(let[J,Y]of Z)X[J]=Y;return X}function j7($,X,Z,J=""){return{path:$,params:X,query:$W(J),fullPath:J?`${$}?${J}`:$,meta:Z}}function B7($,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?F8(Z,Q):V8(),storage:A8(),state:{},request:Z,responseHeaders:Q}}async function _7($,X){let Z=Array.isArray($)?$:[$],J=X.isServer;for(let Y of Z){let G=R8(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 y6=y(()=>{W7=new Map});function H7($){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 b6($){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]||H7(Y)}}function XW($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}function O7(){if(N8)return N8;return N8=XW(`
|
|
5
5
|
;(function(){
|
|
6
6
|
'use strict';
|
|
7
7
|
var ROUTER_REV=7;
|
|
@@ -1651,8 +1651,8 @@ else {
|
|
|
1651
1651
|
|
|
1652
1652
|
if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();
|
|
1653
1653
|
})();
|
|
1654
|
-
`),N8}var N8;var
|
|
1655
|
-
`)}var
|
|
1654
|
+
`),N8}var N8;var S6={};a(S6,{setAppUrl:()=>C9,runMiddleware:()=>_7,route:()=>w7,resolveLayoutChain:()=>H8,resetRoutes:()=>x9,registerMiddleware:()=>q7,patternToRegex:()=>Q7,navigateTo:()=>g9,matchRoute:()=>_8,loadMiddlewareFromDirectory:()=>U7,isNonPageRoutePattern:()=>Z7,isNonPageRoutePath:()=>M9,hasMiddleware:()=>d9,getRouterScript:()=>O7,getMiddlewareNames:()=>z7,getMiddleware:()=>R8,generateRouteTypes:()=>Y7,generateRouteManifest:()=>G7,formatRoutes:()=>S9,findErrorPage:()=>b9,filePathToPattern:()=>B8,extractLayoutMetadata:()=>b6,deriveLayoutGroup:()=>H7,defineRoutes:()=>v9,defineRoute:()=>P9,defineMiddleware:()=>u9,createStorageManager:()=>A8,createServerCookieManager:()=>F8,createRouter:()=>M6,createRouteLocation:()=>j7,createMiddlewareContext:()=>B7,createClientCookieManager:()=>V8,clearMiddleware:()=>K7,bracketPathToRegex:()=>N6,abortNavigation:()=>h9,Router:()=>F5,NON_PAGE_DIRS:()=>X7});var I1=y(()=>{k6();I9();I6();y6();D9();k9();j8()});function L7($,X={}){return new F5($,X).routes}var m9=y(()=>{I1();I1()});function c9($){return`--stx-${$}`}function l9($,X){let Z=X.lastIndexOf("-");if(Z===-1)return typeof $[X]==="string"?$[X]:void 0;let J=$[X.slice(0,Z)];if(!J||typeof J!=="object")return;let Y=J[X.slice(Z+1)];return typeof Y==="string"?Y:void 0}function P6($){let X={};for(let[Z,J]of Object.entries(C6)){let Y=l9($,J.light);if(Y===void 0)continue;X[Z]=`var(${c9(Z)}, ${Y})`}return X}function v6($){let X=[],Z=[];for(let[J,Y]of Object.entries(C6)){let G=l9($,Y.light),Q=l9($,Y.dark);if(G===void 0)continue;if(X.push(` ${c9(J)}: ${G};`),Q!==void 0)Z.push(` ${c9(J)}: ${Q};`)}if(X.length===0)return"";return["/* stx role tokens \u2014 override any of these to re-theme by meaning. */",":root {",...X,"}",".dark {",...Z,"}",""].join(`
|
|
1655
|
+
`)}var C6;var x6=y(()=>{C6={fg:{light:"gray-900",dark:"gray-100",description:"Primary text"},"fg-strong":{light:"gray-700",dark:"gray-300",description:"Labels, secondary headings"},"fg-muted":{light:"gray-600",dark:"gray-400",description:"Supporting text"},"fg-soft":{light:"gray-500",dark:"gray-400",description:"De-emphasised text"},"fg-subtle":{light:"gray-400",dark:"gray-500",description:"Placeholders, disabled text"},surface:{light:"gray-50",dark:"gray-800",description:"Page and panel background"},"surface-raised":{light:"gray-100",dark:"gray-700",description:"Cards, popovers"},"surface-sunken":{light:"gray-200",dark:"gray-700",description:"Wells, track backgrounds"},line:{light:"gray-200",dark:"gray-700",description:"Default border, divider"},"line-strong":{light:"gray-300",dark:"gray-600",description:"Input border, focus ring track"},accent:{light:"indigo-600",dark:"indigo-400",description:"Primary action, selected state"},info:{light:"blue-600",dark:"blue-400",description:"Informational emphasis, links"},danger:{light:"red-600",dark:"red-400",description:"Errors, destructive actions"},success:{light:"green-600",dark:"green-400",description:"Confirmation"},warning:{light:"yellow-500",dark:"yellow-400",description:"Caution"},"accent-solid":{light:"indigo-600",dark:"indigo-500",description:"Primary button fill"},"info-solid":{light:"blue-600",dark:"blue-500",description:"Informational fill"},"danger-solid":{light:"red-600",dark:"red-500",description:"Destructive button fill"},"success-solid":{light:"green-600",dark:"green-500",description:"Confirmation fill"}}});function f6($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function p9($,X){let Z={...$};for(let[J,Y]of Object.entries(X))Z[J]=f6(Y)&&f6(Z[J])?p9(Z[J],Y):Y;return Z}function g6($={},X={}){let Z=$.theme||{},J=X.theme||{},{extend:Y,...G}=J,{extend:Q,...w}=Z,q=w.colors||{};w.colors={...q,...P6(q)};let W=p9(w,G),K=p9(Q||{},Y||{});if(Object.keys(K).length>0)W.extend=K;let z=[...$.safelist||[],...X.safelist||[]],U={...$.shortcuts||{},...X.shortcuts||{}},B=[...$.preflights||[],...X.preflights||[]];return{config:{...$,...X,theme:W,safelist:z,shortcuts:U,...B.length>0?{preflights:B}:{},content:[],output:""},safelist:z,shortcuts:U,includePreflight:X.preflight!==!1,minify:X.minify===!0,tokenCSS:v6(q)}}var h6=y(()=>{x6()});import F7 from"path";function d6($){u6=$?.trim()||null}function V7(){return process.env[ZW]?.trim()||u6||A5}function H1($=process.cwd(),...X){let Z=V7();return F7.isAbsolute(Z)?F7.join(Z,...X):F7.join($,Z,...X)}function A7($){if(!$||F7.isAbsolute($))return $;let X=$.replace(/\\/g,"/");if(X!==A5&&!X.startsWith(`${A5}/`))return $;let Z=X.slice(A5.length+1);return Z?F7.join(V7(),Z):V7()}var A5=".stx",ZW="STX_DIR",u6=null;var R7=()=>{};var O0;var m6=y(()=>{O0={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 c6=()=>{};function l6($,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 p6,i6;var i9=y(()=>{c6();p6={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},i6={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function JW($,X={}){let{duration:Z,delay:J,ease:Y,direction:G,custom:Q}={...O1,...X};if($==="custom"&&Q)return Q;switch($){case"fade":return`${G==="in"?"opacity: 0; animation: fadeIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":G==="out"?"opacity: 1; animation: fadeOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"opacity: 1; transition: opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
|
|
1656
1656
|
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
|
|
1657
1657
|
@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }`;case"slide":return`${G==="in"?"transform: translateY(20px); opacity: 0; animation: slideIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":G==="out"?"transform: translateY(0); opacity: 1; animation: slideOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: translateY(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
|
|
1658
1658
|
@keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
|
|
@@ -1662,7 +1662,7 @@ else {
|
|
|
1662
1662
|
@keyframes flipIn { from { transform: perspective(400px) rotateX(-90deg); opacity: 0; } to { transform: perspective(400px) rotateX(0); opacity: 1; } }
|
|
1663
1663
|
@keyframes flipOut { from { transform: perspective(400px) rotateX(0); opacity: 1; } to { transform: perspective(400px) rotateX(90deg); opacity: 0; } }`;case"rotate":return`${G==="in"?"transform: rotate(-90deg); opacity: 0; animation: rotateIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":G==="out"?"transform: rotate(0); opacity: 1; animation: rotateOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: rotate(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
|
|
1664
1664
|
@keyframes rotateIn { from { transform: rotate(-90deg); opacity: 0; } to { transform: rotate(0); opacity: 1; } }
|
|
1665
|
-
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function
|
|
1665
|
+
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function YW(){return`
|
|
1666
1666
|
<script data-stx-scoped data-stx-run="once">
|
|
1667
1667
|
// Motion preferences handling
|
|
1668
1668
|
(function() {
|
|
@@ -1690,7 +1690,7 @@ else {
|
|
|
1690
1690
|
});
|
|
1691
1691
|
})();
|
|
1692
1692
|
</script>
|
|
1693
|
-
`}function
|
|
1693
|
+
`}function GW($){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 QW($=0.1,X="0px"){return`
|
|
1694
1694
|
<script data-stx-scoped data-stx-run="always">
|
|
1695
1695
|
// Intersection Observer for scroll animations
|
|
1696
1696
|
(function() {
|
|
@@ -1733,7 +1733,7 @@ else {
|
|
|
1733
1733
|
}
|
|
1734
1734
|
})();
|
|
1735
1735
|
</script>
|
|
1736
|
-
`}function
|
|
1736
|
+
`}function wW(){return`
|
|
1737
1737
|
<style id="stx-animation-base">
|
|
1738
1738
|
:root {
|
|
1739
1739
|
--stx-transition-duration: 300ms;
|
|
@@ -1848,7 +1848,7 @@ else {
|
|
|
1848
1848
|
transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
|
|
1849
1849
|
}
|
|
1850
1850
|
</style>
|
|
1851
|
-
`}function
|
|
1851
|
+
`}function qW($,X,Z={}){let{staggerDelay:J=50,sequence:Y=!1}=Z;return`
|
|
1852
1852
|
<script data-stx-scoped data-stx-run="always">
|
|
1853
1853
|
// Animation Group: ${$}
|
|
1854
1854
|
(function() {
|
|
@@ -1885,11 +1885,11 @@ else {
|
|
|
1885
1885
|
}
|
|
1886
1886
|
})();
|
|
1887
1887
|
</script>
|
|
1888
|
-
`}function
|
|
1889
|
-
</head>`)}if(Y.includes("stx-observe")){if(!Y.includes("Intersection Observer for scroll animations")){let q=
|
|
1890
|
-
`+Y.slice(W)}}return Y}var
|
|
1891
|
-
style="--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${w}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},
|
|
1892
|
-
${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},
|
|
1888
|
+
`}function a6($,X,Z,J){let Y=$;if(J.animation?.enabled===!1)return Y;let G=Z.includes("test")&&Z.includes("animation");if(!GW(Y)&&!G)return Y;if(!Y.includes('<style id="stx-animation-base">')){let w=wW();Y=Y.replace("</head>",`${w}
|
|
1889
|
+
</head>`)}if(Y.includes("stx-observe")){if(!Y.includes("Intersection Observer for scroll animations")){let q=QW(),W=Y.lastIndexOf("</body>");if(W!==-1)Y=Y.slice(0,W)+q+`
|
|
1890
|
+
`+Y.slice(W)}}return Y}var O1,n6,r6,o6,s6;var n9=y(()=>{O1={duration:300,delay:0,ease:"ease",direction:"both"};n6={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)||O1.duration:O1.duration,Q=X.length>2?X[2]||O1.ease:O1.ease,w=X.length>3?Number.parseInt(X[3],10)||O1.delay:O1.delay,q=X.length>4?X[4]||O1.direction:O1.direction,W=`stx-transition-${Math.random().toString(36).substr(2,9)}`,K=JW(Y,{duration:G,delay:w,ease:Q,direction:q}),z="stx-transition",U="";if(Y==="fade")U="stx-fade";else if(Y==="slide")U="stx-slide";else if(Y==="scale")U="stx-scale";else if(Y==="flip")U="stx-flip";else if(Y==="rotate")U="stx-rotate";return`<div id="${W}" class="${z} ${U} ${q==="out"?"stx-out":""}"
|
|
1891
|
+
style="--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${w}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},r6={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"},o6={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=qW(Y,G,{staggerDelay:Q,sequence:w});return`${$}
|
|
1892
|
+
${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},s6={name:"motion",handler:($,X,Z,J)=>{let Y=X.length>0?X[0].toLowerCase()==="true":!0,G=YW();return`<div data-animate="${Y?"auto":"true"}">${$}</div>${G}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});var t6=y(()=>{I1();r9()});async function WW($,X,Z,J){let Y=X[0]?.replace(/['"]/g,"")||"main",G=O7();if(Y!=="main")G=G.replace("container:'main'",`container:'${Y}'`);return`<script data-stx-router>${G}</script>`}var e6;var r9=y(()=>{t6();e6={name:"stxRouter",handler:WW,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function $2($){let X=$.heatmap;if(!X?.enabled)return"";let Z={...KW,...X};return`
|
|
1893
1893
|
<!-- stx Heatmap - Privacy-Compliant Tracking -->
|
|
1894
1894
|
<script>
|
|
1895
1895
|
(function() {
|
|
@@ -2272,8 +2272,8 @@ else {
|
|
|
2272
2272
|
};
|
|
2273
2273
|
})();
|
|
2274
2274
|
</script>
|
|
2275
|
-
`}function
|
|
2276
|
-
`)){let w=Q.trim();if(!w||w.startsWith("#"))continue;let q=w.indexOf(":");if(q===-1)continue;let W=w.slice(0,q).trim(),K=w.slice(q+1).trim();if(typeof K==="string"){if(K.startsWith('"')&&K.endsWith('"')||K.startsWith("'")&&K.endsWith("'"))K=K.slice(1,-1);else if(K.startsWith("[")&&K.endsWith("]"))try{K=JSON.parse(K)}catch{}else if(K==="true")K=!0;else if(K==="false")K=!1;else if(/^-?\d+(?:\.\d+)?$/.test(K))K=Number(K)}G[W]=K}return{data:G,content:Y.trim()}}function
|
|
2275
|
+
`}function X2($,X){let Z=$2(X);if(!Z)return $;let J=$.lastIndexOf("</body>");if(J!==-1)return $.slice(0,J)+Z+$.slice(J);return $+Z}function zW($){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 KW,Z2;var o9=y(()=>{KW={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};Z2={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=zW(X.join(" "));Y.heatmap={...Y.heatmap,...G,enabled:!0}}return $2(Y)}}});function E1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function J2($){let X=$.trim().toLowerCase();return!X.startsWith("javascript:")&&!X.startsWith("vbscript:")&&!X.startsWith("data:text/html")}function Y2($){let X=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,Z=$.match(X);if(!Z)return{data:{},content:$.trim()};let J=Z[1],Y=$.slice(Z[0].length),G={};for(let Q of J.split(`
|
|
2276
|
+
`)){let w=Q.trim();if(!w||w.startsWith("#"))continue;let q=w.indexOf(":");if(q===-1)continue;let W=w.slice(0,q).trim(),K=w.slice(q+1).trim();if(typeof K==="string"){if(K.startsWith('"')&&K.endsWith('"')||K.startsWith("'")&&K.endsWith("'"))K=K.slice(1,-1);else if(K.startsWith("[")&&K.endsWith("]"))try{K=JSON.parse(K)}catch{}else if(K==="true")K=!0;else if(K==="false")K=!1;else if(/^-?\d+(?:\.\d+)?$/.test(K))K=Number(K)}G[W]=K}return{data:G,content:Y.trim()}}function N7($,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-${E1(z)}"`:"";return G.push(`<pre><code${j}>${E1(U.trim())}</code></pre>`),`\x00CODEBLOCK${B}\x00`}),Y=Y.replace(/`([^`]*)`/g,(K,z)=>`<code>${E1(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="${J2(U)?E1(U):""}" alt="${E1(z)}" />`}),Y=Y.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(K,z,U)=>{return`<a href="${J2(U)?E1(U):""}">${z}</a>`}),Y=Y.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),Y=Y.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),Y=Y.replace(/<\/blockquote>\n<blockquote>/g,`
|
|
2277
2277
|
`),Y=Y.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),Y=Y.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),Y=Y.replace(/<\/ul>\n<ul>/g,""),Y=Y.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),Y=Y.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),Y=Y.replace(/<\/ol>\n<ol>/g,""),Y=Y.replace(/<li data-ul>/g,"<li>"),Y=Y.replace(/<li data-ol>/g,"<li>"),Z)Y=Y.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(K,z,U)=>{let j=`<tr>${z.split("|").map((H)=>H.trim()).filter(Boolean).map((H)=>`<th>${E1(H)}</th>`).join("")}</tr>`,_=U.trim().split(`
|
|
2278
2278
|
`).map((H)=>{return`<tr>${H.split("|").map((O)=>O.trim()).filter(Boolean).map((O)=>`<td>${E1(O)}</td>`).join("")}</tr>`}).join(`
|
|
2279
2279
|
`);return`<table>
|
|
@@ -2290,7 +2290,7 @@ ${_}
|
|
|
2290
2290
|
`:`
|
|
2291
2291
|
`)}</p>`);if(Y=w.join(`
|
|
2292
2292
|
`),J)Y=Y.replace(/\n/g,`<br />
|
|
2293
|
-
`);for(let K=0;K<G.length;K++)Y=Y.replace(`\x00CODEBLOCK${K}\x00`,G[K]);return Y=Y.replace(/<p>\s*<\/p>/g,""),Y.trim()}function R5($="const",X=[],Z){let J=X.length?
|
|
2293
|
+
`);for(let K=0;K<G.length;K++)Y=Y.replace(`\x00CODEBLOCK${K}\x00`,G[K]);return Y=Y.replace(/<p>\s*<\/p>/g,""),Y.trim()}function R5($="const",X=[],Z){let J=X.length?L1.filter((Y)=>!X.includes(Y)):L1;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 s9($){if(!$)return!1;return jW.some((X)=>new RegExp(`\\b${X}\\s*(?:<[^>]*>)?\\s*\\(`).test($))}function a9($){if(!$)return!1;let X=z2($);if(BW.some((Z)=>Z.test(X)))return!0;return s9(X)}function Q2($){if(!$)return!1;return _W.test(z2($))||a9($)}function w2($){return HW.includes($.toLowerCase())}function K2(){return`{${q2.map(($)=>`'${$}':1`).join(",")}}`}function z2($){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 L1,G2,UW,jW,BW,_W,HW,q2,OW,W2;var $1=y(()=>{L1=["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"],G2=["onMount","onDestroy"];UW=["defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","withDefaults"],jW=L1.filter(($)=>!UW.includes($));BW=[/@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/],_W=/\s@[a-z][\w.:-]*\s*=/i;HW=["if","else-if","elseif","else","for","show","key","text","html","model","ref"];q2=["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"],OW=["x-init","x-transition","x-effect","x-on"],W2=[...q2,...OW]});function B2($){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(LW.has(J))X.systemKeys.push(J);else if(J in _2)X.mouse=J;else if(J in j2||/^[a-z]$/.test(J))X.keys.push(j2[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 H2($){let X=[],Z=0,J=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,Y;while((Y=J.exec($))!==null){let[G,Q,w]=Y,q=Y.index,W=q+G.length,K=`__stx_evt_${Z++}`,z=[],U=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,B;while((B=U.exec(w))!==null){let[,_,H]=B,L=_.split("."),O=L[0];if(!U2.has(O))continue;z.push({attribute:`@${_}`,event:O,handler:H,modifiers:B2(L.slice(1)),elementId:K})}let j=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((B=j.exec(w))!==null){let[,_,H]=B,L=_.split("."),O=L[0];if(!U2.has(O))continue;z.push({attribute:`@${_}`,event:O,handler:H,modifiers:B2(L.slice(1)),elementId:K})}if(z.length>0)X.push({originalTag:G,elementId:K,events:z,startIndex:q,endIndex:W})}return X}function FW($){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=_2[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 VW($,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 t9($){let X=$.trim();if(!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(X))return $;return`if (typeof ${X} === 'function' && !${X}._isSignal) ${X}($event);`}function AW($){let{modifiers:X}=$,Z=$.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),J=FW($),Y=VW(t9($.handler),X),G=[];if(X.once)G.push("once: true");if(X.capture)G.push("capture: true");if(X.passive)G.push("passive: true");let Q=G.length>0?`, { ${G.join(", ")} }`:"",w=Y.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if($.event==="mounted")return`
|
|
2294
2294
|
(function() {
|
|
2295
2295
|
var $el = document.getElementById('${Z}');
|
|
2296
2296
|
if (!$el) return;
|
|
@@ -2344,7 +2344,7 @@ else {
|
|
|
2344
2344
|
__stx_runHandler('${w}', $event, $el);
|
|
2345
2345
|
}
|
|
2346
2346
|
}${Q});
|
|
2347
|
-
})();`}function
|
|
2347
|
+
})();`}function e9($){if($.length===0)return"";return`
|
|
2348
2348
|
<script data-stx-events>
|
|
2349
2349
|
(function() {
|
|
2350
2350
|
'use strict';
|
|
@@ -2399,44 +2399,44 @@ else {
|
|
|
2399
2399
|
}
|
|
2400
2400
|
|
|
2401
2401
|
// Event listeners
|
|
2402
|
-
${$.map(
|
|
2402
|
+
${$.map(AW).join(`
|
|
2403
2403
|
`)}
|
|
2404
2404
|
})();
|
|
2405
|
-
</script>`}function
|
|
2406
|
-
`+Y.slice(Q);else Y+=G;return Y}var
|
|
2405
|
+
</script>`}function RW($){let X=H2($);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 O2($,X,Z){if(a9($))return $;if(X.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test($))return $;let{template:w,bindings:q}=RW($),W=X.__stx_event_bindings||[];return X.__stx_event_bindings=[...W,...q],w}let J=H2($);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=e9(J.flatMap((w)=>w.events)),Q=Y.lastIndexOf("</body>");if(Q!==-1)Y=Y.slice(0,Q)+G+`
|
|
2406
|
+
`+Y.slice(Q);else Y+=G;return Y}var U2,j2,LW,_2;var $X=y(()=>{$1();U2=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"]),j2={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"},LW=new Set(["ctrl","alt","shift","meta"]),_2={left:0,middle:1,right:2}});function p0($){let X=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;$=$.replace(X,(J,Y)=>{return`const { ${Y.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
|
|
2407
2407
|
`});let Z=/import\s*\{([^}]+)\}\s*from\s*['"]@composables['"]\s*;?\n?/g;return $=$.replace(Z,(J,Y)=>{return`const { ${Y.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__composables
|
|
2408
|
-
`}),$}function T8($){return $.replace(/^import\s+[^'"]*?from\s*['"][^'"]+['"]\s*;?[ \t]*$/gm,"").replace(/^import\s+['"][^'"]+['"]\s*;?[ \t]*$/gm,"")}function
|
|
2409
|
-
`)J++;continue}if(Y==="/"&&$[J+1]==="*"){J+=2;while(J<$.length&&$.slice(J,J+2)!=="*/")J++;J+=2;continue}if(Y==="{"){Z++,J++;continue}if(Y==="}"){if(Z--,Z===0)return J;J++;continue}J++}return $.length}function
|
|
2408
|
+
`}),$}function T8($){return $.replace(/^import\s+[^'"]*?from\s*['"][^'"]+['"]\s*;?[ \t]*$/gm,"").replace(/^import\s+['"][^'"]+['"]\s*;?[ \t]*$/gm,"")}function NW($,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 TW($,X){let Z=X+1;while(Z<$.length){if($[Z]==="\\"){Z+=2;continue}if($[Z]==="`")return Z+1;if($[Z]==="$"&&$[Z+1]==="{"){if(Z=M8($,Z+2),Z<$.length)Z++;continue}Z++}return $.length}function M8($,X){let Z=1,J=X;while(J<$.length){let Y=$[J];if(Y==="\\"){J+=2;continue}if(Y==='"'||Y==="'"){J=NW($,J);continue}if(Y==="`"){J=TW($,J);continue}if(Y==="/"&&$[J+1]==="/"){while(J<$.length&&$[J]!==`
|
|
2409
|
+
`)J++;continue}if(Y==="/"&&$[J+1]==="*"){J+=2;while(J<$.length&&$.slice(J,J+2)!=="*/")J++;J+=2;continue}if(Y==="{"){Z++,J++;continue}if(Y==="}"){if(Z--,Z===0)return J;J++;continue}J++}return $.length}function s0($){let X="",Z=0;while(Z<$.length){let J=$.slice(Z,Z+2);if(J==="//"){while(Z<$.length&&$[Z]!==`
|
|
2410
2410
|
`)X+=" ",Z++;continue}if(J==="/*"){while(Z<$.length&&$.slice(Z,Z+2)!=="*/")X+=$[Z]===`
|
|
2411
2411
|
`?`
|
|
2412
2412
|
`:" ",Z++;X+=" ",Z+=2;continue}let Y=$[Z];if(Y==='"'||Y==="'"){let G=Y;X+=" ",Z++;while(Z<$.length&&$[Z]!==G){if($[Z]==="\\"){X+=" ",Z+=2;continue}X+=$[Z]===`
|
|
2413
2413
|
`?`
|
|
2414
|
-
`:" ",Z++}X+=" ",Z++;continue}if(Y==="`"){X+=" ",Z++;while(Z<$.length&&$[Z]!=="`"){if($[Z]==="\\"){X+=" ",Z+=2;continue}if($[Z]==="$"&&$[Z+1]==="{"){let G=Z+2,Q=M8($,G);if(X+=" ",X+=
|
|
2414
|
+
`:" ",Z++}X+=" ",Z++;continue}if(Y==="`"){X+=" ",Z++;while(Z<$.length&&$[Z]!=="`"){if($[Z]==="\\"){X+=" ",Z+=2;continue}if($[Z]==="$"&&$[Z+1]==="{"){let G=Z+2,Q=M8($,G);if(X+=" ",X+=s0($.slice(G,Q)),Q<$.length)X+=" ";Z=Q+1;continue}X+=$[Z]===`
|
|
2415
2415
|
`?`
|
|
2416
|
-
`:" ",Z++}X+=" ",Z++;continue}X+=Y,Z++}return X}function
|
|
2416
|
+
`:" ",Z++}X+=" ",Z++;continue}X+=Y,Z++}return X}function MW(){let $=globalThis;return $[L2]??=new Map,$[L2]}function t($,X){let Z=MW(),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 L2;var T7=y(()=>{L2=Symbol.for("stx.lazy-module-promises")});function N5($){if(!$||$.indexOf("</")===-1)return $;return $.replace(kW,"<\\/$1")}var kW;var XX=y(()=>{kW=/<\/(script)/gi});import IW from"process";function u0($="STX_PUBLIC_"){let X={},Z={};for(let[J,Y]of Object.entries(IW.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 D1=()=>{};function EW($){if(!$||typeof $!=="object")return!1;let X=$;return typeof X.message==="string"&&(X.name==="BuildMessage"||X.name==="ResolveMessage"||("position"in X))}function DW($){if($&&typeof $==="object"&&Array.isArray($.errors))return $.errors;return[$]}function k8($,X){let Z=[];for(let J of DW($)){if(EW(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 F2($,X){return k8($,X).map((Z)=>{let J=Z.file?`${Z.file}${Z.line?`:${Z.line}${Z.column?`:${Z.column}`:""}`:""}`:"",Y=Z.lineText?`
|
|
2417
2417
|
${Z.lineText.trim()}`:"";return J?`${J}: ${Z.message}${Y}`:`${Z.message}${Y}`}).join(`
|
|
2418
|
-
`)}var
|
|
2419
|
-
export { ${B.join(", ")} }`:"";await Bun.write(K,$+L),p1("bundling:",Q,"from:",
|
|
2420
|
-
`),
|
|
2418
|
+
`)}var M7={};a(M7,{shouldLogBundlerDiagnostics:()=>N2,setBundlerFallbackMode:()=>bW,resolveBundlerFallback:()=>GX,recordBundleFailure:()=>JX,queueClientBundleBuild:()=>T2,hasUserImports:()=>SW,getBundleFailures:()=>wX,clearBundleFailures:()=>qX,bundleClientScript:()=>PW});import L0 from"path";import d0 from"fs";function N2($=process.env){return $.STX_DEBUG==="true"||$.STX_DEBUG==="1"}function p1(...$){if(N2())console.log("[stx:bundler]",...$)}function JX($,X,Z){QX.push({filePath:$||"<inline>",message:X,details:Z})}function wX(){return QX.slice()}function qX(){QX.length=0}function bW($){YX=$}function GX(){if(YX)return YX;try{let $=k7.strict;return typeof $==="object"&&$!==null?$.bundlerFallback??"warn":"warn"}catch{return"warn"}}function SW($){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(!V2.some((Q)=>Q.test(Y)))return p1("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(!V2.some((Q)=>Q.test(Y)))return p1("detected side-effect import:",Y),!0}return!1}function CW($,X,Z,J){let Y=(G,Q)=>{let w=G===Z?X:L0.dirname(G),q=L0.resolve(w,Q),W=[q,`${q}.ts`,`${q}.tsx`,`${q}.js`,`${q}.mjs`,`${q}.jsx`,L0.join(q,"index.ts"),L0.join(q,"index.tsx"),L0.join(q,"index.js"),L0.join(q,"index.mjs")];for(let K of W)try{if(d0.existsSync(K)&&d0.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(d0.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=L0.resolve($,Q.path.slice(2)),q=[w,`${w}.ts`,`${w}.tsx`,`${w}.js`,`${w}.mjs`,`${w}.jsx`,L0.join(w,"index.ts"),L0.join(w,"index.tsx"),L0.join(w,"index.js"),L0.join(w,"index.mjs")];for(let W of q)if(d0.existsSync(W)&&d0.statSync(W,{throwIfNoEntry:!1})?.isFile())return p1(`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=L0.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:d0.readFileSync(Q.path,"utf8"),loader:q}})}}}function T2($){let X=globalThis,J=(X[A2]??Promise.resolve()).then($,$);return X[A2]=J.then(()=>{return},()=>{return}),J}async function PW($,X,Z={}){let J=Z.projectRoot||process.cwd(),Y=Z.minify??!1,G=Z.cacheDir||H1(J,"bundle-cache"),Q=new Bun.CryptoHasher("md5");Q.update(`${yW}\x00${$}\x00${X}`);let w=Q.digest("hex").slice(0,12),q=L0.join(G,`${w}.js`),W=L0.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!==R2||!Array.isArray(_.files))j=!1;for(let H of Array.isArray(_.files)?_.files:[])try{if(d0.statSync(H.path).mtimeMs!==H.mtimeMs){j=!1;break}}catch{j=!1;break}}catch{j=!1}if(j)return p1("cache hit:",w),await K.text();p1("cache invalidated by dep change:",w)}let z=ZX.get(w);if(z)return await z;let U=T2(()=>vW($,X,{projectRoot:J,minify:Y,cacheDir:G,hash:w,cachePath:q,depsPath:W}));ZX.set(w,U);try{return await U}finally{ZX.delete(w)}}async function vW($,X,Z){let{projectRoot:J,minify:Y,cacheDir:G,hash:Q,cachePath:w,depsPath:q}=Z,W=H1(J,"bundle-tmp"),K=L0.join(W,`${Q}.ts`),z=L0.join(W,"out",Q);d0.mkdirSync(W,{recursive:!0}),d0.mkdirSync(z,{recursive:!0});let U=L0.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 L=B.length>0?`
|
|
2419
|
+
export { ${B.join(", ")} }`:"";await Bun.write(K,$+L),p1("bundling:",Q,"from:",L0.basename(X));let O=new Set;try{let F=await Bun.build({entrypoints:[K],outdir:z,target:"browser",format:"esm",minify:Y,plugins:[CW(J,U,K,O)],define:{"process.env.NODE_ENV":Y?'"production"':'"development"',...u0()},root:J});if(!F.success){let S=F.logs.filter((E)=>E.level==="error").map((E)=>E.message).join(", ")||`Unable to bundle ${L0.basename(X)}`,b=k8(F.logs,X||void 0);if(console.warn("[stx:bundler] build failed:",S),JX(X||"",S,b),GX()==="error")throw Error(S);return $}let V="";for(let I of F.outputs){V=await I.text();break}let A=[];for(let I of V.matchAll(/^\s*export\s*\{([^}]*)\}\s*;?\s*$/gm))for(let S of I[1].split(",")){let b=S.trim().match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(b){A.push([b[2],b[1]]);continue}let E=S.trim();if(/^[A-Za-z_$][\w$]*$/.test(E))A.push([E,E])}let R=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=A.map(([I,S])=>`${JSON.stringify(I)}: ${S}`).join(", "),k=A.map(([I])=>`var ${I} = undefined;`).join(`
|
|
2420
|
+
`),T=A.map(([I])=>`${I} = ${N}[${JSON.stringify(I)}];`).join(`
|
|
2421
2421
|
`);if(V=`${R.join(`
|
|
2422
2422
|
`)}
|
|
2423
|
-
${
|
|
2423
|
+
${k}
|
|
2424
2424
|
var ${N} = (function() {
|
|
2425
2425
|
${V}
|
|
2426
2426
|
return { ${M} };
|
|
2427
2427
|
})();
|
|
2428
|
-
${
|
|
2428
|
+
${T}`.trim(),p1("bundled:",Q,"output:",V.length,"bytes"),B.length>0&&A.length===0)return console.warn(`[stx:bundler] dropped every binding for ${L0.basename(X)} (${Q}); serving the unbundled source and not caching this result`),$;d0.mkdirSync(G,{recursive:!0}),await Bun.write(w,V);let D=Array.from(O).map((I)=>{try{return{path:I,mtimeMs:d0.statSync(I).mtimeMs}}catch{return null}}).filter((I)=>I!==null);return await Bun.write(q,JSON.stringify({metadataVersion:R2,files:D})),V}catch(F){let V=k8(F,X||void 0),A=F2(F,X||void 0);if(console.warn(`[stx:bundler] error: ${A}`),JX(X||"",A,V),GX()==="error")throw F;return $}finally{try{d0.rmSync(K,{force:!0}),d0.rmSync(z,{recursive:!0,force:!0})}catch{}}}var yW=5,R2=1,QX,YX,V2,ZX,A2;var T5=y(()=>{D1();R7();F1();QX=[];V2=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];ZX=new Map,A2=Symbol.for("stx.client-bundle-build-queue")});var S2={};a(S2,{stripCommentsAndLiterals:()=>s0,renderVendorStyleTags:()=>E8,processClientScript:()=>D7,injectBrowserCoreAutoImports:()=>M5,generateServerDataBridge:()=>D8,generateBrowserAutoImportDestructuring:()=>lW,generateAutoImportDestructuring:()=>WX,findInterpolationEnd:()=>M8,extractBridgeData:()=>E7,extractAndStripCssImports:()=>I8,STX_AUTO_IMPORTS:()=>E2});import i1 from"path";import I7 from"fs";function fW($){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 gW($,X){let Z=X;while(!0){let J=i1.join(Z,"node_modules",$,"package.json");if(I7.existsSync(J))return i1.dirname(J);let Y=i1.dirname(Z);if(Y===Z)return null;Z=Y}}function hW($,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 uW($,X){let Z=fW($);if(!Z||!Z.subpath)return null;let J=gW(Z.pkg,X);if(!J)return null;let Y;try{Y=JSON.parse(I7.readFileSync(i1.join(J,"package.json"),"utf8"))}catch{return null}let G=`.${Z.subpath}`,Q=hW(Y.exports,G);if(!Q)return null;let w=i1.resolve(J,Q);return I7.existsSync(w)?w:null}function I8($,X){let Z=X.filePath?i1.dirname(X.filePath):X.projectRoot||process.cwd(),J=X.projectRoot||process.cwd(),Y=new Set,G=[];return{code:$.replace(xW,(w,q)=>{let W;try{if(q.startsWith("./")||q.startsWith("../")||q.startsWith("/")){if(W=q.startsWith("/")?q:i1.resolve(Z,q),!I7.existsSync(W))throw Error(`file not found: ${W}`)}else{let K=null;try{K=Bun.resolveSync(q,J)}catch{K=uW(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=I7.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 dW($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function E8($){if($.length===0)return"";return`${$.map((X)=>{return`<style data-stx-vendor="${dW(X.source)}" data-stx-layer="vendor">
|
|
2429
2429
|
@layer vendor {
|
|
2430
2430
|
${X.contents}
|
|
2431
2431
|
}
|
|
2432
2432
|
</style>`}).join(`
|
|
2433
2433
|
`)}
|
|
2434
|
-
`}function
|
|
2434
|
+
`}function M5($){let X=s0($),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=D2.filter((w)=>{if(Z.has(w)||J.has(w))return!1;return new RegExp(`\\b${w}\\s*\\(`).test(X)}),G=y2(X).filter((w)=>!Z.has(w)&&!J.has(w));if(Y.length===0&&G.length===0)return{code:$,imports:Y,models:G};return{code:`${[Y.length>0?`import { ${Y.join(", ")} } from '@stacksjs/browser'`:"",G.length>0?"import '@stacksjs/browser'":"",G.length>0?`const { ${G.join(", ")} } = window.StacksBrowser || {}`:""].filter(Boolean).join(`
|
|
2435
2435
|
`)}
|
|
2436
|
-
${$}`,imports:Y,models:G}}function
|
|
2436
|
+
${$}`,imports:Y,models:G}}function y2($){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(!mW.has(J[1]))X.add(J[1]);return Array.from(X)}function cW($){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 b2($){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],L=_[2]||H;if(Y.add(H),Y.add(L),K==="stx"||K==="@stacksjs/stx")X.add(H);else Z.add(H);if(L!==H)z.push(`${L} = ${H}`)}let U=z.length>0?`var ${z.join(", ")}; /* [auto-import processed] */`:"// [auto-import processed]";J=J.replace(Q[0],U)}let w=cW(J);for(let W of E2){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 D2){if(Y.has(W)||w.has(W))continue;if(new RegExp(`\\b${W}\\b`,"g").test(J))Z.add(W)}let q=y2(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 WX($,X){let Z=[];if($.length>0)Z.push(` var { ${$.join(", ")} } = window.stx || window;`);if(X.length>0)Z.push(` var { ${X.join(", ")} } = window.StacksBrowser || {};`);if(Z.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
|
|
2437
2437
|
${Z.join(`
|
|
2438
2438
|
`)}
|
|
2439
|
-
${
|
|
2439
|
+
${pW($,X)}`;return""}function lW($,X=[]){let{browserImports:Z}=b2($),J=new Set(X);return WX([],Z.filter((Y)=>!J.has(Y)))}function pW($,X){let Z=[...$.map((J)=>`['${J}', typeof ${J}, 'stx']`),...X.map((J)=>`['${J}', typeof ${J}, '@stacksjs/browser']`)];if(Z.length===0)return"";return` // STX: report auto-imports the client runtime did not provide
|
|
2440
2440
|
[${Z.join(", ")}].forEach(function (e) {
|
|
2441
2441
|
if (e[1] !== 'undefined') return;
|
|
2442
2442
|
console.error(
|
|
@@ -2445,10 +2445,10 @@ ${cW($,X)}`;return""}function lW($,X=[]){let{browserImports:Z}=E2($),J=new Set(X
|
|
|
2445
2445
|
+ 'or it should be imported from a relative path so the bundler includes it.'
|
|
2446
2446
|
);
|
|
2447
2447
|
});
|
|
2448
|
-
`}function E7($){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
|
|
2448
|
+
`}function E7($){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 M2($,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 iW($,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(M2(Z[1],!0).has(X))return!0;for(let Z of $.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(M2(Z[1],!1).has(X))return!0;return!1}function nW($,X){return new RegExp(`(?<![.#\\w$])${X}(?![\\w$])`).test($)}function oW($,X){let Z=rW.test($),J=X.length>32768;if(!Z&&!J)return;if(k2.has($))return;if(k2.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 D8($,X){if(!X)return"";let Z=s0($),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&&!nW(Z,G))continue;if(iW($,G))continue;let w;try{w=JSON.stringify(Q)}catch{continue}if(w===void 0)continue;oW(G,w),Y.push(` var ${G} = ${w.replace(/</g,"\\u003c")};`)}if(Y.length===0)return"";return` // stx: server -> client data bridge (seeded from server scope)
|
|
2449
2449
|
${Y.join(`
|
|
2450
2450
|
`)}
|
|
2451
|
-
`}function
|
|
2451
|
+
`}function aW($){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=sW[$.mouse];X.push(`if ($event.button !== ${Z}) return`)}if($.prevent)X.push("$event.preventDefault()");if($.stop)X.push("$event.stopPropagation()");return X.join("; ")}function tW($,X){let{elementId:Z,event:J,modifiers:Y}=$,G=t9($.handler),Q=aW(Y),w=[];if(Y.once)w.push("once: true");if(Y.capture)w.push("capture: true");if(Y.passive)w.push("passive: true");let q=w.length>0?`, { ${w.join(", ")} }`:"",W="";if(Q)W+=`${Q}; `;let K=G.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),z=`var $emit = function(name, detail) {
|
|
2452
2452
|
$el.dispatchEvent(new CustomEvent(name, { detail: detail, bubbles: true, cancelable: true }))
|
|
2453
2453
|
};`;function U(B){if(/\$emit\s*\(/.test(B))return`${z}
|
|
2454
2454
|
${B}`;return`var scope = $el.closest('[data-stx-scope]');
|
|
@@ -2491,25 +2491,25 @@ else {
|
|
|
2491
2491
|
else {
|
|
2492
2492
|
${G}
|
|
2493
2493
|
}
|
|
2494
|
-
}${q})`}function
|
|
2494
|
+
}${q})`}function eW($){if($.length===0)return"";return`
|
|
2495
2495
|
// STX: auto-generated event bindings
|
|
2496
|
-
${$.map((Z,J)=>
|
|
2497
|
-
`)}`}function
|
|
2498
|
-
`)Q++;continue}if(w==="/"&&J[Q+1]==="*"){Q+=2;while(Q<G-1&&!(J[Q]==="*"&&J[Q+1]==="/"))Q++;Q+=2;continue}if(w==="{"){Y++,Q++;continue}if(w==="}"){Y--,Q++;continue}if(Y===0){let q=J.slice(Q),W=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(W){let U=W[1];if(!U.startsWith("_")&&!Z.has(U))X.push(U),Z.add(U);Q+=W[0].length;continue}let K=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(K){K[1].split(",").forEach((U)=>{let B=U.trim(),j=B.indexOf(":"),_=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
|
|
2496
|
+
${$.map((Z,J)=>tW(Z,J)).join(`
|
|
2497
|
+
`)}`}function I2($){let X=[],Z=new Set,J=$.replace(/^\s*import\s+.*$/gm,""),Y=0,G=J.length,Q=0;while(Q<G){let w=J[Q];if(w==="'"||w==='"'||w==="`"){let q=w;if(Q++,q==="`"){let W=0;while(Q<G){if(J[Q]==="\\"){Q+=2;continue}if(J[Q]==="`"&&W===0){Q++;break}if(J[Q]==="$"&&J[Q+1]==="{"){W++,Q+=2;continue}if(J[Q]==="}"&&W>0){W--,Q++;continue}Q++}}else while(Q<G){if(J[Q]==="\\"){Q+=2;continue}if(J[Q]===q){Q++;break}Q++}continue}if(w==="/"&&J[Q+1]==="/"){while(Q<G&&J[Q]!==`
|
|
2498
|
+
`)Q++;continue}if(w==="/"&&J[Q+1]==="*"){Q+=2;while(Q<G-1&&!(J[Q]==="*"&&J[Q+1]==="/"))Q++;Q+=2;continue}if(w==="{"){Y++,Q++;continue}if(w==="}"){Y--,Q++;continue}if(Y===0){let q=J.slice(Q),W=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(W){let U=W[1];if(!U.startsWith("_")&&!Z.has(U))X.push(U),Z.add(U);Q+=W[0].length;continue}let K=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(K){K[1].split(",").forEach((U)=>{let B=U.trim(),j=B.indexOf(":"),_=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 XK($){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(!$K.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 D7($,X={}){let Z=$,J="",Y=!1,G=[],Q=I8(Z,{filePath:X.filePath,projectRoot:X.projectRoot});Z=Q.code;let w=E8(Q.styles),q=M5(Z);Z=q.code,G=[...q.imports,...q.models];let{hasUserImports:W,bundleClientScript:K}=await t("stx/client-script-bundler",()=>Promise.resolve().then(() => (T5(),M7)));if(W(Z))Z=await K(Z,X.filePath||"",{projectRoot:X.projectRoot,minify:X.production}),Y=!0;if(X.autoImports!==!1){let O=b2(Z);Z=O.code,J=WX(O.stxImports,O.browserImports.filter((F)=>!G.includes(F)))}if(J=`${D8(Z,X.serverData)}${J}`,Z=p0(Z),!Y&&n1(X.attrs||""))Z=r1(Z);let z=eW(X.eventBindings||[]),U=(X.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(U)){let O=U.replace(/\btype\s*=\s*["']module["']/i,"").trim(),F=`type="module" data-stx-scoped${O?` ${O}`:""}`;return`${w}<script ${F}>
|
|
2499
2499
|
${N5(`${J}${Z}
|
|
2500
2500
|
${z}`)}
|
|
2501
|
-
</script>`}let j=
|
|
2501
|
+
</script>`}let j=s9($),_=/function __stx_setup_/.test(Z),H=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test($);function L(O){let F=O.length>0?`
|
|
2502
2502
|
return { ${O.join(", ")} };`:"";return`${w}<script data-stx-scoped data-stx-run="always">
|
|
2503
2503
|
window.stx.mount(function() {
|
|
2504
2504
|
'use strict';
|
|
2505
2505
|
${N5(`${J}${Z}
|
|
2506
2506
|
${z}${F}`)}
|
|
2507
|
-
})</script>`}if(!H&&!_){if(j)return L(
|
|
2507
|
+
})</script>`}if(!H&&!_){if(j)return L(I2($));if(X.templateContent){let O=I2($);if(O.length>0){let F=XK(X.templateContent);if(O.some((A)=>F.has(A)))return L(O)}}}return`${w}<script data-stx-scoped data-stx-run="always">
|
|
2508
2508
|
;(function() {
|
|
2509
2509
|
'use strict';
|
|
2510
2510
|
${N5(`${J}${Z}
|
|
2511
2511
|
${z}`)}
|
|
2512
|
-
})()</script>`}var
|
|
2512
|
+
})()</script>`}var xW,E2,D2,mW,rW,k2,sW,$K;var y7=y(()=>{$X();y0();T7();$1();XX();xW=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;E2=L1,D2=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useActiveElement","useDocumentVisibility","useIntervalFn","useTimeoutFn"];mW=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"]);rW=/token|secret|passw|apikey|api_key|privatekey|private_key|credential|webhook|bearer|jwt|signature/i,k2=new Set;sW={left:0,middle:1,right:2};$K=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 ZK}from"crypto";function C2($){let X=$[y8];return X instanceof Map?X:null}function P2($){$[y8]=new Map}function v2($,X){let Z=C2($);if(!Z)return null;let J=ZK("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 x2($,X){let Z=C2(X);if(!Z?.size)return $;let J=$;for(let[q,W]of Z){if(W.instances!==1)continue;let K=new RegExp(`window\\.__stxComponentFactories\\[${JSON.stringify(q)}\\]\\(("[^"]+")\\);`,"g");J=J.replace(K,(z,U)=>`(${W.body})(${U});`)}let Y=[...Z].filter(([,q])=>q.instances>1);if(Y.length===0)return J;let Q=`<script data-stx-scoped data-stx-run="always" data-stx-component-factories>
|
|
2513
2513
|
(function() {
|
|
2514
2514
|
const factories = window.__stxComponentFactories = window.__stxComponentFactories || {};
|
|
2515
2515
|
${Y.map(([q,W])=>` try { factories[${JSON.stringify(q)}] = factories[${JSON.stringify(q)}] || ${W.body}; }
|
|
@@ -2518,7 +2518,7 @@ ${Y.map(([q,W])=>` try { factories[${JSON.stringify(q)}] = factories[${JSON.str
|
|
|
2518
2518
|
})();
|
|
2519
2519
|
</script>`,w=J.search(/<script\b(?=[^>]*\bdata-stx-scoped\b)/i);if(w<0)return`${Q}
|
|
2520
2520
|
${J}`;return`${J.slice(0,w)}${Q}
|
|
2521
|
-
${J.slice(w)}`}var
|
|
2521
|
+
${J.slice(w)}`}var y8="__stx_component_client_factories";var KX=()=>{};function QK($){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 wK($,X){let Z=/[$A-Z_a-z][$\w]*/g,J;while((J=Z.exec($))!==null){let Y=J[0],G=$[J.index-1];if(YK.has(Y))throw Error(`Potentially unsafe expression (matched /\\b${Y}\\b/; identifier ${Y}): ${X}`);if(G==="."&&u2.has(Y))throw Error(`Potentially unsafe expression (matched /.${Y}/; property ${Y}): ${X}`)}}function qK($){let X=/\[\s*(['"])(.*?)\1\s*\]/g,Z;while((Z=X.exec($))!==null){let J=Z[2];if(!u2.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 b8($){let X=$.trim(),Z=QK(X);wK(Z,X),qK(X);for(let J of h2)if(J.test(Z))throw Error(`Potentially unsafe expression (matched /${J.source}/): ${X}`);if(!g2.allowBracketNotation&&GK.test(X))throw Error(`Bracket notation with strings not allowed: ${X}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return X}function WK($){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("__")||h2.some((Y)=>Y.test(Z)))continue;if(J&&typeof J==="object"&&!Array.isArray(J))X[Z]=zX(J);else X[Z]=J}return X}function zX($,X=0){if(X>=g2.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((J)=>zX(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]=zX(Y,X+1);else Z[J]=Y}return Z}function G0($,X){try{let Z=WK(X),J=Object.keys(Z),Y=Object.values(Z);return W0($,J)(...Y)}catch{return}}function q0($){try{return b8($),!0}catch{return!1}}function k0($,X){try{let Z=G0($,X);if(Z&&typeof Z==="object"&&!Array.isArray(Z))return Z;return{}}catch{return{}}}function W0($,X){let Z=b8($),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(d2.has(K))continue;Y.push(W),G.push(K)}let Q=(W)=>Function(...G,...W,`
|
|
2522
2522
|
'use strict';
|
|
2523
2523
|
try {
|
|
2524
2524
|
return ${Z};
|
|
@@ -2529,7 +2529,7 @@ catch (e) {
|
|
|
2529
2529
|
}
|
|
2530
2530
|
throw e;
|
|
2531
2531
|
}
|
|
2532
|
-
`),w=Q([]);if(G.length===X.length)return P2(w,G,Q);return P2((...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 P2($,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)||g2.has(j))return;q.add(j),w.push(j),Q=Z(w),J?.(w)}return}}function b8($){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 ZK,v2,x2,JK,f2,YK,g2;var E0=E(()=>{ZK={maxSanitizeDepth:10,allowBracketNotation:!1},v2={...ZK},x2=[/\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/],JK=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"]),f2=new Set(["__proto__","constructor","prototype"]),YK=/[\w)\]]\s*\[\s*['"]/;g2=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 S8($,X){let Z=WK++,J=`<!--__STX_${$.toUpperCase()}_${Z}__-->`;return KK.set(J,{type:$,expression:X}),J}var WK=0,KK;var h2=E(()=>{KK=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 y1($,X){return c2($,X,u2,d2)}function M5($,X){return c2($,X,m2,l2)}function b7($,X){if(!$.startsWith("<!--",X))return-1;let Z=$.indexOf("-->",X+4);if(Z===-1)return-1;return Z+3}function zK($,X){if($.startsWith("<!--",X)){let Z=b7($,X);return Z===-1?$.length:Z}for(let[Z,J]of[[u2,d2],[m2,l2]]){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 C8($,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=zK($,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=C8($,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 b1($){let{output:X,tokens:Z}=w1($,y1,(J,Y)=>`\x00STX_SCRIPT_${Y}\x00`);return{output:X,scripts:Z}}function S7($,X){if(X.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,J)=>X[+J]??"")}var u2,d2,m2,l2;var o1=E(()=>{u2=/<script\b[^>]*>/iy,d2=/<\/script\s*>/ig,m2=/<style\b[^>]*>/iy,l2=/<\/style\s*>/ig});var a2={};t(a2,{usesSignalsInScript:()=>F1,unescapeHtml:()=>VK,registerFilters:()=>jK,registerFilter:()=>n2,processExpressions:()=>S1,interpolateScriptsInTemplate:()=>HK,interpolateScriptExpressions:()=>P8,interpolateScriptAttributes:()=>o2,getAllFilters:()=>r2,evaluateExpression:()=>d0,escapeHtml:()=>$1,defaultFilters:()=>P7,clearCustomFilters:()=>BK,applyFilters:()=>s2});function UK($){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 n2($,X){if($ in P7)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);C7[$]=X}function jK($){for(let[X,Z]of Object.entries($))n2(X,Z)}function r2(){return{...P7,...C7}}function BK(){for(let $ of Object.keys(C7))delete C7[$]}function $1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function F1($){let{scripts:X}=b1($);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 i2($,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 _K($,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 P8($,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 o2($,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 HK($,X,Z={}){let{output:J,scripts:Y}=b1($),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${o2(K,X)}>`;if(/\bsrc\s*=/.test(K)||/\btype\s*=\s*["']application\/json["']/.test(K))return B+z+Q.slice(W);return B+P8(z,X)+Q.slice(W)});return S7(J,G)}function S1($,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}=w1(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,y1,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 S8("raw",U.trim());return j!==void 0&&j!==null?String(j):""}catch(j){if(X.__stx_buildMode==="compile")return S8("raw",U.trim());let _=j instanceof Error?j.message:String(j);return j0("Expression",`Error evaluating: {!! ${U.trim()} !!}: ${_}`,Z,$,B,z)}}),J=G(J,y1,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 M=d0(U,X);if(V)return z;if(q&&!i2(j,X))return z;if(X.__stx_buildMode==="compile"&&!q&&(M===void 0||_K(j,X)))return S8("expr",j);return M!==void 0&&M!==null?$1(String(M)):""}catch(M){if(V)return z;if(q&&!i2(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 s2($,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=C7[Q]||P7[Q];if(!w)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(r2()).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,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 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 OK($){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=OK(J);if(Y>0){let G=J.substring(0,Y).trim(),Q=J.substring(Y+1).trim(),w=d0(G,X,!0);return s2(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=LK(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 LK($,X){let Z=null;for(let Y of X){if(Y===$)continue;let G=FK($,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 FK($,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 VK($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var C7,p2,P7;var q1=E(()=>{E0();y0();h2();o1();C7={},p2=new Map;P7={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(UK(q),String(W))}),w},t:($,X,Z={})=>{return P7.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 s1{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>=AK){let J=k5.keys().next().value;if(J)k5.delete(J)}k5.set(Z,new RegExp($,X))}return k5.get(Z)}class t2{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let X=Array.from(new Set($)),Z=X.sort().join(","),J=this.pool.find((w)=>w.context.join(",")===Z);if(J)return J.func;let Y=this.fnCache,G=this.fnCacheMaxSize,Q=(...w)=>{return(q)=>{try{let W=`${Z}:${q}`,K=Y.get(W);if(!K){if(Y.size>=G){let z=Y.keys().next().value;if(z)Y.delete(z)}K=Function(...X,`
|
|
2532
|
+
`),w=Q([]);if(G.length===X.length)return f2(w,G,Q);return f2((...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 f2($,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)||d2.has(j))return;q.add(j),w.push(j),Q=Z(w),J?.(w)}return}}function S8($){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 JK,g2,h2,YK,u2,GK,d2;var I0=y(()=>{JK={maxSanitizeDepth:10,allowBracketNotation:!1},g2={...JK},h2=[/\b(eval|Function|setTimeout|setInterval|setImmediate)\b/,/\b(process|require|import|exports|module)\b/,/\b(window|document|global|globalThis)\b/,/\b(constructor|prototype|__proto__)\b/,/\b(Reflect|Proxy)\b/,/\bSymbol\b/,/\b(WeakMap|WeakSet|WeakRef|FinalizationRegistry)\b/,/\b(Generator|AsyncGenerator)\b/,/__\w+__/,/\.(bind|call|apply)\s*\(/,/\bnew\s+/,/\bdelete\s+/,/\bthis\b/],YK=new Set(["eval","Function","setTimeout","setInterval","setImmediate","process","require","import","exports","module","window","document","global","globalThis","constructor","prototype","Reflect","Proxy","Symbol","WeakMap","WeakSet","WeakRef","FinalizationRegistry","Generator","AsyncGenerator","delete","this"]),u2=new Set(["__proto__","constructor","prototype"]),GK=/[\w)\]]\s*\[\s*['"]/;d2=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 C8($,X){let Z=KK++,J=`<!--__STX_${$.toUpperCase()}_${Z}__-->`;return zK.set(J,{type:$,expression:X}),J}var KK=0,zK;var m2=y(()=>{zK=new Map});function n2($,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 y1($,X){return n2($,X,c2,l2)}function k5($,X){return n2($,X,p2,i2)}function b7($,X){if(!$.startsWith("<!--",X))return-1;let Z=$.indexOf("-->",X+4);if(Z===-1)return-1;return Z+3}function UK($,X){if($.startsWith("<!--",X)){let Z=b7($,X);return Z===-1?$.length:Z}for(let[Z,J]of[[c2,l2],[p2,i2]]){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 P8($,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=UK($,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=P8($,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 b1($){let{output:X,tokens:Z}=q1($,y1,(J,Y)=>`\x00STX_SCRIPT_${Y}\x00`);return{output:X,scripts:Z}}function S7($,X){if(X.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,J)=>X[+J]??"")}var c2,l2,p2,i2;var o1=y(()=>{c2=/<script\b[^>]*>/iy,l2=/<\/script\s*>/ig,p2=/<style\b[^>]*>/iy,i2=/<\/style\s*>/ig});var $Z={};a($Z,{usesSignalsInScript:()=>V1,unescapeHtml:()=>AK,registerFilters:()=>BK,registerFilter:()=>s2,processExpressions:()=>S1,interpolateScriptsInTemplate:()=>OK,interpolateScriptExpressions:()=>v8,interpolateScriptAttributes:()=>t2,getAllFilters:()=>a2,evaluateExpression:()=>m0,escapeHtml:()=>X1,defaultFilters:()=>P7,clearCustomFilters:()=>_K,applyFilters:()=>e2});function jK($){let X=r2.get($);if(!X){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");X=new RegExp(`:${Z}(?!\\w)`,"g"),r2.set($,X)}return X.lastIndex=0,X}function s2($,X){if($ in P7)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);C7[$]=X}function BK($){for(let[X,Z]of Object.entries($))s2(X,Z)}function a2(){return{...P7,...C7}}function _K(){for(let $ of Object.keys(C7))delete C7[$]}function X1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function V1($){let{scripts:X}=b1($);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 o2($,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 HK($,X){let Z=X.__stx_serverDeclared;if(!Z||Z.size===0)return!1;let J=s0($);for(let Y of Z)if(new RegExp(`(?<![.#\\w$])${Y}(?![\\w$])`).test(J))return!0;return!1}function v8($,X){let Z=$;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(J,Y)=>{try{let G=m0(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=m0(Y,X);if(Q===void 0)return J;return JSON.stringify(Q).replace(/</g,"\\u003c")}catch{return J}}),Z}function t2($,X){if(!$.includes("{"))return $;let Z=$;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(J,Y)=>{try{let G=m0(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=m0(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 OK($,X,Z={}){let{output:J,scripts:Y}=b1($),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${t2(K,X)}>`;if(/\bsrc\s*=/.test(K)||/\btype\s*=\s*["']application\/json["']/.test(K))return B+z+Q.slice(W);return B+v8(z,X)+Q.slice(W)});return S7(J,G)}function S1($,X,Z){let J=$,Y=(z,U)=>{let B=k5(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,y1,w,(z)=>`<!--__STX_SCRIPT_EXPR_${z}__-->`);let q=X?.__stx_signals_gate===!0||V1($),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=m0(U,X);return j!==void 0&&j!==null?String(j):""}catch(j){let _=j instanceof Error?j.message:String(j);return B0("Expression",`Error evaluating: {{{ ${U.trim()}}}}: ${_}`,Z,$,B,z)}}),J=J.replace(/\{!!([\s\S]*?)!!\}/g,(z,U,B)=>{try{let j=m0(U,X);if(j===void 0&&X.__stx_buildMode==="compile")return C8("raw",U.trim());return j!==void 0&&j!==null?String(j):""}catch(j){if(X.__stx_buildMode==="compile")return C8("raw",U.trim());let _=j instanceof Error?j.message:String(j);return B0("Expression",`Error evaluating: {!! ${U.trim()} !!}: ${_}`,Z,$,B,z)}}),J=G(J,y1,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 M=m0(U,X);if(V)return z;if(q&&!o2(j,X))return z;if(X.__stx_buildMode==="compile"&&!q&&(M===void 0||HK(j,X)))return C8("expr",j);return M!==void 0&&M!==null?X1(String(M)):""}catch(M){if(V)return z;if(q&&!o2(j,X))return z;if(N)return z;let k=M instanceof Error?M.message:String(M);return B0("Expression",`Error evaluating: {{ ${j} }}: ${k}`,Z,$,B,z)}});for(let z=0;z<w.length;z++)J=J.replace(`<!--__STX_SCRIPT_EXPR_${z}__-->`,()=>w[z]);for(let z=0;z<Q.length;z++)J=J.replace(`<!--__STX_STYLE_${z}__-->`,()=>Q[z]);return J}function e2($,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=C7[Q]||P7[Q];if(!w)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(a2()).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=[m0(`(${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 m0(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 LK($){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 m0($,X,Z=!1){try{let J=$.trim(),Y=LK(J);if(Y>0){let G=J.substring(0,Y).trim(),Q=J.substring(Y+1).trim(),w=m0(G,X,!0);return e2(w,Q,X)}if(!q0(J)){if(!Z)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${J}`);return G0(J,X)}try{let G=Object.keys(X),Q=Object.values(X);return W0(J,G)(...Q)}catch{return G0(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=FK(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 FK($,X){let Z=null;for(let Y of X){if(Y===$)continue;let G=VK($,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 VK($,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 AK($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var C7,r2,P7;var W1=y(()=>{I0();y0();m2();o1();C7={},r2=new Map;P7={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 X1(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(jK(q),String(W))}),w},t:($,X,Z={})=>{return P7.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 s1{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 E5($,X){if(X?.includes("g"))return new RegExp($,X);let Z=`${$}:${X||""}`;if(!I5.has(Z)){if(I5.size>=RK){let J=I5.keys().next().value;if(J)I5.delete(J)}I5.set(Z,new RegExp($,X))}return I5.get(Z)}class XZ{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let X=Array.from(new Set($)),Z=X.sort().join(","),J=this.pool.find((w)=>w.context.join(",")===Z);if(J)return J.func;let Y=this.fnCache,G=this.fnCacheMaxSize,Q=(...w)=>{return(q)=>{try{let W=`${Z}:${q}`,K=Y.get(W);if(!K){if(Y.size>=G){let z=Y.keys().next().value;if(z)Y.delete(z)}K=Function(...X,`
|
|
2533
2533
|
'use strict';
|
|
2534
2534
|
try {
|
|
2535
2535
|
return ${q};
|
|
@@ -2540,34 +2540,34 @@ catch (e) {
|
|
|
2540
2540
|
}
|
|
2541
2541
|
throw e;
|
|
2542
2542
|
}
|
|
2543
|
-
`),Y.set(W,K)}return K(...w)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:Q,context:X.slice()});return Q}clear(){this.pool.length=0,this.fnCache.clear()}}class
|
|
2543
|
+
`),Y.set(W,K)}return K(...w)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:Q,context:X.slice()});return Q}clear(){this.pool.length=0,this.fnCache.clear()}}class ZZ{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 NK(){if(!UX)UX=new ZZ;return UX}var I5,RK=500,JA,UX=null,JZ;var D5=y(()=>{I5=new Map;JA=new XZ;JZ=new Proxy({},{get($,X){return NK()[X]}})});function YZ($,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 GZ($,X,Z={}){let{prefix:J="",preserveHost:Y=!0,scopeKeyframes:G=!0,scopeCustomProperties:Q=!1}=Z;if(!$.trim())return"";let w=jX($),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=QZ(K,X,J,Y,W,Q);q.push(z)}return q.join(`
|
|
2544
2544
|
|
|
2545
|
-
`)}function
|
|
2546
|
-
`)})}else X.push({selector:`@${K} ${z.trim()}`,declarations:U.trim()})}Q="",G=!1}else if(Y.trim()){Y+=q;let W=Y.match(/([^{]+)\{([^}]*)\}/);if(W)X.push({selector:W[1].trim(),declarations:W[2].trim()});Y=""}continue}}if(G)Q+=q;else Y+=q}return X}function
|
|
2545
|
+
`)}function jX($){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=jX(U);X.push({selector:`@${K} ${z.trim()}`,declarations:B.map((j)=>`${j.selector} { ${j.declarations} }`).join(`
|
|
2546
|
+
`)})}else X.push({selector:`@${K} ${z.trim()}`,declarations:U.trim()})}Q="",G=!1}else if(Y.trim()){Y+=q;let W=Y.match(/([^{]+)\{([^}]*)\}/);if(W)X.push({selector:W[1].trim(),declarations:W[2].trim()});Y=""}continue}}if(G)Q+=q;else Y+=q}return X}function QZ($,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=jX(`x { ${w} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((U)=>QZ(U,X,Z,J,Y,G)).join(`
|
|
2547
2547
|
`);return`${Q} {
|
|
2548
2548
|
${z}
|
|
2549
|
-
}`}return`${Q} { ${w} }`}let q=
|
|
2550
|
-
`)}function
|
|
2551
|
-
`,""}),headContent:X.trim()}}function
|
|
2552
|
-
`);for(let Y of J){let G=Z,Q=null,w=!1;for(let q=0;q<Y.length;q++){let W=Y[q];if(w){w=!1;continue}if(W==="\\"){w=!0;continue}if(Q){if(W===Q)Q=null;continue}if(W==="'"||W==='"'||W==="`"){Q=W;continue}if(W==="/"&&q+1<Y.length&&Y[q+1]==="/")break;if(W==="{")Z++;else if(W==="}")Z--}if(G===0){let q=Y.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)X.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(Y)){let W=Y.match(/(?:const|let|var)\s+(\w+)/);if(W)X.push(W[1])}else{let W=Y.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(W){let z=W[1].slice(1,-1).split(",").map((U)=>{let B=U.split(":");return(B.length>1?B[1]:B[0]).trim()}).filter((U)=>/^\w+$/.test(U));X.push(...z)}}}}return[...new Set(X)]}function
|
|
2549
|
+
}`}return`${Q} { ${w} }`}let q=TK(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 TK($,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=MK(Q,X);if(q)G.push(Z?`${Z} ${q}`:q)}return G.join(", ")}function MK($,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 qZ($){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 x8($,X){if(!kK.test($))return{html:$,hasScoped:!1};let Z=YZ(X),J=`data-v-${Z}`,Y=$,G=new RegExp(`<style\\s+([^>]*${BX}[^>]*)>([\\s\\S]*?)</style>`,"gi"),Q=!1;if(Y=Y.replace(G,(w,q,W)=>{Q=!0;let K=IK(W,J),z=q.replace(new RegExp(BX,"gi"),"").trim(),U=z?` ${z}`:"";return`<style data-stx-scoped="${Z}"${U}>${K}</style>`}),!Q)return{html:$,hasScoped:!1};return Y=DK(Y,J),{html:Y,hasScoped:!0}}function IK($,X){return GZ($,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${X}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${X}]`)}function DK($,X){let Z=q1($,(Y,G)=>{let Q=y1(Y,G);return Q>G?Q:k5(Y,G)},(Y,G)=>EK(G)),J=yK(Z.output,X);return wZ.lastIndex=0,J.replace(wZ,(Y,G)=>Z.tokens[Number(G)])}function yK($,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 BX,kK,EK=($)=>`\x00stx-scope-mask-${$}\x00`,wZ;var _X=y(()=>{o1();BX=String.raw`(?<![\w-])scoped(?![\w-])`,kK=new RegExp(`<style\\s+[^>]*${BX}`,"i");wZ=/\u0000stx-scope-mask-(\d+)\u0000/g});function SK($){let X=$.replace(/^<template\b/i,"").replace(/>$/,"");return bK.test(X)}function f8($){v7.lastIndex=0;let X;while((X=v7.exec($))!==null){if(X[0].startsWith("</")||SK(X[0]))continue;let Z=X.index,J=v7.lastIndex,Y=1,G;while((G=v7.exec($))!==null)if(G[0].startsWith("</")){if(Y--,Y===0){let Q=G.index;return{start:Z,openEnd:J,closeStart:Q,end:v7.lastIndex,content:$.slice(J,Q)}}}else Y++;return null}return null}var v7,bK;var HX=y(()=>{v7=/<\/?template\b[^>]*>/gi,bK=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var WZ=()=>{};function b0($,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 FX={};a(FX,{useTitle:()=>fK,useSeoMeta:()=>KZ,usePageTitle:()=>fK,useHead:()=>LX,seoMetaToHeadConfig:()=>h8,resetHead:()=>vK,renderHtmlAttrs:()=>hK,renderHead:()=>gK,renderBodyAttrs:()=>uK,processTitleDirective:()=>cK,processMetaDirective:()=>lK,processHeadDirective:()=>mK,mergeHeadConfigs:()=>y5,getPageMeta:()=>PK,getHead:()=>OX,definePageMeta:()=>xK,applyHead:()=>dK});function OX(){return C1}function PK(){return g8}function vK(){C1={},CK.length=0,g8={}}function LX($){C1=y5(C1,$)}function y5($,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 KZ($){LX(h8($))}function h8($){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 xK($){if(g8={...g8,...$},$.title||$.description)KZ({title:$.title,description:$.description})}function fK($){let X=typeof $==="function"?$():$;LX({title:X})}function gK($=C1){let X=[];if($.title){let Z=$.title;if($.titleTemplate)Z=typeof $.titleTemplate==="function"?$.titleTemplate(Z):$.titleTemplate.replace("%s",Z);X.push(`<title>${a1(Z)}</title>`)}if($.base){let Z=Object.entries($.base).map(([J,Y])=>`${J}="${a1(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}="${a1(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}="${a1(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}="${a1(String(w))}"`}).filter(Boolean).join(" ");if(J)X.push(`<script ${G}>${J}</script>`);else X.push(`<script ${G}></script>`)}for(let Z of $.style||[]){let J=Z.type?` type="${Z.type}"`:"";X.push(`<style${J}>${Z.content}</style>`)}return X.join(`
|
|
2550
|
+
`)}function hK($=C1){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([X,Z])=>`${X}="${a1(Z)}"`).join(" ")}function uK($=C1){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([X,Z])=>`${X}="${a1(Z)}"`).join(" ")}function a1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function dK($=C1){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 mK($){let X="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(J,Y)=>{return X+=Y.trim()+`
|
|
2551
|
+
`,""}),headContent:X.trim()}}function cK($,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=y5(w,{title:Q}),""})}function lK($,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=y5(U,{meta:[z]}),""})}var C1,CK,g8;var x7=y(()=>{C1={},CK=[],g8={}});var u8={};a(u8,{stripTypeScript:()=>OZ,splitDeclaration:()=>NZ,isModuleResolutionFailure:()=>LZ,isMissingBindingFailure:()=>FZ,isCompleteImport:()=>VZ,hasVariables:()=>IZ,extractVariables:()=>t1,extractScriptFromTemplate:()=>kZ,convertToCommonJS:()=>RX,STX_ENGINE_BINDING_NAMES:()=>AX});import P1 from"path";import b5 from"process";function iK($){let X=[],Z=0,J=$.split(`
|
|
2552
|
+
`);for(let Y of J){let G=Z,Q=null,w=!1;for(let q=0;q<Y.length;q++){let W=Y[q];if(w){w=!1;continue}if(W==="\\"){w=!0;continue}if(Q){if(W===Q)Q=null;continue}if(W==="'"||W==='"'||W==="`"){Q=W;continue}if(W==="/"&&q+1<Y.length&&Y[q+1]==="/")break;if(W==="{")Z++;else if(W==="}")Z--}if(G===0){let q=Y.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)X.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(Y)){let W=Y.match(/(?:const|let|var)\s+(\w+)/);if(W)X.push(W[1])}else{let W=Y.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(W){let z=W[1].slice(1,-1).split(",").map((U)=>{let B=U.split(":");return(B.length>1?B[1]:B[0]).trim()}).filter((U)=>/^\w+$/.test(U));X.push(...z)}}}}return[...new Set(X)]}function OZ($){let X=$;X=X.replace(/^\s*import\s+.*?from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),X=X.replace(/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/gm,""),X=X.replace(/^\s*interface\s+\w+\s*\{[\s\S]*?\n\}\s*$/gm,""),X=X.replace(/^\s*type\s+\w+\s*=[\s\S]*?(?=\n(?:const|let|var|function|export|interface|type|$))/gm,""),X=X.replace(/^(\s*(?:export\s+)?(?:const|let|var)\s+)(\w+|\{[^}]+\}|\[[^\]]+\])\s*:\s*[^=]+(\s*=)/gm,"$1$2$3");function Z(J){if(!J.includes(":"))return J;let Y=[],G="",Q=0,w=0,q=null;for(let W=0;W<J.length;W++){let K=J[W];if(q){if(G+=K,K===q)q=null;continue}if(K==='"'||K==="'"||K==="`"){q=K,G+=K;continue}if(K==="<")Q++;else if(K===">"&&Q>0)Q--;else if(K==="(")w++;else if(K===")")w--;if(K===","&&Q===0&&w===0){Y.push(G),G="";continue}G+=K}if(G)Y.push(G);return Y.map((W)=>{let K=W.trim(),z=K.startsWith("..."),U=z?K.slice(3):K,B=-1,j=0;for(let A=0;A<U.length;A++)if(U[A]==="<")j++;else if(U[A]===">")j--;else if(U[A]===":"&&j===0){B=A;break}if(B===-1)return W;let H=U.substring(0,B).trim().replace(/\?$/,""),L=U.substring(B+1),O=-1,F=0;for(let A=0;A<L.length;A++)if(L[A]==="<")F++;else if(L[A]===">")F--;else if(L[A]==="="&&F===0){O=A;break}let V=z?"...":"";if(O!==-1)return`${V}${H} = ${L.substring(O+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,`
|
|
2553
2553
|
|
|
2554
|
-
`),X}function
|
|
2555
|
-
`),
|
|
2554
|
+
`),X}function LZ($){return/cannot find module|could not resolve|module not found|failed to resolve/i.test($)}function FZ($){if(!/is not defined|can't find variable/i.test($))return!1;return!/\b(document|window|navigator|localStorage|sessionStorage|self)\b/.test($)}async function t1($,X,Z,J={}){if(!$.trim())return;let Y;try{let P=new Bun.Transpiler({loader:"ts",target:"browser",define:u0()}),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=OZ($)}let G={exports:{}},Q=G.exports,w=b5.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=P1.resolve(w,"node_modules",P),g=P1.join(C,"package.json"),c=JSON.parse(U0("fs").readFileSync(g,"utf8")),d=c.main||"index.js";if(c.exports){let w0=typeof c.exports==="string"?c.exports:c.exports["."];if(typeof w0==="string")d=w0;else if(w0?.bun)d=w0.bun;else if(w0?.import)d=w0.import;else if(w0?.default)d=w0.default}q[P]=await import(P1.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,c]of Object.entries(P)){let d=z[g];if(d!==void 0)C[g]=d;else if(typeof c==="function")C[g]=c();else C[g]=c}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,c]of Object.entries(P)){let d=c&&typeof c==="object"&&!Array.isArray(c)?c:{type:c};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[c,d]of Object.entries(C))if(g[c]===void 0)if(typeof d==="function")g[c]=d();else g[c]=d;return g},H=(P)=>{let C=()=>P;return C.set=(g)=>{},C.update=(g)=>{},C},L=(P)=>{let C,g=!1;return()=>{if(!g)try{C=P(),g=!0}catch{C=void 0}return C}},O=(P)=>{},F=(P)=>P(),V=(P)=>{},A=(P)=>{};function R(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??"",c=Object.fromEntries(new URLSearchParams(C)),d=X.query,w0=Object.keys(c).length>0?c:d??{},N0=C||(Object.keys(w0).length>0?`?${new URLSearchParams(w0).toString()}`:"");return{params:X.params??{},query:w0,path:g,name:"",fullPath:g+N0,hash:"",matched:[]}},k=()=>({push:(P)=>{},replace:(P)=>{},back:()=>{},forward:()=>{},go:(P)=>{}}),T=(P)=>{let C=X.__stx_runtime_head||{};X.__stx_runtime_head=y5(C,P||{})},D=(P)=>{T(h8(P||{}))},I=(P)=>({value:P}),S=(P)=>P,b=(P)=>({value:typeof P==="function"?P():P}),E=(P,C)=>{},v=(P)=>{},x=(P)=>{},f=(P)=>P?P():Promise.resolve(),h=(P)=>(C,...g)=>{},p=(P)=>{},H0=(P,C)=>{},M0=(P,C)=>C,j0=()=>({value:"light"}),Z0=()=>H(!1),l=(P)=>H(!1),J0=()=>H(!1),D0=()=>l("(prefers-color-scheme: dark)"),v0=()=>l("(prefers-color-scheme: light)"),j5=()=>l("(prefers-reduced-motion: reduce)"),r=()=>l("(prefers-contrast: more)"),e={siteId:void 0,API_ENDPOINT:"",ANALYTICS_SITE_ID:void 0,location:{href:"",pathname:"",search:"",hash:"",origin:"",host:"",hostname:"",protocol:"https:",assign:()=>{},replace:()=>{},reload:()=>{}},localStorage:{getItem:()=>null,setItem:()=>{},removeItem:()=>{},clear:()=>{}},sessionStorage:{getItem:()=>null,setItem:()=>{},removeItem:()=>{},clear:()=>{}},fetch:globalThis.fetch,addEventListener:()=>{},removeEventListener:()=>{},setTimeout:()=>0,clearTimeout:()=>{},setInterval:()=>0,clearInterval:()=>{},requestAnimationFrame:()=>0,cancelAnimationFrame:()=>{},alert:()=>{},confirm:()=>!1,prompt:()=>null,getComputedStyle:()=>({}),matchMedia:()=>({matches:!1,addListener:()=>{},removeListener:()=>{}}),getDateRangeParams:()=>"",stx:{}},K0=new Proxy(e,{get(P,C){if(C in P)return P[C];return},set(P,C,g){return P[C]=g,!0}}),x0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},V0=console;try{let P=RX(Y,Z),C=new Set(Object.keys(z)),g=(o)=>/^[a-z_$][\w$]*$/i.test(o),c=Object.keys(X).filter((o)=>!C.has(o)&&o!=="props"&&g(o)),d=c.map((o)=>X[o]);if(!c.includes("__stxServeContext"))c.push("__stxServeContext"),d.push(void 0);let w0=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"]),N0=[],B1=[];for(let[o,l0]of Object.entries(z)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(o))continue;if(w0.has(o))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${o}\\b`).test(P))continue;N0.push(o),B1.push(l0)}let h0=iK(P).map((o)=>`module.exports.${o} = typeof ${o} !== 'undefined' ? ${o} : module.exports.${o};`).join(`
|
|
2555
|
+
`),e0=X.params??{},l1=[],k1=[];for(let o=0;o<c.length;o++){if(c[o]==="params")continue;l1.push(c[o]),k1.push(d[o])}let z0=await Function(...AX,...N0,...l1,`return (async () => {
|
|
2556
2556
|
${P}
|
|
2557
|
-
${
|
|
2557
|
+
${h0}
|
|
2558
2558
|
return module.exports
|
|
2559
|
-
})()`)(G,Q,K,z,U,B,_,N,H,L,O,F,V,A,R,M,T,
|
|
2559
|
+
})()`)(G,Q,K,z,U,B,_,N,H,L,O,F,V,A,R,M,k,T,D,I,S,b,E,v,x,f,h,p,j,H0,M0,j0,Z0,l,J0,D0,v0,j5,r,K0,x0,V0,e.confirm,e.alert,e.fetch,e0,...B1,...k1);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(LZ(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(FZ(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(b5.env.STX_DEBUG)console.warn(`[stx] server <script> did not execute in ${Z??"<unknown>"} \u2014 falling back to static extraction. Cause: ${C}`);try{await tK(Y,X,Z)}catch(g){if(b5.env.STX_DEBUG){let c=g instanceof Error?g.message:String(g);console.warn(`[stx] fallback extraction also failed in ${Z??"<unknown>"}: ${c}`)}}}}function VZ($){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 RX($,X){let Z=X?P1.dirname(X):b5.cwd(),J=b5.cwd(),Y=$.split(`
|
|
2560
2560
|
`),G=[],Q=0;while(Q<Y.length){let w=Y[Q].trim();if(w.startsWith("interface ")||w.startsWith("export interface ")||w.startsWith("type ")||w.startsWith("export type ")){if(w.includes("{")&&!w.includes("}")){let q=0;for(;Q<Y.length;Q++){for(let W of Y[Q])if(W==="{")q++;else if(W==="}")q--;if(q<=0)break}}Q++;continue}if(w.startsWith("definePageMeta(")){let q=0,W=!1,K=Q;for(let B=Q;B<Y.length&&!W;B++){let j=null,_=!1,H=Y[B];for(let L=0;L<H.length;L++){let O=H[L];if(_){_=!1;continue}if(O==="\\"){_=!0;continue}if(j){if(O===j)j=null;continue}if(O==='"'||O==="'"||O==="`"){j=O;continue}if(O==="(")q++;else if(O===")"){if(q--,q===0){Q=B+1,W=!0;break}}}}if(!W)Q=Y.length;let z=Y.slice(K,Q).join(`
|
|
2561
|
-
`),U=[];for(let B of["title","description"]){let j=new RegExp(`\\b${B}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(z);if(j)U.push(`${B}: ${JSON.stringify(j[2])}`)}if(U.length>0)G.push(`useSeoMeta({ ${U.join(", ")} });`);continue}if(w.startsWith("import ")||w==="import"||w.startsWith("import{")){let q=w,W=0;while(!
|
|
2562
|
-
`+B;if(z<=0&&U>=Q)break}G.push(K),G.push(`module.exports.${W} = ${W};`),Q=U+1}else G.push(w),Q++}else if(w.includes("module.exports"))G.push(w),Q++;else if(w.trim()&&!w.startsWith("//"))G.push(w),Q++;else Q++}return
|
|
2563
|
-
`),Z,J)}function
|
|
2564
|
-
`)w=!1;G++;continue}if(q){if(Y+=K,K==="*"&&z==="/"){Y+=z,G+=2,q=!1;continue}G++;continue}if(!Q&&K==="/"&&z==="/"){w=!0,Y+=K,G++;continue}if(!Q&&K==="/"&&z==="*"){q=!0,Y+=K,G++;continue}if(Q){if(Y+=K,K==="\\"){Y+=z,G+=2;continue}if(K===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"){if(K==="$"&&z==="{"){W++,Y+=z,G+=2;continue}if(K==="`"){Q=null,G++;continue}}G++;continue}if(W>0){if(K==="{")W++;else if(K==="}")W--}if(K==='"'||K==="'"||K==="`"){Q=K,Y+=K,G++;continue}if(K==="a"&&$.startsWith("await",G)){let U=
|
|
2561
|
+
`),U=[];for(let B of["title","description"]){let j=new RegExp(`\\b${B}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(z);if(j)U.push(`${B}: ${JSON.stringify(j[2])}`)}if(U.length>0)G.push(`useSeoMeta({ ${U.join(", ")} });`);continue}if(w.startsWith("import ")||w==="import"||w.startsWith("import{")){let q=w,W=0;while(!VZ(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 P1.resolve(Z,_);if(_.startsWith("~/")||_.startsWith("@/"))return P1.resolve(J,_.slice(2));return _};if(K){let[,_,H]=K,L=j(H);G.push(`const ${_} = (await import('${L}')).default`),G.push(`module.exports.${_} = ${_};`)}else if(z){let[,_,H]=z,L=j(H),O=[],F=[],V=pK.has(H);for(let A of _.split(",")){let R=A.trim();if(!R)continue;let N=R.split(/\s+as\s+/);if(N.length===2){let[M,k]=[N[0].trim(),N[1].trim()];if(V&&zZ.has(M)){G.push(`const ${k} = ${M};`),F.push(k);continue}O.push(`${M}: ${k}`),F.push(k)}else{if(V&&zZ.has(R)){F.push(R);continue}O.push(R),F.push(R)}}if(O.length>0)G.push(`const { ${O.join(", ")} } = await import('${L}')`);for(let A of F)G.push(`module.exports.${A} = ${A};`)}else if(U){let _=j(U[1]);G.push(`await import('${_}')`)}else G.push(B);Q++;continue}if(nK.test(w))G.push(Y[Q]),Q++;else if(w.startsWith("export const ")||w.startsWith("export let ")||w.startsWith("export var ")){let q=jZ(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=VX(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=jZ(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=VX(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=VX(W,Q);if(G.push(K.functionCode),K.name)G.push(`module.exports.default = ${K.name};`);Q=K.nextIndex}else if(w.startsWith("export default ")){let q=w.replace(/^export\s+default\s+/,"").replace(/;$/,"");G.push(`module.exports.default = ${q};`),Q++}else if(w.startsWith("class ")||w.startsWith("export class ")){let q=w.match(/(?:export\s+)?class\s+(\w+)/);if(q){let W=q[1],K=Y[Q].replace(/^export\s+/,""),z=0,U=Q;for(;U<Y.length;U++){let B=Y[U];for(let j of B)if(j==="{")z++;else if(j==="}")z--;if(U>Q)K+=`
|
|
2562
|
+
`+B;if(z<=0&&U>=Q)break}G.push(K),G.push(`module.exports.${W} = ${W};`),Q=U+1}else G.push(w),Q++}else if(w.includes("module.exports"))G.push(w),Q++;else if(w.trim()&&!w.startsWith("//"))G.push(w),Q++;else Q++}return rK(G.join(`
|
|
2563
|
+
`),Z,J)}function rK($,X,Z){let J=$.length,Y="",G=0,Q=null,w=!1,q=!1,W=0;while(G<J){let K=$[G],z=$[G+1];if(w){if(Y+=K,K===`
|
|
2564
|
+
`)w=!1;G++;continue}if(q){if(Y+=K,K==="*"&&z==="/"){Y+=z,G+=2,q=!1;continue}G++;continue}if(!Q&&K==="/"&&z==="/"){w=!0,Y+=K,G++;continue}if(!Q&&K==="/"&&z==="*"){q=!0,Y+=K,G++;continue}if(Q){if(Y+=K,K==="\\"){Y+=z,G+=2;continue}if(K===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"){if(K==="$"&&z==="{"){W++,Y+=z,G+=2;continue}if(K==="`"){Q=null,G++;continue}}G++;continue}if(W>0){if(K==="{")W++;else if(K==="}")W--}if(K==='"'||K==="'"||K==="`"){Q=K,Y+=K,G++;continue}if(K==="a"&&$.startsWith("await",G)){let U=oK($,G);if(U){let{quote:B,path:j,end:_}=U;if(j.startsWith(".")||j.startsWith("~/")||j.startsWith("@/")){let H=j.startsWith(".")?P1.resolve(X,j):P1.resolve(Z,j.slice(2));Y+=`await import(${B}${H}${B})`,G=_;continue}}}Y+=K,G++}return Y}function oK($,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 AZ($,X){let Z=$[X];if(Z!=="{"&&Z!=="[")return null;let Y=b0($,Z,Z==="{"?"}":"]",X);if(Y===-1)return null;return{pattern:$.slice(X,Y+1),endPos:Y+1}}function RZ($){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?AZ(Z,J):null;if(w){X.push(...RZ(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 NZ($){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 UZ($,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 jZ($,X){let Z=$[X].trim(),J=NZ(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=UZ(z,j,_,0),L=z;for(let O=X+1;O<$.length&&H>0;O++)L+=` ${$[O].trim()}`,U=O,H=UZ($[O],j,_,H);if(H>0)L=z,U=X;z=L}let B=AZ(z,0);if(B){let j=K[1],_=B.pattern,H=z.slice(B.endPos).trim();if(H.startsWith("=")){let L=H.slice(1).trim(),O=L,F=Math.max(U,X);if(BZ(L)){let N=_Z($,F,L);O=N.value,F=N.nextIndex}else F=F+1;O=O.trim().replace(/;$/,"");let V=RZ(_),A=`__stx_src_${X}`,R=V.map((N)=>`module.exports.${N} = ${N};`).join(`
|
|
2565
2565
|
`);return{type:j,name:A,value:`${O}; ${j} ${_} = ${A};
|
|
2566
|
-
${R}`,nextIndex:F}}}}throw Error(`Failed to parse variable declaration: ${Z}`)}let[,G,Q,w]=Y,q=w,W=X;if(
|
|
2567
|
-
${$[W]}`,W++;else break}return q=q.trim().replace(/;$/,""),{type:G,name:Q,value:q,nextIndex:W}}function
|
|
2566
|
+
${R}`,nextIndex:F}}}}throw Error(`Failed to parse variable declaration: ${Z}`)}let[,G,Q,w]=Y,q=w,W=X;if(BZ(w)){let K=_Z($,X,w);q=K.value,W=K.nextIndex}else W=X+1;while(W<$.length){let K=$[W].trim();if(K.startsWith(".")||K.startsWith("?."))q+=`
|
|
2567
|
+
${$[W]}`,W++;else break}return q=q.trim().replace(/;$/,""),{type:G,name:Q,value:q,nextIndex:W}}function VX($,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(sK(Z)){let w=aK($,X,G);G=w.functionCode,Q=w.nextIndex}else Q=X+1;return{name:Y,functionCode:G,nextIndex:Q}}function BZ($){let X=$.trim();if(X.startsWith("{"))return b0(X,"{","}",0)===-1;if(X.startsWith("["))return b0(X,"[","]",0)===-1;return!TZ(X)}function TZ($){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 MZ($){let X=$.indexOf("(");if(X===-1)return $.indexOf("{");let Z=b0($,"(",")",X);if(Z===-1)return-1;return $.indexOf("{",Z)}function sK($){let X=MZ($);if(X===-1)return!0;return b0($,"{","}",X)===-1}function _Z($,X,Z){let J=Z,Y=X+1;while(Y<$.length&&!TZ(J)){let G=$[Y];J+=`
|
|
2568
2568
|
${G}`,Y++}while(Y<$.length){let G=$[Y].trim();if(G.startsWith(".")||G.startsWith("?."))J+=`
|
|
2569
|
-
${$[Y]}`,Y++;else break}return{value:J,nextIndex:Y}}function
|
|
2570
|
-
${Q}`,Y++}return{functionCode:J,nextIndex:Y}}function jZ($,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 aK($,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=jZ(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=jZ(q,X);if(W!==void 0)X[Q]=W}catch{}}}function NZ($){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 TZ($){let X=$.trim();if(!X)return!1;return/(?:const|let|var|function)\s+\w+/.test(X)}var HX,qZ,cK,iK;var f7=E(()=>{x7();D1();E0();HX=["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"],qZ=new Set(HX),cK=new Set(["stx","@stacksjs/stx"]);iK=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/});var LX={};t(LX,{renderSlot:()=>kZ,processSlots:()=>EZ,parseSlots:()=>MZ,parseSlotElement:()=>Zz,extractSlotContent:()=>Gz,applySlots:()=>Qz});function tK($,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 $z($,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 Xz($){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=$z($,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=tK($,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)&&!eK.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 MZ($){let X={default:"",named:new Map},Z=$,J=Xz($);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 Zz($){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 kZ($,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=Jz(Y,Q)}return Y}function Jz($,X){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,J)=>{try{let Y=J.trim(),G=IZ(Y,X);return $1(String(G??""))}catch{return`{{ ${J} }}`}})}function IZ($,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 EZ($,X,Z){let J=$;J=await Yz(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]=IZ(L,Z)}return await kZ(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 Yz($,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 Gz($){let X=MZ($);return{defaultSlot:X.default,namedSlots:X.named}}async function Qz($,X,Z,J){return await EZ($,{default:X,named:Z},J)}var eK;var FX=E(()=>{q1();E0();eK=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function v1($,X){let Z=wz($,X);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function wz($,X){let Z=X;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Z};let J=b0($,"(",")",Z);if(J===-1)return{ok:!1,reason:"unclosed-paren",pos:Z};return{ok:!0,expression:$.slice(Z+1,J),endPos:J+1}}function qz($,X){let Z=$.lastIndexOf("<",X);if(Z===-1)return!1;return Z>$.lastIndexOf(">",X)}function e1($,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 DZ($,X){let Z=$.slice(X).match(/^@if\s*/);if(!Z)return null;let J=X+Z[0].length,Y=v1($,J);if(!Y)return null;let G=Y.endPos,Q=e1($,"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(qz(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=v1(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 g7($){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=DZ($,J.index);if(G)X.push(G),Z.lastIndex=G.end;J=Z.exec($)}return X}function u8($,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=b0($,"(",")",q);if(W===-1){G=Y.exec($);continue}let K=$.slice(q+1,W),z=W+1,U=e1($,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 VX($,X){let Z=$.slice(X).match(/^@switch\s*/);if(!Z)return null;let J=X+Z[0].length,Y=v1($,J);if(!Y)return null;let G=Y.endPos,Q=e1($,"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=v1(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 yZ=()=>{};var bZ=()=>{};var d8=E(()=>{yZ();bZ()});async function CZ($){let X=$;if(!X)try{X=(await X1())?.pagesDir||"pages"}catch{X="pages"}let Z=X,J=SZ.get(Z);if(J)return J;let Y=[];try{Y=O7(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{Y=[]}return SZ.set(Z,Y),Y}var SZ;var PZ=E(()=>{u9();L1();SZ=new Map});function Uz($){return $.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function vZ($){return Uz(JSON.stringify($))}function h7($){let X=0,Z,J=AX.map(()=>{return});while(X<$.length){if(Z===void 0||Z!==null&&Z.index<X)xZ.lastIndex=X,Z=xZ.exec($);if(!Z)return null;let Y=Z.index,G=-1,Q=null;for(let q=0;q<AX.length;q++){let W=AX[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 m8($,X){let Z=h7($);if(!Z)return $;return $.slice(0,Z.index)+X(Z.tag,Z.attrs)+$.slice(Z.index+Z.tag.length)}var AX,xZ;var RX=E(()=>{AX=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],xZ=/<body\b([^>]*)>/gi});function NX(){return`
|
|
2569
|
+
${$[Y]}`,Y++;else break}return{value:J,nextIndex:Y}}function aK($,X,Z){let J=Z,Y=X+1;while(Y<$.length){let G=MZ(J);if(G!==-1){if(b0(J,"{","}",G)!==-1)break}let Q=$[Y];J+=`
|
|
2570
|
+
${Q}`,Y++}return{functionCode:J,nextIndex:Y}}function HZ($,X){let Z=G0($,X)??G0(`(${$})`,X);if(Z!==void 0)return Z;if(!/\bprocess\b/.test($))return;let J={...X,process:Object.freeze({env:{...b5.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 tK($,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=HZ(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=HZ(q,X);if(W!==void 0)X[Q]=W}catch{}}}function kZ($){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 IZ($){let X=$.trim();if(!X)return!1;return/(?:const|let|var|function)\s+\w+/.test(X)}var AX,zZ,pK,nK;var f7=y(()=>{x7();D1();I0();AX=["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"],zZ=new Set(AX),pK=new Set(["stx","@stacksjs/stx"]);nK=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/});var NX={};a(NX,{renderSlot:()=>DZ,processSlots:()=>bZ,parseSlots:()=>EZ,parseSlotElement:()=>Jz,extractSlotContent:()=>Qz,applySlots:()=>wz});function eK($,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 Xz($,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 Zz($){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=Xz($,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=eK($,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)&&!$z.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 EZ($){let X={default:"",named:new Map},Z=$,J=Zz($);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 Jz($){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 DZ($,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=Yz(Y,Q)}return Y}function Yz($,X){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,J)=>{try{let Y=J.trim(),G=yZ(Y,X);return X1(String(G??""))}catch{return`{{ ${J} }}`}})}function yZ($,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 bZ($,X,Z){let J=$;J=await Gz(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]=yZ(L,Z)}return await DZ(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 Gz($,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 Qz($){let X=EZ($);return{defaultSlot:X.default,namedSlots:X.named}}async function wz($,X,Z,J){return await bZ($,{default:X,named:Z},J)}var $z;var TX=y(()=>{W1();I0();$z=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function v1($,X){let Z=qz($,X);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function qz($,X){let Z=X;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Z};let J=b0($,"(",")",Z);if(J===-1)return{ok:!1,reason:"unclosed-paren",pos:Z};return{ok:!0,expression:$.slice(Z+1,J),endPos:J+1}}function Wz($,X){let Z=$.lastIndexOf("<",X);if(Z===-1)return!1;return Z>$.lastIndexOf(">",X)}function e1($,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 SZ($,X){let Z=$.slice(X).match(/^@if\s*/);if(!Z)return null;let J=X+Z[0].length,Y=v1($,J);if(!Y)return null;let G=Y.endPos,Q=e1($,"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(Wz(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=v1(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 g7($){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=SZ($,J.index);if(G)X.push(G),Z.lastIndex=G.end;J=Z.exec($)}return X}function d8($,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=b0($,"(",")",q);if(W===-1){G=Y.exec($);continue}let K=$.slice(q+1,W),z=W+1,U=e1($,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 MX($,X){let Z=$.slice(X).match(/^@switch\s*/);if(!Z)return null;let J=X+Z[0].length,Y=v1($,J);if(!Y)return null;let G=Y.endPos,Q=e1($,"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=v1(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 CZ=()=>{};var PZ=()=>{};var m8=y(()=>{CZ();PZ()});async function xZ($){let X=$;if(!X)try{X=(await Z1())?.pagesDir||"pages"}catch{X="pages"}let Z=X,J=vZ.get(Z);if(J)return J;let Y=[];try{Y=L7(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{Y=[]}return vZ.set(Z,Y),Y}var vZ;var fZ=y(()=>{m9();F1();vZ=new Map});function jz($){return $.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function gZ($){return jz(JSON.stringify($))}function h7($){let X=0,Z,J=kX.map(()=>{return});while(X<$.length){if(Z===void 0||Z!==null&&Z.index<X)hZ.lastIndex=X,Z=hZ.exec($);if(!Z)return null;let Y=Z.index,G=-1,Q=null;for(let q=0;q<kX.length;q++){let W=kX[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 c8($,X){let Z=h7($);if(!Z)return $;return $.slice(0,Z.index)+X(Z.tag,Z.attrs)+$.slice(Z.index+Z.tag.length)}var kX,hZ;var IX=y(()=>{kX=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],hZ=/<body\b([^>]*)>/gi});function EX(){return`
|
|
2571
2571
|
(function(){
|
|
2572
2572
|
var tip=null,hideTimer=null,currentEl=null;
|
|
2573
2573
|
|
|
@@ -2670,7 +2670,7 @@ document.addEventListener("focusout",function(e){
|
|
|
2670
2670
|
if(el) hideTip();
|
|
2671
2671
|
});
|
|
2672
2672
|
})();
|
|
2673
|
-
`}function
|
|
2673
|
+
`}function yX(){return $5}function bX($){let X=$5;return uZ.push($),$5=$,X}function SX($){uZ.pop(),$5=$}function CX(){return l8>0}function PX($){DX.add($)}function dZ($){l8++;try{$()}finally{if(l8--,l8===0){let X=[...DX];DX.clear();for(let Z of X)Z()}}}function mZ($){let X=$5;$5=null;try{return $()}finally{$5=X}}var $5=null,uZ,l8=0,DX;var cZ=y(()=>{uZ=[],DX=new Set});function x1($){let X=$,Z=new Set,J=new Set,Y=()=>{let G=yX();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)),CX())J.forEach((w)=>PX(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 i8($){let X,Z=!0,J=new Set,Y=()=>{if(!Z)if(Z=!0,CX())J.forEach((Q)=>PX(Q));else J.forEach((Q)=>Q())},G=()=>{let Q=yX();if(Q)J.add(Q);if(Z){let w=bX(Y);try{X=$()}finally{SX(w)}Z=!1}return X};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function n8($,X={}){let Z,J=!1,Y=()=>{if(J)return;if(Z)Z(),Z=void 0;let G=bX(Y);try{let Q=$();Z=typeof Q==="function"?Q:void 0}finally{SX(G)}};if(X.immediate!==!1)Y();return()=>{if(J=!0,Z)Z()}}function xX($){dZ($)}function fX($){vX.push($)}function gX($){p8.push($)}function Bz(){lZ(vX,"onMount",p8)}function _z(){lZ(p8,"onDestroy")}function lZ($,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 Hz(){return{mount:vX.length,destroy:p8.length}}function r8($){return typeof $==="function"&&$._isSignal===!0}function o8($){return typeof $==="function"&&$._isDerived===!0}function hX($){if(r8($)||o8($))return $();return $}function s8($){return mZ($)}function Oz($,X){let Z=typeof $==="function"?$:()=>$,J=x1([]),Y=i8(()=>J().reduce((w,q)=>X(w,q.action),Z())),G=!1;return n8(()=>{if(Z(),!G){G=!0;return}if(s8(()=>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 vX,p8;var a8=y(()=>{cZ();vX=[],p8=[]});var iZ={};a(iZ,{useOptimistic:()=>Oz,untrack:()=>hX,state:()=>x1,runMountCallbacks:()=>Bz,runDestroyCallbacks:()=>_z,pendingLifecycleCounts:()=>Hz,peek:()=>s8,onMount:()=>fX,onDestroy:()=>gX,isSignal:()=>r8,isDerived:()=>o8,generateSignalsRuntimeDev:()=>uX,generateSignalsRuntime:()=>pZ,effect:()=>n8,derived:()=>i8,default:()=>Fz,batch:()=>xX});function pZ(){let $=Lz(uX());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 Lz($){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 uX(){return`
|
|
2674
2674
|
// STX Signals Runtime (Development Build)
|
|
2675
2675
|
console.log('[stx] signals runtime loading');
|
|
2676
2676
|
// Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
|
|
@@ -5276,7 +5276,7 @@ catch (e2) {
|
|
|
5276
5276
|
// :attr still works for backward compat but is reserved for structural directives.
|
|
5277
5277
|
// x-text, x-html, x-model, x-show, x-if, x-for, x-cloak, x-ref, x-data are
|
|
5278
5278
|
// handled by their own code paths below \u2014 exclude them here.
|
|
5279
|
-
var X_HANDLED = ${
|
|
5279
|
+
var X_HANDLED = ${K2()};
|
|
5280
5280
|
if (name.startsWith('@bind:') || name.startsWith('x-bind:')
|
|
5281
5281
|
|| (name.startsWith(':') && !name.startsWith('::') && !DIRECTIVE_NAMES[name.slice(1).split('.')[0]] && !EVENT_RE.test(name.slice(1)))
|
|
5282
5282
|
|| (name.startsWith('x-') && !X_HANDLED[name.split('.')[0]] && !X_HANDLED[name])) {
|
|
@@ -10636,22 +10636,22 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
10636
10636
|
}
|
|
10637
10637
|
}
|
|
10638
10638
|
})();
|
|
10639
|
-
`}var
|
|
10639
|
+
`}var Fz;var nZ=y(()=>{a8();$1();a8();Fz={state:x1,derived:i8,effect:n8,batch:xX,onMount:fX,onDestroy:gX,isSignal:r8,isDerived:o8,untrack:hX,peek:s8,generateSignalsRuntime:pZ,generateSignalsRuntimeDev:uX}});var dX={};a(dX,{templateCache:()=>rZ,readFileCached:()=>Vz,invalidateFileCacheByDir:()=>Rz,invalidateFileCache:()=>Az,hashFilePath:()=>u7,getCachedSignalsRuntime:()=>Mz,getCachedRouterScript:()=>kz,clearDevCaches:()=>Iz,checkCache:()=>Ez,cacheTemplate:()=>Dz,__setSignalsGeneratorsForTest:()=>Tz});import f1 from"fs";import S5 from"path";async function Vz($){let Z;for(let J=0;J<3;J++)try{let G=(await f1.promises.stat($)).mtime.getTime(),Q=X5.get($);if(Q&&Q.mtime===G)return Q.content;let w=await Bun.file($).text(),W=(await f1.promises.stat($)).mtime.getTime();if(W!==G)continue;return X5.set($,{content:w,mtime:W}),w}catch(Y){Z=Y;break}throw X5.delete($),Error(`File not found: ${$}${Z?` (${Z.message})`:""}`)}function Az($){X5.delete($)}function Rz($){for(let X of X5.keys())if(X.startsWith($))X5.delete(X)}function Tz($){oZ=$}async function Mz($=!1){let X=oZ??await Promise.resolve().then(() => (nZ(),iZ));if($)return X.generateSignalsRuntimeDev();if(t8===null)t8=X.generateSignalsRuntime();return t8}async function kz(){if(e8===null){let{getRouterScript:$}=await Promise.resolve().then(() => (I1(),S6));e8=$()}return e8}function Iz(){X5.clear(),aZ(),t8=null,Nz=null,e8=null}function sZ($){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 Ez($,X){try{if(!X.cachePath)return null;let Z=S5.resolve(X.cachePath),J=S5.join(Z,`${u7($)}.html`),Y=S5.join(Z,`${u7($)}.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!==sZ(X))return null;if((await f1.promises.stat($)).mtime.getTime()>Q.mtime)return null;for(let q of Q.dependencies)if(await n(q)){if((await f1.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 Dz($,X,Z,J){try{if(!J.cachePath)return;let Y=S5.resolve(J.cachePath);await f1.promises.mkdir(Y,{recursive:!0});let G=S5.join(Y,`${u7($)}.html`),Q=S5.join(Y,`${u7($)}.meta.json`),w=await f1.promises.stat($);await Bun.write(G,X);let q={sourcePath:$,mtime:w.mtime.getTime(),dependencies:Array.from(Z),cacheVersion:J.cacheVersion,optionsSignature:sZ(J),generatedAt:Date.now()};await Bun.write(Q,JSON.stringify(q,null,2)),rZ.set($,{output:X,mtime:w.mtime.getTime(),dependencies:Z})}catch(Y){console.warn(`Failed to cache template ${$}:`,Y)}}function u7($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,yz)}var rZ,X5,t8=null,Nz=null,oZ=null,e8=null,yz=16;var mX=y(()=>{y0();rZ=new Map,X5=new Map});function tZ($){return $.includes("data-stx-runtime")}function eZ($){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 cX($,X){let Z=$.indexOf("<script"),J=$.search(/<!doctype\b/i);if(Z!==-1&&(J===-1||Z>J))return $.slice(0,Z)+X+`
|
|
10640
10640
|
`+$.slice(Z);let Y=/<head\b[^>]*>/i.exec($);if(Y){let Q=Y.index+Y[0].length;return`${$.slice(0,Q)}
|
|
10641
10641
|
${X}${$.slice(Q)}`}if($.includes("</head>")){let Q=$.indexOf("</head>");return $.slice(0,Q)+X+`
|
|
10642
|
-
`+$.slice(Q)}if(h7($))return
|
|
10642
|
+
`+$.slice(Q)}if(h7($))return c8($,(Q)=>`${Q}
|
|
10643
10643
|
${X}`);return`${X}
|
|
10644
|
-
${$}`}async function
|
|
10644
|
+
${$}`}async function $$($,X){if($.includes("data-stx-runtime")||$.includes("window.stx.state")||$.includes("STX Signals Runtime"))return $;if(X.buildMode==="serve")return cX($,'<script data-stx-runtime src="/_stx/runtime.js"></script>');if(X.buildMode==="compile")return cX($,'<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>');let{getCachedSignalsRuntime:Z}=await Promise.resolve().then(() => (mX(),dX)),J=await Z(X.debug);return cX($,`<script data-stx-scoped data-stx-runtime>${J}</script>`)}function bz($){return/<[a-z][^>]*?\sx-tooltip\s*=/i.test($)}function $J($){if($.includes("data-stx-tooltip-runtime")||!bz($))return $;let X=`<script data-stx-scoped data-stx-tooltip-runtime>${EX()}</script>`,Z=$.lastIndexOf("</body>");if(Z===-1)return`${$}
|
|
10645
10645
|
${X}`;return`${$.slice(0,Z)}${X}
|
|
10646
|
-
${$.slice(Z)}`}async function
|
|
10647
|
-
`}let{getCachedRouterScript:Y}=await Promise.resolve().then(() => (
|
|
10648
|
-
</body>`+$.slice(Q+7)}var
|
|
10649
|
-
`)}else{if(
|
|
10646
|
+
${$.slice(Z)}`}async function lX($,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 xZ(X?.pagesDir);if(q.length>0)w.ownedRoutes=q}catch{}if(Object.keys(w).length>0)J=`<script>window.__stxRouterConfig=${gZ(w)};</script>
|
|
10647
|
+
`}let{getCachedRouterScript:Y}=await Promise.resolve().then(() => (mX(),dX)),G=X?.buildMode==="compile"?'<script data-stx-router src="/__stx/router.__STX_HASH__.js"></script>':X?.buildMode==="serve"?'<script data-stx-router src="/_stx/router.js"></script>':`<script data-stx-router>${await Y()}</script>`,Q=$.lastIndexOf("</body>");return $.slice(0,Q)+J+G+`
|
|
10648
|
+
</body>`+$.slice(Q+7)}var X$=y(()=>{fZ();IX()});var Q$={};a(Q$,{scanScriptTags:()=>QJ,rewriteStxImportSpecifiers:()=>KJ,processSignals:()=>sX,processScriptSetup:()=>qJ,preEvalLiteralReactiveIfs:()=>rX,parseLoopExpression:()=>iX,hasSignalsSyntax:()=>G$,findMarkupIndexOutsideScripts:()=>J$,extractExports:()=>WJ,convertSignalLoopsToAttributes:()=>oX,convertSignalDirectivesToAttributes:()=>nX});function QJ($,X={}){let Z=[];for(let J of P8($,y1)){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 iX($){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}=XJ(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}=XJ(Y);if(Q)return{style:"in",iterable:G,itemVar:Q,indexVar:w}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function XJ($){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 G$($){return Q2($)}function Cz($){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 Pz($){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 vz($){if(!/[:@]for\s*=/.test($)&&!/\bx-for\s*=/.test($))return[];let X=new RegExp(`<([a-zA-Z][\\w-]*)\\b(${pX})>`,"iy"),Z=/(?:^|\s)(?::for|@for|x-for)\s*=\s*(?:"([^"]*)"|'([^']*)')/i,J=P8($,(G,Q)=>{X.lastIndex=Q;let w=X.exec(G);if(!w||w.index!==Q||!Z.test(w[2]))return-1;return X.lastIndex}),Y=[];for(let G of J){X.lastIndex=0;let Q=X.exec(G.token);if(!Q)continue;let w=Q[2].match(Z),q=iX(w?.[1]??w?.[2]??""),W=[q.itemVar,q.indexVar].filter(Boolean);if(W.length===0)continue;let K=Q[1],U=/\/\s*>$/.test(G.token)||Y$.has(K.toLowerCase())?G.end:wJ($,G.start,K,G.end);if(U!==-1)Y.push({start:G.start,end:U,vars:new Set(W)})}return Y}function xz($){return $.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function JJ($,X,Z,J){if(!$)return!1;let Y=xz($),G=!1,Q=!1,w=!1,q=/([a-zA-Z_$][\w$]*)/g,W;while((W=q.exec(Y))!==null){let B=W[1];if(Y.slice(0,W.index).trimEnd().endsWith("."))continue;if(ZJ.has(B))continue;if(X.has(B)||J?.has(B))G=!0;else if(Z&&B in Z)Q=!0}let K=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,z;while((z=K.exec(Y))!==null){let B=z[1];if(Y.slice(0,z.index).trimEnd().endsWith("."))continue;if(ZJ.has(B)||Z&&B in Z)continue;w=!0}return(G||w)&&!Q}function Z$($,X,Z){let J=Z===void 0?` ${X}`:` ${X}="${Z.replace(/"/g,""")}"`,Y=$.trim(),G=Y.match(GJ);if(G&&fz(G[3],G[1])){let[,Q,w,q]=G;return`<${Q}${w}${J}>${q}</${Q}>`}return`<template${J}>${Y}</template>`}function fz($,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 nX($,X){let Z=Pz($);function J(Y){let G=Y,Q=vz(Y),w=(z)=>{let U=new Set;for(let B of Q)if(z>B.start&&z<B.end)for(let j of B.vars)U.add(j);return U},q=/@if\s*\(/g,W,K=[];while((W=q.exec(G))!==null){let z=W.index,U=z+W[0].length,B=1,j=U;while(j<G.length&&B>0){if(G[j]==="(")B++;else if(G[j]===")")B--;j++}if(B!==0)continue;let _=G.substring(U,j-1).trim(),H=j,L=1,O=H,F=/@(if\s*\(|endif)/g;F.lastIndex=H;let V;while((V=F.exec(G))!==null)if(V[1].startsWith("if"))L++;else if(V[1]==="endif"){if(L--,L===0){O=V.index+V[0].length;break}}if(L!==0)continue;let A=G.substring(H,O-6).trim(),R;if(Cz(A)){let N=g7(G.substring(z,O));if(N.length===0)continue;let M=N[0].branches.filter((I)=>I.type!=="else"),k=w(z);if(!(M.length>0&&M.every((I)=>JJ(I.condition,Z,X,k))))continue;R=N[0].branches.map((I)=>{let S=J(I.content);if(I.type==="elseif")return Z$(S,"@else-if",I.condition??"");if(I.type==="else")return Z$(S,"@else");return Z$(S,"@if",I.condition??"")}).join(`
|
|
10649
|
+
`)}else{if(!JJ(_,Z,X,w(z)))continue;R=Z$(J(A),"@if",_)}K.push({start:z,end:O,replacement:R}),q.lastIndex=O}for(let z=K.length-1;z>=0;z--){let{start:U,end:B,replacement:j}=K[z];G=G.substring(0,U)+j+G.substring(B)}return G}return J($)}function gz($){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 wJ($,X,Z,J){if(Y$.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)||Y$.has(Y)))w++}q=U+1}return-1}function uz($,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 hz.test(G)}function rX($){if(!$.includes(":if")&&!$.includes(":show")&&!$.includes("x-if")&&!$.includes("x-show")&&!$.includes("@if=")&&!$.includes("@show="))return $;let X=[],Z=/<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi,J;while((J=Z.exec($))!==null)X.push([J.index,J.index+J[0].length]);let Y=(z)=>X.some(([U,B])=>z>=U&&z<B),G=/<([a-zA-Z][\w-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*?)\s+(:if|:show|x-if|x-show|@if|@show)\s*=\s*"([^"]*)"((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)(\/?)>/g,Q=[],w;while((w=G.exec($))!==null){if(Y(w.index))continue;let[z,U,B,j,_,H,L]=w,O=gz(_);if(O===void 0)continue;let F=w.index,V=F+z.length,N=!!L||/\/\s*>$/.test(z)||Y$.has(U.toLowerCase())?V:wJ($,F,U,V);if(N===-1)continue;if((j===":if"||j==="x-if"||j==="@if")&&uz($,N)){G.lastIndex=V;continue}if(O===!0){let k=`<${U}${B}${H}${L}>`;Q.push({start:F,end:V,replacement:k});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 oX($,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=iX(U),_=w==="for"?"@endfor":"@endforeach",H=1,L=B,O=w==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${w}\\s*\\(|end${w})`,"g");O.lastIndex=B;let F;while((F=O.exec(Z))!==null)if(F[1].startsWith(w))H++;else if(H--,H===0){L=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:L,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 k=M.split(/[.[(]/)[0].trim(),T=X?k in X:!1,D=Q.some((I)=>q>I.start&&q<I.end&&I.vars.includes(k));if(k&&(T||D)){V();continue}}if(j.style==="as")U=j.indexVar?`(${j.itemVar}, ${j.indexVar}) in ${j.iterable}`:`${j.itemVar} in ${j.iterable}`;let A=Z.substring(B,L-_.length).trim(),R=A.match(GJ),N;if(R){let[,M,k,T]=R;N=`<${M}${k} @for="${U}">${T}</${M}>`}else N=`<template @for="${U}">${A}</template>`;G.push({start:q,end:L,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 dz($){let X=new Set,Z=[],J=0,Y=0,G=$.length,Q=(K)=>{let z=J+1;while(z<G){let U=$[z];if(U==="\\"){z+=2;continue}if(U===K)return z+1;z++}return G},w=()=>{let K=J+2;while(K<G&&$[K]!==`
|
|
10650
10650
|
`)K++;return K},q=()=>{let K=J+2;while(K<G-1){if($[K]==="*"&&$[K+1]==="/")return K+2;K++}return G},W=(K)=>{let z=K,U=0;while(z<G){let B=$[z];if(B==="/"&&$[z+1]==="/"){let j=z+2;while(j<G&&$[j]!==`
|
|
10651
|
-
`)j++;z=j;continue}if(B==="/"&&$[z+1]==="*"){let j=z+2;while(j<G-1&&!($[j]==="*"&&$[j+1]==="/"))j++;z=j+2;continue}if(B==='"'||B==="'"||B==="`"){let j=z+1;while(j<G){if($[j]==="\\"){j+=2;continue}if($[j]===B){j++;break}j++}z=j;continue}if(B==="("||B==="["||B==="{"){U++,z++;continue}if(B===")"||B==="]"||B==="}"){U--,z++;continue}if(B===";"&&U===0)return z+1;z++}return G};while(J<G){let K=$[J];if(K==="/"&&$[J+1]==="/"){let z=w();Z.push($.slice(J,z)),J=z;continue}if(K==="/"&&$[J+1]==="*"){let z=q();Z.push($.slice(J,z)),J=z;continue}if(K==='"'||K==="'"||K==="`"){let z=Q(K);Z.push($.slice(J,z)),J=z;continue}if(K==="{"){Y++,Z.push(K),J++;continue}if(K==="}"){Y--,Z.push(K),J++;continue}if(Y===0){let z=J>0?$[J-1]:"";if(z===""||/\s/.test(z)||z===";"||z==="}"||z==="{"){let B=$.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let j=B[2],_=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
|
|
10651
|
+
`)j++;z=j;continue}if(B==="/"&&$[z+1]==="*"){let j=z+2;while(j<G-1&&!($[j]==="*"&&$[j+1]==="/"))j++;z=j+2;continue}if(B==='"'||B==="'"||B==="`"){let j=z+1;while(j<G){if($[j]==="\\"){j+=2;continue}if($[j]===B){j++;break}j++}z=j;continue}if(B==="("||B==="["||B==="{"){U++,z++;continue}if(B===")"||B==="]"||B==="}"){U--,z++;continue}if(B===";"&&U===0)return z+1;z++}return G};while(J<G){let K=$[J];if(K==="/"&&$[J+1]==="/"){let z=w();Z.push($.slice(J,z)),J=z;continue}if(K==="/"&&$[J+1]==="*"){let z=q();Z.push($.slice(J,z)),J=z;continue}if(K==='"'||K==="'"||K==="`"){let z=Q(K);Z.push($.slice(J,z)),J=z;continue}if(K==="{"){Y++,Z.push(K),J++;continue}if(K==="}"){Y--,Z.push(K),J++;continue}if(Y===0){let z=J>0?$[J-1]:"";if(z===""||/\s/.test(z)||z===";"||z==="}"||z==="{"){let B=$.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let j=B[2],_=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 qJ($,X,Z){let J=QJ($,{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 L=H.body;if(n1(H.attrs))L=r1(L);if(Y.test(L))G.push({fullMatch:H.fullMatch,attrs:H.attrs,content:L})}if(G.length===0)return{output:$,setupCode:null};let Q=`__stx_setup_${Date.now()}_${Sz++}`,{hasUserImports:w,bundleClientScript:q}=await t("stx/client-script-bundler",()=>Promise.resolve().then(() => (T5(),M7))),W=[];for(let H=0;H<G.length;H++){let L=G[H].content;if(L=M5(L).code,w(L))L=await q(L,X||"",{projectRoot:process.cwd()});L=L.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(F,V)=>KJ(V));let O=p0(L);W.push(`// \u2500\u2500 merged signal script #${H+1} \u2500\u2500
|
|
10652
10652
|
${O}`)}let K=W.join(`
|
|
10653
10653
|
|
|
10654
|
-
`);K=
|
|
10654
|
+
`);K=dz(K);let z=WJ(K),U=z.split(",").map((H)=>H.trim()).filter(Boolean),B=D8(K,Z),j=`
|
|
10655
10655
|
<script data-stx-scoped>
|
|
10656
10656
|
function ${Q}() {
|
|
10657
10657
|
${R5("const",U)}
|
|
@@ -10660,18 +10660,18 @@ ${N5(`${B}${K}`)}
|
|
|
10660
10660
|
}
|
|
10661
10661
|
window.__stx_latestSetup=${Q};
|
|
10662
10662
|
if(window.stx)window.stx._latestSetup=${Q};
|
|
10663
|
-
</script>`,_=$;for(let H of G)_=_.split(H.fullMatch).join("");if(_.includes("<body"))_=_.replace(new RegExp(`<body(${
|
|
10663
|
+
</script>`,_=$;for(let H of G)_=_.split(H.fullMatch).join("");if(_.includes("<body"))_=_.replace(new RegExp(`<body(${pX})>`),`<body$1 data-stx="${Q}">`);else{let H=["script","style","html","head","meta","link","title","!doctype"],L=!1;_=_.replace(new RegExp(`<([a-zA-Z][a-zA-Z0-9-]*)\\b(${pX})>`,"gi"),(O,F,V)=>{if(L||H.includes(F.toLowerCase()))return O;return L=!0,`<${F}${V} data-stx="${Q}">`})}return{output:_,setupCode:j}}function WJ($){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(_===`
|
|
10664
10664
|
`)return;G++}},W=()=>{if(!w)return!0;if(/[\w)\]]/.test(w))return!1;return!0},K=(j)=>{G++;while(G<Q){if(X[G]==="\\"){G+=2;continue}if(X[G]===j){G++;return}G++}},z=()=>{G++;while(G<Q){if(X[G]==="\\"){G+=2;continue}if(X[G]==="`"){G++;return}if(X[G]==="$"&&X[G+1]==="{"){G+=2;let j=1;while(G<Q&&j>0)if(X[G]==="{")j++,G++;else if(X[G]==="}")j--,G++;else if(X[G]==="'"||X[G]==='"')K(X[G]);else if(X[G]==="`")z();else G++;continue}G++}},U=()=>{if(X[G]==="/"&&X[G+1]==="/"){while(G<Q&&X[G]!==`
|
|
10665
|
-
`)G++;return!0}if(X[G]==="/"&&X[G+1]==="*"){G+=2;while(G<Q-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;return G+=2,!0}return!1},B=()=>{if(Y!==0)return;let j=X.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*(?:[!:;,\n]|=(?!=)|$)/);if(j){let F=j[2];if(!J.has(F))Z.push(F),J.add(F);return}let _=X.slice(G).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(_){_[1].split(",").forEach((F)=>{let V=F.trim();if(!V)return;let A=V.indexOf(":"),N=(A>=0?V.slice(A+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 A=V.split(/[\s=]/)[0];if(A&&!J.has(A))Z.push(A),J.add(A)});return}let L=X.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(L){let F=L[1];if(!J.has(F))Z.push(F),J.add(F);return}let O=X.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let F=O[1];if(!J.has(F))Z.push(F),J.add(F)}};while(G<Q){if(U())continue;if(X[G]==="'"||X[G]==='"'){K(X[G]),w=X[G-1];continue}if(X[G]==="`"){z(),w="`";continue}if(X[G]==="/"&&X[G+1]!=="/"&&X[G+1]!=="*"&&W()){q(),w="/";continue}if(X[G]==="{"){Y++,w="{",G++;continue}if(X[G]==="}"){Y--,w="}",G++;continue}if(Y===0&&/[a-z]/i.test(X[G])&&(G===0||/\s|[;{}()]/.test(X[G-1])))B();if(!/\s/.test(X[G]))w=X[G];G++}return Z.join(", ")}async function
|
|
10665
|
+
`)G++;return!0}if(X[G]==="/"&&X[G+1]==="*"){G+=2;while(G<Q-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;return G+=2,!0}return!1},B=()=>{if(Y!==0)return;let j=X.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*(?:[!:;,\n]|=(?!=)|$)/);if(j){let F=j[2];if(!J.has(F))Z.push(F),J.add(F);return}let _=X.slice(G).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(_){_[1].split(",").forEach((F)=>{let V=F.trim();if(!V)return;let A=V.indexOf(":"),N=(A>=0?V.slice(A+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 A=V.split(/[\s=]/)[0];if(A&&!J.has(A))Z.push(A),J.add(A)});return}let L=X.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(L){let F=L[1];if(!J.has(F))Z.push(F),J.add(F);return}let O=X.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let F=O[1];if(!J.has(F))Z.push(F),J.add(F)}};while(G<Q){if(U())continue;if(X[G]==="'"||X[G]==='"'){K(X[G]),w=X[G-1];continue}if(X[G]==="`"){z(),w="`";continue}if(X[G]==="/"&&X[G+1]!=="/"&&X[G+1]!=="*"&&W()){q(),w="/";continue}if(X[G]==="{"){Y++,w="{",G++;continue}if(X[G]==="}"){Y--,w="}",G++;continue}if(Y===0&&/[a-z]/i.test(X[G])&&(G===0||/\s|[;{}()]/.test(X[G-1])))B();if(!/\s/.test(X[G]))w=X[G];G++}return Z.join(", ")}async function sX($,X,Z,J){if(!G$($))return $;let Y=$;if(X.skipSignalsRuntime)return Y;let{output:G,setupCode:Q}=await qJ(Y,Z,J);if(Y=G,Y=await $$(Y,X),Q){let K=J$(Y,/<\/head>/i),z=K===-1?J$(Y,/<body[^>]*>/i):-1;if(K!==-1)Y=`${Y.slice(0,K)}${Q}
|
|
10666
10666
|
${Y.slice(K)}`;else if(z!==-1){let U=/<body[^>]*>/i.exec(Y.slice(z))[0],B=z+U.length;Y=`${Y.slice(0,B)}
|
|
10667
10667
|
${Q}${Y.slice(B)}`}else Y=`${Y}
|
|
10668
|
-
${Q}`}let q=Y.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),W=q&&/data-stx/.test(q[1]);if(!Q&&!W&&q&&!/data-stx-auto/.test(q[1])){let K=/<body[^>]*>/i,z=
|
|
10669
|
-
`)Y++;return!0}if($[Y]==="/"&&$[Y+1]==="*"){Y+=2;while(Y<G-1&&!($[Y]==="*"&&$[Y+1]==="/"))Y++;return Y+=2,!0}return!1},W=()=>{if(J!==0)return;let K=$.slice(Y).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(K){let j=K[2].split(",").map((_)=>{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
|
|
10668
|
+
${Q}`}let q=Y.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),W=q&&/data-stx/.test(q[1]);if(!Q&&!W&&q&&!/data-stx-auto/.test(q[1])){let K=/<body[^>]*>/i,z=J$(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 J$($,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 KJ($){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 YJ;return`var ${X.join(", ")}; ${YJ}`}var Sz=0,pX=`(?:"[^"]*"|'[^']*'|[^>"'])*`,GJ,ZJ,Y$,hz,YJ="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var d7=y(()=>{y7();m8();$1();XX();y0();X$();o1();T7();GJ=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;ZJ=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"]);Y$=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);hz=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import mz from"fs";import u from"path";function lz($){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 zJ($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function pz($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function n1($){return!pz($)}function iz($){let X;try{X=JSON.stringify($)}catch{return new Bun.Transpiler($)}let Z=w$.get(X);if(Z)return Z;if(w$.size>=16)w$.clear();let J=new Bun.Transpiler($);return w$.set(X,J),J}function r1($){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=iz({loader:"ts",target:"browser",define:u0()}).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 nz($){let X=[],Z=new Set,J=0,Y=0,G=$.length,Q=(K)=>{Y++;while(Y<G){if($[Y]==="\\"){Y+=2;continue}if($[Y]===K){Y++;return}Y++}},w=()=>{Y++;while(Y<G){if($[Y]==="\\"){Y+=2;continue}if($[Y]==="`"){Y++;return}if($[Y]==="$"&&$[Y+1]==="{"){Y+=2;let K=1;while(Y<G&&K>0)if($[Y]==="{")K++,Y++;else if($[Y]==="}")K--,Y++;else if($[Y]==="'"||$[Y]==='"')Q($[Y]);else if($[Y]==="`")w();else Y++;continue}Y++}},q=()=>{if($[Y]==="/"&&$[Y+1]==="/"){while(Y<G&&$[Y]!==`
|
|
10669
|
+
`)Y++;return!0}if($[Y]==="/"&&$[Y+1]==="*"){Y+=2;while(Y<G-1&&!($[Y]==="*"&&$[Y+1]==="/"))Y++;return Y+=2,!0}return!1},W=()=>{if(J!==0)return;let K=$.slice(Y).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(K){let j=K[2].split(",").map((_)=>{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 rz($){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 oz($){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 sz($,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 rz(w)){let W=q.trim();if(!W||W.startsWith("..."))continue;let K=oz(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 K$($,X,Z,J,Y){let G=$.endsWith(".stx")?$.slice(0,-4):$,Q=(H)=>H.split("-").map((L)=>L.charAt(0).toUpperCase()+L.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"?u.resolve(Y.root):void 0,z=K??u.dirname(J),U=[],B=(H)=>{if(H&&!U.includes(H))U.push(H)},j=Z.__originalFilePath;if(j)B(u.join(u.dirname(j),"components"));B(X),B(Y._rootComponentsDir),B(u.join(u.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(u.resolve(K,"resources/views/components")),B(u.resolve(K,"resources/components")),B(u.resolve(K,"src/components")),B(u.resolve(K,"components"));if(G.startsWith("./")||G.startsWith("../"))return n(u.resolve(u.dirname(J),`${G}.stx`));for(let H of U){let L=u.isAbsolute(H)?H:u.resolve(z,H);for(let O of W)if(await n(u.join(L,O)))return!0}return!1}function az($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}function tz($){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 ez($){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 Z5($,X,Z,J,Y,G,Q,w=new Set,q){let{extractVariables:W}=await t("stx/variable-extractor",()=>Promise.resolve().then(() => (f7(),u8))),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"&&az(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):$,L=null,O=Y.__importedComponents;if(O){let C=[H,H.toLowerCase(),j(H),_(H)];for(let g of C)if(O.has(g)){L=O.get(g);break}}let F=[];if(!L){let C=[`${H}.stx`,`${j(H)}.stx`,`${_(H)}.stx`],g=[...new Set(C)],c=Y.__originalFilePath,d=[];if(c){let z0=u.join(u.dirname(c),"components");d.push(z0)}if(J)d.push(J);let w0=Q._rootComponentsDir;if(typeof w0==="string"&&!d.includes(w0))d.push(w0);let N0=u.join(u.dirname(G),"components");if(!d.includes(N0))d.push(N0);if(Q.componentsDir&&Q.componentsDir!==J&&!d.includes(Q.componentsDir))d.push(Q.componentsDir);let B1=Q._pluginComponentDirs;if(Array.isArray(B1)){for(let z0 of B1)if(typeof z0==="string"&&!d.includes(z0))d.push(z0)}let o0=typeof Q.root==="string"?u.resolve(Q.root):void 0,h0=o0??u.dirname(G),e0=[];if(o0)e0.push(u.resolve(o0,"resources/views/components")),e0.push(u.resolve(o0,"resources/components")),e0.push(u.resolve(o0,"src/components")),e0.push(u.resolve(o0,"components"));e0.push(u.resolve(import.meta.dir,"components"));for(let z0 of e0)if(!d.includes(z0))d.push(z0);let l1=[...new Set(d.map((z0)=>{if(!z0)return z0;return u.isAbsolute(z0)?z0:u.resolve(h0,z0)}))];d.length=0,d.push(...l1);let k1=`${H}\x00${G}\x00${l1.join("\x00")}`,B5=W$.get(k1);if(B5)if(await n(B5))L=B5;else W$.delete(k1);if(!L&&(H.startsWith("./")||H.startsWith("../")))L=u.resolve(u.dirname(G),`${H}.stx`),F.push(L);else if(!L)for(let z0 of d){if(!z0)continue;for(let o of g){let l0=u.join(z0,o);if(F.push(l0),await n(l0)){L=l0;break}}if(L)break;if(!L)try{let o=await import("fs");if(!o.statSync(z0,{throwIfNoEntry:!1})?.isDirectory())continue;let $7=8,_5=[{path:z0,depth:0}];while(_5.length>0&&!L){let _1=_5.pop();if(_1.depth>=$7)continue;let z8;try{z8=o.readdirSync(_1.path,{withFileTypes:!0})}catch{continue}for(let U8 of z8){if(!U8.isDirectory())continue;if(U8.name==="node_modules"||U8.name.startsWith("."))continue;let H6=u.join(_1.path,U8.name);for(let lq of g){let R9=u.join(H6,lq);if(F.push(R9),await n(R9)){L=R9;break}}if(L)break;_5.push({path:H6,depth:_1.depth+1})}}}catch{}if(L)break}if(L)W$.set(k1,L)}if(!L||!await n(L)){let C=F.length>0?`
|
|
10670
10670
|
Searched paths:
|
|
10671
10671
|
${F.map((g)=>` - ${g}`).join(`
|
|
10672
|
-
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${C}`}q.add(L);let V;if(
|
|
10673
|
-
`)}`}if(Z&&
|
|
10674
|
-
${R5("const",[
|
|
10672
|
+
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${C}`}q.add(L);let V;if(q$.has(L))V=q$.get(L);else try{V=await Bun.file(L).text(),q$.set(L,V)}catch(C){return`[Error loading component: ${C instanceof Error?C.message:String(C)}]`}let A=new Set(["__originalFilePath","__importedComponents",y8,"__stx_client_signal_names"]),R={};for(let[C,g]of Object.entries(Y))if(!C.startsWith("__")||A.has(C))R[C]=g;let{extractSlotContent:N}=await t("stx/slots",()=>Promise.resolve().then(() => (TX(),NX))),M=N(Z),k={};if(M.defaultSlot?.trim())k.default=M.defaultSlot;for(let[C,g]of M.namedSlots)k[C]=g.content;let T={...R,...X,props:X,slot:Z,$slots:k,__processedComponents:z,__sections:{},__stx_signals_gate:V1(V)||tz(Z)};sz(V,T);let D=V,I=f8(D);if(I)D=I.content.trim();let S=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,b=[...V.matchAll(S)],E=[],v=b.some((C)=>/\bserver\b/.test(C[1]||"")&&/\bcache\b/.test(C[1]||""))&&b.every((C)=>/\bserver\b/.test(C[1]||"")),x=null,f=null;if(v){let C=lz({props:X,slot:Z,buildMode:Q.buildMode??"",skipEventDirectives:Q.skipEventDirectives===!0});if(C!==null){x=`${L}\x00${C}`;let g=aX.get(x);if(g){for(let c of g.dependencies)q.add(c);return g.output}f=new Set(q)}}for(let C of b){let g=C[1]||"",c=C[2]||"",d=g.includes("server");if(n1(g)&&c.trim())c=r1(c);if(d&&c)try{await W(c,T,L)}catch(N0){}if(!d){let N0=c.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),B1=N0.includes("{{")&&N0.includes("}}"),o0=N0.includes("{!!")&&N0.includes("!!}");if(B1||o0)N0=v8(N0,T);let h0=g.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");E.push(`<script${h0}>${N0}</script>`)}}let h=V.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),p=h?h[1]:"",H0=h?h[2]:"",M0="",j0=p&&/\bscoped\b/i.test(p);if(h)M0=`<style${p}>${H0}</style>`;let Z0=D;if(Z0=Z0.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),h)Z0=Z0.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let C=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,g=[];if(Z0=Z0.replace(C,(c,d)=>{let w0=d.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(w0)g.push(`<style${w0[1]}>${w0[2]}</style>`);return""}),Z0=Z0.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),g.length>0)M0=`${M0}${g.join(`
|
|
10673
|
+
`)}`}if(Z&&Z0.includes("{{ text || slot }}"))Z0=Z0.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Z);let{applySlots:l}=await t("stx/slots",()=>Promise.resolve().then(() => (TX(),NX))),{defaultSlot:J0,namedSlots:D0}=M;Z0=await l(Z0,J0,D0,T);let v0=E.some((C)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(C)),j5=ez(E),r=Array.isArray(T.__stx_client_signal_names)?T.__stx_client_signal_names:[];if(j5.length>0||r.length>0)T.__stx_client_signal_names=[...new Set([...r,...j5])];let e={...Q,_rootComponentsDir:Q._rootComponentsDir||Q.componentsDir,componentsDir:u.dirname(L),skipSignalsRuntime:!0,skipEventDirectives:v0||E.length===0,defaultLayout:void 0};T.__stxProcessingDepth=(Y.__stxProcessingDepth||0)+1;let K0=await F0(Z0,T,L,e,q),x0=new Set(Array.isArray(Y.__stx_preserved_client_expressions)?Y.__stx_preserved_client_expressions:[]);for(let C of K0.matchAll(/\{\{([\s\S]*?)\}\}/g))x0.add(C[1].trim());if(x0.size>0)Y.__stx_preserved_client_expressions=[...x0];let V0=`stx_${H.replace(/[^a-zA-Z0-9]/g,"_")}_${++cz}_${Math.random().toString(36).slice(2,8)}`,P=K0;if(v0){let C="";if(Object.keys(X).length>0)try{C=` data-stx-props="${zJ(JSON.stringify(X))}"`}catch{}let g=B?` stx-hydrate="${zJ(B)}"`:"";P=`<div data-stx-scope="${V0}"${C}${g}>${K0}</div>`;let c=await Promise.all(E.map(async(d)=>{let w0=d.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!w0)return d;let[,N0,B1]=w0,o0=I8(B1,{filePath:L,projectRoot:process.cwd()}),h0=o0.code,e0=E8(o0.styles);h0=M5(h0).code;let{hasUserImports:l1,bundleClientScript:k1}=await t("stx/client-script-bundler",()=>Promise.resolve().then(() => (T5(),M7)));if(l1(h0))h0=await k1(h0,L,{projectRoot:process.cwd(),minify:Q.buildMode==="compile"});let{rewriteStxImportSpecifiers:B5}=await t("stx/signal-processing",()=>Promise.resolve().then(() => (d7(),Q$)));h0=h0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(_1,z8)=>B5(z8));let z0=p0(h0),o=nz(z0),l0=`function(__scopeId) {
|
|
10674
|
+
${R5("const",[...G2,...o],z0)}
|
|
10675
10675
|
const __scope = window.stx._scopes = window.stx._scopes || {};
|
|
10676
10676
|
const __scopeVars = __scope[__scopeId] = __scope[__scopeId] || {};
|
|
10677
10677
|
__scopeVars.$refs = __scopeVars.$refs || {};
|
|
@@ -10690,7 +10690,7 @@ ${z0}
|
|
|
10690
10690
|
// Register all defined signals and functions in this scope
|
|
10691
10691
|
const __localVars = {};
|
|
10692
10692
|
try {
|
|
10693
|
-
${o.map((
|
|
10693
|
+
${o.map((_1)=>`if (typeof ${_1} !== 'undefined') __localVars['${_1}'] = ${_1};`).join(`
|
|
10694
10694
|
`)}
|
|
10695
10695
|
}
|
|
10696
10696
|
catch (e) {}
|
|
@@ -10699,29 +10699,29 @@ catch (e) {}
|
|
|
10699
10699
|
finally {
|
|
10700
10700
|
window.__STX_CURRENT_ELEMENT__ = __previousCurrentElement;
|
|
10701
10701
|
}
|
|
10702
|
-
}
|
|
10703
|
-
`+
|
|
10704
|
-
`),
|
|
10705
|
-
`+
|
|
10706
|
-
`+
|
|
10707
|
-
`+
|
|
10708
|
-
`),
|
|
10702
|
+
}`,$7=B?null:v2(Y,l0),_5=$7?`window.__stxComponentFactories[${JSON.stringify($7)}](${JSON.stringify(V0)});`:`(${l0})(${JSON.stringify(V0)});`;if(B)return`${e0}<script type="stx/island" data-stx-island="${V0}" data-stx-scoped${N0}>${_5}</script>`;return`${e0}<script data-stx-scoped data-stx-run="always"${N0}>${_5}</script>`}));if(P=P+`
|
|
10703
|
+
`+c.join(`
|
|
10704
|
+
`),M0)P+=`
|
|
10705
|
+
`+M0}else{if(M0)P+=`
|
|
10706
|
+
`+M0;if(E.length>0){let C=T.__stx_event_bindings||[],g=E7(T),c=await Promise.all(E.map(async(d)=>{let w0=d.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!w0)return d;return await D7(w0[1],{eventBindings:C,templateContent:P,filePath:L,projectRoot:process.cwd(),serverData:g})}));P+=`
|
|
10707
|
+
`+c.join(`
|
|
10708
|
+
`),T.__stx_event_bindings=[]}}if(j0){let C=x8(P,L);if(C.hasScoped)P=C.html}if(x&&f)aX.set(x,{output:P,dependencies:[...q].filter((C)=>!f.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 tX($,X){let Z=u.resolve(X),J=u.resolve($),Y=Z.endsWith(u.sep)?Z:Z+u.sep;if(J===Z||J.startsWith(Y))return J;return null}async function eX($,X,Z,J){let Y=await $U($,X,Z,J);if(Y===null)return null;let G=tX(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=u.isAbsolute(w)?w:u.resolve(process.cwd(),w);if(tX(Y,q))return u.resolve(Y)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${Y} (template: ${$}, from: ${X})`),null}async function $U($,X,Z,J){if(Z.debug)console.log(`Resolving template path: ${$} from ${X}`);let Y=u.dirname(X),G=process.cwd();if($.startsWith("/")){let U=u.join(G,$),B=tX(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=u.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=u.resolve(Y),W=process.cwd();for(let U=0;U<10;U++){let B=u.join(q,"layouts"),j=!1;try{j=mz.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){w=B;break}let _=u.dirname(q);if(_===q||_.length<W.length)break;q=_}if(w){let U=$.startsWith("layouts/")?$.slice(8):$,B=u.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=u.isAbsolute(Z.layoutsDir)?Z.layoutsDir:u.resolve(process.cwd(),Z.layoutsDir),B=$.startsWith("layouts/")?$.slice(8):$,j=u.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=u.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=u.join(Z.partialsDir,"layouts"),await n(w)){let U=u.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||u.join(process.cwd(),"views"),z=u.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=u.join(u.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 UJ($,X,Z){let J=0,Y="",G="";try{if(typeof X==="number"&&X>=0){let Q=$.split(`
|
|
10709
10709
|
`),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(`
|
|
10710
|
-
`);break}}else if(Z){let Q=$.indexOf(Z);if(Q>=0)return
|
|
10710
|
+
`);break}}else if(Z){let Q=$.indexOf(Z);if(Q>=0)return UJ($,Q)}}catch{}return{lineNumber:J,lineContent:Y,context:G}}function B0($,X,Z,J,Y,G){let{lineNumber:Q,context:w}=UJ(J,Y,G),q=Z.split("/").pop(),W=0;if(typeof Y==="number"&&Y>=0&&J){let z=J.lastIndexOf(`
|
|
10711
10711
|
`,Math.max(0,Y-1));W=Y-(z+1)+1}let K="";if(Q>0)K+=`
|
|
10712
10712
|
${Z}:${Q}${W>0?`:${W}`:""}: ${$.toLowerCase()} error: ${X}
|
|
10713
10713
|
`;if(K+=`
|
|
10714
|
-
${
|
|
10715
|
-
`,K+=`${
|
|
10716
|
-
`,K+=`${
|
|
10714
|
+
${$0.bold}${$0.red}\u256D\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256E${$0.reset}
|
|
10715
|
+
`,K+=`${$0.bold}${$0.red}\u2502${$0.reset} ${$0.bold}${$0.bgRed} ERROR ${$0.reset} ${$0.red}${$} Error${$0.reset}${" ".repeat(Math.max(0,43-$.length))}${$0.bold}${$0.red}\u2502${$0.reset}
|
|
10716
|
+
`,K+=`${$0.bold}${$0.red}\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F${$0.reset}
|
|
10717
10717
|
`,K+=`
|
|
10718
|
-
${
|
|
10719
|
-
${
|
|
10718
|
+
${$0.cyan}${$0.bold}File:${$0.reset} ${$0.dim}${q}${$0.reset}`,Q>0)K+=` ${$0.gray}(line ${Q}${W>0?`, col ${W}`:""})${$0.reset}`;if(K+=`
|
|
10719
|
+
${$0.yellow}${$0.bold}Message:${$0.reset} ${X}
|
|
10720
10720
|
`,w)K+=`
|
|
10721
|
-
${
|
|
10722
|
-
${
|
|
10723
|
-
`;return K}function
|
|
10724
|
-
`||O==="\r"||O===" "||O===void 0)z++;U=H+9}else{if(z--,z===0){B=L;break}U=L+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=
|
|
10721
|
+
${$0.blue}${$0.bold}Context:${$0.reset}
|
|
10722
|
+
${$0.dim}${w}${$0.reset}
|
|
10723
|
+
`;return K}function aZ(){q$.clear(),W$.clear(),aX.clear()}var q$,W$,aX,cz=0,w$,$0;var y0=y(()=>{y7();KX();W1();$1();D5();z$();D1();_X();HX();T7();WZ();f7();q$=new s1(500),W$=new s1(1000),aX=new s1(2000);w$=new Map;$0={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 jJ($,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),L=$.indexOf("@endmarkdown",U);if(L===-1)break;if(H!==-1&&H<L&&H!==w){let O=$[H+9];if(O==="("||O===`
|
|
10724
|
+
`||O==="\r"||O===" "||O===void 0)z++;U=H+9}else{if(z--,z===0){B=L;break}U=L+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=N7(W.trim(),U);J=J.split(w).join(B)}catch(z){let U=z instanceof Error?z.message:String(z),B=B0("Markdown Directive",`Error processing markdown: ${U}`,Z,$,K,w);J=J.split(w).join(B)}return J}async function BJ($,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}),N7($.trim(),Y)}var $4=y(()=>{y0()});function JU($){if(XU.set($.name,$),$.client)ZU.set($.name,$.client)}function U$($){return JU($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(Z,J,Y,G)=>{let Q=YU(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 YU($,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 XU,ZU;var X4=y(()=>{XU=new Map,ZU=new Map});function Z4($,X=C5,Z={},J){return X.sort((Y,G)=>Y-G).map((Y)=>{return`${c7($,{...Z,w:Y,fm:J})} ${Y}w`}).join(", ")}function _J($,X,Z=GU,J={},Y){return Z.sort((G,Q)=>G-Q).map((G)=>{let Q=Math.round(X*G);return`${c7($,{...J,w:Q,dpr:G,fm:Y})} ${G}x`}).join(", ")}function J4($,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 c7($,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 Y4($){return QU[$]||"application/octet-stream"}var C5,GU,m7,QU;var G4=y(()=>{C5=[320,480,640,768,1024,1280,1536,1920,2560],GU=[1,1.5,2,3],m7=["avif","webp","jpeg"],QU={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function qU(){try{return await import("ts-images")}catch{return null}}async function WU($,X={}){let Z={...wU,...X},J=await qU();if(J)try{return await KU($,Z,J)}catch(Y){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${Y}`)}return zU($,Z)}async function KU($,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 zU($,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 HJ($,X,Z={}){let J=Z.transitionDuration||300,Y=Z.easing||"ease-out";return`
|
|
10725
10725
|
#${$} {
|
|
10726
10726
|
--stx-img-transition-duration: ${J}ms;
|
|
10727
10727
|
--stx-img-transition-easing: ${Y};
|
|
@@ -10738,7 +10738,7 @@ ${X0.dim}${w}${X0.reset}
|
|
|
10738
10738
|
#${$}.stx-img-loaded img {
|
|
10739
10739
|
opacity: 1;
|
|
10740
10740
|
}
|
|
10741
|
-
`.trim()}async function
|
|
10741
|
+
`.trim()}async function OJ($,X={}){let Z=`${$}:${JSON.stringify(X)}`;if(Q4.has(Z))return Q4.get(Z);let J=await WU($,X);return Q4.set(Z,J),J}var wU,w4,Q4;var LJ=y(()=>{wU={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},w4=`
|
|
10742
10742
|
.stx-img-placeholder {
|
|
10743
10743
|
position: relative;
|
|
10744
10744
|
overflow: hidden;
|
|
@@ -10767,20 +10767,20 @@ ${X0.dim}${w}${X0.reset}
|
|
|
10767
10767
|
filter: blur(0);
|
|
10768
10768
|
transform: scale(1);
|
|
10769
10769
|
}
|
|
10770
|
-
`.trim();X4=new Map});import{createHash as OJ}from"crypto";import{readFile as KU,stat as LJ}from"fs/promises";async function x0($){try{let X=await KU($);return OJ("sha256").update(X).digest("hex").slice(0,16)}catch{return""}}function HJ($){return OJ("sha256").update($).digest("hex").slice(0,16)}function z$($,X){let Z=JSON.stringify(X,Object.keys(X).sort());return`${HJ($)}-${HJ(Z)}`}async function J4($){try{return(await LJ($)).mtimeMs}catch{return 0}}async function S0($){try{return await LJ($),!0}catch{return!1}}var J5=()=>{};import{mkdir as zU,readFile as UU,writeFile as jU,readdir as dR,rm as BU,stat as mR}from"fs/promises";import{join as VJ,dirname as _U}from"path";async function HU($){try{await zU($,{recursive:!0})}catch{}}function AJ($,X,Z){return VJ($,Z,`${X}.json`)}async function FJ($,X,Z){if((Date.now()-$.createdAt)/86400000>Z)return!1;if(await J4(X)!==$.srcMtime)return!1;return!0}async function U$($,X,Z,J=Y4){if(!J.enabled)return null;let Y=z$($,X),G=C5.get(Y);if(G){if(await FJ(G,$,J.maxAge))return G.lastAccessedAt=Date.now(),G.data;C5.delete(Y)}let Q=AJ(J.directory,Y,Z);if(await S0(Q))try{let w=await UU(Q,"utf-8"),q=JSON.parse(w);if(await FJ(q,$,J.maxAge))return q.lastAccessedAt=Date.now(),C5.set(Y,q),q.data}catch{}return null}async function j$($,X,Z,J,Y=Y4){if(!Y.enabled)return;let G=z$($,X),Q=await x0($),w=await J4($),q={key:G,src:$,srcHash:Q,srcMtime:w,optionsHash:z$("",X),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};C5.set(G,q);let W=AJ(Y.directory,G,J);try{await HU(_U(W)),await jU(W,JSON.stringify(q,null,2))}catch(K){console.warn(`[stx-media] Failed to write cache: ${K}`)}}async function B$($,X=Y4){if($==="all")C5.clear();else C5.clear();let Z=$==="all"?["image","video"]:[$];for(let J of Z){let Y=VJ(X.directory,J);try{await BU(Y,{recursive:!0,force:!0})}catch{}}}var C5,Y4;var G4=E(()=>{J5();C5=new Map,Y4={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class H${config;constructor($={}){this.config={...OU,...$}}async get($,X){return U$($,X,"image",this.config)}async set($,X,Z){return j$($,X,Z,"image",this.config)}async clear(){return B$("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function Q4($){if(!_$)_$=new H$($);else if($)_$.updateConfig($);return _$}async function O$($,X,Z){let J=Z?{directory:`${Z.outputDir}/../.cache`}:{};return Q4(J).get($,X)}async function L$($,X,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return Q4(Y).set($,X,Z)}async function RJ(){return Q4().clear()}var OU,_$=null;var w4=E(()=>{G4();OU={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as LU,basename as FU,extname as VU,join as AU}from"path";import{mkdir as RU}from"fs/promises";async function q4(){try{return await import("ts-images")}catch{return null}}function NJ($){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 NU($,X){let Z=X?NJ(X):NJ("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 TJ($,X,Z){let J=await q4();if(!J)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Y=await O$($,X,Z);if(Y)return Y;try{let G=LU($);if(!await S0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let Q=NU(Z,X.preset),w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await RU(w,{recursive:!0});let W=await x0(G),K=FU($,VU($)),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 W4(G,X.transformations,J);for(let j of z){let _=Q[j]||{},H=`${K}-${W}.${j}`,L=AU(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 L$($,X,U,Z),U}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function MJ($,X,Z,J){let Y=await q4();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 W4($,X,Z){let J=Z||await q4();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 kJ=E(()=>{J5();w4()});import{resolve as TU,basename as MU,extname as kU,join as IU}from"path";import{mkdir as EU}from"fs/promises";async function DU(){try{return await import("ts-images")}catch{return null}}async function IJ($,X,Z){let J=await DU();if(!J)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Y=TU($);if(!await S0(Y))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let G=X.responsiveWidths||Z.breakpoints||yU,Q=X.formats||Z.defaultFormats||["avif","webp","jpeg"],w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await EU(w,{recursive:!0});let W=await x0(Y),K=MU($,kU($)),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=IU(w,L),F=`${q}/${L}`;try{let V=z[j]?.quality||80;if(await S0(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||bU(G),U}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function bU($){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 EJ($,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 yU;var DJ=E(()=>{J5();yU=[320,480,640,768,1024,1280,1536,1920]});var yJ={};t(yJ,{setCachedImageResult:()=>L$,processImage:()=>TJ,optimizeImage:()=>MJ,getCachedImageResult:()=>O$,generateSrcset:()=>EJ,generateResponsiveVariants:()=>IJ,clearImageCache:()=>RJ,applyTransformations:()=>W4,ImageProcessorCache:()=>H$});var bJ=E(()=>{kJ();DJ();w4()});async function SU(){try{return await Promise.resolve().then(() => (bJ(),yJ))}catch($){if(!SJ)console.warn("[stx-media] Image processor not available, some features disabled:",$),SJ=!0;return null}}async function F$($,X={}){let Z=X,J=$;if(J.process&&!J.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return xU(J,Z)}if(Z.processedResult?.processed)return j4($,Z.processedResult,X);if(Z.responsiveVariants)return xJ($,Z.responsiveVariants,X);let{src:Y,alt:G,width:Q,height:w,sizes:q,widths:W=S5,dpr:K,formats:z=m7,quality:U=K4,params:B={},placeholder:j="none",placeholderOptions:_={},lazy:H=!0,priority:L=!1,loading:O=L?"eager":A$,decoding:F=V$,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:N,referrerpolicy:M}=$,T=$.class,k=$.style,D=$.id,I=$.data||{},{isDev:S=!1,baseUrl:b=""}=X;if(S&&!X.optimize)return vU($);let y,v,f=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!L)try{y=await BJ(Y,{strategy:j,..._}),v=jJ(f,y,_)}catch{}let x=K!==void 0&&Q!==void 0,l;if(x)l=PU($,f,y,X);else l=await CU($,f,y,X);let c;if(L){let A0=z.includes("webp")?"webp":z[0],s=aX(Y,W,{...B,q:U},A0),p=typeof q==="object"?tX(q):q||"100vw";c=`<link rel="preload" as="image" imagesrcset="${s}" imagesizes="${p}" />`}let M0=[];if(!CJ&&j!=="none")M0.push(Z4),CJ=!0;if(v)M0.push(v);let W0=H?vJ(f):void 0;return{html:l,preloadLink:c,css:M0.length>0?M0.join(`
|
|
10771
|
-
`):void 0,script:
|
|
10770
|
+
`.trim();Q4=new Map});import{createHash as VJ}from"crypto";import{readFile as UU,stat as AJ}from"fs/promises";async function f0($){try{let X=await UU($);return VJ("sha256").update(X).digest("hex").slice(0,16)}catch{return""}}function FJ($){return VJ("sha256").update($).digest("hex").slice(0,16)}function j$($,X){let Z=JSON.stringify(X,Object.keys(X).sort());return`${FJ($)}-${FJ(Z)}`}async function q4($){try{return(await AJ($)).mtimeMs}catch{return 0}}async function S0($){try{return await AJ($),!0}catch{return!1}}var J5=()=>{};import{mkdir as jU,readFile as BU,writeFile as _U,readdir as cR,rm as HU,stat as lR}from"fs/promises";import{join as NJ,dirname as OU}from"path";async function LU($){try{await jU($,{recursive:!0})}catch{}}function TJ($,X,Z){return NJ($,Z,`${X}.json`)}async function RJ($,X,Z){if((Date.now()-$.createdAt)/86400000>Z)return!1;if(await q4(X)!==$.srcMtime)return!1;return!0}async function B$($,X,Z,J=W4){if(!J.enabled)return null;let Y=j$($,X),G=P5.get(Y);if(G){if(await RJ(G,$,J.maxAge))return G.lastAccessedAt=Date.now(),G.data;P5.delete(Y)}let Q=TJ(J.directory,Y,Z);if(await S0(Q))try{let w=await BU(Q,"utf-8"),q=JSON.parse(w);if(await RJ(q,$,J.maxAge))return q.lastAccessedAt=Date.now(),P5.set(Y,q),q.data}catch{}return null}async function _$($,X,Z,J,Y=W4){if(!Y.enabled)return;let G=j$($,X),Q=await f0($),w=await q4($),q={key:G,src:$,srcHash:Q,srcMtime:w,optionsHash:j$("",X),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};P5.set(G,q);let W=TJ(Y.directory,G,J);try{await LU(OU(W)),await _U(W,JSON.stringify(q,null,2))}catch(K){console.warn(`[stx-media] Failed to write cache: ${K}`)}}async function H$($,X=W4){if($==="all")P5.clear();else P5.clear();let Z=$==="all"?["image","video"]:[$];for(let J of Z){let Y=NJ(X.directory,J);try{await HU(Y,{recursive:!0,force:!0})}catch{}}}var P5,W4;var K4=y(()=>{J5();P5=new Map,W4={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class L${config;constructor($={}){this.config={...FU,...$}}async get($,X){return B$($,X,"image",this.config)}async set($,X,Z){return _$($,X,Z,"image",this.config)}async clear(){return H$("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function z4($){if(!O$)O$=new L$($);else if($)O$.updateConfig($);return O$}async function F$($,X,Z){let J=Z?{directory:`${Z.outputDir}/../.cache`}:{};return z4(J).get($,X)}async function V$($,X,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return z4(Y).set($,X,Z)}async function MJ(){return z4().clear()}var FU,O$=null;var U4=y(()=>{K4();FU={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as VU,basename as AU,extname as RU,join as NU}from"path";import{mkdir as TU}from"fs/promises";async function j4(){try{return await import("ts-images")}catch{return null}}function kJ($){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 MU($,X){let Z=X?kJ(X):kJ("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 IJ($,X,Z){let J=await j4();if(!J)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Y=await F$($,X,Z);if(Y)return Y;try{let G=VU($);if(!await S0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let Q=MU(Z,X.preset),w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await TU(w,{recursive:!0});let W=await f0(G),K=AU($,RU($)),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 B4(G,X.transformations,J);for(let j of z){let _=Q[j]||{},H=`${K}-${W}.${j}`,L=NU(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 V$($,X,U,Z),U}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function EJ($,X,Z,J){let Y=await j4();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 B4($,X,Z){let J=Z||await j4();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 DJ=y(()=>{J5();U4()});import{resolve as kU,basename as IU,extname as EU,join as DU}from"path";import{mkdir as yU}from"fs/promises";async function bU(){try{return await import("ts-images")}catch{return null}}async function yJ($,X,Z){let J=await bU();if(!J)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Y=kU($);if(!await S0(Y))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let G=X.responsiveWidths||Z.breakpoints||SU,Q=X.formats||Z.defaultFormats||["avif","webp","jpeg"],w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await yU(w,{recursive:!0});let W=await f0(Y),K=IU($,EU($)),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=DU(w,L),F=`${q}/${L}`;try{let V=z[j]?.quality||80;if(await S0(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||CU(G),U}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function CU($){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 bJ($,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 SU;var SJ=y(()=>{J5();SU=[320,480,640,768,1024,1280,1536,1920]});var CJ={};a(CJ,{setCachedImageResult:()=>V$,processImage:()=>IJ,optimizeImage:()=>EJ,getCachedImageResult:()=>F$,generateSrcset:()=>bJ,generateResponsiveVariants:()=>yJ,clearImageCache:()=>MJ,applyTransformations:()=>B4,ImageProcessorCache:()=>L$});var PJ=y(()=>{DJ();SJ();U4()});async function PU(){try{return await Promise.resolve().then(() => (PJ(),CJ))}catch($){if(!vJ)console.warn("[stx-media] Image processor not available, some features disabled:",$),vJ=!0;return null}}async function A$($,X={}){let Z=X,J=$;if(J.process&&!J.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return gU(J,Z)}if(Z.processedResult?.processed)return L4($,Z.processedResult,X);if(Z.responsiveVariants)return hJ($,Z.responsiveVariants,X);let{src:Y,alt:G,width:Q,height:w,sizes:q,widths:W=C5,dpr:K,formats:z=m7,quality:U=_4,params:B={},placeholder:j="none",placeholderOptions:_={},lazy:H=!0,priority:L=!1,loading:O=L?"eager":N$,decoding:F=R$,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:N,referrerpolicy:M}=$,k=$.class,T=$.style,D=$.id,I=$.data||{},{isDev:S=!1,baseUrl:b=""}=X;if(S&&!X.optimize)return fU($);let E,v,x=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!L)try{E=await OJ(Y,{strategy:j,..._}),v=HJ(x,E,_)}catch{}let f=K!==void 0&&Q!==void 0,h;if(f)h=xU($,x,E,X);else h=await vU($,x,E,X);let p;if(L){let j0=z.includes("webp")?"webp":z[0],Z0=Z4(Y,W,{...B,q:U},j0),l=typeof q==="object"?J4(q):q||"100vw";p=`<link rel="preload" as="image" imagesrcset="${Z0}" imagesizes="${l}" />`}let H0=[];if(!xJ&&j!=="none")H0.push(w4),xJ=!0;if(v)H0.push(v);let M0=H?gJ(x):void 0;return{html:h,preloadLink:p,css:H0.length>0?H0.join(`
|
|
10771
|
+
`):void 0,script:M0}}async function vU($,X,Z,J){let{src:Y,alt:G,width:Q,height:w,sizes:q,widths:W=C5,formats:K=m7,quality:z=_4,params:U={},lazy:B=!0,priority:j=!1,loading:_=j?"eager":N$,decoding:H=R$,fetchpriority:L,objectFit:O,objectPosition:F,crossorigin:V,referrerpolicy:A}=$,R=$.class,N=$.style,M=$.data||{},k=typeof q==="object"?J4(q):q||"100vw",T=[];for(let S of K){let b=Z4(Y,W,{...U,q:z},S),E=Y4(S);if(B&&!j)T.push(` <source type="${E}" data-srcset="${b}" data-sizes="${k}" />`);else T.push(` <source type="${E}" srcset="${b}" sizes="${k}" />`)}let D=H4({src:c7(Y,{...U,q:z}),alt:G,width:Q,height:w,loading:j?void 0:_,decoding:H,fetchpriority:j?"high":L,objectFit:O,objectPosition:F,crossorigin:V,referrerpolicy:A,className:fJ(R,Z),style:O4(N,O,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}">
|
|
10772
10772
|
<picture>
|
|
10773
|
-
${
|
|
10773
|
+
${T.join(`
|
|
10774
10774
|
`)}
|
|
10775
10775
|
<img ${D} />
|
|
10776
10776
|
</picture>
|
|
10777
10777
|
</div>`}else I=`<picture${X?` id="${X}"`:""}>
|
|
10778
|
-
${
|
|
10778
|
+
${T.join(`
|
|
10779
10779
|
`)}
|
|
10780
10780
|
<img ${D} />
|
|
10781
|
-
</picture>`;return I}function
|
|
10782
|
-
<img ${
|
|
10783
|
-
</div>`}return`<img ${X?`id="${X}" `:""}${
|
|
10781
|
+
</picture>`;return I}function xU($,X,Z,J){let{src:Y,alt:G,width:Q,height:w,dpr:q=[1,2,3],quality:W=_4,params:K={},lazy:z=!0,priority:U=!1,loading:B=U?"eager":N$,decoding:j=R$,fetchpriority:_,objectFit:H,objectPosition:L,crossorigin:O,referrerpolicy:F}=$,V=$.class,A=$.style,R=$.data||{},N=typeof Q==="number"?Q:Number.parseInt(String(Q),10),M=_J(Y,N,q,{...K,q:W}),k=H4({src:c7(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:L,crossorigin:O,referrerpolicy:F,className:fJ(V,Z),style:O4(A,H,L,Z),lazy:z&&!U,data:R}),T=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}">
|
|
10782
|
+
<img ${k} ${T} />
|
|
10783
|
+
</div>`}return`<img ${X?`id="${X}" `:""}${k} ${T} />`}function fU($){let{src:X,alt:Z,width:J,height:Y,loading:G=N$,decoding:Q=R$,fetchpriority:w,objectFit:q,objectPosition:W,crossorigin:K,referrerpolicy:z,priority:U=!1}=$,B=$.class,j=$.style,_=$.id,H=$.data||{};return{html:`<img ${H4({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:O4(j,q,W),id:_,data:H})} />`}}function H4($){let X=[];if($.lazy)X.push(`data-src="${J1($.src)}"`),X.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else X.push(`src="${J1($.src)}"`);if(X.push(`alt="${J1($.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="${J1($.className)}"`);if($.style)X.push(`style="${J1($.style)}"`);if($.id)X.push(`id="${J1($.id)}"`);if($.data)for(let[Z,J]of Object.entries($.data))X.push(`data-${Z}="${J1(J)}"`);if($.lazy)X.push("data-stx-lazy");return X.join(" ")}function fJ($,X){let Z=[];if($)Z.push($);if(X)Z.push("stx-img-blur");return Z.join(" ")||""}function O4($,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 J1($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function gJ($){return`
|
|
10784
10784
|
(function() {
|
|
10785
10785
|
const container = document.getElementById('${$}');
|
|
10786
10786
|
if (!container) return;
|
|
@@ -10817,7 +10817,7 @@ ${k.join(`
|
|
|
10817
10817
|
|
|
10818
10818
|
observer.observe(container);
|
|
10819
10819
|
})();
|
|
10820
|
-
`.trim()}async function
|
|
10820
|
+
`.trim()}async function gU($,X){let Z=await PU();if(!Z)return A$({...$,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 hJ($,G,X)}else{let G=await Z.processImage($.src,$,J);if(G.processed)return L4($,G,X)}return A$({...$,process:!1},X)}async function L4($,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||[],L=H.find((v)=>v.format==="jpeg")||H.find((v)=>v.format==="webp")||H[0],O=L?.url||$.src,F=H.filter((v)=>v.format===(L?.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 A=[],R=["avif","webp","jpeg","png"];for(let v of R){let x=V.get(v);if(x&&x.length>0){let f=x.map((p)=>`${p.url} ${p.width}w`).join(", "),h=Y4(v);if(Q&&!w)A.push(` <source type="${h}" data-srcset="${f}" />`);else A.push(` <source type="${h}" srcset="${f}" />`)}}let N=[];if(Q&&!w){if(N.push(`data-src="${J1(O)}"`),N.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),F)N.push(`data-srcset="${F}"`)}else if(N.push(`src="${J1(O)}"`),F)N.push(`srcset="${F}"`);N.push(`alt="${J1(J)}"`);let M=Y||X.originalWidth,k=G||X.originalHeight;if(M)N.push(`width="${M}"`);if(k)N.push(`height="${k}"`);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 T=[];if(q)T.push(`object-fit: ${q}`);if(W)T.push(`object-position: ${W}`);if(X.placeholder&&Q)T.push("opacity: 0; transition: opacity 300ms ease-out");if(B)T.push(B);if(T.length>0)N.push(`style="${T.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,x]of Object.entries(_))N.push(`data-${v}="${J1(x)}"`);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}">
|
|
10821
10821
|
<picture>
|
|
10822
10822
|
${A.join(`
|
|
10823
10823
|
`)}
|
|
@@ -10827,12 +10827,12 @@ ${A.join(`
|
|
|
10827
10827
|
${A.join(`
|
|
10828
10828
|
`)}
|
|
10829
10829
|
<img ${N.join(" ")} />
|
|
10830
|
-
</picture>`;let S=[];if(X.placeholder)S.push(
|
|
10831
|
-
`):void 0,script:b}}async function
|
|
10830
|
+
</picture>`;let S=[];if(X.placeholder)S.push(w4);let b=Q?gJ(j):void 0,E;if(w&&F)E=`<link rel="preload" as="image" imagesrcset="${F}" />`;return{html:I,preloadLink:E,css:S.length>0?S.join(`
|
|
10831
|
+
`):void 0,script:b}}async function hJ($,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 L4($,J,Z)}var vJ=!1,_4=80,R$="async",N$="lazy",xJ=!1;var uJ=y(()=>{G4();LJ()});function hU(){return U$({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}=uU($,X,Z);if(!Y)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let w={src:Y,alt:G||"",widths:Q.widths||C5,formats:Q.formats||m7,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 A$(w,{isDev:q}),K=W.html;if(W.preloadLink)K=W.preloadLink+`
|
|
10832
10832
|
`+K;if(W.css)K+=`
|
|
10833
10833
|
<style>${W.css}</style>`;if(W.script)K+=`
|
|
10834
|
-
<script>${W.script}</script>`;return K},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function
|
|
10835
|
-
`)}async function
|
|
10834
|
+
<script>${W.script}</script>`;return K},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function uU($,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=dU(J),G=F4(Y[0],Z)||"",Q=F4(Y[1],Z)||"",w={};if(Y[2]){let q=F4(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 dU($){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 F4($,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 dJ;var mJ=y(()=>{X4();uJ();G4();dJ=hU()});class M${config;constructor($={}){this.config={...mU,...$}}async get($,X){return B$($,X,"video",this.config)}async set($,X,Z){return _$($,X,Z,"video",this.config)}async clear(){return H$("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function V4($){if(!T$)T$=new M$($);else if($)T$.updateConfig($);return T$}async function k$($,X,Z){let J=Z?{directory:`${Z.outputDir}/../.cache`}:{};return V4(J).get($,X)}async function I$($,X,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return V4(Y).set($,X,Z)}async function cJ(){return V4().clear()}var mU,T$=null;var A4=y(()=>{K4();mU={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as R4,basename as N4,extname as T4,join as E$}from"path";import{mkdir as M4}from"fs/promises";async function k4(){try{return await import("ts-videos")}catch{return null}}async function D$($,X,Z,J){let Y=await k4();if(!Y)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let G=R4($);if(!await S0(G))return null;await M4(Z,{recursive:!0});let Q=await f0(G),w=N4($,T4($)),q=X.format||"webp",W=X.timestamp||0,K=`${w}-poster-${Q}.${q}`,z=E$(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 y$($,X,Z,J){let Y=await k4();if(!Y)return[];try{let G=R4($);if(!await S0(G))return[];await M4(Z,{recursive:!0});let Q=await f0(G),w=N4($,T4($)),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,L)=>({path:H.path||E$(Z,`${w}-thumb-${Q}-${L}.${q}`),url:`${J}/${w}-thumb-${Q}-${L}.${q}`,width:H.width||X.width||320,height:H.height||180,timestamp:j[L],size:H.size||0}));return[]}catch(G){return console.warn(`[stx-media] Failed to generate thumbnails: ${G}`),[]}}async function lJ($,X,Z,J){let Y=await k4();if(!Y)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let G=R4($);if(!await S0(G))return null;await M4(Z,{recursive:!0});let Q=await f0(G),w=N4($,T4($)),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),L=Math.ceil(H/z),O=`${w}-sprite-${Q}.${_}`,F=E$(Z,O),V=[];for(let R=0;R<H;R++)V.push(R*U);let A=await Y.extractThumbnails(G,{timestamps:V,width:B,height:j,format:_,quality:X.quality||70,outputDir:E$(Z,".temp")});if(!A||A.length===0)return null;try{let R=await import("ts-images"),N=z*B,M=L*j,k=await R.createSprite({images:A.map((T)=>T.path),columns:z,padding:0,outputPath:F,format:_,quality:X.quality||70});return{url:`${J}/${O}`,path:F,columns:z,rows:L,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 I4=y(()=>{J5()});import{resolve as iJ,basename as nJ,extname as rJ,join as Y5}from"path";import{mkdir as b$,writeFile as oJ}from"fs/promises";async function sJ(){try{return await import("ts-videos")}catch{return null}}async function S$($,X,Z,J,Y){let G=await sJ();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let Q=iJ($);if(!await S0(Q))return null;let w=await f0(Q),q=nJ($,rJ($)),W=Y5(Z,`${q}-${w}-hls`);await b$(W,{recursive:!0});let K=X.length>0?X:aJ,z=Y?.segmentDuration||6,j=(await new G.Input(Q).getInfo()).duration||0,_=[],H=0;for(let F of K){let V=Y5(W,F.label);await b$(V,{recursive:!0});let A=`${F.label}.m3u8`,R=Y5(V,A);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}/${A}`,path:R}),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 L=Y5(W,"master.m3u8"),O=cU(_,J,q,w);return await oJ(L,O),{manifestUrl:`${J}/${q}-${w}-hls/master.m3u8`,manifestPath:L,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(`
|
|
10835
|
+
`)}async function C$($,X,Z,J,Y){let G=await sJ();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let Q=iJ($);if(!await S0(Q))return null;let w=await f0(Q),q=nJ($,rJ($)),W=Y5(Z,`${q}-${w}-dash`);await b$(W,{recursive:!0});let K=X.length>0?X:aJ,z=Y?.segmentDuration||4,U=Y?.minBufferTime||2,_=(await new G.Input(Q).getInfo()).duration||0,H=[],L=[];for(let A of K){let R=Y5(W,A.label);await b$(R,{recursive:!0});try{if(await G.generateDASH(Q,{outputDir:R,segmentDuration:z,width:A.width,height:A.height,videoBitrate:A.bitrate,audioBitrate:A.audioBitrate})){if(H.push({bandwidth:A.bitrate,width:A.width,height:A.height||Math.round(A.width*9/16),url:`${J}/${q}-${w}-dash/${A.label}/video`}),A.audioBitrate)L.push({bandwidth:A.audioBitrate,url:`${J}/${q}-${w}-dash/${A.label}/audio`})}}catch(N){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${N}`)}}if(H.length===0)return null;let O=Y5(W,"manifest.mpd"),F=lU(H,L,_,z,U);await oJ(O,F);let V=[{type:"video",representations:H}];if(L.length>0)V.push({type:"audio",representations:L});return{manifestUrl:`${J}/${q}-${w}-dash/manifest.mpd`,manifestPath:O,adaptationSets:V,duration:_}}catch(Q){return console.warn(`[stx-media] Failed to generate DASH manifest: ${Q}`),null}}function lU($,X,Z,J,Y){let G=pJ(Z),Q=pJ(Y),w=`<?xml version="1.0" encoding="UTF-8"?>
|
|
10836
10836
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
|
|
10837
10837
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
10838
10838
|
xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
|
|
@@ -10858,13 +10858,13 @@ ${A.join(`
|
|
|
10858
10858
|
</Representation>
|
|
10859
10859
|
`}w+=` </AdaptationSet>
|
|
10860
10860
|
`}return w+=` </Period>
|
|
10861
|
-
</MPD>`,w}function
|
|
10861
|
+
</MPD>`,w}function pJ($){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 aJ;var E4=y(()=>{J5();aJ=[{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 tJ,basename as pU,extname as iU,join as nU}from"path";import{mkdir as rU}from"fs/promises";async function eJ(){try{return await import("ts-videos")}catch{return null}}function oU($){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 sU($){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 D4($){let X=await eJ();if(!X)return null;try{let Z=tJ($),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 $Y($,X,Z,J){let Y=await eJ();if(!Y)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let G=await k$($,X,Z);if(G)return G;try{let Q=tJ($);if(!await S0(Q))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let w=Z.outputDir||"dist/videos",q=Z.baseUrl||"/videos";await rU(w,{recursive:!0});let W=await f0(Q),K=pU($,iU($)),z={src:$,processed:!0,hash:W};J?.({percentage:5,stage:"analyzing"}),z.metadata=await D4(Q)||void 0;let U={};if(X.quality)U.bitrate=oU(X.quality);if(X.platform)Object.assign(U,sU(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=nU(w,B);try{let _=await aU(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 D$(Q,B,w,q);if(j)z.poster=j}if(Z.thumbnails?.enabled){J?.({percentage:70,stage:"generating-thumbnails"});let B=await y$(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 S$(Q,B.qualities||Z.streaming?.defaultQualities||[],w,q);if(j)z.streaming={...z.streaming,hls:j}}if(B.format==="dash"){let j=await C$(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 I$($,X,z,Z),z}catch(Q){return{src:$,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function aU($,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 XY=y(()=>{J5();A4();I4();E4()});var ZY={};a(ZY,{setCachedVideoResult:()=>I$,processVideo:()=>$Y,getCachedVideoResult:()=>k$,generateThumbnails:()=>y$,generateSpriteSheet:()=>lJ,generatePoster:()=>D$,generateHLSManifest:()=>S$,generateDASHManifest:()=>C$,clearVideoCache:()=>cJ,analyzeVideo:()=>D4,VideoProcessorCache:()=>M$});var JY=y(()=>{XY();I4();E4();A4()});async function GY(){try{return await Promise.resolve().then(() => (JY(),ZY))}catch($){if(!YY)console.warn("[stx-media] Video processor not available, some features disabled:",$),YY=!0;return null}}async function P$($,X={}){let Z=X,J=$;if(J.process&&!J.skipProcessing){if(Z.tsVideosConfig?.enabled&&!Z.isDev)return Jj(J,Z)}if(Z.processedResult?.processed)return WY($,Z.processedResult,X);let Y;if(J.generatePoster&&J.src&&!$.poster)Y=await Yj(J,Z);let{src:G,sources:Q=[],poster:w,posterPlaceholder:q,controls:W=QY,autoplay:K=!1,muted:z=!1,loop:U=!1,preload:B=wY,playsinline:j=!0,lazy:_=!0,player:H="native",type:L,width:O,height:F,crossorigin:V,disablePictureInPicture:A=!1,disableRemotePlayback:R=!1}=$,N=Y||w,M=$.class,k=$.style,T=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(H==="ts-video")return $j($,X);if(L&&L!=="video")return eU(G||"",L,$);let D=Q.length>0?Q:G?[{src:G,type:qY(G)}]:[],I=[`id="${T}"`];if(W)I.push("controls");if(K)I.push("autoplay");if(z)I.push("muted");if(U)I.push("loop");if(j)I.push("playsinline");if(A)I.push("disablepictureinpicture");if(R)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(O)I.push(`width="${O}"`);if(F)I.push(`height="${F}"`);if(M)I.push(`class="${E0(M)}"`);if(k)I.push(`style="${E0(k)}"`);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(`
|
|
10862
10862
|
`),b=`<video ${I.join(" ")}>
|
|
10863
10863
|
${S}
|
|
10864
10864
|
Your browser does not support the video tag.
|
|
10865
|
-
</video>`,
|
|
10865
|
+
</video>`,E;if(_)E=`
|
|
10866
10866
|
(function() {
|
|
10867
|
-
var video = document.getElementById('${
|
|
10867
|
+
var video = document.getElementById('${T}');
|
|
10868
10868
|
if (!video) return;
|
|
10869
10869
|
|
|
10870
10870
|
var observer = new IntersectionObserver(function(entries) {
|
|
@@ -10897,12 +10897,12 @@ ${S}
|
|
|
10897
10897
|
|
|
10898
10898
|
observer.observe(video);
|
|
10899
10899
|
})();
|
|
10900
|
-
`.trim();return{html:b,script:
|
|
10900
|
+
`.trim();return{html:b,script:E}}function eU($,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=Xj($),q=W?`https://www.youtube-nocookie.com/embed/${W}`:$;break;case"vimeo":W=Zj($),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;">
|
|
10901
10901
|
<iframe ${K.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
|
|
10902
|
-
</div>`}}function
|
|
10902
|
+
</div>`}}function $j($,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)}`,L={src:J.length>0?J:Z,autoplay:Q,loop:q,muted:w,playsinline:K,preload:W,poster:Y,controls:G,title:$.title},O=["position: relative",U?`width: ${typeof U==="number"?U+"px":U}`:"width: 100%",B?`height: ${typeof B==="number"?B+"px":B}`:"",_||""].filter(Boolean).join("; "),F=`
|
|
10903
10903
|
<div
|
|
10904
10904
|
id="${H}"
|
|
10905
|
-
class="ts-video-player${j?" "+
|
|
10905
|
+
class="ts-video-player${j?" "+E0(j):""}"
|
|
10906
10906
|
style="${O}"
|
|
10907
10907
|
data-ts-video-player
|
|
10908
10908
|
data-config='${JSON.stringify(L)}'
|
|
@@ -10910,7 +10910,7 @@ ${S}
|
|
|
10910
10910
|
>
|
|
10911
10911
|
<div class="ts-video-player__container">
|
|
10912
10912
|
${Y?`
|
|
10913
|
-
<div class="ts-video-player__placeholder" style="background-image: url('${
|
|
10913
|
+
<div class="ts-video-player__placeholder" style="background-image: url('${E0(Y)}');">
|
|
10914
10914
|
<button class="ts-video-player__play-button" aria-label="Play video">
|
|
10915
10915
|
<svg viewBox="0 0 24 24" fill="currentColor" width="64" height="64">
|
|
10916
10916
|
<path d="M8 5v14l11-7z"/>
|
|
@@ -10936,7 +10936,7 @@ ${S}
|
|
|
10936
10936
|
|
|
10937
10937
|
// Load ts-video-player from CDN
|
|
10938
10938
|
var script = document.createElement('script');
|
|
10939
|
-
script.src = '${
|
|
10939
|
+
script.src = '${tU}';
|
|
10940
10940
|
script.onload = initPlayer;
|
|
10941
10941
|
script.onerror = function() {
|
|
10942
10942
|
console.error('[stx] Failed to load ts-video-player');
|
|
@@ -11066,10 +11066,10 @@ else {
|
|
|
11066
11066
|
.ts-video-player__play-button svg {
|
|
11067
11067
|
margin-left: 4px;
|
|
11068
11068
|
}
|
|
11069
|
-
`.trim();return{html:F,script:V,css:A}}function
|
|
11070
|
-
${
|
|
11069
|
+
`.trim();return{html:F,script:V,css:A}}function qY($){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 Xj($){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 Zj($){let X=$.match(/vimeo\.com\/(\d+)/);return X?X[1]:null}function E0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'")}async function Jj($,X){let Z=await GY();if(!Z)return P$({...$,process:!1},X);let J=X.tsVideosConfig,Y=await Z.processVideo($.src,$,J,$.onProcessProgress);if(Y.processed)return WY($,Y,X);return P$({...$,process:!1},X)}async function Yj($,X){let Z=await GY();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 WY($,X,Z){let{controls:J=QY,autoplay:Y=!1,muted:G=!1,loop:Q=!1,preload:w=wY,playsinline:q=!0,lazy:W=!0,width:K,height:z,crossorigin:U,disablePictureInPicture:B=!1,disableRemotePlayback:j=!1}=$,_=$.class,H=$.style,L=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,O=$.src,F=qY(O);if(X.transcoded)O=X.transcoded.url,F="video/mp4";let V=X.streaming?.hls||X.streaming?.dash;if(V){if(X.streaming?.hls)O=X.streaming.hls.manifestUrl,F="application/x-mpegURL";else if(X.streaming?.dash)O=X.streaming.dash.manifestUrl,F="application/dash+xml"}let A=X.poster?.url||$.poster,R=[`id="${L}"`];if(J)R.push("controls");if(Y)R.push("autoplay");if(G)R.push("muted");if(Q)R.push("loop");if(q)R.push("playsinline");if(B)R.push("disablepictureinpicture");if(j)R.push("disableremoteplayback");if(U)R.push(`crossorigin="${U}"`);if(W){if(R.push(`data-preload="${w}"`),R.push('preload="none"'),A)R.push(`data-poster="${E0(A)}"`);R.push("data-stx-lazy")}else if(R.push(`preload="${w}"`),A)R.push(`poster="${E0(A)}"`);let N=K||X.metadata?.width,M=z||X.metadata?.height;if(N)R.push(`width="${N}"`);if(M)R.push(`height="${M}"`);if(_)R.push(`class="${E0(_)}"`);if(H)R.push(`style="${E0(H)}"`);let T=` <source ${W?`data-src="${E0(O)}"`:`src="${E0(O)}"`} type="${F}" />`,D=`<video ${R.join(" ")}>
|
|
11070
|
+
${T}
|
|
11071
11071
|
Your browser does not support the video tag.
|
|
11072
|
-
</video>`;if(X.spriteSheet)D=`<div class="stx-video-wrapper" data-sprite-sheet="${
|
|
11072
|
+
</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}">
|
|
11073
11073
|
${D}
|
|
11074
11074
|
</div>`;let I;if(W)I=`
|
|
11075
11075
|
(function() {
|
|
@@ -11115,9 +11115,9 @@ ${D}
|
|
|
11115
11115
|
width: 100%;
|
|
11116
11116
|
height: auto;
|
|
11117
11117
|
}
|
|
11118
|
-
`.trim();return{html:D,script:I,css:S}}var
|
|
11118
|
+
`.trim();return{html:D,script:I,css:S}}var YY=!1,QY=!0,wY="metadata",tU="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var KY=y(()=>{b4()});function zY(){return U$({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}=Gj($,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 P$(Q,q),K=W.html;if(W.css)K+=`
|
|
11119
11119
|
<style>${W.css}</style>`;if(W.script)K+=`
|
|
11120
|
-
<script>${W.script}</script>`;return K},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function
|
|
11120
|
+
<script>${W.script}</script>`;return K},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function Gj($,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=Qj(J),G=UY(Y[0],Z)||"",Q={};if(Y[1]){let w=UY(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 Qj($){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 UY($,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 y4;var b4=y(()=>{X4();KY();y4=zY()});function wj($,X){let Z=X.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
|
|
11121
11121
|
${$}
|
|
11122
11122
|
</div>
|
|
11123
11123
|
<script>
|
|
@@ -11162,7 +11162,7 @@ ${D}
|
|
|
11162
11162
|
}
|
|
11163
11163
|
}
|
|
11164
11164
|
})();
|
|
11165
|
-
</script>`}function
|
|
11165
|
+
</script>`}function qj($,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=`
|
|
11166
11166
|
<div class="stx-pwa-update-banner" style="
|
|
11167
11167
|
position: fixed;
|
|
11168
11168
|
bottom: 0;
|
|
@@ -11273,7 +11273,7 @@ else {
|
|
|
11273
11273
|
// Also listen for custom event
|
|
11274
11274
|
window.addEventListener('pwa-update-available', showUpdate);
|
|
11275
11275
|
})();
|
|
11276
|
-
</script>`}function
|
|
11276
|
+
</script>`}function Wj($,X){let Z=$.trim().length>0,J=`
|
|
11277
11277
|
<div class="stx-offline-indicator" style="
|
|
11278
11278
|
position: fixed;
|
|
11279
11279
|
top: 16px;
|
|
@@ -11334,7 +11334,7 @@ else {
|
|
|
11334
11334
|
window.addEventListener('offline', updateStatus);
|
|
11335
11335
|
updateStatus();
|
|
11336
11336
|
})();
|
|
11337
|
-
</script>`}function
|
|
11337
|
+
</script>`}function Kj($,X){let Z=X.pwa?.push,J=Z?.vapidPublicKey||"",Y=Z?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
|
|
11338
11338
|
${$}
|
|
11339
11339
|
</div>
|
|
11340
11340
|
<script>
|
|
@@ -11416,33 +11416,33 @@ catch (error) {
|
|
|
11416
11416
|
init();
|
|
11417
11417
|
}
|
|
11418
11418
|
})();
|
|
11419
|
-
</script>`}var
|
|
11420
|
-
${$.message}`),X&&$.line){let G=
|
|
11419
|
+
</script>`}var zj,Uj,jj,Bj,jY;var BY=y(()=>{zj={name:"pwa.installButton",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return wj($,Y)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},Uj={name:"pwa.updatePrompt",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return qj($,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 Wj($,Y)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},Bj={name:"pwa.pushSubscribe",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return Kj($,Y)},hasEndTag:!0,description:"Renders a push notification subscription button"},jY=[zj,Uj,jj,Bj]});function S4($){for(let[X,Z]of Object.entries(s))if(Z===$)return X;return}var s;var v$=y(()=>{s={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 p7(){return!l7()||process.env.STX_DEBUG==="true"}function x$(){return!1}import _j from"path";function f$(){return{...C4}}function g$($){if(!C4.showRelativePaths||!$)return $;let X=C4.baseDir||process.cwd();try{let Z=_j.relative(X,$);return Z.startsWith("..")?$:Z}catch{return $}}var Hj,C4,h$,G5,u$;var d$=y(()=>{v$();Hj={showRelativePaths:!1,enableAutoRecovery:p7(),logRecoveryWarnings:!0},C4={...Hj};h$=class h$ 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||s.EVALUATION_ERROR,this.filePath)this.filePath=g$(this.filePath)}};G5=class G5 extends h${constructor($,X,Z,J,Y,G){super($,"stx_RUNTIME_ERROR",X,Z,J,Y,G||s.EVALUATION_ERROR);this.name="StxRuntimeError"}};u$=class u$ extends h${isFatal=!0;constructor($,X,Z,J,Y,G){super($,"stx_VALIDATION_ERROR",X,Z,J,Y,G||s.DOM_API_VIOLATION);this.name="StxValidationError"}}});function HY($){let{type:X,message:Z,code:J,filePath:Y,line:G,column:Q,template:w,offset:q,snippet:W,suggestion:K,format:z="text"}=$,U=G,B=Q;if(!U&&w&&q!==void 0){let O=Rj(w,q);U=O.line,B=O.column}let j=Y?g$(Y):void 0,_=J?S4(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()},L;switch(z){case"html":L=Lj(H);break;case"json":L=JSON.stringify(H,null,2);break;case"console":L=Fj(H,w,q);break;case"text":default:L=Oj(H,w,q);break}return{formatted:L,data:H}}function Oj($,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(`
|
|
11420
|
+
${$.message}`),X&&$.line){let G=Vj(X,$.line,2);if(G)J.push(`
|
|
11421
11421
|
${G}`)}if($.snippet)J.push(`
|
|
11422
11422
|
Snippet: ${$.snippet}`);if($.suggestion)J.push(`
|
|
11423
|
-
Suggestion: ${$.suggestion}`);return J.join(" ")}function
|
|
11423
|
+
Suggestion: ${$.suggestion}`);return J.join(" ")}function Lj($){let X=$.code?` [${$.code}]`:"",Z=$.filePath?` in ${$.filePath}${$.line?`:${$.line}`:""}`:"",J=`<!-- [${$.type} Error${X}]${Z}: ${_Y($.message)}`;if($.suggestion)J+=` | Suggestion: ${_Y($.suggestion)}`;return J+=" -->",J}function Fj($,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(`
|
|
11424
11424
|
\x1B[90mat\x1B[0m ${z}`)}if(W.push(`
|
|
11425
11425
|
|
|
11426
|
-
${$.message}`),X&&$.line){let z=
|
|
11426
|
+
${$.message}`),X&&$.line){let z=Aj(X,$.line,2);if(z)W.push(`
|
|
11427
11427
|
|
|
11428
11428
|
\x1B[90mContext:\x1B[0m
|
|
11429
11429
|
${z}`)}if($.suggestion)W.push(`
|
|
11430
11430
|
|
|
11431
11431
|
\x1B[33mSuggestion:\x1B[0m ${$.suggestion}`);return W.push(`
|
|
11432
|
-
${"\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
|
|
11432
|
+
${"\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 Vj($,X,Z){let J=$.split(`
|
|
11433
11433
|
`),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(`
|
|
11434
|
-
`)}function
|
|
11434
|
+
`)}function Aj($,X,Z){let J=$.split(`
|
|
11435
11435
|
`),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(`
|
|
11436
|
-
`)}function
|
|
11437
|
-
`);return{line:J.length,column:J[J.length-1].length}}function
|
|
11436
|
+
`)}function _Y($){return $.replace(/--/g,"- -").replace(/>/g,">")}function Rj($,X){let J=$.substring(0,X).split(`
|
|
11437
|
+
`);return{line:J.length,column:J[J.length-1].length}}function X0($,X,Z){return HY({type:$,message:X,code:Z,format:"html"}).formatted}async function v5($,X,Z){try{return await $()}catch(J){if(Z&&J instanceof Error)Z(J);return X}}var OY=y(()=>{v$();d$()});class v4{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(`
|
|
11438
11438
|
`).slice(1).join(`
|
|
11439
11439
|
`)}`);if($.context)X.push(` Context: ${JSON.stringify($.context)}`);return X.join(`
|
|
11440
11440
|
`)}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($)}
|
|
11441
11441
|
`;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(`
|
|
11442
11442
|
|
|
11443
|
-
`),"utf-8")}}async flush(){await this.writeQueue}}var
|
|
11444
|
-
@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(p7())return`<!-- ${$} failed: ${X.message} -->`;return"<!-- stx rendering error -->"}};
|
|
11445
|
-
`)}}});var
|
|
11443
|
+
`),"utf-8")}}async flush(){await this.writeQueue}}var P4,Y1,x4;var LY=y(()=>{d$();P4={isEnabled(){return f$().enableAutoRecovery},fixCommonSyntaxErrors($){let X=f$();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+=`
|
|
11444
|
+
@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(p7())return`<!-- ${$} failed: ${X.message} -->`;return"<!-- stx rendering error -->"}};Y1=new v4,x4={isDevelopment(){return p7()},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(`
|
|
11445
|
+
`)}}});var FY=()=>{};var VY=y(()=>{v$();OY();LY();FY();d$()});var A1=y(()=>{VY()});function AY($,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 X0("MetaTag",_,s.EVALUATION_ERROR)}})();Y=Y.substring(0,w)+B+Y.substring(U),G.lastIndex=0}return Y}function RY($,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 X0("StructuredData",j,s.EVALUATION_ERROR)}})();J=J.substring(0,Q)+U+J.substring(z),Y.lastIndex=0}return J}function NY($,X,Z,J){let Y=$,G=/@seo\s*\(\s*\{/g,Q;while((Q=G.exec(Y))!==null){let w=Y.indexOf("{",Q.index+4),q=1,W=w+1,K=null,z=!1;while(W<Y.length&&q>0){let L=Y[W];if(z){z=!1,W++;continue}if(L==="\\"&&K){z=!0,W++;continue}if(K){if(L===K)K=null;W++;continue}if(L==='"'||L==="'"||L==="`"){K=L,W++;continue}if(L==="{")q++;else if(L==="}")q--;W++}if(q!==0)break;let U=Y.substring(W).match(/^\s*\)/);if(!U)break;let B=W+U[0].length,j=Y.substring(w,W),_=Y.substring(Q.index,B),H=((L)=>{try{let O=k0(L,X);if(!O)return"";let F="";if(O.title)F+=`<title>${i(O.title)}</title>
|
|
11446
11446
|
`,F+=`<meta name="title" content="${i(O.title)}">
|
|
11447
11447
|
`;if(O.description)F+=`<meta name="description" content="${i(O.description)}">
|
|
11448
11448
|
`;if(O.keywords){let V=Array.isArray(O.keywords)?O.keywords.join(", "):O.keywords;F+=`<meta name="keywords" content="${i(V)}">
|
|
@@ -11464,7 +11464,7 @@ ${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\
|
|
|
11464
11464
|
`}if(V.site)F+=`<meta name="twitter:site" content="${i(V.site)}">
|
|
11465
11465
|
`;if(V.creator)F+=`<meta name="twitter:creator" content="${i(V.creator)}">
|
|
11466
11466
|
`}if(O.structuredData){let V=JSON.stringify(O.structuredData).replace(/<\//g,"<\\/");F+=`<script type="application/ld+json">${V}</script>
|
|
11467
|
-
`}return F.trim()}catch(O){let F=O instanceof Error?O.message:String(O);return
|
|
11467
|
+
`}return F.trim()}catch(O){let F=O instanceof Error?O.message:String(O);return X0("SEO",`Error processing @seo directive: ${F}`,s.EVALUATION_ERROR)}})(j);Y=Y.substring(0,Q.index)+H+Y.substring(B),G.lastIndex=Q.index+H.length}return Y}function TY($,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=`
|
|
11468
11468
|
<!-- stx SEO Tags -->
|
|
11469
11469
|
<meta name="title" content="${i(Q)}">
|
|
11470
11470
|
<meta name="description" content="${i(w)}">
|
|
@@ -11480,8 +11480,8 @@ ${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\
|
|
|
11480
11480
|
`;let K=$;if(!G)K=K.replace(/<head[^>]*>/,`$&
|
|
11481
11481
|
<title>${i(Q)}</title>`);return K.replace(/<head[^>]*>/,`$&
|
|
11482
11482
|
${W}
|
|
11483
|
-
`)}function i($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function
|
|
11484
|
-
`).trim()}var
|
|
11483
|
+
`)}function i($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function IY($){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(`
|
|
11484
|
+
`).trim()}var MY,kY;var m$=y(()=>{A1();I0();MY={name:"meta",handler:($,X,Z,J)=>{if(X.length<1)return X0("Meta","meta directive requires at least the meta name",s.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},kY={name:"structuredData",handler:($,X,Z,J)=>{if($.trim()==="")return X0("StructuredData","structuredData directive requires JSON-LD content",s.INVALID_DIRECTIVE_SYNTAX);try{let Y=JSON.parse($);if(!Y["@context"])Y["@context"]="https://schema.org";if(!Y["@type"])return X0("StructuredData","structuredData requires @type property",s.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 X0("StructuredData",G,s.EVALUATION_ERROR)}},hasEndTag:!0}});import i7 from"path";function Nj($,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 Tj($){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)=>`
|
|
11485
11485
|
get ${z}() {
|
|
11486
11486
|
return this.getAttribute('${z}') || '';
|
|
11487
11487
|
}
|
|
@@ -11532,16 +11532,16 @@ ${K}
|
|
|
11532
11532
|
}
|
|
11533
11533
|
|
|
11534
11534
|
customElements.define('${X}', ${Q});
|
|
11535
|
-
`}async function
|
|
11536
|
-
${
|
|
11537
|
-
</script>`}var kY=E(()=>{V1();y0()});var IY={};t(IY,{timingPlugin:()=>Ij,pluginManager:()=>Nj,definePlugin:()=>d$,debugPlugin:()=>kj,createVariablesPlugin:()=>Ej,createFilterPlugin:()=>Mj,createDirectivePlugin:()=>Tj,PluginManager:()=>S4});function d$($){return $}class S4{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 Tj($,X,Z={}){return{name:$,...Z,registerDirectives:()=>X}}function Mj($,X,Z={}){return{name:$,...Z,registerFilters:()=>X}}function Ej($){return d$({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(X){return{context:{...X.context,...$}}}})}var Nj,kj,Ij;var EY=E(()=>{Nj=new S4;kj=d$({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)}}),Ij=d$({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 SY={};t(SY,{validateConfig:()=>vj,resolveStxDirectories:()=>bY,loadStxConfig:()=>X1,defineStxConfig:()=>Pj,defaultConfig:()=>Q5,config:()=>k7});import m$ from"fs";import p0 from"path";import{loadConfigWithResult as Dj}from"bunfig";function yj($,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(m$.existsSync(G)&&m$.existsSync(Q))return{root:"resources",pagesDir:"views"};let w=p0.join(Y,"resources","views","pages");if(m$.existsSync(w))return{root:"resources/views",pagesDir:J};return{root:".",pagesDir:J}}function bj($,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 bY($,X){let Z=!$.root,J=yj($.root,$.pagesDir,X);if($.root=J.root,$.pagesDir=J.pagesDir,Z&&J.root!=="."){let Y=`${X}::${J.root}`;if(!DY.has(Y))DY.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)||bj(Q,Y))continue;$[G]=p0.join(Y,Q)}}return $}function Sj($,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(m$.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 Cj($){if(x6($.stateDir),$.stateDir=F7(),$.cachePath=V7($.cachePath),$.build)$.build.cacheDir=V7($.build.cacheDir);if($.media?.cache)$.media.cache.directory=V7($.media.cache.directory);if($.story)$.story.outDir=V7($.story.outDir)}async function X1($){if(!$){if(v5)return v5;if(l$)return l$}let X=$?p0.resolve($):process.cwd(),Z=yY.get(X);if(Z)return Z;let J=(async()=>{let G=(await Dj({name:"stx",alias:"ui",cwd:X,defaultConfig:Q5,verbose:!1})).config;if(Cj(G),bY(G,X),Sj(G,X),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (EY(),IY)),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,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(yY.set(X,J),!$)l$=J,J.then((Y)=>{v5=Y}).catch(()=>{});return J}function Pj($){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 Q5,DY,v5=null,yY,l$=null,k7;var L1=E(()=>{c9();p9();i9();n9();oX();hJ();k4();zY();u$();A7();kY();Q5={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:zJ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:MY,hasEndTag:!1,description:"Include a web component in the template"},u6,d6,RY,NY,m6,c6,p6,l6,r6,a6,gJ,M4,...KY],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}};DY=new Set;yY=new Map;k7=new Proxy(Q5,{get($,X){if(v5&&X in v5)return v5[X];if(!l$)X1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return $[X]}})});var gY={};t(gY,{resetCssCache:()=>lj,resetCrosswindCache:()=>cj,rebuildCrosswindCSS:()=>pj,loadCrosswindConfig:()=>x4,loadCrosswind:()=>v4,injectCrosswindCSS:()=>r7,getCrosswindServeAsset:()=>gj,getCachedCSS:()=>ij,generateCrosswindCSS:()=>fY,extractClassNames:()=>xY,buildCrosswindCSS:()=>vY});import G0 from"path";import{hasLocalConfig as xj}from"bunfig";function p$($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function C4($,X){if(A1.has($))A1.delete($);else if(A1.size>=PY)A1.delete(A1.keys().next().value);A1.set($,X)}function fj($){let X=p$($);if(Y1.has(X))Y1.delete(X);else if(Y1.size>=PY)Y1.delete(Y1.keys().next().value);return Y1.set(X,$),X}function gj($){let X=Y1.get($);if(X===void 0)return;return Y1.delete($),Y1.set($,X),X}async function hj($){if(!g1)return null;try{let X=Bun.file(G0.join(g1,`cw-${p$($)}.css`));if(!await X.exists())return null;return await X.text()}catch{return null}}async function uj($,X){if(!g1)return;try{if(!fs.existsSync(g1))fs.mkdirSync(g1,{recursive:!0});await Bun.write(G0.join(g1,`cw-${p$($)}.css`),X)}catch{}}async function CY($){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 dj(){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 mj(){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 v4(){if(P4)return W1;P4=!0;try{let $=async(Y)=>{for(let G of Y){if(!await Bun.file(G).exists())continue;let Q=await CY(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 $(dj());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 CY(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 $(mj());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 lj(){A1.clear(),Y1.clear()}function cj(){W1=null,P4=!1,G1=null,n7="",A1.clear(),Y1.clear(),c$=null}async function x4($){try{if(!xj({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 vY($){if(x5)return n7;x5=!0;try{let X=await v4();if(!X||!X.build)return x5=!1,"";if(!G1)G1=await x4($);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(n7=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,n7}}async function pj($){G1=null,await vY($)}function ij(){return n7}function xY($){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 fY($,X){try{let Z=await v4();if(!Z)return"";let J=typeof Z.extractClasses==="function"?Z.extractClasses($):xY($);if(J.size===0)return"";let Y=X?G0.resolve(X):process.cwd();if(!g1)g1=_1(Y,"cache");let G=[...J].sort().join(" "),Q=`${c$||"default"}::${G}`,w=A1.get(Q);if(w!==void 0)return C4(Q,w),w;let q=await hj(Q);if(q!==null)return C4(Q,q),q;if(!G1){let A=null;try{let{loadStxConfig:R}=await Promise.resolve().then(() => (L1(),SY)),N=await R(Y);if(N.css)if(typeof N.css==="string"){let M=G0.isAbsolute(N.css)?N.css:G0.resolve(Y,N.css);if(await Bun.file(M).exists()){let T=await import(M);A=T.default||T,console.log(`${H0.green}[Crosswind]${H0.reset} Loaded config from stx.config.ts \u2192 ${N.css}`)}}else{if(A={...N.css,content:N.css.content||[],preflight:N.css.preflight??!0,minify:N.css.minify??!1},N.css.config){let M=G0.isAbsolute(N.css.config)?N.css.config:G0.resolve(Y,N.css.config);if(await Bun.file(M).exists()){let T=await import(M);A={...T.default||T,...A}}}console.log(`${H0.green}[Crosswind]${H0.reset} Using inline CSS config from stx.config.ts`)}}catch{}G1=A||await x4(Y);try{c$=p$(JSON.stringify(G1??{}))}catch{c$="unhashable"}}let W=Z.defaultConfig||Z.config,K=G1||{},z=C6(W,K),{safelist:U,includePreflight:B,minify:j,tokenCSS:_}=z,H=z.config,L=new Z.CSSGenerator(H);for(let A of U)L.generate(A);for(let A of J)L.generate(A);let O=L.toCSS(B,j),F=H.shortcuts||K.shortcuts||{};for(let[A,R]of Object.entries(F)){if(!J.has(A)&&!U.includes(A))continue;let N=R.split(/\s+/).filter(Boolean);for(let M of N)L.generate(M)}O=L.toCSS(B,j);let V=O.split(`
|
|
11538
|
-
`);for(let[A,R]of Object.entries(F)){if(!J.has(A)&&!U.includes(A))continue;let N=R.split(/\s+/).filter(Boolean),M=[],
|
|
11539
|
-
.${A} { ${M.join(" ")} }`;if(
|
|
11540
|
-
@media (prefers-color-scheme: dark) { .dark .${A} { ${
|
|
11535
|
+
`}async function EY($,X,Z,J){if(X.length<1)return X0("WebComponent","@webcomponent directive requires at least the tag name parameter",s.INVALID_DIRECTIVE_SYNTAX);let Y=X[0].replace(/['"]/g,""),Q=(Z.__stx_options||{}).componentsDir||"components",w=[i7.join(i7.dirname(J),Q,`${Y}.stx`),i7.join(process.cwd(),Q,`${Y}.stx`),i7.join(i7.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 X0("WebComponent",`Component file not found: ${Y}.stx`,s.FILE_NOT_FOUND);let W=Nj(q,Y);return`<script type="module">
|
|
11536
|
+
${Tj(W)}
|
|
11537
|
+
</script>`}var DY=y(()=>{A1();y0()});var yY={};a(yY,{timingPlugin:()=>Dj,pluginManager:()=>Mj,definePlugin:()=>c$,debugPlugin:()=>Ej,createVariablesPlugin:()=>yj,createFilterPlugin:()=>Ij,createDirectivePlugin:()=>kj,PluginManager:()=>f4});function c$($){return $}class f4{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 kj($,X,Z={}){return{name:$,...Z,registerDirectives:()=>X}}function Ij($,X,Z={}){return{name:$,...Z,registerFilters:()=>X}}function yj($){return c$({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(X){return{context:{...X.context,...$}}}})}var Mj,Ej,Dj;var bY=y(()=>{Mj=new f4;Ej=c$({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)}}),Dj=c$({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 vY={};a(vY,{validateConfig:()=>fj,resolveStxDirectories:()=>PY,loadStxConfig:()=>Z1,defineStxConfig:()=>xj,defaultConfig:()=>Q5,config:()=>k7});import l$ from"fs";import i0 from"path";import{loadConfigWithResult as bj}from"bunfig";function Sj($,X,Z){let J=X||"pages";if($)return{root:$,pagesDir:J};let Y=Z||process.cwd(),G=i0.join(Y,"resources","views"),Q=i0.join(Y,"resources","layouts");if(l$.existsSync(G)&&l$.existsSync(Q))return{root:"resources",pagesDir:"views"};let w=i0.join(Y,"resources","views","pages");if(l$.existsSync(w))return{root:"resources/views",pagesDir:J};return{root:".",pagesDir:J}}function Cj($,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 PY($,X){let Z=!$.root,J=Sj($.root,$.pagesDir,X);if($.root=J.root,$.pagesDir=J.pagesDir,Z&&J.root!=="."){let Y=`${X}::${J.root}`;if(!SY.has(Y))SY.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(i0.isAbsolute(Q)||Cj(Q,Y))continue;$[G]=i0.join(Y,Q)}}return $}function Pj($,X){let Z=["componentsDir","layoutsDir","partialsDir"];for(let J of Z){let Y=$[J];if(typeof Y!=="string"||!Y)continue;let G=i0.isAbsolute(Y)?Y:i0.join(X,Y);if(l$.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 vj($){if(d6($.stateDir),$.stateDir=V7(),$.cachePath=A7($.cachePath),$.build)$.build.cacheDir=A7($.build.cacheDir);if($.media?.cache)$.media.cache.directory=A7($.media.cache.directory);if($.story)$.story.outDir=A7($.story.outDir)}async function Z1($){if(!$){if(x5)return x5;if(p$)return p$}let X=$?i0.resolve($):process.cwd(),Z=CY.get(X);if(Z)return Z;let J=(async()=>{let G=(await bj({name:"stx",alias:"ui",cwd:X,defaultConfig:Q5,verbose:!1})).config;if(vj(G),PY(G,X),Pj(G,X),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (bY(),yY)),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=i0.dirname(U0.resolve(K))}catch{let _=i0.resolve(process.cwd(),K);U=await import(_),B=i0.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(i0.resolve(B,H))}if(j.pages){let _=i0.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(CY.set(X,J),!$)p$=J,J.then((Y)=>{x5=Y}).catch(()=>{});return J}function xj($){return $}function fj($){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 Q5,SY,x5=null,CY,p$=null,k7;var F1=y(()=>{i9();n9();r9();o9();$4();mJ();b4();BY();m$();R7();DY();Q5={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:BJ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:EY,hasEndTag:!1,description:"Include a web component in the template"},p6,i6,MY,kY,n6,o6,s6,r6,e6,Z2,dJ,y4,...jY],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}};SY=new Set;CY=new Map;k7=new Proxy(Q5,{get($,X){if(x5&&X in x5)return x5[X];if(!p$)Z1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return $[X]}})});var dY={};a(dY,{resetCssCache:()=>pj,resetCrosswindCache:()=>ij,rebuildCrosswindCSS:()=>nj,loadCrosswindConfig:()=>d4,loadCrosswind:()=>u4,injectCrosswindCSS:()=>r7,getCrosswindServeAsset:()=>uj,getCachedCSS:()=>rj,generateCrosswindCSS:()=>uY,extractClassNames:()=>hY,buildCrosswindCSS:()=>gY});import Q0 from"path";import{hasLocalConfig as gj}from"bunfig";function n$($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function g4($,X){if(R1.has($))R1.delete($);else if(R1.size>=fY)R1.delete(R1.keys().next().value);R1.set($,X)}function hj($){let X=n$($);if(G1.has(X))G1.delete(X);else if(G1.size>=fY)G1.delete(G1.keys().next().value);return G1.set(X,$),X}function uj($){let X=G1.get($);if(X===void 0)return;return G1.delete($),G1.set($,X),X}async function dj($){if(!g1)return null;try{let X=Bun.file(Q0.join(g1,`cw-${n$($)}.css`));if(!await X.exists())return null;return await X.text()}catch{return null}}async function mj($,X){if(!g1)return;try{if(!fs.existsSync(g1))fs.mkdirSync(g1,{recursive:!0});await Bun.write(Q0.join(g1,`cw-${n$($)}.css`),X)}catch{}}async function xY($){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!==Q0.dirname(X))$.push(Q0.join(X,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(Q0.join(X,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(Q0.join(X,"pantry","@cwcss","crosswind","dist","index.js")),$.push(Q0.join(X,"pantry","@cwcss","crosswind","src","index.ts")),$.push(Q0.join(X,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(Q0.join(X,"pantry","@stacksjs","crosswind","dist","index.js")),X=Q0.dirname(X);return $}function lj(){let $=[],X=process.env.HOME||process.env.USERPROFILE||"";if(X){let Z=[Q0.join(X,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),Q0.join(X,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),Q0.join(X,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),Q0.join(X,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),Q0.join(X,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),Q0.join(X,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Z)}return $.push(Q0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(Q0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function u4(){if(h4)return K1;h4=!0;try{let $=async(Y)=>{for(let G of Y){if(!await Bun.file(G).exists())continue;let Q=await xY(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${O0.green}[Crosswind]${O0.reset} CSS engine loaded from ${Q0.dirname(Q0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let Y=Q0.resolve(process.env.CROSSWIND_SRC),G=await $([Y]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${Y}`);return K1=G,K1}let X=await $(cj());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 xY(Y);if(G){if(K1=G,!process.env.STACKS_DEV_QUIET)console.log(`${O0.green}[Crosswind]${O0.reset} CSS engine loaded`);return K1}}let J=await $(lj());if(J)return K1=J,K1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${O0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${O0.reset}`),console.warn(`${O0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${O0.reset}`),null}}function pj(){R1.clear(),G1.clear()}function ij(){K1=null,h4=!1,Q1=null,n7="",R1.clear(),G1.clear(),i$=null}async function d4($){try{if(!gj({name:"crosswind",cwd:$}))return null;let{loadConfigWithResult:X}=await import("bunfig"),Z=await X({name:"crosswind",cwd:$,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Z?.path||!Z.config||Object.keys(Z.config).length===0)return null;let J=Q0.relative($,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${O0.green}[Crosswind]${O0.reset} Loaded config from ${J||Z.path}`);return Z.config}catch(X){if(X instanceof Error&&X.name==="ConfigNotFoundError")return null;return console.warn(`${O0.yellow}[Crosswind]${O0.reset} Failed to load crosswind config:`,X instanceof Error?X.message:X),null}}async function gY($){if(f5)return n7;f5=!0;try{let X=await u4();if(!X||!X.build)return f5=!1,"";if(!Q1)Q1=await d4($);if(!Q1)return f5=!1,"";let Z=X.defaultConfig?.theme||{},J=Q1.theme||{},Y={...X.defaultConfig,...Q1,theme:{...Z,...J,extend:{...Z.extend||{},...J.extend||{}}}},G=performance.now(),Q=await X.build(Y),w=performance.now()-G;if(n7=Q.css,console.log(`${O0.cyan}[Crosswind]${O0.reset} Built ${Q.classes.size} classes in ${w.toFixed(1)}ms`),Y.output){let q=Q0.isAbsolute(Y.output)?Y.output:Q0.join($,Y.output),W=Q0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,Q.css)}return f5=!1,Q.css}catch(X){return console.error(`${O0.red}[Crosswind]${O0.reset} Build error:`,X),f5=!1,n7}}async function nj($){Q1=null,await gY($)}function rj(){return n7}function hY($){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 uY($,X){try{let Z=await u4();if(!Z)return"";let J=typeof Z.extractClasses==="function"?Z.extractClasses($):hY($);if(J.size===0)return"";let Y=X?Q0.resolve(X):process.cwd();if(!g1)g1=H1(Y,"cache");let G=[...J].sort().join(" "),Q=`${i$||"default"}::${G}`,w=R1.get(Q);if(w!==void 0)return g4(Q,w),w;let q=await dj(Q);if(q!==null)return g4(Q,q),q;if(!Q1){let A=null;try{let{loadStxConfig:R}=await Promise.resolve().then(() => (F1(),vY)),N=await R(Y);if(N.css)if(typeof N.css==="string"){let M=Q0.isAbsolute(N.css)?N.css:Q0.resolve(Y,N.css);if(await Bun.file(M).exists()){let k=await import(M);A=k.default||k,console.log(`${O0.green}[Crosswind]${O0.reset} Loaded config from stx.config.ts \u2192 ${N.css}`)}}else{if(A={...N.css,content:N.css.content||[],preflight:N.css.preflight??!0,minify:N.css.minify??!1},N.css.config){let M=Q0.isAbsolute(N.css.config)?N.css.config:Q0.resolve(Y,N.css.config);if(await Bun.file(M).exists()){let k=await import(M);A={...k.default||k,...A}}}console.log(`${O0.green}[Crosswind]${O0.reset} Using inline CSS config from stx.config.ts`)}}catch{}Q1=A||await d4(Y);try{i$=n$(JSON.stringify(Q1??{}))}catch{i$="unhashable"}}let W=Z.defaultConfig||Z.config,K=Q1||{},z=g6(W,K),{safelist:U,includePreflight:B,minify:j,tokenCSS:_}=z,H=z.config,L=new Z.CSSGenerator(H);for(let A of U)L.generate(A);for(let A of J)L.generate(A);let O=L.toCSS(B,j),F=H.shortcuts||K.shortcuts||{};for(let[A,R]of Object.entries(F)){if(!J.has(A)&&!U.includes(A))continue;let N=R.split(/\s+/).filter(Boolean);for(let M of N)L.generate(M)}O=L.toCSS(B,j);let V=O.split(`
|
|
11538
|
+
`);for(let[A,R]of Object.entries(F)){if(!J.has(A)&&!U.includes(A))continue;let N=R.split(/\s+/).filter(Boolean),M=[],k=[];for(let T of N){let D=T.startsWith("dark:"),b=`.${(D?T.slice(5):T).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let E=0;E<V.length;E++){let v=V[E].trim();if(v===`${b} {`||v.startsWith(`${b} {`)){let x=E,f="";while(x<V.length){if(f+=V[x],V[x].includes("}"))break;x++}let h=f.match(/\{([^}]+)\}/);if(h)if(D)k.push(h[1].trim());else M.push(h[1].trim());break}}}if(M.length)O+=`
|
|
11539
|
+
.${A} { ${M.join(" ")} }`;if(k.length)O+=`
|
|
11540
|
+
@media (prefers-color-scheme: dark) { .dark .${A} { ${k.join(" ")} } }`}return O=_+O,g4(Q,O),mj(Q,O),O}catch(Z){return console.warn("Failed to generate Crosswind CSS:",Z),""}}async function r7($,X,Z=!1){let J=await uY($,X);if(!J)return $;let Y=Z?`<link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.${hj(J)}.css">`:`<style data-crosswind="generated">
|
|
11541
11541
|
${J}
|
|
11542
11542
|
</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}
|
|
11543
11543
|
</head>`);if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
|
|
11544
|
-
${Y}`);return Y+$}var
|
|
11544
|
+
${Y}`);return Y+$}var K1=null,h4=!1,Q1=null,n7="",f5=!1,fY=256,R1,G1,g1=null,i$=null;var r$=y(()=>{h6();R7();m6();R1=new Map,G1=new Map});function mY(){return`
|
|
11545
11545
|
// STX Lifecycle Runtime
|
|
11546
11546
|
(function() {
|
|
11547
11547
|
if (typeof window === 'undefined') return;
|
|
@@ -11886,7 +11886,7 @@ else {
|
|
|
11886
11886
|
|
|
11887
11887
|
console.log('[stx] Lifecycle runtime initialized');
|
|
11888
11888
|
})();
|
|
11889
|
-
`}function
|
|
11889
|
+
`}function m4($){return Symbol($)}var YM,GM,QM;var cY=y(()=>{YM=m4("theme"),GM=m4("router"),QM=m4("i18n")});import*as pY from"crypto";function lY($){let X=/\$(\w+)\./g,Z=[],J;while((J=X.exec($))!==null)if(!Z.includes(J[1]))Z.push(J[1]);return Z}function oj(){return`stx-${pY.randomBytes(4).toString("hex")}`}function sj($){return/\$\w+\./.test($)}function aj($){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 L=H[0],O=H[1],F=H[2];if(sj(F)){K=!0;let V=F.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(V){let A=V[1];if(W.push({attr:O,expr:A,fullMatch:L,originalAttr:O}),lY(A).forEach((N)=>Z.add(N)),O==="text")z=z.replace(L,"");else if(O==="class")z=z.replace(L,'class=""');else if(O==="disabled"||O==="hidden")z=z.replace(L,"");else z=z.replace(L,`${O}=""`)}}}if(!K)return G;let j=z.match(/\bid\s*=\s*"([^"]+)"/),_;if(j)_=j[1];else _=oj(),z=` id="${_}"${z}`;for(let H of W)X.push({elementId:_,attribute:H.attr,expression:H.expr,stores:lY(H.expr)});return`<${Q}${z}${q}`}),{html:Y,bindings:X,stores:Z}}function tj($,X){if($.length===0)return"";let Z=Array.from(X),J=`
|
|
11890
11890
|
<script>
|
|
11891
11891
|
(function() {
|
|
11892
11892
|
'use strict';
|
|
@@ -12044,10 +12044,10 @@ else {
|
|
|
12044
12044
|
}
|
|
12045
12045
|
})();
|
|
12046
12046
|
</script>
|
|
12047
|
-
`,J}function
|
|
12047
|
+
`,J}function iY($){let{html:X,bindings:Z,stores:J}=aj($);if(Z.length===0)return $;let Y=tj(Z,J),G=X.lastIndexOf("</body>");if(G!==-1)return X.slice(0,G)+Y+X.slice(G);return X+Y}var nY=()=>{};function ej($){let X=$.analytics;if(!X?.enabled)return"";switch(X.driver){case"fathom":return $B(X);case"google-analytics":return XB(X);case"plausible":return ZB(X);case"self-hosted":return JB(X);case"custom":return YB(X);default:return""}}function $B($){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="${n0(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="${n0(X.canonical)}"`);if(X.auto===!1)Y.push('data-auto="false"');return`
|
|
12048
12048
|
<!-- Fathom Analytics -->
|
|
12049
|
-
<script src="${
|
|
12050
|
-
`}function
|
|
12049
|
+
<script src="${n0(Z)}" ${Y.join(" ")}${J}></script>
|
|
12050
|
+
`}function XB($){let X=$.googleAnalytics;if(!X?.measurementId)return"";let Z=n0(X.measurementId),J=X.debug?`gtag('config', '${Z}', { 'debug_mode': true });`:"";return`
|
|
12051
12051
|
<!-- Google Analytics -->
|
|
12052
12052
|
<script async src="https://www.googletagmanager.com/gtag/js?id=${Z}"></script>
|
|
12053
12053
|
<script>
|
|
@@ -12057,10 +12057,10 @@ else {
|
|
|
12057
12057
|
gtag('config', '${Z}');
|
|
12058
12058
|
${J}
|
|
12059
12059
|
</script>
|
|
12060
|
-
`}function
|
|
12060
|
+
`}function ZB($){let X=$.plausible;if(!X?.domain)return"";let Z=X.scriptUrl||"https://plausible.io/js/script.js",J=[`data-domain="${n0(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`
|
|
12061
12061
|
<!-- Plausible Analytics -->
|
|
12062
|
-
<script defer data-domain="${
|
|
12063
|
-
`}function
|
|
12062
|
+
<script defer data-domain="${n0(X.domain)}" src="${n0(Y)}"></script>
|
|
12063
|
+
`}function JB($){let X=$.selfHosted;if(!X?.siteId||!X?.apiEndpoint)return"";let Z=n0(X.siteId),J=n0(X.apiEndpoint),Y=X.honorDnt?'if(n.doNotTrack==="1")return;':"",G=X.trackHashChanges?"w.addEventListener('hashchange',pv);":"",Q=X.trackOutboundLinks?`
|
|
12064
12064
|
d.addEventListener('click',function(e){
|
|
12065
12065
|
var a=e.target.closest('a');
|
|
12066
12066
|
if(a&&a.hostname!==location.hostname){
|
|
@@ -12093,15 +12093,15 @@ else {
|
|
|
12093
12093
|
w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
|
|
12094
12094
|
})();
|
|
12095
12095
|
</script>
|
|
12096
|
-
`}function
|
|
12096
|
+
`}function YB($){let X=$.custom;if(!X)return"";if(X.inlineScript)return`
|
|
12097
12097
|
<!-- Custom Analytics -->
|
|
12098
12098
|
<script>
|
|
12099
12099
|
${X.inlineScript}
|
|
12100
12100
|
</script>
|
|
12101
|
-
`;if(!X.scriptUrl)return"";let Z=[];if(X.scriptId)Z.push(`id="${
|
|
12101
|
+
`;if(!X.scriptUrl)return"";let Z=[];if(X.scriptId)Z.push(`id="${n0(X.scriptId)}"`);if(X.attributes)for(let[Y,G]of Object.entries(X.attributes))Z.push(`${n0(Y)}="${n0(G)}"`);return`
|
|
12102
12102
|
<!-- Custom Analytics -->
|
|
12103
|
-
<script${Z.length>0?` ${Z.join(" ")}`:""} src="${
|
|
12104
|
-
`}function
|
|
12103
|
+
<script${Z.length>0?` ${Z.join(" ")}`:""} src="${n0(X.scriptUrl)}" defer></script>
|
|
12104
|
+
`}function rY($,X){let Z=ej(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 n0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}var oY=()=>{};function o$($){let X=$.match(/\bdefinePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!X)return null;try{return Function(`return ${X[1]}`)()}catch{return null}}function sY($){let X=$?.layout;if(X===!1)return!1;return typeof X==="string"&&X.trim()?X.trim():void 0}function aY($,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 wB($){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=aY(Q,"x-data");if(!q)continue;let W=`__stx_scope_${GB++}`,K=aY(Q,"x-init"),z=qB($,G,w+Y.length),U=$.slice(w,z.endIndex),B=WB(U);X.push({id:W,selector:`[data-stx-scope="${W}"]`,stateExpr:q,initExpr:K,bindings:[],refs:B})}return X}function qB($,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 WB($){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=KB(G);X.set(Q,w)}return X}function KB($){let X=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(X)return X[1];return`__stx_el_${QB++}`}function zB(){return`
|
|
12105
12105
|
// STX Reactive Runtime - x-cloak and transition CSS
|
|
12106
12106
|
(function() {
|
|
12107
12107
|
var style = document.createElement('style');
|
|
@@ -12308,7 +12308,7 @@ window.__stx_reactive = (function() {
|
|
|
12308
12308
|
|
|
12309
12309
|
return { initScope: initScope, reactive: reactive };
|
|
12310
12310
|
})();
|
|
12311
|
-
`}function
|
|
12311
|
+
`}function tY($,X){let Z=$.replace(/\{!!([\s\S]*?)!!\}/g,(w,q)=>{try{let W=m0(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=m0(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 UB($,X){if($.length===0)return"";let Z=$.map((J)=>{let Y=JSON.stringify(Object.fromEntries(J.refs)),G=tY(J.stateExpr,X),Q=J.initExpr?tY(J.initExpr,X):null,w=JSON.stringify(G),q=Q?JSON.stringify(Q):"null";return`
|
|
12312
12312
|
(function() {
|
|
12313
12313
|
var scopeEl = document.querySelector('${J.selector}');
|
|
12314
12314
|
if (!scopeEl) return;
|
|
@@ -12317,16 +12317,16 @@ window.__stx_reactive = (function() {
|
|
|
12317
12317
|
})();`}).join(`
|
|
12318
12318
|
`);return`
|
|
12319
12319
|
<script data-stx-scoped data-stx-reactive data-stx-run="always">
|
|
12320
|
-
${
|
|
12320
|
+
${zB()}
|
|
12321
12321
|
${Z}
|
|
12322
|
-
</script>`}function
|
|
12323
|
-
`+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,' data-stx-xinit="$1"'),J=J.replace(/\s*x-init\s*=\s*'([^']*)'/g," data-stx-xinit='$1'"),J}function UB($){return/x-data\s*=\s*["']/.test($)}var JB=0,YB=0;var aY=E(()=>{q1()});import jB from"fs";import g4 from"path";import{createHighlighter as BB}from"ts-syntax-highlighter";async function _B($,X={}){try{if(!await n($))throw Error(`Markdown file not found: ${$}`);let J=(await jB.promises.stat($)).mtime.getTime();if(X.cache&&h4.has($)){let z=h4.get($);if(z.updatedAt>=J)return{content:z.content,data:z.data}}let Y=await Bun.file($).text(),{data:G,content:Q}=e6(Y),w=X.markdown||k7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},W=R7(Q,{gfm:!0});if(w.syntaxHighlighting?.enabled&&w.syntaxHighlighting?.serverSide)W=await HB(W,w.syntaxHighlighting?.defaultTheme||"github-dark",w.syntaxHighlighting?.highlightUnknownLanguages||!1);let K={content:W,data:G||{}};if(X.cache)h4.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 HB($,X,Z){let J=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!r$)try{r$=await BB({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(!r$.getSupportedLanguages().includes(U))return w;return(await r$.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 tY($,X,Z="",J={}){return await OB($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,w,q,W)=>{try{let K=w;if(!g4.isAbsolute(w))K=g4.resolve(g4.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('"'),M=R.startsWith("'")&&R.endsWith("'");if(N||M)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 _B(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 j0("Markdown File",`Error including markdown file: ${z}`,Z,$,W,Q)}})}async function OB($,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 h4,r$=null;var eY=E(()=>{L1();y0();h4=new Map});function h1($,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 $G=E(()=>{E0()});function LB($,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=VX(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 FB($){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 VB($,X){if(X.length===0)return $;return $.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,J)=>X[Number(J)]??Z)}function R1($,X,Z){let{masked:J,scripts:Y}=FB($);return VB(AB(J,X,Z),Y)}function AB($,X,Z){let J=$;J=LB(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=v1(J,w+7);if(!q)break;let W=q.endPos,K=e1(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=d4(J,X,Z),J=m4(J,X,Z),J=u4(J,X);let Y=()=>{let G=g7(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 XG($){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 u4($,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=XG(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?h1(`auth?.check && auth?.user?.[${K}]`,X):h1("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=XG(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?h1(`!auth?.check || !auth?.user?.[${K}]`,X):h1("!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=h1(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,M=[],T;while((T=V.exec(L))!==null)M.push({pos:T.index,type:"open"});while((T=A.exec(L))!==null)M.push({pos:T.index,type:"close"});while((T=R.exec(L))!==null)M.push({pos:T.index,type:"elseDirective"});while((T=N.exec(L))!==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)O.push(y)}let k=[],D=0;for(let y=0;y<O.length;y++){let v=O[y];if(k.push({content:L.slice(D,v.pos),ability:void 0}),v.type==="elseDirective"){let f=L.slice(v.pos+`@${W}`.length),x=Q(f);if(x){k[k.length-1]={content:L.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 l=O[y+1],c=l?l.pos:L.length;k.push({content:L.slice(D,c),ability:x.ability,type:x.type,id:x.id}),D=c}}else D=v.pos+5}if(D<L.length){let y=k[k.length-1];if(O.length>0&&O[O.length-1].type==="else")k.push({content:L.slice(D),isFinalElse:!0});else if(k.length===0)k.push({content:L.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 d4($,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=v1(G,B+`@${Q}`.length);if(!j)break;let _=j.endPos,H=e1(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 M=L.slice(0,F),T=L.slice(F+5);N=R?M:T}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),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=h1(G,X);return Q!==void 0&&Q!==null},"Isset"),J=Y(J,"empty","endempty",(G)=>{let Q=h1(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 m4($,X,Z){let J=$,Y="development";function G(Q,w,q,W){let K=new RegExp(`@${w}(?![a-z])`,"g"),z=new RegExp(`@${q}(?![a-z])`,"g"),U=new RegExp(`^@${w}(?![a-z])`),B=new RegExp(`^@${q}(?![a-z])`),j=Q,_=!0;while(_){_=!1,K.lastIndex=0;let H=K.exec(j);if(!H)break;let L=H.index,O=L+H[0].length;if(w==="env"){let I=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!I)break;O+=I[0].length,W=Y===I[2]}let F=1,V=O,A=-1;while(F>0&&V<j.length){K.lastIndex=V,z.lastIndex=V;let I=K.exec(j),S=z.exec(j),b=I?I.index:1/0,y=S?S.index:1/0;if(b<y)F++,V=b+I[0].length;else if(y<1/0){if(F--,F===0){A=y;break}V=y+S[0].length}else break}if(A===-1){console.warn(`[stx] @${w} directive at position ${L} has no matching @${q} \u2014 the block was skipped.`);break}let R=j.substring(O,A),N=-1,M=0,T=0;while(T<R.length){let I=R.indexOf("@",T);if(I===-1)break;let S=R.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=R.slice(0,N),S=R.slice(N+5);k=W?I:S}else k=W?R:"";let D=`@${q}`.length;j=j.substring(0,L)+k+j.substring(A+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 o7=E(()=>{$G();V1();d8();E0()});function JG($=16){let X=new Uint8Array($);return crypto.getRandomValues(X),btoa(String.fromCharCode(...X))}function o$($,X){if(!$)return X?.nonceGenerator?.()??JG();let Z=ZG.get($);if(!Z)Z=X?.nonceGenerator?.()??JG(),ZG.set($,Z);return Z}function RB($,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 YG($,X){return`<meta http-equiv="Content-Security-Policy" content="${RB($,X).replace(/&/g,"&").replace(/"/g,""")}">`}function GG($,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?o$(Z,X):void 0,Y=YG(X.directives,J);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
12324
|
-
${Y}`)}function
|
|
12325
|
-
${
|
|
12326
|
-
${
|
|
12327
|
-
`),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]=
|
|
12322
|
+
</script>`}function eY($,X,Z){if(!BB($))return $;let J=wB($);if(J.length===0)return $;let Y=jB($,J),G=UB(J,X),Q=Y.lastIndexOf("</body>");if(Q!==-1)Y=Y.slice(0,Q)+G+`
|
|
12323
|
+
`+Y.slice(Q);else Y+=G;return Y}function jB($,X){let Z=0,J=$.replace(/<([a-z][a-z0-9-]*)(\s+[^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,(Y,G,Q)=>{let w=X[Z++];if(!w)return Y;let q=/data-stx-scope="([^"]*)"/.exec(Q);if(q)return w.id=q[1],w.selector=`[data-stx-scope="${w.id}"]`,Y;return`<${G} data-stx-scope="${w.id}"${Q}>`});return J=J.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),J=J.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),J=J.replace(/\s*x-init\s*=\s*"([^"]*)"/g,' data-stx-xinit="$1"'),J=J.replace(/\s*x-init\s*=\s*'([^']*)'/g," data-stx-xinit='$1'"),J}function BB($){return/x-data\s*=\s*["']/.test($)}var GB=0,QB=0;var $G=y(()=>{W1()});import _B from"fs";import c4 from"path";import{createHighlighter as HB}from"ts-syntax-highlighter";async function OB($,X={}){try{if(!await n($))throw Error(`Markdown file not found: ${$}`);let J=(await _B.promises.stat($)).mtime.getTime();if(X.cache&&l4.has($)){let z=l4.get($);if(z.updatedAt>=J)return{content:z.content,data:z.data}}let Y=await Bun.file($).text(),{data:G,content:Q}=Y2(Y),w=X.markdown||k7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},W=N7(Q,{gfm:!0});if(w.syntaxHighlighting?.enabled&&w.syntaxHighlighting?.serverSide)W=await LB(W,w.syntaxHighlighting?.defaultTheme||"github-dark",w.syntaxHighlighting?.highlightUnknownLanguages||!1);let K={content:W,data:G||{}};if(X.cache)l4.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:B0("Markdown File",`Error reading/parsing markdown file: ${J}`,$,"",0,""),data:{}}}}async function LB($,X,Z){let J=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!s$)try{s$=await HB({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(!s$.getSupportedLanguages().includes(U))return w;return(await s$.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 XG($,X,Z="",J={}){return await FB($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,w,q,W)=>{try{let K=w;if(!c4.isAbsolute(w))K=c4.resolve(c4.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('"'),M=R.startsWith("'")&&R.endsWith("'");if(N||M)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 OB(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 B0("Markdown File",`Error including markdown file: ${z}`,Z,$,W,Q)}})}async function FB($,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 l4,s$=null;var ZG=y(()=>{F1();y0();l4=new Map});function h1($,X){try{let Z=$.trim();if(q0(Z))return W0(Z,Object.keys(X))(...Object.values(X));else return G0(Z,X)}catch{return!1}}var JG=y(()=>{I0()});function VB($,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=MX(J,Q);if(!w)break;try{let q;if(q0(w.expression))q=W0(w.expression,Object.keys(X))(...Object.values(X));else q=G0(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=G0(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=X0("Switch",`Error evaluating @switch expression: ${W}`,s.EVALUATION_ERROR);J=J.substring(0,Q)+K+J.substring(w.end);break}}return J}function AB($){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 RB($,X){if(X.length===0)return $;return $.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,J)=>X[Number(J)]??Z)}function N1($,X,Z){let{masked:J,scripts:Y}=AB($);return RB(NB(J,X,Z),Y)}function NB($,X,Z){let J=$;J=VB(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=v1(J,w+7);if(!q)break;let W=q.endPos,K=e1(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=i4(J,X,Z),J=n4(J,X,Z),J=p4(J,X);let Y=()=>{let G=g7(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=G0(K.condition,X);if(z)q=K.content,W=!0}catch(z){q=X0(K.type==="if"?"If":"Elseif",`Error in @${K.type}(${K.condition}): ${z instanceof Error?z.message:String(z)}`,s.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=X0("If",`Error processing @if block: ${W}`,s.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 YG($){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 p4($,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=YG(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?h1(`auth?.check && auth?.user?.[${K}]`,X):h1("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=YG(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?h1(`!auth?.check || !auth?.user?.[${K}]`,X):h1("!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=h1(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,M=[],k;while((k=V.exec(L))!==null)M.push({pos:k.index,type:"open"});while((k=A.exec(L))!==null)M.push({pos:k.index,type:"close"});while((k=R.exec(L))!==null)M.push({pos:k.index,type:"elseDirective"});while((k=N.exec(L))!==null)M.push({pos:k.index,type:"else"});M.sort((E,v)=>E.pos-v.pos);for(let E of M){if(E.type==="open"){F++;continue}if(E.type==="close"){F--;continue}if(F===0)O.push(E)}let T=[],D=0;for(let E=0;E<O.length;E++){let v=O[E];if(T.push({content:L.slice(D,v.pos),ability:void 0}),v.type==="elseDirective"){let x=L.slice(v.pos+`@${W}`.length),f=Q(x);if(f){T[T.length-1]={content:L.slice(D,v.pos)},D=v.pos+`@${W}`.length+f.paramsEnd,T.push({content:"",ability:f.ability,type:f.type,id:f.id}),T.pop();let h=O[E+1],p=h?h.pos:L.length;T.push({content:L.slice(D,p),ability:f.ability,type:f.type,id:f.id}),D=p}}else D=v.pos+5}if(D<L.length){let E=T[T.length-1];if(O.length>0&&O[O.length-1].type==="else")T.push({content:L.slice(D),isFinalElse:!0});else if(T.length===0)T.push({content:L.slice(D)})}let I=G(j.ability,j.type,j.id),S=w==="can"?I:!I,b="";if(S)b=T[0]?.content||"";else{let E=!1;for(let v=1;v<T.length;v++){let x=T[v];if(x.isFinalElse){b=x.content,E=!0;break}if(x.ability){let f=G(x.ability,x.type,x.id);if(w==="can"?f:!f){b=x.content,E=!0;break}}}if(!E&&T.length>0){let v=T[T.length-1];if(v.isFinalElse)b=v.content}}Z=Z.substring(0,U)+b+Z.substring(H+`@${q}`.length),K=!0}}return Z}function i4($,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=v1(G,B+`@${Q}`.length);if(!j)break;let _=j.endPos,H=e1(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 M=L.slice(0,F),k=L.slice(F+5);N=R?M:k}else N=R?L:"";G=G.substring(0,B)+N+G.substring(H+`@${w}`.length),K=!0}catch(R){let N=R instanceof Error?R.message:String(R),M=X0(W,`Error processing @${Q} directive: ${N}`,s.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=h1(G,X);return Q!==void 0&&Q!==null},"Isset"),J=Y(J,"empty","endempty",(G)=>{let Q=h1(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 n4($,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,E=S?S.index:1/0;if(b<E)F++,V=b+I[0].length;else if(E<1/0){if(F--,F===0){A=E;break}V=E+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,M=0,k=0;while(k<R.length){let I=R.indexOf("@",k);if(I===-1)break;let S=R.substring(I);if(U.test(S)){M++,k=I+1;continue}if(B.test(S)){M--,k=I+1;continue}if(M===0&&/^@else(?![a-z])/.test(S)){N=I;break}k=I+1}let T;if(N!==-1){let I=R.slice(0,N),S=R.slice(N+5);T=W?I:S}else T=W?R:"";let D=`@${q}`.length;j=j.substring(0,L)+T+j.substring(A+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 o7=y(()=>{JG();A1();m8();I0()});function QG($=16){let X=new Uint8Array($);return crypto.getRandomValues(X),btoa(String.fromCharCode(...X))}function a$($,X){if(!$)return X?.nonceGenerator?.()??QG();let Z=GG.get($);if(!Z)Z=X?.nonceGenerator?.()??QG(),GG.set($,Z);return Z}function TB($,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 wG($,X){return`<meta http-equiv="Content-Security-Policy" content="${TB($,X).replace(/&/g,"&").replace(/"/g,""")}">`}function qG($,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?a$(Z,X):void 0,Y=wG(X.directives,J);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
12324
|
+
${Y}`)}function WG($,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 KG($,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?a$(X,G):void 0;return wG(G.directives,Q)}),Y=Y.replace(/@cspNonce\b/g,()=>{if(!G?.enabled||!G.useNonce)return"";return a$(X,G)}),G?.enabled&&G.useNonce)X.cspNonce=a$(X,G);return Y}var GG;var zG=y(()=>{GG=new WeakMap});import MB from"crypto";function IB($=kB){let X=MB.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return r4=X,X}function EB(){if(!r4)IB();return r4}function DB($=UG){let X=EB();return`<input type="hidden" name="${$}" value="${X}">`}function jG($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(X,Z,J)=>{return DB(J||UG)})}var kB=40,UG="_token",r4=null;var BG=()=>{};async function _G($,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 yB(Y,G,X,Z,J);else Y=await bB(Y,G,X,Z,J)}return Y}async function yB($,X,Z,J,Y){let{name:G,handler:Q}=X,w=`@${G}`,q=`@end${G}`,W=$,K=E5(`${w}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),z=[],U=K.exec(W);while(U!==null){let[B,j="",_=""]=U,H=U.index||0;try{let L=j?HG(j):[],O=_.trim(),F=await Q(O,L,Z,J);z.push({original:B,processed:F,startIndex:H})}catch(L){let O=L instanceof Error?L.message:String(L);if(Y.debug)console.error(`Error processing custom directive @${G}:`,L);z.push({original:B,processed:X0("CustomDirective",`Error in @${G}${j?`(${j})`:""}: ${O}`,s.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 bB($,X,Z,J,Y){let{name:G,handler:Q}=X,w=$,q=E5(`@${G}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),W=[],K=q.exec(w);while(K!==null){let[B,j=""]=K,_=K.index||0;try{let H=HG(j),L=await Q("",H,Z,J);W.push({original:B,processed:L,startIndex:_})}catch(H){let L=H instanceof Error?H.message:String(H);if(Y.debug)console.error(`Error processing custom directive @${G}:`,H);W.push({original:B,processed:X0("CustomDirective",`Error in @${G}(${j}): ${L}`,s.EVALUATION_ERROR),startIndex:_})}K=q.exec(w)}let z=E5(`@${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:X0("CustomDirective",`Error in @${G}: ${H}`,s.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 HG($){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 OG=y(()=>{A1();D5()});function w5($,X){if(typeof $!=="string"||$.length===0)throw Error(`@appearanceBootstrap ${X} must be a non-empty string`)}function CB($){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"),!FG.test(Z.key)||!FG.test(J.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!LG.test(Z.attribute)||!LG.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(!SB.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 PB($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function vB($){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${PB($)};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 xB($,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 VG($,X){let Z=$,J=/@appearanceBootstrap\s*\(/g,Y;while((Y=J.exec(Z))!==null){let G=Y.index+Y[0].length-1,Q=xB(Z,G);if(Q===-1)throw Error("@appearanceBootstrap has an unclosed options object");let w=Z.slice(G+1,Q).trim(),q=G0(`(${w})`,X),W=vB(CB(q));Z=Z.slice(0,Y.index)+W+Z.slice(Q+1),J.lastIndex=Y.index+W.length}return Z}var LG,FG,SB;var AG=y(()=>{I0();LG=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,FG=/^[A-Za-z_$][\w$]*$/,SB=new Set(["light","dark","system"])});import fB from"crypto";function A0($){return String($??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function t$($,X,Z,J){let Y=$||X;return Z?`${Y} ${J}`:Y}function a0($){return String($).replace(/\[\]$/,"").replace(/[^\w.:-]+/g,"-").replace(/^-+|-+$/g,"")}function g5($,X){if(/\bid\s*=/i.test($))return"";return` id="${A0(X)}"`}function o4($,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="${A0(`${a0($)}-error`)}"`;return J}function gB(){return fB.randomUUID()}function e$($,X){let Z=$;return Z=Z.replace(/@csrf/g,()=>{if(!X.csrf||typeof X.csrf!=="object"){let J=gB();X.csrf={token:J}}if(X.csrf.field)return X.csrf.field;if(X.csrf.token)return`<input type="hidden" name="_token" value="${A0(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="${A0(G)}">`;return J}),Z}function TG($,X,Z=NG){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=u1(W),B=K.toUpperCase(),j=["GET","POST"].includes(B)?B:"POST",_=`<form method="${A0(j)}" action="${A0(z)}"${U?` ${U}`:""}>`;if(_+=`
|
|
12325
|
+
${e$("@csrf",X)}`,!["GET","POST"].includes(B))_+=`
|
|
12326
|
+
${e$(`@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=u1(W),B=s7(K,X),j=B!==void 0&&B!==null?B:z||"",_=U.match(/type=['"]([^'"]+)['"]/i),H=_?_[1]:"text",L=a7(K,X),O=U.match(/class=['"]([^'"]+)['"]/i),F=t$(O?O[1]:"",Z.input,L,Z.inputError),V=U.replace(/class=['"][^'"]+['"]/i,"");return V=V.replace(/type=['"][^'"]+['"]/i,""),`<input type="${A0(H)}" name="${A0(K)}"${g5(U,a0(K))} value="${A0(j)}" class="${F}"${o4(K,L,U)}${V?` ${V}`:""}>`}),J=J.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Y,G,Q="",w="")=>{let q=u1(Q),W=s7(G,X)||w.trim(),K=a7(G,X),z=q.match(/class=['"]([^'"]+)['"]/i),U=t$(z?z[1]:"",Z.input,K,Z.inputError),B=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${A0(G)}"${g5(q,a0(G))} class="${U}"${o4(G,K,q)}${B?` ${B}`:""}>${A0(W)}</textarea>`}),J=J.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Y,G,Q="",w)=>{let q=u1(Q),W=s7(G,X),K=a7(G,X),z=q.match(/class=['"]([^'"]+)['"]/i),U=t$(z?z[1]:"",Z.input,K,Z.inputError),B=q.replace(/class=['"][^'"]+['"]/i,""),j=w;if(W!==void 0)j=w.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(_,H,L)=>{if((Array.isArray(W)?W.some((F)=>String(F)===L):String(W)===L)&&!H.includes("selected"))return H.replace(/(<option)/,"$1 selected");return _});return`<select name="${A0(G)}"${g5(q,a0(G))} class="${U}"${o4(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?a0(G):`${a0(G)}-${a0(q)}`,K=u1(w),z=s7(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="${A0(G)}"${g5(K,W)} value="${A0(q)}" class="${j}"${U?" checked":""}${_?` ${_}`:""}>`}),J=J.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Y,G,Q,w="")=>{let q=u1(w),W=s7(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="${A0(G)}"${g5(q,`${a0(G)}-${a0(Q)}`)} value="${A0(Q)}" class="${U}"${K?" checked":""}${B?` ${B}`:""}>`}),J=J.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Y,G,Q="")=>{let w=u1(Q),q=w.match(/accept=['"]([^'"]+)['"]/i),W=q?q[1]:"",K=w.includes("multiple"),z=a7(G,X),U=w.match(/class=['"]([^'"]+)['"]/i),B=t$(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="${A0(G)}"${g5(w,a0(G))}`,`class="${B}"`];if(W)_.push(`accept="${A0(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=u1(Q),W=q.match(/class=['"]([^'"]+)['"]/i),K=W?W[1]:Z.label,z=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${A0(a0(G))}" class="${K}"${z?` ${z}`:""}>${w}</label>`}),J}function MG($,X,Z=NG){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(J,Y,G)=>{try{if(a7(Y,X)){let Q=G.replace(/\{\{([^}]+)\}\}/g,(w,q)=>{try{if(q.trim()==="$message"||q.trim()==="message")return RG(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 RG(Y,X)}let W=q.trim();if(q0(W)){let K=G0(W,X);return K!==void 0?String(K):W}return W}catch{return q}});return`<div id="${A0(`${a0(Y)}-error`)}" role="alert">${Q}</div>`}return""}catch(Q){return console.error("Error processing @error directive:",Q),J}})}function a7($,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 RG($,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 s7($,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 u1($){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 NG;var kG=y(()=>{I0();NG={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import t4 from"path";async function hB(){if(t7!==void 0)return t7;try{t7=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{t7=null}return t7}function uB($,X=0){if(X<=0)return!1;return Date.now()-$.loadedAt>X}async function dB($,X){if({...X3,...X.i18n}.cache&&e4[$]){let Y=e4[$],G=X.i18n?.cacheMaxAge??0;if(!uB(Y,G))return Y.translations}if(e7[$]?.state==="loading")return e7[$].promise;s4[$]="loading";let J=$3($,X).then((Y)=>{return s4[$]="loaded",delete e7[$],Y}).catch((Y)=>{throw s4[$]="error",e7[$]={promise:J,state:"error",error:Y instanceof Error?Y:Error(String(Y))},Y});return e7[$]={promise:J,state:"loading"},J}async function $3($,X){let Z={...X3,...X.i18n},J=t4.isAbsolute(Z.translationsDir)?Z.translationsDir:t4.resolve(X.root||process.cwd(),Z.translationsDir);try{let Y=await hB(),G=Y?await Y($,{translationsDir:J,defaultLocale:Z.defaultLocale,sources:iB(Z.format)}):await mB($,Z,J);if(G===void 0){if($!==Z.defaultLocale)return $3(Z.defaultLocale,X);return{}}let Q=G;if(Z.cache)e4[$]={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 $3(Z.defaultLocale,X);return{}}}async function mB($,X,Z){let J=t4.join(Z,`${$}${cB(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 lB(G);if(X.format==="json")return JSON.parse(G);throw Y}catch{return}}}function cB($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function lB($){let X={},Z=$.split(`
|
|
12327
|
+
`),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 iB($){switch($){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function nB($,X){return dB($,X)}function rB($,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 oB($,X={}){return DG($,X)}function DG($,X){let Z="",J=0;while(J<$.length)if($[J]==="{"){let Y=sB($,J);if(Y===-1){Z+=$[J],J++;continue}let G=$.slice(J+1,Y);Z+=aB(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 sB($,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 aB($,X){let Z=tB($);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 eB(Y,Z.slice(2).join(","),X);case"select":return X_(Y,Z.slice(2).join(","));case"selectordinal":return Z_(Y,Z.slice(2).join(","));case"number":return Y_(Y,Z[2]?.trim());case"date":return G_(Y,Z[2]?.trim());case"time":return Q_(Y,Z[2]?.trim());default:return Y!==void 0?String(Y):`{${$}}`}}function tB($){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 eB($,X,Z){let J=Number($)||0,Y=Z3(X),G=`=${J}`;if(Y[G])return a4(Y[G],J,Z);let Q=$_(J);if(Y[Q])return a4(Y[Q],J,Z);if(Y.other)return a4(Y.other,J,Z);return String(J)}function a4($,X,Z){let J=$.replace(/#/g,String(X));return DG(J,Z)}function $_($){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 X_($,X){let Z=String($||""),J=Z3(X);if(J[Z])return J[Z];return J.other||String($)}function Z_($,X){let Z=Number($)||0,J=Z3(X),Y=J_(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 J_($){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 Z3($){let X={},Z=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,J=Z.exec($);while(J!==null)X[J[1]]=J[2],J=Z.exec($);return X}function Y_($,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 G_($,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 Q_($,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 w_($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function IG($,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(w_(Q))return oB(Q,J);if(Q.includes("|")&&"count"in J){let w=Number(J.count),q=Q.split("|");Q=rB(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 yG($,X,Z,J){let Y=$,G=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,Q={...X3,...J.i18n},w=await nB(Q.locale,J);X.__translations=w,X.__locale=Q.locale,X.__i18nConfig=Q,Y=await EG(Y,G,async(K,z,U,B,j)=>{try{let _={};if(U)try{let L=[()=>JSON.parse(U),()=>{let O=`{"data":${U}}`,F=JSON.parse(O);return typeof F.data==="object"?F.data:{}},()=>{return k0(U,X)}];for(let O of L)try{if(_=O(),Object.keys(_).length>0)break}catch{}}catch(L){if(J.debug)console.error("Error parsing parameters for @translate directive:",L)}return IG(z,w,Q.fallbackToKey,_)||B.trim()}catch(_){if(J.debug)console.error("Error processing @translate directive:",_);return X0("Translate",`Error in @translate('${z}'): ${_ instanceof Error?_.message:String(_)}`,s.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 EG(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}}`,L=JSON.parse(H);return typeof L.data==="object"?L.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 IG(z,w,Q.fallbackToKey,j)}catch(j){if(J.debug)console.error("Error processing @translate directive:",j);return X0("Translate",`Error in @translate('${z}'): ${j instanceof Error?j.message:String(j)}`,s.EVALUATION_ERROR)}}),Y}async function EG($,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 t7,X3,e4,e7,s4;var bG=y(()=>{A1();I0();X3={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},e4={},e7={},s4={}});var G3={};a(G3,{streamingSuspenseDirective:()=>PG,streamToResponse:()=>F_,streamTemplateSimple:()=>__,streamTemplate:()=>W_,renderStreamingPage:()=>z_,registerStreamingDirectives:()=>O_,processStreamDirectives:()=>j_,processSectionDirectives:()=>L_,islandDirective:()=>vG,generateHydrationRuntime:()=>V_,extractStreamBoundaries:()=>B_,createStreamRenderer:()=>H_,buildSuspenseResolveScript:()=>Y3,SUSPENSE_RESOLVER_RUNTIME:()=>CG});import $9 from"path";function q_($){let X=[],Z=0,J;SG.lastIndex=0;while((J=SG.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 W_($,X={},Z={}){let J={...Q5,...Z,streaming:{...J3,...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:$9.dirname($)};if(q.trim())await t1(q,K,$);let z=q_(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 L=await F0(W,K,$,J,U);for(let O=0;O<L.length;O+=Y)G.enqueue(L.slice(O,O+Y)),await new Promise((F)=>setTimeout(F,0))}else{let L=[],O=new RegExp(q5.source,"g"),F;while((F=O.exec(W))!==null)L.push({name:F[1],content:F[2],start:F.index,end:F.index+F[0].length});let V=0;for(let A of L){if(A.start>V){let N=W.slice(V,A.start);if(N.trim()){let M=await F0(N,K,$,J,U);G.enqueue(M),await new Promise((k)=>setTimeout(k,0))}}let R=await F0(A.content,K,$,J,U);G.enqueue(R),await new Promise((N)=>setTimeout(N,0)),V=A.end}if(V<W.length){let A=W.slice(V);if(A.trim()){let R=await F0(A,K,$,J,U);G.enqueue(R)}}}}else{let j=new Map;for(let H of z)if(H.type==="shell"||H.type==="content"){let L=await F0(H.content,K,$,J,U);G.enqueue(L)}else if(H.type==="suspense"&&H.name){let L=`stx-suspense-${H.name}`;G.enqueue(`<div id="${L}" data-suspense="${H.name}" style="display:contents;">
|
|
12328
12328
|
<template data-suspense-fallback>Loading...</template>
|
|
12329
|
-
</div>`),j.set(H.name,
|
|
12329
|
+
</div>`),j.set(H.name,F0(H.content,K,$,J,U))}G.enqueue(`
|
|
12330
12330
|
<script>
|
|
12331
12331
|
(function() {
|
|
12332
12332
|
window.__stxSuspense = window.__stxSuspense || {
|
|
@@ -12342,13 +12342,13 @@ ${Y}`)}function QG($,X){let Z=$;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*
|
|
|
12342
12342
|
}
|
|
12343
12343
|
};
|
|
12344
12344
|
})();
|
|
12345
|
-
</script>`);let _=Array.from(j.entries()).map(async([H,L])=>{G.enqueue(await
|
|
12345
|
+
</script>`);let _=Array.from(j.entries()).map(async([H,L])=>{G.enqueue(await Y3(H,L))});await Promise.all(_)}G.close()}catch(Q){G.error(Q)}}})}async function Y3($,X){try{let J=(await X).replace(/`/g,"\\`").replace(/<\/script>/gi,"<\\/script>");return`
|
|
12346
12346
|
<script>
|
|
12347
12347
|
window.__stxSuspense.resolve('${$}', \`${J}\`);
|
|
12348
12348
|
</script>`}catch(Z){let J=Z instanceof Error?Z.message:String(Z);return`
|
|
12349
12349
|
<script>
|
|
12350
|
-
window.__stxSuspense.resolve('${$}', '<div class="stx-error">Error loading content: ${
|
|
12351
|
-
</script>`}}function
|
|
12350
|
+
window.__stxSuspense.resolve('${$}', '<div class="stx-error">Error loading content: ${X1(J)}</div>');
|
|
12351
|
+
</script>`}}function K_($,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 z_($,X=[],Z={}){let J=Z.timeoutMs??0;return new ReadableStream({async start(Y){try{if(Y.enqueue($),X.length>0)Y.enqueue(CG),await Promise.all(X.map(async(G)=>{let Q=K_(G.render(),J,G.id);Y.enqueue(await Y3(G.id,Q))}));Y.close()}catch(G){Y.error(G)}}})}function j_($,X){return $.replace(U_,(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 B_($){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 __($,X={},Z={}){let J={...Q5,...Z,streaming:{...J3,...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:$9.dirname($)};if(q.trim())await t1(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 F0(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"),L;while((L=H.exec(W))!==null)_.push({name:L[1],content:L[2],start:L.index,end:L.index+L[0].length});let O=0;for(let F of _){if(F.start>O){let A=W.slice(O,F.start);if(A.trim()){let R=await F0(A,K,$,J,z);G.enqueue(R)}}let V=await F0(F.content,K,$,J,z);G.enqueue(V),O=F.end}if(O<W.length){let F=W.slice(O);if(F.trim()){let V=await F0(F,K,$,J,z);G.enqueue(V)}}}G.close()}catch(Q){G.error(Q)}}})}async function H_($,X={}){let Z={...Q5,...X,streaming:{...J3,...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:$9.dirname($)};return await t1(G,B,$),F0(K,B,$,Z,new Set)},renderSection:async(U,B={})=>{try{if(!q[U])return`<div class="error-message">Section "${X1(U)}" not found in template "${X1($)}"</div>`;let j={...B,__filename:$,__dirname:$9.dirname($)};await t1(G,j,$);let _=new Set;return await F0(q[U],j,$,Z,_)}catch(j){let _=j instanceof Error?j.message:String(j);return B0("Expression",_,$,q[U]||"",0,q[U]||"")}},getSections:()=>{return Object.keys(q)},getTemplate:()=>{return w}}}function O_($={}){let X=[];if($.streaming?.enabled)X.push(PG);if($.hydration?.enabled)X.push(vG);return X}async function L_($,X,Z,J={}){return $}function F_($,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 V_($={mode:"full"}){let{mode:X,components:Z={},dynamicImports:J=!0}=$,Y=Object.entries(Z).map(([G,Q])=>`'${G}': ${J?`() => import('${Q}')`:`require('${Q}')`}`).join(`,
|
|
12352
12352
|
`);if(X==="loader")return`
|
|
12353
12353
|
(function() {
|
|
12354
12354
|
window.__stx = window.__stx || {};
|
|
@@ -12490,7 +12490,7 @@ else {
|
|
|
12490
12490
|
else {
|
|
12491
12491
|
stx.hydrate();
|
|
12492
12492
|
}
|
|
12493
|
-
})();`}var
|
|
12493
|
+
})();`}var J3,q5,SG,CG=`
|
|
12494
12494
|
<script>
|
|
12495
12495
|
(function(){
|
|
12496
12496
|
window.__stxSuspense = window.__stxSuspense || {
|
|
@@ -12510,25 +12510,25 @@ else {
|
|
|
12510
12510
|
}
|
|
12511
12511
|
};
|
|
12512
12512
|
})();
|
|
12513
|
-
</script>`,
|
|
12513
|
+
</script>`,U_,PG,vG;var Q3=y(()=>{F1();W1();z$();y0();J3={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},q5=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,SG=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;U_=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;PG={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} -->`}},vG={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}">
|
|
12514
12514
|
${W}
|
|
12515
12515
|
<script type="application/json" data-island-props="${Q}">
|
|
12516
12516
|
${q?`{${q}}`:"{}"}
|
|
12517
12517
|
</script>
|
|
12518
|
-
</div>`}}});var
|
|
12519
|
-
`).length;Z.set(q,{count:1,firstLine:z})}}}let Q=[];for(let w of new Set([...Z.keys(),...J.keys()])){if(
|
|
12520
|
-
`}if(F){let b=[];if(K==="avif"||K==="auto"){let
|
|
12518
|
+
</div>`}}});var gG={};a(gG,{warnUnbalancedTags:()=>w3,findUnbalancedTags:()=>fG});function h5($){return $.replace(/[^\n]/g," ")}function fG($){let X=$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,h5).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,h5).replace(/<!--[\s\S]*?-->/g,h5).replace(/\{\{\{[\s\S]*?\}\}\}/g,h5).replace(/\{\{[\s\S]*?\}\}/g,h5).replace(/\{!![\s\S]*?!!\}/g,h5),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(A_.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(`
|
|
12519
|
+
`).length;Z.set(q,{count:1,firstLine:z})}}}let Q=[];for(let w of new Set([...Z.keys(),...J.keys()])){if(R_.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 w3($,X){let Z;try{Z=fG($)}catch{return}if(Z.length===0)return;let J=`${X}:${$.length}`;if(xG.has(J))return;xG.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 A_,R_,xG;var q3=y(()=>{A_=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),R_=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);xG=new Set});import t0 from"path";import W3 from"fs";function hG($){return $.split("-").map((X)=>X.charAt(0).toUpperCase()+X.slice(1)).join("")}function uG($){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(),hG(Y),uG(Y)];for(let j of B)if(G.has(j))return G.get(j)}let Q=[...new Set([`${Y}.stx`,`${hG(Y)}.stx`,`${uG(Y)}.stx`])];if(Y.startsWith("./")||Y.startsWith("../")){let B=t0.resolve(t0.dirname(X),`${Y}.stx`);if(await n(B))return B;return null}let w=[],q=Z.componentsDir||"",W=J?.__originalFilePath;if(W)w.push(t0.join(t0.dirname(W),"components"));if(q)w.push(q);let K=t0.join(t0.dirname(X),"components");if(!w.includes(K))w.push(K);let z=process.cwd(),U=[t0.resolve(z,"src/components"),t0.resolve(z,"components"),t0.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 _=t0.join(B,j);if(await n(_))return _}try{if(!W3.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let _=W3.readdirSync(B,{withFileTypes:!0});for(let H of _)if(H.isDirectory()){let L=t0.join(B,H.name);for(let O of Q){let F=t0.join(L,O);if(await n(F))return F}}}catch{}}return null}}var c0;var K3=y(()=>{y0();c0=new dG});function T0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function z3($){return $.indexOf("\x00")===-1?$:$.replace(/\0/g,"")}var W5="\x00stx-boolean-attribute";function u5($,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(T0(G));continue}if(Y===W5){Z.push(T0(G));continue}Z.push(`${T0(G)}="${T0(z3(String(Y)))}"`)}return Z}function d5($,X){let Z=[];for(let[J,Y]of Object.entries($.serverDynamic??{})){if(X.has(J))continue;if(Y===null||Y===void 0||Y===!1)continue;let G=$.serverDynamicNames?.[J]??J;if(Y===!0){Z.push(T0(G));continue}if(typeof Y==="object")continue;Z.push(`${T0(G)}="${T0(z3(String(Y)))}"`)}return Z}var X9=()=>{};function $8($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function N_($){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 U3;var j3=y(()=>{X9();U3={name:"StxLink",aliases:["stx-link"],render($,X,Z){let J=N_($),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="${$8(J.value)}"`);else q.push(`href="${$8(J.value)}"`);if(Y)q.push(`class="${$8(Y)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${$8(G)}"`),q.push(`data-stx-exact-active-class="${$8(Q)}"`),w)q.push("data-stx-prefetch");let W=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return q.push(...u5($,W)),q.push(...d5($,W)),`<a ${q.join(" ")}>${X}</a>`}}});function C0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function g0($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}function _3($,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 mG($){if($.includes("(")||$.includes(","))return $;let X=$.trim().split(/\s+/),Z=[];for(let J of X)if(J.includes(":")){let[Y,G]=J.split(":"),Q=T_[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 H3($,X,Z,J){return X.map((Y)=>`${X8($,Y,void 0,Z,J)} ${Y}w`).join(", ")}function M_($,X,Z,J,Y){return X.map((G)=>{let Q=Z?Z*G:void 0;return`${X8($,Q,void 0,J,Y)} ${G}x`}).join(", ")}function X8($,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 k_($,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 T_,B3,O3;var L3=y(()=>{X9();T_={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},B3=[320,640,768,1024,1280,1536,1920];O3={name:"StxImage",aliases:["stx-image","stx-img"],render($,X,Z){let J=g0($,"src")||"",Y=g0($,"alt")||"",G=g0($,"width"),Q=g0($,"height"),w=g0($,"sizes"),q=g0($,"srcset"),W=g0($,"densities"),K=g0($,"format"),z=g0($,"placeholder"),U=g0($,"placeholderColor")||"#e5e7eb",B=g0($,"provider"),j=g0($,"class")||g0($,"className")||"",_=g0($,"style")||"",H=g0($,"quality"),L=_3($,"lazy",!0),O=_3($,"preload",!1),F=_3($,"picture",!1)||!!K,V=G?Number.parseInt(G):void 0,A=Q?Number.parseInt(Q):void 0,R=q||"",N="";if(!R&&w)R=H3(J,B3,B,K),N=mG(w);else if(!R&&W){let b=W.split(/\s+/).map((E)=>Number.parseFloat(E.replace("x","")));R=M_(J,b,V,B,K)}else if(w)N=mG(w);let M=[];if(_)M.push(_);if(V&&A)M.push(`aspect-ratio:${V}/${A}`);if(z==="blur"||z==="color"||z==="thumbhash"){let b=k_(V||16,A||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 k=X8(J,V,A,B,K),T=[];if(T.push(`src="${C0(k)}"`),T.push(`alt="${C0(Y)}"`),G)T.push(`width="${C0(G)}"`);if(Q)T.push(`height="${C0(Q)}"`);if(L)T.push('loading="lazy"');if(T.push('decoding="async"'),j)T.push(`class="${C0(j)}"`);if(M.length>0)T.push(`style="${C0(M.join(";"))}"`);if(R)T.push(`srcset="${C0(R)}"`);if(N)T.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"]);T.push(...u5($,D)),T.push(...d5($,D));let I=`<img ${T.join(" ")} />`,S="";if(O){let E=K==="webp"?"image/webp":K==="avif"?"image/avif":"";S=`<link rel="preload" as="image" href="${C0(k)}"${E?` type="${E}"`:""}${R?` imagesrcset="${C0(R)}"`:""}${N?` imagesizes="${C0(N)}"`:""} />
|
|
12520
|
+
`}if(F){let b=[];if(K==="avif"||K==="auto"){let E=X8(J,V,A,B,"avif"),v=R?H3(J,B3,B,"avif"):`${E}`;b.push(`<source type="image/avif" srcset="${C0(v)}"${N?` sizes="${C0(N)}"`:""} />`)}if(K==="webp"||K==="auto"){let E=X8(J,V,A,B,"webp"),v=R?H3(J,B3,B,"webp"):`${E}`;b.push(`<source type="image/webp" srcset="${C0(v)}"${N?` sizes="${C0(N)}"`:""} />`)}return`${S}<picture>
|
|
12521
12521
|
${b.join(`
|
|
12522
12522
|
`)}
|
|
12523
12523
|
${I}
|
|
12524
|
-
</picture>`}return`${S}${I}`}}});function Z8($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function
|
|
12524
|
+
</picture>`}return`${S}${I}`}}});function Z8($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function m5($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var cG="/images/safe-image-default.svg",I_,F3;var V3=y(()=>{X9();I_=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${cG}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,F3={name:"SafeImage",aliases:["safe-image","safe-img"],render($,X,Z){let J=m5($,"src")||"",Y=m5($,"alt")||"",G=m5($,"fallback")||cG,Q=m5($,"class")||m5($,"className")||"",w=m5($,"fallbackClassName")||"",q=[];if(q.push(`src="${Z8(J)}"`),q.push(`alt="${Z8(Y)}"`),Q)q.push(`class="${Z8(Q)}"`);if(q.push(`data-fallback="${Z8(G)}"`),w)q.push(`data-fallback-class="${Z8(w)}"`);q.push('onerror="window.__stxSafeImageHandler(this)"');let W=new Set(["src","alt","fallback","class","className","fallbackClassName"]);q.push(...u5($,W)),q.push(...d5($,W));let K=`<img ${q.join(" ")} />`,z=Z.context;if(!z.__safeImageHandlerEmitted)return z.__safeImageHandlerEmitted=!0,`${I_}${K}`;return K}}});function A3($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function J8($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}function Z9($,X,Z){let J=J8($,X);if(J!==void 0){let Y=Number.parseInt(J,10);if(!Number.isNaN(Y))return Y}return Z}var R3;var N3=y(()=>{R3={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,X,Z){let J=A3(J8($,"color")||"#6366f1"),Y=A3(J8($,"initialColor")||J8($,"initial-color")||""),G=A3(J8($,"height")||"3px"),Q=Z9($,"duration",2000),w=Z9($,"throttle",200),q=Z9($,"zIndex",999999)||Z9($,"z-index",999999),W=Y?`linear-gradient(to right, ${Y}, ${J})`:J;return`
|
|
12525
12525
|
<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">
|
|
12526
12526
|
<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>
|
|
12527
12527
|
</div>
|
|
12528
12528
|
<style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
|
|
12529
12529
|
<script>
|
|
12530
12530
|
(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()})})();
|
|
12531
|
-
</script>`}}});function
|
|
12531
|
+
</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 E_($,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 lG,T3;var M3=y(()=>{lG={"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%)"},T3={name:"StxToast",aliases:["stx-toast"],render($,X,Z){let J=T0(pG($,"position")||"top-right"),Y=E_($,"max",5),G=lG[J]||lG["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>
|
|
12532
12532
|
<style>
|
|
12533
12533
|
@keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
|
|
12534
12534
|
@keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
|
|
@@ -12536,7 +12536,7 @@ ${I}
|
|
|
12536
12536
|
@keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
|
|
12537
12537
|
@keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
|
|
12538
12538
|
@keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
|
|
12539
|
-
</style>`}}});function
|
|
12539
|
+
</style>`}}});function J9($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var iG,k3;var I3=y(()=>{iG={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)"},k3={name:"StxModal",aliases:["stx-modal"],render($,X,Z){let J=J9($,"id");if(!J)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let Y=T0(J),G=J9($,"size")||"md",Q=J9($,"closeOnBackdrop")!=="false",w=J9($,"closeOnEscape")!=="false",q=iG[G]||iG.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">
|
|
12540
12540
|
<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)">
|
|
12541
12541
|
<div style="padding:1.5rem">${X}</div>
|
|
12542
12542
|
</div>
|
|
@@ -12545,7 +12545,7 @@ ${I}
|
|
|
12545
12545
|
@media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
|
|
12546
12546
|
.stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
|
|
12547
12547
|
.stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
|
|
12548
|
-
</style>`}}});function
|
|
12548
|
+
</style>`}}});function c5($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var nG,E3;var D3=y(()=>{nG={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},E3={name:"StxDrawer",aliases:["stx-drawer"],render($,X,Z){let J=c5($,"id");if(!J)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let Y=T0(J),G=c5($,"side")||"right",Q=c5($,"size")||"md",w=c5($,"closeOnBackdrop")!=="false",q=c5($,"closeOnEscape")!=="false",W=c5($,"overlay")!=="false",K=nG[Q]||nG.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">
|
|
12549
12549
|
<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">
|
|
12550
12550
|
<div style="padding:1.5rem">${X}</div>
|
|
12551
12551
|
</div>
|
|
@@ -12554,18 +12554,18 @@ ${I}
|
|
|
12554
12554
|
@media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
|
|
12555
12555
|
.stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
|
|
12556
12556
|
.stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
|
|
12557
|
-
</style>`}}});import{existsSync as
|
|
12558
|
-
`||M==="\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 aG($){return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/'/gi,"'").replace(/&/g,"&")}function tG($,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 eG=E(()=>{E0();y0();o1()});var QQ={};t(QQ,{processESImports:()=>YQ,processComponents:()=>Q9});import G9 from"fs";import n0 from"path";function C_($,X,Z){let J={static:{},staticNames:{},serverDynamic:{},serverDynamicNames:{},clientReactive:{},events:{}},Y=new Set(Array.isArray(X.__stx_client_signal_names)?X.__stx_client_signal_names:[]),G=(W)=>{if(Y.size===0)return!1;let K=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(Y2),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]=tG(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 L=B.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],O=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(L.some((V)=>!O.has(V)&&!j.includes(V))){J.clientReactive[U]=B;continue}}if(J.serverDynamic[U]=H,U!==z.slice(1)&&J.serverDynamicNames)J.serverDynamicNames[U]=z.slice(1)}catch{J.clientReactive[U]=B}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let U=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(U)try{let B=U[1];if(w0(B)){let _=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 O=q0(H,Object.keys(X))(...Object.values(X));B=B.replace(_[0],String(O??""))}catch(H){if(Z.debug)console.error(`Error evaluating expression in ${z}:`,H)}q(z,B)}continue}q(z,K===W5?"true":aG(K))}return J}function v_($,X,Z){if(!$.includes("@"))return $;if(!P_.some(([Y,G])=>Y.test($)&&$.includes(G)))return $;try{return R1($,X,Z)}catch{return $}}function x_($){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 XQ($){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 g_($){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 h_($){let X=ZQ.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=G9.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 ZQ.set($,Z),Z}function u_($,X){if($.startsWith(".")||$.startsWith("/"))return null;let Z=X;while(!0){let J=n0.join(Z,"node_modules",$);try{if(G9.statSync(J).isDirectory())return J}catch{}let Y=n0.dirname(Z);if(Y===Z)return null;Z=Y}}async function YQ($,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,L,O,F]=j,V=null,A=null;if(F.startsWith(".")||F.startsWith("/")){let M=n0.resolve(Q,F);if(M.endsWith(".stx"))A=M;else{let T=`${M}.stx`;try{if(G9.statSync(T).isFile())A=T}catch{try{if(G9.statSync(M).isDirectory())V=M}catch{}}}}else V=u_(F,Q);if(!V&&!A)continue;let R=!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(O&&A)N(O,A),R=!0;else if(L){let M=L.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?h_(V):null;for(let{source:k,local:D}of M){let I=null;if(A)I=A;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),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 d_($,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=[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 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 m_($,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=I0(O,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 R="",N=_,T=G.substring(_).match(/^([\s\S]*?)@endcomponent/);if(T)R=T[1].trim(),N=_+T[0].length;let k=await Z5(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 l_($,X,Z,J,Y){if(!$)return $;let G=$,Q=J.componentsDir||"components";if(!X.__processedComponents)X.__processedComponents=new Set;let w=X.__processedComponents,q=b1(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,S_),G=S7(G,q.scripts),G;async function U(B,j,_,H){if(!B)return B;let L=B,O=sG(L,j,H);for(let F=O.length-1;F>=0;F--){let V=O[F],A=_?Y9(V.tagName):V.tagName,R=x_(v_(V.attributes,X,Z)),N=C_(R,X,J),M=m0.getBuiltin(V.tagName),T=M?await q$(A,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=JQ(b,N.clientReactive);if(Object.keys(N.events).length>0){let y=XQ(N.events);b=b.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${y}`)}L=L.substring(0,V.startIndex)+b+L.substring(V.endIndex);continue}if(!_&&V.tagName.includes("-")&&!await q$(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 Z5(A,k,V.content,Q,X,Z,J,w,Y);if(Object.keys(N.clientReactive).length>0)I=JQ(I,N.clientReactive);if(Object.keys(N.events).length>0){let S=GQ(I);if(S){let b=XQ(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)}}L=L.substring(0,V.startIndex)+I+L.substring(V.endIndex)}return L}}function JQ($,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])=>Y9(K)).join(" "),Q=$,w=Y.length>0?GQ(Q):null;if(w){let K=Y.map(([U,B])=>`:${Y9(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 GQ($){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 Q9($,X,Z,J,Y){if(!$Q)rG(),$Q=!0;let G=await YQ($,X,Z,J,Y);G=await d_(G,X,Z,J,Y),G=await m_(G,X,Z,J,Y);let Q=[];for(let w=0;w<3;w++){let q=w1(G,b7,(K,z)=>`\x00STX_COMPONENT_COMMENT_${Q.length+z}\x00`);Q.push(...q.tokens);let W=G;if(G=await l_(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=g_(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 $Q=!1,S_,P_,ZQ;var b3=E(()=>{G3();o7();oG();eG();o1();y0();E0();e0();S_=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"]);P_=[[/@if\s*\(/,"@endif"],[/@unless\s*\(/,"@endunless"]];ZQ=new Map});var jQ={};t(jQ,{processLoops:()=>C3,parseLoopBinding:()=>S3});function i_($,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=b0($,"(",")",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=I0(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 n_($,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=I0(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 w9($,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 r_($,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);y8(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 o_($,X){let Z=$;return Z=w9(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?q9:""}catch{return""}}),Z=w9(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?W9:""}catch{return""}}),Z}function s_($){let X=$;return X=X.replace(/@break(?!\()/g,q9),X=X.replace(/@continue(?!\()/g,W9),X}function wQ($){let X=$.includes(q9),Z=X?$.substring(0,$.indexOf(q9)):$;return{hasBreak:X,content:Z}}function qQ($){let X=$.includes(W9),Z=X?$.substring(0,$.indexOf(W9)):$;return{hasContinue:X,content:Z}}function KQ($){let X=$;return X=w9(X,"@break",(Z)=>{let J=Z.trim();if(!b8(J))return"";return`\`; if (${J}) { break; } result += \``}),X=w9(X,"@continue",(Z)=>{let J=Z.trim();if(!b8(J))return"";return`\`; if (${J}) { continue; } result += \``}),X=X.replace(/@break(?!\()/g,"`; break; result += `"),X=X.replace(/@continue(?!\()/g,"`; continue; result += `"),X}function a_($){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=S3(_);if(!H)continue;let{arrayExpr:L,itemVar:O}=H,F=j+1,V=1,A=F,R=/@forelse\s*\(/g,N=/@endforelse/g,M=-1;while(V>0&&A<$.length){R.lastIndex=A,N.lastIndex=A;let b=R.exec($),y=N.exec($);if(!y)break;if(b&&b.index<y.index)V++,A=b.index+b[0].length;else{if(V--,V===0){M=y.index;break}A=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:L,itemVar:O,foreachContent:T.substring(0,D),emptyContent:T.substring(D+6)}}return null}function WQ($,X){let Z=$;while(!0){let J=a_(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 S3($){let X=$.indexOf(" as ");if(X!==-1){let G=$.slice(0,X).trim(),Q=$.slice(X+4).trim();return G&&Q?{arrayExpr:G,itemVar:Q}:null}let Z=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec($);if(!Z)return null;let J=Z[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),Y=Z[2].trim();return J&&Y?{arrayExpr:Y,itemVar:J}:null}function C3($,X,Z,J){let Y=$;Y=WQ(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=S3(H);if(!L)continue;let O=z,{arrayExpr:F,itemVar:V}=L,A=_+1,R=1,N=A,M=/@foreach\s*\(/g,T=/@endforeach/g;while(R>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)R++,N=k.index+k[0].length;else{if(R--,R===0){let I=q.substring(A,D.index),S=D.index+11;return{start:O,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 L=j.trim(),O;if(w0(L))O=q0(L,Object.keys(W))(...Object.values(W));else O=Y0(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 D=Z0("Foreach",`Error in @foreach: ${L} is not iterable`,a.TYPE_ERROR);K=K.substring(0,U)+D+K.substring(B);continue}let V=J?.loops?.useAltLoopVariable??p_,A=_.trim(),R=null,N,M=!1;if(A.includes("=>")){let D=A.split("=>").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])R=D[0],N=D[1];else N=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let D=A.split(",").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])N=D[0],R=D[1],M=!0;else N=A}else N=A;let T="",k=O;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((l)=>l.trim());if(Array.isArray(I))x.forEach((l,c)=>{if(l)b[l]=I[c]});else b[N]=I}else b[N]=I;if(R)if(!M&&F&&Array.isArray(I)&&I.length===2)b[R]=I[0],b[N]=I[1];else b[R]=D;let y=o_(H,b),v=qQ(y);if(v.hasContinue){T+=v.content;continue}let f=wQ(y);if(f.hasBreak){T+=f.content;break}if(y=WQ(y,b),y=Q(y,b),y=R1(y,b,Z),y=s_(y),f=wQ(y),f.hasBreak){T+=f.content;break}if(v=qQ(y),v.hasContinue){T+=v.content;continue}y=S1(y,b,Z),y=r_(y,b),y=n_(y,b),y=i_(y,b),T+=y}K=K.substring(0,U)+T+K.substring(B)}catch(L){let O=Z0("Foreach",`Error in @foreach(${j.trim()} as ${_.trim()}): ${L instanceof Error?L.message:String(L)}`,a.EVALUATION_ERROR);K=K.substring(0,U)+O+K.substring(B)}}return K}Y=Q(Y,X),Y=UQ(Y,X,Z,J);let w=J?.loops?.maxWhileIterations??c_;return Y=$H(Y,X,w),Y}function zQ($){return b8($)}function UQ($,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=b0(Y,"(",")",q);if(W===-1)break;let K=Y.slice(q+1,W),z=W+1,U=u8(Y.slice(w),"for","endfor");if(U.length===0)break;let B=U[0].content,j=w+U[0].end;if(!zQ(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 _=t_(K),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(_.length>0&&H){let R=e_({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=KQ(F);let A=Function(...L,`
|
|
12557
|
+
</style>`}}});import{existsSync as D_,readFileSync as y_}from"fs";function b_($){if(rG.has($))return;rG.add($),console.warn(`[stx] icon collection "${$}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${$}\`.`)}function S_($){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(D_(Z))return Z;for(let Z of[`@iconify-json/${$}/icons.json`,`@iconify/json/json/${$}.json`])try{return U0.resolve(Z)}catch{}return null}function C_($){if(Y9.has($))return Y9.get($);let X=S_($);if(!X)return b_($),null;try{let Z=JSON.parse(y_(X,"utf8"));return Y9.set($,Z.icons),Z.icons}catch{return null}}function l5($,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 Y9,rG,y3;var b3=y(()=>{Y9=new Map,rG=new Set;y3={name:"Icon",aliases:["icon","stx-icon"],render($,X,Z){let J=l5($,"name")??l5($,"icon");if(!J)return"<!-- Icon: missing name/icon prop -->";let Y="lucide",G=J;if(J.includes(":")){let O=J.split(":");Y=O[0],G=O[1]}let Q=T0(l5($,"size")||"24"),w=T0(l5($,"color")||"currentColor"),q=T0(l5($,"class")||""),W=T0(l5($,"style")||""),K=Y9.get(Y)??C_(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}"`:"",L=W?` style="${W}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${Q}" height="${Q}" viewBox="${j}" fill="none"${H}${L}>${_}</svg>`}}});function oG($,...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 sG($,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 S3;var C3=y(()=>{S3={name:"Suspense",aliases:["suspense"],render($,X,Z){let J=sG(X,"fallback"),Y=J.rest,G=sG(Y,"error"),Q=G.rest,w=J.region??oG($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',q=G.region??oG($,"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 G9($,...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 P3;var v3=y(()=>{P3={name:"TransitionGroup",aliases:["transition-group"],render($,X,Z){let J=(G9($,"name")||"v").replace(/["'<>]/g,""),Y=(G9($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",G=G9($,"class"),Q=G9($,"id"),w=[`data-stx-transition-group="${J}"`,G?`class="${G}"`:"",Q?`id="${Q}"`:""].filter(Boolean).join(" ");return`<${Y} ${w}>${X}</${Y}>`}}});function aG(){c0.registerBuiltin(U3),c0.registerBuiltin(O3),c0.registerBuiltin(F3),c0.registerBuiltin(R3),c0.registerBuiltin(T3),c0.registerBuiltin(k3),c0.registerBuiltin(E3),c0.registerBuiltin(y3),c0.registerBuiltin(S3),c0.registerBuiltin(P3)}var tG=y(()=>{j3();L3();V3();N3();M3();I3();D3();b3();C3();v3();K3();j3();L3();V3();N3();M3();I3();D3();b3();C3();v3()});function Q9($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function eG($,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}>`,L=1,O=U,F=-1;while(L>0&&O<$.length){let R=$.indexOf(_,O),N=$.indexOf(H,O);if(N===-1)break;if(R!==-1&&R<N){let M=$[R+_.length];if(M===" "||M===">"||M==="/"||M===`
|
|
12558
|
+
`||M==="\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 $Q($){return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/'/gi,"'").replace(/&/g,"&")}function XQ($,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 ZQ=y(()=>{I0();y0();o1()});var WQ={};a(WQ,{processESImports:()=>wQ,processComponents:()=>q9});import w9 from"fs";import r0 from"path";function v_($,X,Z){let J={static:{},staticNames:{},serverDynamic:{},serverDynamicNames:{},clientReactive:{},events:{}},Y=new Set(Array.isArray(X.__stx_client_signal_names)?X.__stx_client_signal_names:[]),G=(W)=>{if(Y.size===0)return!1;let K=s0(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(W2),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]=XQ(K,Z);continue}if(z.startsWith(":")){let U=w(z.slice(1)),B=K===W5?U:K;if(U==="if"||U==="for"||U==="show"){J.clientReactive[U]=B;continue}if(G(B)){J.clientReactive[U]=B;continue}try{if(!q0(B)){if(Z.debug)console.error(`Unsafe expression in :${U} binding: ${B}`);J.clientReactive[U]=B;continue}let j=Object.keys(X),H=W0(B,j)(...Object.values(X));if(H===void 0){let L=B.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],O=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(L.some((V)=>!O.has(V)&&!j.includes(V))){J.clientReactive[U]=B;continue}}if(J.serverDynamic[U]=H,U!==z.slice(1)&&J.serverDynamicNames)J.serverDynamicNames[U]=z.slice(1)}catch{J.clientReactive[U]=B}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let U=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(U)try{let B=U[1];if(q0(B)){let _=W0(B,Object.keys(X))(...Object.values(X));q(z,_!=null?String(_):"")}else{if(Z.debug)console.error(`Unsafe expression in ${z}: ${B}`);q(z,K)}}catch(B){if(Z.debug)console.error(`Error evaluating expression for ${z}:`,B);q(z,K)}else{let B=K,j=/\{\{\s*([\s\S]+?)\s*\}\}/g,_;while((_=j.exec(K))!==null)try{let H=_[1];if(!q0(H)){if(Z.debug)console.error(`Unsafe expression in ${z}: ${H}`);continue}let O=W0(H,Object.keys(X))(...Object.values(X));B=B.replace(_[0],String(O??""))}catch(H){if(Z.debug)console.error(`Error evaluating expression in ${z}:`,H)}q(z,B)}continue}q(z,K===W5?"true":$Q(K))}return J}function f_($,X,Z){if(!$.includes("@"))return $;if(!x_.some(([Y,G])=>Y.test($)&&$.includes(G)))return $;try{return N1($,X,Z)}catch{return $}}function g_($){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 YQ($){return Object.entries($).map(([X,Z])=>Z===W5?X:`${X}="${h_(Z)}"`).join(" ")}function h_($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function u_($){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(c0.isBuiltin(Y))X.add(Y)}return[...X].sort()}function d_($){let X=GQ.get($);if(X)return X;let Z=new Map,J=[r0.join($,"src"),r0.join($,"dist"),$];function Y(G,Q){if(Q>6)return;let w;try{w=w9.readdirSync(G,{withFileTypes:!0})}catch{return}for(let q of w){let W=r0.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 GQ.set($,Z),Z}function m_($,X){if($.startsWith(".")||$.startsWith("/"))return null;let Z=X;while(!0){let J=r0.join(Z,"node_modules",$);try{if(w9.statSync(J).isDirectory())return J}catch{}let Y=r0.dirname(Z);if(Y===Z)return null;Z=Y}}async function wQ($,X,Z,J,Y){if(!$.includes("import"))return $;if(!X.__importedComponents)X.__importedComponents=new Map;let G=X.__importedComponents,Q=r0.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 M=r0.resolve(Q,F);if(M.endsWith(".stx"))A=M;else{let k=`${M}.stx`;try{if(w9.statSync(k).isFile())A=k}catch{try{if(w9.statSync(M).isDirectory())V=M}catch{}}}}else V=m_(F,Q);if(!V&&!A)continue;let R=!1,N=(M,k)=>{G.set(M,k),G.set(M.toLowerCase(),k);let T=M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();G.set(T,k),Y.add(k)};if(O&&A)N(O,A),R=!0;else if(L){let M=L.slice(1,-1).split(",").map((T)=>T.trim()).filter(Boolean).map((T)=>{let D=T.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(D)return{source:D[1],local:D[2]};return{source:T,local:T}}),k=V?d_(V):null;for(let{source:T,local:D}of M){let I=null;if(A)I=A;else if(k)I=k.get(T)??k.get(T.toLowerCase())??k.get(T.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(I)N(D,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 c_($,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=[r0.resolve(r0.dirname(Z),`${U}.stx`),r0.resolve(r0.dirname(Z),U),r0.resolve(J.componentsDir||"components",`${U}.stx`),r0.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 l_($,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=k0(O,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 R="",N=_,k=G.substring(_).match(/^([\s\S]*?)@endcomponent/);if(k)R=k[1].trim(),N=_+k[0].length;let T=await Z5(L,A,R,Q,X,Z,J,w,Y);G=G.substring(0,K)+T+G.substring(N),q.lastIndex=0}return G}async function p_($,X,Z,J,Y){if(!$)return $;let G=$,Q=J.componentsDir||"components";if(!X.__processedComponents)X.__processedComponents=new Set;let w=X.__processedComponents,q=b1(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,P_),G=S7(G,q.scripts),G;async function U(B,j,_,H){if(!B)return B;let L=B,O=eG(L,j,H);for(let F=O.length-1;F>=0;F--){let V=O[F],A=_?Q9(V.tagName):V.tagName,R=g_(f_(V.attributes,X,Z)),N=v_(R,X,J),M=c0.getBuiltin(V.tagName),k=M?await K$(A,Q,X,Z,J):!1;if(M&&!k){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=QQ(b,N.clientReactive);if(Object.keys(N.events).length>0){let E=YQ(N.events);b=b.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${E}`)}L=L.substring(0,V.startIndex)+b+L.substring(V.endIndex);continue}if(!_&&V.tagName.includes("-")&&!await K$(A,Q,X,Z,J))continue;let T={};for(let[S,b]of Object.entries(N.static))T[S]=b;for(let[S,b]of Object.entries(N.serverDynamic))T[S]=b;let I=await Z5(A,T,V.content,Q,X,Z,J,w,Y);if(Object.keys(N.clientReactive).length>0)I=QQ(I,N.clientReactive);if(Object.keys(N.events).length>0){let S=qQ(I);if(S){let b=YQ(N.events),E=Object.keys(N.events).map((v)=>v.replace(/^@/,"").split(".")[0]).join(" ");I=I.substring(0,S.insertPos)+` data-stx-parent-events="${E}" ${b}`+I.substring(S.insertPos)}}L=L.substring(0,V.startIndex)+I+L.substring(V.endIndex)}return L}}function QQ($,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])=>Q9(K)).join(" "),Q=$,w=Y.length>0?qQ(Q):null;if(w){let K=Y.map(([U,B])=>`:${Q9(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 qQ($){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 q9($,X,Z,J,Y){if(!JQ)aG(),JQ=!0;let G=await wQ($,X,Z,J,Y);G=await c_(G,X,Z,J,Y),G=await l_(G,X,Z,J,Y);let Q=[];for(let w=0;w<3;w++){let q=q1(G,b7,(K,z)=>`\x00STX_COMPONENT_COMMENT_${Q.length+z}\x00`);Q.push(...q.tokens);let W=G;if(G=await p_(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=u_(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 JQ=!1,P_,x_,GQ;var x3=y(()=>{K3();o7();tG();ZQ();o1();y0();I0();$1();P_=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"]);x_=[[/@if\s*\(/,"@endif"],[/@unless\s*\(/,"@endunless"]];GQ=new Map});var HQ={};a(HQ,{processLoops:()=>g3,parseLoopBinding:()=>f3});function r_($,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=b0($,"(",")",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 o_($,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=k0(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 W9($,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 s_($,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);b8(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 a_($,X){let Z=$;return Z=W9(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(G0(G,X));return Q?K9:""}catch{return""}}),Z=W9(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(G0(G,X));return Q?z9:""}catch{return""}}),Z}function t_($){let X=$;return X=X.replace(/@break(?!\()/g,K9),X=X.replace(/@continue(?!\()/g,z9),X}function KQ($){let X=$.includes(K9),Z=X?$.substring(0,$.indexOf(K9)):$;return{hasBreak:X,content:Z}}function zQ($){let X=$.includes(z9),Z=X?$.substring(0,$.indexOf(z9)):$;return{hasContinue:X,content:Z}}function jQ($){let X=$;return X=W9(X,"@break",(Z)=>{let J=Z.trim();if(!S8(J))return"";return`\`; if (${J}) { break; } result += \``}),X=W9(X,"@continue",(Z)=>{let J=Z.trim();if(!S8(J))return"";return`\`; if (${J}) { continue; } result += \``}),X=X.replace(/@break(?!\()/g,"`; break; result += `"),X=X.replace(/@continue(?!\()/g,"`; continue; result += `"),X}function e_($){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=f3(_);if(!H)continue;let{arrayExpr:L,itemVar:O}=H,F=j+1,V=1,A=F,R=/@forelse\s*\(/g,N=/@endforelse/g,M=-1;while(V>0&&A<$.length){R.lastIndex=A,N.lastIndex=A;let b=R.exec($),E=N.exec($);if(!E)break;if(b&&b.index<E.index)V++,A=b.index+b[0].length;else{if(V--,V===0){M=E.index;break}A=E.index+11}}if(M===-1)continue;let k=$.substring(F,M),T=M+11,D=-1,I=0,S=0;while(S<k.length){let b=k.indexOf("@",S);if(b===-1)break;let E=k.substring(b);if(/^@forelse\s*\(/.test(E))I++,S=b+1;else if(E.startsWith("@endforelse"))I--,S=b+11;else if(I===0&&E.startsWith("@empty")){if(k.length<=b+6||!/[a-z]/i.test(k[b+6])){D=b;break}S=b+1}else S=b+1}if(D===-1)continue;return{start:K,end:T,arrayExpr:L,itemVar:O,foreachContent:k.substring(0,D),emptyContent:k.substring(D+6)}}return null}function UQ($,X){let Z=$;while(!0){let J=e_(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=G0(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=X0("Forelse",`Error in @forelse(${Q} as ${w}): ${z}`,s.EVALUATION_ERROR);Z=Z.substring(0,Y)+U+Z.substring(G)}}return Z}function f3($){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 g3($,X,Z,J){let Y=$;Y=UQ(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=f3(H);if(!L)continue;let O=z,{arrayExpr:F,itemVar:V}=L,A=_+1,R=1,N=A,M=/@foreach\s*\(/g,k=/@endforeach/g;while(R>0&&N<q.length){M.lastIndex=N,k.lastIndex=N;let T=M.exec(q),D=k.exec(q);if(!D)break;if(T&&T.index<D.index)R++,N=T.index+T[0].length;else{if(R--,R===0){let I=q.substring(A,D.index),S=D.index+11;return{start:O,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 L=j.trim(),O;if(q0(L))O=W0(L,Object.keys(W))(...Object.values(W));else O=G0(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 D=X0("Foreach",`Error in @foreach: ${L} is not iterable`,s.TYPE_ERROR);K=K.substring(0,U)+D+K.substring(B);continue}let V=J?.loops?.useAltLoopVariable??n_,A=_.trim(),R=null,N,M=!1;if(A.includes("=>")){let D=A.split("=>").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])R=D[0],N=D[1];else N=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let D=A.split(",").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])N=D[0],R=D[1],M=!0;else N=A}else N=A;let k="",T=O;for(let D=0;D<T.length;D++){let I=T[D],S={index:D,iteration:D+1,first:D===0,last:D===T.length-1,count:T.length},b={...W,loop:S,$loop:S};if(N.startsWith("[")&&N.endsWith("]")){let f=N.slice(1,-1).split(",").map((h)=>h.trim());if(Array.isArray(I))f.forEach((h,p)=>{if(h)b[h]=I[p]});else b[N]=I}else b[N]=I;if(R)if(!M&&F&&Array.isArray(I)&&I.length===2)b[R]=I[0],b[N]=I[1];else b[R]=D;let E=a_(H,b),v=zQ(E);if(v.hasContinue){k+=v.content;continue}let x=KQ(E);if(x.hasBreak){k+=x.content;break}if(E=UQ(E,b),E=Q(E,b),E=N1(E,b,Z),E=t_(E),x=KQ(E),x.hasBreak){k+=x.content;break}if(v=zQ(E),v.hasContinue){k+=v.content;continue}E=S1(E,b,Z),E=s_(E,b),E=o_(E,b),E=r_(E,b),k+=E}K=K.substring(0,U)+k+K.substring(B)}catch(L){let O=X0("Foreach",`Error in @foreach(${j.trim()} as ${_.trim()}): ${L instanceof Error?L.message:String(L)}`,s.EVALUATION_ERROR);K=K.substring(0,U)+O+K.substring(B)}}return K}Y=Q(Y,X),Y=_Q(Y,X,Z,J);let w=J?.loops?.maxWhileIterations??i_;return Y=ZH(Y,X,w),Y}function BQ($){return S8($)}function _Q($,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=b0(Y,"(",")",q);if(W===-1)break;let K=Y.slice(q+1,W),z=W+1,U=d8(Y.slice(w),"for","endfor");if(U.length===0)break;let B=U[0].content,j=w+U[0].end;if(!BQ(K)){let _=X0("For",`Unsafe expression in @for: ${K}`,s.UNSAFE_EXPRESSION);Y=Y.substring(0,w)+_+Y.substring(j),G=!0;continue}try{let _=$H(K),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(_.length>0&&H){let R=XH({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=jQ(F);let A=Function(...L,`
|
|
12559
12559
|
let result = '';
|
|
12560
12560
|
for (${K}) {
|
|
12561
12561
|
result += \`${F}\`;
|
|
12562
12562
|
}
|
|
12563
12563
|
return result;
|
|
12564
|
-
`)(...O);Y=Y.substring(0,w)+A+Y.substring(j),G=!0}catch(_){let H=
|
|
12564
|
+
`)(...O);Y=Y.substring(0,w)+A+Y.substring(j),G=!0}catch(_){let H=X0("For",`Error in @for(${K}): ${_ instanceof Error?_.message:String(_)}`,s.EVALUATION_ERROR);Y=Y.substring(0,w)+H+Y.substring(j),G=!0}}return Y}function $H($){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 XH($){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",`
|
|
12565
12565
|
for (${X}) {
|
|
12566
12566
|
__pushIter([${J.join(", ")}])
|
|
12567
12567
|
}
|
|
12568
|
-
`),K=[];W(...q,(B)=>{K.push(B)});let z=G??"inline.stx",U="";for(let B of K){let j={...Y};J.forEach((H,L)=>{j[H]=B[L]});let _=
|
|
12568
|
+
`),K=[];W(...q,(B)=>{K.push(B)});let z=G??"inline.stx",U="";for(let B of K){let j={...Y};J.forEach((H,L)=>{j[H]=B[L]});let _=_Q(Z,j,G,Q);_=N1(_,j,z),_=S1(_,j,z),U+=_}return U}function ZH($,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=b0(J,"(",")",w);if(q===-1)break;let W=J.slice(w+1,q),K=d8(J.slice(Q),"while","endwhile");if(K.length===0)break;let z=K[0].content,U=Q+K[0].end;if(!BQ(W)){let B=X0("While",`Unsafe expression in @while: ${W}`,s.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,(O,F)=>{return`\${${F}}`});_=jQ(_);let L=Function(...B,`
|
|
12569
12569
|
let result = '';
|
|
12570
12570
|
let maxIterations = ${Z}; // Configurable safety limit
|
|
12571
12571
|
let counter = 0;
|
|
@@ -12577,8 +12577,8 @@ ${I}
|
|
|
12577
12577
|
result += '<!-- [While Error [1104]]: Maximum iterations (${Z}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
|
|
12578
12578
|
}
|
|
12579
12579
|
return result;
|
|
12580
|
-
`)(...j);J=J.substring(0,Q)+L+J.substring(U),Y=!0}catch(B){let j=
|
|
12581
|
-
`)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
|
|
12580
|
+
`)(...j);J=J.substring(0,Q)+L+J.substring(U),Y=!0}catch(B){let j=X0("While",`Error in @while(${W}): ${B instanceof Error?B.message:String(B)}`,s.EVALUATION_ERROR);J=J.substring(0,Q)+j+J.substring(U),Y=!0}}return J}var i_=1000,n_=!1,K9="<!--__STX_BREAK__-->",z9="<!--__STX_CONTINUE__-->";var h3=y(()=>{o7();A1();W1();m8();I0()});import _0 from"path";function u3($,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 JH($,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 YH($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function LQ($){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]!==`
|
|
12581
|
+
`)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 FQ($,X=""){let Z=LQ($).split(",").map((J)=>J.trim()).filter(Boolean);return`
|
|
12582
12582
|
(function() {
|
|
12583
12583
|
${R5("var",Z)}
|
|
12584
12584
|
var __destroyHooks = [];
|
|
@@ -12587,11 +12587,11 @@ ${I}
|
|
|
12587
12587
|
|
|
12588
12588
|
${$}
|
|
12589
12589
|
${X}})();
|
|
12590
|
-
`}function
|
|
12590
|
+
`}function VQ($,X){return`
|
|
12591
12591
|
// Register scope variables for STX runtime
|
|
12592
12592
|
if (!window.stx._scopes) window.stx._scopes = {};
|
|
12593
12593
|
var __scopeRegistration = { __destroyCallbacks: __destroyHooks };
|
|
12594
|
-
${
|
|
12594
|
+
${LQ($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeRegistration[${JSON.stringify(G)}] = ${G}; } catch (e) { /* not actually top-level */ }`).join(`
|
|
12595
12595
|
`)}
|
|
12596
12596
|
// #1767: when the bundler renamed a component const that collided with an
|
|
12597
12597
|
// inlined import (foo -> foo2), rebind the ORIGINAL template name to the
|
|
@@ -12599,7 +12599,7 @@ ${_Q($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
|
|
|
12599
12599
|
// shadowing import. __stxScopeRenames is emitted by bundleClientScript.
|
|
12600
12600
|
try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
|
|
12601
12601
|
window.stx._scopes['${X}'] = __scopeRegistration;
|
|
12602
|
-
`}function
|
|
12602
|
+
`}function GH($,X){let Z=VQ($,X),J=`
|
|
12603
12603
|
(function() {
|
|
12604
12604
|
var __stxScopeEl = (typeof document !== 'undefined') ? document.querySelector('[data-stx-scope="${X}"]') : null;
|
|
12605
12605
|
var __stxPrevEl = (typeof window !== 'undefined') ? window.__STX_CURRENT_ELEMENT__ : undefined;
|
|
@@ -12608,55 +12608,55 @@ ${_Q($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
|
|
|
12608
12608
|
} finally {
|
|
12609
12609
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
12610
12610
|
}
|
|
12611
|
-
})();`;return J+
|
|
12611
|
+
})();`;return J+FQ($,Z)+`
|
|
12612
12612
|
} finally {
|
|
12613
12613
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
12614
12614
|
}
|
|
12615
|
-
})();`}function
|
|
12616
|
-
`;continue}if(
|
|
12617
|
-
`}}if(
|
|
12618
|
-
`+
|
|
12619
|
-
`+b;return
|
|
12620
|
-
`)})}var
|
|
12615
|
+
})();`}function QH($,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 qH($){if($.__onceStore instanceof Set)return $.__onceStore;return wH}async function d3($,X,Z,J,Y,G=new Set){let Q=J.partialsDir||_0.join(_0.dirname(Z),"partials");if(Q&&!_0.isAbsolute(Q))Q=_0.resolve(process.cwd(),Q);let w=JH($,"@partial","@include"),q=qH(X);w=w.replace(/@once([\s\S]*?)@endonce/g,(_,H,L)=>{let O=H.trim(),F=`${Z}:${O}`;if(q.has(F))return"";return q.add(F),H});{let _=/@includeIf\s*\(/g,H;while((H=_.exec(w))!==null){let L=H.index,O=L+H[0].length-1,F=1,V=O+1;while(V<w.length&&F>0){if(w[V]==="(")F++;else if(w[V]===")")F--;V++}if(F!==0)break;let A=w.substring(O+1,V-1),R=A.match(/^\s*['"]([^'"]+)['"]/);if(!R){_.lastIndex=V;continue}let N=R[1],M=W(N,Q,Z),k="";if(M&&await Bun.file(M).exists())Y.add(M),k=`@include(${A})`;w=w.substring(0,L)+k+w.substring(V),_.lastIndex=0}}for(let[_,H]of[["@includeWhen",!1],["@includeUnless",!0]]){let L=new RegExp(`${_.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),O;while((O=L.exec(w))!==null){let F=O.index,V=F+O[0].length-1,A=1,R=V+1;while(R<w.length&&A>0){if(w[R]==="(")A++;else if(w[R]===")")A--;R++}if(A!==0)break;let N=w.substring(V+1,R-1),M=u3(N,0);if(M===-1){L.lastIndex=R;continue}let k=N.substring(0,M).trim(),T=N.substring(M+1).trim(),D=T.match(/^\s*['"]([^'"]+)['"]/);if(!D){L.lastIndex=R;continue}let I=D[1],S=T.substring(D[0].length),b,E=u3(S,0);if(E!==-1)b=S.substring(E+1).trim();try{let v=`Boolean(${k})`,x;if(q0(v)){let p=W0(v,Object.keys(X));x=Boolean(p(...Object.values(X)))}else x=Boolean(G0(v,X));let f=H?!x:x,h="";if(f){let p=W(I,Q,Z);if(p&&await Bun.file(p).exists())Y.add(p);h=`@include('${I}'${b?`, ${b}`:""})`}w=w.substring(0,F)+h+w.substring(R),L.lastIndex=0}catch(v){let x=v instanceof Error?v.message:String(v),f=B0("Include",`Error evaluating ${_} condition: ${x}`,Z,$,F);w=w.substring(0,F)+f+w.substring(R),L.lastIndex=0}}}{let _=/@each\s*\(/g,H;while((H=_.exec(w))!==null){let L=H.index,O=L+H[0].length-1,F=1,V=O+1;while(V<w.length&&F>0){if(w[V]==="(")F++;else if(w[V]===")"){if(F--,F===0)break}V++}if(F!==0)break;let A=w.substring(O+1,V),R=w.substring(L,V+1),N=A.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!N){_.lastIndex=0,w=w.replace(R,"");continue}let[,M,k,T,D]=N;try{let I,S=k.trim();if(q0(S))I=W0(S,Object.keys(X))(...Object.values(X));else I=G0(S,X);let b="";if(Array.isArray(I)&&I.length>0)for(let E of I){let v={...X,[T]:E},x=await U(M,v,$,L);b+=x}else if(D)b=await U(D,{},$,L);w=w.substring(0,L)+b+w.substring(V+1),_.lastIndex=0}catch(I){let S=I instanceof Error?I.message:String(I);w=w.substring(0,L)+B0("Each",`Error in @each: ${S}`,Z,$,L)+w.substring(V+1),_.lastIndex=0}}}{let _=/@includeFirst\s*\(/g,H;while((H=_.exec(w))!==null){let L=H.index,O=L+H[0].length-1,F=1,V=O+1;while(V<w.length&&F>0){if(w[V]==="(")F++;else if(w[V]===")"){if(F--,F===0)break}V++}if(F!==0)break;let A=w.substring(O+1,V),R=w.substring(L,V+1),N=A.match(/^\s*(\[[^\]]+\])/);if(!N){_.lastIndex=0,w=w.replace(R,"");continue}let M=N[1],k=A.slice(N[0].length),T,D=k.match(/^\s*,\s*\{/);if(D){k=k.slice(D[0].length-1);let b=1,E=1;while(E<k.length&&b>0){if(k[E]==="{")b++;else if(k[E]==="}"){if(b--,b===0)break}E++}T=k.substring(0,E+1),k=k.slice(E+1)}let I,S=k.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(S)I=S[1];try{let b=JSON.parse(M.replace(/'/g,'"')),E={};if(T)try{E=k0(T,X)}catch(x){let f=x instanceof Error?x.message:String(x);if(J.debug){let h=B0("Include",`Error parsing includeFirst variables: ${f}`,Z,$,L,R);w=w.replace(R,()=>h)}else w=w.replace(R,()=>I||"");continue}let v=!1;for(let x of b){let f=W(x,Q,Z);if(!f)continue;if(await n(f)){let h=await U(x,E,$,L);w=w.replace(R,()=>h),v=!0;break}}if(!v)if(I!==void 0)w=w.replace(R,()=>I);else if(J.debug){let x=B0("Include",`None of the includeFirst paths exist: ${M}`,Z,$,L,R);w=w.replace(R,()=>x)}else w=w.replace(R,"")}catch(b){let E=b instanceof Error?b.message:String(b),v=B0("Include",`Error processing @includeFirst: ${E}`,Z,$,L,R);w=w.replace(R,()=>v)}_.lastIndex=0}}function W(_,H,L){try{let O=_;if(!_.endsWith(".stx"))O=`${_}.stx`;let F=_0.resolve(H),V=_0.resolve(_0.dirname(L)),A;if(!O.startsWith("./")&&!O.startsWith("../"))A=_0.resolve(H,O);else A=_0.resolve(V,O);let R=_0.normalize(A),N=R.startsWith(F+_0.sep)||R===F,M=R.startsWith(V+_0.sep)||R===V,k=!1,T=_0.dirname(V);if(R.startsWith(T+_0.sep)){if(!_0.relative(T,R).split(_0.sep).some((b)=>b.startsWith(".")&&b!=="."&&b!==".."))k=!0}if(!N&&!M&&!k)return console.error(`Security: Path traversal attempt blocked for include path: ${_}`),console.error(` Resolved to: ${R}`),console.error(` Allowed dirs: ${F}, ${V}`),null;return R}catch(O){return console.error(`Error resolving path ${_}: ${O}`),null}}let K=_0.resolve(Z);G.add(K);function z(_,H,L,O){return J.onIncludeError?.({includePath:_,templatePath:Z,message:H,partialsDir:Q}),B0("Include",H,Z,L,O)}async function U(_,H={},L,O){let F=W(_,Q,Z);if(!F)return z(_,`Could not resolve path for include: ${_}`,L,O);let V=_0.resolve(F);if(G.has(V)){let A=[...G,V].map((R)=>_0.basename(R)).join(" -> ");return z(_,`Circular include detected: ${A}`,L,O)}try{Y.add(F);let A;if(!A)try{A=await Bun.file(F).text()}catch(f){let h=f instanceof Error?f.message:String(f);return z(_,`Error loading include file ${_}: ${h}`,L,O)}if(A)A=A.replace(/\{\{--[\s\S]*?--\}\}/g,"");if(A&&A.includes("@stream")){let{processStreamDirectives:f}=await Promise.resolve().then(() => (Q3(),G3));A=f(A,X)}if(A&&(J.debug||!l7()&&!x$()))try{let{warnUnbalancedTags:f}=await Promise.resolve().then(() => (q3(),gG));f(A,F)}catch{}let R=A;try{let{processESImports:f}=await Promise.resolve().then(() => (x3(),WQ));await f(A,X,F,J,Y)}catch(f){if(J.debug)console.warn(`[stx] partial ES import extraction skipped for ${F}:`,f instanceof Error?f.message:f)}let N=f8(R);if(N)R=N.content.trim();let k=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),T="";if(k)T=`<style${k[1]}>${k[2]}</style>`;R=R.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),R=R.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let D={...X};D.__stx_signals_gate=V1(A);for(let[f,h]of Object.entries(H))D[f]=h;let I=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...A.matchAll(I)],b="",E=null;for(let f of S){let h=f[1]||"",p=f[2]||"",H0=h.includes("server"),M0=n1(h),j0="";try{let{extractAndStripCssImports:l,renderVendorStyleTags:J0}=await Promise.resolve().then(() => (y7(),S2)),D0=l(p,{filePath:F,projectRoot:process.cwd()});p=D0.code,j0=J0(D0.styles)}catch(l){if(J.debug)console.warn(`[stx] vendor-css extractor skipped for ${F}:`,l instanceof Error?l.message:l)}if(M0&&p.trim())p=r1(p);if(!H0)try{let{hasUserImports:l,bundleClientScript:J0}=await Promise.resolve().then(() => (T5(),M7));if(l(p))p=await J0(p,F,{projectRoot:process.cwd()})}catch(l){if(J.debug)console.warn(`[stx] bundler skipped for ${F}:`,l instanceof Error?l.message:l)}let Z0=YH(p);if(Z0&&!H0){E=`stx_scope_${_0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++OQ}`;let l=p0(p),J0=GH(l,E);b+=`${j0}<script data-stx-scoped data-stx-run="always">${J0}</script>
|
|
12616
|
+
`;continue}if(H0)try{let{extractVariables:l}=await Promise.resolve().then(() => (f7(),u8));await l(p,D,F)}catch(l){if(J.debug)console.warn(`Warning: Could not extract variables from server script in ${F}:`,l)}if(!H0&&!Z0){let l=h.replace(/\bclient\b/i,"").trim();E=`stx_scope_${_0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++OQ}`;let J0=p0(p),D0=VQ(J0,E),v0=FQ(J0,D0);b+=`${j0}<script data-stx-scoped data-stx-run="always"${l?` ${l}`:""}>${v0}</script>
|
|
12617
|
+
`}}if(E){let f=QH(R,E);if(R=f.html,f.mergedIntoExisting)b=b.replace(`window.stx._scopes['${E}']`,`window.stx._scopes['${f.mergedIntoExisting}']`),E=f.mergedIntoExisting}if(R.includes("@include")||R.includes("@partial"))R=await d3(R,D,F,J,Y,G);let{processLoops:v}=await Promise.resolve().then(() => (h3(),HQ)),x=v(R,D,F);if(x=N1(x,D,F),x=S1(x,D,F),T)x+=`
|
|
12618
|
+
`+T;if(b)x+=`
|
|
12619
|
+
`+b;return x}catch(A){let R=A instanceof Error?A.message:String(A);return z(_,`Error processing include ${_}: ${R}`,L,O)}}let B=/@include\s*\(/g,j;while((j=B.exec(w))!==null){let _=j.index,H=_+j[0].length-1,L=1,O=H+1;while(O<w.length&&L>0){if(w[O]==="(")L++;else if(w[O]===")")L--;O++}if(L!==0)break;let F=w.substring(_,O),V=w.substring(H+1,O-1),A=V.match(/^\s*['"]([^'"]+)['"]/);if(!A){B.lastIndex=O;continue}let R=A[1],N,M=V.substring(A[0].length),k=u3(M,0);if(k!==-1)N=M.substring(k+1).trim();let T={};if(N)try{T=k0(N,X)}catch(I){let S=I instanceof Error?I.message:String(I);w=w.replace(F,B0("Include",`Error parsing include variables for ${R}: ${S}`,Z,$,_)),B.lastIndex=0;continue}let D=await U(R,T,$,_);w=w.substring(0,_)+D+w.substring(O),B.lastIndex=0}return w}function m3($,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])`),L=1,O=j,F=-1;while(L>0&&O<q.length){let A=q.slice(O),R=A.match(_),N=A.match(H),M=R?O+R.index:1/0,k=N?O+N.index:1/0;if(M<k)L++,O=M+(R[0].length||1);else if(k<1/0){if(L--,L===0){F=k;break}O=k+Q.length+1}else break}if(F===-1)break;let V=q.slice(j,F);if(!X[B])X[B]=[];if(w)X[B].unshift(V);else X[B].push(V);q=q.substring(0,U)+q.substring(F+`@${Q}`.length),W=!0}return q}return Z=J(Z,"push","endpush",!1),Z=J(Z,"prepend","endprepend",!0),Z}function c3($,X){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Z,J)=>{if(!X[J]||X[J].length===0)return"";return X[J].join(`
|
|
12620
|
+
`)})}var OQ=0,NI,wH;var AQ=y(()=>{HX();o7();W1();$1();D5();I0();y0();NI=new s1(500),wH=new Set});import*as l3 from"path";async function RQ($,X,Z=""){if(l3.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 TQ($,X,Z,"@js","@endjs")}async function NQ($,X,Z=""){if(l3.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 TQ($,X,Z,"@ts","@endts")}async function TQ($,X,Z,J,Y){let G=$,Q=E5(`${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 L=(_.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((R)=>R.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),O=L.length>0?`return { ${L.join(", ")} };`:"return {};",F=`
|
|
12621
12621
|
${_}
|
|
12622
12622
|
${O}
|
|
12623
|
-
`,A=Function(...B,F)(...j);if(A&&typeof A==="object")Object.assign(X,A);G=G.replace(W,"")}catch(U){console.error(`Error executing ${J} code block in ${Z}:`,U);let B=U instanceof Error?U.message:String(U),j=
|
|
12624
|
-
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${
|
|
12625
|
-
`)}}}return G}async function
|
|
12623
|
+
`,A=Function(...B,F)(...j);if(A&&typeof A==="object")Object.assign(X,A);G=G.replace(W,"")}catch(U){console.error(`Error executing ${J} code block in ${Z}:`,U);let B=U instanceof Error?U.message:String(U),j=B0(`${J} Directive`,`Error executing code: ${B}`,Z,$,z,W);console.error(j),G=G.replace(W,"")}return G}var MQ=y(()=>{D5();y0()});function WH($,X="_method"){let Z=$.toUpperCase();if(Z==="GET"||Z==="POST")return"";return`<input type="hidden" name="${X}" value="${Z}">`}function kQ($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(X,Z,J,Y,G)=>{return WH(J,G||"_method")})}async function IQ($,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=B0("Middleware",`Error in middleware '${w.name}': ${q instanceof Error?q.message:String(q)}`,Z,$);G=G.replace(/<body[^>]*>/,`$&
|
|
12624
|
+
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${X1(W)}</div>
|
|
12625
|
+
`)}}}return G}async function EQ($,X,Z,J){return IQ($,X,Z,J,"before")}async function DQ($,X,Z,J){return IQ($,X,Z,J,"after")}var yQ=y(()=>{W1();y0()});function bQ($){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 w7(J,Q,G==="true")}catch(Q){return console.error(`Error processing @route directive: ${Q}`),"#route-error"}})}var SQ=y(()=>{I1();I1();I0()});async function CQ($,X){let Z=$.split("/").pop()?.split(".")[0]||"";if(Y8.exact[$])for(let J of Y8.exact[$])await Promise.resolve(J(X,$));if(Y8.exact[Z])for(let J of Y8.exact[Z])await Promise.resolve(J(X,$));for(let{pattern:J,callback:Y}of Y8.patterns)if(J.test($)||J.test(Z))await Promise.resolve(Y(X,$))}var Y8;var PQ=y(()=>{Y8={patterns:[],exact:{}}});function UH($){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("/>")||zH.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 vQ($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((X)=>vQ(X)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,X])=>X).map(([X])=>X).join(" ");return $?String($):""}function xQ($,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(...UH($));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(w2(_))continue;if(H.includes("()")&&!H.includes(".get(")||H.includes("$store")||H.includes("$ref"))continue;try{let L=Object.keys(X),O=Object.values(X),F=H.match(/^([a-zA-Z_$][\w$]*)/);if(F&&!L.includes(F[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(F[1]))continue;let A=Function(...L,`return (${H})`)(...O);if(_==="class"){let R=vQ(A);if(R){let N=B.match(/\sclass="([^"]*)"/);if(N)B=B.replace(N[0],` class="${N[1]} ${R}"`);else B=B.replace(U[0],` class="${R}"`)}else B=B.replace(U[0],"");j=!0;continue}if(KH.has(_)){if(A)B=B.replace(U[0],` ${_}`);else B=B.replace(U[0],"");j=!0;continue}if(A===null||A===void 0||A===!1)B=B.replace(U[0],"");else{let R=String(A).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">");B=B.replace(U[0],` ${_}="${R}"`)}j=!0}catch{continue}}if(j){let _=W.endsWith("/>")?" /":"",L=`<${G[1]}${B}${_}>`;q.push({start:G.index,end:G.index+W.length,replacement:L})}}for(let W=q.length-1;W>=0;W--){let{start:K,end:z,replacement:U}=q[W];Z=Z.slice(0,K)+U+Z.slice(z)}return Z}var KH,zH;var fQ=y(()=>{$1();KH=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"]),zH=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()&&jH.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 _H($,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 z1($,X){if(X.selfClosing)return{outerStart:X.start,outerEnd:X.end,innerHTML:""};let Z=_H($,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 gQ($,X){return new RegExp(`(?:^|\\s)${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${X}=`)||$.includes(` ${X} `)||$.trimEnd().endsWith(` ${X}`)}function p5($,X){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),J=$.match(new RegExp(`${Z}="([^"]*)"`,"s"))||$.match(new RegExp(`${Z}='([^']*)'`,"s"));return J?J[1]:null}function d1($,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 m1($,X,Z){let J=X.selfClosing?" /":"",Y=`<${X.tag}${Z}${J}>`;return $.slice(0,X.start)+Y+$.slice(X.end)}function HH($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function OH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=p5(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()),L=H[0],O=H[1];q=`${w} as ${O} => ${L}`}else q=`${w} as ${Q}`;let W=d1(J.attrs,"v-for"),K=d1(W,":key").replace(/\s*v-bind:key="[^"]*"/g,""),z=z1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=m1(U,{...J,start:0,end:J.end-J.start},K),j=`@foreach(${q})
|
|
12626
12626
|
`,_=`${j}${B}
|
|
12627
|
-
@endforeach`;X=X.slice(0,z.outerStart)+_+X.slice(z.outerEnd),Z=z.outerStart+j.length}return X}function
|
|
12627
|
+
@endforeach`;X=X.slice(0,z.outerStart)+_+X.slice(z.outerEnd),Z=z.outerStart+j.length}return X}function LH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=p5(J.attrs,"v-if");if(Y===null){Z=J.end;continue}let G=[],Q=z1(X,J),w=d1(J.attrs,"v-if"),q=m1(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,L=K5(X,W+H);if(!L){K=!1;break}let O=p5(L.attrs,"v-else-if"),F=gQ(L.attrs,"v-else");if(O!==null){let V=z1(X,L),A=d1(L.attrs,"v-else-if"),R=m1(X.slice(V.outerStart,V.outerEnd),{...L,start:0,end:L.end-L.start},A);G.push({type:"else-if",expr:O,outerStart:W,outerEnd:V.outerEnd,element:R,parsedTag:L}),W=V.outerEnd}else if(F){let V=z1(X,L),A=d1(L.attrs,"v-else"),R=m1(X.slice(V.outerStart,V.outerEnd),{...L,start:0,end:L.end-L.start},A);G.push({type:"else",outerStart:W,outerEnd:V.outerEnd,element:R,parsedTag:L}),K=!1}else K=!1}let z=[];for(let _ of G)if(_.type==="if")z.push(`@if(${_.expr})
|
|
12628
12628
|
${_.element}`);else if(_.type==="else-if")z.push(`@elseif(${_.expr})
|
|
12629
12629
|
${_.element}`);else z.push(`@else
|
|
12630
12630
|
${_.element}`);z.push("@endif");let U=z.join(`
|
|
12631
|
-
`),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
|
|
12631
|
+
`),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 FH($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function VH($){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=z1(X,J),z=X.slice(K.outerStart,K.outerEnd),U=m1(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=p5(J.attrs,"v-model");if(q===null){Z=J.end;continue}if(BH.has(J.tag)){let K=J.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${q}"`,z=z1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=m1(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=z1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=m1(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 AH($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function RH($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function NH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=p5(J.attrs,"v-html");if(Y===null){Z=J.end;continue}if(J.selfClosing){Z=J.end;continue}let G=z1(X,J),Q=d1(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 TH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=p5(J.attrs,"v-text");if(Y===null){Z=J.end;continue}if(J.selfClosing){Z=J.end;continue}let G=z1(X,J),Q=d1(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 MH($){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 kH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;if(!gQ(J.attrs,"v-once")){Z=J.end;continue}let Y=d1(J.attrs,"v-once"),G=z1(X,J),Q=X.slice(G.outerStart,G.outerEnd),q=`@once
|
|
12632
12632
|
${m1(Q,{...J,start:0,end:J.end-J.start},Y)}
|
|
12633
|
-
@endonce`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function
|
|
12634
|
-
${J}${$.slice(Z)}`}function
|
|
12635
|
-
${G[0]}`+Q+$.slice(Z+Y.length)}function
|
|
12636
|
-
${X[0]}${J.slice(Y)}`}var
|
|
12637
|
-
<meta name="stx-build" content="${X}">${$.slice(J)}`}var
|
|
12638
|
-
${$.slice(X)}`}function
|
|
12639
|
-
`),L=Q.map((
|
|
12640
|
-
`),O=w.map((
|
|
12641
|
-
`),F=
|
|
12633
|
+
@endonce`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function IH($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function EH($){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 hQ($){if(!HH($))return $;let X=$;return X=OH(X),X=LH(X),X=kH(X),X=AH(X),X=RH(X),X=VH(X),X=FH(X),X=EH(X),X=NH(X),X=TH(X),X=MH(X),X=IH(X),X}var jH,BH;var uQ=y(()=>{jH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),BH=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 U9($){return $.replace(/--/g,"- -").replace(/</g,"<").replace(/>/g,">")}function dQ($,X){let Z=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec($),J=Z?Z[1]:$,Y=G0(J,X);if(Y&&typeof Y==="string")return Y;let G=J.trim();return p3.has(G)?G:null}function mQ($){let X=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec($);return X?X[1]:$}function cQ($,X,Z){let J=X.replace(/\s*(?::is|v-bind:is)\s*=\s*"[^"]*"/gi,"").trim(),Y=J?`<${$} ${J}>`:`<${$}>`;if(DH.has($))return J?`<${$} ${J}>`:`<${$}>`;return`${Y}${Z}</${$}>`}async function lQ($,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=dQ(K.expr,X);if(!z||typeof z!=="string"){let O=`<!-- dynamic component: could not resolve "${U9(mQ(K.expr))}" -->`;G=G.slice(0,K.index)+O+G.slice(K.index+K.full.length);continue}if(p3.has(z)){let O=cQ(z,K.attrs,K.slotContent);G=G.slice(0,K.index)+O+G.slice(K.index+K.full.length);continue}let U=K.attrs.trim(),B={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,_;while((_=j.exec(U))!==null){let O=_[1]||_[2],F=_[3];if(_[1])try{B[O]=G0(F,X)}catch{B[O]=F}else B[O]=F}let H=J.componentsDir||"components",L=await Z5(z,B,K.slotContent,H,X,Z,J,new Set,Y??new Set);G=G.slice(0,K.index)+L+G.slice(K.index+K.full.length)}catch(z){let U=z instanceof Error?z.message:String(z),B=`<!-- dynamic component error: ${U9(U)} -->`;G=G.slice(0,K.index)+B+G.slice(K.index+K.full.length)}}return G=await yH(G,X,Z,J,Y),G}async function yH($,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=dQ(K.expr,X);if(!z||typeof z!=="string"){let j=`<!-- dynamic component: could not resolve "${U9(mQ(K.expr))}" -->`;G=G.slice(0,K.index)+j+G.slice(K.index+K.full.length);continue}if(p3.has(z)){let j=cQ(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 Z5(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: ${U9(U)} -->`;G=G.slice(0,K.index)+B+G.slice(K.index+K.full.length)}}return G}var p3,DH;var pQ=y(()=>{y0();I0();p3=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"]),DH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"])});function vH($){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(!bH.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"||!PH.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"||!CH.test(Y)))throw Error(`colorMode.attribute must be a valid HTML attribute name \u2014 got ${JSON.stringify(Y)}`);if(G!==null&&!SH.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 xH($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function n3($={}){let X=vH($);return`<script data-stx-color-mode-boot>${`(function(){"use strict";var c=${xH(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 iQ($,X={}){if($.includes("data-stx-color-mode-boot"))return $;let Z=i3($);if(Z===null)return $;let J=n3(X);return`${$.slice(0,Z)}
|
|
12634
|
+
${J}${$.slice(Z)}`}function i3($){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 hH($){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=gH.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)+`
|
|
12635
|
+
${G[0]}`+Q+$.slice(Z+Y.length)}function nQ($){return uH(hH($))}function uH($){let X=fH.exec($);if(!X)return $;let Z=i3($);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=i3(J);if(Y===null)return $;return`${J.slice(0,Y)}
|
|
12636
|
+
${X[0]}${J.slice(Y)}`}var bH,SH,CH,PH,fH,gH;var r3=y(()=>{bH=new Set(["light","dark","auto","system"]),SH=new Set(["auto","system"]),CH=/^[a-z][\w:-]*$/i,PH=/^[\w-]+$/;fH=new RegExp("<script\\b[^>]*\\bdata-stx-color-mode-boot\\b[^>]*>[\\s\\S]*?<\\/script>","i"),gH=/<meta\b[^>]*\bcharset\b[^>]*>/i});function dH(){if(o3===null)o3=process.env.STX_BUILD_ID||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`;return o3}function rQ($,X=dH()){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)}
|
|
12637
|
+
<meta name="stx-build" content="${X}">${$.slice(J)}`}var o3=null;function T1($){return String($).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function mH($){return String($).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function s3($){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 i5($,X){return Object.entries($).filter(([Z])=>!X?.(Z)).map(([Z,J])=>`${Z}="${T1(String(J))}"`).join(" ")}function cH($={},X="en"){let Z=[],J=[],Y="",G=X;for(let[w,q]of Object.entries($||{})){if(q==null)continue;let W=w.trim();if(!sQ.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}="${T1(String(q))}"`),J.push(W)}let Q=` lang="${T1(G)}"`;if(Y)Q+=` class="${T1(Y)}"`;if(Q+=Z.join(""),Y)Q+=` ${B9}="${T1(Y)}"`;if(J.length)Q+=` ${j9}="${T1(J.join(" "))}"`;return Q}function aQ($={},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 tQ($,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(!sQ.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(!(B9 in J))Y.push(B9);J[B9]=w.join(" ")}if(q.length){if(!(j9 in J))Y.push(j9);J[j9]=q.join(" ")}let W=Y.map((K)=>` ${K}="${T1(J[K])}"`).join("");return $.replace(Z[0],()=>`<html${W}>`)}function eQ($){if($.includes("data-stx-cloak"))return $;let X=$.lastIndexOf("</head>");if(X===-1)return $;return`${$.slice(0,X)}${oQ}
|
|
12638
|
+
${$.slice(X)}`}function lH($){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 pH($,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(s3).filter(Boolean)),H=[...B.filter((T)=>!j.has(s3(T))),...G].map((T)=>{return` <meta ${i5(T)}>`}).join(`
|
|
12639
|
+
`),L=Q.map((T)=>{return` <link ${i5(T)}>`}).join(`
|
|
12640
|
+
`),O=w.map((T)=>{if(T.src)return` <script ${i5(T,(D)=>D==="content")}></script>`;if(T.content)return` <script>${T.content}</script>`;return""}).filter(Boolean).join(`
|
|
12641
|
+
`),F=cH(W,Y),V=Object.entries(z).map(([T,D])=>` ${T}="${T1(String(D))}"`).join(""),A=K?` class="${T1(K)}"`:"",{body:R,hoisted:N}=lH($),M=[H,Z.colorMode?` ${n3(Z.colorMode)}`:"",` <title>${Z.titleIsHtml?U:mH(U)}</title>`,` ${oQ}`,L,O,q?` ${q}`:"",...(Z.styles||[]).map((T)=>` ${T}`),...N.map((T)=>` ${T}`),...(Z.headScripts||[]).map((T)=>` ${T}`),Z.headStack||""].filter(Boolean),k=[R,...(Z.bodyScripts||[]).map((T)=>T),Z.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
|
|
12642
12642
|
<html${F}>
|
|
12643
12643
|
<head>
|
|
12644
12644
|
${M.join(`
|
|
12645
12645
|
`)}
|
|
12646
12646
|
</head>
|
|
12647
12647
|
<body${A}${V}>
|
|
12648
|
-
${
|
|
12648
|
+
${k.join(`
|
|
12649
12649
|
`)}
|
|
12650
12650
|
</body>
|
|
12651
|
-
</html>`}function
|
|
12651
|
+
</html>`}function a3($){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 t3($){return a3($)}function $w($,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=s3(W);if(K&&w.includes(K))continue;q.push(` <meta ${i5(W)}>`)}for(let W of Y){if(W.href&&w.includes(`href="${W.href}"`))continue;q.push(` <link ${i5(W)}>`)}for(let W of G)if(W.src){if(w.includes(`src="${W.src}"`))continue;q.push(` <script ${i5(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(`
|
|
12652
12652
|
`)}
|
|
12653
|
-
${$.slice(Z)}`}function
|
|
12653
|
+
${$.slice(Z)}`}function Xw($,X={},Z={}){if(t3($))return $;return pH($,X,Z)}var oQ="<style data-stx-cloak>[x-cloak]{display:none !important}</style>",j9="data-stx-html-attrs",B9="data-stx-html-class",sQ;var Zw=y(()=>{r3();sQ=/^[A-Za-z_:][\w:.-]*$/});import n5 from"path";function Jw($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function Yw($,X,Z){try{let J;if($.startsWith("/")){let Y=X;for(let G=0;G<5;G++){let Q=n5.join(Y,$);if(await Bun.file(Q).exists())return Q;Y=n5.dirname(Y)}J=n5.join(X,$)}else if($.startsWith("./")||$.startsWith("../"))J=n5.resolve(X,$);else J=n5.resolve(X,$);if(await Bun.file(J).exists())return J;return null}catch{return null}}async function Gw($,X,Z){let J=$,Y=n5.dirname(X),G=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,Q;while((Q=G.exec(J))!==null){let[W,K,z,U]=Q;if(Jw(z))continue;let B=await Yw(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:u0()});if(H.outputs.length>0)j=await H.outputs[0].text()}let _=`<script>
|
|
12654
12654
|
// Source: ${z}
|
|
12655
12655
|
${j}
|
|
12656
|
-
</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(
|
|
12656
|
+
</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(Jw(z))continue;if(/rel=["']stylesheet["']/.test(B)||z.endsWith(".css")){let _=await Yw(z,Y,X);if(_)try{let H=await Bun.file(_).text();Z.add(_);let L=`<style>
|
|
12657
12657
|
/* Source: ${z} */
|
|
12658
12658
|
${H}
|
|
12659
|
-
</style>`;J=J.replace(W,L),w.lastIndex=0}catch(H){}}}return J}var
|
|
12659
|
+
</style>`;J=J.replace(W,L),w.lastIndex=0}catch(H){}}}return J}var Qw=y(()=>{D1()});function e3($,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 L=B>=0?z.substring(0,B).trim():z,O=B>=0?z.substring(B+1).trim():void 0;try{let F=L.trim(),V;if(q0(F))V=W0(F,Object.keys(X))(...Object.values(X));else V=void 0;let A;if(O==="true")A=JSON.stringify(V,null,2);else A=JSON.stringify(V);let R=A.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Z=Z.substring(0,G)+R+Z.substring(q+1),J.lastIndex=G+R.length}catch(F){Y1.log(F instanceof Error?F:Error(String(F)),{directive:"@json"},"error"),J.lastIndex=G+U.length}}return Z}function $6($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function ww($){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,L=B.slice(H),O=B.match(/(\s*)$/),F=O?O[0].length:0,V=L.slice(0,L.length-F),A=V.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),R;if(A){let[N,M,k="",T]=A,D=`<${M}${k} data-stx-memo="${W}"${T}>`;R=B.slice(0,H)+D+V.slice(N.length)+B.slice(H+V.length)}else R=`${B.slice(0,H)}<div data-stx-memo="${W}">${V}</div>${B.slice(H+V.length)}`;Y.push({start:G,end:j,replacement:R}),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 X6($){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 qw($){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 Ww($){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(!iH.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 iH;var Z6=y(()=>{A1();I0();iH=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function J6($,X,Z,J){let Y=typeof Z==="boolean"?{enabled:Z,failOnViolation:Z}:Z??{enabled:!1},G=Y.allowPatterns??[],Q=[],w=s0($.replace(/\{\{--[\s\S]*?--\}\}/g,(q)=>q.replace(/[^\n]/g," ")));for(let{pattern:q,message:W,suggestion:K}of nH){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(`
|
|
12660
12660
|
`),B=$.split(`
|
|
12661
12661
|
`),j=[];U.forEach((O,F)=>{if(q.lastIndex=0,q.test(O))j.push(F+1)});let _=j.length>0?` (script line${j.length>1?"s":""} ${j.join(", ")})`:"",H=j.slice(0,3).map((O)=>` ${O} | ${(B[O-1]??"").trim().slice(0,100)}`).join(`
|
|
12662
12662
|
`),L=H?`
|
|
@@ -12664,17 +12664,17 @@ ${H}`:"";Q.push(` \u2717 ${W}${_}
|
|
|
12664
12664
|
\u2192 ${K}${L}`)}}if(Q.length>0&&Y.enabled){let q=(z)=>{let U=`${process.cwd()}/`;return z.startsWith(U)?z.slice(U.length):z},K=`[STX] DOM API violation in ${J&&J!==X?`${q(J)} (composed into ${q(X)})`:q(X)}:
|
|
12665
12665
|
${Q.join(`
|
|
12666
12666
|
`)}
|
|
12667
|
-
Tip: prefer useRef(), navigate(), and composables for component code`;if(Y.failOnViolation)throw Error(K);else console.warn(K)}}var
|
|
12668
|
-
`)}function
|
|
12669
|
-
${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load store ${j}:`,_)}if(q.length===0)return
|
|
12667
|
+
Tip: prefer useRef(), navigate(), and composables for component code`;if(Y.failOnViolation)throw Error(K);else console.warn(K)}}var nH;var Y6=y(()=>{nH=[{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 rH from"fs";function _9($){return[...$].sort().map((X)=>{try{let Z=rH.statSync(X);return`${X}:${Z.size}:${Z.mtimeMs}`}catch{return`${X}:missing`}}).join(`
|
|
12668
|
+
`)}function H9($,X,Z){let J=$.get(X);return J!==void 0&&J.signature===Z?J.value:void 0}function U1($,X,Z,J){return $.set(X,{signature:Z,value:J}),J}var G6=()=>{};var Kw={};a(Kw,{getStoreScript:()=>sH,clearStoreCache:()=>aH});import O9 from"path";function oH($,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 sH($){let X;if($)X=O9.resolve($);else{let j=await Z1();X=O9.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 _=O9.basename(j,".ts");if(["index","types"].includes(_))continue;if(j.includes(".d.ts"))continue;J.push(j)}}catch{return U1(r5,X,"",""),null}let Y=_9(J),G=H9(r5,X,Y);if(G!==void 0)return G||null;if(J.length===0)return U1(r5,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:u0()});for(let j of w)try{let _=await Bun.file(j).text(),H=O9.basename(j,".ts");oH(_,W),_=p0(_),_=T8(_),_=_.replace(/^export\s+(default\s+)?/gm,""),_=K.transformSync(_),q.push(`// Store: ${H}
|
|
12669
|
+
${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load store ${j}:`,_)}if(q.length===0)return U1(r5,X,Y,""),null;let z=q.join(`
|
|
12670
12670
|
|
|
12671
12671
|
`),B=`;(function(){
|
|
12672
12672
|
var __stx = window.stx || {};
|
|
12673
|
-
${
|
|
12673
|
+
${L1.filter((j)=>!W.has(j)&&new RegExp(`\\b${j}\\b`).test(z)).map((j)=>`var ${j} = __stx[${JSON.stringify(j)}];`).join(`
|
|
12674
12674
|
`)}
|
|
12675
12675
|
${z}
|
|
12676
|
-
})();`;return
|
|
12677
|
-
${Q.transformSync(_).trim()}`);for(let L of H)W.add(L)}catch(L){console.warn(`[stx] framework composable ${
|
|
12676
|
+
})();`;return U1(r5,X,Y,B),B}function aH(){r5.clear()}var r5;var zw=y(()=>{F1();D1();$1();G6();r5=new Map});var Q6,KE;var Uw=y(()=>{Q6=["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"],KE=new Set(Q6)});var _w={};a(_w,{selectComposableFiles:()=>jw,referencedFrameworkComposables:()=>Bw,getFrameworkComposableScript:()=>XO,clearFrameworkComposableCache:()=>eH,__setRuntimeOwnedForTest:()=>ZO});import L9 from"path";function eH(){G8.clear()}function jw($){let X=new Map;for(let Z of $){let J=L9.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 $O($,X){let Z=X.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(?:^|[^\\w$.])(?:const|let|var|function|class)\\s+${Z}\\b`).test($)}function Bw($){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 tH){if(w6.has(J))continue;let Y=J.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");if(new RegExp(`(^|[^\\w$.])${Y}\\s*\\(`).test(X))Z.push(J)}return Z.sort()}async function XO($,X){let Z=Bw($);if(Z.length===0)return null;let J=X??L9.join(import.meta.dir,"composables"),Y=`${J}\x00${Z.join(",")}`,G=G8.get(Y);if(G!==void 0)return G||null;let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:u0()}),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 G8.set(Y,""),null}K=jw(K);for(let j of K){let _;try{_=await Bun.file(j).text()}catch{continue}let H=[];try{H=Q.scan(_).exports.filter((L)=>L!=="default")}catch{continue}if(!H.some((L)=>w.has(L)))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(`// ${L9.basename(j).replace(/\.[jt]s$/,"")}
|
|
12677
|
+
${Q.transformSync(_).trim()}`);for(let L of H)W.add(L)}catch(L){console.warn(`[stx] framework composable ${L9.basename(j)} could not be bundled:`,L)}}let z=Z.filter((j)=>!W.has(j)&&!$O($,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 G8.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(`
|
|
12678
12678
|
`),B=`<script data-stx-framework-composables>
|
|
12679
12679
|
;(function(){
|
|
12680
12680
|
var __s = window.stx = window.stx || {};
|
|
@@ -12683,15 +12683,15 @@ ${q.join(`
|
|
|
12683
12683
|
`)}
|
|
12684
12684
|
${U}
|
|
12685
12685
|
})();
|
|
12686
|
-
</script>`;return G8.set(Y,B),B}function
|
|
12687
|
-
${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load composable ${j}:`,_)}if(Q.length===0||w.size===0)return
|
|
12686
|
+
</script>`;return G8.set(Y,B),B}function ZO($){w6.clear();for(let X of $)w6.add(X)}var G8,w6,tH;var Hw=y(()=>{D1();Uw();G8=new Map,w6=new Set,tH=new Set(Q6)});var Lw={};a(Lw,{getComposableScript:()=>QO,clearComposableCache:()=>wO});import Q8 from"path";function Ow($){let X=Q8.basename($,".ts");return X==="index"||X==="types"||$.endsWith(".d.ts")}async function YO($){if($)return Q8.resolve($);let X=`<default>:${process.cwd()}`,Z=q6.get(X);if(Z!==void 0)return Z;let J=await GO();if(J!==null)q6.set(X,J);return J}async function GO(){let $=await Z1(),X=$.root||process.cwd(),Z=$.composablesDir;if(Z)return Q8.resolve(X,Z);for(let J of JO){let Y=Q8.resolve(X,J);try{let G=new Bun.Glob("**/*.ts");for await(let Q of G.scan({cwd:Y,absolute:!0}))if(!Ow(Q))return Y}catch{}}return null}async function QO($){let X=await YO($);if(!X)return null;let Z=[];try{let j=new Bun.Glob("**/*.ts");for await(let _ of j.scan({cwd:X,absolute:!0})){if(Ow(_))continue;Z.push(_)}}catch{return U1(o5,X,"",""),null}let J=_9(Z),Y=H9(o5,X,J);if(Y!==void 0)return Y||null;if(Z.length===0)return U1(o5,X,J,""),null;Z.sort();let G=new Bun.Transpiler({loader:"ts",target:"browser",define:u0()}),Q=[],w=new Set,q=new Set;for(let j of Z)try{let _=await Bun.file(j).text(),H=Q8.basename(j,".ts");for(let L of _.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(L[1])q.add(L[1]);try{for(let L of G.scan(_).exports)if(L!=="default")w.add(L)}catch{}_=p0(_),_=T8(_),_=_.replace(/^export\s+(default\s+)?/gm,""),_=G.transformSync(_),Q.push(`// Composable: ${H}
|
|
12687
|
+
${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load composable ${j}:`,_)}if(Q.length===0||w.size===0)return U1(o5,X,J,""),null;let W=[...w].map((j)=>` try { __c[${JSON.stringify(j)}] = ${j}; } catch (e) {}`).join(`
|
|
12688
12688
|
`),K=JSON.stringify([...w]),z=Q.join(`
|
|
12689
12689
|
|
|
12690
12690
|
`),B=`;(function(){
|
|
12691
12691
|
window.__composables = window.__composables || {};
|
|
12692
12692
|
var __c = window.__composables;
|
|
12693
12693
|
var __stx = window.stx || {};
|
|
12694
|
-
${
|
|
12694
|
+
${L1.filter((j)=>!q.has(j)&&new RegExp(`\\b${j}\\b`).test(z)).map((j)=>`var ${j} = __stx[${JSON.stringify(j)}];`).join(`
|
|
12695
12695
|
`)}
|
|
12696
12696
|
${z}
|
|
12697
12697
|
${W}
|
|
@@ -12708,7 +12708,7 @@ ${W}
|
|
|
12708
12708
|
}
|
|
12709
12709
|
window[__n] = __c[__n];
|
|
12710
12710
|
}
|
|
12711
|
-
})();`;return
|
|
12711
|
+
})();`;return U1(o5,X,J,B),B}function wO(){o5.clear(),q6.clear()}var o5,q6,JO;var Fw=y(()=>{F1();D1();G6();$1();o5=new Map,q6=new Map,JO=["composables","functions"]});var Aw={};a(Aw,{processDeferDirectives:()=>UO});function qO(){return`stx-defer-${++Vw}`}function WO($){let X=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(X)return{trigger:X[1],value:X[2]};return{trigger:"immediate"}}function KO($,X,Z){let{trigger:J,value:Y}=WO(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 zO($,X){let{trigger:Z,triggerValue:J}=X,Y;switch(Z){case"visible":Y=`
|
|
12712
12712
|
const observer = new IntersectionObserver((entries) => {
|
|
12713
12713
|
if (entries[0].isIntersecting) {
|
|
12714
12714
|
observer.disconnect();
|
|
@@ -12781,7 +12781,7 @@ else {
|
|
|
12781
12781
|
${Y}
|
|
12782
12782
|
})();
|
|
12783
12783
|
</script>
|
|
12784
|
-
`}function
|
|
12784
|
+
`}function UO($,X,Z){Vw=0;let J=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return $.replace(J,(Y,G,Q)=>{let w=qO(),q=KO(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=zO(w,q);return`
|
|
12785
12785
|
<div id="${w}" class="stx-defer" data-defer-trigger="${q.trigger}">
|
|
12786
12786
|
${W}
|
|
12787
12787
|
${K}
|
|
@@ -12789,7 +12789,7 @@ else {
|
|
|
12789
12789
|
${z}
|
|
12790
12790
|
</div>
|
|
12791
12791
|
${B}
|
|
12792
|
-
`})}var
|
|
12792
|
+
`})}var Vw=0;var Nw={};a(Nw,{processTeleportDirectives:()=>HO,ensureTeleportTargets:()=>OO});function jO(){return`stx-teleport-${++Rw}`}function BO($){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 _O($,X){return`
|
|
12793
12793
|
<script>
|
|
12794
12794
|
(function() {
|
|
12795
12795
|
const source = document.getElementById('${$}');
|
|
@@ -12835,12 +12835,12 @@ else {
|
|
|
12835
12835
|
});
|
|
12836
12836
|
})();
|
|
12837
12837
|
</script>
|
|
12838
|
-
`}function
|
|
12838
|
+
`}function HO($,X,Z){Rw=0;let J=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return $.replace(J,(Y,G,Q)=>{let w=jO(),{target:q,disabled:W}=BO(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=_O(w,q);return`
|
|
12839
12839
|
<div id="${w}" class="stx-teleport-source" style="display: none;">
|
|
12840
12840
|
<template>${K}</template>
|
|
12841
12841
|
</div>
|
|
12842
12842
|
${z}
|
|
12843
|
-
`})}function
|
|
12843
|
+
`})}function OO(){return`
|
|
12844
12844
|
<script>
|
|
12845
12845
|
(function() {
|
|
12846
12846
|
// Common teleport targets
|
|
@@ -12857,7 +12857,7 @@ else {
|
|
|
12857
12857
|
});
|
|
12858
12858
|
})();
|
|
12859
12859
|
</script>
|
|
12860
|
-
`}var
|
|
12860
|
+
`}var Rw=0;var Iw={};a(Iw,{processTransitionDirectives:()=>AO,processTransitionAttributes:()=>MO,performLeave:()=>VO,performEnter:()=>FO,generateTransitionRuntime:()=>TO,generateTransitionCSS:()=>NO});function Tw($,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 LO($){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 Mw($,X){return new Promise((Z)=>{let J=X??LO($);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 kw($){$.offsetHeight}async function FO($,X={}){let Z=X.name||"stx",J=Tw(Z,X),Y=typeof X.duration==="object"?X.duration.enter:X.duration;if(X.onBeforeEnter?.($),$.classList.add(J.enterFrom),$.classList.add(J.enterActive),kw($),$.classList.remove(J.enterFrom),$.classList.add(J.enterTo),X.onEnter)await new Promise((G)=>{X.onEnter($,G)});else await Mw($,Y);$.classList.remove(J.enterActive),$.classList.remove(J.enterTo),X.onAfterEnter?.($)}async function VO($,X={}){let Z=X.name||"stx",J=Tw(Z,X),Y=typeof X.duration==="object"?X.duration.leave:X.duration;if(X.onBeforeLeave?.($),$.classList.add(J.leaveFrom),$.classList.add(J.leaveActive),kw($),$.classList.remove(J.leaveFrom),$.classList.add(J.leaveTo),X.onLeave)await new Promise((G)=>{X.onLeave($,G)});else await Mw($,Y);$.classList.remove(J.leaveActive),$.classList.remove(J.leaveTo),X.onAfterLeave?.($)}function AO($,X={},Z){let J=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return $.replace(J,(Y,G,Q)=>{let w=RO(G),q=w.name||"stx",W=w.duration||300,K=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
|
|
12861
12861
|
<div
|
|
12862
12862
|
class="stx-transition-wrapper"
|
|
12863
12863
|
data-transition="${q}"
|
|
@@ -12899,7 +12899,7 @@ else {
|
|
|
12899
12899
|
});
|
|
12900
12900
|
})();
|
|
12901
12901
|
</script>
|
|
12902
|
-
`})}function
|
|
12902
|
+
`})}function RO($){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 NO(){return`
|
|
12903
12903
|
/* STX Transition Presets */
|
|
12904
12904
|
|
|
12905
12905
|
/* Fade */
|
|
@@ -13086,7 +13086,7 @@ else {
|
|
|
13086
13086
|
opacity: 1;
|
|
13087
13087
|
max-height: 1000px;
|
|
13088
13088
|
}
|
|
13089
|
-
`}function
|
|
13089
|
+
`}function TO(){return`
|
|
13090
13090
|
// STX Transition Runtime
|
|
13091
13091
|
(function() {
|
|
13092
13092
|
if (typeof window === 'undefined') return;
|
|
@@ -13175,7 +13175,7 @@ else {
|
|
|
13175
13175
|
|
|
13176
13176
|
console.log('[stx] Transition runtime initialized');
|
|
13177
13177
|
})();
|
|
13178
|
-
`}function
|
|
13178
|
+
`}function MO($){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 Dw={};a(Dw,{withErrorBoundary:()=>Ew,processErrorBoundaryDirectives:()=>EO,generateErrorBoundaryRuntime:()=>CO,generateErrorBoundaryCSS:()=>SO,createErrorBoundary:()=>bO});function IO(){return`eb-${++kO}-${Date.now().toString(36)}`}function EO($,X={},Z){let J=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return $.replace(J,(Y,G,Q,w)=>{let q=IO(),W=DO(G||"");return yO(q,Q.trim(),w.trim(),W)})}function DO($){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 yO($,X,Z,J){let Y=J.logErrors!==!1;return`
|
|
13179
13179
|
<div class="stx-error-boundary" data-boundary-id="${$}" data-has-error="false">
|
|
13180
13180
|
<div class="stx-error-boundary-content" data-boundary-content="${$}">
|
|
13181
13181
|
${X}
|
|
@@ -13295,7 +13295,7 @@ else {
|
|
|
13295
13295
|
};
|
|
13296
13296
|
})();
|
|
13297
13297
|
</script>
|
|
13298
|
-
`}async function
|
|
13298
|
+
`}async function Ew($,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 bO($,X={}){let Z=X.onError?(J)=>X.onError(J,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(J)=>Ew(J,$,Z)}function SO(){return`
|
|
13299
13299
|
/* STX Error Boundary Styles */
|
|
13300
13300
|
.stx-error-boundary {
|
|
13301
13301
|
position: relative;
|
|
@@ -13339,7 +13339,7 @@ else {
|
|
|
13339
13339
|
color: #fecaca;
|
|
13340
13340
|
}
|
|
13341
13341
|
}
|
|
13342
|
-
`}function
|
|
13342
|
+
`}function CO(){return`
|
|
13343
13343
|
// STX Error Boundary Runtime
|
|
13344
13344
|
(function() {
|
|
13345
13345
|
if (typeof window === 'undefined') return;
|
|
@@ -13404,7 +13404,7 @@ else {
|
|
|
13404
13404
|
|
|
13405
13405
|
console.log('[stx] Error boundary runtime initialized');
|
|
13406
13406
|
})();
|
|
13407
|
-
`}var
|
|
13407
|
+
`}var kO=0;var yw={};a(yw,{renderSSRSuspense:()=>uO,processSuspenseDirectives:()=>xO,generateSuspenseRuntime:()=>mO,generateSuspenseCSS:()=>dO,createSSRSuspense:()=>hO});function vO(){return`suspense-${++PO}-${Date.now().toString(36)}`}function xO($,X={},Z){let J=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return $.replace(J,(Y,G,Q,w)=>{let q=vO(),W=fO(G||"");return gO(q,Q.trim(),w.trim(),W)})}function fO($){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 gO($,X,Z,J){let Y=J.timeout||30000,G=J.id||$;return`
|
|
13408
13408
|
<div class="stx-suspense" data-suspense-id="${$}" data-custom-id="${G}" data-status="pending">
|
|
13409
13409
|
<div class="stx-suspense-fallback" data-suspense-fallback="${$}">
|
|
13410
13410
|
${Z}
|
|
@@ -13594,7 +13594,7 @@ else {
|
|
|
13594
13594
|
}, 0);
|
|
13595
13595
|
})();
|
|
13596
13596
|
</script>
|
|
13597
|
-
`}function
|
|
13597
|
+
`}function hO($,X,Z){return{id:$,fallback:Z,content:X}}async function uO($){let X=$.map((J)=>`
|
|
13598
13598
|
<div id="stx-ssr-suspense-${J.id}" class="stx-ssr-suspense">
|
|
13599
13599
|
${J.fallback}
|
|
13600
13600
|
</div>
|
|
@@ -13619,7 +13619,7 @@ else {
|
|
|
13619
13619
|
}
|
|
13620
13620
|
})();
|
|
13621
13621
|
</script>
|
|
13622
|
-
`}}return{initial:X,streaming:Z()}}function
|
|
13622
|
+
`}}return{initial:X,streaming:Z()}}function dO(){return`
|
|
13623
13623
|
/* STX Suspense Styles */
|
|
13624
13624
|
.stx-suspense {
|
|
13625
13625
|
position: relative;
|
|
@@ -13675,7 +13675,7 @@ else {
|
|
|
13675
13675
|
background-size: 200% 100%;
|
|
13676
13676
|
}
|
|
13677
13677
|
}
|
|
13678
|
-
`}function
|
|
13678
|
+
`}function mO(){return`
|
|
13679
13679
|
// STX Suspense Runtime
|
|
13680
13680
|
(function() {
|
|
13681
13681
|
if (typeof window === 'undefined') return;
|
|
@@ -13742,7 +13742,7 @@ else {
|
|
|
13742
13742
|
|
|
13743
13743
|
console.log('[stx] Suspense runtime initialized');
|
|
13744
13744
|
})();
|
|
13745
|
-
`}var
|
|
13745
|
+
`}var PO=0;var Pw={};a(Pw,{processAsyncDirectives:()=>lO,isAsyncComponent:()=>iO,generateAsyncComponentRuntime:()=>rO,generateAsyncComponentCSS:()=>nO,defineAsyncComponent:()=>pO});function bw(){return`async-${++cO}-${Date.now().toString(36)}`}function lO($,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=bw(),z=Sw(w);return Cw(K,z,q.trim(),W.trim())}),G=G.replace(Y,(Q,w,q)=>{let W=bw(),K=Sw(w);return Cw(W,K,q.trim(),'<div class="stx-async-error">Failed to load component</div>')}),G}function Sw($){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 Cw($,X,Z,J){let{component:Y,timeout:G,delay:Q,suspensible:w,retries:q}=X;return`
|
|
13746
13746
|
<div class="stx-async-component" data-async-id="${$}" data-component="${Y}" data-status="pending">
|
|
13747
13747
|
<div class="stx-async-loading" data-async-loading="${$}">
|
|
13748
13748
|
${Z}
|
|
@@ -13969,7 +13969,7 @@ catch (error) {
|
|
|
13969
13969
|
loadComponent();
|
|
13970
13970
|
})();
|
|
13971
13971
|
</script>
|
|
13972
|
-
`}function
|
|
13972
|
+
`}function pO($){return{__asyncComponent:!0,...typeof $==="function"?{loader:$}:$}}function iO($){return typeof $==="object"&&$!==null&&"__asyncComponent"in $&&$.__asyncComponent===!0}function nO(){return`
|
|
13973
13973
|
/* STX Async Component Styles */
|
|
13974
13974
|
.stx-async-component {
|
|
13975
13975
|
position: relative;
|
|
@@ -14043,7 +14043,7 @@ catch (error) {
|
|
|
14043
14043
|
background-size: 200% 100%;
|
|
14044
14044
|
}
|
|
14045
14045
|
}
|
|
14046
|
-
`}function
|
|
14046
|
+
`}function rO(){return`
|
|
14047
14047
|
// STX Async Component Runtime
|
|
14048
14048
|
(function() {
|
|
14049
14049
|
if (typeof window === 'undefined') return;
|
|
@@ -14097,7 +14097,7 @@ catch (error) {
|
|
|
14097
14097
|
|
|
14098
14098
|
console.log('[stx] Async component runtime initialized');
|
|
14099
14099
|
})();
|
|
14100
|
-
`}var
|
|
14100
|
+
`}var cO=0;var xw={};a(xw,{shouldCacheComponent:()=>$L,processKeepAliveDirectives:()=>sO,onDeactivated:()=>YL,onActivated:()=>JL,generateKeepAliveRuntime:()=>ZL,generateKeepAliveCSS:()=>XL,createKeepAliveCache:()=>eO});function vw(){return`keep-alive-${++oO}-${Date.now().toString(36)}`}function sO($,X={},Z){let J=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return $.replace(J,(Y,G,Q)=>{let w=vw(),q=aO(G||"");return tO(w,Q.trim(),q)})}function aO($){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 tO($,X,Z){let{max:J,include:Y,exclude:G}=Z,Q=Z.id||$;return`
|
|
14101
14101
|
<div class="stx-keep-alive" data-keep-alive-id="${$}" data-custom-id="${Q}">
|
|
14102
14102
|
<div class="stx-keep-alive-content" data-keep-alive-content="${$}">
|
|
14103
14103
|
${X}
|
|
@@ -14384,7 +14384,7 @@ else {
|
|
|
14384
14384
|
});
|
|
14385
14385
|
})();
|
|
14386
14386
|
</script>
|
|
14387
|
-
`}function
|
|
14387
|
+
`}function eO($={}){return{id:$.id||vw(),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 $L($,X){if(X.exclude&&X.exclude.includes($))return!1;if(X.include&&!X.include.includes($))return!1;return!0}function XL(){return`
|
|
14388
14388
|
/* STX Keep-Alive Styles */
|
|
14389
14389
|
.stx-keep-alive {
|
|
14390
14390
|
position: relative;
|
|
@@ -14409,7 +14409,7 @@ else {
|
|
|
14409
14409
|
.stx-keep-alive-content > [data-activated] {
|
|
14410
14410
|
opacity: 1;
|
|
14411
14411
|
}
|
|
14412
|
-
`}function
|
|
14412
|
+
`}function ZL(){return`
|
|
14413
14413
|
// STX Keep-Alive Runtime
|
|
14414
14414
|
(function() {
|
|
14415
14415
|
if (typeof window === 'undefined') return;
|
|
@@ -14445,7 +14445,7 @@ else {
|
|
|
14445
14445
|
|
|
14446
14446
|
console.log('[stx] Keep-alive runtime initialized');
|
|
14447
14447
|
})();
|
|
14448
|
-
`}function
|
|
14448
|
+
`}function JL($){if(typeof document<"u")document.addEventListener("stx:activated",(X)=>{$(X.detail)})}function YL($){if(typeof document<"u")document.addEventListener("stx:deactivated",(X)=>{$(X.detail)})}var oO=0;var dw={};a(dw,{useVirtualList:()=>gw,processVirtualListDirectives:()=>K6,processVirtualGridDirectives:()=>uw,processInfiniteListDirectives:()=>hw,generateVirtualListCSS:()=>fw,default:()=>GL,createVirtualList:()=>W6});function W6($,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 R=Math.max(0,Math.floor(K/Z)-Y),N=Math.ceil(J/Z),M=Math.min(W.length-1,R+N+Y*2);return{startIndex:R,endIndex:M}}function B(){let R=0,N=0,M=W.length-1;for(let k=0;k<W.length;k++){let T=z.get(k)||w;if(R+T>K){N=Math.max(0,k-Y);break}R+=T}R=0;for(let k=0;k<W.length;k++){let T=z.get(k)||w;if(R+=T,R>K+J){M=Math.min(W.length-1,k+Y);break}}return{startIndex:N,endIndex:M}}function j(){if(Q){let R=0;for(let N=0;N<W.length;N++)R+=z.get(N)||w;return R}return W.length*Z}function _(R){if(Q){let N=0;for(let M=0;M<R;M++)N+=z.get(M)||w;return N}return R*Z}function H(){let{startIndex:R,endIndex:N}=U();return{startIndex:R,endIndex:N,scrollTop:K,totalHeight:j(),visibleItems:W.slice(R,N+1),itemHeights:new Map(z)}}function L(R,N="auto"){let M=_(R);O(M,N)}function O(R,N="auto"){K=Math.max(0,Math.min(R,j()-J))}function F(){U()}function V(R){W=[...R],z.clear(),F()}function A(){W=[],z.clear()}return{scrollToIndex:L,scrollToOffset:O,getState:H,refresh:F,setItems:V,destroy:A}}function K6($,X={},Z){let J=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return $.replace(J,(Y,G,Q,w)=>{let q=G.trim(),W=X[q];if(!W||!Array.isArray(W))return`<!-- virtualList: items "${q}" not found or not an array -->`;let K={itemHeight:50,containerHeight:400,overscan:3};if(Q)try{let O=Q.trim(),F=Function(`return ${O}`)();K={...K,...F}}catch{}let z=`vlist-${Math.random().toString(36).substring(2,9)}`,U=Math.ceil(K.containerHeight/K.itemHeight),B=K.overscan||3,j=0,_=Math.min(W.length-1,U+B),H="";for(let O=j;O<=_&&O<W.length;O++){let F=W[O],V=w.replace(/\{\{\s*item\s*\}\}/g,typeof F==="object"?JSON.stringify(F):String(F)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(A,R)=>{if(typeof F==="object"&&F!==null)return String(F[R]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(O));H+=`
|
|
14449
14449
|
<div class="virtual-item ${K.itemClass||""}"
|
|
14450
14450
|
style="position: absolute; top: ${O*K.itemHeight}px; height: ${K.itemHeight}px; width: 100%;"
|
|
14451
14451
|
data-index="${O}">
|
|
@@ -14522,7 +14522,7 @@ else {
|
|
|
14522
14522
|
};
|
|
14523
14523
|
})();
|
|
14524
14524
|
</script>
|
|
14525
|
-
`})}function
|
|
14525
|
+
`})}function fw(){return`
|
|
14526
14526
|
.virtual-list-container {
|
|
14527
14527
|
position: relative;
|
|
14528
14528
|
overflow-y: auto;
|
|
@@ -14570,7 +14570,7 @@ else {
|
|
|
14570
14570
|
0% { background-position: 200% 0; }
|
|
14571
14571
|
100% { background-position: -200% 0; }
|
|
14572
14572
|
}
|
|
14573
|
-
`}function
|
|
14573
|
+
`}function gw($,X){let Z=null,J=()=>{if(!Z)Z=W6($(),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 hw($,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=K6(`@virtualList(${W}, ${JSON.stringify({itemHeight:z.itemHeight,containerHeight:z.containerHeight,overscan:z.overscan,containerClass:z.containerClass})})${w}@endvirtualList`,X);return B=B.replace("</script>",`
|
|
14574
14574
|
// Infinite scroll detection
|
|
14575
14575
|
container.addEventListener('scroll', function() {
|
|
14576
14576
|
const scrollBottom = container.scrollTop + container.clientHeight;
|
|
@@ -14588,11 +14588,11 @@ else {
|
|
|
14588
14588
|
${q}
|
|
14589
14589
|
</div>
|
|
14590
14590
|
</div>
|
|
14591
|
-
`})}function
|
|
14591
|
+
`})}function uw($,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,L=Math.min(U-1,j+_),O="";for(let F=H;F<=L;F++)for(let V=0;V<K.columns;V++){let A=F*K.columns+V;if(A>=W.length)break;let R=W[A],N=V*(100/K.columns),M=F*(K.rowHeight+(K.gap||0)),k=w.replace(/\{\{\s*item\s*\}\}/g,typeof R==="object"?JSON.stringify(R):String(R)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(T,D)=>{if(typeof R==="object"&&R!==null)return String(R[D]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(A));O+=`
|
|
14592
14592
|
<div class="virtual-grid-item"
|
|
14593
14593
|
style="position: absolute; top: ${M}px; left: ${N}%; width: calc(${100/K.columns}% - ${K.gap||0}px); height: ${K.rowHeight}px;"
|
|
14594
14594
|
data-index="${A}">
|
|
14595
|
-
${
|
|
14595
|
+
${k}
|
|
14596
14596
|
</div>`}return`
|
|
14597
14597
|
<div id="${z}"
|
|
14598
14598
|
class="virtual-grid-container"
|
|
@@ -14658,7 +14658,7 @@ else {
|
|
|
14658
14658
|
});
|
|
14659
14659
|
})();
|
|
14660
14660
|
</script>
|
|
14661
|
-
`})}var
|
|
14661
|
+
`})}var GL;var mw=y(()=>{GL={createVirtualList:W6,processVirtualListDirectives:K6,processInfiniteListDirectives:hw,processVirtualGridDirectives:uw,generateVirtualListCSS:fw,useVirtualList:gw}});function cw(){return`<script data-stx-hydration-runtime>
|
|
14662
14662
|
(function() {
|
|
14663
14663
|
'use strict';
|
|
14664
14664
|
|
|
@@ -14818,7 +14818,7 @@ else {
|
|
|
14818
14818
|
stxIslands.initIslands();
|
|
14819
14819
|
}
|
|
14820
14820
|
})();
|
|
14821
|
-
</script>`}function
|
|
14821
|
+
</script>`}function lw($){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 Zq={};a(Zq,{processStaticDirectives:()=>$q,processPartialHydrationDirectives:()=>nw,onHydrated:()=>ew,isHydrated:()=>tw,hydrateIsland:()=>ow,hydrateByStrategy:()=>sw,hydrateAll:()=>aw,generatePartialHydrationCSS:()=>rw,generateIslandManifest:()=>Xq,default:()=>jL,createIslandRegistry:()=>iw});function iw(){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 QL($){return`
|
|
14822
14822
|
<script data-hydrate="${$}">
|
|
14823
14823
|
(function() {
|
|
14824
14824
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14829,7 +14829,7 @@ else {
|
|
|
14829
14829
|
island.dispatchEvent(new CustomEvent('stx:hydrated', { bubbles: true }));
|
|
14830
14830
|
})();
|
|
14831
14831
|
</script>
|
|
14832
|
-
`}function
|
|
14832
|
+
`}function wL($,X){let Z=X.timeout||2000,J=X.priority||"low";return`
|
|
14833
14833
|
<script data-hydrate="${$}">
|
|
14834
14834
|
(function() {
|
|
14835
14835
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14865,7 +14865,7 @@ else {
|
|
|
14865
14865
|
}
|
|
14866
14866
|
})();
|
|
14867
14867
|
</script>
|
|
14868
|
-
`}function
|
|
14868
|
+
`}function qL($,X){let Z=X.rootMargin||"0px",J=X.threshold||0;return`
|
|
14869
14869
|
<script data-hydrate="${$}">
|
|
14870
14870
|
(function() {
|
|
14871
14871
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14898,7 +14898,7 @@ else {
|
|
|
14898
14898
|
}
|
|
14899
14899
|
})();
|
|
14900
14900
|
</script>
|
|
14901
|
-
`}function
|
|
14901
|
+
`}function WL($,X){let Z=X.media||"(min-width: 768px)";return`
|
|
14902
14902
|
<script data-hydrate="${$}">
|
|
14903
14903
|
(function() {
|
|
14904
14904
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14927,7 +14927,7 @@ else {
|
|
|
14927
14927
|
}
|
|
14928
14928
|
})();
|
|
14929
14929
|
</script>
|
|
14930
|
-
`}function
|
|
14930
|
+
`}function KL($){return`
|
|
14931
14931
|
<script data-hydrate="${$}">
|
|
14932
14932
|
(function() {
|
|
14933
14933
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14949,7 +14949,7 @@ else {
|
|
|
14949
14949
|
events.forEach(e => island.addEventListener(e, handler, { once: true, passive: true }));
|
|
14950
14950
|
})();
|
|
14951
14951
|
</script>
|
|
14952
|
-
`}function
|
|
14952
|
+
`}function zL($,X){let Z=X.event||"stx:activate";return`
|
|
14953
14953
|
<script data-hydrate="${$}">
|
|
14954
14954
|
(function() {
|
|
14955
14955
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -14970,9 +14970,9 @@ else {
|
|
|
14970
14970
|
});
|
|
14971
14971
|
})();
|
|
14972
14972
|
</script>
|
|
14973
|
-
`}function
|
|
14974
|
-
`+
|
|
14975
|
-
<script type="application/json" data-island-props="${q}">${JSON.stringify(K)}</script>`:"",j="";switch(X){case"load":j=
|
|
14973
|
+
`}function nw($,X={},Z){let J=$,Y=!1,G=/@client:(load|idle|visible|media|only|hover|event)/i.test($);if(J=s5(J,"load",X),J=s5(J,"idle",X),J=s5(J,"visible",X),J=s5(J,"media",X),J=UL(J),J=s5(J,"hover",X),J=s5(J,"event",X),Y=G&&J!==$,Y)J+=`
|
|
14974
|
+
`+cw();return J}function s5($,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[L,O]=H.split(":").map((F)=>F.trim());if(L&&O){let F=O.replace(/^['"]|['"]$/g,"");w[L]=F}}}catch{}let q=`island-${Math.random().toString(36).substring(2,9)}`,W=lw(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?`
|
|
14975
|
+
<script type="application/json" data-island-props="${q}">${JSON.stringify(K)}</script>`:"",j="";switch(X){case"load":j=QL(q);break;case"idle":j=wL(q,w);break;case"visible":j=qL(q,w);break;case"media":j=WL(q,w);break;case"hover":j=KL(q);break;case"event":j=zL(q,w);break}return`
|
|
14976
14976
|
<div data-island="${q}"
|
|
14977
14977
|
data-strategy="${X}"
|
|
14978
14978
|
${z.join(`
|
|
@@ -14982,7 +14982,7 @@ else {
|
|
|
14982
14982
|
${Q.trim()}${B}
|
|
14983
14983
|
</div>
|
|
14984
14984
|
${j}
|
|
14985
|
-
`})}function
|
|
14985
|
+
`})}function UL($){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`
|
|
14986
14986
|
<div data-island="${Y}"
|
|
14987
14987
|
data-strategy="only"
|
|
14988
14988
|
class="stx-island stx-client-only">
|
|
@@ -15001,7 +15001,7 @@ else {
|
|
|
15001
15001
|
}
|
|
15002
15002
|
})();
|
|
15003
15003
|
</script>
|
|
15004
|
-
`})}function
|
|
15004
|
+
`})}function rw(){return`
|
|
15005
15005
|
/* Island base styles */
|
|
15006
15006
|
.stx-island {
|
|
15007
15007
|
display: contents;
|
|
@@ -15042,11 +15042,11 @@ else {
|
|
|
15042
15042
|
.stx-island.hydrated {
|
|
15043
15043
|
opacity: 1;
|
|
15044
15044
|
}
|
|
15045
|
-
`}function
|
|
15045
|
+
`}function ow($){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 sw($){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 aw(){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 tw($){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${$}"]`)?.classList.contains("hydrated")??!1}function ew($){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 $q($){return $.replace(/@static\s*([\s\S]*?)@endstatic/gi,(X,Z)=>{return`<div class="stx-static">${Z.trim()}</div>`})}function Xq($){let X=$.map((Z)=>({id:Z.id,component:Z.component,strategy:Z.options.strategy,props:Z.props}));return`
|
|
15046
15046
|
<script type="application/json" id="stx-island-manifest">
|
|
15047
15047
|
${JSON.stringify(X)}
|
|
15048
15048
|
</script>
|
|
15049
|
-
`}var
|
|
15049
|
+
`}var jL;var Jq=y(()=>{jL={processPartialHydrationDirectives:nw,processStaticDirectives:$q,generatePartialHydrationCSS:rw,generateIslandManifest:Xq,createIslandRegistry:iw,hydrateIsland:ow,hydrateByStrategy:sw,hydrateAll:aw,isHydrated:tw,onHydrated:ew}});var Bq={};a(Bq,{watchMultiple:()=>qq,watchEffect:()=>Wq,watch:()=>wq,unref:()=>Yq,toRefs:()=>Gq,throttledComputed:()=>jq,stxWatchMultiple:()=>qq,stxWatchEffect:()=>Wq,stxWatch:()=>wq,stxUnref:()=>Yq,stxToRefs:()=>Gq,stxThrottledComputed:()=>jq,stxShallowRef:()=>Qq,stxRef:()=>a5,stxIsRef:()=>c1,stxDebouncedComputed:()=>Uq,stxComputed:()=>q8,shallowRef:()=>Qq,ref:()=>a5,processWatchDirectives:()=>zq,processComputedDirectives:()=>Kq,isRef:()=>c1,default:()=>BL,debouncedComputed:()=>Uq,computed:()=>q8});function a5($){let X=$,Z=new Set,J={get value(){if(j1){let Y=w8.get(J);if(!Y)Y=new Set,w8.set(J,Y);Y.add(j1)}return X},set value(Y){if(!Object.is(X,Y)){X=Y,Z.forEach((Q)=>Q(Y));let G=w8.get(J);if(G)G.forEach((Q)=>Q())}},subscribe(Y){return Z.add(Y),()=>Z.delete(Y)},peek(){return X}};return J}function c1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function Yq($){return c1($)?$.value:$}function Gq($){let X={};for(let Z in $)if(Object.prototype.hasOwnProperty.call($,Z))X[Z]=a5($[Z]);return X}function Qq($){return a5($)}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=j1;j1=W,F9.push(W);try{return Z()}finally{F9.pop(),j1=U}}let z={get value(){if(j1){let U=w8.get(z);if(!U)U=new Set,w8.set(z,U);U.add(j1)}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 wq($,X,Z={}){let{immediate:J=!1,deep:Y=!1,flush:G="pre",once:Q=!1}=Z,w,q=!0,W=!1,K=()=>{if(c1($))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(c1($))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 qq($,X,Z={}){let{immediate:J=!1,once:Y=!1}=Z,G=$.map((z)=>c1(z)?z.value:void 0),Q=!0,w=!1,q=()=>{if(!Q||w)return;let z=$.map((U)=>c1(U)?U.value:void 0);if(X(z,G),G=[...z],Y)K()},W=$.map((z)=>{if(c1(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 Wq($,X={}){let{flush:Z="pre"}=X,J,Y=!0,G=!1,Q=()=>{if(!Y||G)return;if(J)J();let q=j1;j1=Q,F9.push(Q);try{J=$()}finally{F9.pop(),j1=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 Kq($,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 zq($,X={},Z){let J=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return $.replace(J,(Y,G,Q)=>{return`
|
|
15050
15050
|
<script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
|
|
15051
15051
|
(function() {
|
|
15052
15052
|
// Watch implementation for ${G}
|
|
@@ -15058,9 +15058,9 @@ else {
|
|
|
15058
15058
|
}
|
|
15059
15059
|
})();
|
|
15060
15060
|
</script>
|
|
15061
|
-
`})}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
|
|
15062
|
-
`)}catch{return""}})}function
|
|
15063
|
-
`)}catch{return""}})}function
|
|
15061
|
+
`})}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 Uq($,X=100){let Z=a5($()),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 jq($,X=100){let Z=a5($()),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 j1=null,F9,w8,BL;var _q=y(()=>{F9=[],w8=new WeakMap;BL={ref:a5,computed:q8,watch:wq,watchMultiple:qq,watchEffect:Wq,isRef:c1,unref:Yq,toRefs:Gq,shallowRef:Qq,debouncedComputed:Uq,throttledComputed:jq,processComputedDirectives:Kq,processWatchDirectives:zq}});function W8($,X){let Z={};for(let J of $)Z[J]=x1(X(J));return new Proxy({},{get:(J,Y)=>Z[Y]?.(),set:(J,Y,G)=>{if(Z[Y])Z[Y].set(G);else Z[Y]=x1(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 _L($,X){let Z={};for(let J of X)Z[J]=$[J];return Z}function z6($,X){let Z=Object.keys($),J=W8(Z,(O)=>X?.[O]??$[O].getDefaultValue()),Y=W8(Z,()=>[]),G=W8(Z,()=>!1),Q=W8(Z,()=>!1),w=W8(Z,()=>!1),q=x1(!1);async function W(O){w[O]=!0;let F=await $[O].validate(J[O],J);return Y[O]=F,w[O]=!1,F.length===0}async function K(){q.set(!0);let O=await Promise.all(Z.map(W));return q.set(!1),O.every(Boolean)}function z(){for(let O of Z)J[O]=X?.[O]??$[O].getDefaultValue(),Y[O]=[],G[O]=!1,Q[O]=!1}function U(O){for(let F of Z)if(F in O)J[F]=O[F],Q[F]=!0}function B(O,F){J[O]=F,Q[O]=!0}function j(O,F=!0){if(G[O]=F,F)W(O)}function _(O){return{value:J[O],errors:Y[O],touched:G[O],dirty:Q[O],valid:Y[O].length===0,validating:w[O]}}function H(O){return async(F)=>{F?.preventDefault?.();for(let A of Z)G[A]=!0;if(await K())await O(_L(J,Z))}}return{values:J,errors:Y,touched:G,dirty:Q,get isValid(){return Z.every((O)=>Y[O].length===0)},get isValidating(){return q()||Z.some((O)=>w[O])},get isDirty(){return Z.some((O)=>Q[O])},validate:K,validateField:W,reset:z,setValues:U,setFieldValue:B,setFieldTouched:j,getFieldState:_,handleSubmit:H}}var Hq;var Oq=y(()=>{a8();Hq=z6});var Aq={};a(Aq,{v:()=>HL,useForm:()=>z6,processHasErrorsDirective:()=>Vq,processFormValidationDirectives:()=>OL,processErrorsDirective:()=>Fq,processErrorDirective:()=>Lq,defineForm:()=>Hq,Validator:()=>t5});class t5{rules=[];defaultValue="";addRule($){let X=new t5;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 t5;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 t5;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 Lq($,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(`
|
|
15062
|
+
`)}catch{return""}})}function Fq($,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(`
|
|
15063
|
+
`)}catch{return""}})}function Vq($,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 OL($,X,Z){let J=$;return J=Lq(J,X,Z),J=Fq(J,X,Z),J=Vq(J,X,Z),J}var HL;var Rq=y(()=>{Oq();HL=new t5});var Mq={};a(Mq,{processXElementDirectives:()=>LL,hasXElementDirectives:()=>Tq,generateXElementRuntime:()=>Nq});function Nq(){return`<script data-stx-scoped data-stx-x-element-runtime data-stx-run="always">
|
|
15064
15064
|
(function() {
|
|
15065
15065
|
'use strict';
|
|
15066
15066
|
|
|
@@ -15344,16 +15344,16 @@ else {
|
|
|
15344
15344
|
// Expose for manual initialization
|
|
15345
15345
|
window.XElement = XElement;
|
|
15346
15346
|
})();
|
|
15347
|
-
</script>`}function
|
|
15347
|
+
</script>`}function Tq($){return/\bx-data(?:\s|=)/.test($)}function LL($){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(!Tq(J))return J;let Y=Z[0]?.trim()||Nq(),G=J.lastIndexOf("</body>");if(G!==-1)return J.slice(0,G)+Y+`
|
|
15348
15348
|
`+J.slice(G);return J+`
|
|
15349
|
-
`+Y}var
|
|
15349
|
+
`+Y}var kq={};a(kq,{rewriteImagesWithSiblings:()=>AL});import M1 from"path";async function AL($,X){let Z=X.formats??VL;if(!X.publicDir)return $;let J=TL($),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(ML(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 RL(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="${kL(_.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 RL($,X,Z){if(!NL($))return[];let J=M1.extname($).toLowerCase();if(!FL.has(J))return[];if(!$.startsWith("/"))return[];let Y=M1.join(X,$.slice(1)),G=M1.dirname(Y),Q=M1.basename(Y,J),w=M1.resolve(G),q=M1.resolve(X);if(!w.startsWith(q))return[];let W=M1.posix.dirname($),K=Z.map(async(U)=>{let B=M1.join(G,`${Q}${U.ext}`);if(!await Bun.file(B).exists())return null;return{url:M1.posix.join(W,`${Q}${U.ext}`),mime:U.mime}});return(await Promise.all(K)).filter((U)=>U!==null)}function NL($){if(!$)return!1;if($.startsWith("http://")||$.startsWith("https://"))return!1;if($.startsWith("//"))return!1;if($.startsWith("data:"))return!1;return!0}function TL($){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 ML($,X){for(let[Z,J]of X)if($>=Z&&$<J)return!0;return!1}function kL($){return $.replace(/&/g,"&").replace(/"/g,""")}var FL,VL;var Iq=y(()=>{FL=new Set([".jpg",".jpeg",".png",".gif"]),VL=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var Eq=()=>{};function U6($){return $.pwa?.serviceWorker?.fileName||"sw.js"}var Dq=y(()=>{Eq()});var yq={};a(yq,{injectPwaTags:()=>IL,generateThemeColorMeta:()=>yL,generateSwRegistrationScript:()=>EL,generatePwaTags:()=>V9,generateManifestLink:()=>DL});function V9($){let X=$.pwa;if(!X?.enabled)return"";let Z=X.manifest,J=X.icons?.outputDir?`/${X.icons.outputDir}`:"/pwa-icons",Y=U6($),G=`
|
|
15350
15350
|
<!-- stx PWA Meta Tags -->
|
|
15351
15351
|
<link rel="manifest" href="/manifest.json">
|
|
15352
|
-
<meta name="theme-color" content="${
|
|
15352
|
+
<meta name="theme-color" content="${j6(Z?.themeColor||"#000000")}">
|
|
15353
15353
|
<meta name="mobile-web-app-capable" content="yes">
|
|
15354
15354
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
15355
15355
|
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
|
15356
|
-
<meta name="apple-mobile-web-app-title" content="${
|
|
15356
|
+
<meta name="apple-mobile-web-app-title" content="${j6(Z?.shortName||Z?.name||"App")}">`;if(X.icons?.generateAppleIcons!==!1)G+=`
|
|
15357
15357
|
<link rel="apple-touch-icon" href="${J}/apple-touch-icon.png">
|
|
15358
15358
|
<link rel="apple-touch-icon" sizes="120x120" href="${J}/apple-touch-icon-120x120.png">
|
|
15359
15359
|
<link rel="apple-touch-icon" sizes="152x152" href="${J}/apple-touch-icon-152x152.png">
|
|
@@ -15390,12 +15390,12 @@ if ('serviceWorker' in navigator) {
|
|
|
15390
15390
|
});
|
|
15391
15391
|
}
|
|
15392
15392
|
</script>
|
|
15393
|
-
<!-- End stx PWA -->`,G}function
|
|
15394
|
-
`+$.slice(Y)}return $+
|
|
15395
|
-
</head>`)}function
|
|
15393
|
+
<!-- End stx PWA -->`,G}function IL($,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=V9(X);return $.slice(0,Y)+G+`
|
|
15394
|
+
`+$.slice(Y)}return $+V9(X)}let J=V9(X);return $.replace("</head>",`${J}
|
|
15395
|
+
</head>`)}function EL($){if(!$.pwa?.enabled)return"";return`<script>
|
|
15396
15396
|
if ('serviceWorker' in navigator) {
|
|
15397
15397
|
window.addEventListener('load', function() {
|
|
15398
|
-
navigator.serviceWorker.register('/${
|
|
15398
|
+
navigator.serviceWorker.register('/${U6($)}')
|
|
15399
15399
|
.then(function(registration) {
|
|
15400
15400
|
console.log('[PWA] Service Worker registered:', registration.scope);
|
|
15401
15401
|
})
|
|
@@ -15404,90 +15404,92 @@ if ('serviceWorker' in navigator) {
|
|
|
15404
15404
|
});
|
|
15405
15405
|
});
|
|
15406
15406
|
}
|
|
15407
|
-
</script>`}function
|
|
15407
|
+
</script>`}function DL(){return'<link rel="manifest" href="/manifest.json">'}function yL($){return`<meta name="theme-color" content="${j6($)}">`}function j6($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var bq=y(()=>{Dq()});import bL from"fs";import P0 from"path";function Sq($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function SL($,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(`
|
|
15408
15408
|
`,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===`
|
|
15409
15409
|
`){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]===`
|
|
15410
|
-
`)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
|
|
15410
|
+
`)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 e5($,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 Cq($){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 CL($){let X=e5($,"data-stx-runtime");if(!X)return $;let Z=Cq($);if(Z===-1||Z===X.start)return $;let J=$.slice(X.start,X.end),Y=$.slice(0,X.start)+$.slice(X.end),G=Cq(Y);if(G===-1)return J+`
|
|
15411
15411
|
`+Y;return Y.slice(0,G)+J+`
|
|
15412
|
-
`+Y.slice(G)}async function
|
|
15413
|
-
`),...W.htmlAttrs&&{htmlAttrs:
|
|
15414
|
-
<meta name="stx-layout" content="${
|
|
15415
|
-
<meta name="stx-layout-group" content="${
|
|
15416
|
-
`+K+Q.slice(z.end)}}catch{}if(G)try{let{getFrameworkComposableScript:w}=await
|
|
15417
|
-
`+q+Q.slice(W.end)}}catch{}if(G)try{let{getComposableScript:w}=await
|
|
15418
|
-
`+K+Q.slice(z.end)}}catch{}if(G)Q=
|
|
15412
|
+
`+Y.slice(G)}async function F0($,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=V1($);let G=!X.__stxProcessingDepth;if(G)P2(X);if(!X.__stxProcessingDepth)X.__stxProcessingDepth=0;if(X.__stxProcessingDepth++,!X.__onceStore)X.__onceStore=new Set;if((J.debug||!l7()&&!x$())&&Z&&Z.endsWith(".stx"))w3($,Z);try{return await JZ.timeAsync("template-processing",async()=>{let Q=await PL($,X,Z,J,Y);if(G)Q=X6(Q);if(G&&J.autoShell&&J.buildMode!=="compile"){let w=J.app?.head||{},W=(X.__stx_runtime_head||null)??OX(),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(`
|
|
15413
|
+
`),...W.htmlAttrs&&{htmlAttrs:aQ(w.htmlAttrs,W.htmlAttrs)},...W.bodyAttrs&&{bodyAttrs:{...w.bodyAttrs||{},...W.bodyAttrs}}},L=t3(Q);if(Q=Xw(Q,H,{..._&&{titleIsHtml:!0},...J.app?.colorMode&&{colorMode:J.app.colorMode}}),L)Q=$w(Q,w),Q=tQ(Q,H.htmlAttrs);let O=Q.match(/<!-- stx-layout: ([^ ]+) -->/);if(O&&Q.includes("<head")){let A=O[1],R=H7(A);Q=Q.replace(/<head\b[^>]*>/i,(N)=>`${N}
|
|
15414
|
+
<meta name="stx-layout" content="${Sq(A)}">
|
|
15415
|
+
<meta name="stx-layout-group" content="${Sq(R)}">`)}let F=Q.match(/function (__stx_setup_\d+_\d+)\(/),V=F?h7(Q):null;if(F&&V&&!/\bdata-stx=/.test(V.tag)){Q=c8(Q,(R,N)=>`<body${N} data-stx="${F[1]}">`);let A=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${F[1]}"`,"i");Q=Q.replace(A,"$1")}}if(G){Q=eQ(Q);let w=J.app?.colorMode;if(w)Q=iQ(Q,w);Q=rQ(Q),Q=CL(Q)}if(G)try{let{getStoreScript:w}=await t("stx/store-loader",()=>Promise.resolve().then(() => (zw(),Kw))),q=J.storesDir,W=await w(q);if(W){let K=`<script data-stx-stores>${W}</script>`,z=e5(Q,"data-stx-runtime");if(z)Q=Q.slice(0,z.end)+`
|
|
15416
|
+
`+K+Q.slice(z.end)}}catch{}if(G)try{let{getFrameworkComposableScript:w}=await t("stx/framework-composables",()=>Promise.resolve().then(() => (Hw(),_w))),q=await w(Q);if(q){let W=e5(Q,"data-stx-stores")||e5(Q,"data-stx-runtime");if(W)Q=Q.slice(0,W.end)+`
|
|
15417
|
+
`+q+Q.slice(W.end)}}catch{}if(G)try{let{getComposableScript:w}=await t("stx/composable-loader",()=>Promise.resolve().then(() => (Fw(),Lw))),q=J.composablesDir,W=await w(q);if(W){let K=`<script data-stx-composables>${W}</script>`,z=e5(Q,"data-stx-stores")||e5(Q,"data-stx-runtime");if(z)Q=Q.slice(0,z.end)+`
|
|
15418
|
+
`+K+Q.slice(z.end)}}catch{}if(G)Q=nQ(Q);if(G&&X.__stx_inject_css!==!1)Q=await r7(Q,void 0,J.buildMode==="serve");if(G)Q=qZ(Q);return Q=Q.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),Q})}catch(Q){if(Q instanceof u$)throw Q;let w=Q instanceof Error?Q.message:String(Q),q=new G5(`Template processing failed: ${w}`,Z,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(Y1.log(q,{filePath:Z,context:X}),x4.logDetailedError(q,{filePath:Z,template:$.substring(0,500)}),J.debug)throw q;return P4.createFallbackContent("Template Processing",q)}}async function PL($,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 fL(Z,X),xL(X,w),q=await v5(()=>EQ(q,X,Z,w),q,(F)=>{Y1.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=q1(q,b7,(F,V)=>`\x00STX_HTML_COMMENT_${V}\x00`);q=W.output;let K=W.tokens,z=(F)=>K.length===0?F:F.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(V,A)=>K[Number(A)]??""),U="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,U),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(F,V)=>{return`{{ ${V} }}`}),q=hQ(q),q=await Gw(q,Z,Y);let B={};q=m3(q,B);let j={...X.__sections||{}},_="",H=sY(o$($)),L=/@nolayout\b/.test(q)||H===!1;if(/@nolayout\b/.test(q))q=q.replace(/@nolayout\b\s*/g,"");let O=q.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(O)_=O[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");else if(typeof H==="string"){if(_=H,!/@section\s*\(/.test(q))q=`@section('content')
|
|
15419
15419
|
${q.trim()}
|
|
15420
|
-
@endsection`}if(!_&&!L&&w.defaultLayout){let F=
|
|
15420
|
+
@endsection`}if(!_&&!L&&w.defaultLayout){let F=a3(q),V=/@section\s*\(/.test(q);if(!F||V){let A="",R=P0.dirname(Z),N=w.layoutsDir?P0.dirname(w.layoutsDir):process.cwd();for(let M=0;M<20;M++){let k=P0.join(R,"_layout.stx");if(await n(k)){A=k;break}let T=P0.dirname(R);if(T===R||T.length<N.length)break;R=T}if(A)_=A;else if(w.layoutsDir){let M=P0.isAbsolute(w.layoutsDir)?w.layoutsDir:P0.resolve(process.cwd(),w.layoutsDir),k=P0.join(M,`${w.defaultLayout}.stx`);if(await n(k))_=k}if(_&&!V)q=`@section('content')
|
|
15421
15421
|
${q.trim()}
|
|
15422
|
-
@endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,A)=>{return j[V]=A,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(F,V,A)=>{if(/^(['"]).*\1$/.test(A.trim()))return F;try{let R=
|
|
15422
|
+
@endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,A)=>{return j[V]=A,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(F,V,A)=>{if(/^(['"]).*\1$/.test(A.trim()))return F;try{let R=G0(A.trim(),X);if(R===void 0)return F;return j[V]=String(R??""),""}catch{return F}}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(F,V,A)=>{if(A.includes("@parent"))j[V]=A.replace("@parent",U5);else j[V]=A.trim();return""}),X.__sections=j,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(F,V,A)=>{return j[V]||A||""}),!("slot"in X)||X.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""});if(q=c3(q,B),_){let F=[],V=b1(q),A=q1(V.output,k5,(R,N)=>`\x00STX_ORPHAN_STYLE_${N}\x00`);if(q=A.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(R,N,M)=>{let k=N==="SCRIPT"?V.scripts[Number(M)]:A.tokens[Number(M)];if(k)F.push(k);return""}),F.length>0){let R=F.join(`
|
|
15423
15423
|
`);j.content=j.content?`${j.content}
|
|
15424
|
-
${R}`:R,X.__sections=j}}if(_)try{let F;if(P0.isAbsolute(_))F=_,Y.add(_);else F=await
|
|
15425
|
-
${q}`,z(q)}catch(F){return
|
|
15426
|
-
`;if(G=
|
|
15424
|
+
${R}`:R,X.__sections=j}}if(_)try{let F;if(P0.isAbsolute(_))F=_,Y.add(_);else F=await v5(()=>eX(_,Z,Q,Y),null,()=>{throw new G5(`Failed to resolve layout path: ${_}`,Z,void 0,void 0,`Layout referenced from ${Z}`)});if(!F){let k=[];try{let D=Q.layoutsDir;if(D){let I=P0.isAbsolute(D)?D:P0.resolve(process.cwd(),D);k=bL.readdirSync(I).filter((S)=>S.endsWith(".stx")).map((S)=>S.replace(/\.stx$/,"")).sort()}}catch{}let T=`Layout not found: ${_} (referenced from ${Z})`+(k.length>0?`. Available layouts: ${k.join(", ")}`:Q.layoutsDir?`. No .stx layouts found in ${Q.layoutsDir}`:"");if(Y1.log(Error(T),{layoutPath:_,filePath:Z,available:k},"error"),console.error(`[stx] ${T}`),Q.debug)throw new G5(T,Z);return q}let V=await v5(()=>Bun.file(F).text(),"",()=>{throw new G5(`Failed to read layout file: ${F}`,Z,void 0,void 0,"Layout content could not be loaded")}),A=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(A){if(Q.debug)console.log(`Found nested layout: ${A[1]} in ${F}`);let k={},T=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(S,b,E)=>{return k[b]=E.trim(),""});for(let[S,b]of Object.entries(k))if(j[S]&&j[S].includes(U5)){let E=j[S].indexOf(U5);j[S]=j[S].slice(0,E)+b+j[S].slice(E+U5.length)}else if(!j[S])j[S]=b;let D={...X,__sections:j},I=`@layout('${A[1]}')${T}`;return await F0(I,D,F,Q,Y)}let R=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),N=m3(R,B),M={};return N=N.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(k,T,D)=>{return M[T]=D.trim(),`@slot('${T}')`}),N=N.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(k,T,D)=>{if(j[T]){let I=j[T];if(I.includes(U5)){let S=M[T]||"",b=I.indexOf(U5);I=I.slice(0,b)+S+I.slice(b+U5.length)}return I}return D||""}),N=vL(N,j),N=N.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),N=c3(N,B),X.__originalFilePath=Z,q=await Pq(N,X,F,Q,Y),q=`<!-- stx-layout: ${_} -->
|
|
15425
|
+
${q}`,z(q)}catch(F){return Y1.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 Pq(q,X,Z,Q,Y))}function vL($,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 xL($,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 fL($,X){await v5(()=>CQ($,X),void 0,(Z)=>{Y1.log(Z,{filePath:$,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${$}: ${Z.message}`)})}async function gL($,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 t("stx/variable-extractor",()=>Promise.resolve().then(() => (f7(),u8)));await q(Q,X,Z,{preserveExisting:!0})}catch(q){let W=q instanceof Error?q:Error(String(q));Y1.log(W,{filePath:Z,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Z}: ${W.message}`)}}}async function hL($,X,Z){try{let{interpolateScriptsInTemplate:J}=await t("stx/expressions",()=>Promise.resolve().then(() => (W1(),$Z)));return J($,X,{skipServer:!0})}catch(J){let Y=J instanceof Error?J:Error(String(J));return Y1.log(Y,{filePath:Z,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Z}: ${Y.message}`),$}}async function Pq($,X,Z,J,Y){let G=$,Q=J;if(await gL(G,X,Z),G=await hL(G,X,Z),G=await RQ(G,X,Z),G=await NQ(G,X,Z),G=await _G(G,X,Z,Q),V1(G))G=nX(G,X),G=oX(G,X);G=rX(G);let{processStreamDirectives:w}=await t("stx/streaming",()=>Promise.resolve().then(() => (Q3(),G3)));G=w(G,X),G=g3(G,X,Z,Q),G=await lQ(G,X,Z,Q,Y),G=await q9(G,X,Z,Q,Y),G=a6(G,X,Z,Q);let{processDeferDirectives:q}=await t("stx/defer",()=>Promise.resolve().then(() => Aw));G=q(G,X,Z);let{processTeleportDirectives:W}=await t("stx/teleport",()=>Promise.resolve().then(() => Nw));G=W(G,X,Z);let{processTransitionDirectives:K,processTransitionAttributes:z}=await t("stx/transitions",()=>Promise.resolve().then(() => Iw));G=K(G,X,Z),G=z(G);let{processErrorBoundaryDirectives:U}=await t("stx/error-boundaries",()=>Promise.resolve().then(() => Dw));G=U(G,X,Z);let{processSuspenseDirectives:B}=await t("stx/suspense",()=>Promise.resolve().then(() => yw));G=B(G,X,Z);let{processAsyncDirectives:j}=await t("stx/async-components",()=>Promise.resolve().then(() => Pw));G=j(G,X,Z);let{processKeepAliveDirectives:_}=await t("stx/keep-alive",()=>Promise.resolve().then(() => xw));G=_(G,X,Z);let{processVirtualListDirectives:H,processVirtualGridDirectives:L,processInfiniteListDirectives:O}=await t("stx/virtual-scrolling",()=>Promise.resolve().then(() => (mw(),dw)));G=H(G,X,Z),G=L(G,X,Z),G=O(G,X,Z);let{processPartialHydrationDirectives:F,processStaticDirectives:V}=await t("stx/partial-hydration",()=>Promise.resolve().then(() => (Jq(),Zq)));G=F(G,X,Z),G=V(G);let{processComputedDirectives:A,processWatchDirectives:R}=await t("stx/computed",()=>Promise.resolve().then(() => (_q(),Bq)));G=A(G,X,Z),G=R(G,X,Z);let{processFormValidationDirectives:N}=await t("stx/forms-validation",()=>Promise.resolve().then(() => (Rq(),Aq)));G=N(G,X,Z);let{processHeadDirective:M,processTitleDirective:k,processMetaDirective:T,resetHead:D}=await t("stx/head",()=>Promise.resolve().then(() => (x7(),FX)));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}
|
|
15426
|
+
`;if(G=k(G,X),G=T(G,X),G=bQ(G),G=p4(G,X),G=jG(G),G=kQ(G),G=await d3(G,X,Z,Q,Y),G=await q9(G,X,Z,Q,Y),X.__stxProcessingDepth===1)G=x2(G,X);if(G=G.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),G=X6(G),G=N1(G,X,Z),G=i4(G,X),G=n4(G,X),G=e$(G,X),G=TG(G,X),G=MG(G,X),G=await XG(G,X,Z,Q),G=await jJ(G,X,Z),G=await yG(G,X,Z,Q),G=l6(G,X,Z,Q),G=AY(G,X,Z,Q),G=RY(G,X,Z),G=NY(G,X,Z,Q),G=KG(G,X,Z,Q),G=e3(G,X),G=$6(G),G=ww(G),!Q.skipEventDirectives)G=O2(G,X,Z);if(G=eY(G,X,Z),Q.debug){let r=/\bx-data\s*=/.test(G),e=G$($);if(r&&e)console.warn(`[stx] ${Z}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
|
|
15427
15427
|
Both work on the same page, but they manage separate scopes.
|
|
15428
|
-
Prefer signals (state/derived/effect) for new components.`)}G=
|
|
15428
|
+
Prefer signals (state/derived/effect) for new components.`)}G=xQ(G,X),G=await S1(G,X,Z),G=qw(G),G=Ww(G),G=iY(G);let{processXElementDirectives:S}=await t("stx/x-element",()=>Promise.resolve().then(() => Mq));G=S(G);let b=X.__originalFilePath||Z,E=E7(X);if(G=await sX(G,Q,b,E),G=VG(G,X),G=await DQ(G,X,Z,Q),Q.media?.image?.autoSiblings){let r=Q.publicDir||"public",{rewriteImagesWithSiblings:e}=await t("stx/image-optimization/auto-sibling",()=>Promise.resolve().then(() => (Iq(),kq)));G=await e(G,{publicDir:r})}if(Q.seo?.enabled)G=TY(G,X,Q);let v=(r,e,K0=!0)=>{if(!e)return r;let x0=e.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),V0=r.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(x0&&V0){if(K0)r=r.replace(V0[0],x0[0]);if(e=e.replace(x0[0],"").trim(),!e)return r}if(/<\/head>/i.test(r))return r.replace(/<\/head>/i,`${e}
|
|
15429
15429
|
</head>`);if(/<head\b[^>]*>/i.test(r))return r.replace(/(<head\b[^>]*>)/i,`$1
|
|
15430
|
-
${
|
|
15430
|
+
${e}`);if(/<html\b[^>]*>/i.test(r))return r.replace(/(<html\b[^>]*>)/i,`$1
|
|
15431
15431
|
<head>
|
|
15432
|
-
${
|
|
15433
|
-
</head>`);return r},{renderHead:
|
|
15434
|
-
${
|
|
15435
|
-
</script>`;if(G.includes("</head>")){let K0=G.indexOf("</head>"),
|
|
15436
|
-
`+C}else G=G.replace("</head>",`${
|
|
15432
|
+
${e}
|
|
15433
|
+
</head>`);return r},{renderHead:x,getHead:f}=await t("stx/head",()=>Promise.resolve().then(() => (x7(),FX))),p=X.__stx_runtime_head??f();if(p.title||p.meta?.length||p.link?.length){let r=x(p);if(r)G=v(G,r)}if(I.headContent)G=v(G,I.headContent,!p.title);if(Q.csp?.enabled&&Q.csp.addMetaTag)G=qG(G,Q.csp,X);if(Q.analytics?.enabled)G=rY(G,Q);if(Q.heatmap?.enabled)G=X2(G,Q);if(Q.pwa?.enabled&&Q.pwa.autoInject!==!1){let{injectPwaTags:r}=await t("stx/pwa/inject",()=>Promise.resolve().then(() => (bq(),yq)));G=r(G,Q)}let H0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(G),M0=/\bSTX\.\w+/.test(G),j0=/window\.STX\s*=/.test(G);if(H0&&M0&&!j0){let e=`<script data-stx-scoped data-stx-run="once">
|
|
15434
|
+
${mY()}
|
|
15435
|
+
</script>`;if(G.includes("</head>")){let K0=G.indexOf("</head>"),V0=G.slice(0,K0).indexOf("<script");if(V0!==-1){let P=G.slice(0,V0),C=G.slice(V0);G=P+e+`
|
|
15436
|
+
`+C}else G=G.replace("</head>",`${e}
|
|
15437
15437
|
</head>`)}else if(G.includes("<body"))G=G.replace(/<body([^>]*)>/,`<body$1>
|
|
15438
|
-
${
|
|
15439
|
-
`+G}{let{scanScriptTags:r}=await
|
|
15440
|
-
`+G.slice(K0)}X.__stx_event_bindings=[]}}if(!
|
|
15438
|
+
${e}`);else G=e+`
|
|
15439
|
+
`+G}{let{scanScriptTags:r}=await t("stx/signal-processing",()=>Promise.resolve().then(() => (d7(),Q$))),e=[];for(let K0 of r(G)){if(!/\bserver\b/i.test(K0.attrs))continue;let x0=K0.start+K0.fullMatch.indexOf(">")+1,V0=SL(G,x0);if(V0===-1)continue;let P=V0+9;while(P<G.length&&/\s/.test(G[P]))P++;e.push({start:K0.start,end:P})}for(let K0=e.length-1;K0>=0;K0--){let{start:x0,end:V0}=e[K0];G=G.substring(0,x0)+G.substring(V0)}}let Z0=x8(G,Z);if(Z0.hasScoped)G=Z0.html;let l=X.__stx_event_bindings||[],J0=!1,D0=[],v0=/\s:[a-z][\w.-]*\s*=/.test(G),{scanScriptTags:j5}=await t("stx/signal-processing",()=>Promise.resolve().then(() => (d7(),Q$)));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)["'])[^"']*["']/}))D0.push({match:r.fullMatch,attrs:r.attrs,content:r.body});for(let{match:r,attrs:e,content:K0}of D0){J0=!0;let x0=K0;J6(K0,Z,J.strict,X.__originalFilePath);let V0=await D7(K0,{eventBindings:l,attrs:e,hasColonDirectives:v0,templateContent:$,filePath:Z,projectRoot:process.cwd(),production:J.buildMode==="compile",serverData:E});G=G.replace(r,()=>V0)}if(J0)X.__stx_event_bindings=[];if(!J0&&X.__stxProcessingDepth===1){let r=X.__stx_event_bindings||[];if(r.length>0){let e=e9(r);if(e){let K0=G.lastIndexOf("</body>");G=K0===-1?G+e:G.slice(0,K0)+e+`
|
|
15440
|
+
`+G.slice(K0)}X.__stx_event_bindings=[]}}if(!tZ(G)&&eZ(G))G=await $$(G,Q);if(G=$J(G),Q.csp?.enabled&&Q.csp.useNonce&&typeof X.cspNonce==="string")G=WG(G,X.cspNonce);return G}var U5="<!--PARENT_CONTENT_PLACEHOLDER-->";var z$=y(()=>{r$();IX();o1();i9();cY();nY();oY();o9();n9();$X();y7();$G();ZG();o7();zG();BG();OG();AG();A1();x7();W1();kG();bG();AQ();MQ();h3();$4();yQ();D5();SQ();m$();y0();PQ();fQ();uQ();pQ();_X();r3();Zw();d7();x3();Qw();Z6();Y6();I0();q3();KX();T7();X$();X$();Z6();Y6()});import R0 from"fs";import Y0 from"path";import O6 from"fs";import rq from"path";var N9="resources/assets",L6="assets";function F6($=process.cwd()){let X=rq.resolve($,N9);return O6.existsSync(X)&&O6.statSync(X).isDirectory()?X:null}import H5 from"fs";import T9 from"path";var V6="_stx";function oq($){return Bun.hash($).toString(16).slice(0,8)}function sq($){let X=[],Z=(J)=>{for(let Y of H5.readdirSync(J,{withFileTypes:!0})){let G=T9.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 aq=[{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 tq($,X=`/${V6}`){let Z=[],J=new Set,Y=0,G=$;for(let Q of aq)G=G.replace(Q.pattern,(w,q,W)=>{if(/\b(?:src|href)\s*=/.test(q)||!W.trim())return w;let K=`${Q.prefix}.${oq(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 A6($){let X={pages:0,assets:0,bytesInlined:0},Z=T9.join($,V6),J=new Set;for(let Y of sq($)){let G=H5.readFileSync(Y,"utf8"),{html:Q,assets:w,bytesInlined:q}=tq(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(T9.join(Z,W.filename),W.contents),X.assets++}H5.writeFileSync(Y,Q),X.bytesInlined+=q,X.pages++}return X}m9();z$();import{createHash as uL}from"crypto";function dL($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}var mL=/<script\s+type="stx\/island"\s+data-stx-island="([^"]+)"([^>]*)>([\s\S]*?)<\/script>/g;function cL($){return Bun.hash($).toString(16)}function vq($,X={}){if(!$.includes('type="stx/island"'))return{html:$,chunks:[]};let Z=new Map,J=$.replace(mL,(G,Q,w,q)=>{let W=q.trim();if(!W)return G;if(/\bdata-stx-src=/.test(w))return G;if(X.minify)W=dL(W);let K=cL(W);if(!Z.has(K))Z.set(K,W);let z=X.integrity?` data-stx-integrity="sha384-${uL("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 lL=new Set(["visible","idle"]);function xq($){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(lL.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)}F1();import K8 from"fs";import A9 from"path";var pL="layout-types.d.ts";function iL($){let X=[],Z=(J,Y)=>{let G;try{G=K8.readdirSync(J,{withFileTypes:!0})}catch{return}for(let Q of G){if(Q.name.startsWith("."))continue;let w=A9.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 nL($){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(`
|
|
15441
15441
|
`);return X.push("declare module '@stacksjs/stx' {"," interface KnownLayouts {",...$.map((Z)=>` '${Z}': true`)," }","}","","export {}",""),X.join(`
|
|
15442
|
-
`)}function
|
|
15443
|
-
`)}
|
|
15442
|
+
`)}function fq($,X){if(!$)return[];let Z=A9.isAbsolute($)?$:A9.resolve(process.cwd(),$),J=iL(Z),Y=nL(J),G=A9.join(X,pL);try{if(K8.existsSync(G)&&K8.readFileSync(G,"utf8")===Y)return J;K8.mkdirSync(X,{recursive:!0}),K8.writeFileSync(G,Y)}catch{}return J}var rL=["STX_SITE_URL","SITE_URL","URL","VERCEL_URL","CF_PAGES_URL"];function B6($){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 oL($){for(let X of rL){let Z=$[X];if(!Z)continue;let J=B6(Z);if(J)return{url:J,source:"env",via:X}}return null}function gq($){if(!$||typeof $!=="object")return null;let X=$,Z=X.site?.url??X.url??X.app?.url;return typeof Z==="string"?B6(Z):null}async function sL($){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=gq(G.default??G);if(Q)return Q}catch{}}return null}async function hq($={}){let X=$.cwd??process.cwd(),Z=$.env??process.env;if($.explicit){let Q=B6($.explicit);if(Q)return{url:Q,source:"option"}}let J=gq($.stxConfig);if(J)return{url:J,source:"stx.config",via:"site.url"};let Y=await sL(X);if(Y)return{url:Y,source:"site.config",via:"url"};let G=oL(Z);if(G)return G;return{url:"http://localhost",source:"fallback"}}function uq(){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(`
|
|
15443
|
+
`)}m$();R7();r$();T5();I1();class dq{cacheDir;cache=new Map;loaded=!1;constructor($){this.cacheDir=$}async load(){if(this.loaded)return;let $=Y0.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 R0.promises.mkdir(this.cacheDir,{recursive:!0});let $=Y0.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=R0.statSync($),J=`${$}:${Z.mtimeMs}`;for(let G of X)if(R0.existsSync(G)){let Q=R0.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 mq{cacheDir;constructor($){this.cacheDir=$}getFilePath($){let X=$.replace(/[^a-zA-Z0-9]/g,"_")+".json";return Y0.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 R0.promises.mkdir(Y0.dirname(Z),{recursive:!0}),await Bun.write(Z,JSON.stringify(X))}async invalidate($){let X=this.getFilePath($);if(await Bun.file(X).exists())await R0.promises.unlink(X)}async invalidatePattern($){let X=Y0.join(this.cacheDir,"isr");if(!R0.existsSync(X))return;let Z=await R0.promises.readdir(X);for(let J of Z){let Y=J.replace(/_/g,"/").replace(".json","");if($.test(Y))await R0.promises.unlink(Y0.join(X,J))}}async needsRevalidation($){let X=await this.get($);if(!X)return!0;return Date.now()>X.revalidateAfter}}async function aL($){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(`
|
|
15444
15444
|
return (async function getStaticPaths() {
|
|
15445
15445
|
${Y[1]}
|
|
15446
15446
|
})()
|
|
15447
|
-
`)()}catch(X){return console.error(`Error extracting static paths from ${$}:`,X),null}}async function
|
|
15447
|
+
`)()}catch(X){return console.error(`Error extracting static paths from ${$}:`,X),null}}async function tL($){let X=[];if(!$.isDynamic)X.push({url:$.pattern,params:{}});else{let Z=await aL($.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 eL($){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 $F($,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",`
|
|
15448
15448
|
return (async function getStaticProps() {
|
|
15449
15449
|
${G[1]}
|
|
15450
15450
|
})()
|
|
15451
|
-
`)(X)}catch(G){return console.error(`Error executing getStaticProps in ${Z}:`,G),null}}function
|
|
15452
|
-
resolved against partialsDir: ${B.partialsDir}`)}};if(
|
|
15451
|
+
`)(X)}catch(G){return console.error(`Error executing getStaticProps in ${Z}:`,G),null}}function XF($){return/(?:^|[^\w$.])(?:export\s+)?(?:async\s+)?function\s+action\s*\(/.test($)||/(?:^|[^\w$.])(?:export\s+)?(?:const|let|var)\s+action\s*=/.test($)}async function cq($,X,Z={},J,Y){let G=await Bun.file($.filePath).text(),Q=await eL($.filePath),w=await $F(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(`${Y0.relative(process.cwd(),B.templatePath)}: ${B.message}
|
|
15452
|
+
resolved against partialsDir: ${B.partialsDir}`)}};if(XF(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 F0(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}
|
|
15453
15453
|
</head>`);else U=`${B}
|
|
15454
|
-
${U}`}if(U=await
|
|
15454
|
+
${U}`}if(U=await lX(U,{router:J.router}),U=await r7(U),J.minify!==!1)return{html:ZF(U),dependencies:Array.from(W),includeFailures:K};return{html:U,dependencies:Array.from(W),includeFailures:K}}function ZF($){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 JF($){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 YF($,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 GF($,X){return`<?xml version="1.0" encoding="UTF-8"?>
|
|
15455
15455
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
15456
15456
|
${$.map((J)=>{let Y=new URL(J.loc,X).href,G=` <url>
|
|
15457
|
-
<loc>${
|
|
15457
|
+
<loc>${w1(Y)}</loc>`;if(J.lastmod)G+=`
|
|
15458
15458
|
<lastmod>${J.lastmod}</lastmod>`;if(J.changefreq)G+=`
|
|
15459
15459
|
<changefreq>${J.changefreq}</changefreq>`;if(J.priority!==void 0)G+=`
|
|
15460
15460
|
<priority>${J.priority}</priority>`;return G+=`
|
|
15461
15461
|
</url>`,G}).join(`
|
|
15462
15462
|
`)}
|
|
15463
|
-
</urlset>`}function
|
|
15464
|
-
<title>${
|
|
15465
|
-
<link>${
|
|
15466
|
-
<description>${
|
|
15463
|
+
</urlset>`}function w1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function QF($,X){let Z=X.map((J)=>{let Y=" <item>";if(Y+=`
|
|
15464
|
+
<title>${w1(J.title)}</title>`,Y+=`
|
|
15465
|
+
<link>${w1(J.link)}</link>`,J.description)Y+=`
|
|
15466
|
+
<description>${w1(J.description)}</description>`;if(J.pubDate)Y+=`
|
|
15467
15467
|
<pubDate>${J.pubDate.toUTCString()}</pubDate>`;if(J.author)Y+=`
|
|
15468
|
-
<author>${
|
|
15469
|
-
<category>${
|
|
15470
|
-
<guid>${
|
|
15468
|
+
<author>${w1(J.author)}</author>`;if(J.categories)for(let G of J.categories)Y+=`
|
|
15469
|
+
<category>${w1(G)}</category>`;if(J.guid)Y+=`
|
|
15470
|
+
<guid>${w1(J.guid)}</guid>`;return Y+=`
|
|
15471
15471
|
</item>`,Y});return`<?xml version="1.0" encoding="UTF-8"?>
|
|
15472
15472
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
|
15473
15473
|
<channel>
|
|
15474
|
-
<title>${
|
|
15475
|
-
<link>${
|
|
15476
|
-
<description>${
|
|
15474
|
+
<title>${w1($.title)}</title>
|
|
15475
|
+
<link>${w1($.link)}</link>
|
|
15476
|
+
<description>${w1($.description)}</description>
|
|
15477
15477
|
${$.language?`<language>${$.language}</language>`:""}
|
|
15478
|
-
${$.copyright?`<copyright>${
|
|
15478
|
+
${$.copyright?`<copyright>${w1($.copyright)}</copyright>`:""}
|
|
15479
15479
|
<lastBuildDate>${new Date().toUTCString()}</lastBuildDate>
|
|
15480
15480
|
<atom:link href="${$.link}/rss.xml" rel="self" type="application/rss+xml"/>
|
|
15481
15481
|
${Z.join(`
|
|
15482
15482
|
`)}
|
|
15483
15483
|
</channel>
|
|
15484
|
-
</rss>`}async function
|
|
15484
|
+
</rss>`}async function wF($={}){let X=Date.now();qX();let Z=await Z1(),J=await hq({explicit:$.domain,stxConfig:Z});if(J.source==="fallback"&&($.sitemap??!0))console.warn(uq());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||H1(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&&R0.existsSync(Y.outputDir))await R0.promises.rm(Y.outputDir,{recursive:!0});await R0.promises.mkdir(Y.outputDir,{recursive:!0});let z=new dq(Y.cacheDir);if(Y.cache)await z.load();try{let{generateCrosswindCSS:N}=await Promise.resolve().then(() => (r$(),dY));await N('<div class="bg-black"></div>')}catch{}K7();let U=Z?.routeMiddleware?.dir||"middleware";await U7(process.cwd(),U);let B=z7();if(B.length>0)console.log(`Loaded ${B.length} middleware: ${B.join(", ")}`);let j=Z?.routeMiddleware?.global||[];fq(Z?.layoutsDir,H1(process.cwd()));let _=L7(".",{pagesDir:Y.pagesDir});console.log(`Found ${_.length} routes`);let H=[];for(let N of _){let M=await tL(N);for(let k of M)H.push({route:N,url:k.url,params:k.params,props:k.props,revalidate:k.revalidate??Y.revalidate})}G.totalPages=H.length,console.log(`Generating ${G.totalPages} pages...`);let L=[],O=[];for(let N=0;N<H.length;N+=Y.concurrency)O.push(H.slice(N,N+Y.concurrency));for(let N of O)await Promise.all(N.map(async(M)=>{let{route:k,url:T,params:D,props:I,revalidate:S}=M;try{await Y.hooks.onPageStart?.(T);let b=await Bun.file(k.filePath).text(),E=zF(b),v=E?.middleware?Array.isArray(E.middleware)?E.middleware:[E.middleware]:[],x=[...j,...v];if(x.length>0){let j0=j7(T,D,E||{}),Z0=B7(j0,null,void 0,{isServer:!0}),l=await _7(x,Z0);if(l.redirect){let J0=typeof l.redirect==="string"?l.redirect:l.redirect.path||l.redirect,D0=UF(String(J0),T),v0=jF(T,Y);await R0.promises.mkdir(Y0.dirname(v0),{recursive:!0}),await Bun.write(v0,D0),G.successCount++,G.pages.push({route:T,outputPath:v0,size:Buffer.byteLength(D0),cached:!1}),L.push({loc:T,lastmod:new Date().toISOString()}),console.log(` \u21B3 ${T} \u2192 redirect to ${J0}`);return}if(l.abort){let J0=typeof l.abort==="string"?l.abort:l.abort?.error?.message||"aborted";console.warn(` \u21B3 ${T} \u2014 middleware aborted: ${J0}`);return}}let f=b.match(/definePageMeta\s*\(\s*\{[\s\S]*?validate\s*:\s*((?:\([^)]*\)|[^,}])*(?:\{[\s\S]*?\})?)/m);if(f)try{if(!await Function("route",`
|
|
15485
15485
|
const validate = ${f[1]};
|
|
15486
15486
|
return validate(route);
|
|
15487
|
-
`)({params:
|
|
15488
|
-
${
|
|
15487
|
+
`)({params:D})){console.warn(`Validation failed for ${T}, skipping...`);return}}catch{}let h=null,p=!1;if(Y.cache){if(h=z.get(T,k.filePath),h)p=!0,G.cachedCount++}if(!h){let j0=await cq(k,D,I,Y,Z);if(h=j0.html,Y.failOnIncludeError&&j0.includeFailures.length>0)throw Error(`${j0.includeFailures.length} include(s) failed to resolve, so this page would have shipped with an error banner where the markup should be:
|
|
15488
|
+
${j0.includeFailures.join(`
|
|
15489
15489
|
`)}
|
|
15490
|
-
Set ssg.failOnIncludeError to false to build anyway.`);if(Y.cache)z.set(T,
|
|
15490
|
+
Set ssg.failOnIncludeError to false to build anyway.`);if(Y.cache)z.set(T,k.filePath,j0.dependencies,h)}let H0;if(Y.trailingSlash)H0=Y0.join(Y.outputDir,T,"index.html");else H0=T==="/"?Y0.join(Y.outputDir,"index.html"):Y0.join(Y.outputDir,`${T}.html`);if(Y.chunkIslands){let{html:j0,chunks:Z0}=vq(h,{integrity:Y.integrityIslands,minify:Y.minify});if(Z0.length>0){let l=Y0.join(Y.outputDir,"_stx","islands");await R0.promises.mkdir(l,{recursive:!0});for(let J0 of Z0){let D0=Y0.join(l,`${J0.hash}.js`);if(!await Bun.file(D0).exists())await Bun.write(D0,J0.code);if(!Q.has(J0.hash)){Q.add(J0.hash);let v0=Buffer.byteLength(J0.code,"utf8");w+=v0,q[J0.hash]={bytes:v0,file:`/_stx/islands/${J0.hash}.js`}}}if(W[T]=Z0.map((J0)=>J0.hash),h=j0,Y.prefetchIslands)h=xq(h)}}if(await R0.promises.mkdir(Y0.dirname(H0),{recursive:!0}),await Bun.write(H0,h),!YF(T,h,E,Y.sitemapExclude))L.push({loc:T,lastmod:new Date().toISOString().split("T")[0],priority:T==="/"?1:0.8});let M0={route:T,outputPath:H0,size:Buffer.byteLength(h,"utf8"),cached:p};if(S!==!1)M0.revalidateAt=Date.now()+S*1000;G.pages.push(M0),G.successCount++,await Y.hooks.onPageEnd?.(T,h)}catch(b){G.failedCount++,G.errors.push({route:T,error:b}),await Y.hooks.onError?.(b,T),console.error(`Error generating ${T}:`,b)}}));let F=wX();if(F.length>0){let N=F.map((M)=>`${M.filePath}: ${M.message}`).join(`
|
|
15491
|
+
`);throw Error(`Client script bundling failed:
|
|
15492
|
+
${N}`)}if(Y.cache)await z.save();if(Y.generate404){let N=Y0.join(Y.pagesDir,"404.stx");if(await Bun.file(N).exists()){let M=new Set,k={...Z,debug:!1,cache:!1},T=await F0(await Bun.file(N).text(),{},N,k,M);await Bun.write(Y0.join(Y.outputDir,"404.html"),T)}else await Bun.write(Y0.join(Y.outputDir,"404.html"),`<!DOCTYPE html>
|
|
15491
15493
|
<html lang="en">
|
|
15492
15494
|
<head>
|
|
15493
15495
|
<meta charset="UTF-8">
|
|
@@ -15508,7 +15510,7 @@ Set ssg.failOnIncludeError to false to build anyway.`);if(Y.cache)z.set(T,M.file
|
|
|
15508
15510
|
<a href="/">Go home</a>
|
|
15509
15511
|
</div>
|
|
15510
15512
|
</body>
|
|
15511
|
-
</html>`)}for(let
|
|
15513
|
+
</html>`)}for(let N of[500]){let M=Y0.join(Y.pagesDir,`${N}.stx`);if(await Bun.file(M).exists()){let k=new Set,T={...Z,debug:!1,cache:!1},D=await F0(await Bun.file(M).text(),{},M,T,k);await Bun.write(Y0.join(Y.outputDir,`${N}.html`),D)}}let V=Y0.join(Y.pagesDir,"error.stx");if(await Bun.file(V).exists()){let N=new Set,M={...Z,debug:!1,cache:!1},k=await F0(await Bun.file(V).text(),{},V,M,N);await Bun.write(Y0.join(Y.outputDir,"error.html"),k)}if(Y.sitemap&&L.length>0){let N=GF(L,Y.domain),M=Y0.join(Y.outputDir,"sitemap.xml");await Bun.write(M,N),G.sitemapPath=M,console.log(`Generated sitemap.xml with ${L.length} URLs`)}if(Y.robots!==!1){let N=typeof Y.robots==="object"?Y.robots:{},M=[...Y.sitemapExclude.filter((T)=>typeof T==="string"),...N.disallow||[]],k=IY({rules:[{userAgent:N.userAgent||"*",allow:N.allow||["/"],...M.length>0?{disallow:M}:{}}],...N.sitemap!==!1&&G.sitemapPath?{sitemap:new URL("/sitemap.xml",Y.domain).href}:{}});await Bun.write(Y0.join(Y.outputDir,"robots.txt"),k),console.log("Generated robots.txt")}if(Y.rss){let N=typeof Y.rss==="object"?Y.rss:{title:"Site Feed",description:"Latest updates",link:Y.domain},M=[];if(N.getItems)M=await N.getItems();let k=QF(N,M),T=Y0.join(Y.outputDir,"rss.xml");await Bun.write(T,k),G.rssPath=T,console.log(`Generated rss.xml with ${M.length} items`)}let A=A6(Y.outputDir);if(A.assets>0)console.log(`Externalized ${A.assets} asset(s) from ${A.pages} page(s) (${(A.bytesInlined/1024).toFixed(1)}KB removed from HTML)`);if(Y.publicDir&&R0.existsSync(Y.publicDir))await _6(Y.publicDir,Y.outputDir),console.log(`Copied public assets from ${Y.publicDir}`);let R=F6();if(R)await _6(R,Y0.join(Y.outputDir,L6)),console.log(`Copied assets from ${N9}`)}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(Y0.join(Y.outputDir,"_stx","islands-manifest.json"),JSON.stringify(z,null,2))}await Y.hooks.onBuildEnd?.(G);let K=G.islandChunks?`
|
|
15512
15514
|
Island chunks: ${G.islandChunks.count} (${(G.islandChunks.totalBytes/1024).toFixed(1)} KB lifted out of inline HTML)`:"";return console.log(`
|
|
15513
15515
|
Build complete!
|
|
15514
15516
|
Total: ${G.totalPages} pages
|
|
@@ -15516,8 +15518,8 @@ Build complete!
|
|
|
15516
15518
|
Cached: ${G.cachedCount}
|
|
15517
15519
|
Failed: ${G.failedCount}
|
|
15518
15520
|
Time: ${G.buildTime}ms${K}
|
|
15519
|
-
`),G}async function
|
|
15520
|
-
`)){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
|
|
15521
|
+
`),G}async function _6($,X){await R0.promises.mkdir(X,{recursive:!0});let Z=await R0.promises.readdir($,{withFileTypes:!0});for(let J of Z){let Y=Y0.join($,J.name),G=Y0.join(X,J.name);if(J.isDirectory())await R0.promises.mkdir(G,{recursive:!0}),await _6(Y,G);else await R0.promises.copyFile(Y,G)}}function qF($={}){let X=$.cacheDir||H1(process.cwd(),"ssg-cache"),Z=new mq(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=L7(".",{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 Z1(),{html:K}=await cq(Q,q,{},$,W);await Z.set(Y,{html:K,generatedAt:Date.now(),revalidateAfter:Date.now()+J*1000,etag:JF(K)}),console.log(`Revalidated: ${Y}`)},async invalidate(Y){if(typeof Y==="string")await Z.invalidate(Y);else await Z.invalidatePattern(Y)}}}function WF($){return async()=>{return{paths:await $(),fallback:!1}}}function KF(){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(`
|
|
15522
|
+
`)){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 zF($){return o$($)}function UF($,X){return`<!DOCTYPE html>
|
|
15521
15523
|
<html>
|
|
15522
15524
|
<head>
|
|
15523
15525
|
<meta charset="utf-8">
|
|
@@ -15529,4 +15531,4 @@ Build complete!
|
|
|
15529
15531
|
<p>Redirecting to <a href="${$}">${$}</a>...</p>
|
|
15530
15532
|
<script>window.location.replace('${$}')</script>
|
|
15531
15533
|
</body>
|
|
15532
|
-
</html>`}function
|
|
15534
|
+
</html>`}function jF($,X){if($==="/"||$==="")return Y0.join(X.outputDir,"index.html");let Z=$.replace(/^\/|\/$/g,"");if(X.trailingSlash)return Y0.join(X.outputDir,Z,"index.html");return Y0.join(X.outputDir,`${Z}.html`)}var zy={generateStaticSite:wF,createISRHandler:qF,defineStaticPaths:WF,createMarkdownLoader:KF};export{YF as isExcludedFromSitemap,wF as generateStaticSite,WF as defineStaticPaths,zy as default,XF as declaresPageAction,KF as createMarkdownLoader,qF as createISRHandler};
|