@stacksjs/stx 0.2.174 → 0.2.176
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/a11y.d.ts +72 -2
- package/dist/a11y.js +25 -10
- package/dist/cli.js +1045 -930
- package/dist/client-script.js +1 -0
- package/dist/component-renderer.js +17 -0
- package/dist/craft.js +561 -453
- package/dist/includes.js +8 -4
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/process.js +2 -1
- package/dist/props.d.ts +51 -8
- package/dist/pwa.js +512 -404
- package/dist/resolve-stx-targets.d.ts +49 -0
- package/dist/resolve-stx-targets.js +38 -0
- package/dist/runtime-globals.d.ts +24 -0
- package/dist/runtime-globals.js +16 -0
- package/dist/runtime-injection.d.ts +36 -0
- package/dist/runtime-injection.js +15 -0
- package/dist/server-bindings.js +3 -0
- package/dist/signal-processing.js +1 -1
- package/dist/signals.js +30 -27
- package/dist/ssg.d.ts +23 -0
- package/dist/ssg.js +509 -397
- package/dist/stx-virtual-ts.d.ts +27 -3
- package/dist/stx-virtual-ts.js +36 -0
- package/dist/typecheck.js +96 -62
- package/dist/types/config-types.d.ts +24 -0
- package/dist/utils.js +5 -4
- package/package.json +5 -5
package/dist/pwa.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var{defineProperty:
|
|
2
|
+
var{defineProperty:W$,getOwnPropertyNames:vK,getOwnPropertyDescriptor:xK}=Object,fK=Object.prototype.hasOwnProperty;function gK(X){return this[X]}var r4=(X)=>{var $=(n4??=new WeakMap).get(X),Z;if($)return $;if($=W$({},"__esModule",{value:!0}),X&&typeof X==="object"||typeof X==="function"){for(var Y of vK(X))if(!fK.call($,Y))W$($,Y,{get:gK.bind(X,Y),enumerable:!(Z=xK(X,Y))||Z.enumerable})}return n4.set(X,$),$},n4;var hK=(X)=>X;function uK(X,$){this[X]=hK.bind(null,$)}var o=(X,$)=>{for(var Z in $)W$(X,Z,{get:$[Z],enumerable:!0,configurable:!0,set:uK.bind($,Z)})};var E=(X,$)=>()=>(X&&($=X(X=0)),$);var U0=import.meta.require;import e7 from"fs";import XX from"path";function lK(X){let $=0;for(let Z=0;Z<X.length;Z++){let Y=X[Z];$=($<<5)-$+Y,$=$&$}return Math.abs($).toString(16).padStart(8,"0")}function cK(X,$){let Z=XX.basename(X);for(let Y of $)if(Y.startsWith("*.")){let J=Y.slice(1);if(Z.endsWith(J))return!0}else if(Y.includes("*")){let J=new RegExp(`^${Y.replace(/\*/g,".*")}$`);if(J.test(Z)||J.test(X))return!0}else if(Z===Y||X.includes(Y))return!0;return!1}function pK(X,$,Z){let Y=XX.extname(X).toLowerCase(),J=mK[Y],G=(Z.maxFileSizeKB||500)*1024;if($>G)return!1;if(Z.exclude&&cK(X,Z.exclude))return!1;if(Z.include&&Z.include.length>0){for(let Q of Z.include)if(Q.startsWith("*.")){if(X.endsWith(Q.slice(1)))return!0}else if(X.includes(Q))return!0}if(J&&Z[J]===!0)return!0;if(!J)return!1;return!1}function X6(X,$,Z,Y){let J=e7.readdirSync(X,{withFileTypes:!0});for(let G of J){let Q=XX.join(X,G.name);if(G.isDirectory()){if(["node_modules",".git",".stx"].includes(G.name))continue;X6(Q,$,Z,Y)}else if(G.isFile()){let q=e7.statSync(Q),K=XX.relative($,Q);if(pK(K,q.size,Z)){let U=e7.readFileSync(Q),W=lK(U),w=`/${K.replace(/\\/g,"/")}`;Y.push({url:w,revision:W,size:q.size})}}}}function f1(X,$){let Z=$.pwa?.precache,Y=[];if(!Z?.enabled)return{entries:[],totalSize:0,fileCount:0};if(!e7.existsSync(X))return{entries:[],totalSize:0,fileCount:0};X6(X,X,Z,Y),Y.sort((G,Q)=>G.url.localeCompare(Q.url));let J=Y.reduce((G,Q)=>G+Q.size,0);return{entries:Y,totalSize:J,fileCount:Y.length}}function $X(X){if(X.entries.length===0)return"[]";return`[
|
|
3
3
|
${X.entries.map((Z)=>` { url: '${Z.url}', revision: '${Z.revision}' }`).join(`,
|
|
4
4
|
`)}
|
|
5
|
-
]`}function
|
|
5
|
+
]`}function $6(X){if(X<1024)return`${X} B`;if(X<1048576)return`${(X/1024).toFixed(1)} KB`;return`${(X/1048576).toFixed(2)} MB`}var mK;var s5=E(()=>{mK={".html":"includeHtml",".htm":"includeHtml",".js":"includeJs",".mjs":"includeJs",".css":"includeCss",".png":"includeImages",".jpg":"includeImages",".jpeg":"includeImages",".gif":"includeImages",".webp":"includeImages",".svg":"includeImages",".ico":"includeImages",".woff":"includeFonts",".woff2":"includeFonts",".ttf":"includeFonts",".eot":"includeFonts",".otf":"includeFonts"}});function iK(X){let $={"cache-first":{className:"CacheFirst",importFrom:"workbox-strategies"},"network-first":{className:"NetworkFirst",importFrom:"workbox-strategies"},"stale-while-revalidate":{className:"StaleWhileRevalidate",importFrom:"workbox-strategies"},"network-only":{className:"NetworkOnly",importFrom:"workbox-strategies"},"cache-only":{className:"CacheOnly",importFrom:"workbox-strategies"}};return $[X]||$["network-first"]}function w$(X){return iK(X).className}function Z6(X){let $=X.pwa;if(!$?.enabled)return"";let Z=$.routes||[],Y=$.cacheStorage,J=[];for(let G of Z){let Q=w$(G.strategy),q=[];if(G.maxAgeSeconds||G.maxEntries||Y?.maxEntries){let U=G.maxEntries||Y?.maxEntries||100,W=G.maxAgeSeconds||(Y?.maxAge?Y.maxAge*24*60*60:void 0);q.push(`new ExpirationPlugin({
|
|
6
6
|
maxEntries: ${U},
|
|
7
7
|
${W?`maxAgeSeconds: ${W},`:""}
|
|
8
8
|
purgeOnQuotaError: true,
|
|
9
9
|
})`)}if(G.strategy==="network-first"||G.strategy==="stale-while-revalidate")q.push(`new CacheableResponsePlugin({
|
|
10
10
|
statuses: [0, 200],
|
|
11
|
-
})`);let K=
|
|
11
|
+
})`);let K=nK(G.pattern);J.push(`
|
|
12
12
|
// ${G.pattern}
|
|
13
13
|
registerRoute(
|
|
14
14
|
${K},
|
|
15
15
|
new ${Q}({
|
|
16
|
-
cacheName: '${G.cacheName||
|
|
16
|
+
cacheName: '${G.cacheName||oK(G.pattern)}',
|
|
17
17
|
${q.length>0?`plugins: [
|
|
18
18
|
${q.join(`,
|
|
19
19
|
`)}
|
|
20
20
|
],`:""}
|
|
21
21
|
})
|
|
22
22
|
);`)}return J.join(`
|
|
23
|
-
`)}function
|
|
23
|
+
`)}function nK(X){if(X.startsWith("*.")){let $=X.slice(2);return`({ request }) => request.destination === '${rK($)}'`}if(X.endsWith("/**"))return`({ url }) => url.pathname.startsWith('${X.slice(0,-3)}')`;if(X.endsWith("/*")){let $=X.slice(0,-2);return`({ url }) => url.pathname.startsWith('${$}') && !url.pathname.slice(${$.length+1}).includes('/')`}if(X.includes("*")&&!X.startsWith("*")){let[$,Z]=X.split("*");return`({ url }) => url.pathname.startsWith('${$}') && url.pathname.endsWith('${Z}')`}if(X==="/"||!X.includes("*"))return`({ url }) => url.pathname === '${X}'`;return`new RegExp('${sK(X).replace(/\\\*/g,".*")}')`}function rK(X){return{js:"script",mjs:"script",css:"style",html:"document",htm:"document",png:"image",jpg:"image",jpeg:"image",gif:"image",svg:"image",webp:"image",avif:"image",ico:"image",woff:"font",woff2:"font",ttf:"font",eot:"font",otf:"font"}[X.toLowerCase()]||"empty"}function oK(X){return"stx-"+X.replace(/[^\w]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"").toLowerCase().slice(0,30)+"-cache"}function sK(X){return X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var Q6={};o(Q6,{isWorkboxEnabled:()=>G6,getServiceWorkerGenerator:()=>$U,generateWorkboxServiceWorker:()=>J6,generateWorkboxConfig:()=>Y6});function Y6(X,$){let Z=X.pwa;if(!Z?.enabled)return{mode:"generate",modules:[],skipWaiting:!0,clientsClaim:!0};let Y=Z.serviceWorker||{},J=Z.routes||[],G=[{name:"workbox-precaching",exports:["precacheAndRoute","cleanupOutdatedCaches"]},{name:"workbox-routing",exports:["registerRoute","NavigationRoute","setDefaultHandler"]}],Q=new Set;for(let U of J)Q.add(w$(U.strategy));if(Q.size>0)G.push({name:"workbox-strategies",exports:Array.from(Q)});if(J.some((U)=>U.maxAgeSeconds||U.maxEntries)||Z.cacheStorage)G.push({name:"workbox-expiration",exports:["ExpirationPlugin"]});if(J.some((U)=>U.strategy==="network-first"||U.strategy==="stale-while-revalidate"))G.push({name:"workbox-cacheable-response",exports:["CacheableResponsePlugin"]});if(Z.backgroundSync?.enabled)G.push({name:"workbox-background-sync",exports:["BackgroundSyncPlugin","Queue"]});if(Y.navigationPreload)G.push({name:"workbox-navigation-preload",exports:["enable"]});let K=$?f1($,X):void 0;return{mode:"generate",modules:G,precacheManifest:K?.entries,skipWaiting:Y.skipWaiting??!0,clientsClaim:Y.clientsClaim??!0,offlineFallback:Z.offline?.enabled?"/offline.html":void 0,navigationPreload:Y.navigationPreload??!1,cacheVersion:Y.cacheVersion||"1.0.0"}}function J6(X,$){let Z=X.pwa;if(!Z?.enabled)return"";let Y=Y6(X,$),J=Z.serviceWorker||{},G=Z.push,Q=Z.backgroundSync,q=$?f1($,X):null,K=q?$X(q):"[]",U=aK(Y.modules),W=Z6(X);return`/**
|
|
24
24
|
* Service Worker - Generated by stx with Workbox
|
|
25
25
|
* Cache Version: ${Y.cacheVersion}
|
|
26
26
|
*
|
|
@@ -169,13 +169,13 @@ self.addEventListener('message', (event) => {
|
|
|
169
169
|
}
|
|
170
170
|
});
|
|
171
171
|
|
|
172
|
-
${G?.enabled?
|
|
172
|
+
${G?.enabled?eK(G):"// Push notifications disabled"}
|
|
173
173
|
|
|
174
|
-
${Q?.enabled?
|
|
174
|
+
${Q?.enabled?XU(Q):"// Background sync disabled"}
|
|
175
175
|
|
|
176
176
|
console.log('[Workbox SW] Service Worker loaded - Version:', CACHE_VERSION);
|
|
177
|
-
`}function
|
|
178
|
-
`)}function
|
|
177
|
+
`}function aK(X){let $=[];for(let Z of X){let Y=Z.name.replace("workbox-","");$.push(`const { ${Z.exports.join(", ")} } = workbox.${tK(Y)};`)}return $.join(`
|
|
178
|
+
`)}function tK(X){return X.replace(/-([a-z])/g,($,Z)=>Z.toUpperCase())}function eK(X){return`
|
|
179
179
|
// ============================================================================
|
|
180
180
|
// Push Notifications
|
|
181
181
|
// ============================================================================
|
|
@@ -244,7 +244,7 @@ self.addEventListener('notificationclick', (event) => {
|
|
|
244
244
|
})
|
|
245
245
|
);
|
|
246
246
|
});
|
|
247
|
-
`}function
|
|
247
|
+
`}function XU(X){return`
|
|
248
248
|
// ============================================================================
|
|
249
249
|
// Background Sync
|
|
250
250
|
// ============================================================================
|
|
@@ -306,7 +306,7 @@ self.addEventListener('message', (event) => {
|
|
|
306
306
|
event.waitUntil(syncQueue.pushRequest({ request }));
|
|
307
307
|
}
|
|
308
308
|
});
|
|
309
|
-
`}function
|
|
309
|
+
`}function G6(X){return X.pwa?.enabled===!0&&X.pwa?.serviceWorker?.useWorkbox===!0}function $U(X){if(G6(X))return J6;let{generateServiceWorker:$}=(a5(),r4(K6));return $}var q6=E(()=>{s5()});var K6={};o(K6,{isWorkboxEnabled:()=>U6,getServiceWorkerFileName:()=>j5,generateServiceWorkerAuto:()=>JU,generateServiceWorker:()=>ZX});function ZX(X,$){let Z=X.pwa;if(!Z?.enabled)return"";let Y=Z.serviceWorker||{},J=Z.routes||[],G=Y.cacheVersion||"1.0.0",Q=Z.offline,q=Q?.page?"/offline.html":"/offline.html",K=Z.push,U=Z.backgroundSync,W=Z.cacheStorage,w=$?f1($,X):null,z=w?$X(w):"[]",B=["/","/manifest.json",...Q?.enabled?[q]:[],...Q?.precacheAssets||[]];return`/**
|
|
310
310
|
* Service Worker - Auto-generated by stx
|
|
311
311
|
* Cache Version: ${G}
|
|
312
312
|
*
|
|
@@ -320,7 +320,7 @@ self.addEventListener('message', (event) => {
|
|
|
320
320
|
* Additional features:
|
|
321
321
|
* - Push notifications: ${K?.enabled?"enabled":"disabled"}
|
|
322
322
|
* - Background sync: ${U?.enabled?"enabled":"disabled"}
|
|
323
|
-
* - Cache limits: ${W?.maxSize?`${
|
|
323
|
+
* - Cache limits: ${W?.maxSize?`${$6(W.maxSize*1024*1024)}`:"unlimited"}
|
|
324
324
|
*/
|
|
325
325
|
|
|
326
326
|
const CACHE_VERSION = '${G}';
|
|
@@ -501,9 +501,9 @@ self.addEventListener('message', (event) => {
|
|
|
501
501
|
}
|
|
502
502
|
});
|
|
503
503
|
|
|
504
|
-
${K?.enabled?
|
|
504
|
+
${K?.enabled?ZU():"// Push notifications disabled"}
|
|
505
505
|
|
|
506
|
-
${U?.enabled?
|
|
506
|
+
${U?.enabled?YU():"// Background sync disabled"}
|
|
507
507
|
|
|
508
508
|
/**
|
|
509
509
|
* Check if a route should be excluded from caching
|
|
@@ -868,7 +868,7 @@ async function purgeByEntryCount(entries, cache, maxEntries) {
|
|
|
868
868
|
}
|
|
869
869
|
|
|
870
870
|
console.log('[SW] Service Worker loaded - Version:', CACHE_VERSION);
|
|
871
|
-
`}function
|
|
871
|
+
`}function ZU(){return`
|
|
872
872
|
/**
|
|
873
873
|
* Push event - handle incoming push notifications
|
|
874
874
|
*/
|
|
@@ -950,7 +950,7 @@ self.addEventListener('notificationclose', (event) => {
|
|
|
950
950
|
// Could send analytics here
|
|
951
951
|
}
|
|
952
952
|
});
|
|
953
|
-
`}function
|
|
953
|
+
`}function YU(){return`
|
|
954
954
|
/**
|
|
955
955
|
* Background sync queue storage (IndexedDB)
|
|
956
956
|
*/
|
|
@@ -1132,14 +1132,14 @@ self.addEventListener('message', (event) => {
|
|
|
1132
1132
|
event.waitUntil(registerFormSync(event.data.payload));
|
|
1133
1133
|
}
|
|
1134
1134
|
});
|
|
1135
|
-
`}function j5(X){return X.pwa?.serviceWorker?.fileName||"sw.js"}function
|
|
1135
|
+
`}function j5(X){return X.pwa?.serviceWorker?.fileName||"sw.js"}function U6(X){return X.pwa?.enabled===!0&&X.pwa?.serviceWorker?.useWorkbox===!0}function JU(X,$){if(!X.pwa?.enabled)return"";if(U6(X)){let{generateWorkboxServiceWorker:Z}=(q6(),r4(Q6));return Z(X,$)}return ZX(X,$)}var a5=E(()=>{s5()});var W6={};o(W6,{injectPwaTags:()=>j$,generateThemeColorMeta:()=>qU,generateSwRegistrationScript:()=>GU,generatePwaTags:()=>YX,generateManifestLink:()=>QU});function YX(X){let $=X.pwa;if(!$?.enabled)return"";let Z=$.manifest,Y=$.icons?.outputDir?`/${$.icons.outputDir}`:"/pwa-icons",J=j5(X),G=`
|
|
1136
1136
|
<!-- stx PWA Meta Tags -->
|
|
1137
1137
|
<link rel="manifest" href="/manifest.json">
|
|
1138
|
-
<meta name="theme-color" content="${
|
|
1138
|
+
<meta name="theme-color" content="${z$(Z?.themeColor||"#000000")}">
|
|
1139
1139
|
<meta name="mobile-web-app-capable" content="yes">
|
|
1140
1140
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
1141
1141
|
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
|
1142
|
-
<meta name="apple-mobile-web-app-title" content="${
|
|
1142
|
+
<meta name="apple-mobile-web-app-title" content="${z$(Z?.shortName||Z?.name||"App")}">`;if($.icons?.generateAppleIcons!==!1)G+=`
|
|
1143
1143
|
<link rel="apple-touch-icon" href="${Y}/apple-touch-icon.png">
|
|
1144
1144
|
<link rel="apple-touch-icon" sizes="120x120" href="${Y}/apple-touch-icon-120x120.png">
|
|
1145
1145
|
<link rel="apple-touch-icon" sizes="152x152" href="${Y}/apple-touch-icon-152x152.png">
|
|
@@ -1176,9 +1176,9 @@ if ('serviceWorker' in navigator) {
|
|
|
1176
1176
|
});
|
|
1177
1177
|
}
|
|
1178
1178
|
</script>
|
|
1179
|
-
<!-- End stx PWA -->`,G}function
|
|
1180
|
-
`+X.slice(J)}return X+
|
|
1181
|
-
</head>`)}function
|
|
1179
|
+
<!-- End stx PWA -->`,G}function j$(X,$){let Z=$.pwa;if(!Z?.enabled||Z.autoInject===!1)return X;if(X.includes("<!-- stx PWA Meta Tags -->"))return X;if(!X.includes("</head>")){let J=X.lastIndexOf("</body>");if(J!==-1){let G=YX($);return X.slice(0,J)+G+`
|
|
1180
|
+
`+X.slice(J)}return X+YX($)}let Y=YX($);return X.replace("</head>",`${Y}
|
|
1181
|
+
</head>`)}function GU(X){if(!X.pwa?.enabled)return"";return`<script>
|
|
1182
1182
|
if ('serviceWorker' in navigator) {
|
|
1183
1183
|
window.addEventListener('load', function() {
|
|
1184
1184
|
navigator.serviceWorker.register('/${j5(X)}')
|
|
@@ -1190,7 +1190,7 @@ if ('serviceWorker' in navigator) {
|
|
|
1190
1190
|
});
|
|
1191
1191
|
});
|
|
1192
1192
|
}
|
|
1193
|
-
</script>`}function
|
|
1193
|
+
</script>`}function QU(){return'<link rel="manifest" href="/manifest.json">'}function qU(X){return`<meta name="theme-color" content="${z$(X)}">`}function z$(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var JX=E(()=>{a5()});function z6(X){return typeof X==="object"&&X!==null&&!Array.isArray(X)}function B$(X,$){let Z={...X};for(let[Y,J]of Object.entries($))Z[Y]=z6(J)&&z6(Z[Y])?B$(Z[Y],J):J;return Z}function j6(X={},$={}){let Z=X.theme||{},Y=$.theme||{},{extend:J,...G}=Y,{extend:Q,...q}=Z,K=B$(q,G),U=B$(Q||{},J||{});if(Object.keys(U).length>0)K.extend=U;let W=[...X.safelist||[],...$.safelist||[]],w={...X.shortcuts||{},...$.shortcuts||{}},z=[...X.preflights||[],...$.preflights||[]];return{config:{...X,...$,theme:K,safelist:W,shortcuts:w,...z.length>0?{preflights:z}:{},content:[],output:""},safelist:W,shortcuts:w,includePreflight:$.preflight!==!1,minify:$.minify===!0}}import t5 from"path";function _6(X){B6=X?.trim()||null}function e5(){return process.env[BU]?.trim()||B6||B5}function X7(X=process.cwd(),...$){let Z=e5();return t5.isAbsolute(Z)?t5.join(Z,...$):t5.join(X,Z,...$)}function $7(X){if(!X||t5.isAbsolute(X))return X;let $=X.replace(/\\/g,"/");if($!==B5&&!$.startsWith(`${B5}/`))return X;let Z=$.slice(B5.length+1);return Z?t5.join(e5(),Z):e5()}var B5=".stx",BU="STX_DIR",B6=null;var GX=()=>{};var V0;var H6=E(()=>{V0={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 O6=()=>{};function L6(X,$,Z,Y){let J=X;J=J.replace(/@a11y\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Q,q,K)=>{let 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"}[q]||"Make this element accessible";return`<!-- a11y-hint: ${K||W} -->`});let G=/@screenReader\(([^@]*)\)@endScreenReader/g;return J=J.replace(G,(Q,q)=>{return`<span class="sr-only">${q.trim()}</span>`}),J=J.replace(/@ariaDescribe\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(Q,q,K)=>{return`<span id="${`desc-${q}`}" class="sr-only">${K}</span>`}),J}var F6,V6;var _$=E(()=>{O6();F6={name:"a11y",handler:(X,$,Z,Y)=>{if(!$.length)return X;let J=$[0].replace(/['"]/g,""),G=$.length>1?$[1].replace(/['"]/g,""):"",q={"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"}[J]||"Make this element accessible";return`<!-- a11y-hint: ${G||q} -->${X}`},hasEndTag:!1},V6={name:"screenReader",handler:(X)=>{return`<span class="sr-only">${X}</span>`},hasEndTag:!0}});function _U(X,$={}){let{duration:Z,delay:Y,ease:J,direction:G,custom:Q}={...U1,...$};if(X==="custom"&&Q)return Q;switch(X){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);"}
|
|
1194
1194
|
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
|
|
1195
1195
|
@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);"}
|
|
1196
1196
|
@keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
|
|
@@ -1200,7 +1200,7 @@ if ('serviceWorker' in navigator) {
|
|
|
1200
1200
|
@keyframes flipIn { from { transform: perspective(400px) rotateX(-90deg); opacity: 0; } to { transform: perspective(400px) rotateX(0); opacity: 1; } }
|
|
1201
1201
|
@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);"}
|
|
1202
1202
|
@keyframes rotateIn { from { transform: rotate(-90deg); opacity: 0; } to { transform: rotate(0); opacity: 1; } }
|
|
1203
|
-
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function
|
|
1203
|
+
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function HU(){return`
|
|
1204
1204
|
<script data-stx-scoped data-stx-run="once">
|
|
1205
1205
|
// Motion preferences handling
|
|
1206
1206
|
(function() {
|
|
@@ -1228,7 +1228,7 @@ else {
|
|
|
1228
1228
|
});
|
|
1229
1229
|
})();
|
|
1230
1230
|
</script>
|
|
1231
|
-
`}function
|
|
1231
|
+
`}function OU(X){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(X))}function LU(X=0.1,$="0px"){return`
|
|
1232
1232
|
<script data-stx-scoped data-stx-run="always">
|
|
1233
1233
|
// Intersection Observer for scroll animations
|
|
1234
1234
|
(function() {
|
|
@@ -1271,7 +1271,7 @@ else {
|
|
|
1271
1271
|
}
|
|
1272
1272
|
})();
|
|
1273
1273
|
</script>
|
|
1274
|
-
`}function
|
|
1274
|
+
`}function FU(){return`
|
|
1275
1275
|
<style id="stx-animation-base">
|
|
1276
1276
|
:root {
|
|
1277
1277
|
--stx-transition-duration: 300ms;
|
|
@@ -1386,7 +1386,7 @@ else {
|
|
|
1386
1386
|
transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
|
|
1387
1387
|
}
|
|
1388
1388
|
</style>
|
|
1389
|
-
`}function
|
|
1389
|
+
`}function VU(X,$,Z={}){let{staggerDelay:Y=50,sequence:J=!1}=Z;return`
|
|
1390
1390
|
<script data-stx-scoped data-stx-run="always">
|
|
1391
1391
|
// Animation Group: ${X}
|
|
1392
1392
|
(function() {
|
|
@@ -1423,13 +1423,13 @@ else {
|
|
|
1423
1423
|
}
|
|
1424
1424
|
})();
|
|
1425
1425
|
</script>
|
|
1426
|
-
`}function
|
|
1427
|
-
</head>`)}if(J.includes("stx-observe")){if(!J.includes("Intersection Observer for scroll animations")){let K=
|
|
1428
|
-
`+J.slice(U)}}return J}var
|
|
1429
|
-
style="--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${q}ms;">${X}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},
|
|
1430
|
-
${K}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},
|
|
1431
|
-
`),G=
|
|
1432
|
-
`))}var
|
|
1426
|
+
`}function M6(X,$,Z,Y){let J=X;if(Y.animation?.enabled===!1)return J;let G=Z.includes("test")&&Z.includes("animation");if(!OU(J)&&!G)return J;if(!J.includes('<style id="stx-animation-base">')){let q=FU();J=J.replace("</head>",`${q}
|
|
1427
|
+
</head>`)}if(J.includes("stx-observe")){if(!J.includes("Intersection Observer for scroll animations")){let K=LU(),U=J.lastIndexOf("</body>");if(U!==-1)J=J.slice(0,U)+K+`
|
|
1428
|
+
`+J.slice(U)}}return J}var U1,A6,R6,T6,N6;var H$=E(()=>{U1={duration:300,delay:0,ease:"ease",direction:"both"};A6={name:"transition",handler:(X,$,Z,Y)=>{if($.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${X}`;let J=$[0],G=$.length>1?Number.parseInt($[1],10)||U1.duration:U1.duration,Q=$.length>2?$[2]||U1.ease:U1.ease,q=$.length>3?Number.parseInt($[3],10)||U1.delay:U1.delay,K=$.length>4?$[4]||U1.direction:U1.direction,U=`stx-transition-${Math.random().toString(36).substr(2,9)}`,W=_U(J,{duration:G,delay:q,ease:Q,direction:K}),w="stx-transition",z="";if(J==="fade")z="stx-fade";else if(J==="slide")z="stx-slide";else if(J==="scale")z="stx-scale";else if(J==="flip")z="stx-flip";else if(J==="rotate")z="stx-rotate";return`<div id="${U}" class="${w} ${z} ${K==="out"?"stx-out":""}"
|
|
1429
|
+
style="--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${q}ms;">${X}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},R6={name:"scrollAnimate",handler:(X,$,Z,Y)=>{if($.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${X}`;let J=$[0],G=$.length>1?Number.parseInt($[1],10)||300:300,Q=$.length>2?$[2]||"ease":"ease",q=$.length>3?Number.parseFloat($[3])||0.2:0.2,K=$.length>4?Number.parseInt($[4],10)||0:0,U=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,W=`--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${K}ms; will-change: opacity, transform;`,w="stx-transition stx-observe stx-out";if(J==="fade")w+=" stx-fade";else if(J==="slide-up"||J==="slide")w+=" stx-from-bottom";else if(J==="slide-down")w+=" stx-from-top";else if(J==="slide-left")w+=" stx-from-right";else if(J==="slide-right")w+=" stx-from-left";else if(J==="scale")w+=" stx-scale";else if(J.includes("-"))w+=` stx-${J}`;else w+=` stx-${J}`;return`<div id="${U}" class="${w}" style="${W}" data-threshold="${q}">${X}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},T6={name:"animationGroup",handler:(X,$,Z,Y)=>{if($.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${X}`;let J=$[0],G=$.slice(1).map((U)=>U.startsWith("#")||U.startsWith(".")?U:`#${U}`),Q=Z.staggerDelay||50,q=Z.sequence||!0,K=VU(J,G,{staggerDelay:Q,sequence:q});return`${X}
|
|
1430
|
+
${K}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},N6={name:"motion",handler:(X,$,Z,Y)=>{let J=$.length>0?$[0].toLowerCase()==="true":!0,G=HU();return`<div data-animate="${J?"auto":"true"}">${X}</div>${G}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});function O$(X){return X.split(/[\\/]/).filter(Boolean).slice(0,-1).some((Z)=>Z7.includes(Z))}function Y7(X){return O$(X.replace(/^\//,""))}var Z7;var QX=E(()=>{Z7=["components","layouts","partials","emails"]});import _5 from"fs";import J7 from"path";function G7(X,$){let Z=X.filter((Q)=>!Y7(Q.pattern)),Y=["// Auto-generated by STX - do not edit"];if(Z.length===0)Y.push("// No page routes found \u2014 route paths stay typed as string.","export {}","");else{Y.push("declare module '@stacksjs/stx' {"," interface KnownRoutes {");for(let Q of Z){let q=[];for(let U of Q.params){let W=Q.pattern.includes(`:${U}?`)?"?":"";q.push(`${U}${W}: string`)}let K=q.join("; ");Y.push(` '${Q.pattern}': { ${K} }`)}Y.push(" }","}","","export {}","")}let J=Y.join(`
|
|
1431
|
+
`),G=J7.join($,"route-types.d.ts");try{if(_5.existsSync(G)&&_5.readFileSync(G,"utf8")===J)return;_5.mkdirSync($,{recursive:!0}),_5.writeFileSync(G,J)}catch{}}function Q7(X,$,Z){let Y=process.cwd(),J=J7.relative(Y,Z),G=X.filter((q)=>!Y7(q.pattern)),Q=["// Auto-generated by stx \u2014 do not edit",`// Source: ${J||"pages"}/`,"","export const routes = ["];for(let q of G){let K=J7.relative(Y,q.filePath).replace(/\\/g,"/"),U=JSON.stringify(q.params),W=q.layout?`, layout: '${J7.relative(Y,q.layout).replace(/\\/g,"/")}'`:"";Q.push(` { pattern: '${q.pattern}', filePath: '${K}', isDynamic: ${q.isDynamic}, params: ${U}${W} },`)}Q.push("] as const",""),Q.push("export type RouteName = typeof routes[number]['pattern']",""),_5.mkdirSync($,{recursive:!0}),_5.writeFileSync(J7.join($,"routes.ts"),Q.join(`
|
|
1432
|
+
`))}var L$=E(()=>{QX()});import k6 from"path";function qX(X,$){let Y=k6.relative($,X).replace(/\.(stx|md)$/,"");if(Y=Y.split(k6.sep).join("/"),Y==="index")return"/";if(Y.endsWith("/index"))Y=Y.slice(0,-6);return Y=Y.replace(/\[\[([^\]]+)\]\]/g,":$1?"),Y=Y.replace(/\[([^\]]+)\]/g,":$1"),Y=Y.replace(/:\.\.\.([^/]+)/g,":$1*"),`/${Y}`}function q7(X){let $=[],Z="",Y=0;while(Y<X.length){let J=X.slice(Y),G=/^\/:([^/?*]+)\?/.exec(J);if(G){$.push(G[1]),Z+="(?:/([^/]+))?",Y+=G[0].length;continue}let Q=/^:([^/?*]+)\*/.exec(J);if(Q){$.push(Q[1]),Z+="(.+)",Y+=Q[0].length;continue}let q=/^:([^/?*]+)/.exec(J);if(q){$.push(q[1]),Z+="([^/]+)",Y+=q[0].length;continue}Z+=X[Y].replace(/[.+^${}()|[\]\\*?]/g,"\\$&"),Y+=1}return{regex:new RegExp(`^${Z}$`),params:$}}function KX(X,$){let Z=X===""?"/":X;for(let Y of $){let J=Z.match(Y.regex);if(J){let G={};return Y.params.forEach((Q,q)=>{G[Q]=J[q+1]}),{route:Y,params:G}}}return null}function I6(X){let $=X.replace(/\[\[([^\]]+)\]\]/g,":$1?").replace(/\[([^\]]+)\]/g,":$1").replace(/:\.\.\.([^/]+)/g,":$1*");return q7($)}var F$=()=>{};import AU from"fs";import V$ from"path";function UX(X,$){let Z=[],Y=V$.dirname(X);while(Y.startsWith($)||Y===$){let J=V$.join(Y,"_layout.stx");if(AU.existsSync(J))Z.unshift(J);if(Y===$)break;Y=V$.dirname(Y)}return Z}var A$=()=>{};import R$ from"fs";import H5 from"path";function E6(X,$){let Z=[];if(!R$.existsSync(X))return Z;let Y=R$.readdirSync(X,{withFileTypes:!0});for(let J of Y){let G=H5.join(X,J.name);if(J.isDirectory()){if(J.name.startsWith("."))continue;if(Z7.includes(J.name))continue;Z.push(...E6(G,$))}else if(J.isFile()){let Q=H5.extname(J.name);if($.includes(Q)){if(J.name.startsWith("_")&&J.name!=="_layout.stx")continue;if(J.name==="_layout.stx")continue;Z.push(G)}}}return Z}class O5{routes;pagesDir;pagesDirs;config;constructor(X,$={}){this.config=$;let Z=$.pagesDirs&&$.pagesDirs.length>0?$.pagesDirs:[$.pagesDir||"pages"];this.pagesDirs=Z.map((Q)=>H5.resolve(X,Q)),this.pagesDir=this.pagesDirs[0];let Y=$.extensions||[".stx"],J=new Set;this.routes=[];for(let Q of this.pagesDirs){let q=E6(Q,Y);for(let K of q){let U=qX(K,Q);if(J.has(U))continue;J.add(U);let{regex:W,params:w}=q7(U),z=$.layouts!==!1?UX(K,Q):[];this.routes.push({pattern:U,regex:W,params:w,filePath:K,isDynamic:w.length>0,layout:z.length>0?z[z.length-1]:void 0})}}this.routes.sort((Q,q)=>{if(!Q.isDynamic&&q.isDynamic)return-1;if(Q.isDynamic&&!q.isDynamic)return 1;let K=Q.pattern.split("/").length,U=q.pattern.split("/").length;if(K!==U)return U-K;return Q.pattern.localeCompare(q.pattern)});let G=H5.resolve(X,$.stateDir||process.env.STX_DIR?.trim()||".stx");G7(this.routes,G),Q7(this.routes,G,this.pagesDir)}match(X){let $=X===""?"/":X;for(let Z of this.routes){let Y=$.match(Z.regex);if(Y){let J={};return Z.params.forEach((G,Q)=>{J[G]=Y[Q+1]}),{route:Z,params:J}}}return null}resolve(X,$){let Z=this.routes.find((J)=>J.pattern===X||J.filePath.includes(X));if(!Z)return"#not-found";let Y=Z.pattern;if($)for(let[J,G]of Object.entries($))Y=Y.replace(`:${J}`,encodeURIComponent(G));return Y}addRoute(X){this.routes.push(X),this.routes.sort(($,Z)=>{if(!$.isDynamic&&Z.isDynamic)return-1;if($.isDynamic&&!Z.isDynamic)return 1;return $.pattern.localeCompare(Z.pattern)})}getLayout(X){return X.layout??null}}function D6(X,$){return new O5(X,$)}function T$(X,$){let Z=[`${$}.stx`,"error.stx"];for(let Y of Z){let J=H5.join(X,Y);if(R$.existsSync(J))return J}return null}function N$(X,$){return X.map((Z)=>{let Y=H5.relative($,Z.filePath),J=Z.isDynamic?" (dynamic)":"";return`${Z.pattern} \u2192 ${Y}${J}`})}var y6=E(()=>{L$();F$();A$();QX()});function M$(X){WX=X.replace(/\/$/,"")}function k$(X,$,Z={}){L5[X]={path:$,name:X,params:Z}}function I$(X){for(let[$,Z]of Object.entries(X))if(typeof Z==="string")L5[$]={path:Z,name:$};else L5[$]={...Z,name:$}}function K7(X,$={},Z=!1){let Y=L5[X];if(!Y)return console.warn(`Route [${X}] not defined.`),"#undefined-route";let J={...Y.params,...$},G=Y.path;G=G.replace(/:(\w+)/g,(q,K)=>{let U=J[K];if(U===void 0)return console.warn(`Missing parameter [${K}] for route [${X}].`),`:${K}`;return delete J[K],encodeURIComponent(String(U))});let Q=Object.entries(J);if(Q.length>0){let q=Q.map(([K,U])=>`${encodeURIComponent(K)}=${encodeURIComponent(String(U))}`).join("&");G+=(G.includes("?")?"&":"?")+q}return Z&&WX?`${WX}${G}`:G}function E$(){for(let X of Object.keys(L5))delete L5[X];WX=""}var L5,WX="";var b6=E(()=>{L5={}});import S6 from"fs";import C6 from"path";function P6(X,$={}){return{type:"redirect",path:X,options:{replace:$.replace??!1,external:$.external??!1,redirectCode:$.redirectCode??302}}}function v6(X){return{type:"abort",error:typeof X==="string"?{statusCode:500,message:X}:X}}function x6(X,$={}){return{handler:X,mode:$.mode??"universal"}}function D$(X){let $={};if(!X)return $;let Z=X.split(";");for(let Y of Z){let[J,...G]=Y.split("=");if(J){let Q=J.trim(),q=G.join("=").trim();if(Q)$[Q]=decodeURIComponent(q)}}return $}function wX(X,$,Z={}){let Y=`${encodeURIComponent(X)}=${encodeURIComponent($)}`;if(Z.expires){let J=typeof Z.expires==="number"?new Date(Date.now()+Z.expires*1000):Z.expires;Y+=`; Expires=${J.toUTCString()}`}if(Z.path)Y+=`; Path=${Z.path}`;if(Z.domain)Y+=`; Domain=${Z.domain}`;if(Z.secure)Y+="; Secure";if(Z.httpOnly)Y+="; HttpOnly";if(Z.sameSite)Y+=`; SameSite=${Z.sameSite}`;return Y}function y$(X,$){let Z=X.headers.get("cookie")||"",Y=D$(Z);return{get(J){return Y[J]},set(J,G,Q={}){Y[J]=G,$.append("Set-Cookie",wX(J,G,Q))},delete(J){delete Y[J],$.append("Set-Cookie",wX(J,"",{expires:new Date(0),path:"/"}))},getAll(){return{...Y}}}}function b$(){return{get(X){if(typeof document>"u")return;return D$(document.cookie)[X]},set(X,$,Z={}){if(typeof document>"u")return;document.cookie=wX(X,$,Z)},delete(X){if(typeof document>"u")return;document.cookie=wX(X,"",{expires:new Date(0),path:"/"})},getAll(){if(typeof document>"u")return{};return D$(document.cookie)}}}function S$(){let X=typeof window<"u"&&typeof window.localStorage<"u";return{get($){if(!X)return null;try{return window.localStorage.getItem($)}catch{return null}},set($,Z){if(!X)return;try{window.localStorage.setItem($,Z)}catch{}},remove($){if(!X)return;try{window.localStorage.removeItem($)}catch{}},isAvailable(){return X}}}function zX(X,$){U7.set(X,$)}function C$(X){return U7.get(X)}function f6(X){return U7.has(X)}function g6(){U7.clear()}function h6(){return Array.from(U7.keys())}async function u6(X,$="middleware"){let Z=C6.resolve(X,$);if(!S6.existsSync(Z))return;let Y=S6.readdirSync(Z);for(let J of Y){if(!J.endsWith(".ts")&&!J.endsWith(".js"))continue;if(J.includes(".test.")||J.includes(".spec."))continue;let G=J.replace(/\.(ts|js)$/,""),Q=C6.join(Z,J);try{let K=(await import(Q)).default;if(K&&typeof K.handler==="function")zX(G,K);else if(typeof K==="function")zX(G,{handler:K,mode:"universal"})}catch(q){console.warn(`Failed to load middleware '${G}' from ${Q}:`,q)}}}function RU(X){let $={};if(!X)return $;let Z=new URLSearchParams(X);for(let[Y,J]of Z)$[Y]=J;return $}function d6(X,$,Z,Y=""){return{path:X,params:$,query:RU(Y),fullPath:Y?`${X}?${Y}`:X,meta:Z}}function m6(X,$,Z,Y){let J=Y?.isServer??typeof window>"u",G=!J,Q=new Headers;return{to:X,from:$,isClient:G,isServer:J,cookies:J&&Z?y$(Z,Q):b$(),storage:S$(),state:{},request:Z,responseHeaders:Q}}async function l6(X,$){let Z=Array.isArray(X)?X:[X],Y=$.isServer;for(let J of Z){let G=C$(J);if(!G)return console.error(`Route middleware '${J}' is not registered \u2014 failing the guard closed.`),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:`Route middleware '${J}' is not registered`}},state:$.state,responseHeaders:$.responseHeaders};if(G.mode==="server"&&!Y)continue;try{let Q=await G.handler($);if(Q){if(Q.type==="redirect")return{passed:!1,redirect:Q,state:$.state,responseHeaders:$.responseHeaders};if(Q.type==="abort")return{passed:!1,abort:Q,state:$.state,responseHeaders:$.responseHeaders}}}catch(Q){return console.error(`Error in middleware '${J}':`,Q),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:Q instanceof Error?Q.message:"Middleware error"}},state:$.state,responseHeaders:$.responseHeaders}}}return{passed:!0,state:$.state,responseHeaders:$.responseHeaders}}var U7;var c6=E(()=>{U7=new Map});function W7(X){let Z=X.replace(/\\/g,"/").split("/").filter(Boolean),Y=Z.lastIndexOf("layouts"),J=Y>=0?Z[Y+1]:Z.at(-1);if(!J)return"app";return J.replace(/\.stx$/i,"")||"app"}function p6(X){let $=X.match(/<meta\b[^>]*name=["']stx-layout["'][^>]*content=["']([^"']+)["'][^>]*>/i),Z=X.match(/<meta\b[^>]*name=["']stx-layout-group["'][^>]*content=["']([^"']+)["'][^>]*>/i),Y=X.match(/<!--\s*stx-layout:\s*([^ ]+)\s*-->/i),J=$?.[1]||Y?.[1]||"";return{layout:J,group:Z?.[1]||W7(J)}}function TU(X){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(X).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return X}}function w7(){if(jX)return jX;return jX=TU(`
|
|
1433
1433
|
;(function(){
|
|
1434
1434
|
'use strict';
|
|
1435
1435
|
var ROUTER_REV=7;
|
|
@@ -3079,7 +3079,7 @@ else {
|
|
|
3079
3079
|
|
|
3080
3080
|
if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();
|
|
3081
3081
|
})();
|
|
3082
|
-
`),
|
|
3082
|
+
`),jX}var jX;var i6={};o(i6,{setAppUrl:()=>M$,runMiddleware:()=>l6,route:()=>K7,resolveLayoutChain:()=>UX,resetRoutes:()=>E$,registerMiddleware:()=>zX,patternToRegex:()=>q7,navigateTo:()=>P6,matchRoute:()=>KX,loadMiddlewareFromDirectory:()=>u6,isNonPageRoutePattern:()=>Y7,isNonPageRoutePath:()=>O$,hasMiddleware:()=>f6,getRouterScript:()=>w7,getMiddlewareNames:()=>h6,getMiddleware:()=>C$,generateRouteTypes:()=>G7,generateRouteManifest:()=>Q7,formatRoutes:()=>N$,findErrorPage:()=>T$,filePathToPattern:()=>qX,extractLayoutMetadata:()=>p6,deriveLayoutGroup:()=>W7,defineRoutes:()=>I$,defineRoute:()=>k$,defineMiddleware:()=>x6,createStorageManager:()=>S$,createServerCookieManager:()=>y$,createRouter:()=>D6,createRouteLocation:()=>d6,createMiddlewareContext:()=>m6,createClientCookieManager:()=>b$,clearMiddleware:()=>g6,bracketPathToRegex:()=>I6,abortNavigation:()=>v6,Router:()=>O5,NON_PAGE_DIRS:()=>Z7});var g1=E(()=>{y6();F$();b6();c6();A$();L$();QX()});var n6=E(()=>{g1();P$()});async function NU(X,$,Z,Y){let J=$[0]?.replace(/['"]/g,"")||"main",G=w7();if(J!=="main")G=G.replace("container:'main'",`container:'${J}'`);return`<script data-stx-router>${G}</script>`}var r6;var P$=E(()=>{n6();r6={name:"stxRouter",handler:NU,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function o6(X){let $=X.heatmap;if(!$?.enabled)return"";let Z={...MU,...$};return`
|
|
3083
3083
|
<!-- stx Heatmap - Privacy-Compliant Tracking -->
|
|
3084
3084
|
<script>
|
|
3085
3085
|
(function() {
|
|
@@ -3462,10 +3462,10 @@ else {
|
|
|
3462
3462
|
};
|
|
3463
3463
|
})();
|
|
3464
3464
|
</script>
|
|
3465
|
-
`}function
|
|
3466
|
-
`)){let q=Q.trim();if(!q||q.startsWith("#"))continue;let K=q.indexOf(":");if(K===-1)continue;let U=q.slice(0,K).trim(),W=q.slice(K+1).trim();if(typeof W==="string"){if(W.startsWith('"')&&W.endsWith('"')||W.startsWith("'")&&W.endsWith("'"))W=W.slice(1,-1);else if(W.startsWith("[")&&W.endsWith("]"))try{W=JSON.parse(W)}catch{}else if(W==="true")W=!0;else if(W==="false")W=!1;else if(/^-?\d+(?:\.\d+)?$/.test(W))W=Number(W)}G[U]=W}return{data:G,content:J.trim()}}function
|
|
3465
|
+
`}function s6(X,$){let Z=o6($);if(!Z)return X;let Y=X.lastIndexOf("</body>");if(Y!==-1)return X.slice(0,Y)+Z+X.slice(Y);return X+Z}function kU(X){let $={},Z=X.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let Y of Z){let[J,G]=Y.split("="),Q=G?.replace(/["']/g,"");switch(J){case"endpoint":$.endpoint=Q;break;case"samplingRate":$.samplingRate=Number.parseInt(Q,10);break;case"batchSize":$.batchSize=Number.parseInt(Q,10);break;case"trackMouse":$.trackMouse=Q==="true";break;case"trackClicks":$.trackClicks=Q==="true";break;case"trackScroll":$.trackScroll=Q==="true";break;case"honorDnt":$.honorDnt=Q==="true";break;case"debugOverlay":$.debugOverlay=Q==="true";break}}return $}var MU,a6;var v$=E(()=>{MU={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};a6={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async(X,$,Z,Y)=>{let J=Z.__stx_config||{};if($.length>0){let G=kU($.join(" "));J.heatmap={...J.heatmap,...G,enabled:!0}}return o6(J)}}});function L1(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function t6(X){let $=X.trim().toLowerCase();return!$.startsWith("javascript:")&&!$.startsWith("vbscript:")&&!$.startsWith("data:text/html")}function e6(X){let $=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,Z=X.match($);if(!Z)return{data:{},content:X.trim()};let Y=Z[1],J=X.slice(Z[0].length),G={};for(let Q of Y.split(`
|
|
3466
|
+
`)){let q=Q.trim();if(!q||q.startsWith("#"))continue;let K=q.indexOf(":");if(K===-1)continue;let U=q.slice(0,K).trim(),W=q.slice(K+1).trim();if(typeof W==="string"){if(W.startsWith('"')&&W.endsWith('"')||W.startsWith("'")&&W.endsWith("'"))W=W.slice(1,-1);else if(W.startsWith("[")&&W.endsWith("]"))try{W=JSON.parse(W)}catch{}else if(W==="true")W=!0;else if(W==="false")W=!1;else if(/^-?\d+(?:\.\d+)?$/.test(W))W=Number(W)}G[U]=W}return{data:G,content:J.trim()}}function z7(X,$={}){let{gfm:Z=!0,breaks:Y=!1}=$,J=X,G=[];if(J=J.replace(/```(\w*)\n([\s\S]*?)```/g,(W,w,z)=>{let B=G.length,j=w?` class="language-${L1(w)}"`:"";return G.push(`<pre><code${j}>${L1(z.trim())}</code></pre>`),`\x00CODEBLOCK${B}\x00`}),J=J.replace(/`([^`]*)`/g,(W,w)=>`<code>${L1(w)}</code>`),J=J.replace(/^######\s+(.*)$/gm,"<h6>$1</h6>"),J=J.replace(/^#####\s+(.*)$/gm,"<h5>$1</h5>"),J=J.replace(/^####\s+(.*)$/gm,"<h4>$1</h4>"),J=J.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),J=J.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),J=J.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),J=J.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),J=J.replace(/___(.+?)___/g,"<strong><em>$1</em></strong>"),J=J.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),J=J.replace(/__(.+?)__/g,"<strong>$1</strong>"),J=J.replace(/\*(.+?)\*/g,"<em>$1</em>"),J=J.replace(/(?<![a-zA-Z0-9])_(.+?)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),Z)J=J.replace(/~~(.+?)~~/g,"<del>$1</del>");if(J=J.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(W,w,z)=>{return`<img src="${t6(z)?L1(z):""}" alt="${L1(w)}" />`}),J=J.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(W,w,z)=>{return`<a href="${t6(z)?L1(z):""}">${w}</a>`}),J=J.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),J=J.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),J=J.replace(/<\/blockquote>\n<blockquote>/g,`
|
|
3467
3467
|
`),J=J.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),J=J.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),J=J.replace(/<\/ul>\n<ul>/g,""),J=J.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),J=J.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),J=J.replace(/<\/ol>\n<ol>/g,""),J=J.replace(/<li data-ul>/g,"<li>"),J=J.replace(/<li data-ol>/g,"<li>"),Z)J=J.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(W,w,z)=>{let j=`<tr>${w.split("|").map((H)=>H.trim()).filter(Boolean).map((H)=>`<th>${L1(H)}</th>`).join("")}</tr>`,_=z.trim().split(`
|
|
3468
|
-
`).map((H)=>{return`<tr>${H.split("|").map((
|
|
3468
|
+
`).map((H)=>{return`<tr>${H.split("|").map((L)=>L.trim()).filter(Boolean).map((L)=>`<td>${L1(L)}</td>`).join("")}</tr>`}).join(`
|
|
3469
3469
|
`);return`<table>
|
|
3470
3470
|
<thead>
|
|
3471
3471
|
${j}
|
|
@@ -3480,7 +3480,7 @@ ${_}
|
|
|
3480
3480
|
`:`
|
|
3481
3481
|
`)}</p>`);if(J=q.join(`
|
|
3482
3482
|
`),Y)J=J.replace(/\n/g,`<br />
|
|
3483
|
-
`);for(let W=0;W<G.length;W++)J=J.replace(`\x00CODEBLOCK${W}\x00`,G[W]);return J=J.replace(/<p>\s*<\/p>/g,""),J.trim()}function F5(X="const",$=[],Z){let Y=$.length?
|
|
3483
|
+
`);for(let W=0;W<G.length;W++)J=J.replace(`\x00CODEBLOCK${W}\x00`,G[W]);return J=J.replace(/<p>\s*<\/p>/g,""),J.trim()}function F5(X="const",$=[],Z){let Y=$.length?W1.filter((J)=>!$.includes(J)):W1;if(Z!==void 0)Y=Y.filter((J)=>{let G=J.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(^|[^\\w$])${G}(?![\\w$])`).test(Z)});return`${X} { ${Y.join(", ")} } = window.stx;`}function x$(X){if(!X)return!1;return EU.some(($)=>new RegExp(`\\b${$}\\s*(?:<[^>]*>)?\\s*\\(`).test(X))}function f$(X){if(!X)return!1;let $=Q2(X);if(DU.some((Z)=>Z.test($)))return!0;return x$($)}function $2(X){if(!X)return!1;return yU.test(Q2(X))||f$(X)}function Z2(X){return bU.includes(X.toLowerCase())}function G2(){return`{${Y2.map((X)=>`'${X}':1`).join(",")}}`}function Q2(X){if(!X)return X;let $=(Z)=>Z.replace(/(<[^>]*>)|([^<]+)/g,(Y,J,G)=>J??" ".repeat(G.length));return X.replace(/(<pre\b[^>]*>)([\s\S]*?)(<\/pre>)/gi,(Z,Y,J,G)=>Y+$(J)+G).replace(/(<code\b[^>]*>)([\s\S]*?)(<\/code>)/gi,(Z,Y,J,G)=>Y+$(J)+G).replace(/<!--[\s\S]*?-->/g,(Z)=>" ".repeat(Z.length))}var W1,X2,IU,EU,DU,yU,bU,Y2,SU,J2;var a0=E(()=>{W1=["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"],X2=["onMount","onDestroy"];IU=["defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","withDefaults"],EU=W1.filter((X)=>!IU.includes(X));DU=[/@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/],yU=/\s@[a-z][\w.:-]*\s*=/i;bU=["if","else-if","elseif","else","for","show","key","text","html","model","ref"];Y2=["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"],SU=["x-init","x-transition","x-effect","x-on"],J2=[...Y2,...SU]});function U2(X){let $={prevent:!1,stop:!1,once:!1,capture:!1,self:!1,passive:!1,keys:[],systemKeys:[],mouse:null,debounce:null,throttle:null};for(let Z of X){let Y=Z.toLowerCase();if(Y==="prevent")$.prevent=!0;else if(Y==="stop")$.stop=!0;else if(Y==="once")$.once=!0;else if(Y==="capture")$.capture=!0;else if(Y==="self")$.self=!0;else if(Y==="passive")$.passive=!0;else if(CU.has(Y))$.systemKeys.push(Y);else if(Y in W2)$.mouse=Y;else if(Y in K2||/^[a-z]$/.test(Y))$.keys.push(K2[Y]||Y.toUpperCase());else if(Y.startsWith("debounce")){let J=Y.match(/debounce(?:\.(\d+))?/);$.debounce=J?.[1]?Number.parseInt(J[1],10):300}else if(Y.startsWith("throttle")){let J=Y.match(/throttle(?:\.(\d+))?/);$.throttle=J?.[1]?Number.parseInt(J[1],10):300}}return $}function w2(X){let $=[],Z=0,Y=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,J;while((J=Y.exec(X))!==null){let[G,Q,q]=J,K=J.index,U=K+G.length,W=`__stx_evt_${Z++}`,w=[],z=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,B;while((B=z.exec(q))!==null){let[,_,H]=B,O=_.split("."),L=O[0];if(!q2.has(L))continue;w.push({attribute:`@${_}`,event:L,handler:H,modifiers:U2(O.slice(1)),elementId:W})}let j=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((B=j.exec(q))!==null){let[,_,H]=B,O=_.split("."),L=O[0];if(!q2.has(L))continue;w.push({attribute:`@${_}`,event:L,handler:H,modifiers:U2(O.slice(1)),elementId:W})}if(w.length>0)$.push({originalTag:G,elementId:W,events:w,startIndex:K,endIndex:U})}return $}function PU(X){let $=[],{modifiers:Z}=X;if(Z.self)$.push("if ($event.target !== $el) return");for(let Y of Z.systemKeys)$.push(`if (!$event.${Y}Key) return`);if(Z.keys.length>0){let Y=Z.keys.map((J)=>`$event.key === '${J}'`).join(" || ");$.push(`if (!(${Y})) return`)}if(Z.mouse!==null){let Y=W2[Z.mouse];$.push(`if ($event.button !== ${Y}) return`)}if(Z.prevent)$.push("$event.preventDefault()");if(Z.stop)$.push("$event.stopPropagation()");return $.join("; ")}function vU(X,$){let Z=X;if($.debounce!==null)Z=`__stx_debounce(() => { ${Z} }, ${$.debounce})`;else if($.throttle!==null)Z=`__stx_throttle(() => { ${Z} }, ${$.throttle})`;return Z}function g$(X){let $=X.trim();if(!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test($))return X;return`if (typeof ${$} === 'function' && !${$}._isSignal) ${$}($event);`}function xU(X){let{modifiers:$}=X,Z=X.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),Y=PU(X),J=vU(g$(X.handler),$),G=[];if($.once)G.push("once: true");if($.capture)G.push("capture: true");if($.passive)G.push("passive: true");let Q=G.length>0?`, { ${G.join(", ")} }`:"",q=J.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if(X.event==="mounted")return`
|
|
3484
3484
|
(function() {
|
|
3485
3485
|
var $el = document.getElementById('${Z}');
|
|
3486
3486
|
if (!$el) return;
|
|
@@ -3534,7 +3534,7 @@ else {
|
|
|
3534
3534
|
__stx_runHandler('${q}', $event, $el);
|
|
3535
3535
|
}
|
|
3536
3536
|
}${Q});
|
|
3537
|
-
})();`}function
|
|
3537
|
+
})();`}function h$(X){if(X.length===0)return"";return`
|
|
3538
3538
|
<script data-stx-events>
|
|
3539
3539
|
(function() {
|
|
3540
3540
|
'use strict';
|
|
@@ -3589,44 +3589,44 @@ else {
|
|
|
3589
3589
|
}
|
|
3590
3590
|
|
|
3591
3591
|
// Event listeners
|
|
3592
|
-
${X.map(
|
|
3592
|
+
${X.map(xU).join(`
|
|
3593
3593
|
`)}
|
|
3594
3594
|
})();
|
|
3595
|
-
</script>`}function
|
|
3596
|
-
`+J.slice(Q);else J+=G;return J}var
|
|
3595
|
+
</script>`}function fU(X){let $=w2(X);if($.length===0)return{template:X,bindings:[]};let Z=X,Y=[];for(let J=$.length-1;J>=0;J--){let G=$[J],Q=G.originalTag;if(!Q.includes(" id="))Q=Q.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${G.elementId}"`);else{let q=Q.match(/id=["']([^"']+)["']/);if(q)for(let K of G.events)K.elementId=q[1]}for(let q of G.events){let K=q.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),U=new RegExp(`\\s*${K}\\s*=\\s*"[^"]*"`,"g"),W=new RegExp(`\\s*${K}\\s*=\\s*'[^']*'`,"g");Q=Q.replace(U,""),Q=Q.replace(W,"")}Z=Z.slice(0,G.startIndex)+Q+Z.slice(G.endIndex),Y.push(...G.events)}return{template:Z,bindings:Y}}function z2(X,$,Z){if(f$(X))return X;if($.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test(X))return X;let{template:q,bindings:K}=fU(X),U=$.__stx_event_bindings||[];return $.__stx_event_bindings=[...U,...K],q}let Y=w2(X);if(Y.length===0)return X;let J=X;for(let q=Y.length-1;q>=0;q--){let K=Y[q],U=K.originalTag;if(!U.includes(" id="))U=U.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${K.elementId}"`);else{let W=U.match(/id=["']([^"']+)["']/);if(W)for(let w of K.events)w.elementId=W[1]}for(let W of K.events){let w=W.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),z=new RegExp(`\\s*${w}\\s*=\\s*"[^"]*"`,"g"),B=new RegExp(`\\s*${w}\\s*=\\s*'[^']*'`,"g");U=U.replace(z,""),U=U.replace(B,"")}J=J.slice(0,K.startIndex)+U+J.slice(K.endIndex)}let G=h$(Y.flatMap((q)=>q.events)),Q=J.lastIndexOf("</body>");if(Q!==-1)J=J.slice(0,Q)+G+`
|
|
3596
|
+
`+J.slice(Q);else J+=G;return J}var q2,K2,CU,W2;var u$=E(()=>{a0();q2=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"]),K2={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"},CU=new Set(["ctrl","alt","shift","meta"]),W2={left:0,middle:1,right:2}});function u0(X){let $=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;X=X.replace($,(Y,J)=>{return`const { ${J.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
|
|
3597
3597
|
`});let Z=/import\s*\{([^}]+)\}\s*from\s*['"]@composables['"]\s*;?\n?/g;return X=X.replace(Z,(Y,J)=>{return`const { ${J.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__composables
|
|
3598
|
-
`}),X}function
|
|
3599
|
-
`)Y++;continue}if(J==="/"&&X[Y+1]==="*"){Y+=2;while(Y<X.length&&X.slice(Y,Y+2)!=="*/")Y++;Y+=2;continue}if(J==="{"){Z++,Y++;continue}if(J==="}"){if(Z--,Z===0)return Y;Y++;continue}Y++}return X.length}function
|
|
3598
|
+
`}),X}function BX(X){return X.replace(/^import\s+[^'"]*?from\s*['"][^'"]+['"]\s*;?[ \t]*$/gm,"").replace(/^import\s+['"][^'"]+['"]\s*;?[ \t]*$/gm,"")}function gU(X,$){let Z=X[$],Y=$+1;while(Y<X.length){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]===Z)return Y+1;Y++}return X.length}function hU(X,$){let Z=$+1;while(Z<X.length){if(X[Z]==="\\"){Z+=2;continue}if(X[Z]==="`")return Z+1;if(X[Z]==="$"&&X[Z+1]==="{"){if(Z=_X(X,Z+2),Z<X.length)Z++;continue}Z++}return X.length}function _X(X,$){let Z=1,Y=$;while(Y<X.length){let J=X[Y];if(J==="\\"){Y+=2;continue}if(J==='"'||J==="'"){Y=gU(X,Y);continue}if(J==="`"){Y=hU(X,Y);continue}if(J==="/"&&X[Y+1]==="/"){while(Y<X.length&&X[Y]!==`
|
|
3599
|
+
`)Y++;continue}if(J==="/"&&X[Y+1]==="*"){Y+=2;while(Y<X.length&&X.slice(Y,Y+2)!=="*/")Y++;Y+=2;continue}if(J==="{"){Z++,Y++;continue}if(J==="}"){if(Z--,Z===0)return Y;Y++;continue}Y++}return X.length}function i0(X){let $="",Z=0;while(Z<X.length){let Y=X.slice(Z,Z+2);if(Y==="//"){while(Z<X.length&&X[Z]!==`
|
|
3600
3600
|
`)$+=" ",Z++;continue}if(Y==="/*"){while(Z<X.length&&X.slice(Z,Z+2)!=="*/")$+=X[Z]===`
|
|
3601
3601
|
`?`
|
|
3602
3602
|
`:" ",Z++;$+=" ",Z+=2;continue}let J=X[Z];if(J==='"'||J==="'"){let G=J;$+=" ",Z++;while(Z<X.length&&X[Z]!==G){if(X[Z]==="\\"){$+=" ",Z+=2;continue}$+=X[Z]===`
|
|
3603
3603
|
`?`
|
|
3604
|
-
`:" ",Z++}$+=" ",Z++;continue}if(J==="`"){$+=" ",Z++;while(Z<X.length&&X[Z]!=="`"){if(X[Z]==="\\"){$+=" ",Z+=2;continue}if(X[Z]==="$"&&X[Z+1]==="{"){let G=Z+2,Q=
|
|
3604
|
+
`:" ",Z++}$+=" ",Z++;continue}if(J==="`"){$+=" ",Z++;while(Z<X.length&&X[Z]!=="`"){if(X[Z]==="\\"){$+=" ",Z+=2;continue}if(X[Z]==="$"&&X[Z+1]==="{"){let G=Z+2,Q=_X(X,G);if($+=" ",$+=i0(X.slice(G,Q)),Q<X.length)$+=" ";Z=Q+1;continue}$+=X[Z]===`
|
|
3605
3605
|
`?`
|
|
3606
|
-
`:" ",Z++}$+=" ",Z++;continue}$+=J,Z++}return $}function
|
|
3606
|
+
`:" ",Z++}$+=" ",Z++;continue}$+=J,Z++}return $}function uU(){let X=globalThis;return X[j2]??=new Map,X[j2]}function a(X,$){let Z=uU(),Y=`${import.meta.url}\x00${X}`,J=Z.get(Y);if(J)return J;let G=$();return Z.set(Y,G),G.catch(()=>{if(Z.get(Y)===G)Z.delete(Y)}),G}var j2;var j7=E(()=>{j2=Symbol.for("stx.lazy-module-promises")});function V5(X){if(!X||X.indexOf("</")===-1)return X;return X.replace(dU,"<\\/$1")}var dU;var d$=E(()=>{dU=/<\/(script)/gi});import mU from"process";function v0(X="STX_PUBLIC_"){let $={},Z={};for(let[Y,J]of Object.entries(mU.env)){if(!Y.startsWith(X)||J===void 0)continue;$[`import.meta.env.${Y}`]=JSON.stringify(J),Z[Y]=J}return $["import.meta.env"]=JSON.stringify(Z),$}var F1=()=>{};function lU(X){if(!X||typeof X!=="object")return!1;let $=X;return typeof $.message==="string"&&($.name==="BuildMessage"||$.name==="ResolveMessage"||("position"in $))}function cU(X){if(X&&typeof X==="object"&&Array.isArray(X.errors))return X.errors;return[X]}function m$(X,$){let Z=[];for(let Y of cU(X)){if(lU(Y)){let J=Y.position||void 0;Z.push({file:$||J?.file,line:J?.line,column:J?.column,message:Y.message??"",lineText:J?.lineText});continue}Z.push({file:$,message:Y instanceof Error?Y.message:String(Y)})}return Z}function B2(X,$){return m$(X,$).map((Z)=>{let Y=Z.file?`${Z.file}${Z.line?`:${Z.line}${Z.column?`:${Z.column}`:""}`:""}`:"",J=Z.lineText?`
|
|
3607
3607
|
${Z.lineText.trim()}`:"";return Y?`${Y}: ${Z.message}${J}`:`${Z.message}${J}`}).join(`
|
|
3608
|
-
`)}var
|
|
3609
|
-
export { ${B.join(", ")} }`:"";await Bun.write(W,X+
|
|
3610
|
-
`),
|
|
3608
|
+
`)}var B7={};o(B7,{shouldLogBundlerDiagnostics:()=>L2,setBundlerFallbackMode:()=>rU,resolveBundlerFallback:()=>V2,recordBundleFailure:()=>F2,queueClientBundleBuild:()=>A2,hasUserImports:()=>oU,getBundleFailures:()=>iU,clearBundleFailures:()=>nU,bundleClientScript:()=>aU});import H0 from"path";import x0 from"fs";function L2(X=process.env){return X.STX_DEBUG==="true"||X.STX_DEBUG==="1"}function h1(...X){if(L2())console.log("[stx:bundler]",...X)}function F2(X,$,Z){p$.push({filePath:X||"<inline>",message:$,details:Z})}function iU(){return p$.slice()}function nU(){p$.length=0}function rU(X){c$=X}function V2(){if(c$)return c$;try{let X=H7.strict;return typeof X==="object"&&X!==null?X.bundlerFallback??"warn":"warn"}catch{return"warn"}}function oU(X){let $=/^[ \t]*import[ \t]+(?!type(?:[ \t]|{))[\s\S]*?\s+from\s+['"]([^'"]+)['"][ \t]*;?/gm,Z;while((Z=$.exec(X))!==null){let J=Z[1];if(!_2.some((Q)=>Q.test(J)))return h1("detected user import:",J),!0}let Y=/^[ \t]*import[ \t]+['"]([^'"]+)['"]/gm;while((Z=Y.exec(X))!==null){let J=Z[1];if(/\.css(?:\?.*)?$/.test(J))continue;if(!_2.some((Q)=>Q.test(J)))return h1("detected side-effect import:",J),!0}return!1}function sU(X,$,Z,Y){let J=(G,Q)=>{let q=G===Z?$:H0.dirname(G),K=H0.resolve(q,Q),U=[K,`${K}.ts`,`${K}.tsx`,`${K}.js`,`${K}.mjs`,`${K}.jsx`,H0.join(K,"index.ts"),H0.join(K,"index.tsx"),H0.join(K,"index.js"),H0.join(K,"index.mjs")];for(let W of U)try{if(x0.existsSync(W)&&x0.statSync(W,{throwIfNoEntry:!1})?.isFile())return W}catch{}return K};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(x0.existsSync(Q.path))return{path:Q.path};return{path:Q.path,external:!0}}),G.onResolve({filter:/^\.\.?\//},(Q)=>{let q=J(Q.importer,Q.path);return Y.add(q),{path:q}}),G.onResolve({filter:/^[@~]\//},(Q)=>{let q=H0.resolve(X,Q.path.slice(2)),K=[q,`${q}.ts`,`${q}.tsx`,`${q}.js`,`${q}.mjs`,`${q}.jsx`,H0.join(q,"index.ts"),H0.join(q,"index.tsx"),H0.join(q,"index.js"),H0.join(q,"index.mjs")];for(let U of K)if(x0.existsSync(U)&&x0.statSync(U,{throwIfNoEntry:!1})?.isFile())return h1(`resolved ${Q.path[0]}/ import:`,Q.path,"\u2192",U),Y.add(U),{path:U};return console.warn(`[stx:bundler] could not resolve ${Q.path[0]}/ import:`,Q.path),{path:q}}),G.onLoad({filter:/\.(?:[cm]?[jt]sx?|json)$/},(Q)=>{let q=H0.extname(Q.path).toLowerCase(),K=q===".json"?"json":q===".tsx"?"tsx":q===".jsx"?"jsx":q===".ts"||q===".mts"||q===".cts"?"ts":"js";if(Q.path!==Z)Y.add(Q.path);return{contents:x0.readFileSync(Q.path,"utf8"),loader:K}})}}}function A2(X){let $=globalThis,Y=($[H2]??Promise.resolve()).then(X,X);return $[H2]=Y.then(()=>{return},()=>{return}),Y}async function aU(X,$,Z={}){let Y=Z.projectRoot||process.cwd(),J=Z.minify??!1,G=Z.cacheDir||X7(Y,"bundle-cache"),Q=new Bun.CryptoHasher("md5");Q.update(`${pU}\x00${X}\x00${$}`);let q=Q.digest("hex").slice(0,12),K=H0.join(G,`${q}.js`),U=H0.join(G,`${q}.deps.json`),W=Bun.file(K);if(await W.exists()){let B=Bun.file(U),j=!0;if(await B.exists())try{let _=JSON.parse(await B.text());if(_.metadataVersion!==O2||!Array.isArray(_.files))j=!1;for(let H of Array.isArray(_.files)?_.files:[])try{if(x0.statSync(H.path).mtimeMs!==H.mtimeMs){j=!1;break}}catch{j=!1;break}}catch{j=!1}if(j)return h1("cache hit:",q),await W.text();h1("cache invalidated by dep change:",q)}let w=l$.get(q);if(w)return await w;let z=A2(()=>tU(X,$,{projectRoot:Y,minify:J,cacheDir:G,hash:q,cachePath:K,depsPath:U}));l$.set(q,z);try{return await z}finally{l$.delete(q)}}async function tU(X,$,Z){let{projectRoot:Y,minify:J,cacheDir:G,hash:Q,cachePath:q,depsPath:K}=Z,U=X7(Y,"bundle-tmp"),W=H0.join(U,`${Q}.ts`),w=H0.join(U,"out",Q);x0.mkdirSync(U,{recursive:!0}),x0.mkdirSync(w,{recursive:!0});let z=H0.dirname($),B=[],j=/^(export\s+)?(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))/gm,_=/^(export\s+)?(?:async\s+)?function\s+(\w+)/gm,H;while((H=j.exec(X))!==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(X))!==null){if(H[1])continue;B.push(H[2])}let O=B.length>0?`
|
|
3609
|
+
export { ${B.join(", ")} }`:"";await Bun.write(W,X+O),h1("bundling:",Q,"from:",H0.basename($));let L=new Set;try{let F=await Bun.build({entrypoints:[W],outdir:w,target:"browser",format:"esm",minify:J,plugins:[sU(Y,z,W,L)],define:{"process.env.NODE_ENV":J?'"production"':'"development"',...v0()},root:Y});if(!F.success){let I=F.logs.filter((C)=>C.level==="error").map((C)=>C.message).join(", ");return console.warn("[stx:bundler] build failed:",I),X}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 C of I[1].split(",")){let b=C.trim().match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(b){A.push([b[2],b[1]]);continue}let y=C.trim();if(/^[A-Za-z_$][\w$]*$/.test(y))A.push([y,y])}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 T=`__stxBundle_${Q}`,k=A.map(([I,C])=>`${JSON.stringify(I)}: ${C}`).join(", "),M=A.map(([I])=>`var ${I} = undefined;`).join(`
|
|
3610
|
+
`),N=A.map(([I])=>`${I} = ${T}[${JSON.stringify(I)}];`).join(`
|
|
3611
3611
|
`);if(V=`${R.join(`
|
|
3612
3612
|
`)}
|
|
3613
|
-
${
|
|
3614
|
-
var ${
|
|
3613
|
+
${M}
|
|
3614
|
+
var ${T} = (function() {
|
|
3615
3615
|
${V}
|
|
3616
|
-
return { ${
|
|
3616
|
+
return { ${k} };
|
|
3617
3617
|
})();
|
|
3618
|
-
${
|
|
3618
|
+
${N}`.trim(),h1("bundled:",Q,"output:",V.length,"bytes"),B.length>0&&A.length===0)return console.warn(`[stx:bundler] dropped every binding for ${H0.basename($)} (${Q}); serving the unbundled source and not caching this result`),X;x0.mkdirSync(G,{recursive:!0}),await Bun.write(q,V);let D=Array.from(L).map((I)=>{try{return{path:I,mtimeMs:x0.statSync(I).mtimeMs}}catch{return null}}).filter((I)=>I!==null);return await Bun.write(K,JSON.stringify({metadataVersion:O2,files:D})),V}catch(F){let V=m$(F,$||void 0),A=B2(F,$||void 0);if(console.warn(`[stx:bundler] error: ${A}`),F2($||"",A,V),V2()==="error")throw F;return X}finally{try{x0.rmSync(W,{force:!0}),x0.rmSync(w,{recursive:!0,force:!0})}catch{}}}var pU=5,O2=1,p$,c$,_2,l$,H2;var _7=E(()=>{F1();GX();V1();p$=[];_2=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];l$=new Map,H2=Symbol.for("stx.client-bundle-build-queue")});var D2={};o(D2,{stripCommentsAndLiterals:()=>i0,renderVendorStyleTags:()=>OX,processClientScript:()=>F7,injectBrowserCoreAutoImports:()=>A5,generateServerDataBridge:()=>LX,generateBrowserAutoImportDestructuring:()=>qW,generateAutoImportDestructuring:()=>i$,findInterpolationEnd:()=>_X,extractBridgeData:()=>L7,extractAndStripCssImports:()=>HX,STX_AUTO_IMPORTS:()=>M2});import u1 from"path";import O7 from"fs";function XW(X){if(X.startsWith(".")||X.startsWith("/"))return null;if(X.startsWith("@")){let Z=X.match(/^(@[^/]+\/[^/]+)(\/.*)?$/);if(!Z)return null;return{pkg:Z[1],subpath:Z[2]||""}}let $=X.match(/^([^/]+)(\/.*)?$/);if(!$)return null;return{pkg:$[1],subpath:$[2]||""}}function $W(X,$){let Z=$;while(!0){let Y=u1.join(Z,"node_modules",X,"package.json");if(O7.existsSync(Y))return u1.dirname(Y);let J=u1.dirname(Z);if(J===Z)return null;Z=J}}function ZW(X,$){if(!X||typeof X!=="object")return null;let Z=(J)=>{if(typeof J==="string")return J;if(J&&typeof J==="object"){if(typeof J.import==="string")return J.import;if(typeof J.default==="string")return J.default;if(typeof J.import==="object")return Z(J.import);if(typeof J.default==="object")return Z(J.default)}return null};if(Object.prototype.hasOwnProperty.call(X,$))return Z(X[$]);let Y=null;for(let J of Object.keys(X)){let G=J.indexOf("*");if(G===-1)continue;let Q=J.slice(0,G),q=J.slice(G+1);if(!$.startsWith(Q)||!$.endsWith(q))continue;if($.length<Q.length+q.length)continue;if(!Y||Q.length>Y.prefix.length)Y={pattern:J,prefix:Q,suffix:q}}if(Y){let J=$.slice(Y.prefix.length,$.length-Y.suffix.length),G=Z(X[Y.pattern]);if(G)return G.replace("*",J)}return null}function YW(X,$){let Z=XW(X);if(!Z||!Z.subpath)return null;let Y=$W(Z.pkg,$);if(!Y)return null;let J;try{J=JSON.parse(O7.readFileSync(u1.join(Y,"package.json"),"utf8"))}catch{return null}let G=`.${Z.subpath}`,Q=ZW(J.exports,G);if(!Q)return null;let q=u1.resolve(Y,Q);return O7.existsSync(q)?q:null}function HX(X,$){let Z=$.filePath?u1.dirname($.filePath):$.projectRoot||process.cwd(),Y=$.projectRoot||process.cwd(),J=new Set,G=[];return{code:X.replace(eU,(q,K)=>{let U;try{if(K.startsWith("./")||K.startsWith("../")||K.startsWith("/")){if(U=K.startsWith("/")?K:u1.resolve(Z,K),!O7.existsSync(U))throw Error(`file not found: ${U}`)}else{let W=null;try{W=Bun.resolveSync(K,Y)}catch{W=YW(K,Y)}if(!W)throw Error(`could not resolve ${K} (Bun.resolveSync + exports fallback both failed)`);U=W}}catch(W){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(K)} (from ${$.filePath||"<unknown>"}): ${W?.message||W}`),""}if(J.has(U))return"";J.add(U);try{let W=O7.readFileSync(U,"utf8");G.push({source:K,resolvedPath:U,contents:W})}catch(W){console.warn(`[stx:vendor-css] could not read ${U}: ${W?.message||W}`)}return""}),styles:G}}function JW(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function OX(X){if(X.length===0)return"";return`${X.map(($)=>{return`<style data-stx-vendor="${JW($.source)}" data-stx-layer="vendor">
|
|
3619
3619
|
@layer vendor {
|
|
3620
3620
|
${$.contents}
|
|
3621
3621
|
}
|
|
3622
3622
|
</style>`}).join(`
|
|
3623
3623
|
`)}
|
|
3624
|
-
`}function A5(X){let $=
|
|
3624
|
+
`}function A5(X){let $=i0(X),Z=new Set;for(let q of X.matchAll(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm))for(let K of q[1].split(",")){let U=K.trim().split(/\s+as\s+/).pop()?.replace(/^type\s+/,"").trim();if(U)Z.add(U)}let Y=new Set;for(let q of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))Y.add(q[1]);for(let q of $.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let K of q[1].split(",")){let U=K.trim().split(/[:=]/).pop()?.trim();if(U)Y.add(U)}let J=k2.filter((q)=>{if(Z.has(q)||Y.has(q))return!1;return new RegExp(`\\b${q}\\s*\\(`).test($)}),G=I2($).filter((q)=>!Z.has(q)&&!Y.has(q));if(J.length===0&&G.length===0)return{code:X,imports:J,models:G};return{code:`${[J.length>0?`import { ${J.join(", ")} } from '@stacksjs/browser'`:"",G.length>0?"import '@stacksjs/browser'":"",G.length>0?`const { ${G.join(", ")} } = window.StacksBrowser || {}`:""].filter(Boolean).join(`
|
|
3625
3625
|
`)}
|
|
3626
|
-
${X}`,imports:J,models:G}}function
|
|
3626
|
+
${X}`,imports:J,models:G}}function I2(X){let $=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,Y;while((Y=Z.exec(X))!==null)if(!GW.has(Y[1]))$.add(Y[1]);return Array.from($)}function QW(X){let $=new Set;for(let Z of X.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))$.add(Z[1]);for(let Z of X.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let Y of Z[1].split(",")){let J=Y.trim().split(/[:=]/).pop()?.trim();if(J&&/^[A-Za-z_$][\w$]*$/.test(J))$.add(J)}return $}function E2(X){let $=new Set,Z=new Set,Y=X;Y=Y.replace(/^\s*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm,"// [type import stripped]");let J=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(X))!==null){let U=Q[1],W=Q[2];if(Q[0].includes("import type"))continue;let w=[];for(let B of U.split(",")){let j=B.trim();if(!j||j.startsWith("type "))continue;let _=j.match(/^([A-Za-z_$][\w$]*)(?:\s+as\s+([A-Za-z_$][\w$]*))?$/);if(!_)continue;let H=_[1],O=_[2]||H;if(J.add(H),J.add(O),W==="stx"||W==="@stacksjs/stx")$.add(H);else Z.add(H);if(O!==H)w.push(`${O} = ${H}`)}let z=w.length>0?`var ${w.join(", ")}; /* [auto-import processed] */`:"// [auto-import processed]";Y=Y.replace(Q[0],z)}let q=QW(Y);for(let U of M2){if(J.has(U)||q.has(U))continue;if(new RegExp(`\\b${U}\\s*(?:<[^>]*>)?\\s*\\(`,"g").test(Y))$.add(U)}for(let U of k2){if(J.has(U)||q.has(U))continue;if(new RegExp(`\\b${U}\\b`,"g").test(Y))Z.add(U)}let K=I2(Y);for(let U of K)if(!J.has(U)&&!q.has(U))Z.add(U);return{code:Y,stxImports:Array.from($),browserImports:Array.from(Z)}}function i$(X,$){let Z=[];if(X.length>0)Z.push(` var { ${X.join(", ")} } = window.stx || window;`);if($.length>0)Z.push(` var { ${$.join(", ")} } = window.StacksBrowser || {};`);if(Z.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
|
|
3627
3627
|
${Z.join(`
|
|
3628
3628
|
`)}
|
|
3629
|
-
${
|
|
3629
|
+
${KW(X,$)}`;return""}function qW(X,$=[]){let{browserImports:Z}=E2(X),Y=new Set($);return i$([],Z.filter((J)=>!Y.has(J)))}function KW(X,$){let Z=[...X.map((Y)=>`['${Y}', typeof ${Y}, 'stx']`),...$.map((Y)=>`['${Y}', typeof ${Y}, '@stacksjs/browser']`)];if(Z.length===0)return"";return` // STX: report auto-imports the client runtime did not provide
|
|
3630
3630
|
[${Z.join(", ")}].forEach(function (e) {
|
|
3631
3631
|
if (e[1] !== 'undefined') return;
|
|
3632
3632
|
console.error(
|
|
@@ -3635,10 +3635,10 @@ ${ZW(X,$)}`;return""}function $W(X,$=[]){let{browserImports:Z}=T6(X),Y=new Set($
|
|
|
3635
3635
|
+ 'or it should be imported from a relative path so the bundler includes it.'
|
|
3636
3636
|
);
|
|
3637
3637
|
});
|
|
3638
|
-
`}function
|
|
3638
|
+
`}function L7(X){let $=X.__stxClientPayload;if($&&typeof $==="object"){let Y={};for(let J in $){let G=$[J];if(typeof G==="function")continue;Y[J]=G}return Y.__stxDeclaredPayload=!0,Y}let Z={};for(let Y in X){if(Y.startsWith("__")||Y.startsWith("$"))continue;let J=X[Y];if(typeof J==="function")continue;Z[Y]=J}return Z}function R2(X,$){let Z=new Set;for(let Y of X.split(",")){let J=Y.trim().replace(/^\.\.\./,"").trim();if(!J)continue;if($){let G=J.lastIndexOf(":");if(G!==-1)J=J.slice(G+1).trim()}if(J=J.split("=")[0].trim(),/^[A-Za-z_$][\w$]*$/.test(J))Z.add(J)}return Z}function UW(X,$){if(new RegExp(`(?:const|let|var|function|class)\\s+${$}\\b`).test(X))return!0;for(let Z of X.matchAll(/(?:const|let|var)\s*\{([^}]*)\}/g))if(R2(Z[1],!0).has($))return!0;for(let Z of X.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(R2(Z[1],!1).has($))return!0;return!1}function WW(X,$){return new RegExp(`(?<![.#\\w$])${$}(?![\\w$])`).test(X)}function zW(X,$){let Z=wW.test(X),Y=$.length>32768;if(!Z&&!Y)return;if(T2.has(X))return;if(T2.add(X),Z)console.warn(`[stx] server\u2192client bridge is publishing "${X}" 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(Y)console.warn(`[stx] server\u2192client bridge is publishing ${($.length/1024).toFixed(1)}KB under "${X}". Every byte ships in the HTML on each request; prefix the binding with "__" and project just the fields the client reads.`)}function LX(X,$){if(!$)return"";let Z=i0(X),Y=$.__stxDeclaredPayload===!0,J=[];for(let[G,Q]of Object.entries($)){if(!/^[A-Za-z_$][\w$]*$/.test(G))continue;if(G.startsWith("__")||G.startsWith("$"))continue;if(!Y&&!WW(Z,G))continue;if(UW(X,G))continue;let q;try{q=JSON.stringify(Q)}catch{continue}if(q===void 0)continue;zW(G,q),J.push(` var ${G} = ${q.replace(/</g,"\\u003c")};`)}if(J.length===0)return"";return` // stx: server -> client data bridge (seeded from server scope)
|
|
3639
3639
|
${J.join(`
|
|
3640
3640
|
`)}
|
|
3641
|
-
`}function
|
|
3641
|
+
`}function BW(X){let $=[];if(X.self)$.push("if ($event.target !== $el) return");for(let Z of X.systemKeys)$.push(`if (!$event.${Z}Key) return`);if(X.keys.length>0){let Z=X.keys.map((Y)=>`$event.key === '${Y}'`).join(" || ");$.push(`if (!(${Z})) return`)}if(X.mouse!==null){let Z=jW[X.mouse];$.push(`if ($event.button !== ${Z}) return`)}if(X.prevent)$.push("$event.preventDefault()");if(X.stop)$.push("$event.stopPropagation()");return $.join("; ")}function _W(X,$){let{elementId:Z,event:Y,modifiers:J}=X,G=g$(X.handler),Q=BW(J),q=[];if(J.once)q.push("once: true");if(J.capture)q.push("capture: true");if(J.passive)q.push("passive: true");let K=q.length>0?`, { ${q.join(", ")} }`:"",U="";if(Q)U+=`${Q}; `;let W=G.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),w=`var $emit = function(name, detail) {
|
|
3642
3642
|
$el.dispatchEvent(new CustomEvent(name, { detail: detail, bubbles: true, cancelable: true }))
|
|
3643
3643
|
};`;function z(B){if(/\$emit\s*\(/.test(B))return`${w}
|
|
3644
3644
|
${B}`;return`var scope = $el.closest('[data-stx-scope]');
|
|
@@ -3681,25 +3681,25 @@ else {
|
|
|
3681
3681
|
else {
|
|
3682
3682
|
${G}
|
|
3683
3683
|
}
|
|
3684
|
-
}${K})`}function
|
|
3684
|
+
}${K})`}function HW(X){if(X.length===0)return"";return`
|
|
3685
3685
|
// STX: auto-generated event bindings
|
|
3686
|
-
${X.map((Z,Y)=>
|
|
3687
|
-
`)}`}function
|
|
3688
|
-
`)Q++;continue}if(q==="/"&&Y[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Y[Q]==="*"&&Y[Q+1]==="/"))Q++;Q+=2;continue}if(q==="{"){J++,Q++;continue}if(q==="}"){J--,Q++;continue}if(J===0){let K=Y.slice(Q),U=K.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(U){let z=U[1];if(!z.startsWith("_")&&!Z.has(z))$.push(z),Z.add(z);Q+=U[0].length;continue}let W=K.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(W){W[1].split(",").forEach((z)=>{let B=z.trim(),j=B.indexOf(":"),_=j>=0?B.slice(j+1).trim().split(/[\s=]/)[0]:B.split(/[\s=]/)[0];if(_&&!_.startsWith("_")&&!Z.has(_))$.push(_),Z.add(_)}),Q+=W[0].length;continue}let w=K.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(w){let z=w[1];if(!z.startsWith("_")&&!Z.has(z))$.push(z),Z.add(z);Q+=w[0].length;continue}}Q++}return $}function
|
|
3686
|
+
${X.map((Z,Y)=>_W(Z,Y)).join(`
|
|
3687
|
+
`)}`}function N2(X){let $=[],Z=new Set,Y=X.replace(/^\s*import\s+.*$/gm,""),J=0,G=Y.length,Q=0;while(Q<G){let q=Y[Q];if(q==="'"||q==='"'||q==="`"){let K=q;if(Q++,K==="`"){let U=0;while(Q<G){if(Y[Q]==="\\"){Q+=2;continue}if(Y[Q]==="`"&&U===0){Q++;break}if(Y[Q]==="$"&&Y[Q+1]==="{"){U++,Q+=2;continue}if(Y[Q]==="}"&&U>0){U--,Q++;continue}Q++}}else while(Q<G){if(Y[Q]==="\\"){Q+=2;continue}if(Y[Q]===K){Q++;break}Q++}continue}if(q==="/"&&Y[Q+1]==="/"){while(Q<G&&Y[Q]!==`
|
|
3688
|
+
`)Q++;continue}if(q==="/"&&Y[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Y[Q]==="*"&&Y[Q+1]==="/"))Q++;Q+=2;continue}if(q==="{"){J++,Q++;continue}if(q==="}"){J--,Q++;continue}if(J===0){let K=Y.slice(Q),U=K.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(U){let z=U[1];if(!z.startsWith("_")&&!Z.has(z))$.push(z),Z.add(z);Q+=U[0].length;continue}let W=K.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(W){W[1].split(",").forEach((z)=>{let B=z.trim(),j=B.indexOf(":"),_=j>=0?B.slice(j+1).trim().split(/[\s=]/)[0]:B.split(/[\s=]/)[0];if(_&&!_.startsWith("_")&&!Z.has(_))$.push(_),Z.add(_)}),Q+=W[0].length;continue}let w=K.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(w){let z=w[1];if(!z.startsWith("_")&&!Z.has(z))$.push(z),Z.add(z);Q+=w[0].length;continue}}Q++}return $}function LW(X){let $=new Set,Z=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function Y(z){let B;while((B=Z.exec(z))!==null){let j=B[0];if(!OW.has(j))$.add(j)}}let J=/\{\{([\s\S]*?)\}\}/g,G;while((G=J.exec(X))!==null)Y(G[1]);let Q=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((G=Q.exec(X))!==null)Y(G[1]);let q=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((G=q.exec(X))!==null)Y(G[1]);let K=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((G=K.exec(X))!==null)Y(G[1]);let U=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((G=U.exec(X))!==null)Y(G[1]);let W=/@model\s*=\s*["']([^"']*)["']/gi;while((G=W.exec(X))!==null)Y(G[1]);let w=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((G=w.exec(X))!==null)Y(G[1]);return $}async function F7(X,$={}){let Z=X,Y="",J=!1,G=[],Q=HX(Z,{filePath:$.filePath,projectRoot:$.projectRoot});Z=Q.code;let q=OX(Q.styles),K=A5(Z);Z=K.code,G=[...K.imports,...K.models];let{hasUserImports:U,bundleClientScript:W}=await a("stx/client-script-bundler",()=>Promise.resolve().then(() => (_7(),B7)));if(U(Z))Z=await W(Z,$.filePath||"",{projectRoot:$.projectRoot,minify:$.production}),J=!0;if($.autoImports!==!1){let L=E2(Z);Z=L.code,Y=i$(L.stxImports,L.browserImports.filter((F)=>!G.includes(F)))}if(Y=`${LX(Z,$.serverData)}${Y}`,Z=u0(Z),!J&&d1($.attrs||""))Z=m1(Z);let w=HW($.eventBindings||[]),z=($.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(z)){let L=z.replace(/\btype\s*=\s*["']module["']/i,"").trim(),F=`type="module" data-stx-scoped${L?` ${L}`:""}`;return`${q}<script ${F}>
|
|
3689
3689
|
${V5(`${Y}${Z}
|
|
3690
3690
|
${w}`)}
|
|
3691
|
-
</script>`}let j=
|
|
3692
|
-
return { ${
|
|
3691
|
+
</script>`}let j=x$(X),_=/function __stx_setup_/.test(Z),H=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test(X);function O(L){let F=L.length>0?`
|
|
3692
|
+
return { ${L.join(", ")} };`:"";return`${q}<script data-stx-scoped data-stx-run="always">
|
|
3693
3693
|
window.stx.mount(function() {
|
|
3694
3694
|
'use strict';
|
|
3695
3695
|
${V5(`${Y}${Z}
|
|
3696
3696
|
${w}${F}`)}
|
|
3697
|
-
})</script>`}if(!H&&!_){if(j)return
|
|
3697
|
+
})</script>`}if(!H&&!_){if(j)return O(N2(X));if($.templateContent){let L=N2(X);if(L.length>0){let F=LW($.templateContent);if(L.some((A)=>F.has(A)))return O(L)}}}return`${q}<script data-stx-scoped data-stx-run="always">
|
|
3698
3698
|
;(function() {
|
|
3699
3699
|
'use strict';
|
|
3700
3700
|
${V5(`${Y}${Z}
|
|
3701
3701
|
${w}`)}
|
|
3702
|
-
})()</script>`}var
|
|
3702
|
+
})()</script>`}var eU,M2,k2,GW,wW,T2,jW,OW;var V7=E(()=>{u$();A0();j7();a0();d$();eU=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;M2=W1,k2=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useActiveElement","useDocumentVisibility","useIntervalFn"];GW=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"]);wW=/token|secret|passw|apikey|api_key|privatekey|private_key|credential|webhook|bearer|jwt|signature/i,T2=new Set;jW={left:0,middle:1,right:2};OW=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 FW}from"crypto";function y2(X){let $=X[FX];return $ instanceof Map?$:null}function b2(X){X[FX]=new Map}function S2(X,$){let Z=y2(X);if(!Z)return null;let Y=FW("sha256").update($).digest("hex").slice(0,16),J=Z.get(Y);if(J)J.instances++;else Z.set(Y,{body:$,instances:1});return Y}function C2(X,$){let Z=y2($);if(!Z?.size)return X;let Y=X;for(let[K,U]of Z){if(U.instances!==1)continue;let W=new RegExp(`window\\.__stxComponentFactories\\[${JSON.stringify(K)}\\]\\(("[^"]+")\\);`,"g");Y=Y.replace(W,(w,z)=>`(${U.body})(${z});`)}let J=[...Z].filter(([,K])=>K.instances>1);if(J.length===0)return Y;let Q=`<script data-stx-scoped data-stx-run="always" data-stx-component-factories>
|
|
3703
3703
|
(function() {
|
|
3704
3704
|
const factories = window.__stxComponentFactories = window.__stxComponentFactories || {};
|
|
3705
3705
|
${J.map(([K,U])=>` try { factories[${JSON.stringify(K)}] = factories[${JSON.stringify(K)}] || ${U.body}; }
|
|
@@ -3708,7 +3708,7 @@ ${J.map(([K,U])=>` try { factories[${JSON.stringify(K)}] = factories[${JSON.str
|
|
|
3708
3708
|
})();
|
|
3709
3709
|
</script>`,q=Y.search(/<script\b(?=[^>]*\bdata-stx-scoped\b)/i);if(q<0)return`${Q}
|
|
3710
3710
|
${Y}`;return`${Y.slice(0,q)}${Q}
|
|
3711
|
-
${Y.slice(q)}`}var
|
|
3711
|
+
${Y.slice(q)}`}var FX="__stx_component_client_factories";var n$=()=>{};function TW(X){let $="",Z=null,Y=!1;for(let J=0;J<X.length;J++){let G=X[J];if(Y){Y=!1;continue}if(G==="\\"&&Z){Y=!0;continue}if(Z){if(Z==="`"&&G==="$"&&J+1<X.length&&X[J+1]==="{"){let Q=1;J+=2;while(J<X.length&&Q>0){if(X[J]==="{")Q++;else if(X[J]==="}")Q--;if(Q>0)$+=X[J],J++}continue}if(G===Z)Z=null;continue}if(G==='"'||G==="'"||G==="`"){Z=G;continue}$+=G}return $}function NW(X,$){let Z=/[$A-Z_a-z][$\w]*/g,Y;while((Y=Z.exec(X))!==null){let J=Y[0],G=X[Y.index-1];if(AW.has(J))throw Error(`Potentially unsafe expression (matched /\\b${J}\\b/; identifier ${J}): ${$}`);if(G==="."&&f2.has(J))throw Error(`Potentially unsafe expression (matched /.${J}/; property ${J}): ${$}`)}}function MW(X){let $=/\[\s*(['"])(.*?)\1\s*\]/g,Z;while((Z=$.exec(X))!==null){let Y=Z[2];if(!f2.has(Y))continue;let J=X.slice(0,Z.index).match(/\S(?=\s*$)/)?.[0],G=X.slice(Z.index+Z[0].length).match(/^\s*(\S)/)?.[1];if(!((J==="{"||J===",")&&G===":"))throw Error(`Potentially unsafe expression (bracket key ${Z[2]}): ${X}`)}}function VX(X){let $=X.trim(),Z=TW($);NW(Z,$),MW($);for(let Y of x2)if(Y.test(Z))throw Error(`Potentially unsafe expression (matched /${Y.source}/): ${$}`);if(!v2.allowBracketNotation&&RW.test($))throw Error(`Bracket notation with strings not allowed: ${$}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return $}function kW(X){let $={};$.Math=Math,$.JSON=JSON,$.Date=Date,$.String=String,$.Number=Number,$.Boolean=Boolean,$.Array=Array,$.parseInt=Number.parseInt,$.parseFloat=Number.parseFloat,$.isNaN=Number.isNaN,$.isFinite=Number.isFinite,$.encodeURIComponent=encodeURIComponent,$.decodeURIComponent=decodeURIComponent;for(let[Z,Y]of Object.entries(X)){if(Z.startsWith("__")||x2.some((J)=>J.test(Z)))continue;if(Y&&typeof Y==="object"&&!Array.isArray(Y))$[Z]=r$(Y);else $[Z]=Y}return $}function r$(X,$=0){if($>=v2.maxSanitizeDepth)return"[Object too deep]";if(X===null||typeof X!=="object")return X;if(Array.isArray(X))return X.map((Y)=>r$(Y,$+1));if(X instanceof Date||X instanceof RegExp||X instanceof Map||X instanceof Set||X instanceof Error)return X;let Z={};for(let[Y,J]of Object.entries(X)){if(Y.startsWith("__")||Y==="constructor"||Y==="prototype")continue;if(J&&typeof J==="object")Z[Y]=r$(J,$+1);else Z[Y]=J}return Z}function Z0(X,$){try{let Z=kW($),Y=Object.keys(Z),J=Object.values(Z);return G0(X,Y)(...J)}catch{return}}function J0(X){try{return VX(X),!0}catch{return!1}}function O0(X,$){try{let Z=Z0(X,$);if(Z&&typeof Z==="object"&&!Array.isArray(Z))return Z;return{}}catch{return{}}}function G0(X,$){let Z=VX(X),Y=/^[A-Za-z_$][\w$]*$/,J=[],G=[];for(let U=0;U<$.length;U++){let W=$[U];if(!Y.test(W))continue;if(g2.has(W))continue;J.push(U),G.push(W)}let Q=(U)=>Function(...G,...U,`
|
|
3712
3712
|
'use strict';
|
|
3713
3713
|
try {
|
|
3714
3714
|
return ${Z};
|
|
@@ -3719,7 +3719,7 @@ catch (e) {
|
|
|
3719
3719
|
}
|
|
3720
3720
|
throw e;
|
|
3721
3721
|
}
|
|
3722
|
-
`),q=Q([]);if(G.length===$.length)return y6(q,G,Q);return y6((...U)=>{let W=Array(J.length);for(let w=0;w<J.length;w++)W[w]=U[J[w]];return q(...W)},G,Q,(U)=>{q=Q(U)})}function y6(X,$,Z,Y){let G=/^(\w+) is not defined$/,Q=X,q=[],K=new Set($);return(...U)=>{for(let W=0;W<=8;W++)try{return Q(...U)}catch(w){let z=w instanceof Error?w.message:"",B=G.exec(z);if(!(w instanceof ReferenceError)||!B)return;let j=B[1];if(K.has(j)||P6.has(j))return;K.add(j),q.push(j),Q=Z(q),Y?.(q)}return}}function VX(X){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 Y of Z)if(Y.test($))return!1;return!0}var BW,b6,S6,_W,C6,HW,P6;var O0=E(()=>{BW={maxSanitizeDepth:10,allowBracketNotation:!1},b6={...BW},S6=[/\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/],_W=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"]),C6=new Set(["__proto__","constructor","prototype"]),HW=/[\w)\]]\s*\[\s*['"]/;P6=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 AX(X,$){let Z=AW++,Y=`<!--__STX_${X.toUpperCase()}_${Z}__-->`;return RW.set(Y,{type:X,expression:$}),Y}var AW=0,RW;var v6=E(()=>{RW=new Map});function u6(X,$,Z,Y){Z.lastIndex=$;let J=Z.exec(X);if(!J||J.index!==$)return-1;Y.lastIndex=Z.lastIndex;let G=Y.exec(X);if(!G)return-1;return G.index+G[0].length}function A1(X,$){return u6(X,$,x6,f6)}function R5(X,$){return u6(X,$,g6,h6)}function V7(X,$){if(!X.startsWith("<!--",$))return-1;let Z=X.indexOf("-->",$+4);if(Z===-1)return-1;return Z+3}function NW(X,$){if(X.startsWith("<!--",$)){let Z=V7(X,$);return Z===-1?X.length:Z}for(let[Z,Y]of[[x6,f6],[g6,h6]]){Z.lastIndex=$;let J=Z.exec(X);if(!J||J.index!==$)continue;Y.lastIndex=Z.lastIndex;let G=Y.exec(X);return G?G.index+G[0].length:X.length}return-1}function r$(X,$){let Z=[],Y=0,J=X.length,G=!1,Q=null;while(Y<J){let q=X[Y];if(G){if(Q){if(q===Q)Q=null}else if(q==='"'||q==="'")Q=q;else if(q===">")G=!1;Y++;continue}if(q!=="<"){Y++;continue}let K=$(X,Y);if(K>Y){Z.push({start:Y,end:K,token:X.slice(Y,K)}),Y=K;continue}let U=NW(X,Y);if(U>Y){Y=U;continue}if(/^<\/?[a-zA-Z]/.test(X.slice(Y,Y+2)))G=!0;Y++}return Z}function $1(X,$,Z){let Y=r$(X,$);if(Y.length===0)return{output:X,tokens:[]};let J=Y.map((q)=>q.token),G="",Q=0;for(let q=0;q<Y.length;q++){let K=Y[q];G+=X.slice(Q,K.start),G+=Z(K.token,q),Q=K.end}return G+=X.slice(Q),{output:G,tokens:J}}function R1(X){let{output:$,tokens:Z}=$1(X,A1,(Y,J)=>`\x00STX_SCRIPT_${J}\x00`);return{output:$,scripts:Z}}function A7(X,$){if($.length===0)return X;return X.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,Y)=>$[+Y]??"")}var x6,f6,g6,h6;var l1=E(()=>{x6=/<script\b[^>]*>/iy,f6=/<\/script\s*>/ig,g6=/<style\b[^>]*>/iy,h6=/<\/style\s*>/ig});var n6={};n(n6,{usesSignalsInScript:()=>W1,unescapeHtml:()=>SW,registerFilters:()=>MW,registerFilter:()=>l6,processExpressions:()=>N1,interpolateScriptsInTemplate:()=>EW,interpolateScriptExpressions:()=>RX,interpolateScriptAttributes:()=>p6,getAllFilters:()=>c6,evaluateExpression:()=>P0,escapeHtml:()=>r0,defaultFilters:()=>N7,clearCustomFilters:()=>kW,applyFilters:()=>i6});function TW(X){let $=d6.get(X);if(!$){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");$=new RegExp(`:${Z}(?!\\w)`,"g"),d6.set(X,$)}return $.lastIndex=0,$}function l6(X,$){if(X in N7)console.warn(`Filter "${X}" already exists as a built-in filter. Custom filter will take precedence.`);R7[X]=$}function MW(X){for(let[$,Z]of Object.entries(X))l6($,Z)}function c6(){return{...N7,...R7}}function kW(){for(let X of Object.keys(R7))delete R7[X]}function r0(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function W1(X){let{scripts:$}=R1(X);for(let Z of $){let Y=Z.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!Y||/\bserver\b|\bsrc\s*=/.test(Y[1]))continue;let J=Y[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(J))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test(X))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test(X))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test(X))return!0;return!1}function m6(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"],Y=X.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),J="",G=!1,Q=0;for(let U=0;U<Y.length;U++){let W=Y[U];if(!G&&W==="`"){G=!0,Q=0;continue}if(G){if(W==="`"&&Q===0){G=!1;continue}if(W==="$"&&Y[U+1]==="{"){Q++,U++,J+=" ";continue}if(W==="}"&&Q>0){Q--;continue}if(Q>0){J+=W;continue}continue}J+=W}Y=J;let q=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,K;while((K=q.exec(Y))!==null){let U=K[1];if(!Y.substring(0,K.index).trimEnd().endsWith(".")){if(!Z.includes(U)&&!(U in $))return!1}}return!0}function IW(X,$){let Z=$.__stx_serverDeclared;if(!Z||Z.size===0)return!1;let Y=X1(X);for(let J of Z)if(new RegExp(`(?<![.#\\w$])${J}(?![\\w$])`).test(Y))return!0;return!1}function RX(X,$){let Z=X;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(Y,J)=>{try{let G=P0(J,$);if(G===void 0)return Y;return G===null?"":String(G)}catch{return Y}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(Y,J)=>{let G=J.trim();if(/^__[A-Z_]+__$/.test(G))return Y;try{let Q=P0(J,$);if(Q===void 0)return Y;return JSON.stringify(Q).replace(/</g,"\\u003c")}catch{return Y}}),Z}function p6(X,$){if(!X.includes("{"))return X;let Z=X;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(Y,J)=>{try{let G=P0(J,$);if(G===void 0)return Y;return G===null?"":String(G)}catch{return Y}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(Y,J)=>{let G=J.trim();if(/^__[A-Z_]+__$/.test(G))return Y;try{let Q=P0(J,$);if(Q===void 0)return Y;if(Q===null)return"";return String(Q).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}catch{return Y}}),Z}function EW(X,$,Z={}){let{output:Y,scripts:J}=R1(X),G=J.map((Q)=>{let q=Q.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),K=Q.match(/^<script\b[^>]*>/i),U=Q.search(/<\/script\s*>$/i);if(!q||!K||U===-1)return Q;let W=q[1],w=q[2];if(/\bdata-raw\b/.test(W))return Q;if(Z.skipServer&&/\bserver\b/.test(W))return Q;let B=`<script${p6(W,$)}>`;if(/\bsrc\s*=/.test(W)||/\btype\s*=\s*["']application\/json["']/.test(W))return B+w+Q.slice(U);return B+RX(w,$)+Q.slice(U)});return A7(Y,G)}function N1(X,$,Z){let Y=X,J=(w,z)=>{let B=R5(w,z);if(B===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(w.slice(z,B))?-1:B},G=(w,z,B,j)=>{let _=B.length,{output:H,tokens:L}=$1(w,z,(O,F)=>j(_+F));return B.push(...L),H},Q=[];Y=G(Y,J,Q,(w)=>`<!--__STX_STYLE_${w}__-->`);let q=[];Y=G(Y,A1,q,(w)=>`<!--__STX_SCRIPT_EXPR_${w}__-->`);let K=$?.__stx_signals_gate===!0||W1(X),U=new Set(Array.isArray($?.__stx_client_signal_names)?$.__stx_client_signal_names:[]),W=new Set(Array.isArray($?.__stx_preserved_client_expressions)?$.__stx_preserved_client_expressions:[]);Y=Y.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(w,z,B)=>{try{let j=P0(z,$);return j!==void 0&&j!==null?String(j):""}catch(j){let _=j instanceof Error?j.message:String(j);return U0("Expression",`Error evaluating: {{{ ${z.trim()}}}}: ${_}`,Z,X,B,w)}}),Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(w,z,B)=>{try{let j=P0(z,$);if(j===void 0&&$.__stx_buildMode==="compile")return AX("raw",z.trim());return j!==void 0&&j!==null?String(j):""}catch(j){if($.__stx_buildMode==="compile")return AX("raw",z.trim());let _=j instanceof Error?j.message:String(j);return U0("Expression",`Error evaluating: {!! ${z.trim()} !!}: ${_}`,Z,X,B,w)}}),Y=G(Y,A1,q,(w)=>`<!--__STX_SCRIPT_EXPR_${w}__-->`),Y=G(Y,J,Q,(w)=>`<!--__STX_STYLE_${w}__-->`),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(w,z,B)=>{let j=z.trim();if(W.has(j))return w;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 $)||_.includes(O)),V=Boolean(O&&U.has(O)),A=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,R=j.match(A),N=R&&!_.includes(R[1])&&!(R[1]in $);if(/^__[A-Z_]+__$/.test(j))return"";try{let T=P0(z,$);if(V)return w;if(K&&!m6(j,$))return w;if($.__stx_buildMode==="compile"&&!K&&(T===void 0||IW(j,$)))return AX("expr",j);return T!==void 0&&T!==null?r0(String(T)):""}catch(T){if(V)return w;if(K&&!m6(j,$))return w;if(N)return w;let k=T instanceof Error?T.message:String(T);return U0("Expression",`Error evaluating: {{ ${j} }}: ${k}`,Z,X,B,w)}});for(let w=0;w<q.length;w++)Y=Y.replace(`<!--__STX_SCRIPT_EXPR_${w}__-->`,()=>q[w]);for(let w=0;w<Q.length;w++)Y=Y.replace(`<!--__STX_STYLE_${w}__-->`,()=>Q[w]);return Y}function i6(X,$,Z){if(!$.trim())return X;let Y=X,J=$.trim();while(J.length>0){let G=J.match(/^(\w+)/);if(!G)break;let Q=G[1];J=J.substring(Q.length).trim();let q=R7[Q]||N7[Q];if(!q)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(c6()).join(", ")}`);let K=[];if(J.startsWith(":")){let U=J.match(/^:([^|\s]+)/);if(U){let W=U[1].trim();try{let w=Number(W);K=[Number.isNaN(w)?W:w]}catch{K=[W]}J=J.substring(U[0].length).trim()}}else if(J.startsWith("(")){let U=1,W=1;while(U>0&&W<J.length){if(J[W]==="(")U++;if(J[W]===")")U--;W++}if(U===0){let w=J.substring(1,W-1).trim();if(w)try{if(w.startsWith("{")&&w.endsWith("}"))K=[P0(`(${w})`,Z,!0)];else{let z=[],B="",j=null,_=0,H=0,L=0,O=!1;for(let F=0;F<w.length;F++){let V=w[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){z.push(B),B="";continue}B+=V}if(B)z.push(B);K=z.map((F)=>{let V=F.trim();return P0(V,Z,!0)})}}catch{K=[w]}J=J.substring(W).trim()}}try{Y=q(Y,Z,...K)}catch(U){let W=U instanceof Error?U.message:String(U);throw Error(`Error applying filter '${Q}': ${W}`)}if(J.startsWith("|"))J=J.substring(1).trim();else break}return Y}function DW(X){let $=!1,Z="",Y=0,J=0,G=0,Q=!1;for(let q=0;q<X.length;q++){let K=X[q],U=X[q+1];if($&&Q){Q=!1;continue}if($&&K==="\\"){Q=!0;continue}if(Q=!1,(K==='"'||K==="'"||K==="`")&&!Q){if(!$)$=!0,Z=K;else if(K===Z)$=!1,Z="";continue}if($&&Z==="`"&&K==="$"&&U==="{"){let W=1;q+=2;while(q<X.length&&W>0){if(X[q]==="{")W++;else if(X[q]==="}")W--;if(W>0)q++}continue}if($)continue;if(K==="(")Y++;else if(K===")")Y--;else if(K==="[")J++;else if(K==="]")J--;else if(K==="{")G++;else if(K==="}")G--;if(K==="|"&&Y===0&&J===0&&G===0){if(U==="|"){q++;continue}if(U==="="){q++;continue}return q}}return-1}function P0(X,$,Z=!1){try{let Y=X.trim(),J=DW(Y);if(J>0){let G=Y.substring(0,J).trim(),Q=Y.substring(J+1).trim(),q=P0(G,$,!0);return i6(q,Q,$)}if(!G0(Y)){if(!Z)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${Y}`);return $0(Y,$)}try{let G=Object.keys($),Q=Object.values($);return Q0(Y,G)(...Q)}catch{return $0(Y,$)}}catch(Y){if(Y instanceof ReferenceError){let J=/(\b\w+)\s+is not defined/.exec(Y.message);if(J){let G=J[1],Q=yW(G,Object.keys($));if(Q&&Q!==G)Y.message=`${Y.message} \u2014 did you mean '${Q}'?`}}if(!Z)console.error(`Error evaluating expression: ${X}`,Y);throw Y}}function yW(X,$){let Z=null;for(let J of $){if(J===X)continue;let G=bW(X,J);if(Z===null||G<Z.dist)Z={key:J,dist:G}}if(!Z)return null;let Y=Math.max(X.length,Z.key.length);if(Z.dist<=2||Z.dist/Y<=0.35)return Z.key;return null}function bW(X,$){if(X===$)return 0;if(X.length===0)return $.length;if($.length===0)return X.length;let[Z,Y]=X.length<$.length?[X,$]:[$,X],J=Array(Z.length+1),G=Array(Z.length+1);for(let Q=0;Q<=Z.length;Q++)J[Q]=Q;for(let Q=1;Q<=Y.length;Q++){G[0]=Q;for(let q=1;q<=Z.length;q++){let K=Z[q-1]===Y[Q-1]?0:1;G[q]=Math.min(G[q-1]+1,J[q]+1,J[q-1]+K)}for(let q=0;q<=Z.length;q++)J[q]=G[q]}return J[Z.length]}function SW(X){if(!X)return"";return X.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var R7,d6,N7;var Z1=E(()=>{O0();A0();v6();l1();R7={},d6=new Map;N7={uppercase:(X,$)=>{return X!==void 0&&X!==null?String(X).toUpperCase():""},lowercase:(X,$)=>{return X!==void 0&&X!==null?String(X).toLowerCase():""},capitalize:(X,$)=>{if(X===void 0||X===null)return"";let Z=String(X);return Z.charAt(0).toUpperCase()+Z.slice(1)},number:(X,$,Z=0)=>{if(X===void 0||X===null)return"";try{let Y=Number(X);return Number.isNaN(Y)?"":Y.toFixed(Number.parseInt(String(Z),10))}catch{return""}},fmt:(X,$,Z="en-US")=>{if(X===void 0||X===null)return"";try{let Y=Number(X);if(Number.isNaN(Y))return String(X);return Y.toLocaleString(Z)}catch{return String(X)}},join:(X,$,Z=",")=>{if(!Array.isArray(X))return"";return X.join(String(Z))},escape:(X,$)=>{if(X===void 0||X===null)return"";return r0(String(X))},translate:(X,$,Z={})=>{if(!$||!$.__translations)return X;let Y=$.__translations,J=$.__i18nConfig?.fallbackToKey??!0,G=String(X).split("."),Q=Y;for(let K of G){if(Q===void 0||Q===null)break;Q=Q[K]}if(Q===void 0||Q===null)return J?X:"";let q=String(Q);return Object.entries(Z).forEach(([K,U])=>{q=q.replace(TW(K),String(U))}),q},t:(X,$,Z={})=>{return N7.translate(X,$,Z)},truncate:(X,$,Z=50,Y="...")=>{if(X===void 0||X===null)return"";let J=String(X);if(J.length<=Z)return J;if(Z<=Y.length)return Y.substring(0,Z);return J.substring(0,Z-Y.length)+Y},date:(X,$,Z="short",Y="en-US")=>{if(X===void 0||X===null)return"";try{let J=X instanceof Date?X:new Date(X);if(Number.isNaN(J.getTime()))return String(X);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 J.toISOString();return new Intl.DateTimeFormat(Y,G[Z]||G.short).format(J)}catch{return String(X)}},currency:(X,$,Z="USD",Y="en-US")=>{if(X===void 0||X===null)return"";try{let J=Number(X);if(Number.isNaN(J))return String(X);return new Intl.NumberFormat(Y,{style:"currency",currency:Z}).format(J)}catch{return String(X)}},pluralize:(X,$,Z,Y)=>{let J=Number(X);if(Number.isNaN(J))return Z;let G=Y||`${Z}s`;return J===1?Z:G},first:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return X.length===0?"":X[0];return String(X).charAt(0)},last:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return X.length===0?"":X[X.length-1];let Z=String(X);return Z.charAt(Z.length-1)},length:(X,$)=>{if(X===void 0||X===null)return 0;if(Array.isArray(X)||typeof X==="string")return X.length;if(X instanceof Map||X instanceof Set)return X.size;if(typeof X==="object")return Object.keys(X).length;return 0},json:(X,$,Z=!1)=>{if(X===void 0)return"undefined";if(X===null)return"null";try{return Z?JSON.stringify(X,null,2):JSON.stringify(X)}catch{return String(X)}},default:(X,$,Z="")=>{return X===void 0||X===null||X===""?Z:X},reverse:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return[...X].reverse();return String(X).split("").reverse().join("")},slice:(X,$,Z=0,Y)=>{if(X===void 0||X===null)return"";if(Array.isArray(X)||typeof X==="string")return X.slice(Z,Y);return X},replace:(X,$,Z,Y="")=>{if(X===void 0||X===null)return"";let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String(X).replace(new RegExp(J,"g"),()=>Y)},stripTags:(X,$)=>{if(X===void 0||X===null)return"";return String(X).replace(/<[^>]*>/g,"")},urlencode:(X,$)=>{if(X===void 0||X===null)return"";return encodeURIComponent(String(X))},abs:(X,$)=>{let Z=Number(X);return Number.isNaN(Z)?0:Math.abs(Z)},round:(X,$,Z=0)=>{let Y=Number(X);if(Number.isNaN(Y))return 0;let J=10**Z;return Math.round(Y*J)/J}}});class c1{cache=new Map;maxSize;constructor(X=100){this.maxSize=X}get(X){if(!this.cache.has(X))return;let $=this.cache.get(X);return this.cache.delete(X),this.cache.set(X,$),$}set(X,$){if(this.cache.has(X))this.cache.delete(X);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(X){return this.cache.has(X)}delete(X){return this.cache.delete(X)}clear(){this.cache.clear()}get size(){return this.cache.size}keys(){return this.cache.keys()}values(){return this.cache.values()}}function T5(X,$){if($?.includes("g"))return new RegExp(X,$);let Z=`${X}:${$||""}`;if(!N5.has(Z)){if(N5.size>=CW){let Y=N5.keys().next().value;if(Y)N5.delete(Y)}N5.set(Z,new RegExp(X,$))}return N5.get(Z)}class r6{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator(X){let $=Array.from(new Set(X)),Z=$.sort().join(","),Y=this.pool.find((q)=>q.context.join(",")===Z);if(Y)return Y.func;let J=this.fnCache,G=this.fnCacheMaxSize,Q=(...q)=>{return(K)=>{try{let U=`${Z}:${K}`,W=J.get(U);if(!W){if(J.size>=G){let w=J.keys().next().value;if(w)J.delete(w)}W=Function(...$,`
|
|
3722
|
+
`),q=Q([]);if(G.length===$.length)return P2(q,G,Q);return P2((...U)=>{let W=Array(J.length);for(let w=0;w<J.length;w++)W[w]=U[J[w]];return q(...W)},G,Q,(U)=>{q=Q(U)})}function P2(X,$,Z,Y){let G=/^(\w+) is not defined$/,Q=X,q=[],K=new Set($);return(...U)=>{for(let W=0;W<=8;W++)try{return Q(...U)}catch(w){let z=w instanceof Error?w.message:"",B=G.exec(z);if(!(w instanceof ReferenceError)||!B)return;let j=B[1];if(K.has(j)||g2.has(j))return;K.add(j),q.push(j),Q=Z(q),Y?.(q)}return}}function AX(X){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 Y of Z)if(Y.test($))return!1;return!0}var VW,v2,x2,AW,f2,RW,g2;var L0=E(()=>{VW={maxSanitizeDepth:10,allowBracketNotation:!1},v2={...VW},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/],AW=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"]),RW=/[\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 RX(X,$){let Z=IW++,Y=`<!--__STX_${X.toUpperCase()}_${Z}__-->`;return EW.set(Y,{type:X,expression:$}),Y}var IW=0,EW;var h2=E(()=>{EW=new Map});function c2(X,$,Z,Y){Z.lastIndex=$;let J=Z.exec(X);if(!J||J.index!==$)return-1;Y.lastIndex=Z.lastIndex;let G=Y.exec(X);if(!G)return-1;return G.index+G[0].length}function A1(X,$){return c2(X,$,u2,d2)}function R5(X,$){return c2(X,$,m2,l2)}function A7(X,$){if(!X.startsWith("<!--",$))return-1;let Z=X.indexOf("-->",$+4);if(Z===-1)return-1;return Z+3}function DW(X,$){if(X.startsWith("<!--",$)){let Z=A7(X,$);return Z===-1?X.length:Z}for(let[Z,Y]of[[u2,d2],[m2,l2]]){Z.lastIndex=$;let J=Z.exec(X);if(!J||J.index!==$)continue;Y.lastIndex=Z.lastIndex;let G=Y.exec(X);return G?G.index+G[0].length:X.length}return-1}function o$(X,$){let Z=[],Y=0,J=X.length,G=!1,Q=null;while(Y<J){let q=X[Y];if(G){if(Q){if(q===Q)Q=null}else if(q==='"'||q==="'")Q=q;else if(q===">")G=!1;Y++;continue}if(q!=="<"){Y++;continue}let K=$(X,Y);if(K>Y){Z.push({start:Y,end:K,token:X.slice(Y,K)}),Y=K;continue}let U=DW(X,Y);if(U>Y){Y=U;continue}if(/^<\/?[a-zA-Z]/.test(X.slice(Y,Y+2)))G=!0;Y++}return Z}function $1(X,$,Z){let Y=o$(X,$);if(Y.length===0)return{output:X,tokens:[]};let J=Y.map((q)=>q.token),G="",Q=0;for(let q=0;q<Y.length;q++){let K=Y[q];G+=X.slice(Q,K.start),G+=Z(K.token,q),Q=K.end}return G+=X.slice(Q),{output:G,tokens:J}}function R1(X){let{output:$,tokens:Z}=$1(X,A1,(Y,J)=>`\x00STX_SCRIPT_${J}\x00`);return{output:$,scripts:Z}}function R7(X,$){if($.length===0)return X;return X.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,Y)=>$[+Y]??"")}var u2,d2,m2,l2;var l1=E(()=>{u2=/<script\b[^>]*>/iy,d2=/<\/script\s*>/ig,m2=/<style\b[^>]*>/iy,l2=/<\/style\s*>/ig});var a2={};o(a2,{usesSignalsInScript:()=>w1,unescapeHtml:()=>gW,registerFilters:()=>bW,registerFilter:()=>n2,processExpressions:()=>T1,interpolateScriptsInTemplate:()=>PW,interpolateScriptExpressions:()=>TX,interpolateScriptAttributes:()=>o2,getAllFilters:()=>r2,evaluateExpression:()=>f0,escapeHtml:()=>t0,defaultFilters:()=>N7,clearCustomFilters:()=>SW,applyFilters:()=>s2});function yW(X){let $=p2.get(X);if(!$){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");$=new RegExp(`:${Z}(?!\\w)`,"g"),p2.set(X,$)}return $.lastIndex=0,$}function n2(X,$){if(X in N7)console.warn(`Filter "${X}" already exists as a built-in filter. Custom filter will take precedence.`);T7[X]=$}function bW(X){for(let[$,Z]of Object.entries(X))n2($,Z)}function r2(){return{...N7,...T7}}function SW(){for(let X of Object.keys(T7))delete T7[X]}function t0(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function w1(X){let{scripts:$}=R1(X);for(let Z of $){let Y=Z.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!Y||/\bserver\b|\bsrc\s*=/.test(Y[1]))continue;let J=Y[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(J))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test(X))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test(X))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test(X))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"],Y=X.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),J="",G=!1,Q=0;for(let U=0;U<Y.length;U++){let W=Y[U];if(!G&&W==="`"){G=!0,Q=0;continue}if(G){if(W==="`"&&Q===0){G=!1;continue}if(W==="$"&&Y[U+1]==="{"){Q++,U++,J+=" ";continue}if(W==="}"&&Q>0){Q--;continue}if(Q>0){J+=W;continue}continue}J+=W}Y=J;let q=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,K;while((K=q.exec(Y))!==null){let U=K[1];if(!Y.substring(0,K.index).trimEnd().endsWith(".")){if(!Z.includes(U)&&!(U in $))return!1}}return!0}function CW(X,$){let Z=$.__stx_serverDeclared;if(!Z||Z.size===0)return!1;let Y=i0(X);for(let J of Z)if(new RegExp(`(?<![.#\\w$])${J}(?![\\w$])`).test(Y))return!0;return!1}function TX(X,$){let Z=X;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(Y,J)=>{try{let G=f0(J,$);if(G===void 0)return Y;return G===null?"":String(G)}catch{return Y}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(Y,J)=>{let G=J.trim();if(/^__[A-Z_]+__$/.test(G))return Y;try{let Q=f0(J,$);if(Q===void 0)return Y;return JSON.stringify(Q).replace(/</g,"\\u003c")}catch{return Y}}),Z}function o2(X,$){if(!X.includes("{"))return X;let Z=X;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(Y,J)=>{try{let G=f0(J,$);if(G===void 0)return Y;return G===null?"":String(G)}catch{return Y}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(Y,J)=>{let G=J.trim();if(/^__[A-Z_]+__$/.test(G))return Y;try{let Q=f0(J,$);if(Q===void 0)return Y;if(Q===null)return"";return String(Q).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}catch{return Y}}),Z}function PW(X,$,Z={}){let{output:Y,scripts:J}=R1(X),G=J.map((Q)=>{let q=Q.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),K=Q.match(/^<script\b[^>]*>/i),U=Q.search(/<\/script\s*>$/i);if(!q||!K||U===-1)return Q;let W=q[1],w=q[2];if(/\bdata-raw\b/.test(W))return Q;if(Z.skipServer&&/\bserver\b/.test(W))return Q;let B=`<script${o2(W,$)}>`;if(/\bsrc\s*=/.test(W)||/\btype\s*=\s*["']application\/json["']/.test(W))return B+w+Q.slice(U);return B+TX(w,$)+Q.slice(U)});return R7(Y,G)}function T1(X,$,Z){let Y=X,J=(w,z)=>{let B=R5(w,z);if(B===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(w.slice(z,B))?-1:B},G=(w,z,B,j)=>{let _=B.length,{output:H,tokens:O}=$1(w,z,(L,F)=>j(_+F));return B.push(...O),H},Q=[];Y=G(Y,J,Q,(w)=>`<!--__STX_STYLE_${w}__-->`);let q=[];Y=G(Y,A1,q,(w)=>`<!--__STX_SCRIPT_EXPR_${w}__-->`);let K=$?.__stx_signals_gate===!0||w1(X),U=new Set(Array.isArray($?.__stx_client_signal_names)?$.__stx_client_signal_names:[]),W=new Set(Array.isArray($?.__stx_preserved_client_expressions)?$.__stx_preserved_client_expressions:[]);Y=Y.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(w,z,B)=>{try{let j=f0(z,$);return j!==void 0&&j!==null?String(j):""}catch(j){let _=j instanceof Error?j.message:String(j);return w0("Expression",`Error evaluating: {{{ ${z.trim()}}}}: ${_}`,Z,X,B,w)}}),Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(w,z,B)=>{try{let j=f0(z,$);if(j===void 0&&$.__stx_buildMode==="compile")return RX("raw",z.trim());return j!==void 0&&j!==null?String(j):""}catch(j){if($.__stx_buildMode==="compile")return RX("raw",z.trim());let _=j instanceof Error?j.message:String(j);return w0("Expression",`Error evaluating: {!! ${z.trim()} !!}: ${_}`,Z,X,B,w)}}),Y=G(Y,A1,q,(w)=>`<!--__STX_SCRIPT_EXPR_${w}__-->`),Y=G(Y,J,Q,(w)=>`<!--__STX_STYLE_${w}__-->`),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(w,z,B)=>{let j=z.trim();if(W.has(j))return w;let _=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],H=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,L=j.match(H)?.[1],F=L&&((L in $)||_.includes(L)),V=Boolean(L&&U.has(L)),A=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,R=j.match(A),T=R&&!_.includes(R[1])&&!(R[1]in $);if(/^__[A-Z_]+__$/.test(j))return"";try{let k=f0(z,$);if(V)return w;if(K&&!i2(j,$))return w;if($.__stx_buildMode==="compile"&&!K&&(k===void 0||CW(j,$)))return RX("expr",j);return k!==void 0&&k!==null?t0(String(k)):""}catch(k){if(V)return w;if(K&&!i2(j,$))return w;if(T)return w;let M=k instanceof Error?k.message:String(k);return w0("Expression",`Error evaluating: {{ ${j} }}: ${M}`,Z,X,B,w)}});for(let w=0;w<q.length;w++)Y=Y.replace(`<!--__STX_SCRIPT_EXPR_${w}__-->`,()=>q[w]);for(let w=0;w<Q.length;w++)Y=Y.replace(`<!--__STX_STYLE_${w}__-->`,()=>Q[w]);return Y}function s2(X,$,Z){if(!$.trim())return X;let Y=X,J=$.trim();while(J.length>0){let G=J.match(/^(\w+)/);if(!G)break;let Q=G[1];J=J.substring(Q.length).trim();let q=T7[Q]||N7[Q];if(!q)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(r2()).join(", ")}`);let K=[];if(J.startsWith(":")){let U=J.match(/^:([^|\s]+)/);if(U){let W=U[1].trim();try{let w=Number(W);K=[Number.isNaN(w)?W:w]}catch{K=[W]}J=J.substring(U[0].length).trim()}}else if(J.startsWith("(")){let U=1,W=1;while(U>0&&W<J.length){if(J[W]==="(")U++;if(J[W]===")")U--;W++}if(U===0){let w=J.substring(1,W-1).trim();if(w)try{if(w.startsWith("{")&&w.endsWith("}"))K=[f0(`(${w})`,Z,!0)];else{let z=[],B="",j=null,_=0,H=0,O=0,L=!1;for(let F=0;F<w.length;F++){let V=w[F];if(L){B+=V,L=!1;continue}if(V==="\\"){B+=V,L=!0;continue}if(j){if(B+=V,V===j)j=null;continue}if(V==='"'||V==="'"||V==="`"){j=V,B+=V;continue}if(V==="(")_++;else if(V===")")_--;else if(V==="[")H++;else if(V==="]")H--;else if(V==="{")O++;else if(V==="}")O--;if(V===","&&_===0&&H===0&&O===0){z.push(B),B="";continue}B+=V}if(B)z.push(B);K=z.map((F)=>{let V=F.trim();return f0(V,Z,!0)})}}catch{K=[w]}J=J.substring(W).trim()}}try{Y=q(Y,Z,...K)}catch(U){let W=U instanceof Error?U.message:String(U);throw Error(`Error applying filter '${Q}': ${W}`)}if(J.startsWith("|"))J=J.substring(1).trim();else break}return Y}function vW(X){let $=!1,Z="",Y=0,J=0,G=0,Q=!1;for(let q=0;q<X.length;q++){let K=X[q],U=X[q+1];if($&&Q){Q=!1;continue}if($&&K==="\\"){Q=!0;continue}if(Q=!1,(K==='"'||K==="'"||K==="`")&&!Q){if(!$)$=!0,Z=K;else if(K===Z)$=!1,Z="";continue}if($&&Z==="`"&&K==="$"&&U==="{"){let W=1;q+=2;while(q<X.length&&W>0){if(X[q]==="{")W++;else if(X[q]==="}")W--;if(W>0)q++}continue}if($)continue;if(K==="(")Y++;else if(K===")")Y--;else if(K==="[")J++;else if(K==="]")J--;else if(K==="{")G++;else if(K==="}")G--;if(K==="|"&&Y===0&&J===0&&G===0){if(U==="|"){q++;continue}if(U==="="){q++;continue}return q}}return-1}function f0(X,$,Z=!1){try{let Y=X.trim(),J=vW(Y);if(J>0){let G=Y.substring(0,J).trim(),Q=Y.substring(J+1).trim(),q=f0(G,$,!0);return s2(q,Q,$)}if(!J0(Y)){if(!Z)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${Y}`);return Z0(Y,$)}try{let G=Object.keys($),Q=Object.values($);return G0(Y,G)(...Q)}catch{return Z0(Y,$)}}catch(Y){if(Y instanceof ReferenceError){let J=/(\b\w+)\s+is not defined/.exec(Y.message);if(J){let G=J[1],Q=xW(G,Object.keys($));if(Q&&Q!==G)Y.message=`${Y.message} \u2014 did you mean '${Q}'?`}}if(!Z)console.error(`Error evaluating expression: ${X}`,Y);throw Y}}function xW(X,$){let Z=null;for(let J of $){if(J===X)continue;let G=fW(X,J);if(Z===null||G<Z.dist)Z={key:J,dist:G}}if(!Z)return null;let Y=Math.max(X.length,Z.key.length);if(Z.dist<=2||Z.dist/Y<=0.35)return Z.key;return null}function fW(X,$){if(X===$)return 0;if(X.length===0)return $.length;if($.length===0)return X.length;let[Z,Y]=X.length<$.length?[X,$]:[$,X],J=Array(Z.length+1),G=Array(Z.length+1);for(let Q=0;Q<=Z.length;Q++)J[Q]=Q;for(let Q=1;Q<=Y.length;Q++){G[0]=Q;for(let q=1;q<=Z.length;q++){let K=Z[q-1]===Y[Q-1]?0:1;G[q]=Math.min(G[q-1]+1,J[q]+1,J[q-1]+K)}for(let q=0;q<=Z.length;q++)J[q]=G[q]}return J[Z.length]}function gW(X){if(!X)return"";return X.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var T7,p2,N7;var Z1=E(()=>{L0();A0();h2();l1();T7={},p2=new Map;N7={uppercase:(X,$)=>{return X!==void 0&&X!==null?String(X).toUpperCase():""},lowercase:(X,$)=>{return X!==void 0&&X!==null?String(X).toLowerCase():""},capitalize:(X,$)=>{if(X===void 0||X===null)return"";let Z=String(X);return Z.charAt(0).toUpperCase()+Z.slice(1)},number:(X,$,Z=0)=>{if(X===void 0||X===null)return"";try{let Y=Number(X);return Number.isNaN(Y)?"":Y.toFixed(Number.parseInt(String(Z),10))}catch{return""}},fmt:(X,$,Z="en-US")=>{if(X===void 0||X===null)return"";try{let Y=Number(X);if(Number.isNaN(Y))return String(X);return Y.toLocaleString(Z)}catch{return String(X)}},join:(X,$,Z=",")=>{if(!Array.isArray(X))return"";return X.join(String(Z))},escape:(X,$)=>{if(X===void 0||X===null)return"";return t0(String(X))},translate:(X,$,Z={})=>{if(!$||!$.__translations)return X;let Y=$.__translations,J=$.__i18nConfig?.fallbackToKey??!0,G=String(X).split("."),Q=Y;for(let K of G){if(Q===void 0||Q===null)break;Q=Q[K]}if(Q===void 0||Q===null)return J?X:"";let q=String(Q);return Object.entries(Z).forEach(([K,U])=>{q=q.replace(yW(K),String(U))}),q},t:(X,$,Z={})=>{return N7.translate(X,$,Z)},truncate:(X,$,Z=50,Y="...")=>{if(X===void 0||X===null)return"";let J=String(X);if(J.length<=Z)return J;if(Z<=Y.length)return Y.substring(0,Z);return J.substring(0,Z-Y.length)+Y},date:(X,$,Z="short",Y="en-US")=>{if(X===void 0||X===null)return"";try{let J=X instanceof Date?X:new Date(X);if(Number.isNaN(J.getTime()))return String(X);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 J.toISOString();return new Intl.DateTimeFormat(Y,G[Z]||G.short).format(J)}catch{return String(X)}},currency:(X,$,Z="USD",Y="en-US")=>{if(X===void 0||X===null)return"";try{let J=Number(X);if(Number.isNaN(J))return String(X);return new Intl.NumberFormat(Y,{style:"currency",currency:Z}).format(J)}catch{return String(X)}},pluralize:(X,$,Z,Y)=>{let J=Number(X);if(Number.isNaN(J))return Z;let G=Y||`${Z}s`;return J===1?Z:G},first:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return X.length===0?"":X[0];return String(X).charAt(0)},last:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return X.length===0?"":X[X.length-1];let Z=String(X);return Z.charAt(Z.length-1)},length:(X,$)=>{if(X===void 0||X===null)return 0;if(Array.isArray(X)||typeof X==="string")return X.length;if(X instanceof Map||X instanceof Set)return X.size;if(typeof X==="object")return Object.keys(X).length;return 0},json:(X,$,Z=!1)=>{if(X===void 0)return"undefined";if(X===null)return"null";try{return Z?JSON.stringify(X,null,2):JSON.stringify(X)}catch{return String(X)}},default:(X,$,Z="")=>{return X===void 0||X===null||X===""?Z:X},reverse:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return[...X].reverse();return String(X).split("").reverse().join("")},slice:(X,$,Z=0,Y)=>{if(X===void 0||X===null)return"";if(Array.isArray(X)||typeof X==="string")return X.slice(Z,Y);return X},replace:(X,$,Z,Y="")=>{if(X===void 0||X===null)return"";let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String(X).replace(new RegExp(J,"g"),()=>Y)},stripTags:(X,$)=>{if(X===void 0||X===null)return"";return String(X).replace(/<[^>]*>/g,"")},urlencode:(X,$)=>{if(X===void 0||X===null)return"";return encodeURIComponent(String(X))},abs:(X,$)=>{let Z=Number(X);return Number.isNaN(Z)?0:Math.abs(Z)},round:(X,$,Z=0)=>{let Y=Number(X);if(Number.isNaN(Y))return 0;let J=10**Z;return Math.round(Y*J)/J}}});class c1{cache=new Map;maxSize;constructor(X=100){this.maxSize=X}get(X){if(!this.cache.has(X))return;let $=this.cache.get(X);return this.cache.delete(X),this.cache.set(X,$),$}set(X,$){if(this.cache.has(X))this.cache.delete(X);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(X){return this.cache.has(X)}delete(X){return this.cache.delete(X)}clear(){this.cache.clear()}get size(){return this.cache.size}keys(){return this.cache.keys()}values(){return this.cache.values()}}function N5(X,$){if($?.includes("g"))return new RegExp(X,$);let Z=`${X}:${$||""}`;if(!T5.has(Z)){if(T5.size>=hW){let Y=T5.keys().next().value;if(Y)T5.delete(Y)}T5.set(Z,new RegExp(X,$))}return T5.get(Z)}class t2{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator(X){let $=Array.from(new Set(X)),Z=$.sort().join(","),Y=this.pool.find((q)=>q.context.join(",")===Z);if(Y)return Y.func;let J=this.fnCache,G=this.fnCacheMaxSize,Q=(...q)=>{return(K)=>{try{let U=`${Z}:${K}`,W=J.get(U);if(!W){if(J.size>=G){let w=J.keys().next().value;if(w)J.delete(w)}W=Function(...$,`
|
|
3723
3723
|
'use strict';
|
|
3724
3724
|
try {
|
|
3725
3725
|
return ${K};
|
|
@@ -3730,34 +3730,137 @@ catch (e) {
|
|
|
3730
3730
|
}
|
|
3731
3731
|
throw e;
|
|
3732
3732
|
}
|
|
3733
|
-
`),J.set(U,W)}return W(...q)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:Q,context:$.slice()});return Q}clear(){this.pool.length=0,this.fnCache.clear()}}class
|
|
3733
|
+
`),J.set(U,W)}return W(...q)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:Q,context:$.slice()});return Q}clear(){this.pool.length=0,this.fnCache.clear()}}class e2{metrics=new Map;budgets=new Map;violations=[];maxViolations=100;violationHandlers=[];enabled=!0;setEnabled(X){this.enabled=X}isEnabled(){return this.enabled}setBudget(X,$){this.budgets.set(X,{warnThreshold:0.8,action:"warn",...$})}setBudgets(X){for(let[$,Z]of Object.entries(X))this.setBudget($,Z)}removeBudget(X){this.budgets.delete(X)}getBudgets(){let X={};for(let[$,Z]of this.budgets.entries())X[$]=Z;return X}onViolation(X){this.violationHandlers.push(X)}offViolation(X){let $=this.violationHandlers.indexOf(X);if($!==-1)this.violationHandlers.splice($,1)}time(X,$){if(!this.enabled)return $();let Z=performance.now(),Y=$(),J=performance.now()-Z;return this.recordTime(X,J),this.checkBudget(X,J),Y}async timeAsync(X,$){if(!this.enabled)return $();let Z=performance.now(),Y=await $(),J=performance.now()-Z;return this.recordTime(X,J),this.checkBudget(X,J),Y}checkBudget(X,$){let Z=this.budgets.get(X);if(!Z)return;let Y=$/Z.maxTime*100,J=Z.warnThreshold!==void 0?$>=Z.maxTime*Z.warnThreshold&&$<Z.maxTime:!1,G=$>=Z.maxTime;if(!J&&!G)return;let Q={label:X,actualTime:$,budgetTime:Z.maxTime,exceedancePercent:Y,timestamp:new Date,isWarning:J};this.violations.push(Q);while(this.violations.length>this.maxViolations)this.violations.shift();for(let K of this.violationHandlers)try{K(Q)}catch{}let q=J?`[Performance Warning] "${X}" took ${$.toFixed(2)}ms (${Y.toFixed(1)}% of ${Z.maxTime}ms budget)`:`[Performance Budget Exceeded] "${X}" took ${$.toFixed(2)}ms (exceeded ${Z.maxTime}ms budget by ${(Y-100).toFixed(1)}%)`;switch(Z.action){case"log":console.log(q);break;case"warn":console.warn(q);break;case"error":console.error(q);break;case"throw":if(G)throw Error(q);else console.warn(q);break}}recordTime(X,$){let Z=this.metrics.get(X);if(Z)Z.count++,Z.totalTime+=$,Z.maxTime=Math.max(Z.maxTime,$),Z.minTime=Math.min(Z.minTime,$);else this.metrics.set(X,{count:1,totalTime:$,maxTime:$,minTime:$})}getStats(X){if(X){let Z=this.metrics.get(X);if(!Z)return{};let Y=this.budgets.get(X);return{count:Z.count,avgTime:Z.totalTime/Z.count,totalTime:Z.totalTime,maxTime:Z.maxTime,minTime:Z.minTime,budget:Y?.maxTime,budgetUtilization:Y?Z.totalTime/Z.count/Y.maxTime*100:void 0}}let $={};for(let[Z,Y]of this.metrics.entries()){let J=this.budgets.get(Z);$[Z]={count:Y.count,avgTime:Y.totalTime/Y.count,totalTime:Y.totalTime,maxTime:Y.maxTime,minTime:Y.minTime,budget:J?.maxTime,budgetUtilization:J?Y.totalTime/Y.count/J.maxTime*100:void 0}}return $}getViolations(X){if(X)return this.violations.filter(($)=>$.label===X);return[...this.violations]}getViolationStats(){let X={},$=0,Z=0;for(let Y of this.violations)if(X[Y.label]=(X[Y.label]||0)+1,Y.isWarning)$++;else Z++;return{total:this.violations.length,byLabel:X,warnings:$,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 uW(){if(!s$)s$=new e2;return s$}var T5,hW=500,iV,s$=null,XZ;var M5=E(()=>{T5=new Map;iV=new t2;XZ=new Proxy({},{get(X,$){return uW()[$]}})});function $Z(X,$=""){let Z=`${X}${$}`,Y=0;for(let J=0;J<Z.length;J++){let G=Z.charCodeAt(J);Y=(Y<<5)-Y+G,Y=Y&Y}return`stx-${Math.abs(Y).toString(36)}`}function ZZ(X,$,Z={}){let{prefix:Y="",preserveHost:J=!0,scopeKeyframes:G=!0,scopeCustomProperties:Q=!1}=Z;if(!X.trim())return"";let q=a$(X),K=[],U=new Map;if(G)for(let W of q){let w=W.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(w){let z=w[1],B=`${$}_${z}`;U.set(z,B)}}for(let W of q){let w=YZ(W,$,Y,J,U,Q);K.push(w)}return K.join(`
|
|
3734
3734
|
|
|
3735
|
-
`)}function
|
|
3736
|
-
`)})}else $.push({selector:`@${W} ${w.trim()}`,declarations:z.trim()})}Q="",G=!1}else if(J.trim()){J+=K;let U=J.match(/([^{]+)\{([^}]*)\}/);if(U)$.push({selector:U[1].trim(),declarations:U[2].trim()});J=""}continue}}if(G)Q+=K;else J+=K}return $}function
|
|
3735
|
+
`)}function a$(X){let $=[],Z=X.replace(/\/\*[\s\S]*?\*\//g,""),Y=0,J="",G=!1,Q="";for(let q=0;q<Z.length;q++){let K=Z[q];if(K==="@"&&Y===0)G=!0;if(K==="{")Y++;else if(K==="}"){if(Y--,Y===0){if(G){Q+=K;let U=Q.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(U){let[,W,w,z]=U;if(W==="keyframes")$.push({selector:`@keyframes ${w.trim()}`,declarations:z.trim()});else if(W==="media"||W==="supports"||W==="container"){let B=a$(z);$.push({selector:`@${W} ${w.trim()}`,declarations:B.map((j)=>`${j.selector} { ${j.declarations} }`).join(`
|
|
3736
|
+
`)})}else $.push({selector:`@${W} ${w.trim()}`,declarations:z.trim()})}Q="",G=!1}else if(J.trim()){J+=K;let U=J.match(/([^{]+)\{([^}]*)\}/);if(U)$.push({selector:U[1].trim(),declarations:U[2].trim()});J=""}continue}}if(G)Q+=K;else J+=K}return $}function YZ(X,$,Z,Y,J,G){let{selector:Q,declarations:q}=X;if(Q.startsWith("@")){if(Q.startsWith("@keyframes")){let W=Q.replace("@keyframes ","").trim();return`@keyframes ${J.get(W)||W} { ${q} }`}if(Q.startsWith("@media")||Q.startsWith("@supports")||Q.startsWith("@container")){let w=a$(`x { ${q} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((z)=>YZ(z,$,Z,Y,J,G)).join(`
|
|
3737
3737
|
`);return`${Q} {
|
|
3738
3738
|
${w}
|
|
3739
|
-
}`}return`${Q} { ${q} }`}let K=
|
|
3740
|
-
`)}function
|
|
3741
|
-
`,""}),headContent:$.trim()}}function
|
|
3742
|
-
`);for(let J of Y){let G=Z,Q=null,q=!1;for(let K=0;K<J.length;K++){let U=J[K];if(q){q=!1;continue}if(U==="\\"){q=!0;continue}if(Q){if(U===Q)Q=null;continue}if(U==="'"||U==='"'||U==="`"){Q=U;continue}if(U==="/"&&K+1<J.length&&J[K+1]==="/")break;if(U==="{")Z++;else if(U==="}")Z--}if(G===0){let K=J.match(/(?:const|let|var)\s+(\w+)\s*=/);if(K)$.push(K[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(J)){let U=J.match(/(?:const|let|var)\s+(\w+)/);if(U)$.push(U[1])}else{let U=J.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(U){let w=U[1].slice(1,-1).split(",").map((z)=>{let B=z.split(":");return(B.length>1?B[1]:B[0]).trim()}).filter((z)=>/^\w+$/.test(z));$.push(...w)}}}}return[...new Set($)]}function
|
|
3743
|
-
|
|
3744
|
-
`),$}function
|
|
3745
|
-
`),
|
|
3746
|
-
${
|
|
3747
|
-
${
|
|
3739
|
+
}`}return`${Q} { ${q} }`}let K=dW(Q,$,Z,Y),U=q;for(let[W,w]of J)U=U.replace(new RegExp(`\\b${W}\\b`,"g"),w);if(G)U=U.replace(/--([a-z-]+)/gi,`--${$}-$1`);return`${K} { ${U} }`}function dW(X,$,Z,Y){let J=X.split(",").map((Q)=>Q.trim()),G=[];for(let Q of J){if(Q.startsWith(":host")){if(Y)G.push(Q);else{let U=Q.replace(/:host(\([^)]*\))?/,`.${$}$1`);G.push(U)}continue}if(Q.includes("::slotted")){G.push(Q);continue}if(Q===":root"){G.push(`:root .${$}`);continue}let q=Z?`${Z} .${$}`:`.${$}`;G.push(`${q} ${Q}`);let K=mW(Q,$);if(K)G.push(Z?`${Z} ${K}`:K)}return G.join(", ")}function mW(X,$){let Z=0,Y=X.length;for(let K=0;K<X.length;K++){let U=X[K];if(U==="["||U==="(")Z++;else if(U==="]"||U===")")Z--;else if(Z===0&&(U===" "||U===">"||U==="+"||U==="~")){Y=K;break}}let J=X.slice(0,Y),G=X.slice(Y);if(!J)return"";let Q=J.length,q=0;for(let K=0;K<J.length;K++){let U=J[K];if(U==="["||U==="(")q++;else if(U==="]"||U===")")q--;else if(Z===0&&q===0&&U===":"){Q=K;break}}return`${J.slice(0,Q)}.${$}${J.slice(Q)}${G}`}function GZ(X){let $=new Set;return X.replace(/<style\b[^>]*\bdata-stx-scoped(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?[^>]*>[\s\S]*?<\/style>\s*/gi,(Z)=>{let Y=Z.trim();if($.has(Y))return"";return $.add(Y),Z})}function NX(X,$){if(!lW.test(X))return{html:X,hasScoped:!1};let Z=$Z($),Y=`data-v-${Z}`,J=X,G=new RegExp(`<style\\s+([^>]*${t$}[^>]*)>([\\s\\S]*?)</style>`,"gi"),Q=!1;if(J=J.replace(G,(q,K,U)=>{Q=!0;let W=cW(U,Y),w=K.replace(new RegExp(t$,"gi"),"").trim(),z=w?` ${w}`:"";return`<style data-stx-scoped="${Z}"${z}>${W}</style>`}),!Q)return{html:X,hasScoped:!1};return J=iW(J,Y),{html:J,hasScoped:!0}}function cW(X,$){return ZZ(X,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${$}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${$}]`)}function iW(X,$){let Z=$1(X,(J,G)=>{let Q=A1(J,G);return Q>G?Q:R5(J,G)},(J,G)=>pW(G)),Y=nW(Z.output,$);return JZ.lastIndex=0,Y.replace(JZ,(J,G)=>Z.tokens[Number(G)])}function nW(X,$){let Z=new Set(["script","style","template","html","head","body","meta","link","title","base","!doctype","!DOCTYPE"]);return X.replace(/<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*)?\/?>/g,(Y,J,G)=>{if(Z.has(J.toLowerCase()))return Y;if(Y.includes($))return Y;if(J.toLowerCase()==="style"||J.toLowerCase()==="script")return Y;if(G)return Y.replace(`<${J}${G}`,`<${J} ${$}${G}`);if(Y.endsWith("/>"))return`<${J} ${$} />`;return`<${J} ${$}>`})}var t$,lW,pW=(X)=>`\x00stx-scope-mask-${X}\x00`,JZ;var e$=E(()=>{l1();t$=String.raw`(?<![\w-])scoped(?![\w-])`,lW=new RegExp(`<style\\s+[^>]*${t$}`,"i");JZ=/\u0000stx-scope-mask-(\d+)\u0000/g});function oW(X){let $=X.replace(/^<template\b/i,"").replace(/>$/,"");return rW.test($)}function MX(X){M7.lastIndex=0;let $;while(($=M7.exec(X))!==null){if($[0].startsWith("</")||oW($[0]))continue;let Z=$.index,Y=M7.lastIndex,J=1,G;while((G=M7.exec(X))!==null)if(G[0].startsWith("</")){if(J--,J===0){let Q=G.index;return{start:Z,openEnd:Y,closeStart:Q,end:M7.lastIndex,content:X.slice(Y,Q)}}}else J++;return null}return null}var M7,rW;var X9=E(()=>{M7=/<\/?template\b[^>]*>/gi,rW=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var QZ=()=>{};function N0(X,$,Z,Y=0){let J=0,G=Y,Q=null,q=0,K=!1;while(G<X.length){let U=X[G];if(Q&&K){K=!1,G++;continue}if(Q&&U==="\\"){K=!0,G++;continue}if(K=!1,(U==='"'||U==="'"||U==="`")&&!Q){Q=U,G++;continue}if(U===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"&&U==="$"&&X[G+1]==="{"){q++,G+=2;continue}if(q>0&&U==="}"){q--,G++;continue}if(U==="`"&&Q==="`"&&q===0){Q=null,G++;continue}if(Q){G++;continue}if(U===$)J++;else if(U===Z){if(J--,J===0)return G}G++}return-1}var Y9={};o(Y9,{useTitle:()=>Xw,useSeoMeta:()=>qZ,usePageTitle:()=>Xw,useHead:()=>Z9,seoMetaToHeadConfig:()=>IX,resetHead:()=>tW,renderHtmlAttrs:()=>Zw,renderHead:()=>$w,renderBodyAttrs:()=>Yw,processTitleDirective:()=>Qw,processMetaDirective:()=>qw,processHeadDirective:()=>Gw,mergeHeadConfigs:()=>k5,getPageMeta:()=>aW,getHead:()=>$9,definePageMeta:()=>eW,applyHead:()=>Jw});function $9(){return N1}function aW(){return kX}function tW(){N1={},sW.length=0,kX={}}function Z9(X){N1=k5(N1,X)}function k5(X,$){return{title:$.title??X.title,titleTemplate:$.titleTemplate??X.titleTemplate,base:$.base??X.base,meta:[...X.meta||[],...$.meta||[]],link:[...X.link||[],...$.link||[]],script:[...X.script||[],...$.script||[]],style:[...X.style||[],...$.style||[]],htmlAttrs:{...X.htmlAttrs,...$.htmlAttrs},bodyAttrs:{...X.bodyAttrs,...$.bodyAttrs}}}function qZ(X){Z9(IX(X))}function IX(X){let $=[];if(X.description)$.push({name:"description",content:X.description});if(X.keywords){let K=Array.isArray(X.keywords)?X.keywords.join(", "):X.keywords;$.push({name:"keywords",content:K})}if(X.author)$.push({name:"author",content:X.author});if(X.robots)$.push({name:"robots",content:X.robots});let Z=X.ogTitle??X.title,Y=X.ogDescription??X.description;if(Z)$.push({property:"og:title",content:Z});if(Y)$.push({property:"og:description",content:Y});if(X.ogImage)$.push({property:"og:image",content:X.ogImage});if(X.ogUrl)$.push({property:"og:url",content:X.ogUrl});if(X.ogType)$.push({property:"og:type",content:X.ogType});if(X.ogSiteName)$.push({property:"og:site_name",content:X.ogSiteName});if(X.ogLocale)$.push({property:"og:locale",content:X.ogLocale});let J=X.twitterTitle??X.title,G=X.twitterDescription??X.description,Q=X.twitterImage??X.ogImage;if(X.twitterCard)$.push({name:"twitter:card",content:X.twitterCard});if(J)$.push({name:"twitter:title",content:J});if(G)$.push({name:"twitter:description",content:G});if(Q)$.push({name:"twitter:image",content:Q});if(X.twitterSite)$.push({name:"twitter:site",content:X.twitterSite});if(X.twitterCreator)$.push({name:"twitter:creator",content:X.twitterCreator});if(X.articleAuthor)$.push({property:"article:author",content:X.articleAuthor});if(X.articlePublishedTime)$.push({property:"article:published_time",content:X.articlePublishedTime});if(X.articleModifiedTime)$.push({property:"article:modified_time",content:X.articleModifiedTime});if(X.articleSection)$.push({property:"article:section",content:X.articleSection});if(X.articleTags)for(let K of X.articleTags)$.push({property:"article:tag",content:K});let q=[];if(X.canonical)q.push({rel:"canonical",href:X.canonical});return{title:X.title,titleTemplate:X.titleTemplate,meta:$,link:q}}function eW(X){if(kX={...kX,...X},X.title||X.description)qZ({title:X.title,description:X.description})}function Xw(X){let $=typeof X==="function"?X():X;Z9({title:$})}function $w(X=N1){let $=[];if(X.title){let Z=X.title;if(X.titleTemplate)Z=typeof X.titleTemplate==="function"?X.titleTemplate(Z):X.titleTemplate.replace("%s",Z);$.push(`<title>${p1(Z)}</title>`)}if(X.base){let Z=Object.entries(X.base).map(([Y,J])=>`${Y}="${p1(J)}"`).join(" ");$.push(`<base ${Z}>`)}for(let Z of X.meta||[]){let Y=Object.entries(Z).filter(([J,G])=>G!==void 0).map(([J,G])=>{return`${J==="httpEquiv"?"http-equiv":J}="${p1(String(G))}"`}).join(" ");$.push(`<meta ${Y}>`)}for(let Z of X.link||[]){let Y=Object.entries(Z).filter(([J,G])=>G!==void 0).map(([J,G])=>`${J}="${p1(String(G))}"`).join(" ");$.push(`<link ${Y}>`)}for(let Z of X.script||[]){let{content:Y,...J}=Z,G=Object.entries(J).filter(([Q,q])=>q!==void 0).map(([Q,q])=>{if(typeof q==="boolean")return q?Q:"";return`${Q}="${p1(String(q))}"`}).filter(Boolean).join(" ");if(Y)$.push(`<script ${G}>${Y}</script>`);else $.push(`<script ${G}></script>`)}for(let Z of X.style||[]){let Y=Z.type?` type="${Z.type}"`:"";$.push(`<style${Y}>${Z.content}</style>`)}return $.join(`
|
|
3740
|
+
`)}function Zw(X=N1){if(!X.htmlAttrs)return"";return Object.entries(X.htmlAttrs).map(([$,Z])=>`${$}="${p1(Z)}"`).join(" ")}function Yw(X=N1){if(!X.bodyAttrs)return"";return Object.entries(X.bodyAttrs).map(([$,Z])=>`${$}="${p1(Z)}"`).join(" ")}function p1(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Jw(X=N1){if(typeof document>"u")return;if(X.title){let $=X.title;if(X.titleTemplate)$=typeof X.titleTemplate==="function"?X.titleTemplate($):X.titleTemplate.replace("%s",$);document.title=$}for(let $ of X.meta||[]){let Z=$.name?`meta[name="${$.name}"]`:$.property?`meta[property="${$.property}"]`:null;if(Z){let Y=document.querySelector(Z);if(!Y){if(Y=document.createElement("meta"),$.name)Y.setAttribute("name",$.name);if($.property)Y.setAttribute("property",$.property);document.head.appendChild(Y)}Y.setAttribute("content",$.content)}}for(let $ of X.link||[]){let Z=`link[rel="${$.rel}"]${$.href?`[href="${$.href}"]`:""}`,Y=document.querySelector(Z);if(!Y)Y=document.createElement("link"),document.head.appendChild(Y);for(let[J,G]of Object.entries($))if(G!==void 0)Y.setAttribute(J,String(G))}if(X.htmlAttrs)for(let[$,Z]of Object.entries(X.htmlAttrs))if($==="class")for(let Y of String(Z).split(/\s+/).filter(Boolean))document.documentElement.classList.add(Y);else document.documentElement.setAttribute($,Z);if(X.bodyAttrs)for(let[$,Z]of Object.entries(X.bodyAttrs))document.body.setAttribute($,Z)}function Gw(X){let $="";return{content:X.replace(/@head\s*([\s\S]*?)@endhead/g,(Y,J)=>{return $+=J.trim()+`
|
|
3741
|
+
`,""}),headContent:$.trim()}}function Qw(X,$){return X.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(Z,Y,J,G)=>{let Q=Y?J:$[(G||"").trim()]??G,q=$.__stx_runtime_head??{};return $.__stx_runtime_head=k5(q,{title:Q}),""})}function qw(X,$){return X.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(Z,Y,J,G,Q,q)=>{let K=G?Q:q,U=G?K:$[(K||"").trim()]??K,w=J.includes(":")?{property:J,content:U}:{name:J,content:U},z=$.__stx_runtime_head??{};return $.__stx_runtime_head=k5(z,{meta:[w]}),""})}var N1,sW,kX;var k7=E(()=>{N1={},sW=[],kX={}});var EX={};o(EX,{stripTypeScript:()=>BZ,splitDeclaration:()=>VZ,isModuleResolutionFailure:()=>_Z,isMissingBindingFailure:()=>HZ,isCompleteImport:()=>OZ,hasVariables:()=>NZ,extractVariables:()=>i1,extractScriptFromTemplate:()=>TZ,convertToCommonJS:()=>Q9,STX_ENGINE_BINDING_NAMES:()=>G9});import M1 from"path";import I5 from"process";function Uw(X){let $=[],Z=0,Y=X.split(`
|
|
3742
|
+
`);for(let J of Y){let G=Z,Q=null,q=!1;for(let K=0;K<J.length;K++){let U=J[K];if(q){q=!1;continue}if(U==="\\"){q=!0;continue}if(Q){if(U===Q)Q=null;continue}if(U==="'"||U==='"'||U==="`"){Q=U;continue}if(U==="/"&&K+1<J.length&&J[K+1]==="/")break;if(U==="{")Z++;else if(U==="}")Z--}if(G===0){let K=J.match(/(?:const|let|var)\s+(\w+)\s*=/);if(K)$.push(K[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(J)){let U=J.match(/(?:const|let|var)\s+(\w+)/);if(U)$.push(U[1])}else{let U=J.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(U){let w=U[1].slice(1,-1).split(",").map((z)=>{let B=z.split(":");return(B.length>1?B[1]:B[0]).trim()}).filter((z)=>/^\w+$/.test(z));$.push(...w)}}}}return[...new Set($)]}function BZ(X){let $=X;$=$.replace(/^\s*import\s+.*?from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),$=$.replace(/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/gm,""),$=$.replace(/^\s*interface\s+\w+\s*\{[\s\S]*?\n\}\s*$/gm,""),$=$.replace(/^\s*type\s+\w+\s*=[\s\S]*?(?=\n(?:const|let|var|function|export|interface|type|$))/gm,""),$=$.replace(/^(\s*(?:export\s+)?(?:const|let|var)\s+)(\w+|\{[^}]+\}|\[[^\]]+\])\s*:\s*[^=]+(\s*=)/gm,"$1$2$3");function Z(Y){if(!Y.includes(":"))return Y;let J=[],G="",Q=0,q=0,K=null;for(let U=0;U<Y.length;U++){let W=Y[U];if(K){if(G+=W,W===K)K=null;continue}if(W==='"'||W==="'"||W==="`"){K=W,G+=W;continue}if(W==="<")Q++;else if(W===">"&&Q>0)Q--;else if(W==="(")q++;else if(W===")")q--;if(W===","&&Q===0&&q===0){J.push(G),G="";continue}G+=W}if(G)J.push(G);return J.map((U)=>{let W=U.trim(),w=W.startsWith("..."),z=w?W.slice(3):W,B=-1,j=0;for(let A=0;A<z.length;A++)if(z[A]==="<")j++;else if(z[A]===">")j--;else if(z[A]===":"&&j===0){B=A;break}if(B===-1)return U;let H=z.substring(0,B).trim().replace(/\?$/,""),O=z.substring(B+1),L=-1,F=0;for(let A=0;A<O.length;A++)if(O[A]==="<")F++;else if(O[A]===">")F--;else if(O[A]==="="&&F===0){L=A;break}let V=w?"...":"";if(L!==-1)return`${V}${H} = ${O.substring(L+1).trim()}`;return`${V}${H}`}).join(", ")}$=$.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(Y,J,G)=>{if(!G.includes(":"))return Y;return`${J}(${Z(G)})`});{let Y=/\b(function\s+\w*\s*)\(/g,J,G=[];while((J=Y.exec($))!==null){let Q=J.index+J[0].length-1,q=1,K=Q+1,U=0,W=null;while(K<$.length&&q>0){let B=$[K];if(W){if(B===W)W=null;K++;continue}if(B==='"'||B==="'"||B==="`"){W=B,K++;continue}if(B==="<")U++;else if(B===">"&&U>0)U--;else if(U===0){if(B==="(")q++;else if(B===")")q--}if(q>0)K++}if(q!==0)continue;let w=$.substring(Q+1,K);if(!w.includes(":"))continue;let z=Z(w);G.push({start:Q+1,end:K,replacement:z})}for(let Q=G.length-1;Q>=0;Q--){let{start:q,end:K,replacement:U}=G[Q];$=$.substring(0,q)+U+$.substring(K)}}return $=$.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(Y,J)=>{if(!J.includes(":"))return Y;if(J.includes("{")||J.includes("}"))return Y;return`(${J.split(",").map((Q)=>{let[q,...K]=Q.split("="),U=q.split(":")[0].trim();if(K.length>0)return`${U} = ${K.join("=").trim()}`;return U}).join(", ")}) =>`}),$=$.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"),$=$.replace(/(\b(?:function|class|interface|type|extends|implements)\s+\w+)\s*<[^<>()]*>/g,"$1"),$=$.replace(/(\b(?:defineProps|withDefaults|defineEmits|defineSlots|Array|Promise|Map|Set|Record|Partial|Required|Readonly|Pick|Omit|Exclude|Extract))\s*<[^<>()]*>/g,"$1"),$=$.replace(/(\w+)\s*<[A-Z][^<>()]*>\s*(?=\()/g,"$1"),$=$.replace(/\s+as\s+(?:const|[A-Za-z]\w*(?:\[\])?(?:\s*\|\s*\w+(?:\[\])?)*)/g,""),$=$.replace(/\s+satisfies\s+\w+(?:<[^>]*>)?/g,""),$=$.replace(/(\w|\)|\])\s*!(?!=)/g,"$1"),$=$.replace(/^\s*(?:export\s+)?(?:const\s+)?enum\s+\w+\s*\{[^}]*\}\s*$/gm,""),$=$.replace(/(?<=[\s=,(])<[A-Z]\w*(?:\[\])?>/g,""),$=$.replace(/\n\s*\n\s*\n/g,`
|
|
3743
|
+
|
|
3744
|
+
`),$}function _Z(X){return/cannot find module|could not resolve|module not found|failed to resolve/i.test(X)}function HZ(X){if(!/is not defined|can't find variable/i.test(X))return!1;return!/\b(document|window|navigator|localStorage|sessionStorage|self)\b/.test(X)}async function i1(X,$,Z,Y={}){if(!X.trim())return;let J;try{let P=new Bun.Transpiler({loader:"ts",target:"browser",define:v0()}),S=X.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");S=S.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),J=P.transformSync(S)}catch{J=BZ(X)}let G={exports:{}},Q=G.exports,q=I5.cwd(),K={},U=[...J.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 U)try{let S=M1.resolve(q,"node_modules",P),g=M1.join(S,"package.json"),m=JSON.parse(U0("fs").readFileSync(g,"utf8")),d=m.main||"index.js";if(m.exports){let Y0=typeof m.exports==="string"?m.exports:m.exports["."];if(typeof Y0==="string")d=Y0;else if(Y0?.bun)d=Y0.bun;else if(Y0?.import)d=Y0.import;else if(Y0?.default)d=Y0.default}K[P]=await import(M1.resolve(S,d))}catch{}let W=(P)=>{if(K[P])return K[P];return U0(P)},w=$.props||{},z=(P)=>{if(!P)return w;let S={};for(let[g,m]of Object.entries(P)){let d=w[g];if(d!==void 0)S[g]=d;else if(typeof m==="function")S[g]=m();else S[g]=m}return S};for(let[P,S]of Object.entries(w))Object.defineProperty(z,P,{value:S,enumerable:!0,configurable:!0,writable:!0});for(let P of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(w,P))continue;try{Object.defineProperty(z,P,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let B=(P)=>{if(!P)return w;let S={...w};for(let[g,m]of Object.entries(P)){let d=m&&typeof m==="object"&&!Array.isArray(m)?m:{type:m};if(S[g]===void 0&&d.default!==void 0)S[g]=typeof d.default==="function"?d.default():d.default}return S},j=()=>$.slots||{},_=(P,S)=>{let g={...P};for(let[m,d]of Object.entries(S))if(g[m]===void 0)if(typeof d==="function")g[m]=d();else g[m]=d;return g},H=(P)=>{let S=()=>P;return S.set=(g)=>{},S.update=(g)=>{},S},O=(P)=>{let S,g=!1;return()=>{if(!g)try{S=P(),g=!0}catch{S=void 0}return S}},L=(P)=>{},F=(P)=>P(),V=(P)=>{},A=(P)=>{};function R(P){let S=P||{};if(S.title!==void 0||S.description!==void 0)D({title:S.title,description:S.description})}function T(P){if(!P||typeof P!=="object")return;let S=$.__stxClientPayload??{};Object.assign(S,P),$.__stxClientPayload=S}let k=()=>{let P=$.__stxServeContext,S=$.__stxServeSearch??P?.search??"",g=P?.path??"",m=Object.fromEntries(new URLSearchParams(S)),d=$.query,Y0=Object.keys(m).length>0?m:d??{},_0=S||(Object.keys(Y0).length>0?`?${new URLSearchParams(Y0).toString()}`:"");return{params:$.params??{},query:Y0,path:g,name:"",fullPath:g+_0,hash:"",matched:[]}},M=()=>({push:(P)=>{},replace:(P)=>{},back:()=>{},forward:()=>{},go:(P)=>{}}),N=(P)=>{let S=$.__stx_runtime_head||{};$.__stx_runtime_head=k5(S,P||{})},D=(P)=>{N(IX(P||{}))},I=(P)=>({value:P}),C=(P)=>P,b=(P)=>({value:typeof P==="function"?P():P}),y=(P,S)=>{},v=(P)=>{},x=(P)=>{},f=(P)=>P?P():Promise.resolve(),c=(P)=>(S,...g)=>{},l=(P)=>{},D0=(P,S)=>{},y0=(P,S)=>S,c0=()=>({value:"light"}),W0=()=>H(!1),e=(P)=>H(!1),T0=()=>H(!1),o0=()=>e("(prefers-color-scheme: dark)"),H1=()=>e("(prefers-color-scheme: light)"),W5=()=>e("(prefers-reduced-motion: reduce)"),n=()=>e("(prefers-contrast: more)"),t={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:{}},q0=new Proxy(t,{get(P,S){if(S in P)return P[S];return},set(P,S,g){return P[S]=g,!0}}),b0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},j0=console;try{let P=Q9(J,Z),S=new Set(Object.keys(w)),g=(r)=>/^[a-z_$][\w$]*$/i.test(r),m=Object.keys($).filter((r)=>!S.has(r)&&r!=="props"&&g(r)),d=m.map((r)=>$[r]);if(!m.includes("__stxServeContext"))m.push("__stxServeContext"),d.push(void 0);let Y0=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"]),_0=[],Q1=[];for(let[r,h0]of Object.entries(w)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(r))continue;if(Y0.has(r))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${r}\\b`).test(P))continue;_0.push(r),Q1.push(h0)}let P0=Uw(P).map((r)=>`module.exports.${r} = typeof ${r} !== 'undefined' ? ${r} : module.exports.${r};`).join(`
|
|
3745
|
+
`),s0=$.params??{},x1=[],O1=[];for(let r=0;r<m.length;r++){if(m[r]==="params")continue;x1.push(m[r]),O1.push(d[r])}let K0=await Function(...G9,..._0,...x1,`return (async () => {
|
|
3746
|
+
${P}
|
|
3747
|
+
${P0}
|
|
3748
3748
|
return module.exports
|
|
3749
|
-
})()`)(G,Q,W,w,z,B,_,
|
|
3750
|
-
`),G=[],Q=0;while(Q<J.length){let q=J[Q].trim();if(q.startsWith("interface ")||q.startsWith("export interface ")||q.startsWith("type ")||q.startsWith("export type ")){if(q.includes("{")&&!q.includes("}")){let K=0;for(;Q<J.length;Q++){for(let U of J[Q])if(U==="{")K++;else if(U==="}")K--;if(K<=0)break}}Q++;continue}if(q.startsWith("definePageMeta(")){let K=0,U=!1,W=Q;for(let B=Q;B<J.length&&!U;B++){let j=null,_=!1,H=J[B];for(let
|
|
3751
|
-
`),z=[];for(let B of["title","description"]){let j=new RegExp(`\\b${B}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(w);if(j)z.push(`${B}: ${JSON.stringify(j[2])}`)}if(z.length>0)G.push(`useSeoMeta({ ${z.join(", ")} });`);continue}if(q.startsWith("import ")||q==="import"||q.startsWith("import{")){let K=q,U=0;while(!
|
|
3752
|
-
`+B;if(w<=0&&z>=Q)break}G.push(W),G.push(`module.exports.${U} = ${U};`),Q=z+1}else G.push(q),Q++}else if(q.includes("module.exports"))G.push(q),Q++;else if(q.trim()&&!q.startsWith("//"))G.push(q),Q++;else Q++}return
|
|
3753
|
-
`),Z,Y)}function
|
|
3754
|
-
`)q=!1;G++;continue}if(K){if(J+=W,W==="*"&&w==="/"){J+=w,G+=2,K=!1;continue}G++;continue}if(!Q&&W==="/"&&w==="/"){q=!0,J+=W,G++;continue}if(!Q&&W==="/"&&w==="*"){K=!0,J+=W,G++;continue}if(Q){if(J+=W,W==="\\"){J+=w,G+=2;continue}if(W===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"){if(W==="$"&&w==="{"){U++,J+=w,G+=2;continue}if(W==="`"){Q=null,G++;continue}}G++;continue}if(U>0){if(W==="{")U++;else if(W==="}")U--}if(W==='"'||W==="'"||W==="`"){Q=W,J+=W,G++;continue}if(W==="a"&&X.startsWith("await",G)){let z=
|
|
3755
|
-
`);return{type:j,name:A,value:`${
|
|
3756
|
-
${R}`,nextIndex:F}}}}throw Error(`Failed to parse variable declaration: ${Z}`)}let[,G,Q,q]=J,K=q,U=$;if(
|
|
3757
|
-
${X[U]}`,U++;else break}return K=K.trim().replace(/;$/,""),{type:G,name:Q,value:K,nextIndex:U}}function
|
|
3749
|
+
})()`)(G,Q,W,w,z,B,_,T,H,O,L,F,V,A,R,k,M,N,D,I,C,b,y,v,x,f,c,l,j,D0,y0,c0,W0,e,T0,o0,H1,W5,n,q0,b0,j0,t.confirm,t.alert,t.fetch,s0,...Q1,...O1);if(Y.preserveExisting){for(let[r,h0]of Object.entries(K0))if(!(r in $)||$[r]===void 0)$[r]=h0}else Object.assign($,K0);for(let[r,h0]of Object.entries(w))if(!(r in $))$[r]=h0}catch(P){let S=P instanceof Error?P.message:String(P);if(_Z(S))console.warn(`[stx] server <script> in ${Z??"<unknown>"} imports a module that does not resolve, so every variable in that script is undefined. Cause: ${S}`);else if(HZ(S))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: ${S}`);else if(I5.env.STX_DEBUG)console.warn(`[stx] server <script> did not execute in ${Z??"<unknown>"} \u2014 falling back to static extraction. Cause: ${S}`);try{await _w(J,$,Z)}catch(g){if(I5.env.STX_DEBUG){let m=g instanceof Error?g.message:String(g);console.warn(`[stx] fallback extraction also failed in ${Z??"<unknown>"}: ${m}`)}}}}function OZ(X){let $=0,Z=null,Y=!1,J=!1;for(let G=0;G<X.length;G++){let Q=X[G];if(Z){if(Q===Z){if(Z=null,Y||$===0)J=!0}continue}if(Q==="'"||Q==='"'||Q==="`"){Z=Q;continue}if(Q==="{")$++;else if(Q==="}")$--;else if(X.startsWith("from",G)&&$===0)Y=!0}return Z===null&&$===0&&J}function Q9(X,$){let Z=$?M1.dirname($):I5.cwd(),Y=I5.cwd(),J=X.split(`
|
|
3750
|
+
`),G=[],Q=0;while(Q<J.length){let q=J[Q].trim();if(q.startsWith("interface ")||q.startsWith("export interface ")||q.startsWith("type ")||q.startsWith("export type ")){if(q.includes("{")&&!q.includes("}")){let K=0;for(;Q<J.length;Q++){for(let U of J[Q])if(U==="{")K++;else if(U==="}")K--;if(K<=0)break}}Q++;continue}if(q.startsWith("definePageMeta(")){let K=0,U=!1,W=Q;for(let B=Q;B<J.length&&!U;B++){let j=null,_=!1,H=J[B];for(let O=0;O<H.length;O++){let L=H[O];if(_){_=!1;continue}if(L==="\\"){_=!0;continue}if(j){if(L===j)j=null;continue}if(L==='"'||L==="'"||L==="`"){j=L;continue}if(L==="(")K++;else if(L===")"){if(K--,K===0){Q=B+1,U=!0;break}}}}if(!U)Q=J.length;let w=J.slice(W,Q).join(`
|
|
3751
|
+
`),z=[];for(let B of["title","description"]){let j=new RegExp(`\\b${B}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(w);if(j)z.push(`${B}: ${JSON.stringify(j[2])}`)}if(z.length>0)G.push(`useSeoMeta({ ${z.join(", ")} });`);continue}if(q.startsWith("import ")||q==="import"||q.startsWith("import{")){let K=q,U=0;while(!OZ(K)&&Q+U+1<J.length)U++,K=`${K} ${J[Q+U].trim()}`;Q+=U;let W=K.match(/^import\s+(\w+)\s+from\s+['"](.+?)['"]/),w=K.match(/^import\s+\{([^}]*)\}\s+from\s+['"](.+?)['"]/),z=K.match(/^import\s+['"](.+?)['"]/),B=K,j=(_)=>{if(_.startsWith("."))return M1.resolve(Z,_);if(_.startsWith("~/")||_.startsWith("@/"))return M1.resolve(Y,_.slice(2));return _};if(W){let[,_,H]=W,O=j(H);G.push(`const ${_} = (await import('${O}')).default`),G.push(`module.exports.${_} = ${_};`)}else if(w){let[,_,H]=w,O=j(H),L=[],F=[],V=Kw.has(H);for(let A of _.split(",")){let R=A.trim();if(!R)continue;let T=R.split(/\s+as\s+/);if(T.length===2){let[k,M]=[T[0].trim(),T[1].trim()];if(V&&KZ.has(k)){G.push(`const ${M} = ${k};`),F.push(M);continue}L.push(`${k}: ${M}`),F.push(M)}else{if(V&&KZ.has(R)){F.push(R);continue}L.push(R),F.push(R)}}if(L.length>0)G.push(`const { ${L.join(", ")} } = await import('${O}')`);for(let A of F)G.push(`module.exports.${A} = ${A};`)}else if(z){let _=j(z[1]);G.push(`await import('${_}')`)}else G.push(B);Q++;continue}if(Ww.test(q))G.push(J[Q]),Q++;else if(q.startsWith("export const ")||q.startsWith("export let ")||q.startsWith("export var ")){let K=WZ(J,Q),{type:U,name:W,value:w}=K;G.push(`${U} ${W} = ${w};`),G.push(`module.exports.${W} = ${W};`),Q=K.nextIndex}else if(q.startsWith("export function ")||q.startsWith("export async function ")){let K=J9(J,Q);G.push(K.functionCode),G.push(`module.exports.${K.name} = ${K.name};`),Q=K.nextIndex}else if(q.startsWith("const ")||q.startsWith("let ")||q.startsWith("var ")){let K=WZ(J,Q),{type:U,name:W,value:w}=K;G.push(`${U} ${W} = ${w};`),G.push(`module.exports.${W} = ${W};`),Q=K.nextIndex}else if(q.startsWith("function ")||q.startsWith("async function ")){let K=J9(J,Q);G.push(K.functionCode),G.push(`module.exports.${K.name} = ${K.name};`),Q=K.nextIndex}else if(q.startsWith("export default function ")||q.startsWith("export default async function ")){let K=J[Q].replace(/^(\s*)export\s+default\s+/,"$1"),U=[...J];U[Q]=K;let W=J9(U,Q);if(G.push(W.functionCode),W.name)G.push(`module.exports.default = ${W.name};`);Q=W.nextIndex}else if(q.startsWith("export default ")){let K=q.replace(/^export\s+default\s+/,"").replace(/;$/,"");G.push(`module.exports.default = ${K};`),Q++}else if(q.startsWith("class ")||q.startsWith("export class ")){let K=q.match(/(?:export\s+)?class\s+(\w+)/);if(K){let U=K[1],W=J[Q].replace(/^export\s+/,""),w=0,z=Q;for(;z<J.length;z++){let B=J[z];for(let j of B)if(j==="{")w++;else if(j==="}")w--;if(z>Q)W+=`
|
|
3752
|
+
`+B;if(w<=0&&z>=Q)break}G.push(W),G.push(`module.exports.${U} = ${U};`),Q=z+1}else G.push(q),Q++}else if(q.includes("module.exports"))G.push(q),Q++;else if(q.trim()&&!q.startsWith("//"))G.push(q),Q++;else Q++}return ww(G.join(`
|
|
3753
|
+
`),Z,Y)}function ww(X,$,Z){let Y=X.length,J="",G=0,Q=null,q=!1,K=!1,U=0;while(G<Y){let W=X[G],w=X[G+1];if(q){if(J+=W,W===`
|
|
3754
|
+
`)q=!1;G++;continue}if(K){if(J+=W,W==="*"&&w==="/"){J+=w,G+=2,K=!1;continue}G++;continue}if(!Q&&W==="/"&&w==="/"){q=!0,J+=W,G++;continue}if(!Q&&W==="/"&&w==="*"){K=!0,J+=W,G++;continue}if(Q){if(J+=W,W==="\\"){J+=w,G+=2;continue}if(W===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"){if(W==="$"&&w==="{"){U++,J+=w,G+=2;continue}if(W==="`"){Q=null,G++;continue}}G++;continue}if(U>0){if(W==="{")U++;else if(W==="}")U--}if(W==='"'||W==="'"||W==="`"){Q=W,J+=W,G++;continue}if(W==="a"&&X.startsWith("await",G)){let z=zw(X,G);if(z){let{quote:B,path:j,end:_}=z;if(j.startsWith(".")||j.startsWith("~/")||j.startsWith("@/")){let H=j.startsWith(".")?M1.resolve($,j):M1.resolve(Z,j.slice(2));J+=`await import(${B}${H}${B})`,G=_;continue}}}J+=W,G++}return J}function zw(X,$){let Z=$+5;if(Z>=X.length)return null;if(!/\s/.test(X[Z]))return null;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(!X.startsWith("import",Z))return null;Z+=6;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!=="(")return null;Z++;while(Z<X.length&&/\s/.test(X[Z]))Z++;let Y=X[Z];if(Y!=="'"&&Y!=='"')return null;Z++;let J=Z;while(Z<X.length&&X[Z]!==Y)if(X[Z]==="\\")Z+=2;else Z++;if(Z>=X.length)return null;let G=X.slice(J,Z);Z++;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!==")")return null;return{quote:Y,path:G,end:Z+1}}function LZ(X,$){let Z=X[$];if(Z!=="{"&&Z!=="[")return null;let J=N0(X,Z,Z==="{"?"}":"]",$);if(J===-1)return null;return{pattern:X.slice($,J+1),endPos:J+1}}function FZ(X){let $=[],Z=X.slice(1,-1).trim();if(!Z)return $;let Y=0,J=0,G="";while(Y<Z.length){let Q=Z[Y];if(Q==="{"||Q==="["){let q=J===0?LZ(Z,Y):null;if(q){$.push(...FZ(q.pattern)),Y=q.endPos,G="";continue}J++}else if(Q==="}"||Q==="]")J--;if(J>0){Y++;continue}if(Q===","){if(G.trim())$.push(G.trim());G="",Y++;continue}if(Q===":"){G="",Y++;continue}if(Q==="="){if(G.trim())$.push(G.trim());G="",Y++;while(Y<Z.length&&Z[Y]!==","&&J===0){if(Z[Y]==="{"||Z[Y]==="[")J++;else if(Z[Y]==="}"||Z[Y]==="]")J--;Y++}continue}if(/[\w$]/.test(Q))G+=Q;Y++}if(G.trim())$.push(G.trim());return $}function VZ(X){let $=/^(?:export\s+)?(const|let|var)\s+([A-Za-z_$][\w$]*)/.exec(X);if(!$)return null;let Z=$[0].length,Y=(J)=>J===" "||J==="\t";while(Z<X.length&&Y(X[Z]))Z++;if(X[Z]===":"){let J=0,G=null;Z++;for(;Z<X.length;Z++){let Q=X[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==="<"){J++;continue}if(Q===")"||Q==="]"||Q==="}"||Q===">"){J--;continue}if(Q==="="&&J<=0){let q=X[Z+1],K=X[Z-1];if(q!=="="&&q!==">"&&K!=="="&&K!=="!"&&K!=="<"&&K!==">")break}}if(X[Z]!=="=")return null}while(Z<X.length&&Y(X[Z]))Z++;if(X[Z]!=="=")return null;return{type:$[1],name:$[2],value:X.slice(Z+1).trim()}}function UZ(X,$,Z,Y){let J=null,G=!1;for(let Q of X){if(G){G=!1;continue}if(Q==="\\"){G=!0;continue}if(J){if(Q===J)J=null;continue}if(Q==="'"||Q==='"'||Q==="`"){J=Q;continue}if(Q===$)Y++;else if(Q===Z)Y--}return Y}function WZ(X,$){let Z=X[$].trim(),Y=VZ(Z),J=Y?[Z,Y.type,Y.name,Y.value]:null;if(!J){let W=Z.match(/^(?:export\s+)?(const|let|var)\s+/);if(W){let w=Z.slice(W[0].length),z=$;if(w.startsWith("{")||w.startsWith("[")){let j=w[0],_=j==="{"?"}":"]",H=UZ(w,j,_,0),O=w;for(let L=$+1;L<X.length&&H>0;L++)O+=` ${X[L].trim()}`,z=L,H=UZ(X[L],j,_,H);if(H>0)O=w,z=$;w=O}let B=LZ(w,0);if(B){let j=W[1],_=B.pattern,H=w.slice(B.endPos).trim();if(H.startsWith("=")){let O=H.slice(1).trim(),L=O,F=Math.max(z,$);if(wZ(O)){let T=zZ(X,F,O);L=T.value,F=T.nextIndex}else F=F+1;L=L.trim().replace(/;$/,"");let V=FZ(_),A=`__stx_src_${$}`,R=V.map((T)=>`module.exports.${T} = ${T};`).join(`
|
|
3755
|
+
`);return{type:j,name:A,value:`${L}; ${j} ${_} = ${A};
|
|
3756
|
+
${R}`,nextIndex:F}}}}throw Error(`Failed to parse variable declaration: ${Z}`)}let[,G,Q,q]=J,K=q,U=$;if(wZ(q)){let W=zZ(X,$,q);K=W.value,U=W.nextIndex}else U=$+1;while(U<X.length){let W=X[U].trim();if(W.startsWith(".")||W.startsWith("?."))K+=`
|
|
3757
|
+
${X[U]}`,U++;else break}return K=K.trim().replace(/;$/,""),{type:G,name:Q,value:K,nextIndex:U}}function J9(X,$){let Z=X[$].trim(),Y=Z.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!Y)throw Error(`Failed to parse function declaration: ${Z}`);let[,J]=Y,G=Z.replace(/^export\s+/,""),Q=$;if(jw(Z)){let q=Bw(X,$,G);G=q.functionCode,Q=q.nextIndex}else Q=$+1;return{name:J,functionCode:G,nextIndex:Q}}function wZ(X){let $=X.trim();if($.startsWith("{"))return N0($,"{","}",0)===-1;if($.startsWith("["))return N0($,"[","]",0)===-1;return!AZ($)}function AZ(X){let $={paren:0,bracket:0,brace:0},Z=null,Y=0;for(let J=0;J<X.length;J++){let G=X[J];if((J>0?X[J-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==="`"&&Y===0){Z=null;continue}if(Z==="`"&&G==="$"&&X[J+1]==="{"){Y++,J++;continue}if(Y>0&&G==="{"){Y++;continue}if(Y>0&&G==="}"){Y--;continue}if(Z)continue;if(G==="(")$.paren++;else if(G===")")$.paren--;else if(G==="[")$.bracket++;else if(G==="]")$.bracket--;else if(G==="{")$.brace++;else if(G==="}")$.brace--}return $.paren===0&&$.bracket===0&&$.brace===0&&Z===null}function RZ(X){let $=X.indexOf("(");if($===-1)return X.indexOf("{");let Z=N0(X,"(",")",$);if(Z===-1)return-1;return X.indexOf("{",Z)}function jw(X){let $=RZ(X);if($===-1)return!0;return N0(X,"{","}",$)===-1}function zZ(X,$,Z){let Y=Z,J=$+1;while(J<X.length&&!AZ(Y)){let G=X[J];Y+=`
|
|
3758
3758
|
${G}`,J++}while(J<X.length){let G=X[J].trim();if(G.startsWith(".")||G.startsWith("?."))Y+=`
|
|
3759
|
-
${X[J]}`,J++;else break}return{value:Y,nextIndex:J}}function
|
|
3760
|
-
${Q}`,J++}return{functionCode:Y,nextIndex:J}}function UZ(X,$){let Z=$0(X,$)??$0(`(${X})`,$);if(Z!==void 0)return Z;if(!/\bprocess\b/.test(X))return;let Y={...$,process:Object.freeze({env:{...I5.env}})};try{return Function(...Object.keys(Y),`'use strict'; return (${X});`)(...Object.values(Y))}catch{try{return Function(...Object.keys(Y),`'use strict'; return ${X};`)(...Object.values(Y))}catch{return}}}async function Uw(X,$,Z){let Y=X.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let G of Y){let[,,Q,q]=G;try{let K=q.trim().replace(/;$/,""),U=UZ(K,$);if(U!==void 0)$[Q]=U}catch(K){console.warn(`Failed to parse export ${Q} in fallback:`,K)}}let J=X.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let G of J){let[,,Q,q]=G;if(!(Q in $))try{let K=q.trim().replace(/;$/,""),U=UZ(K,$);if(U!==void 0)$[Q]=U}catch{}}}function FZ(X){let $=X.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Z=$?$[1]:"",Y=$?X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):X;return{scriptContent:Z,templateWithoutScript:Y}}function VZ(X){let $=X.trim();if(!$)return!1;return/(?:const|let|var|function)\s+\w+/.test($)}var J9,JZ,Zw,Jw;var k7=E(()=>{M7();F1();O0();J9=["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"],JZ=new Set(J9),Zw=new Set(["stx","@stacksjs/stx"]);Jw=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/});var Q9={};n(Q9,{renderSlot:()=>RZ,processSlots:()=>TZ,parseSlots:()=>AZ,parseSlotElement:()=>Bw,extractSlotContent:()=>Ow,applySlots:()=>Lw});function Ww(X,$){let Z=1,Y=$,J="<template",G="</template";while(Y<X.length&&Z>0){let Q=X.indexOf("<",Y);if(Q===-1)break;if(Y=Q,X.startsWith(J,Y)&&(Y+J.length>=X.length||/[\s>\/]/.test(X[Y+J.length]))){Z++,Y+=J.length;continue}if(X.startsWith(G,Y)){let q=X.indexOf(">",Y+G.length);if(q!==-1){if(Z--,Z===0)return q+1;Y=q+1;continue}}Y++}return Z===0?Y:-1}function zw(X,$){let Z=null;for(let Y=$;Y<X.length;Y++){let J=X[Y];if(Z){if(J==="\\"){Y++;continue}if(J===Z)Z=null;continue}if(J==='"'||J==="'"){Z=J;continue}if(J===">")return Y+1}return-1}function jw(X){let $=[],Z=[],Y=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,J=0;while(J<X.length){let G=X.indexOf("<",J);if(G===-1)break;if(X.startsWith("<!--",G)){let z=X.indexOf("-->",G+4);J=z===-1?X.length:z+3;continue}let Q=zw(X,G+1);if(Q===-1)break;let q=X.slice(G,Q),K=q.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!K){J=Q;continue}let U=K[1]==="/",W=K[2].toLowerCase();if(U){let z=Z.lastIndexOf(W);if(z!==-1)Z.splice(z);J=Q;continue}if(W==="template"&&Z.length===0){let z=q.match(Y);if(z){let B=Ww(X,Q);if(B!==-1){let j=z[1]||z[2]||z[3];$.push({start:G,end:B,slotName:j,content:X.slice(Q,B-11).trim(),propsBinding:z[4]||void 0}),J=B;continue}}}if(!/\/\s*>$/.test(q)&&!ww.has(W)){if(Z.push(W),W==="script"||W==="style"){let z=X.toLowerCase().indexOf(`</${W}>`,Q);if(z!==-1){J=z;continue}}}J=Q}return $}function AZ(X){let $={default:"",named:new Map},Z=X,Y=jw(X);for(let K of Y)$.named.set(K.slotName,{name:K.slotName,content:K.content,propsBinding:K.propsBinding});Y.sort((K,U)=>U.start-K.start);for(let K of Y)Z=Z.slice(0,K.start)+Z.slice(K.end);let J=[],G=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,Q;while((Q=G.exec(Z))!==null){let[K,U,W,w,z,B]=Q,j=W.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(j+_).trim(),L=`<${U}${H?" "+H:""}>${B}</${U}>`;J.push({start:Q.index,end:Q.index+K.length,slotName:w,element:L})}let q=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((Q=q.exec(Z))!==null){let[K,U,W,w,z]=Q,B=W.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=(B+j).trim(),H=`<${U}${_?" "+_:""} />`;J.push({start:Q.index,end:Q.index+K.length,slotName:w,element:H})}J.sort((K,U)=>U.start-K.start);for(let K of J){let U=$.named.get(K.slotName);if(U)U.content+=K.element;else $.named.set(K.slotName,{name:K.slotName,content:K.element});Z=Z.slice(0,K.start)+Z.slice(K.end)}return $.default=Z.trim(),$}function Bw(X){let $=X.match(/name\s*=\s*["']([^"']+)["']/),Z=$?$[1]:"",Y={},J=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,G;while((G=J.exec(X))!==null)Y[G[1]]=G[2];let Q=X.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),q=Q?Q[1].trim():"";return{name:Z,props:Y,defaultContent:q}}async function RZ(X,$,Z,Y){if(!X)return Z;let J=X.content;if(X.propsBinding&&Object.keys($).length>0){let G=X.propsBinding.trim(),Q={...Y};if(G.startsWith("{")&&G.endsWith("}")){let q=G.slice(1,-1).split(",").map((K)=>K.trim()).filter(Boolean);for(let K of q){let[U,W]=K.split(":").map((z)=>z.trim()),w=W||U;if($[U]!==void 0)Q[w]=$[U]}}else Q[G]=$;J=_w(J,Q)}return J}function _w(X,$){return X.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,Y)=>{try{let J=Y.trim(),G=NZ(J,$);return r0(String(G??""))}catch{return`{{ ${Y} }}`}})}function NZ(X,$){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test(X)){let Y=X.split("."),J=$;for(let G of Y)if(J&&typeof J==="object"&&G in J)J=J[G];else return;return J}let Z=X.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Z){let[,Y,J,G]=Z,Q=$[Y],q=parseInt(G,10);if(typeof Q==="number")switch(J){case"+":return Q+q;case"-":return Q-q;case"*":return Q*q;case"/":return Q/q}}try{if(!G0(X))return;return Q0(X,Object.keys($))(...Object.values($))}catch{return}}async function TZ(X,$,Z){let Y=X;Y=await Hw(Y,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(Q,q,K,U)=>{let W=$.named.get(q),w=U?.trim()||"",z=K||"",B={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,_;while((_=j.exec(z))!==null){let H=_[1],L=_[2];B[H]=NZ(L,Z)}return await RZ(W,B,w,Z)});let G=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return Y=Y.replace(G,(Q,q)=>{if(Q.includes("name="))return Q;let K=q?.trim()||"";return $.default||K}),Y}async function Hw(X,$,Z){let Y=[],J=[];X.replace($,(q,...K)=>{let U=K[K.length-2];return J.push({match:q,index:U}),Y.push(Z(q,...K.slice(0,-2))),q});let G=await Promise.all(Y),Q=X;for(let q=J.length-1;q>=0;q--){let{match:K,index:U}=J[q];Q=Q.slice(0,U)+G[q]+Q.slice(U+K.length)}return Q}function Ow(X){let $=AZ(X);return{defaultSlot:$.default,namedSlots:$.named}}async function Lw(X,$,Z,Y){return await TZ(X,{default:$,named:Z},Y)}var ww;var q9=E(()=>{Z1();O0();ww=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function k1(X,$){let Z=Fw(X,$);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function Fw(X,$){let Z=$;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Z};let Y=T0(X,"(",")",Z);if(Y===-1)return{ok:!1,reason:"unclosed-paren",pos:Z};return{ok:!0,expression:X.slice(Z+1,Y),endPos:Y+1}}function Vw(X,$){let Z=X.lastIndexOf("<",$);if(Z===-1)return!1;return Z>X.lastIndexOf(">",$)}function n1(X,$,Z,Y){let J=1,G=Y,Q=new RegExp(`@${$}\\s*\\(`,"g"),q=new RegExp(`@${Z}(?![a-z])`,"g");while(G<X.length&&J>0){Q.lastIndex=G,q.lastIndex=G;let K=Q.exec(X),U=q.exec(X),W=K?K.index:1/0,w=U?U.index:1/0;if(W<w)J++,G=W+K[0].length;else if(w<1/0){if(J--,J===0)return w;G=w+U[0].length}else break}return-1}function MZ(X,$){let Z=X.slice($).match(/^@if\s*/);if(!Z)return null;let Y=$+Z[0].length,J=k1(X,Y);if(!J)return null;let G=J.endPos,Q=n1(X,"if","endif",G);if(Q===-1)return null;let q=X.slice(G,Q),K=[],U=0,W="if",w=J.expression,z=0,B=0;while(U<q.length){let j=q.indexOf("@",U);if(j===-1)break;U=j;let _=q.substring(j);if(Vw(q,j)){U++;continue}if(/^@if\s*\(/.test(_)){B++,U++;continue}if(/^@endif(?![a-z])/.test(_)){B--,U+=6;continue}if(B===0){let H=_.match(/^@elseif\s*/);if(H){K.push({type:W,condition:w,content:q.substring(z,U),start:G+z,end:G+U});let L=U+H[0].length,O=k1(q,L);if(!O){U++;continue}W="elseif",w=O.expression,U=O.endPos,z=U;continue}else if(/^@else(?![a-z])/.test(_)){K.push({type:W,condition:w,content:q.substring(z,U),start:G+z,end:G+U}),W="else",w=void 0,U+=5,z=U;continue}}U++}return K.push({type:W,condition:w,content:q.slice(z),start:G+z,end:G+q.length}),{fullMatch:X.slice($,Q+6),branches:K,start:$,end:Q+6}}function I7(X){let $=[],Z=/@if\s*\(/g,Y=Z.exec(X);while(Y!==null){if($.some((Q)=>Y.index>Q.start&&Y.index<Q.end)){Y=Z.exec(X);continue}let G=MZ(X,Y.index);if(G)$.push(G),Z.lastIndex=G.end;Y=Z.exec(X)}return $}function EX(X,$,Z){let Y=[],J=new RegExp(`@${$}\\s*\\(`,"g"),G=J.exec(X);while(G!==null){if(Y.some((_)=>G.index>_.start&&G.index<_.end)){G=J.exec(X);continue}let q=G.index,K=q+G[0].length-1,U=T0(X,"(",")",K);if(U===-1){G=J.exec(X);continue}let W=X.slice(K+1,U),w=U+1,z=n1(X,$,Z,w);if(z===-1){G=J.exec(X);continue}let B=X.slice(w,z),j=z+`@${Z}`.length;Y.push({fullMatch:X.slice(q,j),name:$,params:W,content:B,start:q,end:j}),J.lastIndex=j,G=J.exec(X)}return Y}function K9(X,$){let Z=X.slice($).match(/^@switch\s*/);if(!Z)return null;let Y=$+Z[0].length,J=k1(X,Y);if(!J)return null;let G=J.endPos,Q=n1(X,"switch","endswitch",G);if(Q===-1)return null;let q=X.slice(G,Q),K=[],U=0,W=null,w=0;while(U<q.length){let z=q.slice(U),B=z.match(/^@switch\s*\(/),j=z.match(/^@endswitch(?![a-z])/);if(B){if(w++,W)W.content+=B[0];U+=B[0].length;continue}if(j){if(w--,W)W.content+=j[0];U+=j[0].length;continue}if(w>0){if(W)W.content+=q[U];U++;continue}let _=z.match(/^@case\s*/),H=z.match(/^@default(?![a-z])/),L=z.match(/^@break(?![a-z])/);if(_&&z.startsWith("@case")){if(W)K.push(W);let O=U+_[0].length,F=k1(q,O);if(!F){U++;continue}W={type:"case",value:F.expression,content:""},U=F.endPos}else if(H&&z.startsWith("@default")){if(W)K.push(W);W={type:"default",content:""},U+=H[0].length}else if(L&&z.startsWith("@break"))U+=L[0].length;else{if(W)W.content+=q[U];U++}}if(W)K.push(W);return{fullMatch:X.slice($,Q+10),expression:J.expression,cases:K,start:$,end:Q+10}}var kZ=()=>{};var IZ=()=>{};var DX=E(()=>{kZ();IZ()});function EZ(X,$={}){return new O5(X,$).routes}var DZ=E(()=>{g1();g1()});async function bZ(X){let $=X;if(!$)try{$=(await I1())?.pagesDir||"pages"}catch{$="pages"}let Z=$,Y=yZ.get(Z);if(Y)return Y;let J=[];try{J=EZ(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{J=[]}return yZ.set(Z,J),J}var yZ;var SZ=E(()=>{DZ();V1();yZ=new Map});function Tw(X){return X.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function CZ(X){return Tw(JSON.stringify(X))}function E7(X){let $=0,Z,Y=U9.map(()=>{return});while($<X.length){if(Z===void 0||Z!==null&&Z.index<$)PZ.lastIndex=$,Z=PZ.exec(X);if(!Z)return null;let J=Z.index,G=-1,Q=null;for(let K=0;K<U9.length;K++){let U=U9[K],W=Y[K];if(W===void 0||W!==null&&W.index<$)U.open.lastIndex=$,W=U.open.exec(X),Y[K]=W;if(!W)continue;if(W.index<J&&(G===-1||W.index<G))G=W.index,Q=U.close}if(G===-1||!Q)return{index:J,tag:Z[0],attrs:Z[1]??""};Q.lastIndex=G;let q=Q.exec(X);if(!q)return null;$=q.index+q[0].length}return null}function yX(X,$){let Z=E7(X);if(!Z)return X;return X.slice(0,Z.index)+$(Z.tag,Z.attrs)+X.slice(Z.index+Z.tag.length)}var U9,PZ;var W9=E(()=>{U9=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],PZ=/<body\b([^>]*)>/gi});function z9(){return r1}function j9(X){let $=r1;return vZ.push(X),r1=X,$}function B9(X){vZ.pop(),r1=X}function _9(){return bX>0}function H9(X){w9.add(X)}function xZ(X){bX++;try{X()}finally{if(bX--,bX===0){let $=[...w9];w9.clear();for(let Z of $)Z()}}}function fZ(X){let $=r1;r1=null;try{return X()}finally{r1=$}}var r1=null,vZ,bX=0,w9;var gZ=E(()=>{vZ=[],w9=new Set});function E1(X){let $=X,Z=new Set,Y=new Set,J=()=>{let G=z9();if(G)Y.add(G);return $};return J.set=(G)=>{if(!Object.is(G,$)){let Q=$;if($=G,Z.forEach((q)=>q($,Q)),_9())Y.forEach((q)=>H9(q));else Y.forEach((q)=>q())}},J.update=(G)=>{J.set(G($))},J.subscribe=(G)=>{return Z.add(G),()=>Z.delete(G)},Object.defineProperty(J,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(J,"value",{get:()=>J(),set:(G)=>J.set(G),configurable:!0}),J}function CX(X){let $,Z=!0,Y=new Set,J=()=>{if(!Z)if(Z=!0,_9())Y.forEach((Q)=>H9(Q));else Y.forEach((Q)=>Q())},G=()=>{let Q=z9();if(Q)Y.add(Q);if(Z){let q=j9(J);try{$=X()}finally{B9(q)}Z=!1}return $};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function PX(X,$={}){let Z,Y=!1,J=()=>{if(Y)return;if(Z)Z(),Z=void 0;let G=j9(J);try{let Q=X();Z=typeof Q==="function"?Q:void 0}finally{B9(G)}};if($.immediate!==!1)J();return()=>{if(Y=!0,Z)Z()}}function L9(X){xZ(X)}function F9(X){O9.push(X)}function V9(X){SX.push(X)}function Mw(){hZ(O9,"onMount",SX)}function kw(){hZ(SX,"onDestroy")}function hZ(X,$,Z){let Y=X.splice(0,X.length);for(let J of Y)try{let G=J();if(Z&&typeof G==="function")Z.push(G)}catch(G){console.error(`[stx] ${$} callback threw:`,G)}}function Iw(){return{mount:O9.length,destroy:SX.length}}function vX(X){return typeof X==="function"&&X._isSignal===!0}function xX(X){return typeof X==="function"&&X._isDerived===!0}function A9(X){if(vX(X)||xX(X))return X();return X}function fX(X){return fZ(X)}function Ew(X,$){let Z=typeof X==="function"?X:()=>X,Y=E1([]),J=CX(()=>Y().reduce((q,K)=>$(q,K.action),Z())),G=!1;return PX(()=>{if(Z(),!G){G=!0;return}if(fX(()=>Y().length))Y.set([])}),[J,(q,K)=>{let U={action:q};Y.set([...Y(),U]);let W=()=>{let w=Y().filter((z)=>z!==U);if(w.length!==Y().length)Y.set(w)};if(K&&typeof K.then==="function")Promise.resolve(K).then(W,W);return W}]}var O9,SX;var gX=E(()=>{gZ();O9=[],SX=[]});var dZ={};n(dZ,{useOptimistic:()=>Ew,untrack:()=>A9,state:()=>E1,runMountCallbacks:()=>Mw,runDestroyCallbacks:()=>kw,pendingLifecycleCounts:()=>Iw,peek:()=>fX,onMount:()=>F9,onDestroy:()=>V9,isSignal:()=>vX,isDerived:()=>xX,generateSignalsRuntimeDev:()=>R9,generateSignalsRuntime:()=>uZ,effect:()=>PX,derived:()=>CX,default:()=>yw,batch:()=>L9});function uZ(){let X=Dw(R9());try{let Z=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(X);return Z=Z.replace(/\}(var |let |const |function )/g,"};$1"),Z}catch{return X}}function Dw(X){let $=[],Z=0,Y="console.log(";while(Z<X.length){let J=X.indexOf(Y,Z);if(J===-1){$.push(X.slice(Z));break}$.push(X.slice(Z,J));let G=1,Q=J+Y.length;while(Q<X.length&&G>0){let q=X[Q];if(q==='"'||q==="'"||q==="`"){let K=q;Q++;while(Q<X.length&&X[Q]!==K){if(X[Q]==="\\")Q++;Q++}Q++;continue}if(q==="(")G++;else if(q===")")G--;Q++}$.push("0"),Z=Q}return $.join("")}function R9(){return`
|
|
3759
|
+
${X[J]}`,J++;else break}return{value:Y,nextIndex:J}}function Bw(X,$,Z){let Y=Z,J=$+1;while(J<X.length){let G=RZ(Y);if(G!==-1){if(N0(Y,"{","}",G)!==-1)break}let Q=X[J];Y+=`
|
|
3760
|
+
${Q}`,J++}return{functionCode:Y,nextIndex:J}}function jZ(X,$){let Z=Z0(X,$)??Z0(`(${X})`,$);if(Z!==void 0)return Z;if(!/\bprocess\b/.test(X))return;let Y={...$,process:Object.freeze({env:{...I5.env}})};try{return Function(...Object.keys(Y),`'use strict'; return (${X});`)(...Object.values(Y))}catch{try{return Function(...Object.keys(Y),`'use strict'; return ${X};`)(...Object.values(Y))}catch{return}}}async function _w(X,$,Z){let Y=X.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let G of Y){let[,,Q,q]=G;try{let K=q.trim().replace(/;$/,""),U=jZ(K,$);if(U!==void 0)$[Q]=U}catch(K){console.warn(`Failed to parse export ${Q} in fallback:`,K)}}let J=X.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let G of J){let[,,Q,q]=G;if(!(Q in $))try{let K=q.trim().replace(/;$/,""),U=jZ(K,$);if(U!==void 0)$[Q]=U}catch{}}}function TZ(X){let $=X.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Z=$?$[1]:"",Y=$?X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):X;return{scriptContent:Z,templateWithoutScript:Y}}function NZ(X){let $=X.trim();if(!$)return!1;return/(?:const|let|var|function)\s+\w+/.test($)}var G9,KZ,Kw,Ww;var I7=E(()=>{k7();F1();L0();G9=["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"],KZ=new Set(G9),Kw=new Set(["stx","@stacksjs/stx"]);Ww=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/});var q9={};o(q9,{renderSlot:()=>kZ,processSlots:()=>EZ,parseSlots:()=>MZ,parseSlotElement:()=>Vw,extractSlotContent:()=>Tw,applySlots:()=>Nw});function Hw(X,$){let Z=1,Y=$,J="<template",G="</template";while(Y<X.length&&Z>0){let Q=X.indexOf("<",Y);if(Q===-1)break;if(Y=Q,X.startsWith(J,Y)&&(Y+J.length>=X.length||/[\s>\/]/.test(X[Y+J.length]))){Z++,Y+=J.length;continue}if(X.startsWith(G,Y)){let q=X.indexOf(">",Y+G.length);if(q!==-1){if(Z--,Z===0)return q+1;Y=q+1;continue}}Y++}return Z===0?Y:-1}function Lw(X,$){let Z=null;for(let Y=$;Y<X.length;Y++){let J=X[Y];if(Z){if(J==="\\"){Y++;continue}if(J===Z)Z=null;continue}if(J==='"'||J==="'"){Z=J;continue}if(J===">")return Y+1}return-1}function Fw(X){let $=[],Z=[],Y=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,J=0;while(J<X.length){let G=X.indexOf("<",J);if(G===-1)break;if(X.startsWith("<!--",G)){let z=X.indexOf("-->",G+4);J=z===-1?X.length:z+3;continue}let Q=Lw(X,G+1);if(Q===-1)break;let q=X.slice(G,Q),K=q.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!K){J=Q;continue}let U=K[1]==="/",W=K[2].toLowerCase();if(U){let z=Z.lastIndexOf(W);if(z!==-1)Z.splice(z);J=Q;continue}if(W==="template"&&Z.length===0){let z=q.match(Y);if(z){let B=Hw(X,Q);if(B!==-1){let j=z[1]||z[2]||z[3];$.push({start:G,end:B,slotName:j,content:X.slice(Q,B-11).trim(),propsBinding:z[4]||void 0}),J=B;continue}}}if(!/\/\s*>$/.test(q)&&!Ow.has(W)){if(Z.push(W),W==="script"||W==="style"){let z=X.toLowerCase().indexOf(`</${W}>`,Q);if(z!==-1){J=z;continue}}}J=Q}return $}function MZ(X){let $={default:"",named:new Map},Z=X,Y=Fw(X);for(let K of Y)$.named.set(K.slotName,{name:K.slotName,content:K.content,propsBinding:K.propsBinding});Y.sort((K,U)=>U.start-K.start);for(let K of Y)Z=Z.slice(0,K.start)+Z.slice(K.end);let J=[],G=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,Q;while((Q=G.exec(Z))!==null){let[K,U,W,w,z,B]=Q,j=W.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(j+_).trim(),O=`<${U}${H?" "+H:""}>${B}</${U}>`;J.push({start:Q.index,end:Q.index+K.length,slotName:w,element:O})}let q=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((Q=q.exec(Z))!==null){let[K,U,W,w,z]=Q,B=W.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=(B+j).trim(),H=`<${U}${_?" "+_:""} />`;J.push({start:Q.index,end:Q.index+K.length,slotName:w,element:H})}J.sort((K,U)=>U.start-K.start);for(let K of J){let U=$.named.get(K.slotName);if(U)U.content+=K.element;else $.named.set(K.slotName,{name:K.slotName,content:K.element});Z=Z.slice(0,K.start)+Z.slice(K.end)}return $.default=Z.trim(),$}function Vw(X){let $=X.match(/name\s*=\s*["']([^"']+)["']/),Z=$?$[1]:"",Y={},J=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,G;while((G=J.exec(X))!==null)Y[G[1]]=G[2];let Q=X.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),q=Q?Q[1].trim():"";return{name:Z,props:Y,defaultContent:q}}async function kZ(X,$,Z,Y){if(!X)return Z;let J=X.content;if(X.propsBinding&&Object.keys($).length>0){let G=X.propsBinding.trim(),Q={...Y};if(G.startsWith("{")&&G.endsWith("}")){let q=G.slice(1,-1).split(",").map((K)=>K.trim()).filter(Boolean);for(let K of q){let[U,W]=K.split(":").map((z)=>z.trim()),w=W||U;if($[U]!==void 0)Q[w]=$[U]}}else Q[G]=$;J=Aw(J,Q)}return J}function Aw(X,$){return X.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,Y)=>{try{let J=Y.trim(),G=IZ(J,$);return t0(String(G??""))}catch{return`{{ ${Y} }}`}})}function IZ(X,$){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test(X)){let Y=X.split("."),J=$;for(let G of Y)if(J&&typeof J==="object"&&G in J)J=J[G];else return;return J}let Z=X.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Z){let[,Y,J,G]=Z,Q=$[Y],q=parseInt(G,10);if(typeof Q==="number")switch(J){case"+":return Q+q;case"-":return Q-q;case"*":return Q*q;case"/":return Q/q}}try{if(!J0(X))return;return G0(X,Object.keys($))(...Object.values($))}catch{return}}async function EZ(X,$,Z){let Y=X;Y=await Rw(Y,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(Q,q,K,U)=>{let W=$.named.get(q),w=U?.trim()||"",z=K||"",B={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,_;while((_=j.exec(z))!==null){let H=_[1],O=_[2];B[H]=IZ(O,Z)}return await kZ(W,B,w,Z)});let G=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return Y=Y.replace(G,(Q,q)=>{if(Q.includes("name="))return Q;let K=q?.trim()||"";return $.default||K}),Y}async function Rw(X,$,Z){let Y=[],J=[];X.replace($,(q,...K)=>{let U=K[K.length-2];return J.push({match:q,index:U}),Y.push(Z(q,...K.slice(0,-2))),q});let G=await Promise.all(Y),Q=X;for(let q=J.length-1;q>=0;q--){let{match:K,index:U}=J[q];Q=Q.slice(0,U)+G[q]+Q.slice(U+K.length)}return Q}function Tw(X){let $=MZ(X);return{defaultSlot:$.default,namedSlots:$.named}}async function Nw(X,$,Z,Y){return await EZ(X,{default:$,named:Z},Y)}var Ow;var K9=E(()=>{Z1();L0();Ow=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function k1(X,$){let Z=Mw(X,$);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function Mw(X,$){let Z=$;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Z};let Y=N0(X,"(",")",Z);if(Y===-1)return{ok:!1,reason:"unclosed-paren",pos:Z};return{ok:!0,expression:X.slice(Z+1,Y),endPos:Y+1}}function kw(X,$){let Z=X.lastIndexOf("<",$);if(Z===-1)return!1;return Z>X.lastIndexOf(">",$)}function n1(X,$,Z,Y){let J=1,G=Y,Q=new RegExp(`@${$}\\s*\\(`,"g"),q=new RegExp(`@${Z}(?![a-z])`,"g");while(G<X.length&&J>0){Q.lastIndex=G,q.lastIndex=G;let K=Q.exec(X),U=q.exec(X),W=K?K.index:1/0,w=U?U.index:1/0;if(W<w)J++,G=W+K[0].length;else if(w<1/0){if(J--,J===0)return w;G=w+U[0].length}else break}return-1}function DZ(X,$){let Z=X.slice($).match(/^@if\s*/);if(!Z)return null;let Y=$+Z[0].length,J=k1(X,Y);if(!J)return null;let G=J.endPos,Q=n1(X,"if","endif",G);if(Q===-1)return null;let q=X.slice(G,Q),K=[],U=0,W="if",w=J.expression,z=0,B=0;while(U<q.length){let j=q.indexOf("@",U);if(j===-1)break;U=j;let _=q.substring(j);if(kw(q,j)){U++;continue}if(/^@if\s*\(/.test(_)){B++,U++;continue}if(/^@endif(?![a-z])/.test(_)){B--,U+=6;continue}if(B===0){let H=_.match(/^@elseif\s*/);if(H){K.push({type:W,condition:w,content:q.substring(z,U),start:G+z,end:G+U});let O=U+H[0].length,L=k1(q,O);if(!L){U++;continue}W="elseif",w=L.expression,U=L.endPos,z=U;continue}else if(/^@else(?![a-z])/.test(_)){K.push({type:W,condition:w,content:q.substring(z,U),start:G+z,end:G+U}),W="else",w=void 0,U+=5,z=U;continue}}U++}return K.push({type:W,condition:w,content:q.slice(z),start:G+z,end:G+q.length}),{fullMatch:X.slice($,Q+6),branches:K,start:$,end:Q+6}}function E7(X){let $=[],Z=/@if\s*\(/g,Y=Z.exec(X);while(Y!==null){if($.some((Q)=>Y.index>Q.start&&Y.index<Q.end)){Y=Z.exec(X);continue}let G=DZ(X,Y.index);if(G)$.push(G),Z.lastIndex=G.end;Y=Z.exec(X)}return $}function DX(X,$,Z){let Y=[],J=new RegExp(`@${$}\\s*\\(`,"g"),G=J.exec(X);while(G!==null){if(Y.some((_)=>G.index>_.start&&G.index<_.end)){G=J.exec(X);continue}let q=G.index,K=q+G[0].length-1,U=N0(X,"(",")",K);if(U===-1){G=J.exec(X);continue}let W=X.slice(K+1,U),w=U+1,z=n1(X,$,Z,w);if(z===-1){G=J.exec(X);continue}let B=X.slice(w,z),j=z+`@${Z}`.length;Y.push({fullMatch:X.slice(q,j),name:$,params:W,content:B,start:q,end:j}),J.lastIndex=j,G=J.exec(X)}return Y}function U9(X,$){let Z=X.slice($).match(/^@switch\s*/);if(!Z)return null;let Y=$+Z[0].length,J=k1(X,Y);if(!J)return null;let G=J.endPos,Q=n1(X,"switch","endswitch",G);if(Q===-1)return null;let q=X.slice(G,Q),K=[],U=0,W=null,w=0;while(U<q.length){let z=q.slice(U),B=z.match(/^@switch\s*\(/),j=z.match(/^@endswitch(?![a-z])/);if(B){if(w++,W)W.content+=B[0];U+=B[0].length;continue}if(j){if(w--,W)W.content+=j[0];U+=j[0].length;continue}if(w>0){if(W)W.content+=q[U];U++;continue}let _=z.match(/^@case\s*/),H=z.match(/^@default(?![a-z])/),O=z.match(/^@break(?![a-z])/);if(_&&z.startsWith("@case")){if(W)K.push(W);let L=U+_[0].length,F=k1(q,L);if(!F){U++;continue}W={type:"case",value:F.expression,content:""},U=F.endPos}else if(H&&z.startsWith("@default")){if(W)K.push(W);W={type:"default",content:""},U+=H[0].length}else if(O&&z.startsWith("@break"))U+=O[0].length;else{if(W)W.content+=q[U];U++}}if(W)K.push(W);return{fullMatch:X.slice($,Q+10),expression:J.expression,cases:K,start:$,end:Q+10}}var yZ=()=>{};var bZ=()=>{};var yX=E(()=>{yZ();bZ()});function SZ(X,$={}){return new O5(X,$).routes}var CZ=E(()=>{g1();g1()});async function vZ(X){let $=X;if(!$)try{$=(await I1())?.pagesDir||"pages"}catch{$="pages"}let Z=$,Y=PZ.get(Z);if(Y)return Y;let J=[];try{J=SZ(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{J=[]}return PZ.set(Z,J),J}var PZ;var xZ=E(()=>{CZ();V1();PZ=new Map});function yw(X){return X.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function fZ(X){return yw(JSON.stringify(X))}function D7(X){let $=0,Z,Y=W9.map(()=>{return});while($<X.length){if(Z===void 0||Z!==null&&Z.index<$)gZ.lastIndex=$,Z=gZ.exec(X);if(!Z)return null;let J=Z.index,G=-1,Q=null;for(let K=0;K<W9.length;K++){let U=W9[K],W=Y[K];if(W===void 0||W!==null&&W.index<$)U.open.lastIndex=$,W=U.open.exec(X),Y[K]=W;if(!W)continue;if(W.index<J&&(G===-1||W.index<G))G=W.index,Q=U.close}if(G===-1||!Q)return{index:J,tag:Z[0],attrs:Z[1]??""};Q.lastIndex=G;let q=Q.exec(X);if(!q)return null;$=q.index+q[0].length}return null}function bX(X,$){let Z=D7(X);if(!Z)return X;return X.slice(0,Z.index)+$(Z.tag,Z.attrs)+X.slice(Z.index+Z.tag.length)}var W9,gZ;var w9=E(()=>{W9=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],gZ=/<body\b([^>]*)>/gi});function z9(){return`
|
|
3761
|
+
(function(){
|
|
3762
|
+
var tip=null,hideTimer=null,currentEl=null;
|
|
3763
|
+
|
|
3764
|
+
function createTip(){
|
|
3765
|
+
tip=document.createElement("div");
|
|
3766
|
+
tip.id="stx-tooltip";
|
|
3767
|
+
tip.style.cssText="position:absolute;background:#1f2937;color:#fff;font-size:12px;line-height:1.4;padding:6px 10px;border-radius:6px;max-width:250px;z-index:999999;pointer-events:none;opacity:0;transition:opacity .15s ease;white-space:pre-wrap;word-wrap:break-word;box-shadow:0 2px 8px rgba(0,0,0,.25)";
|
|
3768
|
+
var arrow=document.createElement("div");
|
|
3769
|
+
arrow.className="stx-tip-arrow";
|
|
3770
|
+
arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent";
|
|
3771
|
+
tip.appendChild(arrow);
|
|
3772
|
+
var text=document.createElement("span");
|
|
3773
|
+
text.className="stx-tip-text";
|
|
3774
|
+
tip.appendChild(text);
|
|
3775
|
+
document.body.appendChild(tip);
|
|
3776
|
+
}
|
|
3777
|
+
|
|
3778
|
+
function position(el){
|
|
3779
|
+
var pos=el.getAttribute("x-tooltip-position")||"top";
|
|
3780
|
+
var r=el.getBoundingClientRect();
|
|
3781
|
+
var sy=window.scrollY,sx=window.scrollX;
|
|
3782
|
+
tip.style.display="block";
|
|
3783
|
+
tip.style.opacity="0";
|
|
3784
|
+
// Force layout so we can measure
|
|
3785
|
+
var tw=tip.offsetWidth,th=tip.offsetHeight;
|
|
3786
|
+
var arrow=tip.querySelector(".stx-tip-arrow");
|
|
3787
|
+
var left,top;
|
|
3788
|
+
|
|
3789
|
+
if(pos==="top"){
|
|
3790
|
+
left=r.left+r.width/2-tw/2+sx;
|
|
3791
|
+
top=r.top-th-8+sy;
|
|
3792
|
+
if(top-sy<0){pos="bottom";}
|
|
3793
|
+
}
|
|
3794
|
+
if(pos==="bottom"){
|
|
3795
|
+
left=r.left+r.width/2-tw/2+sx;
|
|
3796
|
+
top=r.bottom+8+sy;
|
|
3797
|
+
arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent;border-bottom-color:#1f2937;top:-10px;left:50%;transform:translateX(-50%)";
|
|
3798
|
+
}
|
|
3799
|
+
if(pos==="left"){
|
|
3800
|
+
left=r.left-tw-8+sx;
|
|
3801
|
+
top=r.top+r.height/2-th/2+sy;
|
|
3802
|
+
if(left-sx<0){pos="right";}
|
|
3803
|
+
}
|
|
3804
|
+
if(pos==="right"){
|
|
3805
|
+
left=r.right+8+sx;
|
|
3806
|
+
top=r.top+r.height/2-th/2+sy;
|
|
3807
|
+
arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent;border-right-color:#1f2937;left:-10px;top:50%;transform:translateY(-50%)";
|
|
3808
|
+
}
|
|
3809
|
+
|
|
3810
|
+
// Set arrow for top/left after potential flips
|
|
3811
|
+
if(pos==="top"){
|
|
3812
|
+
arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent;border-top-color:#1f2937;bottom:-10px;left:50%;transform:translateX(-50%)";
|
|
3813
|
+
}
|
|
3814
|
+
if(pos==="left"){
|
|
3815
|
+
arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent;border-left-color:#1f2937;right:-10px;top:50%;transform:translateY(-50%)";
|
|
3816
|
+
}
|
|
3817
|
+
|
|
3818
|
+
// Clamp horizontal
|
|
3819
|
+
if(left<sx+4) left=sx+4;
|
|
3820
|
+
if(left+tw>sx+window.innerWidth-4) left=sx+window.innerWidth-tw-4;
|
|
3821
|
+
|
|
3822
|
+
tip.style.left=left+"px";
|
|
3823
|
+
tip.style.top=top+"px";
|
|
3824
|
+
tip.style.opacity="1";
|
|
3825
|
+
}
|
|
3826
|
+
|
|
3827
|
+
function showTip(el){
|
|
3828
|
+
if(hideTimer){clearTimeout(hideTimer);hideTimer=null;}
|
|
3829
|
+
if(!tip) createTip();
|
|
3830
|
+
var text=el.getAttribute("x-tooltip");
|
|
3831
|
+
if(!text) return;
|
|
3832
|
+
tip.querySelector(".stx-tip-text").textContent=text;
|
|
3833
|
+
currentEl=el;
|
|
3834
|
+
position(el);
|
|
3835
|
+
}
|
|
3836
|
+
|
|
3837
|
+
function hideTip(){
|
|
3838
|
+
if(!tip) return;
|
|
3839
|
+
tip.style.opacity="0";
|
|
3840
|
+
hideTimer=setTimeout(function(){
|
|
3841
|
+
if(tip) tip.style.display="none";
|
|
3842
|
+
currentEl=null;
|
|
3843
|
+
},150);
|
|
3844
|
+
}
|
|
3845
|
+
|
|
3846
|
+
document.addEventListener("mouseover",function(e){
|
|
3847
|
+
var el=e.target.closest("[x-tooltip]");
|
|
3848
|
+
if(el) showTip(el);
|
|
3849
|
+
});
|
|
3850
|
+
document.addEventListener("mouseout",function(e){
|
|
3851
|
+
var el=e.target.closest("[x-tooltip]");
|
|
3852
|
+
if(el&&el===currentEl) hideTip();
|
|
3853
|
+
});
|
|
3854
|
+
document.addEventListener("focusin",function(e){
|
|
3855
|
+
var el=e.target.closest("[x-tooltip]");
|
|
3856
|
+
if(el) showTip(el);
|
|
3857
|
+
});
|
|
3858
|
+
document.addEventListener("focusout",function(e){
|
|
3859
|
+
var el=e.target.closest("[x-tooltip]");
|
|
3860
|
+
if(el) hideTip();
|
|
3861
|
+
});
|
|
3862
|
+
})();
|
|
3863
|
+
`}function B9(){return r1}function _9(X){let $=r1;return hZ.push(X),r1=X,$}function H9(X){hZ.pop(),r1=X}function O9(){return SX>0}function L9(X){j9.add(X)}function uZ(X){SX++;try{X()}finally{if(SX--,SX===0){let $=[...j9];j9.clear();for(let Z of $)Z()}}}function dZ(X){let $=r1;r1=null;try{return X()}finally{r1=$}}var r1=null,hZ,SX=0,j9;var mZ=E(()=>{hZ=[],j9=new Set});function E1(X){let $=X,Z=new Set,Y=new Set,J=()=>{let G=B9();if(G)Y.add(G);return $};return J.set=(G)=>{if(!Object.is(G,$)){let Q=$;if($=G,Z.forEach((q)=>q($,Q)),O9())Y.forEach((q)=>L9(q));else Y.forEach((q)=>q())}},J.update=(G)=>{J.set(G($))},J.subscribe=(G)=>{return Z.add(G),()=>Z.delete(G)},Object.defineProperty(J,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(J,"value",{get:()=>J(),set:(G)=>J.set(G),configurable:!0}),J}function PX(X){let $,Z=!0,Y=new Set,J=()=>{if(!Z)if(Z=!0,O9())Y.forEach((Q)=>L9(Q));else Y.forEach((Q)=>Q())},G=()=>{let Q=B9();if(Q)Y.add(Q);if(Z){let q=_9(J);try{$=X()}finally{H9(q)}Z=!1}return $};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function vX(X,$={}){let Z,Y=!1,J=()=>{if(Y)return;if(Z)Z(),Z=void 0;let G=_9(J);try{let Q=X();Z=typeof Q==="function"?Q:void 0}finally{H9(G)}};if($.immediate!==!1)J();return()=>{if(Y=!0,Z)Z()}}function V9(X){uZ(X)}function A9(X){F9.push(X)}function R9(X){CX.push(X)}function bw(){lZ(F9,"onMount",CX)}function Sw(){lZ(CX,"onDestroy")}function lZ(X,$,Z){let Y=X.splice(0,X.length);for(let J of Y)try{let G=J();if(Z&&typeof G==="function")Z.push(G)}catch(G){console.error(`[stx] ${$} callback threw:`,G)}}function Cw(){return{mount:F9.length,destroy:CX.length}}function xX(X){return typeof X==="function"&&X._isSignal===!0}function fX(X){return typeof X==="function"&&X._isDerived===!0}function T9(X){if(xX(X)||fX(X))return X();return X}function gX(X){return dZ(X)}function Pw(X,$){let Z=typeof X==="function"?X:()=>X,Y=E1([]),J=PX(()=>Y().reduce((q,K)=>$(q,K.action),Z())),G=!1;return vX(()=>{if(Z(),!G){G=!0;return}if(gX(()=>Y().length))Y.set([])}),[J,(q,K)=>{let U={action:q};Y.set([...Y(),U]);let W=()=>{let w=Y().filter((z)=>z!==U);if(w.length!==Y().length)Y.set(w)};if(K&&typeof K.then==="function")Promise.resolve(K).then(W,W);return W}]}var F9,CX;var hX=E(()=>{mZ();F9=[],CX=[]});var pZ={};o(pZ,{useOptimistic:()=>Pw,untrack:()=>T9,state:()=>E1,runMountCallbacks:()=>bw,runDestroyCallbacks:()=>Sw,pendingLifecycleCounts:()=>Cw,peek:()=>gX,onMount:()=>A9,onDestroy:()=>R9,isSignal:()=>xX,isDerived:()=>fX,generateSignalsRuntimeDev:()=>N9,generateSignalsRuntime:()=>cZ,effect:()=>vX,derived:()=>PX,default:()=>xw,batch:()=>V9});function cZ(){let X=vw(N9());try{let Z=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(X);return Z=Z.replace(/\}(var |let |const |function )/g,"};$1"),Z}catch{return X}}function vw(X){let $=[],Z=0,Y="console.log(";while(Z<X.length){let J=X.indexOf(Y,Z);if(J===-1){$.push(X.slice(Z));break}$.push(X.slice(Z,J));let G=1,Q=J+Y.length;while(Q<X.length&&G>0){let q=X[Q];if(q==='"'||q==="'"||q==="`"){let K=q;Q++;while(Q<X.length&&X[Q]!==K){if(X[Q]==="\\")Q++;Q++}Q++;continue}if(q==="(")G++;else if(q===")")G--;Q++}$.push("0"),Z=Q}return $.join("")}function N9(){return`
|
|
3761
3864
|
// STX Signals Runtime (Development Build)
|
|
3762
3865
|
console.log('[stx] signals runtime loading');
|
|
3763
3866
|
// Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
|
|
@@ -4891,7 +4994,7 @@ else if (immediate) {
|
|
|
4891
4994
|
var ownerScope = currentLifecycleScope() || componentScope;
|
|
4892
4995
|
return {
|
|
4893
4996
|
get current() {
|
|
4894
|
-
return ownerScope.$refs
|
|
4997
|
+
return (ownerScope.$refs && ownerScope.$refs[name]) || null;
|
|
4895
4998
|
},
|
|
4896
4999
|
get value() {
|
|
4897
5000
|
return this.current;
|
|
@@ -6313,7 +6416,7 @@ catch (e2) {
|
|
|
6313
6416
|
// :attr still works for backward compat but is reserved for structural directives.
|
|
6314
6417
|
// x-text, x-html, x-model, x-show, x-if, x-for, x-cloak, x-ref, x-data are
|
|
6315
6418
|
// handled by their own code paths below \u2014 exclude them here.
|
|
6316
|
-
var X_HANDLED = ${
|
|
6419
|
+
var X_HANDLED = ${G2()};
|
|
6317
6420
|
if (name.startsWith('@bind:') || name.startsWith('x-bind:')
|
|
6318
6421
|
|| (name.startsWith(':') && !name.startsWith('::') && !DIRECTIVE_NAMES[name.slice(1).split('.')[0]] && !EVENT_RE.test(name.slice(1)))
|
|
6319
6422
|
|| (name.startsWith('x-') && !X_HANDLED[name.split('.')[0]] && !X_HANDLED[name])) {
|
|
@@ -6477,12 +6580,16 @@ else if (name === 'ref' || name === ':ref' || name === 'x-ref' || name === 'data
|
|
|
6477
6580
|
? event.detail
|
|
6478
6581
|
: event;
|
|
6479
6582
|
|
|
6480
|
-
// Skip
|
|
6481
|
-
//
|
|
6583
|
+
// Skip an opener click that reaches UI which just became visible in
|
|
6584
|
+
// this frame. A click whose target is inside the revealed subtree is
|
|
6585
|
+
// a real interaction and must not be discarded, especially for
|
|
6586
|
+
// async lists whose controls are usable as soon as they render.
|
|
6482
6587
|
if (eventName === 'click') {
|
|
6483
6588
|
var ancestor = el;
|
|
6484
6589
|
while (ancestor) {
|
|
6485
|
-
if (ancestor.__stx_shown_at
|
|
6590
|
+
if (ancestor.__stx_shown_at
|
|
6591
|
+
&& (performance.now() - ancestor.__stx_shown_at) < 50
|
|
6592
|
+
&& !(ancestor.contains && ancestor.contains(event.target))) return;
|
|
6486
6593
|
ancestor = ancestor.parentElement;
|
|
6487
6594
|
}
|
|
6488
6595
|
}
|
|
@@ -8075,33 +8182,30 @@ catch (e2) {
|
|
|
8075
8182
|
}
|
|
8076
8183
|
|
|
8077
8184
|
// Helper to evaluate with captured scope (auto-unwraps signals).
|
|
8078
|
-
//
|
|
8079
|
-
//
|
|
8080
|
-
//
|
|
8081
|
-
//
|
|
8082
|
-
//
|
|
8083
|
-
//
|
|
8084
|
-
//
|
|
8085
|
-
// for EVERY comparison/boolean expression. bindIf was the only
|
|
8086
|
-
// directive missing this retry.
|
|
8185
|
+
// A with-scope resolves only identifiers the expression actually references,
|
|
8186
|
+
// so the conditional subscribes narrowly instead of reading every signal
|
|
8187
|
+
// in a component scope. That broad subscription made an unrelated ref
|
|
8188
|
+
// update re-enter structural removal while the real condition was already
|
|
8189
|
+
// removing the same subtree. First try the auto-unwrap proxy (so a bare
|
|
8190
|
+
// comparison like count > 5 reads the signal value), then retry with the
|
|
8191
|
+
// raw scope so call syntax like count() === 0 still works (#1733).
|
|
8087
8192
|
const evalExpr = (expression) => {
|
|
8088
8193
|
// Skip placeholder expressions like __TITLE__ (build-time placeholders)
|
|
8089
8194
|
if (/^__[A-Z_]+__$/.test(expression.trim())) {
|
|
8090
8195
|
return expression;
|
|
8091
8196
|
}
|
|
8092
8197
|
try {
|
|
8093
|
-
// Use captured componentScope (with @for vars) merged with element scope
|
|
8094
8198
|
const scope = { ...globalHelpers, ...capturedComponentScope, ...(capturedElementScope || {}) };
|
|
8095
8199
|
const unwrapScope = createExpressionAutoUnwrapProxy(scope, expression);
|
|
8096
|
-
const fn = new Function(
|
|
8097
|
-
return fn(
|
|
8200
|
+
const fn = new Function('__scope__', 'with(__scope__) { return ' + expression + ' }');
|
|
8201
|
+
return fn(unwrapScope);
|
|
8098
8202
|
}
|
|
8099
8203
|
catch (e1) {
|
|
8100
8204
|
try {
|
|
8101
8205
|
// Retry without the unwrap proxy so call-syntax (signal()) works.
|
|
8102
8206
|
const scope2 = { ...globalHelpers, ...capturedComponentScope, ...(capturedElementScope || {}) };
|
|
8103
|
-
const fn2 = new Function(
|
|
8104
|
-
return fn2(
|
|
8207
|
+
const fn2 = new Function('__scope__', 'with(__scope__) { return ' + expression + ' }');
|
|
8208
|
+
return fn2(scope2);
|
|
8105
8209
|
}
|
|
8106
8210
|
catch (e2) {
|
|
8107
8211
|
if (!(e2 instanceof ReferenceError) && !(e2 instanceof TypeError)) console.warn('[STX] Expression error:', expression, e2);
|
|
@@ -8158,11 +8262,6 @@ catch (e2) {
|
|
|
8158
8262
|
value = directSignal();
|
|
8159
8263
|
console.log('[stx] bindIf effect (direct):', expr, '\u2192', value, 'isInserted:', isInserted);
|
|
8160
8264
|
} else {
|
|
8161
|
-
// Complex expression: read all signals first for tracking, then evaluate
|
|
8162
|
-
for (var sk in fullScope) {
|
|
8163
|
-
var sv = fullScope[sk];
|
|
8164
|
-
if (sv && typeof sv === 'function' && (sv._isSignal || sv._isDerived)) sv();
|
|
8165
|
-
}
|
|
8166
8265
|
value = evalExpr(expr);
|
|
8167
8266
|
}
|
|
8168
8267
|
|
|
@@ -8600,12 +8699,19 @@ else if (timer === null) {
|
|
|
8600
8699
|
};
|
|
8601
8700
|
}
|
|
8602
8701
|
|
|
8603
|
-
// Queue work after the current synchronous signal/effect flush
|
|
8604
|
-
//
|
|
8605
|
-
//
|
|
8702
|
+
// Queue work after the current synchronous signal/effect flush and after
|
|
8703
|
+
// structural directives finish their deferred subtree hydration. The
|
|
8704
|
+
// microtask schedules this timer only after every subscriber has run, so a
|
|
8705
|
+
// :if/:for timer created later in the same signal flush runs first and its
|
|
8706
|
+
// template refs are available to the callback.
|
|
8606
8707
|
function nextTick(fn) {
|
|
8607
8708
|
return Promise.resolve().then(function() {
|
|
8608
|
-
|
|
8709
|
+
return new Promise(function(resolve) {
|
|
8710
|
+
setTimeout(function() {
|
|
8711
|
+
if (fn) fn();
|
|
8712
|
+
resolve();
|
|
8713
|
+
}, 0);
|
|
8714
|
+
});
|
|
8609
8715
|
});
|
|
8610
8716
|
}
|
|
8611
8717
|
|
|
@@ -11602,20 +11708,22 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
11602
11708
|
}
|
|
11603
11709
|
}
|
|
11604
11710
|
})();
|
|
11605
|
-
`}var
|
|
11711
|
+
`}var xw;var iZ=E(()=>{hX();a0();hX();xw={state:E1,derived:PX,effect:vX,batch:V9,onMount:A9,onDestroy:R9,isSignal:xX,isDerived:fX,untrack:T9,peek:gX,generateSignalsRuntime:cZ,generateSignalsRuntimeDev:N9}});var M9={};o(M9,{templateCache:()=>nZ,readFileCached:()=>fw,invalidateFileCacheByDir:()=>hw,invalidateFileCache:()=>gw,hashFilePath:()=>y7,getCachedSignalsRuntime:()=>mw,getCachedRouterScript:()=>lw,clearDevCaches:()=>cw,checkCache:()=>pw,cacheTemplate:()=>iw,__setSignalsGeneratorsForTest:()=>dw});import D1 from"fs";import E5 from"path";async function fw(X){let Z;for(let Y=0;Y<3;Y++)try{let G=(await D1.promises.stat(X)).mtime.getTime(),Q=o1.get(X);if(Q&&Q.mtime===G)return Q.content;let q=await Bun.file(X).text(),U=(await D1.promises.stat(X)).mtime.getTime();if(U!==G)continue;return o1.set(X,{content:q,mtime:U}),q}catch(J){Z=J;break}throw o1.delete(X),Error(`File not found: ${X}${Z?` (${Z.message})`:""}`)}function gw(X){o1.delete(X)}function hw(X){for(let $ of o1.keys())if($.startsWith(X))o1.delete($)}function dw(X){rZ=X}async function mw(X=!1){let $=rZ??await Promise.resolve().then(() => (iZ(),pZ));if(X)return $.generateSignalsRuntimeDev();if(uX===null)uX=$.generateSignalsRuntime();return uX}async function lw(){if(dX===null){let{getRouterScript:X}=await Promise.resolve().then(() => (g1(),i6));dX=X()}return dX}function cw(){o1.clear(),sZ(),uX=null,uw=null,dX=null}function oZ(X){let $={debug:X.debug===!0,middleware:(X.middleware??[]).map((Z)=>({name:Z.name,timing:Z.timing,handler:String(Z.handler)})),customDirectives:(X.customDirectives??[]).map((Z)=>({name:Z.name,hasEndTag:Z.hasEndTag===!0,handler:String(Z.handler)}))};return new Bun.CryptoHasher("sha1").update(JSON.stringify($)).digest("hex")}async function pw(X,$){try{if(!$.cachePath)return null;let Z=E5.resolve($.cachePath),Y=E5.join(Z,`${y7(X)}.html`),J=E5.join(Z,`${y7(X)}.meta.json`);if(!await i(Y)||!await i(J))return null;let G=await Bun.file(J).text(),Q=JSON.parse(G);if(Q.cacheVersion!==$.cacheVersion)return null;if(Q.optionsSignature!==oZ($))return null;if((await D1.promises.stat(X)).mtime.getTime()>Q.mtime)return null;for(let K of Q.dependencies)if(await i(K)){if((await D1.promises.stat(K)).mtime.getTime()>Q.mtime)return null}else return null;return await Bun.file(Y).text()}catch(Z){return console.warn(`Cache error for ${X}:`,Z),null}}async function iw(X,$,Z,Y){try{if(!Y.cachePath)return;let J=E5.resolve(Y.cachePath);await D1.promises.mkdir(J,{recursive:!0});let G=E5.join(J,`${y7(X)}.html`),Q=E5.join(J,`${y7(X)}.meta.json`),q=await D1.promises.stat(X);await Bun.write(G,$);let K={sourcePath:X,mtime:q.mtime.getTime(),dependencies:Array.from(Z),cacheVersion:Y.cacheVersion,optionsSignature:oZ(Y),generatedAt:Date.now()};await Bun.write(Q,JSON.stringify(K,null,2)),nZ.set(X,{output:$,mtime:q.mtime.getTime(),dependencies:Z})}catch(J){console.warn(`Failed to cache template ${X}:`,J)}}function y7(X){return new Bun.CryptoHasher("sha1").update(X).digest("hex").substring(0,nw)}var nZ,o1,uX=null,uw=null,rZ=null,dX=null,nw=16;var k9=E(()=>{A0();nZ=new Map,o1=new Map});function aZ(X){return X.includes("data-stx-runtime")}function tZ(X){let $=/window\.stx\s*\.\s*[A-Za-z_$]|\}\s*=\s*window\.stx\s*;/g;for(let Z=$.exec(X);Z!==null;Z=$.exec(X)){let Y=X.slice(Math.max(0,Z.index-80),Z.index);if(/if\s*\(\s*window\.stx\s*\)|window\.stx\s*&&/.test(Y))continue;return!0}return!1}function I9(X,$){let Z=X.indexOf("<script"),Y=X.search(/<!doctype\b/i);if(Z!==-1&&(Y===-1||Z>Y))return X.slice(0,Z)+$+`
|
|
11606
11712
|
`+X.slice(Z);let J=/<head\b[^>]*>/i.exec(X);if(J){let Q=J.index+J[0].length;return`${X.slice(0,Q)}
|
|
11607
11713
|
${$}${X.slice(Q)}`}if(X.includes("</head>")){let Q=X.indexOf("</head>");return X.slice(0,Q)+$+`
|
|
11608
|
-
`+X.slice(Q)}if(
|
|
11714
|
+
`+X.slice(Q)}if(D7(X))return bX(X,(Q)=>`${Q}
|
|
11609
11715
|
${$}`);return`${$}
|
|
11610
|
-
${X}`}async function
|
|
11611
|
-
|
|
11612
|
-
|
|
11613
|
-
`
|
|
11716
|
+
${X}`}async function mX(X,$){if(X.includes("data-stx-runtime")||X.includes("window.stx.state")||X.includes("STX Signals Runtime"))return X;if($.buildMode==="serve")return I9(X,'<script data-stx-runtime src="/_stx/runtime.js"></script>');if($.buildMode==="compile")return I9(X,'<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>');let{getCachedSignalsRuntime:Z}=await Promise.resolve().then(() => (k9(),M9)),Y=await Z($.debug);return I9(X,`<script data-stx-scoped data-stx-runtime>${Y}</script>`)}function rw(X){return/<[a-z][^>]*?\sx-tooltip\s*=/i.test(X)}function eZ(X){if(X.includes("data-stx-tooltip-runtime")||!rw(X))return X;let $=`<script data-stx-scoped data-stx-tooltip-runtime>${z9()}</script>`,Z=X.lastIndexOf("</body>");if(Z===-1)return`${X}
|
|
11717
|
+
${$}`;return`${X.slice(0,Z)}${$}
|
|
11718
|
+
${X.slice(Z)}`}async function XY(X,$){if(!X.includes("</body>"))return X;if(X.includes("data-stx-router")||X.includes("__stxRouter)return")||X.includes("__stxRouter=true"))return X;let Z=$?.router,Y="";{let q={};if(Z){if(Z.container)q.container=Z.container;if(Z.interceptAllLinks!==void 0)q.interceptAllLinks=Z.interceptAllLinks;if(Z.progress!==void 0)q.progress=Z.progress;if(Z.viewTransitions!==void 0)q.viewTransitions=Z.viewTransitions;if(Z.viewTransitionDuration!==void 0)q.viewTransitionDuration=Z.viewTransitionDuration;if(Z.viewTransitionEasing!==void 0)q.viewTransitionEasing=Z.viewTransitionEasing;if(Z.scrollToTop!==void 0)q.scrollToTop=Z.scrollToTop;if(Z.prefetch!==void 0)q.prefetch=Z.prefetch;if(Z.cache!==void 0)q.cache=Z.cache;if(Z.progressColor!==void 0)q.progressColor=Z.progressColor;if(Z.progressHeight!==void 0)q.progressHeight=Z.progressHeight}try{let K=await vZ($?.pagesDir);if(K.length>0)q.ownedRoutes=K}catch{}if(Object.keys(q).length>0)Y=`<script>window.__stxRouterConfig=${fZ(q)};</script>
|
|
11719
|
+
`}let{getCachedRouterScript:J}=await Promise.resolve().then(() => (k9(),M9)),G=$?.buildMode==="compile"?'<script data-stx-router src="/__stx/router.__STX_HASH__.js"></script>':$?.buildMode==="serve"?'<script data-stx-router src="/_stx/router.js"></script>':`<script data-stx-router>${await J()}</script>`,Q=X.lastIndexOf("</body>");return X.slice(0,Q)+Y+G+`
|
|
11720
|
+
</body>`+X.slice(Q+7)}var lX=E(()=>{xZ();w9()});var nX={};o(nX,{scanScriptTags:()=>qY,rewriteStxImportSpecifiers:()=>wY,processSignals:()=>S9,processScriptSetup:()=>UY,preEvalLiteralReactiveIfs:()=>y9,parseLoopExpression:()=>KY,hasSignalsSyntax:()=>iX,findMarkupIndexOutsideScripts:()=>pX,extractExports:()=>WY,convertSignalLoopsToAttributes:()=>b9,convertSignalDirectivesToAttributes:()=>D9});function qY(X,$={}){let Z=[];for(let Y of o$(X,A1)){let J=Y.token.match(/^<script\b([^>]*)>/i),G=Y.token.match(/<\/script\s*>$/i);if(!J||!G)continue;let Q=J[1];if($.skipAttrs){if($.skipAttrs.lastIndex=0,$.skipAttrs.test(Q))continue}let q=J[0].length,K=Y.token.length-G[0].length;Z.push({fullMatch:Y.token,attrs:Q,body:Y.token.slice(q,K),start:Y.start,end:Y.end})}return Z}function KY(X){let $=X.trim(),Z=$.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(Z){let J=Z[1].trim(),G=Z[2].trim(),{itemVar:Q,indexVar:q}=ZY(G);if(Q)return{style:"as",iterable:J,itemVar:Q,indexVar:q}}let Y=$.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(Y){let J=Y[1].trim(),G=Y[2].trim(),{itemVar:Q,indexVar:q}=ZY(J);if(Q)return{style:"in",iterable:G,itemVar:Q,indexVar:q}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function ZY(X){let $=X.trim(),Z=$.match(/^(\w+)\s*=>\s*(\w+)$/);if(Z)return{itemVar:Z[2],indexVar:Z[1]};let Y=$.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(Y)return{itemVar:Y[1],indexVar:Y[2]||null};let J=$.match(/^(\w+)\s*,\s*(\w+)$/);if(J)return{itemVar:J[1],indexVar:J[2]};let G=$.match(/^(\w+)$/);if(G)return{itemVar:G[1],indexVar:null};return{itemVar:null,indexVar:null}}function iX(X){return $2(X)}function sw(X){let $=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,Z=0,Y;while((Y=$.exec(X))!==null){let J=Y[1];if(J.startsWith("if"))Z++;else if(J==="endif")Z--;else if(Z===0)return!0}return!1}function aw(X){let $=new Set,Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,Y=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal)\s*(?:<[^>]*>)?\s*\(/g,J;while((J=Z.exec(X))!==null){let G=J[1],Q;while((Q=Y.exec(G))!==null)$.add(Q[1])}return $}function tw(X){return X.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function JY(X,$,Z){if(!X)return!1;let Y=tw(X),J=!1,G=!1,Q=!1,q=/([a-zA-Z_$][\w$]*)/g,K;while((K=q.exec(Y))!==null){let z=K[1];if(Y.slice(0,K.index).trimEnd().endsWith("."))continue;if(YY.has(z))continue;if($.has(z))J=!0;else if(Z&&z in Z)G=!0}let U=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,W;while((W=U.exec(Y))!==null){let z=W[1];if(Y.slice(0,W.index).trimEnd().endsWith("."))continue;if(YY.has(z)||Z&&z in Z)continue;Q=!0}return(J||Q)&&!G}function cX(X,$,Z){let Y=Z===void 0?` ${$}`:` ${$}="${Z.replace(/"/g,""")}"`,J=X.trim(),G=J.match(QY);if(G&&ew(G[3],G[1])){let[,Q,q,K]=G;return`<${Q}${q}${Y}>${K}</${Q}>`}return`<template${Y}>${J}</template>`}function ew(X,$){let Z=new RegExp(`<(/)?${$}(?=[\\s/>])`,"gi"),Y=0,J;while((J=Z.exec(X))!==null)if(J[1]){if(Y--,Y<0)return!1}else Y++;return!0}function D9(X,$){let Z=aw(X);function Y(J){let G=J,Q=/@if\s*\(/g,q,K=[];while((q=Q.exec(G))!==null){let U=q.index,W=U+q[0].length,w=1,z=W;while(z<G.length&&w>0){if(G[z]==="(")w++;else if(G[z]===")")w--;z++}if(w!==0)continue;let B=G.substring(W,z-1).trim(),j=z,_=1,H=j,O=/@(if\s*\(|endif)/g;O.lastIndex=j;let L;while((L=O.exec(G))!==null)if(L[1].startsWith("if"))_++;else if(L[1]==="endif"){if(_--,_===0){H=L.index+L[0].length;break}}if(_!==0)continue;let F=G.substring(j,H-6).trim(),V;if(sw(F)){let A=E7(G.substring(U,H));if(A.length===0)continue;let R=A[0].branches.filter((M)=>M.type!=="else");if(!(R.length>0&&R.every((M)=>JY(M.condition,Z,$))))continue;V=A[0].branches.map((M)=>{let N=Y(M.content);if(M.type==="elseif")return cX(N,"@else-if",M.condition??"");if(M.type==="else")return cX(N,"@else");return cX(N,"@if",M.condition??"")}).join(`
|
|
11721
|
+
`)}else{if(!JY(B,Z,$))continue;V=cX(Y(F),"@if",B)}K.push({start:U,end:H,replacement:V}),Q.lastIndex=H}for(let U=K.length-1;U>=0;U--){let{start:W,end:w,replacement:z}=K[U];G=G.substring(0,W)+z+G.substring(w)}return G}return Y(X)}function Xz(X){let $=X.trim();if($==="")return;if($==="true")return!0;if($==="false")return!1;if($==="null")return!1;if($==="undefined")return!1;if($==="NaN")return!1;if(/^-?\d+(?:\.\d+)?$/.test($)){let J=Number($);return J!==0&&!Number.isNaN(J)}let Z=$.match(/^'((?:\\.|[^'\\])*)'$/);if(Z)return Z[1].length>0;let Y=$.match(/^"((?:\\.|[^"\\])*)"$/);if(Y)return Y[1].length>0;return}function $z(X,$,Z,Y){if(E9.has(Z.toLowerCase()))return Y;let J=Z.toLowerCase(),G=X.toLowerCase(),Q=X.length,q=1,K=Y;while(K<Q){let U=X.indexOf("<",K);if(U===-1)return-1;if(K=U,X.startsWith("<!--",K)){let B=X.indexOf("-->",K+4);if(B===-1)return-1;K=B+3;continue}let W=/^<(script|style)\b/i.exec(X.slice(K,K+8));if(W){let B=X.indexOf(">",K);if(B===-1)return-1;if(X[B-1]==="/"){K=B+1;continue}let j=G.indexOf(`</${W[1].toLowerCase()}`,K);if(j===-1)return-1;let _=X.indexOf(">",j);if(_===-1)return-1;K=_+1;continue}if(X[K+1]==="/"){let B=/^<\/([a-z][\w-]*)\s*>/i.exec(X.slice(K,K+64));if(!B){K++;continue}if(B[1].toLowerCase()===J){if(q--,K+=B[0].length,q===0)return K;continue}K+=B[0].length;continue}let w=/^<([a-z][\w-]*)\b/i.exec(X.slice(K,K+64));if(!w){K++;continue}let z=X.indexOf(">",K);if(z===-1)return-1;if(w[1].toLowerCase()===J){let B=X.slice(K,z+1);if(!(/\/\s*>$/.test(B)||E9.has(J)))q++}K=z+1}return-1}function Yz(X,$){let Z=$,Y=X.length;for(;;){while(Z<Y&&X[Z]!=="<")Z++;if(Z>=Y)return!1;if(X.startsWith("<!--",Z)){let Q=X.indexOf("-->",Z+4);if(Q===-1)return!1;Z=Q+3;continue}break}if(X[Z+1]==="/")return!1;let J=X.indexOf(">",Z);if(J===-1)return!1;let G=X.slice(Z,J+1);return Zz.test(G)}function y9(X){if(!X.includes(":if")&&!X.includes(":show")&&!X.includes("x-if")&&!X.includes("x-show")&&!X.includes("@if=")&&!X.includes("@show="))return X;let $=[],Z=/<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi,Y;while((Y=Z.exec(X))!==null)$.push([Y.index,Y.index+Y[0].length]);let J=(w)=>$.some(([z,B])=>w>=z&&w<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=[],q;while((q=G.exec(X))!==null){if(J(q.index))continue;let[w,z,B,j,_,H,O]=q,L=Xz(_);if(L===void 0)continue;let F=q.index,V=F+w.length,T=!!O||/\/\s*>$/.test(w)||E9.has(z.toLowerCase())?V:$z(X,F,z,V);if(T===-1)continue;if((j===":if"||j==="x-if"||j==="@if")&&Yz(X,T)){G.lastIndex=V;continue}if(L===!0){let M=`<${z}${B}${H}${O}>`;Q.push({start:F,end:V,replacement:M});continue}Q.push({start:F,end:T,replacement:""}),G.lastIndex=T}if(Q.length===0)return X;Q.sort((w,z)=>w.start-z.start);let K=[],U=-1;for(let w of Q){if(w.start<U)continue;K.push(w),U=w.end}let W=X;for(let w=K.length-1;w>=0;w--){let{start:z,end:B,replacement:j}=K[w];W=W.substring(0,z)+j+W.substring(B)}return W}function b9(X,$){let Z=X,Y=/@(for|foreach)\s*\(/g,J,G=[],Q=[];while((J=Y.exec(Z))!==null){let q=J[1],K=J.index,U=K+J[0].length,W=1,w=U;while(w<Z.length&&W>0){if(Z[w]==="(")W++;else if(Z[w]===")")W--;w++}if(W!==0)continue;let z=Z.substring(U,w-1).trim(),B=w,j=KY(z),_=q==="for"?"@endfor":"@endforeach",H=1,O=B,L=q==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${q}\\s*\\(|end${q})`,"g");L.lastIndex=B;let F;while((F=L.exec(Z))!==null)if(F[1].startsWith(q))H++;else if(H--,H===0){O=F.index+F[0].length;break}if(H!==0)continue;let V=()=>{let k=[j.itemVar,j.indexVar].filter(Boolean);if(k.length)Q.push({start:K,end:O,vars:k})};if(j.iterable){let k=j.iterable.trim();if(k.startsWith("[")||k.startsWith("{")||k.startsWith("'")||k.startsWith('"')||k.startsWith("`")||/^-?\d/.test(k)){V();continue}let M=k.split(/[.[(]/)[0].trim(),N=$?M in $:!1,D=Q.some((I)=>K>I.start&&K<I.end&&I.vars.includes(M));if(M&&(N||D)){V();continue}}if(j.style==="as")z=j.indexVar?`(${j.itemVar}, ${j.indexVar}) in ${j.iterable}`:`${j.itemVar} in ${j.iterable}`;let A=Z.substring(B,O-_.length).trim(),R=A.match(QY),T;if(R){let[,k,M,N]=R;T=`<${k}${M} @for="${z}">${N}</${k}>`}else T=`<template @for="${z}">${A}</template>`;G.push({start:K,end:O,replacement:T})}for(let q=G.length-1;q>=0;q--){let{start:K,end:U,replacement:W}=G[q];Z=Z.substring(0,K)+W+Z.substring(U)}return Z}function Jz(X){let $=new Set,Z=[],Y=0,J=0,G=X.length,Q=(W)=>{let w=Y+1;while(w<G){let z=X[w];if(z==="\\"){w+=2;continue}if(z===W)return w+1;w++}return G},q=()=>{let W=Y+2;while(W<G&&X[W]!==`
|
|
11614
11722
|
`)W++;return W},K=()=>{let W=Y+2;while(W<G-1){if(X[W]==="*"&&X[W+1]==="/")return W+2;W++}return G},U=(W)=>{let w=W,z=0;while(w<G){let B=X[w];if(B==="/"&&X[w+1]==="/"){let j=w+2;while(j<G&&X[j]!==`
|
|
11615
|
-
`)j++;w=j;continue}if(B==="/"&&X[w+1]==="*"){let j=w+2;while(j<G-1&&!(X[j]==="*"&&X[j+1]==="/"))j++;w=j+2;continue}if(B==='"'||B==="'"||B==="`"){let j=w+1;while(j<G){if(X[j]==="\\"){j+=2;continue}if(X[j]===B){j++;break}j++}w=j;continue}if(B==="("||B==="["||B==="{"){z++,w++;continue}if(B===")"||B==="]"||B==="}"){z--,w++;continue}if(B===";"&&z===0)return w+1;w++}return G};while(Y<G){let W=X[Y];if(W==="/"&&X[Y+1]==="/"){let w=q();Z.push(X.slice(Y,w)),Y=w;continue}if(W==="/"&&X[Y+1]==="*"){let w=K();Z.push(X.slice(Y,w)),Y=w;continue}if(W==='"'||W==="'"||W==="`"){let w=Q(W);Z.push(X.slice(Y,w)),Y=w;continue}if(W==="{"){J++,Z.push(W),Y++;continue}if(W==="}"){J--,Z.push(W),Y++;continue}if(J===0){let w=Y>0?X[Y-1]:"";if(w===""||/\s/.test(w)||w===";"||w==="}"||w==="{"){let B=X.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let j=B[2],_=U(Y+B[0].length);if($.has(j)){Z.push(`/* stx: deduped const ${j} */`),Y=_;continue}$.add(j),Z.push(X.slice(Y,_)),Y=_;continue}}}Z.push(W),Y++}return Z.join("")}async function
|
|
11616
|
-
${
|
|
11723
|
+
`)j++;w=j;continue}if(B==="/"&&X[w+1]==="*"){let j=w+2;while(j<G-1&&!(X[j]==="*"&&X[j+1]==="/"))j++;w=j+2;continue}if(B==='"'||B==="'"||B==="`"){let j=w+1;while(j<G){if(X[j]==="\\"){j+=2;continue}if(X[j]===B){j++;break}j++}w=j;continue}if(B==="("||B==="["||B==="{"){z++,w++;continue}if(B===")"||B==="]"||B==="}"){z--,w++;continue}if(B===";"&&z===0)return w+1;w++}return G};while(Y<G){let W=X[Y];if(W==="/"&&X[Y+1]==="/"){let w=q();Z.push(X.slice(Y,w)),Y=w;continue}if(W==="/"&&X[Y+1]==="*"){let w=K();Z.push(X.slice(Y,w)),Y=w;continue}if(W==='"'||W==="'"||W==="`"){let w=Q(W);Z.push(X.slice(Y,w)),Y=w;continue}if(W==="{"){J++,Z.push(W),Y++;continue}if(W==="}"){J--,Z.push(W),Y++;continue}if(J===0){let w=Y>0?X[Y-1]:"";if(w===""||/\s/.test(w)||w===";"||w==="}"||w==="{"){let B=X.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let j=B[2],_=U(Y+B[0].length);if($.has(j)){Z.push(`/* stx: deduped const ${j} */`),Y=_;continue}$.add(j),Z.push(X.slice(Y,_)),Y=_;continue}}}Z.push(W),Y++}return Z.join("")}async function UY(X,$,Z){let Y=qY(X,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),J=/\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 Y){let O=H.body;if(d1(H.attrs))O=m1(O);if(J.test(O))G.push({fullMatch:H.fullMatch,attrs:H.attrs,content:O})}if(G.length===0)return{output:X,setupCode:null};let Q=`__stx_setup_${Date.now()}_${ow++}`,{hasUserImports:q,bundleClientScript:K}=await a("stx/client-script-bundler",()=>Promise.resolve().then(() => (_7(),B7))),U=[];for(let H=0;H<G.length;H++){let O=G[H].content;if(O=A5(O).code,q(O))O=await K(O,$||"",{projectRoot:process.cwd()});O=O.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(F,V)=>wY(V));let L=u0(O);U.push(`// \u2500\u2500 merged signal script #${H+1} \u2500\u2500
|
|
11724
|
+
${L}`)}let W=U.join(`
|
|
11617
11725
|
|
|
11618
|
-
`);W=
|
|
11726
|
+
`);W=Jz(W);let w=WY(W),z=w.split(",").map((H)=>H.trim()).filter(Boolean),B=LX(W,Z),j=`
|
|
11619
11727
|
<script data-stx-scoped>
|
|
11620
11728
|
function ${Q}() {
|
|
11621
11729
|
${F5("const",z)}
|
|
@@ -11624,18 +11732,18 @@ ${V5(`${B}${W}`)}
|
|
|
11624
11732
|
}
|
|
11625
11733
|
window.__stx_latestSetup=${Q};
|
|
11626
11734
|
if(window.stx)window.stx._latestSetup=${Q};
|
|
11627
|
-
</script>`,_=X;for(let H of G)_=_.split(H.fullMatch).join("");if(_.includes("<body"))_=_.replace(new RegExp(`<body(${
|
|
11735
|
+
</script>`,_=X;for(let H of G)_=_.split(H.fullMatch).join("");if(_.includes("<body"))_=_.replace(new RegExp(`<body(${$Y})>`),`<body$1 data-stx="${Q}">`);else{let H=["script","style","html","head","meta","link","title","!doctype"],O=!1;_=_.replace(new RegExp(`<([a-zA-Z][a-zA-Z0-9-]*)\\b(${$Y})>`,"gi"),(L,F,V)=>{if(O||H.includes(F.toLowerCase()))return L;return O=!0,`<${F}${V} data-stx="${Q}">`})}return{output:_,setupCode:j}}function WY(X){let $=X,Z=[],Y=new Set,J=0,G=0,Q=$.length,q="",K=()=>{G++;let j=!1;while(G<Q){let _=$[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($[G]))G++;return}if(_===`
|
|
11628
11736
|
`)return;G++}},U=()=>{if(!q)return!0;if(/[\w)\]]/.test(q))return!1;return!0},W=(j)=>{G++;while(G<Q){if($[G]==="\\"){G+=2;continue}if($[G]===j){G++;return}G++}},w=()=>{G++;while(G<Q){if($[G]==="\\"){G+=2;continue}if($[G]==="`"){G++;return}if($[G]==="$"&&$[G+1]==="{"){G+=2;let j=1;while(G<Q&&j>0)if($[G]==="{")j++,G++;else if($[G]==="}")j--,G++;else if($[G]==="'"||$[G]==='"')W($[G]);else if($[G]==="`")w();else G++;continue}G++}},z=()=>{if($[G]==="/"&&$[G+1]==="/"){while(G<Q&&$[G]!==`
|
|
11629
|
-
`)G++;return!0}if($[G]==="/"&&$[G+1]==="*"){G+=2;while(G<Q-1&&!($[G]==="*"&&$[G+1]==="/"))G++;return G+=2,!0}return!1},B=()=>{if(J!==0)return;let j=$.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s
|
|
11737
|
+
`)G++;return!0}if($[G]==="/"&&$[G+1]==="*"){G+=2;while(G<Q-1&&!($[G]==="*"&&$[G+1]==="/"))G++;return G+=2,!0}return!1},B=()=>{if(J!==0)return;let j=$.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*(?:[!:;,\n]|=(?!=)|$)/);if(j){let F=j[2];if(!Y.has(F))Z.push(F),Y.add(F);return}let _=$.slice(G).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(_){_[1].split(",").forEach((F)=>{let V=F.trim();if(!V)return;let A=V.indexOf(":"),T=(A>=0?V.slice(A+1).trim():V).split(/[\s=]/)[0];if(T&&!Y.has(T))Z.push(T),Y.add(T)});return}let H=$.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&&!Y.has(A))Z.push(A),Y.add(A)});return}let O=$.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let F=O[1];if(!Y.has(F))Z.push(F),Y.add(F);return}let L=$.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(L){let F=L[1];if(!Y.has(F))Z.push(F),Y.add(F)}};while(G<Q){if(z())continue;if($[G]==="'"||$[G]==='"'){W($[G]),q=$[G-1];continue}if($[G]==="`"){w(),q="`";continue}if($[G]==="/"&&$[G+1]!=="/"&&$[G+1]!=="*"&&U()){K(),q="/";continue}if($[G]==="{"){J++,q="{",G++;continue}if($[G]==="}"){J--,q="}",G++;continue}if(J===0&&/[a-z]/i.test($[G])&&(G===0||/\s|[;{}()]/.test($[G-1])))B();if(!/\s/.test($[G]))q=$[G];G++}return Z.join(", ")}async function S9(X,$,Z,Y){if(!iX(X))return X;let J=X;if($.skipSignalsRuntime)return J;let{output:G,setupCode:Q}=await UY(J,Z,Y);if(J=G,J=await mX(J,$),Q){let W=pX(J,/<\/head>/i),w=W===-1?pX(J,/<body[^>]*>/i):-1;if(W!==-1)J=`${J.slice(0,W)}${Q}
|
|
11630
11738
|
${J.slice(W)}`;else if(w!==-1){let z=/<body[^>]*>/i.exec(J.slice(w))[0],B=w+z.length;J=`${J.slice(0,B)}
|
|
11631
11739
|
${Q}${J.slice(B)}`}else J=`${J}
|
|
11632
|
-
${Q}`}let K=J.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),U=K&&/data-stx/.test(K[1]);if(!Q&&!U&&K&&!/data-stx-auto/.test(K[1])){let W=/<body[^>]*>/i,w=
|
|
11633
|
-
`)J++;return!0}if(X[J]==="/"&&X[J+1]==="*"){J+=2;while(J<G-1&&!(X[J]==="*"&&X[J+1]==="/"))J++;return J+=2,!0}return!1},U=()=>{if(Y!==0)return;let W=X.slice(J).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(W){let j=W[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(_))$.push(_),Z.add(_);return}let w=X.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(w){let j=w[2];if(!Z.has(j))$.push(j),Z.add(j);return}let z=X.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let j=z[1];if(!Z.has(j))$.push(j),Z.add(j);return}let B=X.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!Z.has(j))$.push(j),Z.add(j)}};while(J<G){if(K())continue;if(X[J]==="'"||X[J]==='"'){Q(X[J]);continue}if(X[J]==="`"){q();continue}if(X[J]==="{"){Y++,J++;continue}if(X[J]==="}"){Y--,J++;continue}if(Y===0&&/[a-z]/i.test(X[J])&&(J===0||/\s|[;{}()]/.test(X[J-1])))U();J++}return $}function
|
|
11740
|
+
${Q}`}let K=J.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),U=K&&/data-stx/.test(K[1]);if(!Q&&!U&&K&&!/data-stx-auto/.test(K[1])){let W=/<body[^>]*>/i,w=pX(J,W);if(w!==-1){let z=J.slice(0,w),B=J.slice(w).replace(W,(j)=>j.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));J=z+B}}return J}function pX(X,$){let Z=/<(script|style)\b[\s\S]*?<\/\1>/gi,Y=[],J;while((J=Z.exec(X))!==null)Y.push([J.index,J.index+J[0].length]);let G=new RegExp($.source,$.flags.replace(/[gy]/g,"")),Q=0;while(Q<X.length){let q=G.exec(X.slice(Q));if(!q)return-1;let K=Q+q.index;if(!Y.some(([W,w])=>K>=W&&K<w))return K;Q=K+Math.max(q[0].length,1)}return-1}function wY(X){let $=[];for(let Z of X.split(",")){let Y=Z.trim();if(!Y||Y.startsWith("type "))continue;let J=Y.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(J&&J[1]!==J[2])$.push(`${J[2]} = ${J[1]}`)}if($.length===0)return GY;return`var ${$.join(", ")}; ${GY}`}var ow=0,$Y=`(?:"[^"]*"|'[^']*'|[^>"'])*`,QY,YY,E9,Zz,GY="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var b7=E(()=>{V7();yX();a0();d$();A0();lX();l1();j7();QY=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;YY=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"]);E9=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);Zz=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import Gz from"fs";import h from"path";function qz(X){let $=new WeakSet;try{let Z=(Y)=>{if(Y===void 0)return{__stxType:"undefined"};if(typeof Y==="bigint")return{__stxType:"bigint",value:Y.toString()};if(typeof Y==="function"||typeof Y==="symbol")throw TypeError("Non-serializable component input");if(Y===null||typeof Y!=="object")return Y;if($.has(Y))throw TypeError("Circular component input");if($.add(Y),Y instanceof Date)return{__stxType:"date",value:Y.toISOString()};if(Array.isArray(Y))return Y.map(Z);let J={};for(let G of Object.keys(Y).sort())J[G]=Z(Y[G]);return J};return JSON.stringify(Z(X))}catch{return null}}function zY(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function Kz(X){return/\bjs\b/.test(X)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test(X)}function d1(X){return!Kz(X)}function m1(X){try{let $=X.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");$=$.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Z=[];$=$.replace(/\{!![\s\S]*?!!\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),$=$.replace(/\{\{\{[\s\S]*?\}\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),$=$.replace(/\{\{[\s\S]*?\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`});let J=new Bun.Transpiler({loader:"ts",target:"browser",define:v0()}).transformSync($);for(let G=0;G<Z.length;G++)J=J.replace(`"__STX_EXPR_${G}__"`,Z[G]),J=J.replace(`'__STX_EXPR_${G}__'`,Z[G]);return J}catch($){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",$);return X}}function Uz(X){let $=[],Z=new Set,Y=0,J=0,G=X.length,Q=(W)=>{J++;while(J<G){if(X[J]==="\\"){J+=2;continue}if(X[J]===W){J++;return}J++}},q=()=>{J++;while(J<G){if(X[J]==="\\"){J+=2;continue}if(X[J]==="`"){J++;return}if(X[J]==="$"&&X[J+1]==="{"){J+=2;let W=1;while(J<G&&W>0)if(X[J]==="{")W++,J++;else if(X[J]==="}")W--,J++;else if(X[J]==="'"||X[J]==='"')Q(X[J]);else if(X[J]==="`")q();else J++;continue}J++}},K=()=>{if(X[J]==="/"&&X[J+1]==="/"){while(J<G&&X[J]!==`
|
|
11741
|
+
`)J++;return!0}if(X[J]==="/"&&X[J+1]==="*"){J+=2;while(J<G-1&&!(X[J]==="*"&&X[J+1]==="/"))J++;return J+=2,!0}return!1},U=()=>{if(Y!==0)return;let W=X.slice(J).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(W){let j=W[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(_))$.push(_),Z.add(_);return}let w=X.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(w){let j=w[2];if(!Z.has(j))$.push(j),Z.add(j);return}let z=X.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let j=z[1];if(!Z.has(j))$.push(j),Z.add(j);return}let B=X.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!Z.has(j))$.push(j),Z.add(j)}};while(J<G){if(K())continue;if(X[J]==="'"||X[J]==='"'){Q(X[J]);continue}if(X[J]==="`"){q();continue}if(X[J]==="{"){Y++,J++;continue}if(X[J]==="}"){Y--,J++;continue}if(Y===0&&/[a-z]/i.test(X[J])&&(J===0||/\s|[;{}()]/.test(X[J-1])))U();J++}return $}function Wz(X){let $=[],Z=0,Y=0,J=null;for(let G=0;G<X.length;G++){let Q=X[G];if(J){if(Q==="\\"){G++;continue}if(Q===J)J=null;continue}if(Q==='"'||Q==="'"||Q==="`"){J=Q;continue}if(Q==="("||Q==="["||Q==="{")Z++;else if(Q===")"||Q==="]"||Q==="}")Z--;else if(Q===","&&Z===0)$.push(X.slice(Y,G)),Y=G+1}if(Y<X.length)$.push(X.slice(Y));return $}function wz(X){let $=0,Z=null;for(let Y=0;Y<X.length;Y++){let J=X[Y];if(Z){if(J==="\\"){Y++;continue}if(J===Z)Z=null;continue}if(J==='"'||J==="'"||J==="`"){Z=J;continue}if(J==="("||J==="["||J==="{")$++;else if(J===")"||J==="]"||J==="}")$--;else if(J==="="&&$===0){let G=X[Y-1],Q=X[Y+1];if(G==="!"||G==="<"||G===">"||G==="=")continue;if(Q==="="||Q===">")continue;return Y}}return-1}function zz(X,$){try{let Z=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec(X);if(!Z)return;let Y=Z.index-1;while(Y>=0&&/\s/.test(X[Y]))Y--;if(X[Y]!=="}")return;let J=Y,G=0,Q=-1;for(;Y>=0;Y--){let K=X[Y];if(K==="}")G++;else if(K==="{"){if(G--,G===0){Q=Y;break}}}if(Q===-1)return;let q=X.slice(Q+1,J);for(let K of Wz(q)){let U=K.trim();if(!U||U.startsWith("..."))continue;let W=wz(U);if(W===-1)continue;let w=U.slice(0,W).trim();if(!/^[A-Z_$][\w$]*$/i.test(w))continue;if($[w]!==void 0)continue;let z=U.slice(W+1).trim();if(!z)continue;try{let B=Object.keys($),j=Function(...B,`"use strict"; return (${z});`);$[w]=j(...B.map((_)=>$[_]))}catch{}}}catch{}}async function sX(X,$,Z,Y,J){let G=X.endsWith(".stx")?X.slice(0,-4):X,Q=(H)=>H.split("-").map((O)=>O.charAt(0).toUpperCase()+O.slice(1)).join(""),q=(H)=>H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),K=Z.__importedComponents;if(K){for(let H of[G,G.toLowerCase(),Q(G),q(G)])if(K.has(H))return!0}let U=[...new Set([`${G}.stx`,`${Q(G)}.stx`,`${q(G)}.stx`])],W=typeof J.root==="string"?h.resolve(J.root):void 0,w=W??h.dirname(Y),z=[],B=(H)=>{if(H&&!z.includes(H))z.push(H)},j=Z.__originalFilePath;if(j)B(h.join(h.dirname(j),"components"));B($),B(J._rootComponentsDir),B(h.join(h.dirname(Y),"components")),B(J.componentsDir);let _=J._pluginComponentDirs;if(Array.isArray(_))for(let H of _)B(typeof H==="string"?H:null);if(W)B(h.resolve(W,"resources/views/components")),B(h.resolve(W,"resources/components")),B(h.resolve(W,"src/components")),B(h.resolve(W,"components"));if(G.startsWith("./")||G.startsWith("../"))return i(h.resolve(h.dirname(Y),`${G}.stx`));for(let H of z){let O=h.isAbsolute(H)?H:h.resolve(w,H);for(let L of U)if(await i(h.join(O,L)))return!0}return!1}function jz(X){return X==="visible"||X==="idle"||X==="interaction"||X.startsWith("media:")}function Bz(X){if(!X)return!1;let $=X.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"");return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test($)}function _z(X){let $=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 Y of X){let J;while((J=Z.exec(Y))!==null)$.add(J[1]);Z.lastIndex=0}return[...$]}async function s1(X,$,Z,Y,J,G,Q,q=new Set,K){let{extractVariables:U}=await a("stx/variable-extractor",()=>Promise.resolve().then(() => (I7(),EX))),W=q??new Set;if(W.has(X))return`[Circular component reference: ${X}]`;let w=new Set(W);w.add(X);let z=typeof $.client==="string"?$.client.trim():"";if("client"in $)delete $.client;let B=z&&z!=="load"&&jz(z)?z:"";try{let j=(S)=>S.split("-").map((g)=>g.charAt(0).toUpperCase()+g.slice(1)).join(""),_=(S)=>S.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),H=X.endsWith(".stx")?X.slice(0,-4):X,O=null,L=J.__importedComponents;if(L){let S=[H,H.toLowerCase(),j(H),_(H)];for(let g of S)if(L.has(g)){O=L.get(g);break}}let F=[];if(!O){let S=[`${H}.stx`,`${j(H)}.stx`,`${_(H)}.stx`],g=[...new Set(S)],m=J.__originalFilePath,d=[];if(m){let K0=h.join(h.dirname(m),"components");d.push(K0)}if(Y)d.push(Y);let Y0=Q._rootComponentsDir;if(typeof Y0==="string"&&!d.includes(Y0))d.push(Y0);let _0=h.join(h.dirname(G),"components");if(!d.includes(_0))d.push(_0);if(Q.componentsDir&&Q.componentsDir!==Y&&!d.includes(Q.componentsDir))d.push(Q.componentsDir);let Q1=Q._pluginComponentDirs;if(Array.isArray(Q1)){for(let K0 of Q1)if(typeof K0==="string"&&!d.includes(K0))d.push(K0)}let p0=typeof Q.root==="string"?h.resolve(Q.root):void 0,P0=p0??h.dirname(G),s0=[];if(p0)s0.push(h.resolve(p0,"resources/views/components")),s0.push(h.resolve(p0,"resources/components")),s0.push(h.resolve(p0,"src/components")),s0.push(h.resolve(p0,"components"));s0.push(h.resolve(import.meta.dir,"components"));for(let K0 of s0)if(!d.includes(K0))d.push(K0);let x1=[...new Set(d.map((K0)=>{if(!K0)return K0;return h.isAbsolute(K0)?K0:h.resolve(P0,K0)}))];d.length=0,d.push(...x1);let O1=`${H}\x00${G}\x00${x1.join("\x00")}`,w5=oX.get(O1);if(w5)if(await i(w5))O=w5;else oX.delete(O1);if(!O&&(H.startsWith("./")||H.startsWith("../")))O=h.resolve(h.dirname(G),`${H}.stx`),F.push(O);else if(!O)for(let K0 of d){if(!K0)continue;for(let r of g){let h0=h.join(K0,r);if(F.push(h0),await i(h0)){O=h0;break}}if(O)break;if(!O)try{let r=await import("fs");if(!r.statSync(K0,{throwIfNoEntry:!1})?.isDirectory())continue;let o5=8,z5=[{path:K0,depth:0}];while(z5.length>0&&!O){let q1=z5.pop();if(q1.depth>=o5)continue;let a7;try{a7=r.readdirSync(q1.path,{withFileTypes:!0})}catch{continue}for(let t7 of a7){if(!t7.isDirectory())continue;if(t7.name==="node_modules"||t7.name.startsWith("."))continue;let i4=h.join(q1.path,t7.name);for(let PK of g){let U$=h.join(i4,PK);if(F.push(U$),await i(U$)){O=U$;break}}if(O)break;z5.push({path:i4,depth:q1.depth+1})}}}catch{}if(O)break}if(O)oX.set(O1,O)}if(!O||!await i(O)){let S=F.length>0?`
|
|
11634
11742
|
Searched paths:
|
|
11635
|
-
${F.map((
|
|
11636
|
-
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${X}']${
|
|
11637
|
-
`)}`}if(Z&&
|
|
11638
|
-
${F5("const",[...
|
|
11743
|
+
${F.map((g)=>` - ${g}`).join(`
|
|
11744
|
+
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${X}']${S}`}K.add(O);let V;if(rX.has(O))V=rX.get(O);else try{V=await Bun.file(O).text(),rX.set(O,V)}catch(S){return`[Error loading component: ${S instanceof Error?S.message:String(S)}]`}let A=new Set(["__originalFilePath","__importedComponents",FX,"__stx_client_signal_names"]),R={};for(let[S,g]of Object.entries(J))if(!S.startsWith("__")||A.has(S))R[S]=g;let{extractSlotContent:T}=await a("stx/slots",()=>Promise.resolve().then(() => (K9(),q9))),k=T(Z),M={};if(k.defaultSlot?.trim())M.default=k.defaultSlot;for(let[S,g]of k.namedSlots)M[S]=g.content;let N={...R,...$,props:$,slot:Z,$slots:M,__processedComponents:w,__sections:{},__stx_signals_gate:w1(V)||Bz(Z)};zz(V,N);let D=V,I=MX(D);if(I)D=I.content.trim();let C=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,b=[...V.matchAll(C)],y=[],v=b.some((S)=>/\bserver\b/.test(S[1]||"")&&/\bcache\b/.test(S[1]||""))&&b.every((S)=>/\bserver\b/.test(S[1]||"")),x=null,f=null;if(v){let S=qz({props:$,slot:Z,buildMode:Q.buildMode??"",skipEventDirectives:Q.skipEventDirectives===!0});if(S!==null){x=`${O}\x00${S}`;let g=C9.get(x);if(g){for(let m of g.dependencies)K.add(m);return g.output}f=new Set(K)}}for(let S of b){let g=S[1]||"",m=S[2]||"",d=g.includes("server");if(d1(g)&&m.trim())m=m1(m);if(d&&m)try{await U(m,N,O)}catch(_0){}if(!d){let _0=m.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),Q1=_0.includes("{{")&&_0.includes("}}"),p0=_0.includes("{!!")&&_0.includes("!!}");if(Q1||p0)_0=TX(_0,N);let P0=g.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");y.push(`<script${P0}>${_0}</script>`)}}let c=V.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),l=c?c[1]:"",D0=c?c[2]:"",y0="",c0=l&&/\bscoped\b/i.test(l);if(c)y0=`<style${l}>${D0}</style>`;let W0=D;if(W0=W0.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),c)W0=W0.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let S=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,g=[];if(W0=W0.replace(S,(m,d)=>{let Y0=d.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(Y0)g.push(`<style${Y0[1]}>${Y0[2]}</style>`);return""}),W0=W0.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),g.length>0)y0=`${y0}${g.join(`
|
|
11745
|
+
`)}`}if(Z&&W0.includes("{{ text || slot }}"))W0=W0.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Z);let{applySlots:e}=await a("stx/slots",()=>Promise.resolve().then(() => (K9(),q9))),{defaultSlot:T0,namedSlots:o0}=k;W0=await e(W0,T0,o0,N);let H1=y.some((S)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(S)),W5=_z(y),n=Array.isArray(N.__stx_client_signal_names)?N.__stx_client_signal_names:[];if(W5.length>0||n.length>0)N.__stx_client_signal_names=[...new Set([...n,...W5])];let t={...Q,_rootComponentsDir:Q._rootComponentsDir||Q.componentsDir,componentsDir:h.dirname(O),skipSignalsRuntime:!0,skipEventDirectives:H1||y.length===0,defaultLayout:void 0};N.__stxProcessingDepth=(J.__stxProcessingDepth||0)+1;let q0=await R0(W0,N,O,t,K),b0=new Set(Array.isArray(J.__stx_preserved_client_expressions)?J.__stx_preserved_client_expressions:[]);for(let S of q0.matchAll(/\{\{([\s\S]*?)\}\}/g))b0.add(S[1].trim());if(b0.size>0)J.__stx_preserved_client_expressions=[...b0];let j0=`stx_${H.replace(/[^a-zA-Z0-9]/g,"_")}_${++Qz}_${Math.random().toString(36).slice(2,8)}`,P=q0;if(H1){let S="";if(Object.keys($).length>0)try{S=` data-stx-props="${zY(JSON.stringify($))}"`}catch{}let g=B?` stx-hydrate="${zY(B)}"`:"";P=`<div data-stx-scope="${j0}"${S}${g}>${q0}</div>`;let m=await Promise.all(y.map(async(d)=>{let Y0=d.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!Y0)return d;let[,_0,Q1]=Y0,p0=HX(Q1,{filePath:O,projectRoot:process.cwd()}),P0=p0.code,s0=OX(p0.styles);P0=A5(P0).code;let{hasUserImports:x1,bundleClientScript:O1}=await a("stx/client-script-bundler",()=>Promise.resolve().then(() => (_7(),B7)));if(x1(P0))P0=await O1(P0,O,{projectRoot:process.cwd(),minify:Q.buildMode==="compile"});let{rewriteStxImportSpecifiers:w5}=await a("stx/signal-processing",()=>Promise.resolve().then(() => (b7(),nX)));P0=P0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(q1,a7)=>w5(a7));let K0=u0(P0),r=Uz(K0),h0=`function(__scopeId) {
|
|
11746
|
+
${F5("const",[...X2,...r],K0)}
|
|
11639
11747
|
const __scope = window.stx._scopes = window.stx._scopes || {};
|
|
11640
11748
|
const __scopeVars = __scope[__scopeId] = __scope[__scopeId] || {};
|
|
11641
11749
|
__scopeVars.$refs = __scopeVars.$refs || {};
|
|
@@ -11649,12 +11757,12 @@ ${F.map((v)=>` - ${v}`).join(`
|
|
|
11649
11757
|
const onDestroy = (fn) => __scopeVars.__destroyCallbacks.push(fn);
|
|
11650
11758
|
|
|
11651
11759
|
try {
|
|
11652
|
-
${
|
|
11760
|
+
${K0}
|
|
11653
11761
|
|
|
11654
11762
|
// Register all defined signals and functions in this scope
|
|
11655
11763
|
const __localVars = {};
|
|
11656
11764
|
try {
|
|
11657
|
-
${
|
|
11765
|
+
${r.map((q1)=>`if (typeof ${q1} !== 'undefined') __localVars['${q1}'] = ${q1};`).join(`
|
|
11658
11766
|
`)}
|
|
11659
11767
|
}
|
|
11660
11768
|
catch (e) {}
|
|
@@ -11663,29 +11771,29 @@ catch (e) {}
|
|
|
11663
11771
|
finally {
|
|
11664
11772
|
window.__STX_CURRENT_ELEMENT__ = __previousCurrentElement;
|
|
11665
11773
|
}
|
|
11666
|
-
}`,
|
|
11667
|
-
`+
|
|
11668
|
-
`),
|
|
11669
|
-
`+
|
|
11670
|
-
`+
|
|
11671
|
-
`+
|
|
11672
|
-
`),
|
|
11774
|
+
}`,o5=B?null:S2(J,h0),z5=o5?`window.__stxComponentFactories[${JSON.stringify(o5)}](${JSON.stringify(j0)});`:`(${h0})(${JSON.stringify(j0)});`;if(B)return`${s0}<script type="stx/island" data-stx-island="${j0}" data-stx-scoped${_0}>${z5}</script>`;return`${s0}<script data-stx-scoped data-stx-run="always"${_0}>${z5}</script>`}));if(P=P+`
|
|
11775
|
+
`+m.join(`
|
|
11776
|
+
`),y0)P+=`
|
|
11777
|
+
`+y0}else{if(y0)P+=`
|
|
11778
|
+
`+y0;if(y.length>0){let S=N.__stx_event_bindings||[],g=L7(N),m=await Promise.all(y.map(async(d)=>{let Y0=d.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!Y0)return d;return await F7(Y0[1],{eventBindings:S,templateContent:P,filePath:O,projectRoot:process.cwd(),serverData:g})}));P+=`
|
|
11779
|
+
`+m.join(`
|
|
11780
|
+
`),N.__stx_event_bindings=[]}}if(c0){let S=NX(P,O);if(S.hasScoped)P=S.html}if(x&&f)C9.set(x,{output:P,dependencies:[...K].filter((S)=>!f.has(S))});return P}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{W.delete(X)}}async function i(X){return Bun.file(X).exists()}function P9(X,$){let Z=h.resolve($),Y=h.resolve(X),J=Z.endsWith(h.sep)?Z:Z+h.sep;if(Y===Z||Y.startsWith(J))return Y;return null}async function v9(X,$,Z,Y){let J=await Hz(X,$,Z,Y);if(J===null)return null;let G=P9(J,process.cwd());if(G)return G;let Q=[Z.root,Z.layoutsDir,Z.componentsDir,Z.partialsDir,Z.pagesDir].filter((q)=>typeof q==="string"&&q.length>0);for(let q of Q){let K=h.isAbsolute(q)?q:h.resolve(process.cwd(),q);if(P9(J,K))return h.resolve(J)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${J} (template: ${X}, from: ${$})`),null}async function Hz(X,$,Z,Y){if(Z.debug)console.log(`Resolving template path: ${X} from ${$}`);let J=h.dirname($),G=process.cwd();if(X.startsWith("/")){let z=h.join(G,X),B=P9(z,G);if(!B)return console.warn(`[stx] rejected template path that escapes project root: ${X} (from ${$})`),null;if(Z.debug)console.log(`Checking absolute path: ${B}`);if(await i(B)&&Y)Y.add(B);return B}let Q=h.join(J,X);if(await i(Q)){if(Z.debug)console.log(`Found direct path: ${Q}`);if(Y)Y.add(Q);return Q}if(!X.endsWith(".stx")&&!X.endsWith(".jsx")&&!X.endsWith(".tsx"))for(let z of[".stx",".tsx",".jsx"]){let B=`${Q}${z}`;if(await i(B)){if(Z.debug)console.log(`Found direct path with extension: ${B}`);if(Y)Y.add(B);return B}}let q="",K=h.resolve(J),U=process.cwd();for(let z=0;z<10;z++){let B=h.join(K,"layouts"),j=!1;try{j=Gz.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){q=B;break}let _=h.dirname(K);if(_===K||_.length<U.length)break;K=_}if(q){let z=X.startsWith("layouts/")?X.slice(8):X,B=h.join(q,z);if(await i(B)){if(Z.debug)console.log(`Found in current layouts dir: ${B}`);if(Y)Y.add(B);return B}if(!z.endsWith(".stx")){let j=`${B}.stx`;if(await i(j)){if(Z.debug)console.log(`Found in current layouts dir with extension: ${j}`);if(Y)Y.add(j);return j}}}if(Z.layoutsDir){let z=h.isAbsolute(Z.layoutsDir)?Z.layoutsDir:h.resolve(process.cwd(),Z.layoutsDir),B=X.startsWith("layouts/")?X.slice(8):X,j=h.join(z,B);if(await i(j)){if(Z.debug)console.log(`Found in options.layoutsDir: ${j}`);if(Y)Y.add(j);return j}if(!X.endsWith(".stx")){let _=`${j}.stx`;if(await i(_)){if(Z.debug)console.log(`Found in options.layoutsDir with extension: ${_}`);if(Y)Y.add(_);return _}}}if(X.startsWith("layouts/")||X.includes("/layouts/")){let z=X.split("layouts/"),B=h.join(Z.partialsDir||J,"layouts",z[1]);if(await i(B)){if(Z.debug)console.log(`Found in layouts path: ${B}`);if(Y)Y.add(B);return B}if(!B.endsWith(".stx")){let j=`${B}.stx`;if(await i(j)){if(Z.debug)console.log(`Found in layouts path with extension: ${j}`);if(Y)Y.add(j);return j}}}if(Z.partialsDir){if(q=h.join(Z.partialsDir,"layouts"),await i(q)){let z=h.join(q,X);if(await i(z)){if(Z.debug)console.log(`Found in partials layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!X.endsWith(".stx")){let B=`${z}.stx`;if(await i(B)){if(Z.debug)console.log(`Found in partials layouts dir with extension: ${B}`);if(Y)Y.add(B);return B}}}}let W=Z.partialsDir||h.join(process.cwd(),"views"),w=h.join(W,X);if(await i(w)){if(Z.debug)console.log(`Found in views path: ${w}`);if(Y)Y.add(w);return w}if(!X.endsWith(".stx")){let z=`${w}.stx`;if(await i(z)){if(Z.debug)console.log(`Found in views path with extension: ${z}`);if(Y)Y.add(z);return z}}if(J.includes("temp")){let z=h.join(h.dirname(J),"layouts",X);if(await i(z)){if(Z.debug)console.log(`Found in temp layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!X.endsWith(".stx")){let B=`${z}.stx`;if(await i(B)){if(Z.debug)console.log(`Found in temp layouts dir with extension: ${B}`);if(Y)Y.add(B);return B}}}if(Z.debug)console.warn(`Template not found after trying all paths: ${X} (referenced from ${$})`);else console.warn(`Template not found: ${X} (referenced from ${$})`);return null}function jY(X,$,Z){let Y=0,J="",G="";try{if(typeof $==="number"&&$>=0){let Q=X.split(`
|
|
11673
11781
|
`),q=0;for(let K=0;K<Q.length;K++)if(q+=Q[K].length+1,q>=$){Y=K+1,J=Q[K].trim();let U=Math.max(0,K-2),W=Math.min(Q.length,K+3);G=Q.slice(U,W).map((w,z)=>{let B=U+z+1;return`${B===Y?"> ":" "}${B}: ${w}`}).join(`
|
|
11674
|
-
`);break}}else if(Z){let Q=X.indexOf(Z);if(Q>=0)return
|
|
11782
|
+
`);break}}else if(Z){let Q=X.indexOf(Z);if(Q>=0)return jY(X,Q)}}catch{}return{lineNumber:Y,lineContent:J,context:G}}function w0(X,$,Z,Y,J,G){let{lineNumber:Q,context:q}=jY(Y,J,G),K=Z.split("/").pop(),U=0;if(typeof J==="number"&&J>=0&&Y){let w=Y.lastIndexOf(`
|
|
11675
11783
|
`,Math.max(0,J-1));U=J-(w+1)+1}let W="";if(Q>0)W+=`
|
|
11676
11784
|
${Z}:${Q}${U>0?`:${U}`:""}: ${X.toLowerCase()} error: ${$}
|
|
11677
11785
|
`;if(W+=`
|
|
11678
|
-
${
|
|
11679
|
-
`,W+=`${
|
|
11680
|
-
`,W+=`${
|
|
11786
|
+
${X0.bold}${X0.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${X0.reset}
|
|
11787
|
+
`,W+=`${X0.bold}${X0.red}\u2502${X0.reset} ${X0.bold}${X0.bgRed} ERROR ${X0.reset} ${X0.red}${X} Error${X0.reset}${" ".repeat(Math.max(0,43-X.length))}${X0.bold}${X0.red}\u2502${X0.reset}
|
|
11788
|
+
`,W+=`${X0.bold}${X0.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${X0.reset}
|
|
11681
11789
|
`,W+=`
|
|
11682
|
-
${
|
|
11683
|
-
${
|
|
11790
|
+
${X0.cyan}${X0.bold}File:${X0.reset} ${X0.dim}${K}${X0.reset}`,Q>0)W+=` ${X0.gray}(line ${Q}${U>0?`, col ${U}`:""})${X0.reset}`;if(W+=`
|
|
11791
|
+
${X0.yellow}${X0.bold}Message:${X0.reset} ${$}
|
|
11684
11792
|
`,q)W+=`
|
|
11685
|
-
${
|
|
11686
|
-
${
|
|
11687
|
-
`;return W}function
|
|
11688
|
-
`||
|
|
11793
|
+
${X0.blue}${X0.bold}Context:${X0.reset}
|
|
11794
|
+
${X0.dim}${q}${X0.reset}
|
|
11795
|
+
`;return W}function sZ(){rX.clear(),oX.clear(),C9.clear()}var rX,oX,C9,Qz=0,X0;var A0=E(()=>{V7();n$();Z1();a0();M5();aX();F1();e$();X9();j7();QZ();I7();rX=new c1(500),oX=new c1(1000),C9=new c1(2000);X0={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",yellow:"\x1B[33m",blue:"\x1B[34m",cyan:"\x1B[36m",gray:"\x1B[90m",bgRed:"\x1B[41m",bgYellow:"\x1B[43m"}});async function BY(X,$,Z=""){let Y=X,J=[],G=/@markdown(?:\([^)]*\))?/g,Q;while((Q=G.exec(X))!==null){let q=Q.index,K=Q[0].match(/@markdown\(([^)]*)\)/),U=K?K[1]:"",W=q+Q[0].length,w=1,z=W,B=-1;while(w>0&&z<X.length){let H=X.indexOf("@markdown",z),O=X.indexOf("@endmarkdown",z);if(O===-1)break;if(H!==-1&&H<O&&H!==q){let L=X[H+9];if(L==="("||L===`
|
|
11796
|
+
`||L==="\r"||L===" "||L===void 0)w++;z=H+9}else{if(w--,w===0){B=O;break}z=O+12}}if(B===-1)continue;let j=X.slice(W,B),_=X.slice(q,B+12);J.push({fullMatch:_,options:U,content:j,index:q}),G.lastIndex=B+12}for(let{fullMatch:q,options:K,content:U,index:W}of J)try{let w={};if(K)K.split(",").forEach((j)=>{let _=j.trim();if(_)w[_]=!0});let z={gfm:w.gfm??!0,breaks:w.breaks??!1},B=z7(U.trim(),z);Y=Y.split(q).join(B)}catch(w){let z=w instanceof Error?w.message:String(w),B=w0("Markdown Directive",`Error processing markdown: ${z}`,Z,X,W,q);Y=Y.split(q).join(B)}return Y}async function _Y(X,$,Z,Y){let J={gfm:!0,breaks:!1};return $.forEach((G)=>{let Q=G.trim().replace(/['"]/g,"");if(Q==="breaks")J.breaks=!0;if(Q==="no-gfm")J.gfm=!1}),z7(X.trim(),J)}var x9=E(()=>{A0()});function Fz(X){if(Oz.set(X.name,X),X.client)Lz.set(X.name,X.client)}function tX(X){return Fz(X),{name:X.name,hasEndTag:X.hasEndTag??!0,description:X.description,handler:async(Z,Y,J,G)=>{let Q=Vz(Y,X.defaults);if(X.validate){let K=X.validate(Q);if(K!==!0){let U=typeof K==="string"?K:`Invalid parameters for @${X.name}`;throw Error(U)}}let q=Z;if(X.transform)q=await X.transform(Z,Q,J,G);if(X.clientScript){let K=X.clientScript(Q);q+=`<script>${K}</script>`}if(X.css){let K=X.css(Q);q+=`<style>${K}</style>`}return q}}}function Vz(X,$){let Z={...$};for(let Y of X){let J=Y.indexOf(":"),G=Y.indexOf("="),Q=J>=0&&(G<0||J<G)?J:G;if(Q>=0){let q=Y.slice(0,Q).trim(),K=Y.slice(Q+1).trim();if(K==="true")K=!0;else if(K==="false")K=!1;else if(K==="null")K=null;else if(!Number.isNaN(Number(K)))K=Number(K);else if(typeof K==="string"&&K.startsWith("{"))try{K=JSON.parse(K)}catch{}Z[q]=K}else{let q=Object.keys(Z).filter((K)=>!$||!(K in $)).length;Z[q===0?"value":`arg${q}`]=Y}}return Z}var Oz,Lz;var f9=E(()=>{Oz=new Map,Lz=new Map});function g9(X,$=D5,Z={},Y){return $.sort((J,G)=>J-G).map((J)=>{return`${C7(X,{...Z,w:J,fm:Y})} ${J}w`}).join(", ")}function HY(X,$,Z=Az,Y={},J){return Z.sort((G,Q)=>G-Q).map((G)=>{let Q=Math.round($*G);return`${C7(X,{...Y,w:Q,dpr:G,fm:J})} ${G}x`}).join(", ")}function h9(X,$="100vw"){if(!X||Object.keys(X).length===0)return $;let Y=Object.entries(X).map(([J,G])=>{let Q=/^\d+$/.test(J)?`${J}px`:J;return{bp:Q,size:G,numericBp:Number.parseInt(Q)||0}}).sort((J,G)=>J.numericBp-G.numericBp).map(({bp:J,size:G})=>`(max-width: ${J}) ${G}`);return Y.push($),Y.join(", ")}function C7(X,$={}){let Z=Object.entries($).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 X;let Y=Z.map(([G,Q])=>`${G}=${encodeURIComponent(Q)}`).join("&"),J=X.includes("?")?"&":"?";return`${X}${J}${Y}`}function u9(X){return Rz[X]||"application/octet-stream"}var D5,Az,S7,Rz;var d9=E(()=>{D5=[320,480,640,768,1024,1280,1536,1920,2560],Az=[1,1.5,2,3],S7=["avif","webp","jpeg"],Rz={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function Nz(){try{return await import("ts-images")}catch{return null}}async function Mz(X,$={}){let Z={...Tz,...$},Y=await Nz();if(Y)try{return await kz(X,Z,Y)}catch(J){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${J}`)}return Iz(X,Z)}async function kz(X,$,Z){let{generatePlaceholder:Y,generateThumbHash:J}=Z,Q={blur:"blur",thumbhash:"thumbhash",blurhash:"thumbhash",pixelate:"pixelate","dominant-color":"dominant-color",none:"blur"}[$.strategy]||"blur";if($.strategy==="thumbhash")return{dataURL:(await J(X)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let q=await Y(X,{width:$.width,height:$.height,quality:$.quality,blurLevel:$.blurLevel,strategy:Q,base64Encode:!0});return{dataURL:q.dataURL,width:q.width,height:q.height,aspectRatio:q.aspectRatio,originalWidth:q.originalWidth,originalHeight:q.originalHeight,strategy:$.strategy,dominantColor:q.dominantColor,css:q.css}}function Iz(X,$){let Z=$.width||20,Y=$.height||Z,J="#e5e7eb",G=`<svg xmlns="http://www.w3.org/2000/svg" width="${Z}" height="${Y}" viewBox="0 0 ${Z} ${Y}"><rect fill="#e5e7eb" width="${Z}" height="${Y}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(G)}`,width:Z,height:Y,aspectRatio:Z/Y,originalWidth:0,originalHeight:0,strategy:$.strategy,dominantColor:"#e5e7eb"}}function OY(X,$,Z={}){let Y=Z.transitionDuration||300,J=Z.easing||"ease-out";return`
|
|
11689
11797
|
#${X} {
|
|
11690
11798
|
--stx-img-transition-duration: ${Y}ms;
|
|
11691
11799
|
--stx-img-transition-easing: ${J};
|
|
@@ -11702,7 +11810,7 @@ ${e.dim}${q}${e.reset}
|
|
|
11702
11810
|
#${X}.stx-img-loaded img {
|
|
11703
11811
|
opacity: 1;
|
|
11704
11812
|
}
|
|
11705
|
-
`.trim()}async function
|
|
11813
|
+
`.trim()}async function LY(X,$={}){let Z=`${X}:${JSON.stringify($)}`;if(m9.has(Z))return m9.get(Z);let Y=await Mz(X,$);return m9.set(Z,Y),Y}var Tz,l9,m9;var FY=E(()=>{Tz={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},l9=`
|
|
11706
11814
|
.stx-img-placeholder {
|
|
11707
11815
|
position: relative;
|
|
11708
11816
|
overflow: hidden;
|
|
@@ -11731,20 +11839,20 @@ ${e.dim}${q}${e.reset}
|
|
|
11731
11839
|
filter: blur(0);
|
|
11732
11840
|
transform: scale(1);
|
|
11733
11841
|
}
|
|
11734
|
-
`.trim();u9=new Map});import{createHash as HY}from"crypto";import{readFile as Az,stat as OY}from"fs/promises";async function D0(X){try{let $=await Az(X);return HY("sha256").update($).digest("hex").slice(0,16)}catch{return""}}function _Y(X){return HY("sha256").update(X).digest("hex").slice(0,16)}function tX(X,$){let Z=JSON.stringify($,Object.keys($).sort());return`${_Y(X)}-${_Y(Z)}`}async function m9(X){try{return(await OY(X)).mtimeMs}catch{return 0}}async function M0(X){try{return await OY(X),!0}catch{return!1}}var a1=()=>{};import{mkdir as Rz,readFile as Nz,writeFile as Tz,readdir as NR,rm as Mz,stat as TR}from"fs/promises";import{join as FY,dirname as kz}from"path";async function Iz(X){try{await Rz(X,{recursive:!0})}catch{}}function VY(X,$,Z){return FY(X,Z,`${$}.json`)}async function LY(X,$,Z){if((Date.now()-X.createdAt)/86400000>Z)return!1;if(await m9($)!==X.srcMtime)return!1;return!0}async function eX(X,$,Z,Y=l9){if(!Y.enabled)return null;let J=tX(X,$),G=y5.get(J);if(G){if(await LY(G,X,Y.maxAge))return G.lastAccessedAt=Date.now(),G.data;y5.delete(J)}let Q=VY(Y.directory,J,Z);if(await M0(Q))try{let q=await Nz(Q,"utf-8"),K=JSON.parse(q);if(await LY(K,X,Y.maxAge))return K.lastAccessedAt=Date.now(),y5.set(J,K),K.data}catch{}return null}async function X8(X,$,Z,Y,J=l9){if(!J.enabled)return;let G=tX(X,$),Q=await D0(X),q=await m9(X),K={key:G,src:X,srcHash:Q,srcMtime:q,optionsHash:tX("",$),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};y5.set(G,K);let U=VY(J.directory,G,Y);try{await Iz(kz(U)),await Tz(U,JSON.stringify(K,null,2))}catch(W){console.warn(`[stx-media] Failed to write cache: ${W}`)}}async function $8(X,$=l9){if(X==="all")y5.clear();else y5.clear();let Z=X==="all"?["image","video"]:[X];for(let Y of Z){let J=FY($.directory,Y);try{await Mz(J,{recursive:!0,force:!0})}catch{}}}var y5,l9;var c9=E(()=>{a1();y5=new Map,l9={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class Y8{config;constructor(X={}){this.config={...Ez,...X}}async get(X,$){return eX(X,$,"image",this.config)}async set(X,$,Z){return X8(X,$,Z,"image",this.config)}async clear(){return $8("image",this.config)}updateConfig(X){this.config={...this.config,...X}}}function p9(X){if(!Z8)Z8=new Y8(X);else if(X)Z8.updateConfig(X);return Z8}async function J8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return p9(Y).get(X,$)}async function G8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return p9(J).set(X,$,Z)}async function AY(){return p9().clear()}var Ez,Z8=null;var i9=E(()=>{c9();Ez={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as Dz,basename as yz,extname as bz,join as Sz}from"path";import{mkdir as Cz}from"fs/promises";async function n9(){try{return await import("ts-images")}catch{return null}}function RY(X){switch(X){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 Pz(X,$){let Z=$?RY($):RY("web"),Y=X.formatQuality||{};return{jpeg:{...Z.jpeg,...Y.jpeg},png:{...Z.png,...Y.png},webp:{...Z.webp,...Y.webp},avif:{...Z.avif,...Y.avif}}}async function NY(X,$,Z){let Y=await n9();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:X,processed:!1};let J=await J8(X,$,Z);if(J)return J;try{let G=Dz(X);if(!await M0(G))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let Q=Pz(Z,$.preset),q=Z.outputDir||"dist/images",K=Z.baseUrl||"/images";await Cz(q,{recursive:!0});let U=await D0(G),W=yz(X,bz(X)),w=$.outputFormat?[$.outputFormat]:Z.defaultFormats||["avif","webp","jpeg"],z={src:X,processed:!0,variants:[],hash:U},B=null;if($.transformations&&$.transformations.length>0)B=await r9(G,$.transformations,Y);for(let j of w){let _=Q[j]||{},H=`${W}-${U}.${j}`,L=Sz(q,H);try{let O=await Y.optimizeImage({input:B||G,output:L,format:j,quality:_.quality,progressive:_.progressive});if(O){if(z.variants.push({path:L,url:`${K}/${H}`,width:O.width||0,height:O.height||0,format:j,size:O.outputSize||0}),!z.originalWidth&&O.width)z.originalWidth=O.width,z.originalHeight=O.height}}catch(O){z.errors=z.errors||[],z.errors.push(`Failed to optimize ${j}: ${O}`)}}if($.embedThumbhash||$.placeholder==="thumbhash")try{let j=await Y.generateThumbHash(G);z.placeholder=j.dataUrl}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to generate thumbhash: ${j}`)}if($.useDominantColor)try{let j=await Y.generatePlaceholder(G,{strategy:"dominant-color"});z.dominantColor=j.dominantColor}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${j}`)}return await G8(X,$,z,Z),z}catch(G){return{src:X,processed:!1,errors:[`Processing failed: ${G}`]}}}async function TY(X,$,Z,Y){let J=await n9();if(!J)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await J.optimizeImage({input:X,output:Y,format:$,quality:Z}))?.outputSize}}catch(G){return{success:!1,error:String(G)}}}async function r9(X,$,Z){let Y=Z||await n9();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let J=await Y.decode(X);for(let G of $){let Q=G.options||{};switch(G.type){case"resize":if(Q.width||Q.height)J=await Y.resize(J,{width:Q.width,height:Q.height,fit:Q.fit});break;case"blur":if(Q.sigma!==void 0)J=await Y.blur(J,Q.sigma);break;case"sharpen":if(Q.amount!==void 0)J=await Y.sharpen(J,Q.amount);break;case"grayscale":J=await Y.grayscale(J);break;case"rotate":if(Q.angle!==void 0)J=await Y.rotate(J,Q.angle);break;case"flip":J=await Y.flip(J);break;case"flop":J=await Y.flop(J);break;case"brightness":if(Q.value!==void 0)J=await Y.brightness(J,Q.value);break;case"contrast":if(Q.value!==void 0)J=await Y.contrast(J,Q.value);break;case"saturation":if(Q.value!==void 0)J=await Y.saturation(J,Q.value);break}}return await Y.encode(J,"png")}catch(J){return console.error(`[stx-media] Transformation failed: ${J}`),null}}var MY=E(()=>{a1();i9()});import{resolve as vz,basename as xz,extname as fz,join as gz}from"path";import{mkdir as hz}from"fs/promises";async function uz(){try{return await import("ts-images")}catch{return null}}async function kY(X,$,Z){let Y=await uz();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=vz(X);if(!await M0(J))return console.warn(`[stx-media] Source file not found: ${X}`),null;try{let G=$.responsiveWidths||Z.breakpoints||dz,Q=$.formats||Z.defaultFormats||["avif","webp","jpeg"],q=Z.outputDir||"dist/images",K=Z.baseUrl||"/images";await hz(q,{recursive:!0});let U=await D0(J),W=xz(X,fz(X)),w=Z.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},z={src:X,byFormat:{},srcsets:{}};for(let j of Q){z.byFormat[j]=[];let _=[];for(let H of G){let L=`${W}-${H}w-${U}.${j}`,O=gz(q,L),F=`${K}/${L}`;try{let V=w[j]?.quality||80;if(await M0(O)){z.byFormat[j].push({path:O,url:F,width:H,height:0,format:j,size:0}),_.push(`${F} ${H}w`);continue}let A=await Y.processImage({input:J,output:O,format:j,quality:V,resize:{width:H}});if(A)z.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}`)}}z.srcsets[j]=_.join(", ")}let B=$.placeholder||Z.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let j=await Y.generateThumbHash(J);z.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await Y.generatePlaceholder(J,{strategy:B,width:20});z.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:B}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return z.sizes=$.sizes||mz(G),z}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function mz(X){let $=[...X].sort((Y,J)=>Y-J),Z=[];for(let Y=0;Y<$.length-1;Y++){let J=$[Y];Z.push(`(max-width: ${J}px) ${J}px`)}return Z.push(`${$[$.length-1]}px`),Z.join(", ")}function IY(X,$="width"){if(!X||X.length===0)return"";if($==="dpr")return X.filter((Z)=>Z.dpr).map((Z)=>`${Z.url} ${Z.dpr}x`).join(", ");return X.map((Z)=>`${Z.url} ${Z.width}w`).join(", ")}var dz;var EY=E(()=>{a1();dz=[320,480,640,768,1024,1280,1536,1920]});var DY={};n(DY,{setCachedImageResult:()=>G8,processImage:()=>NY,optimizeImage:()=>TY,getCachedImageResult:()=>J8,generateSrcset:()=>IY,generateResponsiveVariants:()=>kY,clearImageCache:()=>AY,applyTransformations:()=>r9,ImageProcessorCache:()=>Y8});var yY=E(()=>{MY();EY();i9()});async function lz(){try{return await Promise.resolve().then(() => (yY(),DY))}catch(X){if(!bY)console.warn("[stx-media] Image processor not available, some features disabled:",X),bY=!0;return null}}async function Q8(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return nz(Y,Z)}if(Z.processedResult?.processed)return t9(X,Z.processedResult,$);if(Z.responsiveVariants)return vY(X,Z.responsiveVariants,$);let{src:J,alt:G,width:Q,height:q,sizes:K,widths:U=D5,dpr:W,formats:w=b7,quality:z=o9,params:B={},placeholder:j="none",placeholderOptions:_={},lazy:H=!0,priority:L=!1,loading:O=L?"eager":K8,decoding:F=q8,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:N,referrerpolicy:T}=X,k=X.class,M=X.style,y=X.id,I=X.data||{},{isDev:C=!1,baseUrl:S=""}=$;if(C&&!$.optimize)return iz(X);let b,P,x=y||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!L)try{b=await jY(J,{strategy:j,..._}),P=zY(x,b,_)}catch{}let d=W!==void 0&&Q!==void 0,m;if(d)m=pz(X,x,b,$);else m=await cz(X,x,b,$);let Y0;if(L){let p0=w.includes("webp")?"webp":w[0],l=x9(J,U,{...B,q:z},p0),j0=typeof K==="object"?f9(K):K||"100vw";Y0=`<link rel="preload" as="image" imagesrcset="${l}" imagesizes="${j0}" />`}let d0=[];if(!SY&&j!=="none")d0.push(d9),SY=!0;if(P)d0.push(P);let F0=H?PY(x):void 0;return{html:m,preloadLink:Y0,css:d0.length>0?d0.join(`
|
|
11735
|
-
`):void 0,script:
|
|
11842
|
+
`.trim();m9=new Map});import{createHash as AY}from"crypto";import{readFile as Ez,stat as RY}from"fs/promises";async function S0(X){try{let $=await Ez(X);return AY("sha256").update($).digest("hex").slice(0,16)}catch{return""}}function VY(X){return AY("sha256").update(X).digest("hex").slice(0,16)}function eX(X,$){let Z=JSON.stringify($,Object.keys($).sort());return`${VY(X)}-${VY(Z)}`}async function c9(X){try{return(await RY(X)).mtimeMs}catch{return 0}}async function M0(X){try{return await RY(X),!0}catch{return!1}}var a1=()=>{};import{mkdir as Dz,readFile as yz,writeFile as bz,readdir as vR,rm as Sz,stat as xR}from"fs/promises";import{join as NY,dirname as Cz}from"path";async function Pz(X){try{await Dz(X,{recursive:!0})}catch{}}function MY(X,$,Z){return NY(X,Z,`${$}.json`)}async function TY(X,$,Z){if((Date.now()-X.createdAt)/86400000>Z)return!1;if(await c9($)!==X.srcMtime)return!1;return!0}async function X8(X,$,Z,Y=p9){if(!Y.enabled)return null;let J=eX(X,$),G=y5.get(J);if(G){if(await TY(G,X,Y.maxAge))return G.lastAccessedAt=Date.now(),G.data;y5.delete(J)}let Q=MY(Y.directory,J,Z);if(await M0(Q))try{let q=await yz(Q,"utf-8"),K=JSON.parse(q);if(await TY(K,X,Y.maxAge))return K.lastAccessedAt=Date.now(),y5.set(J,K),K.data}catch{}return null}async function $8(X,$,Z,Y,J=p9){if(!J.enabled)return;let G=eX(X,$),Q=await S0(X),q=await c9(X),K={key:G,src:X,srcHash:Q,srcMtime:q,optionsHash:eX("",$),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};y5.set(G,K);let U=MY(J.directory,G,Y);try{await Pz(Cz(U)),await bz(U,JSON.stringify(K,null,2))}catch(W){console.warn(`[stx-media] Failed to write cache: ${W}`)}}async function Z8(X,$=p9){if(X==="all")y5.clear();else y5.clear();let Z=X==="all"?["image","video"]:[X];for(let Y of Z){let J=NY($.directory,Y);try{await Sz(J,{recursive:!0,force:!0})}catch{}}}var y5,p9;var i9=E(()=>{a1();y5=new Map,p9={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class J8{config;constructor(X={}){this.config={...vz,...X}}async get(X,$){return X8(X,$,"image",this.config)}async set(X,$,Z){return $8(X,$,Z,"image",this.config)}async clear(){return Z8("image",this.config)}updateConfig(X){this.config={...this.config,...X}}}function n9(X){if(!Y8)Y8=new J8(X);else if(X)Y8.updateConfig(X);return Y8}async function G8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return n9(Y).get(X,$)}async function Q8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return n9(J).set(X,$,Z)}async function kY(){return n9().clear()}var vz,Y8=null;var r9=E(()=>{i9();vz={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as xz,basename as fz,extname as gz,join as hz}from"path";import{mkdir as uz}from"fs/promises";async function o9(){try{return await import("ts-images")}catch{return null}}function IY(X){switch(X){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 dz(X,$){let Z=$?IY($):IY("web"),Y=X.formatQuality||{};return{jpeg:{...Z.jpeg,...Y.jpeg},png:{...Z.png,...Y.png},webp:{...Z.webp,...Y.webp},avif:{...Z.avif,...Y.avif}}}async function EY(X,$,Z){let Y=await o9();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:X,processed:!1};let J=await G8(X,$,Z);if(J)return J;try{let G=xz(X);if(!await M0(G))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let Q=dz(Z,$.preset),q=Z.outputDir||"dist/images",K=Z.baseUrl||"/images";await uz(q,{recursive:!0});let U=await S0(G),W=fz(X,gz(X)),w=$.outputFormat?[$.outputFormat]:Z.defaultFormats||["avif","webp","jpeg"],z={src:X,processed:!0,variants:[],hash:U},B=null;if($.transformations&&$.transformations.length>0)B=await s9(G,$.transformations,Y);for(let j of w){let _=Q[j]||{},H=`${W}-${U}.${j}`,O=hz(q,H);try{let L=await Y.optimizeImage({input:B||G,output:O,format:j,quality:_.quality,progressive:_.progressive});if(L){if(z.variants.push({path:O,url:`${K}/${H}`,width:L.width||0,height:L.height||0,format:j,size:L.outputSize||0}),!z.originalWidth&&L.width)z.originalWidth=L.width,z.originalHeight=L.height}}catch(L){z.errors=z.errors||[],z.errors.push(`Failed to optimize ${j}: ${L}`)}}if($.embedThumbhash||$.placeholder==="thumbhash")try{let j=await Y.generateThumbHash(G);z.placeholder=j.dataUrl}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to generate thumbhash: ${j}`)}if($.useDominantColor)try{let j=await Y.generatePlaceholder(G,{strategy:"dominant-color"});z.dominantColor=j.dominantColor}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${j}`)}return await Q8(X,$,z,Z),z}catch(G){return{src:X,processed:!1,errors:[`Processing failed: ${G}`]}}}async function DY(X,$,Z,Y){let J=await o9();if(!J)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await J.optimizeImage({input:X,output:Y,format:$,quality:Z}))?.outputSize}}catch(G){return{success:!1,error:String(G)}}}async function s9(X,$,Z){let Y=Z||await o9();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let J=await Y.decode(X);for(let G of $){let Q=G.options||{};switch(G.type){case"resize":if(Q.width||Q.height)J=await Y.resize(J,{width:Q.width,height:Q.height,fit:Q.fit});break;case"blur":if(Q.sigma!==void 0)J=await Y.blur(J,Q.sigma);break;case"sharpen":if(Q.amount!==void 0)J=await Y.sharpen(J,Q.amount);break;case"grayscale":J=await Y.grayscale(J);break;case"rotate":if(Q.angle!==void 0)J=await Y.rotate(J,Q.angle);break;case"flip":J=await Y.flip(J);break;case"flop":J=await Y.flop(J);break;case"brightness":if(Q.value!==void 0)J=await Y.brightness(J,Q.value);break;case"contrast":if(Q.value!==void 0)J=await Y.contrast(J,Q.value);break;case"saturation":if(Q.value!==void 0)J=await Y.saturation(J,Q.value);break}}return await Y.encode(J,"png")}catch(J){return console.error(`[stx-media] Transformation failed: ${J}`),null}}var yY=E(()=>{a1();r9()});import{resolve as mz,basename as lz,extname as cz,join as pz}from"path";import{mkdir as iz}from"fs/promises";async function nz(){try{return await import("ts-images")}catch{return null}}async function bY(X,$,Z){let Y=await nz();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=mz(X);if(!await M0(J))return console.warn(`[stx-media] Source file not found: ${X}`),null;try{let G=$.responsiveWidths||Z.breakpoints||rz,Q=$.formats||Z.defaultFormats||["avif","webp","jpeg"],q=Z.outputDir||"dist/images",K=Z.baseUrl||"/images";await iz(q,{recursive:!0});let U=await S0(J),W=lz(X,cz(X)),w=Z.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},z={src:X,byFormat:{},srcsets:{}};for(let j of Q){z.byFormat[j]=[];let _=[];for(let H of G){let O=`${W}-${H}w-${U}.${j}`,L=pz(q,O),F=`${K}/${O}`;try{let V=w[j]?.quality||80;if(await M0(L)){z.byFormat[j].push({path:L,url:F,width:H,height:0,format:j,size:0}),_.push(`${F} ${H}w`);continue}let A=await Y.processImage({input:J,output:L,format:j,quality:V,resize:{width:H}});if(A)z.byFormat[j].push({path:L,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}`)}}z.srcsets[j]=_.join(", ")}let B=$.placeholder||Z.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let j=await Y.generateThumbHash(J);z.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await Y.generatePlaceholder(J,{strategy:B,width:20});z.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:B}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return z.sizes=$.sizes||oz(G),z}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function oz(X){let $=[...X].sort((Y,J)=>Y-J),Z=[];for(let Y=0;Y<$.length-1;Y++){let J=$[Y];Z.push(`(max-width: ${J}px) ${J}px`)}return Z.push(`${$[$.length-1]}px`),Z.join(", ")}function SY(X,$="width"){if(!X||X.length===0)return"";if($==="dpr")return X.filter((Z)=>Z.dpr).map((Z)=>`${Z.url} ${Z.dpr}x`).join(", ");return X.map((Z)=>`${Z.url} ${Z.width}w`).join(", ")}var rz;var CY=E(()=>{a1();rz=[320,480,640,768,1024,1280,1536,1920]});var PY={};o(PY,{setCachedImageResult:()=>Q8,processImage:()=>EY,optimizeImage:()=>DY,getCachedImageResult:()=>G8,generateSrcset:()=>SY,generateResponsiveVariants:()=>bY,clearImageCache:()=>kY,applyTransformations:()=>s9,ImageProcessorCache:()=>J8});var vY=E(()=>{yY();CY();r9()});async function sz(){try{return await Promise.resolve().then(() => (vY(),PY))}catch(X){if(!xY)console.warn("[stx-media] Image processor not available, some features disabled:",X),xY=!0;return null}}async function q8(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return Xj(Y,Z)}if(Z.processedResult?.processed)return X3(X,Z.processedResult,$);if(Z.responsiveVariants)return uY(X,Z.responsiveVariants,$);let{src:J,alt:G,width:Q,height:q,sizes:K,widths:U=D5,dpr:W,formats:w=S7,quality:z=a9,params:B={},placeholder:j="none",placeholderOptions:_={},lazy:H=!0,priority:O=!1,loading:L=O?"eager":U8,decoding:F=K8,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:T,referrerpolicy:k}=X,M=X.class,N=X.style,D=X.id,I=X.data||{},{isDev:C=!1,baseUrl:b=""}=$;if(C&&!$.optimize)return ez(X);let y,v,x=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!O)try{y=await LY(J,{strategy:j,..._}),v=OY(x,y,_)}catch{}let f=W!==void 0&&Q!==void 0,c;if(f)c=tz(X,x,y,$);else c=await az(X,x,y,$);let l;if(O){let c0=w.includes("webp")?"webp":w[0],W0=g9(J,U,{...B,q:z},c0),e=typeof K==="object"?h9(K):K||"100vw";l=`<link rel="preload" as="image" imagesrcset="${W0}" imagesizes="${e}" />`}let D0=[];if(!fY&&j!=="none")D0.push(l9),fY=!0;if(v)D0.push(v);let y0=H?hY(x):void 0;return{html:c,preloadLink:l,css:D0.length>0?D0.join(`
|
|
11843
|
+
`):void 0,script:y0}}async function az(X,$,Z,Y){let{src:J,alt:G,width:Q,height:q,sizes:K,widths:U=D5,formats:W=S7,quality:w=a9,params:z={},lazy:B=!0,priority:j=!1,loading:_=j?"eager":U8,decoding:H=K8,fetchpriority:O,objectFit:L,objectPosition:F,crossorigin:V,referrerpolicy:A}=X,R=X.class,T=X.style,k=X.data||{},M=typeof K==="object"?h9(K):K||"100vw",N=[];for(let C of W){let b=g9(J,U,{...z,q:w},C),y=u9(C);if(B&&!j)N.push(` <source type="${y}" data-srcset="${b}" data-sizes="${M}" />`);else N.push(` <source type="${y}" srcset="${b}" sizes="${M}" />`)}let D=t9({src:C7(J,{...z,q:w}),alt:G,width:Q,height:q,loading:j?void 0:_,decoding:H,fetchpriority:j?"high":O,objectFit:L,objectPosition:F,crossorigin:V,referrerpolicy:A,className:gY(R,Z),style:e9(T,L,F,Z),lazy:B&&!j,data:k}),I;if(Z){let C=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;I=`<div id="${$}" class="stx-img-placeholder" style="${C}">
|
|
11736
11844
|
<picture>
|
|
11737
|
-
${
|
|
11845
|
+
${N.join(`
|
|
11738
11846
|
`)}
|
|
11739
|
-
<img ${
|
|
11847
|
+
<img ${D} />
|
|
11740
11848
|
</picture>
|
|
11741
11849
|
</div>`}else I=`<picture${$?` id="${$}"`:""}>
|
|
11742
|
-
${
|
|
11850
|
+
${N.join(`
|
|
11743
11851
|
`)}
|
|
11744
|
-
<img ${
|
|
11745
|
-
</picture>`;return I}function
|
|
11746
|
-
<img ${
|
|
11747
|
-
</div>`}return`<img ${$?`id="${$}" `:""}${
|
|
11852
|
+
<img ${D} />
|
|
11853
|
+
</picture>`;return I}function tz(X,$,Z,Y){let{src:J,alt:G,width:Q,height:q,dpr:K=[1,2,3],quality:U=a9,params:W={},lazy:w=!0,priority:z=!1,loading:B=z?"eager":U8,decoding:j=K8,fetchpriority:_,objectFit:H,objectPosition:O,crossorigin:L,referrerpolicy:F}=X,V=X.class,A=X.style,R=X.data||{},T=typeof Q==="number"?Q:Number.parseInt(String(Q),10),k=HY(J,T,K,{...W,q:U}),M=t9({src:C7(J,{...W,w:T,q:U}),alt:G,width:Q,height:q,loading:z?void 0:B,decoding:j,fetchpriority:z?"high":_,objectFit:H,objectPosition:O,crossorigin:L,referrerpolicy:F,className:gY(V,Z),style:e9(A,H,O,Z),lazy:w&&!z,data:R}),N=w&&!z?`data-srcset="${k}"`:`srcset="${k}"`;if(Z){let D=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${$}" class="stx-img-placeholder" style="${D}">
|
|
11854
|
+
<img ${M} ${N} />
|
|
11855
|
+
</div>`}return`<img ${$?`id="${$}" `:""}${M} ${N} />`}function ez(X){let{src:$,alt:Z,width:Y,height:J,loading:G=U8,decoding:Q=K8,fetchpriority:q,objectFit:K,objectPosition:U,crossorigin:W,referrerpolicy:w,priority:z=!1}=X,B=X.class,j=X.style,_=X.id,H=X.data||{};return{html:`<img ${t9({src:$,alt:Z,width:Y,height:J,loading:z?"eager":G,decoding:Q,fetchpriority:z?"high":q,objectFit:K,objectPosition:U,crossorigin:W,referrerpolicy:w,className:B,style:e9(j,K,U),id:_,data:H})} />`}}function t9(X){let $=[];if(X.lazy)$.push(`data-src="${e0(X.src)}"`),$.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else $.push(`src="${e0(X.src)}"`);if($.push(`alt="${e0(X.alt)}"`),X.width)$.push(`width="${X.width}"`);if(X.height)$.push(`height="${X.height}"`);if(X.loading)$.push(`loading="${X.loading}"`);if(X.decoding)$.push(`decoding="${X.decoding}"`);if(X.fetchpriority)$.push(`fetchpriority="${X.fetchpriority}"`);if(X.crossorigin)$.push(`crossorigin="${X.crossorigin}"`);if(X.referrerpolicy)$.push(`referrerpolicy="${X.referrerpolicy}"`);if(X.className)$.push(`class="${e0(X.className)}"`);if(X.style)$.push(`style="${e0(X.style)}"`);if(X.id)$.push(`id="${e0(X.id)}"`);if(X.data)for(let[Z,Y]of Object.entries(X.data))$.push(`data-${Z}="${e0(Y)}"`);if(X.lazy)$.push("data-stx-lazy");return $.join(" ")}function gY(X,$){let Z=[];if(X)Z.push(X);if($)Z.push("stx-img-blur");return Z.join(" ")||""}function e9(X,$,Z,Y){let J=[];if($)J.push(`object-fit: ${$}`);if(Z)J.push(`object-position: ${Z}`);if(Y)J.push("opacity: 0; transition: opacity 300ms ease-out");if(X)J.push(X);return J.join("; ")}function e0(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function hY(X){return`
|
|
11748
11856
|
(function() {
|
|
11749
11857
|
const container = document.getElementById('${X}');
|
|
11750
11858
|
if (!container) return;
|
|
@@ -11781,22 +11889,22 @@ ${M.join(`
|
|
|
11781
11889
|
|
|
11782
11890
|
observer.observe(container);
|
|
11783
11891
|
})();
|
|
11784
|
-
`.trim()}async function
|
|
11892
|
+
`.trim()}async function Xj(X,$){let Z=await sz();if(!Z)return q8({...X,process:!1},$);let Y=$.tsImagesConfig;if(X.responsiveWidths&&X.responsiveWidths.length>0||X.widths&&X.widths.length>0||!X.width&&!X.dpr){let G=await Z.generateResponsiveVariants(X.src,X,Y);if(G)return uY(X,G,$)}else{let G=await Z.processImage(X.src,X,Y);if(G.processed)return X3(X,G,$)}return q8({...X,process:!1},$)}async function X3(X,$,Z){let{alt:Y,width:J,height:G,lazy:Q=!0,priority:q=!1,objectFit:K,objectPosition:U,crossorigin:W,referrerpolicy:w}=X,z=X.class,B=X.style,j=X.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,_=X.data||{},H=$.variants||[],O=H.find((v)=>v.format==="jpeg")||H.find((v)=>v.format==="webp")||H[0],L=O?.url||X.src,F=H.filter((v)=>v.format===(O?.format||"jpeg")).map((v)=>`${v.url} ${v.width}w`).join(", "),V=new Map;for(let v of H){if(!V.has(v.format))V.set(v.format,[]);V.get(v.format).push(v)}let 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((l)=>`${l.url} ${l.width}w`).join(", "),c=u9(v);if(Q&&!q)A.push(` <source type="${c}" data-srcset="${f}" />`);else A.push(` <source type="${c}" srcset="${f}" />`)}}let T=[];if(Q&&!q){if(T.push(`data-src="${e0(L)}"`),T.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),F)T.push(`data-srcset="${F}"`)}else if(T.push(`src="${e0(L)}"`),F)T.push(`srcset="${F}"`);T.push(`alt="${e0(Y)}"`);let k=J||$.originalWidth,M=G||$.originalHeight;if(k)T.push(`width="${k}"`);if(M)T.push(`height="${M}"`);if(!q)T.push(`loading="${Q?"lazy":"eager"}"`);if(T.push('decoding="async"'),q)T.push('fetchpriority="high"');if(W)T.push(`crossorigin="${W}"`);if(w)T.push(`referrerpolicy="${w}"`);let N=[];if(K)N.push(`object-fit: ${K}`);if(U)N.push(`object-position: ${U}`);if($.placeholder&&Q)N.push("opacity: 0; transition: opacity 300ms ease-out");if(B)N.push(B);if(N.length>0)T.push(`style="${N.join("; ")}"`);let D=[];if(z)D.push(z);if($.placeholder)D.push("stx-img-blur");if(D.length>0)T.push(`class="${D.join(" ")}"`);if(Q&&!q)T.push("data-stx-lazy");for(let[v,x]of Object.entries(_))T.push(`data-${v}="${e0(x)}"`);let I;if($.placeholder||$.dominantColor&&X.useDominantColor){let v=$.placeholder?`background-image: url('${$.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${$.dominantColor};`;I=`<div id="${j}" class="stx-img-placeholder" style="${v}">
|
|
11785
11893
|
<picture>
|
|
11786
11894
|
${A.join(`
|
|
11787
11895
|
`)}
|
|
11788
|
-
<img ${
|
|
11896
|
+
<img ${T.join(" ")} />
|
|
11789
11897
|
</picture>
|
|
11790
11898
|
</div>`}else I=`<picture${j?` id="${j}"`:""}>
|
|
11791
11899
|
${A.join(`
|
|
11792
11900
|
`)}
|
|
11793
|
-
<img ${
|
|
11794
|
-
</picture>`;let C=[];if($.placeholder)C.push(
|
|
11795
|
-
`):void 0,script:
|
|
11901
|
+
<img ${T.join(" ")} />
|
|
11902
|
+
</picture>`;let C=[];if($.placeholder)C.push(l9);let b=Q?hY(j):void 0,y;if(q&&F)y=`<link rel="preload" as="image" imagesrcset="${F}" />`;return{html:I,preloadLink:y,css:C.length>0?C.join(`
|
|
11903
|
+
`):void 0,script:b}}async function uY(X,$,Z){let Y={src:$.src,processed:!0,variants:[],placeholder:$.placeholder?.dataURL,originalWidth:$.placeholder?.width,originalHeight:$.placeholder?.height};for(let[J,G]of Object.entries($.byFormat))if(G)Y.variants.push(...G);return X3(X,Y,Z)}var xY=!1,a9=80,K8="async",U8="lazy",fY=!1;var dY=E(()=>{d9();FY()});function $j(){return tX({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async(X,$,Z,Y)=>{let{src:J,alt:G,options:Q}=Zj(X,$,Z);if(!J)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let q={src:J,alt:G||"",widths:Q.widths||D5,formats:Q.formats||S7,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},K=Z.__isDev||!1,U=await q8(q,{isDev:K}),W=U.html;if(U.preloadLink)W=U.preloadLink+`
|
|
11796
11904
|
`+W;if(U.css)W+=`
|
|
11797
11905
|
<style>${U.css}</style>`;if(U.script)W+=`
|
|
11798
|
-
<script>${U.script}</script>`;return W},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function
|
|
11799
|
-
`)}async function
|
|
11906
|
+
<script>${U.script}</script>`;return W},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function Zj(X,$,Z){if($.src)return{src:String($.src),alt:String($.alt||""),options:$.options||{}};let Y=X.trim();if(Y.startsWith("@img(")||Y.startsWith("("))Y=Y.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let J=Yj(Y),G=$3(J[0],Z)||"",Q=$3(J[1],Z)||"",q={};if(J[2]){let K=$3(J[2],Z);if(typeof K==="object"&&K!==null)q=K;else if(typeof J[2]==="string")try{q=JSON.parse(J[2])}catch{}}return{src:G,alt:Q,options:q}}function Yj(X){let $=[],Z="",Y=!1,J="",G=0,Q=0;for(let q=0;q<X.length;q++){let K=X[q],U=q>0?X[q-1]:"";if((K==='"'||K==="'"||K==="`")&&U!=="\\"){if(!Y)Y=!0,J=K;else if(K===J)Y=!1,J="";else Z+=K;continue}if(!Y){if(K==="{")G++;if(K==="}")G--;if(K==="[")Q++;if(K==="]")Q--;if(K===","&&G===0&&Q===0){$.push(Z.trim()),Z="";continue}}Z+=K}if(Z.trim())$.push(Z.trim());return $}function $3(X,$){if(typeof X!=="string")return X;let Z=X.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 Y=$[Z];if(Y!==void 0)return Y}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var mY;var lY=E(()=>{f9();dY();d9();mY=$j()});class w8{config;constructor(X={}){this.config={...Jj,...X}}async get(X,$){return X8(X,$,"video",this.config)}async set(X,$,Z){return $8(X,$,Z,"video",this.config)}async clear(){return Z8("video",this.config)}updateConfig(X){this.config={...this.config,...X}}}function Z3(X){if(!W8)W8=new w8(X);else if(X)W8.updateConfig(X);return W8}async function z8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return Z3(Y).get(X,$)}async function j8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return Z3(J).set(X,$,Z)}async function cY(){return Z3().clear()}var Jj,W8=null;var Y3=E(()=>{i9();Jj={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as J3,basename as G3,extname as Q3,join as B8}from"path";import{mkdir as q3}from"fs/promises";async function K3(){try{return await import("ts-videos")}catch{return null}}async function _8(X,$,Z,Y){let J=await K3();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let G=J3(X);if(!await M0(G))return null;await q3(Z,{recursive:!0});let Q=await S0(G),q=G3(X,Q3(X)),K=$.format||"webp",U=$.timestamp||0,W=`${q}-poster-${Q}.${K}`,w=B8(Z,W),z=await J.extractThumbnails(G,{timestamps:[U],width:$.width||1280,height:$.height,format:K,quality:$.quality||85,outputDir:Z,outputPattern:W.replace(`.${K}`,"")});if(z&&z.length>0){let B=z[0];return{path:w,url:`${Y}/${W}`,width:B.width||$.width||1280,height:B.height||720,timestamp:U,size:B.size||0}}return null}catch(G){return console.warn(`[stx-media] Failed to generate poster: ${G}`),null}}async function H8(X,$,Z,Y){let J=await K3();if(!J)return[];try{let G=J3(X);if(!await M0(G))return[];await q3(Z,{recursive:!0});let Q=await S0(G),q=G3(X,Q3(X)),K=$.format||"webp",w=(await new J.Input(G).getInfo()).duration||60,z=$.count||10,B=$.interval||w/z,j=[];for(let H=0;H<z&&H*B<w;H++)j.push(H*B);let _=await J.extractThumbnails(G,{timestamps:j,width:$.width||320,format:K,quality:$.quality||80,outputDir:Z,outputPattern:`${q}-thumb-${Q}`});if(_&&_.length>0)return _.map((H,O)=>({path:H.path||B8(Z,`${q}-thumb-${Q}-${O}.${K}`),url:`${Y}/${q}-thumb-${Q}-${O}.${K}`,width:H.width||$.width||320,height:H.height||180,timestamp:j[O],size:H.size||0}));return[]}catch(G){return console.warn(`[stx-media] Failed to generate thumbnails: ${G}`),[]}}async function pY(X,$,Z,Y){let J=await K3();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let G=J3(X);if(!await M0(G))return null;await q3(Z,{recursive:!0});let Q=await S0(G),q=G3(X,Q3(X)),W=(await new J.Input(G).getInfo()).duration||60,w=$.columns||10,z=$.interval||5,B=$.thumbnailWidth||160,j=$.thumbnailHeight||90,_=$.format||"jpeg",H=Math.ceil(W/z),O=Math.ceil(H/w),L=`${q}-sprite-${Q}.${_}`,F=B8(Z,L),V=[];for(let R=0;R<H;R++)V.push(R*z);let A=await J.extractThumbnails(G,{timestamps:V,width:B,height:j,format:_,quality:$.quality||70,outputDir:B8(Z,".temp")});if(!A||A.length===0)return null;try{let R=await import("ts-images"),T=w*B,k=O*j,M=await R.createSprite({images:A.map((N)=>N.path),columns:w,padding:0,outputPath:F,format:_,quality:$.quality||70});return{url:`${Y}/${L}`,path:F,columns:w,rows:O,thumbnailWidth:B,thumbnailHeight:j,interval:z,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 U3=E(()=>{a1()});import{resolve as nY,basename as rY,extname as oY,join as t1}from"path";import{mkdir as O8,writeFile as sY}from"fs/promises";async function aY(){try{return await import("ts-videos")}catch{return null}}async function L8(X,$,Z,Y,J){let G=await aY();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let Q=nY(X);if(!await M0(Q))return null;let q=await S0(Q),K=rY(X,oY(X)),U=t1(Z,`${K}-${q}-hls`);await O8(U,{recursive:!0});let W=$.length>0?$:tY,w=J?.segmentDuration||6,j=(await new G.Input(Q).getInfo()).duration||0,_=[],H=0;for(let F of W){let V=t1(U,F.label);await O8(V,{recursive:!0});let A=`${F.label}.m3u8`,R=t1(V,A);try{let T=await G.generateHLS(Q,{outputDir:V,segmentDuration:w,width:F.width,height:F.height,videoBitrate:F.bitrate,audioBitrate:F.audioBitrate,playlistName:F.label});if(T)_.push({quality:F,url:`${Y}/${K}-${q}-hls/${F.label}/${A}`,path:R}),H+=T.segmentCount||Math.ceil(j/w)}catch(T){console.warn(`[stx-media] Failed to generate HLS for ${F.label}: ${T}`)}}if(_.length===0)return null;let O=t1(U,"master.m3u8"),L=Gj(_,Y,K,q);return await sY(O,L),{manifestUrl:`${Y}/${K}-${q}-hls/master.m3u8`,manifestPath:O,playlists:_,segmentCount:H,duration:j}}catch(Q){return console.warn(`[stx-media] Failed to generate HLS manifest: ${Q}`),null}}function Gj(X,$,Z,Y){let J=["#EXTM3U","#EXT-X-VERSION:3"];for(let G of X){let{quality:Q}=G,q=Q.bitrate+(Q.audioBitrate||128000),K=`${Q.width}x${Q.height||Math.round(Q.width*9/16)}`;J.push(`#EXT-X-STREAM-INF:BANDWIDTH=${q},RESOLUTION=${K},NAME="${Q.label}"`,`${Q.label}/${Q.label}.m3u8`)}return J.join(`
|
|
11907
|
+
`)}async function F8(X,$,Z,Y,J){let G=await aY();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let Q=nY(X);if(!await M0(Q))return null;let q=await S0(Q),K=rY(X,oY(X)),U=t1(Z,`${K}-${q}-dash`);await O8(U,{recursive:!0});let W=$.length>0?$:tY,w=J?.segmentDuration||4,z=J?.minBufferTime||2,_=(await new G.Input(Q).getInfo()).duration||0,H=[],O=[];for(let A of W){let R=t1(U,A.label);await O8(R,{recursive:!0});try{if(await G.generateDASH(Q,{outputDir:R,segmentDuration:w,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:`${Y}/${K}-${q}-dash/${A.label}/video`}),A.audioBitrate)O.push({bandwidth:A.audioBitrate,url:`${Y}/${K}-${q}-dash/${A.label}/audio`})}}catch(T){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${T}`)}}if(H.length===0)return null;let L=t1(U,"manifest.mpd"),F=Qj(H,O,_,w,z);await sY(L,F);let V=[{type:"video",representations:H}];if(O.length>0)V.push({type:"audio",representations:O});return{manifestUrl:`${Y}/${K}-${q}-dash/manifest.mpd`,manifestPath:L,adaptationSets:V,duration:_}}catch(Q){return console.warn(`[stx-media] Failed to generate DASH manifest: ${Q}`),null}}function Qj(X,$,Z,Y,J){let G=iY(Z),Q=iY(J),q=`<?xml version="1.0" encoding="UTF-8"?>
|
|
11800
11908
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
|
|
11801
11909
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
11802
11910
|
xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
|
|
@@ -11822,13 +11930,13 @@ ${A.join(`
|
|
|
11822
11930
|
</Representation>
|
|
11823
11931
|
`}q+=` </AdaptationSet>
|
|
11824
11932
|
`}return q+=` </Period>
|
|
11825
|
-
</MPD>`,q}function
|
|
11826
|
-
`),
|
|
11933
|
+
</MPD>`,q}function iY(X){let $=Math.floor(X/3600),Z=Math.floor(X%3600/60),Y=Math.floor(X%60),J="PT";if($>0)J+=`${$}H`;if(Z>0)J+=`${Z}M`;return J+=`${Y}S`,J}var tY;var W3=E(()=>{a1();tY=[{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 eY,basename as qj,extname as Kj,join as Uj}from"path";import{mkdir as Wj}from"fs/promises";async function XJ(){try{return await import("ts-videos")}catch{return null}}function wj(X){switch(X){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 zj(X){switch(X){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 w3(X){let $=await XJ();if(!$)return null;try{let Z=eY(X),J=await new $.Input(Z).getInfo();return{duration:J.duration||0,width:J.width||0,height:J.height||0,frameRate:J.frameRate||0,bitrate:J.bitrate||0,codec:J.videoCodec||"",audioCodec:J.audioCodec}}catch(Z){return console.warn(`[stx-media] Failed to analyze video: ${Z}`),null}}async function $J(X,$,Z,Y){let J=await XJ();if(!J)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:X,processed:!1};let G=await z8(X,$,Z);if(G)return G;try{let Q=eY(X);if(!await M0(Q))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let q=Z.outputDir||"dist/videos",K=Z.baseUrl||"/videos";await Wj(q,{recursive:!0});let U=await S0(Q),W=qj(X,Kj(X)),w={src:X,processed:!0,hash:U};Y?.({percentage:5,stage:"analyzing"}),w.metadata=await w3(Q)||void 0;let z={};if($.quality)z.bitrate=wj($.quality);if($.platform)Object.assign(z,zj($.platform));if($.transcode)Object.assign(z,$.transcode);if(Object.keys(z).length>0||$.process){Y?.({percentage:10,stage:"transcoding"});let B=`${W}-${U}.mp4`,j=Uj(q,B);try{let _=await jj(Q,j,z,J,(H)=>Y?.({percentage:10+H*0.5,stage:"transcoding"}));if(_)w.transcoded={path:j,url:`${K}/${B}`,duration:_.duration,size:_.size,video:{codec:z.codec||"h264",width:_.width,height:_.height,bitrate:_.bitrate,frameRate:_.frameRate},audio:_.audioCodec?{codec:z.audioCodec||"aac",bitrate:z.audioBitrate||128000,sampleRate:z.sampleRate||48000,channels:z.channels||2}:void 0}}catch(_){w.errors=w.errors||[],w.errors.push(`Transcoding failed: ${_}`)}}if($.generatePoster){Y?.({percentage:65,stage:"generating-poster"});let B=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},j=await _8(Q,B,q,K);if(j)w.poster=j}if(Z.thumbnails?.enabled){Y?.({percentage:70,stage:"generating-thumbnails"});let B=await H8(Q,Z.thumbnails,q,K);if(B.length>0)w.thumbnails=B}if($.streaming){Y?.({percentage:80,stage:"generating-manifests"});let B=typeof $.streaming==="object"?$.streaming:Z.streaming||{format:"hls"};if(B.format==="hls"||B.format===void 0){let j=await L8(Q,B.qualities||Z.streaming?.defaultQualities||[],q,K);if(j)w.streaming={...w.streaming,hls:j}}if(B.format==="dash"){let j=await F8(Q,B.qualities||Z.streaming?.defaultQualities||[],q,K);if(j)w.streaming={...w.streaming,dash:j}}}if($.spriteSheet)Y?.({percentage:90,stage:"generating-sprite-sheet"});return Y?.({percentage:100,stage:"complete"}),await j8(X,$,w,Z),w}catch(Q){return{src:X,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function jj(X,$,Z,Y,J){try{let Q=await new Y.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((q)=>{J?.(q.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 ZJ=E(()=>{a1();Y3();U3();W3()});var YJ={};o(YJ,{setCachedVideoResult:()=>j8,processVideo:()=>$J,getCachedVideoResult:()=>z8,generateThumbnails:()=>H8,generateSpriteSheet:()=>pY,generatePoster:()=>_8,generateHLSManifest:()=>L8,generateDASHManifest:()=>F8,clearVideoCache:()=>cY,analyzeVideo:()=>w3,VideoProcessorCache:()=>w8});var JJ=E(()=>{ZJ();U3();W3();Y3()});async function QJ(){try{return await Promise.resolve().then(() => (JJ(),YJ))}catch(X){if(!GJ)console.warn("[stx-media] Video processor not available, some features disabled:",X),GJ=!0;return null}}async function V8(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipProcessing){if(Z.tsVideosConfig?.enabled&&!Z.isDev)return Fj(Y,Z)}if(Z.processedResult?.processed)return WJ(X,Z.processedResult,$);let J;if(Y.generatePoster&&Y.src&&!X.poster)J=await Vj(Y,Z);let{src:G,sources:Q=[],poster:q,posterPlaceholder:K,controls:U=qJ,autoplay:W=!1,muted:w=!1,loop:z=!1,preload:B=KJ,playsinline:j=!0,lazy:_=!0,player:H="native",type:O,width:L,height:F,crossorigin:V,disablePictureInPicture:A=!1,disableRemotePlayback:R=!1}=X,T=J||q,k=X.class,M=X.style,N=X.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(H==="ts-video")return Hj(X,$);if(O&&O!=="video")return _j(G||"",O,X);let D=Q.length>0?Q:G?[{src:G,type:UJ(G)}]:[],I=[`id="${N}"`];if(U)I.push("controls");if(W)I.push("autoplay");if(w)I.push("muted");if(z)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"'),T)I.push(`data-poster="${F0(T)}"`);I.push("data-stx-lazy")}else if(I.push(`preload="${B}"`),T)I.push(`poster="${F0(T)}"`);if(L)I.push(`width="${L}"`);if(F)I.push(`height="${F}"`);if(k)I.push(`class="${F0(k)}"`);if(M)I.push(`style="${F0(M)}"`);let C=D.map((v)=>{return` <source ${_?`data-src="${F0(v.src)}"`:`src="${F0(v.src)}"`} type="${v.type}"${v.media?` media="${v.media}"`:""} />`}).join(`
|
|
11934
|
+
`),b=`<video ${I.join(" ")}>
|
|
11827
11935
|
${C}
|
|
11828
11936
|
Your browser does not support the video tag.
|
|
11829
|
-
</video>`,
|
|
11937
|
+
</video>`,y;if(_)y=`
|
|
11830
11938
|
(function() {
|
|
11831
|
-
var video = document.getElementById('${
|
|
11939
|
+
var video = document.getElementById('${N}');
|
|
11832
11940
|
if (!video) return;
|
|
11833
11941
|
|
|
11834
11942
|
var observer = new IntersectionObserver(function(entries) {
|
|
@@ -11861,20 +11969,20 @@ ${C}
|
|
|
11861
11969
|
|
|
11862
11970
|
observer.observe(video);
|
|
11863
11971
|
})();
|
|
11864
|
-
`.trim();return{html:
|
|
11972
|
+
`.trim();return{html:b,script:y}}function _j(X,$,Z){let{width:Y=640,height:J=360}=Z,G=Z.class,Q=Z.style,q=Z.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,K,U=null;switch($){case"youtube":U=Oj(X),K=U?`https://www.youtube-nocookie.com/embed/${U}`:X;break;case"vimeo":U=Lj(X),K=U?`https://player.vimeo.com/video/${U}`:X;break;case"dailymotion":U=X.split("/").pop()||"",K=`https://www.dailymotion.com/embed/video/${U}`;break;case"twitch":U=X.split("/").pop()||"",K=`https://player.twitch.tv/?video=${U}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:K=X}let W=[`id="${q}"`,`src="${F0(K)}"`,`width="${Y}"`,`height="${J}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(G)W.push(`class="${F0(G)}"`);if(Q)W.push(`style="${F0(Q)}"`);if(Z.lazy)W.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
|
|
11865
11973
|
<iframe ${W.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
|
|
11866
|
-
</div>`}}function
|
|
11974
|
+
</div>`}}function Hj(X,$={}){let{src:Z,sources:Y=[],poster:J,controls:G=!0,autoplay:Q=!1,muted:q=!1,loop:K=!1,preload:U="metadata",playsinline:W=!0,lazy:w=!0,width:z,height:B}=X,j=X.class,_=X.style,H=X.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,O={src:Y.length>0?Y:Z,autoplay:Q,loop:K,muted:q,playsinline:W,preload:U,poster:J,controls:G,title:X.title},L=["position: relative",z?`width: ${typeof z==="number"?z+"px":z}`:"width: 100%",B?`height: ${typeof B==="number"?B+"px":B}`:"",_||""].filter(Boolean).join("; "),F=`
|
|
11867
11975
|
<div
|
|
11868
11976
|
id="${H}"
|
|
11869
|
-
class="ts-video-player${j?" "+
|
|
11870
|
-
style="${
|
|
11977
|
+
class="ts-video-player${j?" "+F0(j):""}"
|
|
11978
|
+
style="${L}"
|
|
11871
11979
|
data-ts-video-player
|
|
11872
|
-
data-config='${JSON.stringify(
|
|
11980
|
+
data-config='${JSON.stringify(O)}'
|
|
11873
11981
|
${w?"data-lazy":""}
|
|
11874
11982
|
>
|
|
11875
11983
|
<div class="ts-video-player__container">
|
|
11876
11984
|
${J?`
|
|
11877
|
-
<div class="ts-video-player__placeholder" style="background-image: url('${
|
|
11985
|
+
<div class="ts-video-player__placeholder" style="background-image: url('${F0(J)}');">
|
|
11878
11986
|
<button class="ts-video-player__play-button" aria-label="Play video">
|
|
11879
11987
|
<svg viewBox="0 0 24 24" fill="currentColor" width="64" height="64">
|
|
11880
11988
|
<path d="M8 5v14l11-7z"/>
|
|
@@ -11900,7 +12008,7 @@ ${C}
|
|
|
11900
12008
|
|
|
11901
12009
|
// Load ts-video-player from CDN
|
|
11902
12010
|
var script = document.createElement('script');
|
|
11903
|
-
script.src = '${
|
|
12011
|
+
script.src = '${Bj}';
|
|
11904
12012
|
script.onload = initPlayer;
|
|
11905
12013
|
script.onerror = function() {
|
|
11906
12014
|
console.error('[stx] Failed to load ts-video-player');
|
|
@@ -12030,14 +12138,14 @@ else {
|
|
|
12030
12138
|
.ts-video-player__play-button svg {
|
|
12031
12139
|
margin-left: 4px;
|
|
12032
12140
|
}
|
|
12033
|
-
`.trim();return{html:F,script:V,css:A}}function
|
|
12034
|
-
${
|
|
12141
|
+
`.trim();return{html:F,script:V,css:A}}function UJ(X){switch(X.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 Oj(X){let $=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let Z of $){let Y=X.match(Z);if(Y)return Y[1]}return null}function Lj(X){let $=X.match(/vimeo\.com\/(\d+)/);return $?$[1]:null}function F0(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'")}async function Fj(X,$){let Z=await QJ();if(!Z)return V8({...X,process:!1},$);let Y=$.tsVideosConfig,J=await Z.processVideo(X.src,X,Y,X.onProcessProgress);if(J.processed)return WJ(X,J,$);return V8({...X,process:!1},$)}async function Vj(X,$){let Z=await QJ();if(!Z||!X.src)return;let Y=typeof X.generatePoster==="object"?X.generatePoster:{timestamp:0},J=$.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await Z.generatePoster(X.src,Y,J.outputDir,J.baseUrl||"/videos"))?.url}function WJ(X,$,Z){let{controls:Y=qJ,autoplay:J=!1,muted:G=!1,loop:Q=!1,preload:q=KJ,playsinline:K=!0,lazy:U=!0,width:W,height:w,crossorigin:z,disablePictureInPicture:B=!1,disableRemotePlayback:j=!1}=X,_=X.class,H=X.style,O=X.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,L=X.src,F=UJ(L);if($.transcoded)L=$.transcoded.url,F="video/mp4";let V=$.streaming?.hls||$.streaming?.dash;if(V){if($.streaming?.hls)L=$.streaming.hls.manifestUrl,F="application/x-mpegURL";else if($.streaming?.dash)L=$.streaming.dash.manifestUrl,F="application/dash+xml"}let A=$.poster?.url||X.poster,R=[`id="${O}"`];if(Y)R.push("controls");if(J)R.push("autoplay");if(G)R.push("muted");if(Q)R.push("loop");if(K)R.push("playsinline");if(B)R.push("disablepictureinpicture");if(j)R.push("disableremoteplayback");if(z)R.push(`crossorigin="${z}"`);if(U){if(R.push(`data-preload="${q}"`),R.push('preload="none"'),A)R.push(`data-poster="${F0(A)}"`);R.push("data-stx-lazy")}else if(R.push(`preload="${q}"`),A)R.push(`poster="${F0(A)}"`);let T=W||$.metadata?.width,k=w||$.metadata?.height;if(T)R.push(`width="${T}"`);if(k)R.push(`height="${k}"`);if(_)R.push(`class="${F0(_)}"`);if(H)R.push(`style="${F0(H)}"`);let N=` <source ${U?`data-src="${F0(L)}"`:`src="${F0(L)}"`} type="${F}" />`,D=`<video ${R.join(" ")}>
|
|
12142
|
+
${N}
|
|
12035
12143
|
Your browser does not support the video tag.
|
|
12036
|
-
</video>`;if($.spriteSheet)
|
|
12037
|
-
${
|
|
12144
|
+
</video>`;if($.spriteSheet)D=`<div class="stx-video-wrapper" data-sprite-sheet="${F0($.spriteSheet.url)}" data-sprite-cols="${$.spriteSheet.columns}" data-sprite-interval="${$.spriteSheet.interval}">
|
|
12145
|
+
${D}
|
|
12038
12146
|
</div>`;let I;if(U)I=`
|
|
12039
12147
|
(function() {
|
|
12040
|
-
var video = document.getElementById('${
|
|
12148
|
+
var video = document.getElementById('${O}');
|
|
12041
12149
|
if (!video) return;
|
|
12042
12150
|
|
|
12043
12151
|
var observer = new IntersectionObserver(function(entries) {
|
|
@@ -12079,9 +12187,9 @@ ${y}
|
|
|
12079
12187
|
width: 100%;
|
|
12080
12188
|
height: auto;
|
|
12081
12189
|
}
|
|
12082
|
-
`.trim();return{html:
|
|
12190
|
+
`.trim();return{html:D,script:I,css:C}}var GJ=!1,qJ=!0,KJ="metadata",Bj="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var wJ=E(()=>{j3()});function zJ(){return tX({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async(X,$,Z,Y)=>{let{src:J,options:G}=Aj(X,$,Z);if(!J)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let Q={src:J,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},K={isDev:Z.__isDev||!1,tsVideosConfig:Z.__tsVideosConfig},U=await V8(Q,K),W=U.html;if(U.css)W+=`
|
|
12083
12191
|
<style>${U.css}</style>`;if(U.script)W+=`
|
|
12084
|
-
<script>${U.script}</script>`;return W},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function
|
|
12192
|
+
<script>${U.script}</script>`;return W},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function Aj(X,$,Z){if($.src)return{src:String($.src),options:$.options||{}};let Y=X.trim();if(Y.startsWith("@video(")||Y.startsWith("("))Y=Y.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let J=Rj(Y),G=jJ(J[0],Z)||"",Q={};if(J[1]){let q=jJ(J[1],Z);if(typeof q==="object"&&q!==null)Q=q;else if(typeof J[1]==="string")try{Q=JSON.parse(J[1])}catch{}}return{src:G,options:Q}}function Rj(X){let $=[],Z="",Y=!1,J="",G=0,Q=0;for(let q=0;q<X.length;q++){let K=X[q],U=q>0?X[q-1]:"";if((K==='"'||K==="'"||K==="`")&&U!=="\\"){if(!Y)Y=!0,J=K;else if(K===J)Y=!1,J="";else Z+=K;continue}if(!Y){if(K==="{")G++;if(K==="}")G--;if(K==="[")Q++;if(K==="]")Q--;if(K===","&&G===0&&Q===0){$.push(Z.trim()),Z="";continue}}Z+=K}if(Z.trim())$.push(Z.trim());return $}function jJ(X,$){if(typeof X!=="string")return X;let Z=X.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 Y=$[Z];if(Y!==void 0)return Y}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var z3;var j3=E(()=>{f9();wJ();z3=zJ()});function Tj(X,$){let Z=$.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
|
|
12085
12193
|
${X}
|
|
12086
12194
|
</div>
|
|
12087
12195
|
<script>
|
|
@@ -12126,7 +12234,7 @@ ${y}
|
|
|
12126
12234
|
}
|
|
12127
12235
|
}
|
|
12128
12236
|
})();
|
|
12129
|
-
</script>`}function
|
|
12237
|
+
</script>`}function Nj(X,$){let Z=$.pwa?.updates,Y=Z?.message||"A new version is available. Reload to update?",J=Z?.autoReload||!1,G=X.trim().length>0,Q=`
|
|
12130
12238
|
<div class="stx-pwa-update-banner" style="
|
|
12131
12239
|
position: fixed;
|
|
12132
12240
|
bottom: 0;
|
|
@@ -12237,7 +12345,7 @@ else {
|
|
|
12237
12345
|
// Also listen for custom event
|
|
12238
12346
|
window.addEventListener('pwa-update-available', showUpdate);
|
|
12239
12347
|
})();
|
|
12240
|
-
</script>`}function
|
|
12348
|
+
</script>`}function Mj(X,$){let Z=X.trim().length>0,Y=`
|
|
12241
12349
|
<div class="stx-offline-indicator" style="
|
|
12242
12350
|
position: fixed;
|
|
12243
12351
|
top: 16px;
|
|
@@ -12298,7 +12406,7 @@ else {
|
|
|
12298
12406
|
window.addEventListener('offline', updateStatus);
|
|
12299
12407
|
updateStatus();
|
|
12300
12408
|
})();
|
|
12301
|
-
</script>`}function
|
|
12409
|
+
</script>`}function kj(X,$){let Z=$.pwa?.push,Y=Z?.vapidPublicKey||"",J=Z?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
|
|
12302
12410
|
${X}
|
|
12303
12411
|
</div>
|
|
12304
12412
|
<script>
|
|
@@ -12380,71 +12488,71 @@ catch (error) {
|
|
|
12380
12488
|
init();
|
|
12381
12489
|
}
|
|
12382
12490
|
})();
|
|
12383
|
-
</script>`}function
|
|
12384
|
-
${X.message}`),$&&X.line){let G=
|
|
12491
|
+
</script>`}function vT(X){return[...X,...B3]}var Ij,Ej,Dj,yj,B3;var _3=E(()=>{Ij={name:"pwa.installButton",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return Tj(X,J)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},Ej={name:"pwa.updatePrompt",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return Nj(X,J)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},Dj={name:"pwa.offlineIndicator",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return Mj(X,J)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},yj={name:"pwa.pushSubscribe",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return kj(X,J)},hasEndTag:!0,description:"Renders a push notification subscription button"},B3=[Ij,Ej,Dj,yj]});function H3(X){for(let[$,Z]of Object.entries(s))if(Z===X)return $;return}var s;var A8=E(()=>{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 P7(){return!1}function v7(){return!P7()||process.env.STX_DEBUG==="true"}function R8(){return!1}import bj from"path";function T8(){return{...O3}}function N8(X){if(!O3.showRelativePaths||!X)return X;let $=O3.baseDir||process.cwd();try{let Z=bj.relative($,X);return Z.startsWith("..")?X:Z}catch{return X}}var Sj,O3,M8,e1,k8;var I8=E(()=>{A8();Sj={showRelativePaths:!1,enableAutoRecovery:v7(),logRecoveryWarnings:!0},O3={...Sj};M8=class M8 extends Error{code;filePath;line;column;context;numericCode;constructor(X,$,Z,Y,J,G,Q){super(X);this.code=$;this.filePath=Z;this.line=Y;this.column=J;this.context=G;if(this.name="StxError",this.numericCode=Q||s.EVALUATION_ERROR,this.filePath)this.filePath=N8(this.filePath)}};e1=class e1 extends M8{constructor(X,$,Z,Y,J,G){super(X,"stx_RUNTIME_ERROR",$,Z,Y,J,G||s.EVALUATION_ERROR);this.name="StxRuntimeError"}};k8=class k8 extends M8{isFatal=!0;constructor(X,$,Z,Y,J,G){super(X,"stx_VALIDATION_ERROR",$,Z,Y,J,G||s.DOM_API_VIOLATION);this.name="StxValidationError"}}});function _J(X){let{type:$,message:Z,code:Y,filePath:J,line:G,column:Q,template:q,offset:K,snippet:U,suggestion:W,format:w="text"}=X,z=G,B=Q;if(!z&&q&&K!==void 0){let L=gj(q,K);z=L.line,B=L.column}let j=J?N8(J):void 0,_=Y?H3(Y):void 0,H={type:$,code:Y,codeName:_,message:Z,filePath:j,line:z,column:B,snippet:U,suggestion:W,timestamp:new Date().toISOString()},O;switch(w){case"html":O=Pj(H);break;case"json":O=JSON.stringify(H,null,2);break;case"console":O=vj(H,q,K);break;case"text":default:O=Cj(H,q,K);break}return{formatted:O,data:H}}function Cj(X,$,Z){let Y=[],J=X.code?` [${X.codeName||X.code}]`:"";if(Y.push(`[${X.type} Error${J}]`),X.filePath){let G=X.filePath;if(X.line){if(G+=`:${X.line}`,X.column)G+=`:${X.column}`}Y.push(`at ${G}`)}if(Y.push(`
|
|
12492
|
+
${X.message}`),$&&X.line){let G=xj($,X.line,2);if(G)Y.push(`
|
|
12385
12493
|
${G}`)}if(X.snippet)Y.push(`
|
|
12386
12494
|
Snippet: ${X.snippet}`);if(X.suggestion)Y.push(`
|
|
12387
|
-
Suggestion: ${X.suggestion}`);return Y.join(" ")}function
|
|
12495
|
+
Suggestion: ${X.suggestion}`);return Y.join(" ")}function Pj(X){let $=X.code?` [${X.code}]`:"",Z=X.filePath?` in ${X.filePath}${X.line?`:${X.line}`:""}`:"",Y=`<!-- [${X.type} Error${$}]${Z}: ${BJ(X.message)}`;if(X.suggestion)Y+=` | Suggestion: ${BJ(X.suggestion)}`;return Y+=" -->",Y}function vj(X,$,Z){let U=[],W=X.code?` [${X.codeName||X.code}]`:"";if(U.push(`\x1B[1m${"\x1B[31m"}\u2501\u2501\u2501 ${X.type} Error${W} \u2501\u2501\u2501${"\x1B[0m"}`),X.filePath){let w=`\x1B[36m${X.filePath}\x1B[0m`;if(X.line){if(w+=`\x1B[90m:${X.line}\x1B[0m`,X.column)w+=`\x1B[90m:${X.column}\x1B[0m`}U.push(`
|
|
12388
12496
|
\x1B[90mat\x1B[0m ${w}`)}if(U.push(`
|
|
12389
12497
|
|
|
12390
|
-
${X.message}`),$&&X.line){let w=
|
|
12498
|
+
${X.message}`),$&&X.line){let w=fj($,X.line,2);if(w)U.push(`
|
|
12391
12499
|
|
|
12392
12500
|
\x1B[90mContext:\x1B[0m
|
|
12393
12501
|
${w}`)}if(X.suggestion)U.push(`
|
|
12394
12502
|
|
|
12395
12503
|
\x1B[33mSuggestion:\x1B[0m ${X.suggestion}`);return U.push(`
|
|
12396
|
-
${"\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"}`),U.join("")}function
|
|
12504
|
+
${"\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"}`),U.join("")}function xj(X,$,Z){let Y=X.split(`
|
|
12397
12505
|
`),J=Math.max(0,$-Z-1),G=Math.min(Y.length-1,$+Z-1),Q=[];for(let q=J;q<=G;q++){let K=(q+1).toString().padStart(4),U=q===$-1?">":" ";Q.push(`${U}${K} | ${Y[q]}`)}return Q.join(`
|
|
12398
|
-
`)}function
|
|
12506
|
+
`)}function fj(X,$,Z){let Y=X.split(`
|
|
12399
12507
|
`),J=Math.max(0,$-Z-1),G=Math.min(Y.length-1,$+Z-1),Q="\x1B[90m",q="\x1B[31m",K="\x1B[0m",U=[];for(let W=J;W<=G;W++){let w=(W+1).toString().padStart(4),z=W===$-1,B=z?"\x1B[31m>\x1B[0m":" ",j=z?`\x1B[31m${Y[W]}\x1B[0m`:`\x1B[90m${Y[W]}\x1B[0m`;U.push(`${B}\x1B[90m${w}\x1B[0m | ${j}`)}return U.join(`
|
|
12400
|
-
`)}function
|
|
12401
|
-
`);return{line:Y.length,column:Y[Y.length-1].length}}function
|
|
12508
|
+
`)}function BJ(X){return X.replace(/--/g,"- -").replace(/>/g,">")}function gj(X,$){let Y=X.substring(0,$).split(`
|
|
12509
|
+
`);return{line:Y.length,column:Y[Y.length-1].length}}function $0(X,$,Z){return _J({type:X,message:$,code:Z,format:"html"}).formatted}async function b5(X,$,Z){try{return await X()}catch(Y){if(Z&&Y instanceof Error)Z(Y);return $}}var HJ=E(()=>{A8();I8()});class F3{errors=[];maxErrors;enableFileLogging;logFilePath;logFormat;maxFileSize;maxLogFiles;minLevel;writeQueue=Promise.resolve();constructor(X={}){this.maxErrors=X.maxErrors??1000,this.enableFileLogging=X.enableFileLogging??!1,this.logFilePath=X.logFilePath??".stx/errors.log",this.logFormat=X.logFormat??"json",this.maxFileSize=X.maxFileSize??10485760,this.maxLogFiles=X.maxLogFiles??5,this.minLevel=X.minLevel??"all"}configure(X){if(X.maxErrors!==void 0)this.maxErrors=X.maxErrors;if(X.enableFileLogging!==void 0)this.enableFileLogging=X.enableFileLogging;if(X.logFilePath!==void 0)this.logFilePath=X.logFilePath;if(X.logFormat!==void 0)this.logFormat=X.logFormat;if(X.maxFileSize!==void 0)this.maxFileSize=X.maxFileSize;if(X.maxLogFiles!==void 0)this.maxLogFiles=X.maxLogFiles;if(X.minLevel!==void 0)this.minLevel=X.minLevel}log(X,$,Z="error"){let Y={timestamp:new Date,error:X,context:$,level:Z};if(this.errors.push(Y),this.errors.length>this.maxErrors)this.errors=this.errors.slice(-this.maxErrors);if(this.enableFileLogging&&this.shouldLog(Z))this.writeToFile(Y)}shouldLog(X){if(this.minLevel==="all")return!0;if(this.minLevel==="warning")return X==="error"||X==="warning";if(this.minLevel==="error")return X==="error";return!0}formatEntry(X){if(this.logFormat==="json")return JSON.stringify({timestamp:X.timestamp.toISOString(),level:X.level||"error",type:X.error.constructor.name,message:X.error.message,stack:X.error.stack,context:X.context});let $=[`[${X.timestamp.toISOString()}] [${(X.level||"error").toUpperCase()}] ${X.error.constructor.name}: ${X.error.message}`];if(X.error.stack)$.push(` Stack: ${X.error.stack.split(`
|
|
12402
12510
|
`).slice(1).join(`
|
|
12403
12511
|
`)}`);if(X.context)$.push(` Context: ${JSON.stringify(X.context)}`);return $.join(`
|
|
12404
12512
|
`)}writeToFile(X){this.writeQueue=this.writeQueue.then(async()=>{try{let $=await import("fs"),Y=(await import("path")).dirname(this.logFilePath);if(!$.existsSync(Y))$.mkdirSync(Y,{recursive:!0});await this.rotateIfNeeded($);let J=`${this.formatEntry(X)}
|
|
12405
12513
|
`;$.appendFileSync(this.logFilePath,J,"utf-8")}catch($){if(process.env.STX_DEBUG==="true")console.error("Failed to write to error log:",$)}})}async rotateIfNeeded(X){try{if(!X.existsSync(this.logFilePath))return;if(X.statSync(this.logFilePath).size<this.maxFileSize)return;for(let Z=this.maxLogFiles-1;Z>=1;Z--){let Y=`${this.logFilePath}.${Z}`,J=`${this.logFilePath}.${Z+1}`;if(X.existsSync(Y))if(Z>=this.maxLogFiles-1)X.unlinkSync(Y);else X.renameSync(Y,J)}if(this.maxLogFiles<=1)X.writeFileSync(this.logFilePath,"");else X.renameSync(this.logFilePath,`${this.logFilePath}.1`)}catch($){if(process.env.STX_DEBUG==="true")console.error("Failed to rotate error logs:",$)}}getRecentErrors(X=10){return this.errors.slice(-X)}getErrorsByType(X){return this.errors.filter(($)=>$.error.constructor.name===X)}getErrorsByLevel(X){return this.errors.filter(($)=>$.level===X)}clear(){this.errors.length=0}async clearLogFile(){try{let X=await import("fs");if(X.existsSync(this.logFilePath))X.writeFileSync(this.logFilePath,"","utf-8")}catch(X){if(process.env.STX_DEBUG==="true")console.error("Failed to clear error log:",X)}}getStats(){let X={},$={error:0,warning:0,info:0};for(let Z of this.errors){let Y=Z.error.constructor.name;X[Y]=(X[Y]||0)+1;let J=Z.level||"error";$[J]=($[J]||0)+1}return{total:this.errors.length,byType:X,byLevel:$}}async exportToFile(X,$="json"){let Z=await import("fs"),J=(await import("path")).dirname(X);if(!Z.existsSync(J))Z.mkdirSync(J,{recursive:!0});if($==="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(X,JSON.stringify(G,null,2),"utf-8")}else{let G=this.errors.map((Q)=>this.formatEntry(Q));Z.writeFileSync(X,G.join(`
|
|
12406
12514
|
|
|
12407
|
-
`),"utf-8")}}async flush(){await this.writeQueue}}var
|
|
12408
|
-
@end${q}`;Y.push(`Added ${W} missing @end${q}`)}}if(Y.length>0&&$.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),Y.forEach((q)=>console.warn(` - ${q}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:Z,fixes:Y}},createFallbackContent(X,$){if(
|
|
12409
|
-
`)}}});var
|
|
12410
|
-
`,F+=`<meta name="title" content="${
|
|
12411
|
-
`;if(
|
|
12412
|
-
`;if(
|
|
12413
|
-
`}if(
|
|
12414
|
-
`;if(
|
|
12415
|
-
`;if(
|
|
12416
|
-
`,V.title||
|
|
12417
|
-
`}if(V.description||
|
|
12418
|
-
`}if(V.url||
|
|
12419
|
-
`}if(V.image){if(F+=`<meta property="og:image" content="${
|
|
12420
|
-
`,V.imageAlt)F+=`<meta property="og:image:alt" content="${
|
|
12421
|
-
`;if(V.imageWidth)F+=`<meta property="og:image:width" content="${
|
|
12422
|
-
`;if(V.imageHeight)F+=`<meta property="og:image:height" content="${
|
|
12423
|
-
`}if(V.siteName)F+=`<meta property="og:site_name" content="${
|
|
12424
|
-
`}if(
|
|
12425
|
-
`,V.title||
|
|
12426
|
-
`}if(V.description||
|
|
12427
|
-
`}if(V.image||
|
|
12428
|
-
`}if(V.site)F+=`<meta name="twitter:site" content="${
|
|
12429
|
-
`;if(V.creator)F+=`<meta name="twitter:creator" content="${
|
|
12430
|
-
`}if(
|
|
12431
|
-
`}return F.trim()}catch(
|
|
12515
|
+
`),"utf-8")}}async flush(){await this.writeQueue}}var L3,X1,V3;var OJ=E(()=>{I8();L3={isEnabled(){return T8().enableAutoRecovery},fixCommonSyntaxErrors(X){let $=T8();if(!$.enableAutoRecovery)return{fixed:X,fixes:[]};let Z=X,Y=[],J=(Z.match(/\{\{/g)||[]).length,G=(Z.match(/\}\}/g)||[]).length;if(J>G){let q=J-G;Z+="}}".repeat(q),Y.push(`Added ${q} missing closing braces '}}'`)}let Q=["if","foreach","for","switch","section"];for(let q of Q){let K=(Z.match(new RegExp(`@${q}\\b`,"g"))||[]).length,U=(Z.match(new RegExp(`@end${q}\\b`,"g"))||[]).length;if(K>U){let W=K-U;for(let w=0;w<W;w++)Z+=`
|
|
12516
|
+
@end${q}`;Y.push(`Added ${W} missing @end${q}`)}}if(Y.length>0&&$.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),Y.forEach((q)=>console.warn(` - ${q}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:Z,fixes:Y}},createFallbackContent(X,$){if(v7())return`<!-- ${X} failed: ${$.message} -->`;return"<!-- stx rendering error -->"}};X1=new F3,V3={isDevelopment(){return v7()},logDetailedError(X,$){if(!this.isDevelopment())return;if(console.error("=== stx Detailed Error ==="),console.error("Error:",X.message),console.error("Stack:",X.stack),$)console.error("Context:",$);console.error("========================")},createErrorReport(X,$){let Z=["=== stx Error Report ===",`Time: ${new Date().toISOString()}`,`Error: ${X.message}`,`Type: ${X.constructor.name}`,`Stack: ${X.stack}`];if($)Z.push(`Context: ${JSON.stringify($,null,2)}`);return Z.push("========================"),Z.join(`
|
|
12517
|
+
`)}}});var LJ=()=>{};var FJ=E(()=>{A8();HJ();OJ();LJ();I8()});var z1=E(()=>{FJ()});function VJ(X,$,Z,Y){let J=X;J=J.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(q,K,U)=>{if(!U&&K.includes(":")){let W=K.split(":"),w=K,z=W.length>1?W[1]:"";if(z&&$[z])U=$[z];else if(w.startsWith("og:")&&$.openGraph&&$.openGraph[W[1]])U=$.openGraph[W[1]];else U="";return U?`<meta property="${p(w)}" content="${p(U)}">`:""}return U?`<meta name="${p(K)}" content="${p(U)}">`:""});let G=/@metaTag\s*\(/g,Q;while((Q=G.exec(J))!==null){let q=Q.index,K=q+Q[0].length-1,U=1,W=K+1;while(W<J.length&&U>0){if(J[W]==="(")U++;else if(J[W]===")"){if(U--,U===0)break}W++}if(U!==0)break;let w=J.substring(K+1,W).trim(),z=W+1,B=(()=>{try{let j=O0(w,$);if(!j)return"";let _="<meta";if(j.name)_+=` name="${p(String(j.name))}"`;if(j.property)_+=` property="${p(String(j.property))}"`;if(j.httpEquiv)_+=` http-equiv="${p(String(j.httpEquiv))}"`;if(j.content)_+=` content="${p(String(j.content))}"`;return _+=">",_}catch(j){let _=j instanceof Error?j.message:String(j);return $0("MetaTag",_,s.EVALUATION_ERROR)}})();J=J.substring(0,q)+B+J.substring(z),G.lastIndex=0}return J}function AJ(X,$,Z){let Y=X,J=/@structuredData\s*\(/g,G;while((G=J.exec(Y))!==null){let Q=G.index,q=Q+G[0].length-1,K=1,U=q+1;while(U<Y.length&&K>0){if(Y[U]==="(")K++;else if(Y[U]===")"){if(K--,K===0)break}U++}if(K!==0)break;let W=Y.substring(q+1,U).trim(),w=U+1,z=(()=>{try{let B=O0(W,$);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 $0("StructuredData",j,s.EVALUATION_ERROR)}})();Y=Y.substring(0,Q)+z+Y.substring(w),J.lastIndex=0}return Y}function RJ(X,$,Z,Y){let J=X,G=/@seo\s*\(\s*\{/g,Q;while((Q=G.exec(J))!==null){let q=J.indexOf("{",Q.index+4),K=1,U=q+1,W=null,w=!1;while(U<J.length&&K>0){let O=J[U];if(w){w=!1,U++;continue}if(O==="\\"&&W){w=!0,U++;continue}if(W){if(O===W)W=null;U++;continue}if(O==='"'||O==="'"||O==="`"){W=O,U++;continue}if(O==="{")K++;else if(O==="}")K--;U++}if(K!==0)break;let z=J.substring(U).match(/^\s*\)/);if(!z)break;let B=U+z[0].length,j=J.substring(q,U),_=J.substring(Q.index,B),H=((O)=>{try{let L=O0(O,$);if(!L)return"";let F="";if(L.title)F+=`<title>${p(L.title)}</title>
|
|
12518
|
+
`,F+=`<meta name="title" content="${p(L.title)}">
|
|
12519
|
+
`;if(L.description)F+=`<meta name="description" content="${p(L.description)}">
|
|
12520
|
+
`;if(L.keywords){let V=Array.isArray(L.keywords)?L.keywords.join(", "):L.keywords;F+=`<meta name="keywords" content="${p(V)}">
|
|
12521
|
+
`}if(L.robots)F+=`<meta name="robots" content="${p(L.robots)}">
|
|
12522
|
+
`;if(L.canonical)F+=`<link rel="canonical" href="${p(L.canonical)}">
|
|
12523
|
+
`;if(L.openGraph){let V=L.openGraph;if(F+=`<meta property="og:type" content="${p(V.type||"website")}">
|
|
12524
|
+
`,V.title||L.title){let A=V.title||L.title||"";F+=`<meta property="og:title" content="${p(A)}">
|
|
12525
|
+
`}if(V.description||L.description){let A=V.description||L.description||"";F+=`<meta property="og:description" content="${p(A)}">
|
|
12526
|
+
`}if(V.url||L.canonical){let A=V.url||L.canonical||"";F+=`<meta property="og:url" content="${p(A)}">
|
|
12527
|
+
`}if(V.image){if(F+=`<meta property="og:image" content="${p(V.image)}">
|
|
12528
|
+
`,V.imageAlt)F+=`<meta property="og:image:alt" content="${p(V.imageAlt)}">
|
|
12529
|
+
`;if(V.imageWidth)F+=`<meta property="og:image:width" content="${p(String(V.imageWidth))}">
|
|
12530
|
+
`;if(V.imageHeight)F+=`<meta property="og:image:height" content="${p(String(V.imageHeight))}">
|
|
12531
|
+
`}if(V.siteName)F+=`<meta property="og:site_name" content="${p(V.siteName)}">
|
|
12532
|
+
`}if(L.twitter){let V=L.twitter;if(F+=`<meta name="twitter:card" content="${p(V.card||"summary_large_image")}">
|
|
12533
|
+
`,V.title||L.title){let A=V.title||L.title||"";F+=`<meta name="twitter:title" content="${p(A)}">
|
|
12534
|
+
`}if(V.description||L.description){let A=V.description||L.description||"";F+=`<meta name="twitter:description" content="${p(A)}">
|
|
12535
|
+
`}if(V.image||L.openGraph&&L.openGraph.image){let A=V.image||(L.openGraph?L.openGraph.image:"")||"";F+=`<meta name="twitter:image" content="${p(A)}">
|
|
12536
|
+
`}if(V.site)F+=`<meta name="twitter:site" content="${p(V.site)}">
|
|
12537
|
+
`;if(V.creator)F+=`<meta name="twitter:creator" content="${p(V.creator)}">
|
|
12538
|
+
`}if(L.structuredData){let V=JSON.stringify(L.structuredData).replace(/<\//g,"<\\/");F+=`<script type="application/ld+json">${V}</script>
|
|
12539
|
+
`}return F.trim()}catch(L){let F=L instanceof Error?L.message:String(L);return $0("SEO",`Error processing @seo directive: ${F}`,s.EVALUATION_ERROR)}})(j);J=J.substring(0,Q.index)+H+J.substring(B),G.lastIndex=Q.index+H.length}return J}function TJ(X,$,Z){if(Z.seo?.enabled===!1)return X;if(X.includes("<!-- stx SEO Tags -->")||Z.skipDefaultSeoTags===!0)return X;let Y=$.__stx_runtime_head;if(!!(Y?.title||Y?.meta?.some((w)=>w.property==="og:title"||w.name==="og:title"||w.name==="twitter:title"||w.name==="description")))return X;if(/<meta\s+(?:[^>]*\s)?property=["']og:title["']/i.test(X)||/<meta\s+(?:[^>]*\s)?name=["']og:title["']/i.test(X)||/<meta\s+(?:[^>]*\s)?name=["']twitter:title["']/i.test(X))return X;if(!X.includes("<head>")&&!X.includes("<head "))return X;let G=X.includes("<title>")||X.includes("</title>"),Q="";if($.title)Q=$.title;else if($.meta&&$.meta.title)Q=$.meta.title;else if(Z.seo?.defaultConfig?.title)Q=Z.seo.defaultConfig.title;else Q=Z.defaultTitle||"stx Project";let q="";if($.description)q=$.description;else if($.meta&&$.meta.description)q=$.meta.description;else if(Z.seo?.defaultConfig?.description)q=Z.seo.defaultConfig.description;else q=Z.defaultDescription||"A website built with stx templating engine";let K="";if($.image)K=$.image;else if($.meta&&$.meta.image)K=$.meta.image;else if($.openGraph&&$.openGraph.image)K=$.openGraph.image;else if(Z.seo?.defaultImage)K=Z.seo.defaultImage;else if(Z.defaultImage)K=Z.defaultImage;let U=`
|
|
12432
12540
|
<!-- stx SEO Tags -->
|
|
12433
|
-
<meta name="title" content="${
|
|
12434
|
-
<meta name="description" content="${
|
|
12435
|
-
<meta property="og:title" content="${
|
|
12436
|
-
<meta property="og:description" content="${
|
|
12541
|
+
<meta name="title" content="${p(Q)}">
|
|
12542
|
+
<meta name="description" content="${p(q)}">
|
|
12543
|
+
<meta property="og:title" content="${p(Q)}">
|
|
12544
|
+
<meta property="og:description" content="${p(q)}">
|
|
12437
12545
|
<meta property="og:type" content="website">
|
|
12438
12546
|
<meta name="twitter:card" content="summary_large_image">
|
|
12439
|
-
<meta name="twitter:title" content="${
|
|
12440
|
-
<meta name="twitter:description" content="${
|
|
12547
|
+
<meta name="twitter:title" content="${p(Q)}">
|
|
12548
|
+
<meta name="twitter:description" content="${p(q)}">
|
|
12441
12549
|
`;if(K)U+=`
|
|
12442
|
-
<meta property="og:image" content="${
|
|
12443
|
-
<meta name="twitter:image" content="${
|
|
12550
|
+
<meta property="og:image" content="${p(K)}">
|
|
12551
|
+
<meta name="twitter:image" content="${p(K)}">
|
|
12444
12552
|
`;let W=X;if(!G)W=W.replace(/<head[^>]*>/,`$&
|
|
12445
|
-
<title>${
|
|
12553
|
+
<title>${p(Q)}</title>`);return W.replace(/<head[^>]*>/,`$&
|
|
12446
12554
|
${U}
|
|
12447
|
-
`)}function
|
|
12555
|
+
`)}function p(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var NJ,MJ;var A3=E(()=>{z1();L0();NJ={name:"meta",handler:(X,$,Z,Y)=>{if($.length<1)return $0("Meta","meta directive requires at least the meta name",s.INVALID_DIRECTIVE_SYNTAX);let J=$[0].replace(/['"]/g,""),G=$.length>1?$[1].replace(/['"]/g,""):"";return`<meta name="${p(J)}" content="${p(G)}">`},hasEndTag:!1},MJ={name:"structuredData",handler:(X,$,Z,Y)=>{if(X.trim()==="")return $0("StructuredData","structuredData directive requires JSON-LD content",s.INVALID_DIRECTIVE_SYNTAX);try{let J=JSON.parse(X);if(!J["@context"])J["@context"]="https://schema.org";if(!J["@type"])return $0("StructuredData","structuredData requires @type property",s.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(J)}</script>`}catch(J){let G=J instanceof Error?J.message:String(J);return $0("StructuredData",G,s.EVALUATION_ERROR)}},hasEndTag:!0}});import x7 from"path";function hj(X,$){let Z=X.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Y=Z?Z[1].trim():"",J=$,G=[],Q=!0;if(Y){let w=Y.match(/export\s+default\s+({[\s\S]*})/);if(w)try{let z=w[1],B=z.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(B)J=B[1];let j=z.match(/props\s*:\s*\[([\s\S]*?)\]/);if(j)G=j[1].split(",").map((H)=>H.trim().replace(/['"`]/g,"")).filter((H)=>H.length>0);let _=z.match(/shadowDOM\s*:\s*(true|false)/);if(_)Q=_[1]==="true"}catch{}}let q=X.match(/<template\b(?![^>]*\bid\s*=)[^>]*>([\s\S]*?)<\/template>/i),K=q?q[1].trim():"",U=X.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),W=U?U[1].trim():"";return{tag:J,props:G,template:K,styles:W,script:Y,shadowDOM:Q}}function uj(X){let{tag:$,props:Z,template:Y,styles:J,shadowDOM:G}=X,Q=$.split("-").map((w)=>w.charAt(0).toUpperCase()+w.slice(1)).join(""),q=Y.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),K=J.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),U=Z.map((w)=>`'${w}'`).join(", "),W=Z.map((w)=>`
|
|
12448
12556
|
get ${w}() {
|
|
12449
12557
|
return this.getAttribute('${w}') || '';
|
|
12450
12558
|
}
|
|
@@ -12495,16 +12603,16 @@ ${W}
|
|
|
12495
12603
|
}
|
|
12496
12604
|
|
|
12497
12605
|
customElements.define('${$}', ${Q});
|
|
12498
|
-
`}async function
|
|
12499
|
-
${
|
|
12500
|
-
</script>`}var RJ=E(()=>{w1();A0()});var NJ={};n(NJ,{timingPlugin:()=>gj,pluginManager:()=>Pj,definePlugin:()=>I8,debugPlugin:()=>fj,createVariablesPlugin:()=>hj,createFilterPlugin:()=>xj,createDirectivePlugin:()=>vj,PluginManager:()=>V3});function I8(X){return X}class V3{plugins=new Map;sortedPlugins=[];initialized=!1;async register(X,$){if(this.plugins.has(X.name))throw Error(`Plugin "${X.name}" is already registered`);if(X.dependencies){for(let Z of X.dependencies)if(!this.plugins.has(Z))throw Error(`Plugin "${X.name}" depends on "${Z}" which is not registered`)}if(this.plugins.set(X.name,X),X.onRegister)await X.onRegister($);this.sortPlugins()}async unregister(X){let $=this.plugins.get(X);if(!$)return!1;for(let[Z,Y]of this.plugins)if(Y.dependencies?.includes(X))throw Error(`Cannot unregister "${X}" because "${Z}" depends on it`);if($.onUnregister)await $.onUnregister();return this.plugins.delete(X),this.sortPlugins(),!0}get(X){return this.plugins.get(X)}has(X){return this.plugins.has(X)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let X=[];for(let $ of this.sortedPlugins)if($.registerDirectives)X.push(...$.registerDirectives());return X}getAllFilters(){let X={};for(let $ of this.sortedPlugins)if($.registerFilters)Object.assign(X,$.registerFilters());return X}async runBeforeProcess(X){return this.runHooks("beforeProcess",X)}async runAfterParse(X){return this.runHooks("afterParse",X)}async runBeforeDirective(X,$){return this.runDirectiveHooks("beforeDirective",X,$)}async runAfterDirective(X,$){return this.runDirectiveHooks("afterDirective",X,$)}async runBeforeRender(X){return this.runHooks("beforeRender",X)}async runAfterRender(X){return this.runHooks("afterRender",X)}async runOnError(X){for(let $ of this.sortedPlugins)if($.onError)try{let Z=await $.onError(X);if(Z){if(Z.template!==void 0)X.template=Z.template;if(Z.context)X.context={...X.context,...Z.context};if(Z.metadata)X.metadata={...X.metadata,...Z.metadata};if(Z.skip)return X}}catch(Z){console.error(`Error in plugin "${$.name}" onError hook:`,Z)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort((X,$)=>(X.priority??100)-($.priority??100))}async runHooks(X,$){let Z={...$};for(let Y of this.sortedPlugins){let J=Y[X];if(J)try{let G=await J(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 "${Y.name}" ${X} hook:`,G)}}return Z}async runDirectiveHooks(X,$,Z){let Y={...Z};for(let J of this.sortedPlugins){let G=J[X];if(G)try{let Q=await G($,Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${J.name}" ${X} hook:`,Q)}}return Y}}function vj(X,$,Z={}){return{name:X,...Z,registerDirectives:()=>$}}function xj(X,$,Z={}){return{name:X,...Z,registerFilters:()=>$}}function hj(X){return I8({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess($){return{context:{...$.context,...X}}}})}var Pj,fj,gj;var TJ=E(()=>{Pj=new V3;fj=I8({name:"stx-debug",version:"1.0.0",description:"Logs all plugin lifecycle events for debugging",priority:0,beforeProcess(X){console.log("[stx-debug] beforeProcess:",X.filePath)},afterParse(X){console.log("[stx-debug] afterParse:",X.template.length,"chars")},beforeDirective(X,$){console.log("[stx-debug] beforeDirective:",X)},afterDirective(X,$){console.log("[stx-debug] afterDirective:",X)},beforeRender(X){console.log("[stx-debug] beforeRender")},afterRender(X){console.log("[stx-debug] afterRender:",X.template.length,"chars")},onError(X){console.error("[stx-debug] onError:",X.error.message,"in phase:",X.phase)}}),gj=I8({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess(X){X.metadata.startTime=performance.now()},afterRender(X){let $=X.metadata.startTime;if($){let Z=performance.now()-$;console.log(`[stx-timing] Processing took ${Z.toFixed(2)}ms`)}}})});var EJ={};n(EJ,{validateConfig:()=>ij,resolveStxDirectories:()=>IJ,loadStxConfig:()=>I1,defineStxConfig:()=>pj,defaultConfig:()=>X5,config:()=>_7});import E8 from"fs";import g0 from"path";import{loadConfigWithResult as uj}from"bunfig";function dj(X,$,Z){let Y=$||"pages";if(X)return{root:X,pagesDir:Y};let J=Z||process.cwd(),G=g0.join(J,"resources","views"),Q=g0.join(J,"resources","layouts");if(E8.existsSync(G)&&E8.existsSync(Q))return{root:"resources",pagesDir:"views"};let q=g0.join(J,"resources","views","pages");if(E8.existsSync(q))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function mj(X,$){let Z=$.replace(/[\\/]+$/,"");if(!Z||Z===".")return!0;let Y=X.replace(/\\/g,"/"),J=Z.replace(/\\/g,"/");return Y===J||Y.startsWith(`${J}/`)}function IJ(X,$){let Z=!X.root,Y=dj(X.root,X.pagesDir,$);if(X.root=Y.root,X.pagesDir=Y.pagesDir,Z&&Y.root!=="."){let J=`${$}::${Y.root}`;if(!MJ.has(J))MJ.add(J),console.warn(`[stx] No "root" in config \u2014 inferred "${Y.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if(X.root&&X.root!=="."){let J=X.root;for(let G of["partialsDir","componentsDir","layoutsDir"]){let Q=X[G];if(typeof Q!=="string"||!Q)continue;if(g0.isAbsolute(Q)||mj(Q,J))continue;X[G]=g0.join(J,Q)}}return X}function lj(X,$){let Z=["componentsDir","layoutsDir","partialsDir"];for(let Y of Z){let J=X[Y];if(typeof J!=="string"||!J)continue;let G=g0.isAbsolute(J)?J:g0.join($,J);if(E8.existsSync(G))continue;let Q=X.root,q=!!Q&&Q!==".";console.warn(`[stx] ${String(Y)} resolves to "${G}", which does not exist. Configured as "${J}"`+(q?`, resolved under root "${Q}".`:"."))}}function cj(X){if(j2(X.stateDir),X.stateDir=t5(),X.cachePath=X7(X.cachePath),X.build)X.build.cacheDir=X7(X.build.cacheDir);if(X.media?.cache)X.media.cache.directory=X7(X.media.cache.directory);if(X.story)X.story.outDir=X7(X.story.outDir)}async function I1(X){if(!X){if(S5)return S5;if(D8)return D8}let $=X?g0.resolve(X):process.cwd(),Z=kJ.get($);if(Z)return Z;let Y=(async()=>{let G=(await uj({name:"stx",alias:"ui",cwd:$,defaultConfig:X5,verbose:!1})).config;if(cj(G),IJ(G,$),lj(G,$),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (TJ(),NJ)),q=[],K=[];for(let U of G.plugins){let W=typeof U==="string"?U:U[0],w=typeof U==="string"?{}:U[1]||{};try{let z,B;try{z=await import(W),B=g0.dirname(W0.resolve(W))}catch{let _=g0.resolve(process.cwd(),W);z=await import(_),B=g0.dirname(_)}let j=z.default||z;if(Q.register(j,G),j.components){let _=Array.isArray(j.components)?j.components:[j.components];for(let H of _)q.push(g0.resolve(B,H))}if(j.pages){let _=g0.resolve(B,j.pages),H=w.path||"/";K.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(w,_)}console.log(`[stx] Plugin loaded: ${j.name||W}`)}catch(z){console.warn(`[stx] Failed to load plugin ${W}:`,z.message)}}G._pluginComponentDirs=q,G._pluginPageDirs=K}return G})();if(kJ.set($,Y),!X)D8=Y,Y.then((J)=>{S5=J}).catch(()=>{});return Y}function pj(X){return X}function ij(X){let $=[],Z=[];if(X.partialsDir!==void 0&&typeof X.partialsDir!=="string")$.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if(X.componentsDir!==void 0&&typeof X.componentsDir!=="string")$.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if(X.cache!==void 0&&typeof X.cache!=="boolean")$.push({path:"cache",message:"cache must be a boolean",severity:"error"});if(X.debug!==void 0&&typeof X.debug!=="boolean")$.push({path:"debug",message:"debug must be a boolean",severity:"error"});if(X.streaming){if(X.streaming.bufferSize!==void 0){if(typeof X.streaming.bufferSize!=="number"||X.streaming.bufferSize<=0)$.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if(X.streaming.timeout!==void 0){if(typeof X.streaming.timeout!=="number"||X.streaming.timeout<=0)$.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if(X.streaming.strategy!==void 0){let Y=["auto","manual","sections"];if(!Y.includes(X.streaming.strategy))$.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.i18n){if(X.i18n.format!==void 0){let Y=["json","yaml","yml","js"];if(!Y.includes(X.i18n.format))$.push({path:"i18n.format",message:`i18n.format must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.animation){if(X.animation.defaultDuration!==void 0){if(typeof X.animation.defaultDuration!=="number"||X.animation.defaultDuration<0)$.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if(X.animation.staggerDelay!==void 0){if(typeof X.animation.staggerDelay!=="number"||X.animation.staggerDelay<0)$.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if(X.a11y){if(X.a11y.level!==void 0){let Y=["AA","AAA"];if(!Y.includes(X.a11y.level))$.push({path:"a11y.level",message:`a11y.level must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.hydration){if(X.hydration.mode!==void 0){let Y=["progressive","islands"];if(!Y.includes(X.hydration.mode))$.push({path:"hydration.mode",message:`hydration.mode must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.hydration.preload!==void 0){let Y=["none","eager","lazy"];if(!Y.includes(X.hydration.preload))$.push({path:"hydration.preload",message:`hydration.preload must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.customDirectives)if(!Array.isArray(X.customDirectives))$.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else X.customDirectives.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`customDirectives[${J}].name`,message:"Custom directive must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`customDirectives[${J}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if(X.middleware)if(!Array.isArray(X.middleware))$.push({path:"middleware",message:"middleware must be an array",severity:"error"});else X.middleware.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`middleware[${J}].name`,message:"Middleware must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`middleware[${J}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!Y.timing||!["before","after"].includes(Y.timing))$.push({path:`middleware[${J}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if(X.debug===!0&&X.cache===!0)Z.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if(X.seo?.enabled===!0&&!X.seo?.defaultConfig?.title)Z.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if(X.pwa){if(X.pwa.enabled===!0&&!X.pwa.manifest?.name)$.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if(X.pwa.manifest?.display!==void 0){let Y=["fullscreen","standalone","minimal-ui","browser"];if(!Y.includes(X.pwa.manifest.display))$.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.manifest?.orientation!==void 0){let Y=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!Y.includes(X.pwa.manifest.orientation))$.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.routes){let Y=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];X.pwa.routes.forEach((J,G)=>{if(!J.pattern||typeof J.pattern!=="string")$.push({path:`pwa.routes[${G}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!Y.includes(J.strategy))$.push({path:`pwa.routes[${G}].strategy`,message:`PWA route strategy must be one of: ${Y.join(", ")}`,severity:"error"});if(J.maxAgeSeconds!==void 0&&(typeof J.maxAgeSeconds!=="number"||J.maxAgeSeconds<0))$.push({path:`pwa.routes[${G}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(J.maxEntries!==void 0&&(typeof J.maxEntries!=="number"||J.maxEntries<1))$.push({path:`pwa.routes[${G}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if(X.pwa.icons?.sizes){if(!Array.isArray(X.pwa.icons.sizes))$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if(X.pwa.icons.sizes.filter((J)=>typeof J!=="number"||J<16||J>1024).length>0)$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if(X.pwa.icons?.purpose){let Y=["any","maskable","monochrome"];if(X.pwa.icons.purpose.filter((G)=>!Y.includes(G)).length>0)$.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.enabled===!0&&!X.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(X.pwa.enabled===!0&&!X.pwa.manifest?.themeColor)Z.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:$.length===0,errors:$,warnings:Z}}var X5,MJ,S5=null,kJ,D8=null,_7;var V1=E(()=>{B$();_$();C$();P$();P9();gY();w3();j3();F3();JX();RJ();X5={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:B5,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:WY,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:AJ,hasEndTag:!1,description:"Include a web component in the template"},H2,O2,FJ,VJ,L2,V2,A2,F2,p2,r2,fY,W3,...z3],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}};MJ=new Set;kJ=new Map;_7=new Proxy(X5,{get(X,$){if(S5&&$ in S5)return S5[$];if(!D8)I1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return X[$]}})});import q0 from"path";import{hasLocalConfig as nj}from"bunfig";function b8(X){return Bun.hash(X).toString(16).padStart(16,"0").slice(0,16)}function R3(X,$){if($5.has(X))$5.delete(X);else if($5.size>=bJ)$5.delete($5.keys().next().value);$5.set(X,$)}function rj(X){let $=b8(X);if(C5.has($))C5.delete($);else if(C5.size>=bJ)C5.delete(C5.keys().next().value);return C5.set($,X),$}async function oj(X){if(!y1)return null;try{let $=Bun.file(q0.join(y1,`cw-${b8(X)}.css`));if(!await $.exists())return null;return await $.text()}catch{return null}}async function sj(X,$){if(!y1)return;try{if(!fs.existsSync(y1))fs.mkdirSync(y1,{recursive:!0});await Bun.write(q0.join(y1,`cw-${b8(X)}.css`),$)}catch{}}async function yJ(X){try{let $=await import(X);if($&&$.CSSGenerator)return{CSSGenerator:$.CSSGenerator,config:$.config,build:$.build,defaultConfig:$.defaultConfig,extractClasses:$.extractClasses}}catch{}return null}function aj(){let X=[],$=process.cwd();while($!==q0.dirname($))X.push(q0.join($,"node_modules","@cwcss","crosswind","dist","index.js")),X.push(q0.join($,"node_modules","@cwcss","crosswind","src","index.ts")),X.push(q0.join($,"pantry","@cwcss","crosswind","dist","index.js")),X.push(q0.join($,"pantry","@cwcss","crosswind","src","index.ts")),X.push(q0.join($,"node_modules","@stacksjs","crosswind","dist","index.js")),X.push(q0.join($,"pantry","@stacksjs","crosswind","dist","index.js")),$=q0.dirname($);return X}function tj(){let X=[],$=process.env.HOME||process.env.USERPROFILE||"";if($){let Z=[q0.join($,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),q0.join($,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),q0.join($,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),q0.join($,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),q0.join($,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),q0.join($,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];X.push(...Z)}return X.push(q0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),X.push(q0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),X}async function ej(){if(DJ)return z1;DJ=!0;try{let X=async(J)=>{for(let G of J){if(!await Bun.file(G).exists())continue;let Q=await yJ(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${V0.green}[Crosswind]${V0.reset} CSS engine loaded from ${q0.dirname(q0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let J=q0.resolve(process.env.CROSSWIND_SRC),G=await X([J]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${J}`);return z1=G,z1}let $=await X(aj());if($)return z1=$,z1;let Z=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let J of Z){let G=await yJ(J);if(G){if(z1=G,!process.env.STACKS_DEV_QUIET)console.log(`${V0.green}[Crosswind]${V0.reset} CSS engine loaded`);return z1}}let Y=await X(tj());if(Y)return z1=Y,z1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${V0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${V0.reset}`),console.warn(`${V0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${V0.reset}`),null}}async function XB(X){try{if(!nj({name:"crosswind",cwd:X}))return null;let{loadConfigWithResult:$}=await import("bunfig"),Z=await $({name:"crosswind",cwd:X,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Z?.path||!Z.config||Object.keys(Z.config).length===0)return null;let Y=q0.relative(X,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${V0.green}[Crosswind]${V0.reset} Loaded config from ${Y||Z.path}`);return Z.config}catch($){if($ instanceof Error&&$.name==="ConfigNotFoundError")return null;return console.warn(`${V0.yellow}[Crosswind]${V0.reset} Failed to load crosswind config:`,$ instanceof Error?$.message:$),null}}function $B(X){let $=new Set,Z=/class\s*=\s*["']([^"']+)["']/gi,Y=Z.exec(X);while(Y!==null){for(let Q of Y[1].split(/\s+/))if(Q.trim())$.add(Q.trim());Y=Z.exec(X)}let J=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,G=J.exec(X);while(G!==null){let Q=G[1].match(/'([^']+)'/g);if(Q){for(let q of Q)for(let K of q.slice(1,-1).split(/\s+/))if(K.trim())$.add(K.trim())}G=J.exec(X)}return $}async function ZB(X,$){try{let Z=await ej();if(!Z)return"";let Y=typeof Z.extractClasses==="function"?Z.extractClasses(X):$B(X);if(Y.size===0)return"";let J=$?q0.resolve($):process.cwd();if(!y1)y1=e5(J,"cache");let G=[...Y].sort().join(" "),Q=`${A3||"default"}::${G}`,q=$5.get(Q);if(q!==void 0)return R3(Q,q),q;let K=await oj(Q);if(K!==null)return R3(Q,K),K;if(!y8){let V=null;try{let{loadStxConfig:A}=await Promise.resolve().then(() => (V1(),EJ)),R=await A(J);if(R.css)if(typeof R.css==="string"){let N=q0.isAbsolute(R.css)?R.css:q0.resolve(J,R.css);if(await Bun.file(N).exists()){let T=await import(N);V=T.default||T,console.log(`${V0.green}[Crosswind]${V0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(V={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let N=q0.isAbsolute(R.css.config)?R.css.config:q0.resolve(J,R.css.config);if(await Bun.file(N).exists()){let T=await import(N);V={...T.default||T,...V}}}console.log(`${V0.green}[Crosswind]${V0.reset} Using inline CSS config from stx.config.ts`)}}catch{}y8=V||await XB(J);try{A3=b8(JSON.stringify(y8??{}))}catch{A3="unhashable"}}let U=Z.defaultConfig||Z.config,W=y8||{},w=w2(U,W),{safelist:z,includePreflight:B,minify:j}=w,_=w.config,H=new Z.CSSGenerator(_);for(let V of z)H.generate(V);for(let V of Y)H.generate(V);let L=H.toCSS(B,j),O=_.shortcuts||W.shortcuts||{};for(let[V,A]of Object.entries(O)){if(!Y.has(V)&&!z.includes(V))continue;let R=A.split(/\s+/).filter(Boolean);for(let N of R)H.generate(N)}L=H.toCSS(B,j);let F=L.split(`
|
|
12501
|
-
`);for(let[V,A]of Object.entries(
|
|
12502
|
-
.${V} { ${
|
|
12503
|
-
@media (prefers-color-scheme: dark) { .dark .${V} { ${
|
|
12606
|
+
`}async function kJ(X,$,Z,Y){if($.length<1)return $0("WebComponent","@webcomponent directive requires at least the tag name parameter",s.INVALID_DIRECTIVE_SYNTAX);let J=$[0].replace(/['"]/g,""),Q=(Z.__stx_options||{}).componentsDir||"components",q=[x7.join(x7.dirname(Y),Q,`${J}.stx`),x7.join(process.cwd(),Q,`${J}.stx`),x7.join(x7.dirname(Y),`${J}.stx`)],K=null;for(let w of q)if(await i(w)){K=await Bun.file(w).text();break}if(!K)return $0("WebComponent",`Component file not found: ${J}.stx`,s.FILE_NOT_FOUND);let U=hj(K,J);return`<script type="module">
|
|
12607
|
+
${uj(U)}
|
|
12608
|
+
</script>`}var IJ=E(()=>{z1();A0()});var EJ={};o(EJ,{timingPlugin:()=>pj,pluginManager:()=>dj,definePlugin:()=>E8,debugPlugin:()=>cj,createVariablesPlugin:()=>ij,createFilterPlugin:()=>lj,createDirectivePlugin:()=>mj,PluginManager:()=>R3});function E8(X){return X}class R3{plugins=new Map;sortedPlugins=[];initialized=!1;async register(X,$){if(this.plugins.has(X.name))throw Error(`Plugin "${X.name}" is already registered`);if(X.dependencies){for(let Z of X.dependencies)if(!this.plugins.has(Z))throw Error(`Plugin "${X.name}" depends on "${Z}" which is not registered`)}if(this.plugins.set(X.name,X),X.onRegister)await X.onRegister($);this.sortPlugins()}async unregister(X){let $=this.plugins.get(X);if(!$)return!1;for(let[Z,Y]of this.plugins)if(Y.dependencies?.includes(X))throw Error(`Cannot unregister "${X}" because "${Z}" depends on it`);if($.onUnregister)await $.onUnregister();return this.plugins.delete(X),this.sortPlugins(),!0}get(X){return this.plugins.get(X)}has(X){return this.plugins.has(X)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let X=[];for(let $ of this.sortedPlugins)if($.registerDirectives)X.push(...$.registerDirectives());return X}getAllFilters(){let X={};for(let $ of this.sortedPlugins)if($.registerFilters)Object.assign(X,$.registerFilters());return X}async runBeforeProcess(X){return this.runHooks("beforeProcess",X)}async runAfterParse(X){return this.runHooks("afterParse",X)}async runBeforeDirective(X,$){return this.runDirectiveHooks("beforeDirective",X,$)}async runAfterDirective(X,$){return this.runDirectiveHooks("afterDirective",X,$)}async runBeforeRender(X){return this.runHooks("beforeRender",X)}async runAfterRender(X){return this.runHooks("afterRender",X)}async runOnError(X){for(let $ of this.sortedPlugins)if($.onError)try{let Z=await $.onError(X);if(Z){if(Z.template!==void 0)X.template=Z.template;if(Z.context)X.context={...X.context,...Z.context};if(Z.metadata)X.metadata={...X.metadata,...Z.metadata};if(Z.skip)return X}}catch(Z){console.error(`Error in plugin "${$.name}" onError hook:`,Z)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort((X,$)=>(X.priority??100)-($.priority??100))}async runHooks(X,$){let Z={...$};for(let Y of this.sortedPlugins){let J=Y[X];if(J)try{let G=await J(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 "${Y.name}" ${X} hook:`,G)}}return Z}async runDirectiveHooks(X,$,Z){let Y={...Z};for(let J of this.sortedPlugins){let G=J[X];if(G)try{let Q=await G($,Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${J.name}" ${X} hook:`,Q)}}return Y}}function mj(X,$,Z={}){return{name:X,...Z,registerDirectives:()=>$}}function lj(X,$,Z={}){return{name:X,...Z,registerFilters:()=>$}}function ij(X){return E8({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess($){return{context:{...$.context,...X}}}})}var dj,cj,pj;var DJ=E(()=>{dj=new R3;cj=E8({name:"stx-debug",version:"1.0.0",description:"Logs all plugin lifecycle events for debugging",priority:0,beforeProcess(X){console.log("[stx-debug] beforeProcess:",X.filePath)},afterParse(X){console.log("[stx-debug] afterParse:",X.template.length,"chars")},beforeDirective(X,$){console.log("[stx-debug] beforeDirective:",X)},afterDirective(X,$){console.log("[stx-debug] afterDirective:",X)},beforeRender(X){console.log("[stx-debug] beforeRender")},afterRender(X){console.log("[stx-debug] afterRender:",X.template.length,"chars")},onError(X){console.error("[stx-debug] onError:",X.error.message,"in phase:",X.phase)}}),pj=E8({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess(X){X.metadata.startTime=performance.now()},afterRender(X){let $=X.metadata.startTime;if($){let Z=performance.now()-$;console.log(`[stx-timing] Processing took ${Z.toFixed(2)}ms`)}}})});var CJ={};o(CJ,{validateConfig:()=>ej,resolveStxDirectories:()=>SJ,loadStxConfig:()=>I1,defineStxConfig:()=>tj,defaultConfig:()=>X5,config:()=>H7});import D8 from"fs";import d0 from"path";import{loadConfigWithResult as nj}from"bunfig";function rj(X,$,Z){let Y=$||"pages";if(X)return{root:X,pagesDir:Y};let J=Z||process.cwd(),G=d0.join(J,"resources","views"),Q=d0.join(J,"resources","layouts");if(D8.existsSync(G)&&D8.existsSync(Q))return{root:"resources",pagesDir:"views"};let q=d0.join(J,"resources","views","pages");if(D8.existsSync(q))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function oj(X,$){let Z=$.replace(/[\\/]+$/,"");if(!Z||Z===".")return!0;let Y=X.replace(/\\/g,"/"),J=Z.replace(/\\/g,"/");return Y===J||Y.startsWith(`${J}/`)}function SJ(X,$){let Z=!X.root,Y=rj(X.root,X.pagesDir,$);if(X.root=Y.root,X.pagesDir=Y.pagesDir,Z&&Y.root!=="."){let J=`${$}::${Y.root}`;if(!yJ.has(J))yJ.add(J),console.warn(`[stx] No "root" in config \u2014 inferred "${Y.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if(X.root&&X.root!=="."){let J=X.root;for(let G of["partialsDir","componentsDir","layoutsDir"]){let Q=X[G];if(typeof Q!=="string"||!Q)continue;if(d0.isAbsolute(Q)||oj(Q,J))continue;X[G]=d0.join(J,Q)}}return X}function sj(X,$){let Z=["componentsDir","layoutsDir","partialsDir"];for(let Y of Z){let J=X[Y];if(typeof J!=="string"||!J)continue;let G=d0.isAbsolute(J)?J:d0.join($,J);if(D8.existsSync(G))continue;let Q=X.root,q=!!Q&&Q!==".";console.warn(`[stx] ${String(Y)} resolves to "${G}", which does not exist. Configured as "${J}"`+(q?`, resolved under root "${Q}".`:"."))}}function aj(X){if(_6(X.stateDir),X.stateDir=e5(),X.cachePath=$7(X.cachePath),X.build)X.build.cacheDir=$7(X.build.cacheDir);if(X.media?.cache)X.media.cache.directory=$7(X.media.cache.directory);if(X.story)X.story.outDir=$7(X.story.outDir)}async function I1(X){if(!X){if(S5)return S5;if(y8)return y8}let $=X?d0.resolve(X):process.cwd(),Z=bJ.get($);if(Z)return Z;let Y=(async()=>{let G=(await nj({name:"stx",alias:"ui",cwd:$,defaultConfig:X5,verbose:!1})).config;if(aj(G),SJ(G,$),sj(G,$),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (DJ(),EJ)),q=[],K=[];for(let U of G.plugins){let W=typeof U==="string"?U:U[0],w=typeof U==="string"?{}:U[1]||{};try{let z,B;try{z=await import(W),B=d0.dirname(U0.resolve(W))}catch{let _=d0.resolve(process.cwd(),W);z=await import(_),B=d0.dirname(_)}let j=z.default||z;if(Q.register(j,G),j.components){let _=Array.isArray(j.components)?j.components:[j.components];for(let H of _)q.push(d0.resolve(B,H))}if(j.pages){let _=d0.resolve(B,j.pages),H=w.path||"/";K.push({dir:_,prefix:H})}if(j.setup){let _={addDirective:(H)=>{G.customDirectives=G.customDirectives||[],G.customDirectives.push(H)},addRoute:(H,O)=>{G.apiRoutes=G.apiRoutes||{},G.apiRoutes[H]=O},addMiddleware:(H)=>{G.middleware=G.middleware||[],G.middleware.push(H)},pluginDir:B,config:G};await j.setup(w,_)}console.log(`[stx] Plugin loaded: ${j.name||W}`)}catch(z){console.warn(`[stx] Failed to load plugin ${W}:`,z.message)}}G._pluginComponentDirs=q,G._pluginPageDirs=K}return G})();if(bJ.set($,Y),!X)y8=Y,Y.then((J)=>{S5=J}).catch(()=>{});return Y}function tj(X){return X}function ej(X){let $=[],Z=[];if(X.partialsDir!==void 0&&typeof X.partialsDir!=="string")$.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if(X.componentsDir!==void 0&&typeof X.componentsDir!=="string")$.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if(X.cache!==void 0&&typeof X.cache!=="boolean")$.push({path:"cache",message:"cache must be a boolean",severity:"error"});if(X.debug!==void 0&&typeof X.debug!=="boolean")$.push({path:"debug",message:"debug must be a boolean",severity:"error"});if(X.streaming){if(X.streaming.bufferSize!==void 0){if(typeof X.streaming.bufferSize!=="number"||X.streaming.bufferSize<=0)$.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if(X.streaming.timeout!==void 0){if(typeof X.streaming.timeout!=="number"||X.streaming.timeout<=0)$.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if(X.streaming.strategy!==void 0){let Y=["auto","manual","sections"];if(!Y.includes(X.streaming.strategy))$.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.i18n){if(X.i18n.format!==void 0){let Y=["json","yaml","yml","js"];if(!Y.includes(X.i18n.format))$.push({path:"i18n.format",message:`i18n.format must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.animation){if(X.animation.defaultDuration!==void 0){if(typeof X.animation.defaultDuration!=="number"||X.animation.defaultDuration<0)$.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if(X.animation.staggerDelay!==void 0){if(typeof X.animation.staggerDelay!=="number"||X.animation.staggerDelay<0)$.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if(X.a11y){if(X.a11y.level!==void 0){let Y=["AA","AAA"];if(!Y.includes(X.a11y.level))$.push({path:"a11y.level",message:`a11y.level must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.hydration){if(X.hydration.mode!==void 0){let Y=["progressive","islands"];if(!Y.includes(X.hydration.mode))$.push({path:"hydration.mode",message:`hydration.mode must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.hydration.preload!==void 0){let Y=["none","eager","lazy"];if(!Y.includes(X.hydration.preload))$.push({path:"hydration.preload",message:`hydration.preload must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.customDirectives)if(!Array.isArray(X.customDirectives))$.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else X.customDirectives.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`customDirectives[${J}].name`,message:"Custom directive must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`customDirectives[${J}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if(X.middleware)if(!Array.isArray(X.middleware))$.push({path:"middleware",message:"middleware must be an array",severity:"error"});else X.middleware.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`middleware[${J}].name`,message:"Middleware must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`middleware[${J}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!Y.timing||!["before","after"].includes(Y.timing))$.push({path:`middleware[${J}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if(X.debug===!0&&X.cache===!0)Z.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if(X.seo?.enabled===!0&&!X.seo?.defaultConfig?.title)Z.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if(X.pwa){if(X.pwa.enabled===!0&&!X.pwa.manifest?.name)$.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if(X.pwa.manifest?.display!==void 0){let Y=["fullscreen","standalone","minimal-ui","browser"];if(!Y.includes(X.pwa.manifest.display))$.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.manifest?.orientation!==void 0){let Y=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!Y.includes(X.pwa.manifest.orientation))$.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.routes){let Y=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];X.pwa.routes.forEach((J,G)=>{if(!J.pattern||typeof J.pattern!=="string")$.push({path:`pwa.routes[${G}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!Y.includes(J.strategy))$.push({path:`pwa.routes[${G}].strategy`,message:`PWA route strategy must be one of: ${Y.join(", ")}`,severity:"error"});if(J.maxAgeSeconds!==void 0&&(typeof J.maxAgeSeconds!=="number"||J.maxAgeSeconds<0))$.push({path:`pwa.routes[${G}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(J.maxEntries!==void 0&&(typeof J.maxEntries!=="number"||J.maxEntries<1))$.push({path:`pwa.routes[${G}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if(X.pwa.icons?.sizes){if(!Array.isArray(X.pwa.icons.sizes))$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if(X.pwa.icons.sizes.filter((J)=>typeof J!=="number"||J<16||J>1024).length>0)$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if(X.pwa.icons?.purpose){let Y=["any","maskable","monochrome"];if(X.pwa.icons.purpose.filter((G)=>!Y.includes(G)).length>0)$.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.enabled===!0&&!X.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(X.pwa.enabled===!0&&!X.pwa.manifest?.themeColor)Z.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:$.length===0,errors:$,warnings:Z}}var X5,yJ,S5=null,bJ,y8=null,H7;var V1=E(()=>{_$();H$();P$();v$();x9();lY();j3();_3();A3();GX();IJ();X5={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:B5,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:_Y,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:kJ,hasEndTag:!1,description:"Include a web component in the template"},F6,V6,NJ,MJ,A6,T6,N6,R6,r6,a6,mY,z3,...B3],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}};yJ=new Set;bJ=new Map;H7=new Proxy(X5,{get(X,$){if(S5&&$ in S5)return S5[$];if(!y8)I1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return X[$]}})});import Q0 from"path";import{hasLocalConfig as XB}from"bunfig";function S8(X){return Bun.hash(X).toString(16).padStart(16,"0").slice(0,16)}function N3(X,$){if($5.has(X))$5.delete(X);else if($5.size>=xJ)$5.delete($5.keys().next().value);$5.set(X,$)}function $B(X){let $=S8(X);if(C5.has($))C5.delete($);else if(C5.size>=xJ)C5.delete(C5.keys().next().value);return C5.set($,X),$}async function ZB(X){if(!y1)return null;try{let $=Bun.file(Q0.join(y1,`cw-${S8(X)}.css`));if(!await $.exists())return null;return await $.text()}catch{return null}}async function YB(X,$){if(!y1)return;try{if(!fs.existsSync(y1))fs.mkdirSync(y1,{recursive:!0});await Bun.write(Q0.join(y1,`cw-${S8(X)}.css`),$)}catch{}}async function vJ(X){try{let $=await import(X);if($&&$.CSSGenerator)return{CSSGenerator:$.CSSGenerator,config:$.config,build:$.build,defaultConfig:$.defaultConfig,extractClasses:$.extractClasses}}catch{}return null}function JB(){let X=[],$=process.cwd();while($!==Q0.dirname($))X.push(Q0.join($,"node_modules","@cwcss","crosswind","dist","index.js")),X.push(Q0.join($,"node_modules","@cwcss","crosswind","src","index.ts")),X.push(Q0.join($,"pantry","@cwcss","crosswind","dist","index.js")),X.push(Q0.join($,"pantry","@cwcss","crosswind","src","index.ts")),X.push(Q0.join($,"node_modules","@stacksjs","crosswind","dist","index.js")),X.push(Q0.join($,"pantry","@stacksjs","crosswind","dist","index.js")),$=Q0.dirname($);return X}function GB(){let X=[],$=process.env.HOME||process.env.USERPROFILE||"";if($){let Z=[Q0.join($,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),Q0.join($,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),Q0.join($,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),Q0.join($,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),Q0.join($,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),Q0.join($,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];X.push(...Z)}return X.push(Q0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),X.push(Q0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),X}async function QB(){if(PJ)return j1;PJ=!0;try{let X=async(J)=>{for(let G of J){if(!await Bun.file(G).exists())continue;let Q=await vJ(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${V0.green}[Crosswind]${V0.reset} CSS engine loaded from ${Q0.dirname(Q0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let J=Q0.resolve(process.env.CROSSWIND_SRC),G=await X([J]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${J}`);return j1=G,j1}let $=await X(JB());if($)return j1=$,j1;let Z=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let J of Z){let G=await vJ(J);if(G){if(j1=G,!process.env.STACKS_DEV_QUIET)console.log(`${V0.green}[Crosswind]${V0.reset} CSS engine loaded`);return j1}}let Y=await X(GB());if(Y)return j1=Y,j1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${V0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${V0.reset}`),console.warn(`${V0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${V0.reset}`),null}}async function qB(X){try{if(!XB({name:"crosswind",cwd:X}))return null;let{loadConfigWithResult:$}=await import("bunfig"),Z=await $({name:"crosswind",cwd:X,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Z?.path||!Z.config||Object.keys(Z.config).length===0)return null;let Y=Q0.relative(X,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${V0.green}[Crosswind]${V0.reset} Loaded config from ${Y||Z.path}`);return Z.config}catch($){if($ instanceof Error&&$.name==="ConfigNotFoundError")return null;return console.warn(`${V0.yellow}[Crosswind]${V0.reset} Failed to load crosswind config:`,$ instanceof Error?$.message:$),null}}function KB(X){let $=new Set,Z=/class\s*=\s*["']([^"']+)["']/gi,Y=Z.exec(X);while(Y!==null){for(let Q of Y[1].split(/\s+/))if(Q.trim())$.add(Q.trim());Y=Z.exec(X)}let J=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,G=J.exec(X);while(G!==null){let Q=G[1].match(/'([^']+)'/g);if(Q){for(let q of Q)for(let K of q.slice(1,-1).split(/\s+/))if(K.trim())$.add(K.trim())}G=J.exec(X)}return $}async function UB(X,$){try{let Z=await QB();if(!Z)return"";let Y=typeof Z.extractClasses==="function"?Z.extractClasses(X):KB(X);if(Y.size===0)return"";let J=$?Q0.resolve($):process.cwd();if(!y1)y1=X7(J,"cache");let G=[...Y].sort().join(" "),Q=`${T3||"default"}::${G}`,q=$5.get(Q);if(q!==void 0)return N3(Q,q),q;let K=await ZB(Q);if(K!==null)return N3(Q,K),K;if(!b8){let V=null;try{let{loadStxConfig:A}=await Promise.resolve().then(() => (V1(),CJ)),R=await A(J);if(R.css)if(typeof R.css==="string"){let T=Q0.isAbsolute(R.css)?R.css:Q0.resolve(J,R.css);if(await Bun.file(T).exists()){let k=await import(T);V=k.default||k,console.log(`${V0.green}[Crosswind]${V0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(V={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let T=Q0.isAbsolute(R.css.config)?R.css.config:Q0.resolve(J,R.css.config);if(await Bun.file(T).exists()){let k=await import(T);V={...k.default||k,...V}}}console.log(`${V0.green}[Crosswind]${V0.reset} Using inline CSS config from stx.config.ts`)}}catch{}b8=V||await qB(J);try{T3=S8(JSON.stringify(b8??{}))}catch{T3="unhashable"}}let U=Z.defaultConfig||Z.config,W=b8||{},w=j6(U,W),{safelist:z,includePreflight:B,minify:j}=w,_=w.config,H=new Z.CSSGenerator(_);for(let V of z)H.generate(V);for(let V of Y)H.generate(V);let O=H.toCSS(B,j),L=_.shortcuts||W.shortcuts||{};for(let[V,A]of Object.entries(L)){if(!Y.has(V)&&!z.includes(V))continue;let R=A.split(/\s+/).filter(Boolean);for(let T of R)H.generate(T)}O=H.toCSS(B,j);let F=O.split(`
|
|
12609
|
+
`);for(let[V,A]of Object.entries(L)){if(!Y.has(V)&&!z.includes(V))continue;let R=A.split(/\s+/).filter(Boolean),T=[],k=[];for(let M of R){let N=M.startsWith("dark:"),C=`.${(N?M.slice(5):M).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let b=0;b<F.length;b++){let y=F[b].trim();if(y===`${C} {`||y.startsWith(`${C} {`)){let v=b,x="";while(v<F.length){if(x+=F[v],F[v].includes("}"))break;v++}let f=x.match(/\{([^}]+)\}/);if(f)if(N)k.push(f[1].trim());else T.push(f[1].trim());break}}}if(T.length)O+=`
|
|
12610
|
+
.${V} { ${T.join(" ")} }`;if(k.length)O+=`
|
|
12611
|
+
@media (prefers-color-scheme: dark) { .dark .${V} { ${k.join(" ")} } }`}return N3(Q,O),YB(Q,O),O}catch(Z){return console.warn("Failed to generate Crosswind CSS:",Z),""}}async function fJ(X,$,Z=!1){let Y=await UB(X,$);if(!Y)return X;let J=Z?`<link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.${$B(Y)}.css">`:`<style data-crosswind="generated">
|
|
12504
12612
|
${Y}
|
|
12505
12613
|
</style>`,G=/(?:<style\b[^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*>[\s\S]*?<\/style>|<link\b[^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*>)/g;if(G.test(X)){let Q=!1;return X.replace(G,()=>{if(Q)return"";return Q=!0,J})}if(X.includes("</head>"))return X.replace("</head>",`${J}
|
|
12506
12614
|
</head>`);if(X.includes("<body"))return X.replace(/<body([^>]*)>/,`<body$1>
|
|
12507
|
-
${J}`);return J+X}var
|
|
12615
|
+
${J}`);return J+X}var j1=null,PJ=!1,b8=null,xJ=256,$5,C5,y1=null,T3=null;var gJ=E(()=>{GX();H6();$5=new Map,C5=new Map});function hJ(){return`
|
|
12508
12616
|
// STX Lifecycle Runtime
|
|
12509
12617
|
(function() {
|
|
12510
12618
|
if (typeof window === 'undefined') return;
|
|
@@ -12849,7 +12957,7 @@ else {
|
|
|
12849
12957
|
|
|
12850
12958
|
console.log('[stx] Lifecycle runtime initialized');
|
|
12851
12959
|
})();
|
|
12852
|
-
`}function
|
|
12960
|
+
`}function M3(X){return Symbol(X)}var tN,eN,XM;var uJ=E(()=>{tN=M3("theme"),eN=M3("router"),XM=M3("i18n")});import*as mJ from"crypto";function dJ(X){let $=/\$(\w+)\./g,Z=[],Y;while((Y=$.exec(X))!==null)if(!Z.includes(Y[1]))Z.push(Y[1]);return Z}function WB(){return`stx-${mJ.randomBytes(4).toString("hex")}`}function wB(X){return/\$\w+\./.test(X)}function zB(X){let $=[],Z=new Set,Y=/<(\w+)([^>]*?)(\s*\/?>)/g,J=X;return J=J.replace(Y,(G,Q,q,K)=>{if(["script","style","template"].includes(Q.toLowerCase()))return G;let U=[],W=!1,w=q,z=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,B=[...q.matchAll(z)];for(let H of B){let O=H[0],L=H[1],F=H[2];if(wB(F)){W=!0;let V=F.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(V){let A=V[1];if(U.push({attr:L,expr:A,fullMatch:O,originalAttr:L}),dJ(A).forEach((T)=>Z.add(T)),L==="text")w=w.replace(O,"");else if(L==="class")w=w.replace(O,'class=""');else if(L==="disabled"||L==="hidden")w=w.replace(O,"");else w=w.replace(O,`${L}=""`)}}}if(!W)return G;let j=w.match(/\bid\s*=\s*"([^"]+)"/),_;if(j)_=j[1];else _=WB(),w=` id="${_}"${w}`;for(let H of U)$.push({elementId:_,attribute:H.attr,expression:H.expr,stores:dJ(H.expr)});return`<${Q}${w}${K}`}),{html:J,bindings:$,stores:Z}}function jB(X,$){if(X.length===0)return"";let Z=Array.from($),Y=`
|
|
12853
12961
|
<script>
|
|
12854
12962
|
(function() {
|
|
12855
12963
|
'use strict';
|
|
@@ -13007,10 +13115,10 @@ else {
|
|
|
13007
13115
|
}
|
|
13008
13116
|
})();
|
|
13009
13117
|
</script>
|
|
13010
|
-
`,Y}function
|
|
13118
|
+
`,Y}function lJ(X){let{html:$,bindings:Z,stores:Y}=zB(X);if(Z.length===0)return X;let J=jB(Z,Y),G=$.lastIndexOf("</body>");if(G!==-1)return $.slice(0,G)+J+$.slice(G);return $+J}var cJ=()=>{};function BB(X){let $=X.analytics;if(!$?.enabled)return"";switch($.driver){case"fathom":return _B($);case"google-analytics":return HB($);case"plausible":return OB($);case"self-hosted":return LB($);case"custom":return FB($);default:return""}}function _B(X){let $=X.fathom;if(!$?.siteId)return"";let Z=$.scriptUrl||"https://cdn.usefathom.com/script.js",Y=$.defer!==!1?" defer":"",J=[`data-site="${m0($.siteId)}"`];if($.honorDnt)J.push('data-honor-dnt="true"');if($.spa)J.push('data-spa="auto"');if($.canonical)J.push(`data-canonical="${m0($.canonical)}"`);if($.auto===!1)J.push('data-auto="false"');return`
|
|
13011
13119
|
<!-- Fathom Analytics -->
|
|
13012
|
-
<script src="${
|
|
13013
|
-
`}function
|
|
13120
|
+
<script src="${m0(Z)}" ${J.join(" ")}${Y}></script>
|
|
13121
|
+
`}function HB(X){let $=X.googleAnalytics;if(!$?.measurementId)return"";let Z=m0($.measurementId),Y=$.debug?`gtag('config', '${Z}', { 'debug_mode': true });`:"";return`
|
|
13014
13122
|
<!-- Google Analytics -->
|
|
13015
13123
|
<script async src="https://www.googletagmanager.com/gtag/js?id=${Z}"></script>
|
|
13016
13124
|
<script>
|
|
@@ -13020,10 +13128,10 @@ else {
|
|
|
13020
13128
|
gtag('config', '${Z}');
|
|
13021
13129
|
${Y}
|
|
13022
13130
|
</script>
|
|
13023
|
-
`}function
|
|
13131
|
+
`}function OB(X){let $=X.plausible;if(!$?.domain)return"";let Z=$.scriptUrl||"https://plausible.io/js/script.js",Y=[`data-domain="${m0($.domain)}"`],J=Z,G=[];if($.trackLocalhost)G.push("local");if($.hashMode)G.push("hash");if(G.length>0&&Z==="https://plausible.io/js/script.js")J=`https://plausible.io/js/script.${G.join(".")}.js`;return`
|
|
13024
13132
|
<!-- Plausible Analytics -->
|
|
13025
|
-
<script defer data-domain="${
|
|
13026
|
-
`}function
|
|
13133
|
+
<script defer data-domain="${m0($.domain)}" src="${m0(J)}"></script>
|
|
13134
|
+
`}function LB(X){let $=X.selfHosted;if(!$?.siteId||!$?.apiEndpoint)return"";let Z=m0($.siteId),Y=m0($.apiEndpoint),J=$.honorDnt?'if(n.doNotTrack==="1")return;':"",G=$.trackHashChanges?"w.addEventListener('hashchange',pv);":"",Q=$.trackOutboundLinks?`
|
|
13027
13135
|
d.addEventListener('click',function(e){
|
|
13028
13136
|
var a=e.target.closest('a');
|
|
13029
13137
|
if(a&&a.hostname!==location.hostname){
|
|
@@ -13056,15 +13164,15 @@ else {
|
|
|
13056
13164
|
w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
|
|
13057
13165
|
})();
|
|
13058
13166
|
</script>
|
|
13059
|
-
`}function
|
|
13167
|
+
`}function FB(X){let $=X.custom;if(!$)return"";if($.inlineScript)return`
|
|
13060
13168
|
<!-- Custom Analytics -->
|
|
13061
13169
|
<script>
|
|
13062
13170
|
${$.inlineScript}
|
|
13063
13171
|
</script>
|
|
13064
|
-
`;if(!$.scriptUrl)return"";let Z=[];if($.scriptId)Z.push(`id="${
|
|
13172
|
+
`;if(!$.scriptUrl)return"";let Z=[];if($.scriptId)Z.push(`id="${m0($.scriptId)}"`);if($.attributes)for(let[J,G]of Object.entries($.attributes))Z.push(`${m0(J)}="${m0(G)}"`);return`
|
|
13065
13173
|
<!-- Custom Analytics -->
|
|
13066
|
-
<script${Z.length>0?` ${Z.join(" ")}`:""} src="${
|
|
13067
|
-
`}function
|
|
13174
|
+
<script${Z.length>0?` ${Z.join(" ")}`:""} src="${m0($.scriptUrl)}" defer></script>
|
|
13175
|
+
`}function pJ(X,$){let Z=BB($);if(!Z)return X;if(!X.includes("</head>")){let Y=X.lastIndexOf("</body>");if(Y!==-1)return X.slice(0,Y)+Z+X.slice(Y);return X+Z}return X.replace("</head>",`${Z}</head>`)}function m0(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}var iJ=()=>{};function nJ(X){let $=X.match(/\bdefinePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!$)return null;try{return Function(`return ${$[1]}`)()}catch{return null}}function rJ(X){let $=X?.layout;if($===!1)return!1;return typeof $==="string"&&$.trim()?$.trim():void 0}function oJ(X,$){let Z=X.match(new RegExp(`${$}\\s*=\\s*"([^"]*)"`,"i"));if(Z)return Z[1];let Y=X.match(new RegExp(`${$}\\s*=\\s*'([^']*)'`,"i"));if(Y)return Y[1];return null}function AB(X){let $=[],Z=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,Y;while((Y=Z.exec(X))!==null){let[J,G,Q]=Y,q=Y.index,K=oJ(Q,"x-data");if(!K)continue;let U=`__stx_scope_${aJ++}`,W=oJ(Q,"x-init"),w=RB(X,G,q+J.length),z=X.slice(q,w.endIndex),B=TB(z);$.push({id:U,selector:`[data-stx-scope="${U}"]`,stateExpr:K,initExpr:W,bindings:[],refs:B})}return $}function RB(X,$,Z){let Y=1,J=Z,G=new RegExp(`<${$}(?:\\s|>)`,"gi"),Q=new RegExp(`</${$}>`,"gi"),q=new RegExp(`<${$}[^>]*/\\s*>`,"gi");while(Y>0&&J<X.length){G.lastIndex=J,Q.lastIndex=J,q.lastIndex=J;let K=G.exec(X),U=Q.exec(X),W=q.exec(X);if(W&&W.index<(K?.index??1/0)){J=W.index+W[0].length;continue}if(!U)return{endIndex:X.length};if(K&&K.index<U.index)Y++,J=K.index+K[0].length;else{if(Y--,Y===0)return{endIndex:U.index+U[0].length};J=U.index+U[0].length}}return{endIndex:X.length}}function TB(X){let $=new Map,Z=X.replace(/x-data\s*=\s*"[^"]*"/gi,'x-data="__stripped__"').replace(/x-data\s*=\s*'[^']*'/gi,"x-data='__stripped__'"),Y=/<[a-z][a-z0-9-]*\s+([^>]*x-ref\s*=\s*["']([^"']*)["'][^>]*)>/gi,J;while((J=Y.exec(Z))!==null){let[,G,Q]=J,q=NB(G);$.set(Q,q)}return $}function NB(X){let $=X.match(/\bid\s*=\s*["']([^"']*)["']/);if($)return $[1];return`__stx_el_${VB++}`}function MB(){return`
|
|
13068
13176
|
// STX Reactive Runtime - x-cloak and transition CSS
|
|
13069
13177
|
(function() {
|
|
13070
13178
|
var style = document.createElement('style');
|
|
@@ -13271,7 +13379,7 @@ window.__stx_reactive = (function() {
|
|
|
13271
13379
|
|
|
13272
13380
|
return { initScope: initScope, reactive: reactive };
|
|
13273
13381
|
})();
|
|
13274
|
-
`}function
|
|
13382
|
+
`}function sJ(X,$){let Z=X.replace(/\{!!([\s\S]*?)!!\}/g,(q,K)=>{try{let U=f0(K,$,!0);if(U===void 0)return q;return String(U)}catch{return q}}),Y="",J=0,G=null;while(J<Z.length){let q=Z[J];if(G&&q==="\\"){Y+=q+(Z[J+1]??""),J+=2;continue}if(q==="{"&&Z[J+1]==="{"){let K=Z.indexOf("}}",J+2);if(K!==-1){let U=Z.slice(J,K+2);Y+=Q(Z.slice(J+2,K),U,G),J=K+2;continue}}if(G){if(q===G)G=null}else if(q==="'"||q==='"'||q==="`")G=q;Y+=q,J++}return Y;function Q(q,K,U){let W;try{W=f0(q,$,!0)}catch{return K}if(W===void 0)return K;if(U){let w=String(W).replace(/\\/g,"\\\\").replace(new RegExp(U==="`"?"`":U,"g"),`\\${U}`).replace(/\r/g,"\\r").replace(/\n/g,"\\n");return U==="`"?w.replace(/\$\{/g,"\\${"):w}if(typeof W==="string"){let w=W.trim();if(w.startsWith("{")&&w.endsWith("}")||w.startsWith("[")&&w.endsWith("]"))try{return JSON.parse(w),w}catch{}}return JSON.stringify(W)}}function kB(X,$){if(X.length===0)return"";let Z=X.map((Y)=>{let J=JSON.stringify(Object.fromEntries(Y.refs)),G=sJ(Y.stateExpr,$),Q=Y.initExpr?sJ(Y.initExpr,$):null,q=JSON.stringify(G),K=Q?JSON.stringify(Q):"null";return`
|
|
13275
13383
|
(function() {
|
|
13276
13384
|
var scopeEl = document.querySelector('${Y.selector}');
|
|
13277
13385
|
if (!scopeEl) return;
|
|
@@ -13280,14 +13388,14 @@ window.__stx_reactive = (function() {
|
|
|
13280
13388
|
})();`}).join(`
|
|
13281
13389
|
`);return`
|
|
13282
13390
|
<script data-stx-scoped data-stx-reactive data-stx-run="always">
|
|
13283
|
-
${
|
|
13391
|
+
${MB()}
|
|
13284
13392
|
${Z}
|
|
13285
|
-
</script>`}function
|
|
13286
|
-
`+J.slice(Q);else J+=G;return J}function VB(X,$){let Z=0,Y=X.replace(/<([a-z][a-z0-9-]*)(\s+[^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,(J,G,Q)=>{let q=$[Z++];if(!q)return J;let K=/data-stx-scope="([^"]*)"/.exec(Q);if(K)return q.id=K[1],q.selector=`[data-stx-scope="${q.id}"]`,J;return`<${G} data-stx-scope="${q.id}"${Q}>`});return Y=Y.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),Y=Y.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),Y=Y.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),Y=Y.replace(/\s*x-init\s*=\s*'[^']*'/g,""),Y}function AB(X){return/x-data\s*=\s*["']/.test(X)}var iJ=0,jB=0;var rJ=E(()=>{Z1()});import RB from"fs";import T3 from"path";import{createHighlighter as NB}from"ts-syntax-highlighter";async function TB(X,$={}){try{if(!await p(X))throw Error(`Markdown file not found: ${X}`);let Y=(await RB.promises.stat(X)).mtime.getTime();if($.cache&&M3.has(X)){let w=M3.get(X);if(w.updatedAt>=Y)return{content:w.content,data:w.data}}let J=await Bun.file(X).text(),{data:G,content:Q}=s2(J),q=$.markdown||_7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},U=w7(Q,{gfm:!0});if(q.syntaxHighlighting?.enabled&&q.syntaxHighlighting?.serverSide)U=await MB(U,q.syntaxHighlighting?.defaultTheme||"github-dark",q.syntaxHighlighting?.highlightUnknownLanguages||!1);let W={content:U,data:G||{}};if($.cache)M3.set(X,{...W,updatedAt:Y});return W}catch(Z){if($.debug)console.error(`Error reading/parsing markdown file ${X}:`,Z);let Y=Z instanceof Error?Z.message:String(Z);return{content:U0("Markdown File",`Error reading/parsing markdown file: ${Y}`,X,"",0,""),data:{}}}}async function MB(X,$,Z){let Y=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!S8)try{S8=await NB({theme:$||"github-dark",cache:!0})}catch(q){return console.error("Failed to initialize ts-syntax-highlighter:",q),X}let J=async(q,K,U,W)=>{let w=W.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"),z=U||(Z?"text":"");if(!z)return q;try{if(!S8.getSupportedLanguages().includes(z))return q;return(await S8.highlight(w,z,{theme:$})).html}catch(B){console.error(`Error highlighting code block with language ${U}:`,B)}return q},G=X,Q=X.matchAll(Y);for(let q of Q){let[K,U,W,w]=q,z=await J(K,U,W,w);G=G.replace(K,z)}return G}async function oJ(X,$,Z="",Y={}){return await kB(X,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,q,K,U)=>{try{let W=q;if(!T3.isAbsolute(q))W=T3.resolve(T3.dirname(Z),q);let w={};if(K)try{try{w=JSON.parse(K)}catch{if(Y.debug)console.warn("Using safer alternative for parsing JS object literal");let O=K.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let F of O){let V=F.indexOf(":");if(V>0){let A=F.substring(0,V).trim(),R=F.substring(V+1).trim(),N=R.startsWith('"')&&R.endsWith('"'),T=R.startsWith("'")&&R.endsWith("'");if(N||T)R=R.substring(1,R.length-1);w[A]=R}}}}catch(L){if(Y.debug)console.error("Error parsing context in @markdown-file directive:",L)}let{content:z,data:B}=await TB(W,Y),j={...$,...B,...w},_=z,H=/\{\{([^}]+)\}\}/g;return _=_.replace(H,(L,O)=>{let F=O.trim();return j[F]!==void 0?String(j[F]):L}),_}catch(W){let w=W instanceof Error?W.message:String(W);return U0("Markdown File",`Error including markdown file: ${w}`,Z,X,U,Q)}})}async function kB(X,$,Z){let Y=[],J;while((J=$.exec(X))!==null){let q=J[0],K=J.index,U=J;Y.push(Z(...U).then((W)=>({match:q,replacement:W,index:K})))}let G=await Promise.all(Y);G.sort((q,K)=>K.index-q.index);let Q=X;for(let{match:q,replacement:K}of G)Q=Q.replace(q,()=>K);return Q}var M3,S8=null;var sJ=E(()=>{V1();A0();M3=new Map});function b1(X,$){try{let Z=X.trim();if(G0(Z))return Q0(Z,Object.keys($))(...Object.values($));else return $0(Z,$)}catch{return!1}}var aJ=E(()=>{O0()});function IB(X,$,Z){let Y=X,J=!0;while(J){J=!1;let G=Y.match(/@switch\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,q=K9(Y,Q);if(!q)break;try{let K;if(G0(q.expression))K=Q0(q.expression,Object.keys($))(...Object.values($));else K=$0(q.expression,$);let U="",W=!1;for(let w of q.cases)if(w.type==="default"){if(!W)U=w.content.trim()}else try{let z;if(w.value&&G0(w.value))z=Q0(w.value,Object.keys($))(...Object.values($));else if(w.value)z=$0(w.value,$);if(K===z){U=w.content.trim(),W=!0;break}}catch{continue}Y=Y.substring(0,Q)+U+Y.substring(q.end),J=!0}catch(K){let U=K instanceof Error?K.message:String(K),W=X0("Switch",`Error evaluating @switch expression: ${U}`,s.EVALUATION_ERROR);Y=Y.substring(0,Q)+W+Y.substring(q.end);break}}return Y}function EB(X){let $=[];return{masked:X.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(Y)=>{return $.push(Y),`\x00stx-script-${$.length-1}\x00`}),scripts:$}}function DB(X,$){if($.length===0)return X;return X.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,Y)=>$[Number(Y)]??Z)}function Z5(X,$,Z){let{masked:Y,scripts:J}=EB(X);return DB(yB(Y,$,Z),J)}function yB(X,$,Z){let Y=X;Y=IB(Y,$,Z);{let G=!0;while(G){G=!1;let Q=Y.match(/@unless\s*\(/);if(!Q||Q.index===void 0)break;let q=Q.index,K=k1(Y,q+7);if(!K)break;let U=K.endPos,W=n1(Y,"unless","endunless",U);if(W===-1){console.warn(`[stx] @unless directive at position ${q} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let w=Y.slice(U,W),z=K.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(w))!==null)F.push({pos:V.index,type:"open"});while((V=L.exec(w))!==null)F.push({pos:V.index,type:"close"});while((V=O.exec(w))!==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 _=w.slice(0,B),H=w.slice(B+5);j=`@if (${z})${H}@else ${_}@endif`}else j=`@if (!(${z}))${w}@endif`;Y=Y.substring(0,q)+j+Y.substring(W+10),G=!0}}Y=I3(Y,$,Z),Y=E3(Y,$,Z),Y=k3(Y,$);let J=()=>{let G=I7(Y);if(G.length===0)return!1;for(let Q=G.length-1;Q>=0;Q--){let q=G[Q];try{let K="",U=!1;for(let W of q.branches){if(U)break;if(W.type==="else")K=W.content,U=!0;else try{let w;if(W.condition&&G0(W.condition))w=Q0(W.condition,Object.keys($))(...Object.values($));else if(W.condition)w=$0(W.condition,$);if(w)K=W.content,U=!0}catch(w){K=X0(W.type==="if"?"If":"Elseif",`Error in @${W.type}(${W.condition}): ${w instanceof Error?w.message:String(w)}`,s.EVALUATION_ERROR),U=!0}}Y=Y.substring(0,q.start)+K+Y.substring(q.end)}catch(K){let U=K instanceof Error?K.message:String(K),W=X0("If",`Error processing @if block: ${U}`,s.EVALUATION_ERROR);Y=Y.substring(0,q.start)+W+Y.substring(q.end)}}return!0};while(!0){let G=Y;if(!J())break;if(Y===G)break}return Y}function tJ(X){let $=0;while($<X.length&&/\s/.test(X[$]))$++;if(X[$]!=="(")return null;$++;while($<X.length&&/\s/.test(X[$]))$++;let Z=X[$];if(Z!=="'"&&Z!=='"')return null;$++;let Y=[];while($<X.length){let J=X[$];if(J==="\\"&&$+1<X.length){Y.push(X[$+1]),$+=2;continue}if(J===Z){$++;break}Y.push(J),$++}while($<X.length&&/\s/.test(X[$]))$++;if(X[$]!==")")return null;return $++,{value:Y.join(""),consumed:$}}function k3(X,$){let Z=X;function Y(q,K,U,W){let w=1,z=W,B=new RegExp(`@${K}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${U}(?![a-z])`,"g");while(z<q.length&&w>0){B.lastIndex=z,j.lastIndex=z;let _=B.exec(q),H=j.exec(q),L=_?_.index:1/0,O=H?H.index:1/0;if(L<O)w++,z=L+_[0].length;else if(O<1/0){if(w--,w===0)return O;z=O+H[0].length}else break}return-1}function J(q,K,U){let W=0,w=new RegExp(`@${K}(?:\\s*\\(|\\s|$)`,"g"),z=new RegExp(`@${U}(?![a-z])`,"g"),B=/@else(?![a-z])/g,j=[],_;while((_=w.exec(q))!==null)j.push({pos:_.index,type:"open"});while((_=z.exec(q))!==null)j.push({pos:_.index,type:"close"});while((_=B.exec(q))!==null)j.push({pos:_.index,type:"else"});j.sort((H,L)=>H.pos-L.pos);for(let H of j)if(H.type==="open")W++;else if(H.type==="close")W--;else if(H.type==="else"&&W===0)return H.pos;return-1}{let q=!0;while(q){q=!1;let K=Z.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!K||K.index===void 0)break;let U=K.index,W,w,z=Z.slice(U+5),B=tJ(z);if(B)W=B.value,w=U+5+B.consumed;else w=U+5;let j=Y(Z,"auth","endauth",w);if(j===-1){console.warn(`[stx] @auth directive at position ${U} has no matching @endauth \u2014 the block was skipped.`);break}let _=Z.slice(w,j),H=J(_,"auth","endauth"),L;if(!$.auth)L=!1;else L=W?b1(`auth?.check && auth?.user?.[${W}]`,$):b1("auth?.check",$);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,U)+O+Z.substring(j+8),q=!0}}{let q=!0;while(q){q=!1;let K=Z.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!K||K.index===void 0)break;let U=K.index,W,w,z=Z.slice(U+6),B=tJ(z);if(B)W=B.value,w=U+6+B.consumed;else w=U+6;let j=Y(Z,"guest","endguest",w);if(j===-1){console.warn(`[stx] @guest directive at position ${U} has no matching @endguest \u2014 the block was skipped.`);break}let _=Z.slice(w,j),H=J(_,"guest","endguest"),L;if(!$.auth)L=!0;else L=W?b1(`!auth?.check || !auth?.user?.[${W}]`,$):b1("!auth?.check",$);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,U)+O+Z.substring(j+9),q=!0}}function G(q,K,U){if($.userCan&&typeof $.userCan[q]==="boolean")return $.userCan[q];if($.permissions?.check&&typeof $.permissions.check==="function")try{let W=[q];if(K)W.push(K);if(U){let w=b1(U,$);W.push(w)}return $.permissions.check(...W)}catch{return!1}return!1}function Q(q){let K=q.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!K)return null;return{ability:K[1],type:K[2],id:K[3]?.trim(),paramsEnd:K[0].length}}for(let q of["can","cannot"]){let K=`end${q}`,U=q==="can"?"elsecan":"elsecannot",W=!0;while(W){W=!1;let w=Z.match(new RegExp(`@${q}\\s*\\(`));if(!w||w.index===void 0)break;let z=w.index,B=Z.slice(z+`@${q}`.length),j=Q(B);if(!j)break;let _=z+`@${q}`.length+j.paramsEnd,H=Y(Z,q,K,_);if(H===-1){console.warn(`[stx] @${q} directive at position ${z} has no matching @${K} \u2014 the block was skipped.`);break}let L=Z.slice(_,H),O=[],F=0,V=new RegExp(`@${q}\\s*\\(`,"g"),A=new RegExp(`@${K}(?![a-z])`,"g"),R=new RegExp(`@${U}\\s*\\(`,"g"),N=/@else(?![a-z])/g,T=[],k;while((k=V.exec(L))!==null)T.push({pos:k.index,type:"open"});while((k=A.exec(L))!==null)T.push({pos:k.index,type:"close"});while((k=R.exec(L))!==null)T.push({pos:k.index,type:"elseDirective"});while((k=N.exec(L))!==null)T.push({pos:k.index,type:"else"});T.sort((b,P)=>b.pos-P.pos);for(let b of T){if(b.type==="open"){F++;continue}if(b.type==="close"){F--;continue}if(F===0)O.push(b)}let M=[],y=0;for(let b=0;b<O.length;b++){let P=O[b];if(M.push({content:L.slice(y,P.pos),ability:void 0}),P.type==="elseDirective"){let x=L.slice(P.pos+`@${U}`.length),d=Q(x);if(d){M[M.length-1]={content:L.slice(y,P.pos)},y=P.pos+`@${U}`.length+d.paramsEnd,M.push({content:"",ability:d.ability,type:d.type,id:d.id}),M.pop();let m=O[b+1],Y0=m?m.pos:L.length;M.push({content:L.slice(y,Y0),ability:d.ability,type:d.type,id:d.id}),y=Y0}}else y=P.pos+5}if(y<L.length){let b=M[M.length-1];if(O.length>0&&O[O.length-1].type==="else")M.push({content:L.slice(y),isFinalElse:!0});else if(M.length===0)M.push({content:L.slice(y)})}let I=G(j.ability,j.type,j.id),C=q==="can"?I:!I,S="";if(C)S=M[0]?.content||"";else{let b=!1;for(let P=1;P<M.length;P++){let x=M[P];if(x.isFinalElse){S=x.content,b=!0;break}if(x.ability){let d=G(x.ability,x.type,x.id);if(q==="can"?d:!d){S=x.content,b=!0;break}}}if(!b&&M.length>0){let P=M[M.length-1];if(P.isFinalElse)S=P.content}}Z=Z.substring(0,z)+S+Z.substring(H+`@${K}`.length),W=!0}}return Z}function I3(X,$,Z){let Y=X;function J(G,Q,q,K,U){let W=!0;while(W){W=!1;let w=new RegExp(`@${Q}\\s*\\(`),z=G.match(w);if(!z||z.index===void 0)break;let B=z.index,j=k1(G,B+`@${Q}`.length);if(!j)break;let _=j.endPos,H=n1(G,Q,q,_);if(H===-1){console.warn(`[stx] @${Q} directive at position ${B} has no matching @${q} \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=K(O.trim()),N;if(F!==-1){let T=L.slice(0,F),k=L.slice(F+5);N=R?T:k}else N=R?L:"";G=G.substring(0,B)+N+G.substring(H+`@${q}`.length),W=!0}catch(R){let N=R instanceof Error?R.message:String(R),T=X0(U,`Error processing @${Q} directive: ${N}`,s.EVALUATION_ERROR);G=G.substring(0,B)+T+G.substring(H+`@${q}`.length);break}}return G}return Y=J(Y,"isset","endisset",(G)=>{let Q=b1(G,$);return Q!==void 0&&Q!==null},"Isset"),Y=J(Y,"empty","endempty",(G)=>{let Q=b1(G,$);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"),Y}function E3(X,$,Z){let Y=X,J="development";function G(Q,q,K,U){let W=new RegExp(`@${q}(?![a-z])`,"g"),w=new RegExp(`@${K}(?![a-z])`,"g"),z=new RegExp(`^@${q}(?![a-z])`),B=new RegExp(`^@${K}(?![a-z])`),j=Q,_=!0;while(_){_=!1,W.lastIndex=0;let H=W.exec(j);if(!H)break;let L=H.index,O=L+H[0].length;if(q==="env"){let I=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!I)break;O+=I[0].length,U=J===I[2]}let F=1,V=O,A=-1;while(F>0&&V<j.length){W.lastIndex=V,w.lastIndex=V;let I=W.exec(j),C=w.exec(j),S=I?I.index:1/0,b=C?C.index:1/0;if(S<b)F++,V=S+I[0].length;else if(b<1/0){if(F--,F===0){A=b;break}V=b+C[0].length}else break}if(A===-1){console.warn(`[stx] @${q} directive at position ${L} has no matching @${K} \u2014 the block was skipped.`);break}let R=j.substring(O,A),N=-1,T=0,k=0;while(k<R.length){let I=R.indexOf("@",k);if(I===-1)break;let C=R.substring(I);if(z.test(C)){T++,k=I+1;continue}if(B.test(C)){T--,k=I+1;continue}if(T===0&&/^@else(?![a-z])/.test(C)){N=I;break}k=I+1}let M;if(N!==-1){let I=R.slice(0,N),C=R.slice(N+5);M=U?I:C}else M=U?R:"";let y=`@${K}`.length;j=j.substring(0,L)+M+j.substring(A+y),_=!0}return j}return Y=G(Y,"env","endenv",!1),Y=G(Y,"production","endproduction",J==="production"),Y=G(Y,"development","enddevelopment",J==="development"),Y=G(Y,"staging","endstaging",J==="staging"),Y=G(Y,"testing","endtesting",J==="testing"),Y}var C8=E(()=>{aJ();w1();DX();O0()});function XG(X=16){let $=new Uint8Array(X);return crypto.getRandomValues($),btoa(String.fromCharCode(...$))}function P8(X,$){if(!X)return $?.nonceGenerator?.()??XG();let Z=eJ.get(X);if(!Z)Z=$?.nonceGenerator?.()??XG(),eJ.set(X,Z);return Z}function bB(X,$){let Z=[];for(let[Y,J]of Object.entries(X)){if(J===void 0||J===null)continue;if(typeof J==="boolean"){if(J)Z.push(Y);continue}if(Array.isArray(J)){let G=[...J];if($&&(Y==="script-src"||Y==="style-src"))G=G.filter((Q)=>!Q.startsWith("'nonce-")),G.push(`'nonce-${$}'`);if(G.length>0)Z.push(`${Y} ${G.join(" ")}`)}}return Z.join("; ")}function $G(X,$){return`<meta http-equiv="Content-Security-Policy" content="${bB(X,$).replace(/&/g,"&").replace(/"/g,""")}">`}function ZG(X,$,Z){if(!$.enabled||!$.addMetaTag)return X;if(X.includes('http-equiv="Content-Security-Policy"'))return X;if(!X.includes("<head>")&&!X.includes("<head "))return X;let Y=$.useNonce?P8(Z,$):void 0,J=$G($.directives,Y);return X.replace(/<head([^>]*)>/,`<head$1>
|
|
13287
|
-
${J}`)}function
|
|
13288
|
-
${
|
|
13289
|
-
${
|
|
13290
|
-
`),Y=[{obj:$,indent:-1}];for(let J of Z){let G=J.replace(/#.*$/,"").trimEnd();if(!G.trim())continue;let Q=G.search(/\S/);if(Q===-1)continue;while(Y.length>1&&Y[Y.length-1].indent>=Q)Y.pop();let q=Y[Y.length-1].obj,K=G.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(K){let[,,U,W]=K,w=U.trim(),z=W.trim();if(z==="")q[w]={},Y.push({obj:q[w],indent:Q});else q[w]=
|
|
13393
|
+
</script>`}function tJ(X,$,Z){if(aJ=0,!EB(X))return X;let Y=AB(X);if(Y.length===0)return X;let J=IB(X,Y),G=kB(Y,$),Q=J.lastIndexOf("</body>");if(Q!==-1)J=J.slice(0,Q)+G+`
|
|
13394
|
+
`+J.slice(Q);else J+=G;return J}function IB(X,$){let Z=0,Y=X.replace(/<([a-z][a-z0-9-]*)(\s+[^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,(J,G,Q)=>{let q=$[Z++];if(!q)return J;let K=/data-stx-scope="([^"]*)"/.exec(Q);if(K)return q.id=K[1],q.selector=`[data-stx-scope="${q.id}"]`,J;return`<${G} data-stx-scope="${q.id}"${Q}>`});return Y=Y.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),Y=Y.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),Y=Y.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),Y=Y.replace(/\s*x-init\s*=\s*'[^']*'/g,""),Y}function EB(X){return/x-data\s*=\s*["']/.test(X)}var aJ=0,VB=0;var eJ=E(()=>{Z1()});import DB from"fs";import k3 from"path";import{createHighlighter as yB}from"ts-syntax-highlighter";async function bB(X,$={}){try{if(!await i(X))throw Error(`Markdown file not found: ${X}`);let Y=(await DB.promises.stat(X)).mtime.getTime();if($.cache&&I3.has(X)){let w=I3.get(X);if(w.updatedAt>=Y)return{content:w.content,data:w.data}}let J=await Bun.file(X).text(),{data:G,content:Q}=e6(J),q=$.markdown||H7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},U=z7(Q,{gfm:!0});if(q.syntaxHighlighting?.enabled&&q.syntaxHighlighting?.serverSide)U=await SB(U,q.syntaxHighlighting?.defaultTheme||"github-dark",q.syntaxHighlighting?.highlightUnknownLanguages||!1);let W={content:U,data:G||{}};if($.cache)I3.set(X,{...W,updatedAt:Y});return W}catch(Z){if($.debug)console.error(`Error reading/parsing markdown file ${X}:`,Z);let Y=Z instanceof Error?Z.message:String(Z);return{content:w0("Markdown File",`Error reading/parsing markdown file: ${Y}`,X,"",0,""),data:{}}}}async function SB(X,$,Z){let Y=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!C8)try{C8=await yB({theme:$||"github-dark",cache:!0})}catch(q){return console.error("Failed to initialize ts-syntax-highlighter:",q),X}let J=async(q,K,U,W)=>{let w=W.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"),z=U||(Z?"text":"");if(!z)return q;try{if(!C8.getSupportedLanguages().includes(z))return q;return(await C8.highlight(w,z,{theme:$})).html}catch(B){console.error(`Error highlighting code block with language ${U}:`,B)}return q},G=X,Q=X.matchAll(Y);for(let q of Q){let[K,U,W,w]=q,z=await J(K,U,W,w);G=G.replace(K,z)}return G}async function XG(X,$,Z="",Y={}){return await CB(X,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,q,K,U)=>{try{let W=q;if(!k3.isAbsolute(q))W=k3.resolve(k3.dirname(Z),q);let w={};if(K)try{try{w=JSON.parse(K)}catch{if(Y.debug)console.warn("Using safer alternative for parsing JS object literal");let L=K.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let F of L){let V=F.indexOf(":");if(V>0){let A=F.substring(0,V).trim(),R=F.substring(V+1).trim(),T=R.startsWith('"')&&R.endsWith('"'),k=R.startsWith("'")&&R.endsWith("'");if(T||k)R=R.substring(1,R.length-1);w[A]=R}}}}catch(O){if(Y.debug)console.error("Error parsing context in @markdown-file directive:",O)}let{content:z,data:B}=await bB(W,Y),j={...$,...B,...w},_=z,H=/\{\{([^}]+)\}\}/g;return _=_.replace(H,(O,L)=>{let F=L.trim();return j[F]!==void 0?String(j[F]):O}),_}catch(W){let w=W instanceof Error?W.message:String(W);return w0("Markdown File",`Error including markdown file: ${w}`,Z,X,U,Q)}})}async function CB(X,$,Z){let Y=[],J;while((J=$.exec(X))!==null){let q=J[0],K=J.index,U=J;Y.push(Z(...U).then((W)=>({match:q,replacement:W,index:K})))}let G=await Promise.all(Y);G.sort((q,K)=>K.index-q.index);let Q=X;for(let{match:q,replacement:K}of G)Q=Q.replace(q,()=>K);return Q}var I3,C8=null;var $G=E(()=>{V1();A0();I3=new Map});function b1(X,$){try{let Z=X.trim();if(J0(Z))return G0(Z,Object.keys($))(...Object.values($));else return Z0(Z,$)}catch{return!1}}var ZG=E(()=>{L0()});function PB(X,$,Z){let Y=X,J=!0;while(J){J=!1;let G=Y.match(/@switch\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,q=U9(Y,Q);if(!q)break;try{let K;if(J0(q.expression))K=G0(q.expression,Object.keys($))(...Object.values($));else K=Z0(q.expression,$);let U="",W=!1;for(let w of q.cases)if(w.type==="default"){if(!W)U=w.content.trim()}else try{let z;if(w.value&&J0(w.value))z=G0(w.value,Object.keys($))(...Object.values($));else if(w.value)z=Z0(w.value,$);if(K===z){U=w.content.trim(),W=!0;break}}catch{continue}Y=Y.substring(0,Q)+U+Y.substring(q.end),J=!0}catch(K){let U=K instanceof Error?K.message:String(K),W=$0("Switch",`Error evaluating @switch expression: ${U}`,s.EVALUATION_ERROR);Y=Y.substring(0,Q)+W+Y.substring(q.end);break}}return Y}function vB(X){let $=[];return{masked:X.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(Y)=>{return $.push(Y),`\x00stx-script-${$.length-1}\x00`}),scripts:$}}function xB(X,$){if($.length===0)return X;return X.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,Y)=>$[Number(Y)]??Z)}function Z5(X,$,Z){let{masked:Y,scripts:J}=vB(X);return xB(fB(Y,$,Z),J)}function fB(X,$,Z){let Y=X;Y=PB(Y,$,Z);{let G=!0;while(G){G=!1;let Q=Y.match(/@unless\s*\(/);if(!Q||Q.index===void 0)break;let q=Q.index,K=k1(Y,q+7);if(!K)break;let U=K.endPos,W=n1(Y,"unless","endunless",U);if(W===-1){console.warn(`[stx] @unless directive at position ${q} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let w=Y.slice(U,W),z=K.expression,B=-1;{let _=0,H=/@(?:if|unless)\s*\(/g,O=/@(?:endif|endunless)(?![a-z])/g,L=/@else(?![a-z])/g,F=[],V;while((V=H.exec(w))!==null)F.push({pos:V.index,type:"open"});while((V=O.exec(w))!==null)F.push({pos:V.index,type:"close"});while((V=L.exec(w))!==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 _=w.slice(0,B),H=w.slice(B+5);j=`@if (${z})${H}@else ${_}@endif`}else j=`@if (!(${z}))${w}@endif`;Y=Y.substring(0,q)+j+Y.substring(W+10),G=!0}}Y=D3(Y,$,Z),Y=y3(Y,$,Z),Y=E3(Y,$);let J=()=>{let G=E7(Y);if(G.length===0)return!1;for(let Q=G.length-1;Q>=0;Q--){let q=G[Q];try{let K="",U=!1;for(let W of q.branches){if(U)break;if(W.type==="else")K=W.content,U=!0;else try{let w;if(W.condition&&J0(W.condition))w=G0(W.condition,Object.keys($))(...Object.values($));else if(W.condition)w=Z0(W.condition,$);if(w)K=W.content,U=!0}catch(w){K=$0(W.type==="if"?"If":"Elseif",`Error in @${W.type}(${W.condition}): ${w instanceof Error?w.message:String(w)}`,s.EVALUATION_ERROR),U=!0}}Y=Y.substring(0,q.start)+K+Y.substring(q.end)}catch(K){let U=K instanceof Error?K.message:String(K),W=$0("If",`Error processing @if block: ${U}`,s.EVALUATION_ERROR);Y=Y.substring(0,q.start)+W+Y.substring(q.end)}}return!0};while(!0){let G=Y;if(!J())break;if(Y===G)break}return Y}function YG(X){let $=0;while($<X.length&&/\s/.test(X[$]))$++;if(X[$]!=="(")return null;$++;while($<X.length&&/\s/.test(X[$]))$++;let Z=X[$];if(Z!=="'"&&Z!=='"')return null;$++;let Y=[];while($<X.length){let J=X[$];if(J==="\\"&&$+1<X.length){Y.push(X[$+1]),$+=2;continue}if(J===Z){$++;break}Y.push(J),$++}while($<X.length&&/\s/.test(X[$]))$++;if(X[$]!==")")return null;return $++,{value:Y.join(""),consumed:$}}function E3(X,$){let Z=X;function Y(q,K,U,W){let w=1,z=W,B=new RegExp(`@${K}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${U}(?![a-z])`,"g");while(z<q.length&&w>0){B.lastIndex=z,j.lastIndex=z;let _=B.exec(q),H=j.exec(q),O=_?_.index:1/0,L=H?H.index:1/0;if(O<L)w++,z=O+_[0].length;else if(L<1/0){if(w--,w===0)return L;z=L+H[0].length}else break}return-1}function J(q,K,U){let W=0,w=new RegExp(`@${K}(?:\\s*\\(|\\s|$)`,"g"),z=new RegExp(`@${U}(?![a-z])`,"g"),B=/@else(?![a-z])/g,j=[],_;while((_=w.exec(q))!==null)j.push({pos:_.index,type:"open"});while((_=z.exec(q))!==null)j.push({pos:_.index,type:"close"});while((_=B.exec(q))!==null)j.push({pos:_.index,type:"else"});j.sort((H,O)=>H.pos-O.pos);for(let H of j)if(H.type==="open")W++;else if(H.type==="close")W--;else if(H.type==="else"&&W===0)return H.pos;return-1}{let q=!0;while(q){q=!1;let K=Z.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!K||K.index===void 0)break;let U=K.index,W,w,z=Z.slice(U+5),B=YG(z);if(B)W=B.value,w=U+5+B.consumed;else w=U+5;let j=Y(Z,"auth","endauth",w);if(j===-1){console.warn(`[stx] @auth directive at position ${U} has no matching @endauth \u2014 the block was skipped.`);break}let _=Z.slice(w,j),H=J(_,"auth","endauth"),O;if(!$.auth)O=!1;else O=W?b1(`auth?.check && auth?.user?.[${W}]`,$):b1("auth?.check",$);let L;if(H!==-1){let F=_.slice(0,H),V=_.slice(H+5);L=O?F:V}else L=O?_:"";Z=Z.substring(0,U)+L+Z.substring(j+8),q=!0}}{let q=!0;while(q){q=!1;let K=Z.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!K||K.index===void 0)break;let U=K.index,W,w,z=Z.slice(U+6),B=YG(z);if(B)W=B.value,w=U+6+B.consumed;else w=U+6;let j=Y(Z,"guest","endguest",w);if(j===-1){console.warn(`[stx] @guest directive at position ${U} has no matching @endguest \u2014 the block was skipped.`);break}let _=Z.slice(w,j),H=J(_,"guest","endguest"),O;if(!$.auth)O=!0;else O=W?b1(`!auth?.check || !auth?.user?.[${W}]`,$):b1("!auth?.check",$);let L;if(H!==-1){let F=_.slice(0,H),V=_.slice(H+5);L=O?F:V}else L=O?_:"";Z=Z.substring(0,U)+L+Z.substring(j+9),q=!0}}function G(q,K,U){if($.userCan&&typeof $.userCan[q]==="boolean")return $.userCan[q];if($.permissions?.check&&typeof $.permissions.check==="function")try{let W=[q];if(K)W.push(K);if(U){let w=b1(U,$);W.push(w)}return $.permissions.check(...W)}catch{return!1}return!1}function Q(q){let K=q.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!K)return null;return{ability:K[1],type:K[2],id:K[3]?.trim(),paramsEnd:K[0].length}}for(let q of["can","cannot"]){let K=`end${q}`,U=q==="can"?"elsecan":"elsecannot",W=!0;while(W){W=!1;let w=Z.match(new RegExp(`@${q}\\s*\\(`));if(!w||w.index===void 0)break;let z=w.index,B=Z.slice(z+`@${q}`.length),j=Q(B);if(!j)break;let _=z+`@${q}`.length+j.paramsEnd,H=Y(Z,q,K,_);if(H===-1){console.warn(`[stx] @${q} directive at position ${z} has no matching @${K} \u2014 the block was skipped.`);break}let O=Z.slice(_,H),L=[],F=0,V=new RegExp(`@${q}\\s*\\(`,"g"),A=new RegExp(`@${K}(?![a-z])`,"g"),R=new RegExp(`@${U}\\s*\\(`,"g"),T=/@else(?![a-z])/g,k=[],M;while((M=V.exec(O))!==null)k.push({pos:M.index,type:"open"});while((M=A.exec(O))!==null)k.push({pos:M.index,type:"close"});while((M=R.exec(O))!==null)k.push({pos:M.index,type:"elseDirective"});while((M=T.exec(O))!==null)k.push({pos:M.index,type:"else"});k.sort((y,v)=>y.pos-v.pos);for(let y of k){if(y.type==="open"){F++;continue}if(y.type==="close"){F--;continue}if(F===0)L.push(y)}let N=[],D=0;for(let y=0;y<L.length;y++){let v=L[y];if(N.push({content:O.slice(D,v.pos),ability:void 0}),v.type==="elseDirective"){let x=O.slice(v.pos+`@${U}`.length),f=Q(x);if(f){N[N.length-1]={content:O.slice(D,v.pos)},D=v.pos+`@${U}`.length+f.paramsEnd,N.push({content:"",ability:f.ability,type:f.type,id:f.id}),N.pop();let c=L[y+1],l=c?c.pos:O.length;N.push({content:O.slice(D,l),ability:f.ability,type:f.type,id:f.id}),D=l}}else D=v.pos+5}if(D<O.length){let y=N[N.length-1];if(L.length>0&&L[L.length-1].type==="else")N.push({content:O.slice(D),isFinalElse:!0});else if(N.length===0)N.push({content:O.slice(D)})}let I=G(j.ability,j.type,j.id),C=q==="can"?I:!I,b="";if(C)b=N[0]?.content||"";else{let y=!1;for(let v=1;v<N.length;v++){let x=N[v];if(x.isFinalElse){b=x.content,y=!0;break}if(x.ability){let f=G(x.ability,x.type,x.id);if(q==="can"?f:!f){b=x.content,y=!0;break}}}if(!y&&N.length>0){let v=N[N.length-1];if(v.isFinalElse)b=v.content}}Z=Z.substring(0,z)+b+Z.substring(H+`@${K}`.length),W=!0}}return Z}function D3(X,$,Z){let Y=X;function J(G,Q,q,K,U){let W=!0;while(W){W=!1;let w=new RegExp(`@${Q}\\s*\\(`),z=G.match(w);if(!z||z.index===void 0)break;let B=z.index,j=k1(G,B+`@${Q}`.length);if(!j)break;let _=j.endPos,H=n1(G,Q,q,_);if(H===-1){console.warn(`[stx] @${Q} directive at position ${B} has no matching @${q} \u2014 the block was skipped.`);break}let O=G.slice(_,H),L=j.expression,F=-1,V=0,A=0;while(A<O.length){let R=O.indexOf("@",A);if(R===-1)break;let T=O.substring(R);if(/^@(?:if|unless|isset|empty)\s*\(/.test(T)){V++,A=R+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(T)){V--,A=R+1;continue}if(V===0&&/^@else(?![a-z])/.test(T)){F=R;break}A=R+1}try{let R=K(L.trim()),T;if(F!==-1){let k=O.slice(0,F),M=O.slice(F+5);T=R?k:M}else T=R?O:"";G=G.substring(0,B)+T+G.substring(H+`@${q}`.length),W=!0}catch(R){let T=R instanceof Error?R.message:String(R),k=$0(U,`Error processing @${Q} directive: ${T}`,s.EVALUATION_ERROR);G=G.substring(0,B)+k+G.substring(H+`@${q}`.length);break}}return G}return Y=J(Y,"isset","endisset",(G)=>{let Q=b1(G,$);return Q!==void 0&&Q!==null},"Isset"),Y=J(Y,"empty","endempty",(G)=>{let Q=b1(G,$);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"),Y}function y3(X,$,Z){let Y=X,J="development";function G(Q,q,K,U){let W=new RegExp(`@${q}(?![a-z])`,"g"),w=new RegExp(`@${K}(?![a-z])`,"g"),z=new RegExp(`^@${q}(?![a-z])`),B=new RegExp(`^@${K}(?![a-z])`),j=Q,_=!0;while(_){_=!1,W.lastIndex=0;let H=W.exec(j);if(!H)break;let O=H.index,L=O+H[0].length;if(q==="env"){let I=j.substring(L).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!I)break;L+=I[0].length,U=J===I[2]}let F=1,V=L,A=-1;while(F>0&&V<j.length){W.lastIndex=V,w.lastIndex=V;let I=W.exec(j),C=w.exec(j),b=I?I.index:1/0,y=C?C.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+C[0].length}else break}if(A===-1){console.warn(`[stx] @${q} directive at position ${O} has no matching @${K} \u2014 the block was skipped.`);break}let R=j.substring(L,A),T=-1,k=0,M=0;while(M<R.length){let I=R.indexOf("@",M);if(I===-1)break;let C=R.substring(I);if(z.test(C)){k++,M=I+1;continue}if(B.test(C)){k--,M=I+1;continue}if(k===0&&/^@else(?![a-z])/.test(C)){T=I;break}M=I+1}let N;if(T!==-1){let I=R.slice(0,T),C=R.slice(T+5);N=U?I:C}else N=U?R:"";let D=`@${K}`.length;j=j.substring(0,O)+N+j.substring(A+D),_=!0}return j}return Y=G(Y,"env","endenv",!1),Y=G(Y,"production","endproduction",J==="production"),Y=G(Y,"development","enddevelopment",J==="development"),Y=G(Y,"staging","endstaging",J==="staging"),Y=G(Y,"testing","endtesting",J==="testing"),Y}var P8=E(()=>{ZG();z1();yX();L0()});function GG(X=16){let $=new Uint8Array(X);return crypto.getRandomValues($),btoa(String.fromCharCode(...$))}function v8(X,$){if(!X)return $?.nonceGenerator?.()??GG();let Z=JG.get(X);if(!Z)Z=$?.nonceGenerator?.()??GG(),JG.set(X,Z);return Z}function gB(X,$){let Z=[];for(let[Y,J]of Object.entries(X)){if(J===void 0||J===null)continue;if(typeof J==="boolean"){if(J)Z.push(Y);continue}if(Array.isArray(J)){let G=[...J];if($&&(Y==="script-src"||Y==="style-src"))G=G.filter((Q)=>!Q.startsWith("'nonce-")),G.push(`'nonce-${$}'`);if(G.length>0)Z.push(`${Y} ${G.join(" ")}`)}}return Z.join("; ")}function QG(X,$){return`<meta http-equiv="Content-Security-Policy" content="${gB(X,$).replace(/&/g,"&").replace(/"/g,""")}">`}function qG(X,$,Z){if(!$.enabled||!$.addMetaTag)return X;if(X.includes('http-equiv="Content-Security-Policy"'))return X;if(!X.includes("<head>")&&!X.includes("<head "))return X;let Y=$.useNonce?v8(Z,$):void 0,J=QG($.directives,Y);return X.replace(/<head([^>]*)>/,`<head$1>
|
|
13395
|
+
${J}`)}function KG(X,$){let Z=X;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(Y,J)=>{if(J.includes("nonce="))return Y;return`<script nonce="${$}"${J}>`}),Z=Z.replace(/<style([^>]*)>/gi,(Y,J)=>{if(J.includes("nonce="))return Y;return`<style nonce="${$}"${J}>`}),Z}function UG(X,$,Z,Y){let J=X,G=Y.csp;if(J=J.replace(/@csp\b/g,()=>{if(!G?.enabled||!G.directives)return"<!-- CSP not configured -->";let Q=G.useNonce?v8($,G):void 0;return QG(G.directives,Q)}),J=J.replace(/@cspNonce\b/g,()=>{if(!G?.enabled||!G.useNonce)return"";return v8($,G)}),G?.enabled&&G.useNonce)$.cspNonce=v8($,G);return J}var JG;var WG=E(()=>{JG=new WeakMap});import hB from"crypto";function dB(X=uB){let $=hB.randomBytes(Math.ceil(X/2)).toString("hex").slice(0,X);return b3=$,$}function mB(){if(!b3)dB();return b3}function lB(X=wG){let $=mB();return`<input type="hidden" name="${X}" value="${$}">`}function zG(X){return X.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,($,Z,Y)=>{return lB(Y||wG)})}var uB=40,wG="_token",b3=null;var jG=()=>{};async function BG(X,$,Z,Y){if(!Y.customDirectives||Y.customDirectives.length===0)return X;let J=X;for(let G of Y.customDirectives){if(!G.name||typeof G.handler!=="function"){if(Y.debug)console.warn("Invalid custom directive:",G);continue}if(G.hasEndTag)J=await cB(J,G,$,Z,Y);else J=await pB(J,G,$,Z,Y)}return J}async function cB(X,$,Z,Y,J){let{name:G,handler:Q}=$,q=`@${G}`,K=`@end${G}`,U=X,W=N5(`${q}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${K}`,"g"),w=[],z=W.exec(U);while(z!==null){let[B,j="",_=""]=z,H=z.index||0;try{let O=j?_G(j):[],L=_.trim(),F=await Q(L,O,Z,Y);w.push({original:B,processed:F,startIndex:H})}catch(O){let L=O instanceof Error?O.message:String(O);if(J.debug)console.error(`Error processing custom directive @${G}:`,O);w.push({original:B,processed:$0("CustomDirective",`Error in @${G}${j?`(${j})`:""}: ${L}`,s.EVALUATION_ERROR),startIndex:H})}z=W.exec(U)}for(let B=w.length-1;B>=0;B--){let{original:j,processed:_}=w[B];U=U.replace(j,_)}return U}async function pB(X,$,Z,Y,J){let{name:G,handler:Q}=$,q=X,K=N5(`@${G}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),U=[],W=K.exec(q);while(W!==null){let[B,j=""]=W,_=W.index||0;try{let H=_G(j),O=await Q("",H,Z,Y);U.push({original:B,processed:O,startIndex:_})}catch(H){let O=H instanceof Error?H.message:String(H);if(J.debug)console.error(`Error processing custom directive @${G}:`,H);U.push({original:B,processed:$0("CustomDirective",`Error in @${G}(${j}): ${O}`,s.EVALUATION_ERROR),startIndex:_})}W=K.exec(q)}let w=N5(`@${G}(?!\\w)(?!\\s*\\()`,"g"),z=w.exec(q);while(z!==null){let[B]=z,j=z.index||0;try{let _=await Q("",[],Z,Y);U.push({original:B,processed:_,startIndex:j})}catch(_){let H=_ instanceof Error?_.message:String(_);if(J.debug)console.error(`Error processing custom directive @${G}:`,_);U.push({original:B,processed:$0("CustomDirective",`Error in @${G}: ${H}`,s.EVALUATION_ERROR),startIndex:j})}z=w.exec(q)}for(let B=U.length-1;B>=0;B--){let{original:j,processed:_}=U[B];q=q.replace(j,_)}return q}function _G(X){if(!X.trim())return[];let $=[],Z="",Y=!1,J="";for(let G=0;G<X.length;G++){let Q=X[G];if((Q==='"'||Q==="'")&&(G===0||X[G-1]!=="\\"))if(!Y)Y=!0,J=Q;else if(Q===J)Y=!1;else Z+=Q;else if(Q===","&&!Y)$.push(Z.trim()),Z="";else Z+=Q}if(Z.trim())$.push(Z.trim());return $.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 HG=E(()=>{z1();M5()});function Y5(X,$){if(typeof X!=="string"||X.length===0)throw Error(`@appearanceBootstrap ${$} must be a non-empty string`)}function nB(X){if(!X||typeof X!=="object"||Array.isArray(X))throw Error("@appearanceBootstrap expects an options object");let $=X,Z=$.appearance,Y=$.colorMode;if(Y5($.storageKey,"storageKey"),!Z||typeof Z!=="object"||Array.isArray(Z))throw Error("@appearanceBootstrap appearance must be an object");if(!Y||typeof Y!=="object"||Array.isArray(Y))throw Error("@appearanceBootstrap colorMode must be an object");if(Y5(Z.key,"appearance.key"),Y5(Z.attribute,"appearance.attribute"),Y5(Z.default,"appearance.default"),Y5(Y.key,"colorMode.key"),Y5(Y.attribute,"colorMode.attribute"),Y5(Y.default,"colorMode.default"),!LG.test(Z.key)||!LG.test(Y.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!OG.test(Z.attribute)||!OG.test(Y.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(Z.allowed)||Z.allowed.length===0||Z.allowed.some((J)=>typeof J!=="string"||J.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(!iB.has(Y.default))throw Error("@appearanceBootstrap colorMode.default must be light, dark, or system");return{storageKey:$.storageKey,appearance:{key:Z.key,attribute:Z.attribute,allowed:[...new Set(Z.allowed)],default:Z.default},colorMode:{key:Y.key,attribute:Y.attribute,default:Y.default}}}function rB(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function oB(X){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${rB(X)};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 sB(X,$){let Z=1,Y=null,J=!1;for(let G=$+1;G<X.length;G++){let Q=X[G];if(J){J=!1;continue}if(Y){if(Q==="\\")J=!0;else if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}if(Q==="(")Z++;else if(Q===")"&&--Z===0)return G}return-1}function FG(X,$){let Z=X,Y=/@appearanceBootstrap\s*\(/g,J;while((J=Y.exec(Z))!==null){let G=J.index+J[0].length-1,Q=sB(Z,G);if(Q===-1)throw Error("@appearanceBootstrap has an unclosed options object");let q=Z.slice(G+1,Q).trim(),K=Z0(`(${q})`,$),U=oB(nB(K));Z=Z.slice(0,J.index)+U+Z.slice(Q+1),Y.lastIndex=J.index+U.length}return Z}var OG,LG,iB;var VG=E(()=>{L0();OG=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,LG=/^[A-Za-z_$][\w$]*$/,iB=new Set(["light","dark","system"])});import aB from"crypto";function B0(X){return String(X??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function x8(X,$,Z,Y){let J=X||$;return Z?`${J} ${Y}`:J}function n0(X){return String(X).replace(/\[\]$/,"").replace(/[^\w.:-]+/g,"-").replace(/^-+|-+$/g,"")}function P5(X,$){if(/\bid\s*=/i.test(X))return"";return` id="${B0($)}"`}function S3(X,$,Z){if(!$)return"";let Y="";if(!/\baria-invalid\s*=/i.test(Z))Y+=' aria-invalid="true"';if(!/\baria-describedby\s*=/i.test(Z))Y+=` aria-describedby="${B0(`${n0(X)}-error`)}"`;return Y}function tB(){return aB.randomUUID()}function f8(X,$){let Z=X;return Z=Z.replace(/@csrf/g,()=>{if(!$.csrf||typeof $.csrf!=="object"){let Y=tB();$.csrf={token:Y}}if($.csrf.field)return $.csrf.field;if($.csrf.token)return`<input type="hidden" name="_token" value="${B0($.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),Z=Z.replace(/@method\(['"]([^'"]+)['"]\)/g,(Y,J)=>{let G=J.toUpperCase();if(J&&!["GET","POST"].includes(G))return`<input type="hidden" name="_method" value="${B0(G)}">`;return Y}),Z}function TG(X,$,Z=RG){let Y=X;return Y=Y.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(J,G,Q,q,K,U="")=>{let W=G||Q||"POST",w=q||K||"",z=S1(U),B=W.toUpperCase(),j=["GET","POST"].includes(B)?B:"POST",_=`<form method="${B0(j)}" action="${B0(w)}"${z?` ${z}`:""}>`;if(_+=`
|
|
13396
|
+
${f8("@csrf",$)}`,!["GET","POST"].includes(B))_+=`
|
|
13397
|
+
${f8(`@method('${B}')`,$)}`;return _}),Y=Y.replace(/@endform/g,"</form>"),Y=Y.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(J,G,Q,q,K,U="")=>{let W=G||Q||"",w=q||K||"",z=S1(U),B=f7(W,$),j=B!==void 0&&B!==null?B:w||"",_=z.match(/type=['"]([^'"]+)['"]/i),H=_?_[1]:"text",O=g7(W,$),L=z.match(/class=['"]([^'"]+)['"]/i),F=x8(L?L[1]:"",Z.input,O,Z.inputError),V=z.replace(/class=['"][^'"]+['"]/i,"");return V=V.replace(/type=['"][^'"]+['"]/i,""),`<input type="${B0(H)}" name="${B0(W)}"${P5(z,n0(W))} value="${B0(j)}" class="${F}"${S3(W,O,z)}${V?` ${V}`:""}>`}),Y=Y.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(J,G,Q="",q="")=>{let K=S1(Q),U=f7(G,$)||q.trim(),W=g7(G,$),w=K.match(/class=['"]([^'"]+)['"]/i),z=x8(w?w[1]:"",Z.input,W,Z.inputError),B=K.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${B0(G)}"${P5(K,n0(G))} class="${z}"${S3(G,W,K)}${B?` ${B}`:""}>${B0(U)}</textarea>`}),Y=Y.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(J,G,Q="",q)=>{let K=S1(Q),U=f7(G,$),W=g7(G,$),w=K.match(/class=['"]([^'"]+)['"]/i),z=x8(w?w[1]:"",Z.input,W,Z.inputError),B=K.replace(/class=['"][^'"]+['"]/i,""),j=q;if(U!==void 0)j=q.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(_,H,O)=>{if((Array.isArray(U)?U.some((F)=>String(F)===O):String(U)===O)&&!H.includes("selected"))return H.replace(/(<option)/,"$1 selected");return _});return`<select name="${B0(G)}"${P5(K,n0(G))} class="${z}"${S3(G,W,K)}${B?` ${B}`:""}>${j}</select>`}),Y=Y.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q,q="")=>{let K=Q===void 0?"1":Q,U=Q===void 0?n0(G):`${n0(G)}-${n0(K)}`,W=S1(q),w=f7(G,$),z=w!==void 0&&(Array.isArray(w)?w.some((H)=>String(H)===K):w===!0||String(w)===K),B=W.match(/class=['"]([^'"]+)['"]/i),j=B?B[1]:Z.checkInput,_=W.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${B0(G)}"${P5(W,U)} value="${B0(K)}" class="${j}"${z?" checked":""}${_?` ${_}`:""}>`}),Y=Y.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q,q="")=>{let K=S1(q),U=f7(G,$),W=U!==void 0&&U===Q,w=K.match(/class=['"]([^'"]+)['"]/i),z=w?w[1]:Z.checkInput,B=K.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${B0(G)}"${P5(K,`${n0(G)}-${n0(Q)}`)} value="${B0(Q)}" class="${z}"${W?" checked":""}${B?` ${B}`:""}>`}),Y=Y.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q="")=>{let q=S1(Q),K=q.match(/accept=['"]([^'"]+)['"]/i),U=K?K[1]:"",W=q.includes("multiple"),w=g7(G,$),z=q.match(/class=['"]([^'"]+)['"]/i),B=x8(z?z[1]:"",Z.input,w,Z.inputError),j=q.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),_=[`<input type="file" name="${B0(G)}"${P5(q,n0(G))}`,`class="${B}"`];if(U)_.push(`accept="${B0(U)}"`);if(W)_.push("multiple");if(j)_.push(j);return`${_.join(" ")}>`}),Y=Y.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(J,G,Q="",q)=>{let K=S1(Q),U=K.match(/class=['"]([^'"]+)['"]/i),W=U?U[1]:Z.label,w=K.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${B0(n0(G))}" class="${W}"${w?` ${w}`:""}>${q}</label>`}),Y}function NG(X,$,Z=RG){return X.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(Y,J,G)=>{try{if(g7(J,$)){let Q=G.replace(/\{\{([^}]+)\}\}/g,(q,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return AG(J,$);if(K.trim().includes("errors.first")||K.trim().includes("$errors.first")){if(typeof $.errors?.first==="function")return $.errors.first(J);return AG(J,$)}let U=K.trim();if(J0(U)){let W=Z0(U,$);return W!==void 0?String(W):U}return U}catch{return K}});return`<div id="${B0(`${n0(J)}-error`)}" role="alert">${Q}</div>`}return""}catch(Q){return console.error("Error processing @error directive:",Q),Y}})}function g7(X,$){if(!$.errors)return!1;if(typeof $.errors.has==="function")return $.errors.has(X);if(typeof $.errors==="object")return Object.prototype.hasOwnProperty.call($.errors,X);return!1}function AG(X,$){if(!$.errors)return"";if(typeof $.errors.get==="function")return $.errors.get(X);if(typeof $.errors==="object"&&Object.prototype.hasOwnProperty.call($.errors,X)){let Z=$.errors[X];return Array.isArray(Z)?Z[0]:String(Z)}return""}function f7(X,$){let Z;if($.old&&typeof $.old==="function")return $.old(X);if($.old&&typeof $.old==="object")return $.old[X];if(X.endsWith("[]")){let Y=X.slice(0,-2);if(Z=$[Y],Z!==void 0)return Z}return $[X]}function S1(X){if(!X.trim())return"";let $=[],Z=X.trim(),Y=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,J;while((J=Y.exec(Z))!==null){let[,G,,Q]=J;$.push(`${G}="${Q.trim()}"`)}return $.join(" ")}var RG;var MG=E(()=>{L0();RG={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import v3 from"path";async function eB(){if(h7!==void 0)return h7;try{h7=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{h7=null}return h7}function X_(X,$=0){if($<=0)return!1;return Date.now()-X.loadedAt>$}async function $_(X,$){if({...g3,...$.i18n}.cache&&x3[X]){let J=x3[X],G=$.i18n?.cacheMaxAge??0;if(!X_(J,G))return J.translations}if(u7[X]?.state==="loading")return u7[X].promise;C3[X]="loading";let Y=f3(X,$).then((J)=>{return C3[X]="loaded",delete u7[X],J}).catch((J)=>{throw C3[X]="error",u7[X]={promise:Y,state:"error",error:J instanceof Error?J:Error(String(J))},J});return u7[X]={promise:Y,state:"loading"},Y}async function f3(X,$){let Z={...g3,...$.i18n},Y=v3.isAbsolute(Z.translationsDir)?Z.translationsDir:v3.resolve($.root||process.cwd(),Z.translationsDir);try{let J=await eB(),G=J?await J(X,{translationsDir:Y,defaultLocale:Z.defaultLocale,sources:Q_(Z.format)}):await Z_(X,Z,Y);if(G===void 0){if(X!==Z.defaultLocale)return f3(Z.defaultLocale,$);return{}}let Q=G;if(Z.cache)x3[X]={translations:Q,loadedAt:Date.now(),locale:X};return Q}catch(J){if($.debug)console.error(`Error loading translation file for locale "${X}":`,J);if(X!==Z.defaultLocale)return f3(Z.defaultLocale,$);return{}}}async function Z_(X,$,Z){let Y=v3.join(Z,`${X}${Y_($.format)}`);try{let J=await import(Y);return J.default||J}catch(J){try{let G=await Bun.file(Y).text();if($.format==="yaml"||$.format==="yml")return J_(G);if($.format==="json")return JSON.parse(G);throw J}catch{return}}}function Y_(X){switch(X){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function J_(X){let $={},Z=X.split(`
|
|
13398
|
+
`),Y=[{obj:$,indent:-1}];for(let J of Z){let G=J.replace(/#.*$/,"").trimEnd();if(!G.trim())continue;let Q=G.search(/\S/);if(Q===-1)continue;while(Y.length>1&&Y[Y.length-1].indent>=Q)Y.pop();let q=Y[Y.length-1].obj,K=G.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(K){let[,,U,W]=K,w=U.trim(),z=W.trim();if(z==="")q[w]={},Y.push({obj:q[w],indent:Q});else q[w]=G_(z)}}return $}function G_(X){if(X.startsWith("'")&&X.endsWith("'")||X.startsWith('"')&&X.endsWith('"'))return X.slice(1,-1);let $=X.toLowerCase();if($==="true"||$==="yes")return!0;if($==="false"||$==="no")return!1;if($==="null"||$==="~")return null;let Z=Number(X);if(!Number.isNaN(Z)&&X!=="")return Z;return X}function Q_(X){switch(X){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function q_(X,$){return $_(X,$)}function K_(X,$){for(let Z of X){let Y=Z.trim(),J=Y.match(/^\{(\d+)\}\s*(.*)$/);if(J){let Q=Number.parseInt(J[1],10);if($===Q)return J[2];continue}let G=Y.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(G){let Q=Number.parseInt(G[1],10),q=G[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(G[2],10);if($>=Q&&$<=q)return G[3];continue}}if(X.length===2)return $===1?X[0].trim():X[1].trim();if($<X.length)return X[$].trim();return X[X.length-1].trim()}function U_(X,$={}){return EG(X,$)}function EG(X,$){let Z="",Y=0;while(Y<X.length)if(X[Y]==="{"){let J=W_(X,Y);if(J===-1){Z+=X[Y],Y++;continue}let G=X.slice(Y+1,J);Z+=w_(G,$),Y=J+1}else if(X[Y]==="'"&&Y+1<X.length)if(X[Y+1]==="'")Z+="'",Y+=2;else if(X[Y+1]==="{"||X[Y+1]==="}")Z+=X[Y+1],Y+=2;else Z+=X[Y],Y++;else Z+=X[Y],Y++;return Z}function W_(X,$){let Z=0;for(let Y=$;Y<X.length;Y++)if(X[Y]==="{")Z++;else if(X[Y]==="}"){if(Z--,Z===0)return Y}return-1}function w_(X,$){let Z=z_(X);if(Z.length===0)return`{${X}}`;let Y=Z[0].trim(),J=$[Y];if(Z.length===1)return J!==void 0?String(J):`{${Y}}`;switch(Z[1].trim().toLowerCase()){case"plural":return j_(J,Z.slice(2).join(","),$);case"select":return __(J,Z.slice(2).join(","));case"selectordinal":return H_(J,Z.slice(2).join(","));case"number":return L_(J,Z[2]?.trim());case"date":return F_(J,Z[2]?.trim());case"time":return V_(J,Z[2]?.trim());default:return J!==void 0?String(J):`{${X}}`}}function z_(X){let $=[],Z="",Y=0;for(let J=0;J<X.length;J++){let G=X[J];if(G==="{")Y++,Z+=G;else if(G==="}")Y--,Z+=G;else if(G===","&&Y===0)$.push(Z),Z="";else Z+=G}if(Z)$.push(Z);return $}function j_(X,$,Z){let Y=Number(X)||0,J=h3($),G=`=${Y}`;if(J[G])return P3(J[G],Y,Z);let Q=B_(Y);if(J[Q])return P3(J[Q],Y,Z);if(J.other)return P3(J.other,Y,Z);return String(Y)}function P3(X,$,Z){let Y=X.replace(/#/g,String($));return EG(Y,Z)}function B_(X){let $=Math.abs(X),Z=Math.floor($),Y=String(X).includes(".")?String(X).split(".")[1].length:0;if(Z===1&&Y===0)return"one";return"other"}function __(X,$){let Z=String(X||""),Y=h3($);if(Y[Z])return Y[Z];return Y.other||String(X)}function H_(X,$){let Z=Number(X)||0,Y=h3($),J=O_(Z);if(Y[J])return Y[J].replace(/#/g,String(Z));if(Y.other)return Y.other.replace(/#/g,String(Z));return String(Z)}function O_(X){let $=Math.abs(X),Z=$%10,Y=$%100;if(Z===1&&Y!==11)return"one";if(Z===2&&Y!==12)return"two";if(Z===3&&Y!==13)return"few";return"other"}function h3(X){let $={},Z=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,Y=Z.exec(X);while(Y!==null)$[Y[1]]=Y[2],Y=Z.exec(X);return $}function L_(X,$){let Z=Number(X);if(Number.isNaN(Z))return String(X);switch($){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 F_(X,$){let Z=X instanceof Date?X:new Date(String(X));if(Number.isNaN(Z.getTime()))return String(X);let Y={};switch($){case"short":Y.dateStyle="short";break;case"medium":Y.dateStyle="medium";break;case"long":Y.dateStyle="long";break;case"full":Y.dateStyle="full";break;default:Y.dateStyle="medium"}return Z.toLocaleDateString(void 0,Y)}function V_(X,$){let Z=X instanceof Date?X:new Date(String(X));if(Number.isNaN(Z.getTime()))return String(X);let Y={};switch($){case"short":Y.timeStyle="short";break;case"medium":Y.timeStyle="medium";break;case"long":Y.timeStyle="long";break;case"full":Y.timeStyle="full";break;default:Y.timeStyle="short"}return Z.toLocaleTimeString(void 0,Y)}function A_(X){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test(X)}function kG(X,$,Z=!0,Y={}){let J=X.split("."),G=$;for(let q of J){if(G===void 0||G===null)break;G=G[q]}if(G===void 0||G===null)return Z?X:"";let Q=String(G);if(A_(Q))return U_(Q,Y);if(Q.includes("|")&&"count"in Y){let q=Number(Y.count),K=Q.split("|");Q=K_(K,q)}for(let[q,K]of Object.entries(Y)){let U=q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Q=Q.replace(new RegExp(`:${U}`,"g"),String(K))}return Q}async function DG(X,$,Z,Y){let J=X,G=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,Q={...g3,...Y.i18n},q=await q_(Q.locale,Y);$.__translations=q,$.__locale=Q.locale,$.__i18nConfig=Q,J=await IG(J,G,async(W,w,z,B,j)=>{try{let _={};if(z)try{let O=[()=>JSON.parse(z),()=>{let L=`{"data":${z}}`,F=JSON.parse(L);return typeof F.data==="object"?F.data:{}},()=>{return O0(z,$)}];for(let L of O)try{if(_=L(),Object.keys(_).length>0)break}catch{}}catch(O){if(Y.debug)console.error("Error parsing parameters for @translate directive:",O)}return kG(w,q,Q.fallbackToKey,_)||B.trim()}catch(_){if(Y.debug)console.error("Error processing @translate directive:",_);return $0("Translate",`Error in @translate('${w}'): ${_ instanceof Error?_.message:String(_)}`,s.EVALUATION_ERROR)}});let K=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(Y.debug){console.warn(`Processing translations in template. Sections: ${J.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let W=[...J.matchAll(K)];console.warn(`Found ${W.length} @translate matches`),W.forEach((w,z)=>console.warn(`Match ${z}: ${w[0]}, Key: ${w[1]}, Params: ${w[2]||"none"}`))}return J=await IG(J,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(W,w,z,B)=>{try{let j={};if(z)try{let _=[()=>JSON.parse(z),()=>{let H=`{"data":${z}}`,O=JSON.parse(H);return typeof O.data==="object"?O.data:{}},()=>{return O0(z,$)}];for(let H of _)try{if(j=H(),Object.keys(j).length>0)break}catch{}}catch(_){if(Y.debug)console.error("Error parsing parameters for @translate directive:",_)}return kG(w,q,Q.fallbackToKey,j)}catch(j){if(Y.debug)console.error("Error processing @translate directive:",j);return $0("Translate",`Error in @translate('${w}'): ${j instanceof Error?j.message:String(j)}`,s.EVALUATION_ERROR)}}),J}async function IG(X,$,Z){let Y=[];return X.replace($,(G,...Q)=>{let q=Z(G,...Q).then((K)=>({match:G,replacement:K}));return Y.push(q),G}),(await Promise.all(Y)).reduce((G,{match:Q,replacement:q})=>G.replace(Q,q),X)}var h7,g3,x3,u7,C3;var yG=E(()=>{z1();L0();g3={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},x3={},u7={},C3={}});var m3={};o(m3,{streamingSuspenseDirective:()=>CG,streamToResponse:()=>C_,streamTemplateSimple:()=>D_,streamTemplate:()=>T_,renderStreamingPage:()=>M_,registerStreamingDirectives:()=>b_,processStreamDirectives:()=>I_,processSectionDirectives:()=>S_,islandDirective:()=>PG,generateHydrationRuntime:()=>P_,extractStreamBoundaries:()=>E_,createStreamRenderer:()=>y_,buildSuspenseResolveScript:()=>d3,SUSPENSE_RESOLVER_RUNTIME:()=>SG});import g8 from"path";function R_(X){let $=[],Z=0,Y;bG.lastIndex=0;while((Y=bG.exec(X))!==null){if(Y.index>Z){let Q=X.slice(Z,Y.index);if(Q.trim())$.push({type:$.length===0?"shell":"content",content:Q})}let J=Y[1],G=Y[2];$.push({type:"suspense",name:J,content:G}),Z=Y.index+Y[0].length}if(Z<X.length){let J=X.slice(Z);if(J.trim())$.push({type:$.length===0?"shell":"content",content:J})}if($.length===0)$.push({type:"shell",content:X});return $}async function T_(X,$={},Z={}){let Y={...X5,...Z,streaming:{...u3,...Z.streaming}},J=Y.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file(X).text(),q=Q.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),K=q?q[1]:"",U=Q.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),W={...$,__filename:X,__dirname:g8.dirname(X)};if(K.trim())await i1(K,W,X);let w=R_(U),z=new Set;if(!w.some((j)=>j.type==="suspense")){let j=Y.streaming?.strategy||"auto",_=new RegExp(J5.source,"g");if(!(j!=="manual"&&_.test(U))){let O=await R0(U,W,X,Y,z);for(let L=0;L<O.length;L+=J)G.enqueue(O.slice(L,L+J)),await new Promise((F)=>setTimeout(F,0))}else{let O=[],L=new RegExp(J5.source,"g"),F;while((F=L.exec(U))!==null)O.push({name:F[1],content:F[2],start:F.index,end:F.index+F[0].length});let V=0;for(let A of O){if(A.start>V){let T=U.slice(V,A.start);if(T.trim()){let k=await R0(T,W,X,Y,z);G.enqueue(k),await new Promise((M)=>setTimeout(M,0))}}let R=await R0(A.content,W,X,Y,z);G.enqueue(R),await new Promise((T)=>setTimeout(T,0)),V=A.end}if(V<U.length){let A=U.slice(V);if(A.trim()){let R=await R0(A,W,X,Y,z);G.enqueue(R)}}}}else{let j=new Map;for(let H of w)if(H.type==="shell"||H.type==="content"){let O=await R0(H.content,W,X,Y,z);G.enqueue(O)}else if(H.type==="suspense"&&H.name){let O=`stx-suspense-${H.name}`;G.enqueue(`<div id="${O}" data-suspense="${H.name}" style="display:contents;">
|
|
13291
13399
|
<template data-suspense-fallback>Loading...</template>
|
|
13292
13400
|
</div>`),j.set(H.name,R0(H.content,W,X,Y,z))}G.enqueue(`
|
|
13293
13401
|
<script>
|
|
@@ -13305,13 +13413,13 @@ ${J}`)}function YG(X,$){let Z=X;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*
|
|
|
13305
13413
|
}
|
|
13306
13414
|
};
|
|
13307
13415
|
})();
|
|
13308
|
-
</script>`);let _=Array.from(j.entries()).map(async([H,
|
|
13416
|
+
</script>`);let _=Array.from(j.entries()).map(async([H,O])=>{G.enqueue(await d3(H,O))});await Promise.all(_)}G.close()}catch(Q){G.error(Q)}}})}async function d3(X,$){try{let Y=(await $).replace(/`/g,"\\`").replace(/<\/script>/gi,"<\\/script>");return`
|
|
13309
13417
|
<script>
|
|
13310
13418
|
window.__stxSuspense.resolve('${X}', \`${Y}\`);
|
|
13311
13419
|
</script>`}catch(Z){let Y=Z instanceof Error?Z.message:String(Z);return`
|
|
13312
13420
|
<script>
|
|
13313
|
-
window.__stxSuspense.resolve('${X}', '<div class="stx-error">Error loading content: ${
|
|
13314
|
-
</script>`}}function
|
|
13421
|
+
window.__stxSuspense.resolve('${X}', '<div class="stx-error">Error loading content: ${t0(Y)}</div>');
|
|
13422
|
+
</script>`}}function N_(X,$,Z){if(!$||$<=0)return X;let Y,J=new Promise((G,Q)=>{Y=setTimeout(()=>Q(Error(`streaming boundary "${Z}" timed out after ${$}ms`)),$)});return Promise.race([X,J]).finally(()=>clearTimeout(Y))}function M_(X,$=[],Z={}){let Y=Z.timeoutMs??0;return new ReadableStream({async start(J){try{if(J.enqueue(X),$.length>0)J.enqueue(SG),await Promise.all($.map(async(G)=>{let Q=N_(G.render(),Y,G.id);J.enqueue(await d3(G.id,Q))}));J.close()}catch(G){J.error(G)}}})}function I_(X,$){return X.replace(k_,(Z,Y,J)=>{let G=Y.trim(),Q=J.split(/@fallback/i),q=Q[0].trim(),K=Q.length>1?Q.slice(1).join("@fallback").trim():"";if(!$.__streamTemplates)$.__streamTemplates={};return $.__streamTemplates[G]=q,`<div data-suspense="${G}">${K}</div>`})}function E_(X){let $=X?.streamBoundaries;if(!$||typeof $!=="object")return;let Z=Object.entries($).filter(([,Y])=>typeof Y==="function");return Z.length>0?Z.map(([Y,J])=>({id:Y,render:J})):void 0}async function D_(X,$={},Z={}){let Y={...X5,...Z,streaming:{...u3,...Z.streaming}},J=Y.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file(X).text(),q=Q.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),K=q?q[1]:"",U=Q.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),W={...$,__filename:X,__dirname:g8.dirname(X)};if(K.trim())await i1(K,W,X);let w=new Set,z=Y.streaming?.strategy||"auto",B=new RegExp(J5.source,"g");if(!(z!=="manual"&&B.test(U))){let _=await R0(U,W,X,Y,w);for(let H=0;H<_.length;H+=J)G.enqueue(_.slice(H,H+J))}else{let _=[],H=new RegExp(J5.source,"g"),O;while((O=H.exec(U))!==null)_.push({name:O[1],content:O[2],start:O.index,end:O.index+O[0].length});let L=0;for(let F of _){if(F.start>L){let A=U.slice(L,F.start);if(A.trim()){let R=await R0(A,W,X,Y,w);G.enqueue(R)}}let V=await R0(F.content,W,X,Y,w);G.enqueue(V),L=F.end}if(L<U.length){let F=U.slice(L);if(F.trim()){let V=await R0(F,W,X,Y,w);G.enqueue(V)}}}G.close()}catch(Q){G.error(Q)}}})}async function y_(X,$={}){let Z={...X5,...$,streaming:{...u3,...$.streaming}},Y=await Bun.file(X).text(),J=Y.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),G=J?J[1]:"",Q=Y.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),q=Q,K={},U;J5.lastIndex=0;while((U=J5.exec(Q))!==null){let z=U[1],B=U[2];K[z]=B}let W=Q.replace(J5,"");return{renderShell:async(z={})=>{let B={...z,__filename:X,__dirname:g8.dirname(X)};return await i1(G,B,X),R0(W,B,X,Z,new Set)},renderSection:async(z,B={})=>{try{if(!K[z])return`<div class="error-message">Section "${t0(z)}" not found in template "${t0(X)}"</div>`;let j={...B,__filename:X,__dirname:g8.dirname(X)};await i1(G,j,X);let _=new Set;return await R0(K[z],j,X,Z,_)}catch(j){let _=j instanceof Error?j.message:String(j);return w0("Expression",_,X,K[z]||"",0,K[z]||"")}},getSections:()=>{return Object.keys(K)},getTemplate:()=>{return q}}}function b_(X={}){let $=[];if(X.streaming?.enabled)$.push(CG);if(X.hydration?.enabled)$.push(PG);return $}async function S_(X,$,Z,Y={}){return X}function C_(X,$={}){let Z=new TextEncoder,Y=X.pipeThrough(new TransformStream({transform(G,Q){Q.enqueue(Z.encode(G))}})),J=new Headers($.headers);if(!J.has("Content-Type"))J.set("Content-Type","text/html; charset=utf-8");if(!J.has("Transfer-Encoding"))J.set("Transfer-Encoding","chunked");if(!J.has("X-Content-Type-Options"))J.set("X-Content-Type-Options","nosniff");if(!J.has("X-Accel-Buffering"))J.set("X-Accel-Buffering","no");return new Response(Y,{...$,headers:J})}function P_(X={mode:"full"}){let{mode:$,components:Z={},dynamicImports:Y=!0}=X,J=Object.entries(Z).map(([G,Q])=>`'${G}': ${Y?`() => import('${Q}')`:`require('${Q}')`}`).join(`,
|
|
13315
13423
|
`);if($==="loader")return`
|
|
13316
13424
|
(function() {
|
|
13317
13425
|
window.__stx = window.__stx || {};
|
|
@@ -13453,7 +13561,7 @@ else {
|
|
|
13453
13561
|
else {
|
|
13454
13562
|
stx.hydrate();
|
|
13455
13563
|
}
|
|
13456
|
-
})();`}var
|
|
13564
|
+
})();`}var u3,J5,bG,SG=`
|
|
13457
13565
|
<script>
|
|
13458
13566
|
(function(){
|
|
13459
13567
|
window.__stxSuspense = window.__stxSuspense || {
|
|
@@ -13473,25 +13581,25 @@ else {
|
|
|
13473
13581
|
}
|
|
13474
13582
|
};
|
|
13475
13583
|
})();
|
|
13476
|
-
</script>`,
|
|
13584
|
+
</script>`,k_,CG,PG;var l3=E(()=>{V1();Z1();aX();A0();u3={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},J5=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,bG=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;k_=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;CG={name:"suspense",hasEndTag:!0,handler:(X,$,Z,Y)=>{if(!$||$.length===0)throw Error("Suspense directive requires a name parameter");let J=$[0].replace(/['"`]/g,"");return`<!-- @suspense:${J} -->${X}<!-- @endsuspense:${J} -->`}},PG={name:"island",hasEndTag:!0,handler:(X,$,Z,Y)=>{if(!$||$.length===0)throw Error("Island directive requires a name parameter");let J=$[0].replace(/['"`]/g,""),G=$[1]?$[1].replace(/['"`]/g,""):"lazy",Q=`island-${J}-${Math.random().toString(36).substring(2,9)}`,q=X.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),K=q?q[1].trim():"",U=q?X.replace(q[0],""):X;return`<div data-island="${J}" data-island-id="${Q}" data-priority="${G}">
|
|
13477
13585
|
${U}
|
|
13478
13586
|
<script type="application/json" data-island-props="${Q}">
|
|
13479
13587
|
${K?`{${K}}`:"{}"}
|
|
13480
13588
|
</script>
|
|
13481
|
-
</div>`}}});var
|
|
13482
|
-
`).length;Z.set(K,{count:1,firstLine:w})}}}let Q=[];for(let q of new Set([...Z.keys(),...Y.keys()])){if(
|
|
13483
|
-
`}if(F){let
|
|
13484
|
-
${
|
|
13589
|
+
</div>`}}});var fG={};o(fG,{warnUnbalancedTags:()=>c3,findUnbalancedTags:()=>xG});function v5(X){return X.replace(/[^\n]/g," ")}function xG(X){let $=X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,v5).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,v5).replace(/<!--[\s\S]*?-->/g,v5).replace(/\{\{\{[\s\S]*?\}\}\}/g,v5).replace(/\{\{[\s\S]*?\}\}/g,v5).replace(/\{!![\s\S]*?!!\}/g,v5),Z=new Map,Y=new Map,J=/<(\/?)([A-Za-z][\w-]*)\b(?:[^>"']|"[^"]*"|'[^']*')*?(\/?)>/g,G;while((G=J.exec($))!==null){let q=G[1]==="/",K=G[2],U=G[3]==="/";if(v_.has(K.toLowerCase()))continue;if(U)continue;if(q)Y.set(K,(Y.get(K)??0)+1);else{let W=Z.get(K);if(W)W.count++;else{let w=$.slice(0,G.index).split(`
|
|
13590
|
+
`).length;Z.set(K,{count:1,firstLine:w})}}}let Q=[];for(let q of new Set([...Z.keys(),...Y.keys()])){if(x_.has(q.toLowerCase()))continue;let K=Z.get(q)?.count??0,U=Y.get(q)??0;if(K!==U)Q.push({tag:q,opened:K,closed:U,firstOpenLine:Z.get(q)?.firstLine??0})}return Q}function c3(X,$){let Z;try{Z=xG(X)}catch{return}if(Z.length===0)return;let Y=`${$}:${X.length}`;if(vG.has(Y))return;vG.add(Y);let J=$?$.split(/[/\\]/).pop()||$:"template";for(let{tag:G,opened:Q,closed:q,firstOpenLine:K}of Z)if(Q>q){let U=K?` (first opened at line ${K})`:"";console.warn(`[stx] ${J}: <${G}> ${Q} opened, ${q} closed \u2014 an unclosed <${G}>${U} may swallow the content that follows it.`)}else console.warn(`[stx] ${J}: <${G}> ${Q} opened, ${q} closed \u2014 ${q-Q} stray </${G}>.`)}var v_,x_,vG;var p3=E(()=>{v_=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),x_=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);vG=new Set});import r0 from"path";import i3 from"fs";function gG(X){return X.split("-").map(($)=>$.charAt(0).toUpperCase()+$.slice(1)).join("")}function hG(X){return X.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class uG{builtins=new Map;registerBuiltin(X){this.builtins.set(X.name.toLowerCase(),X);for(let $ of X.aliases)this.builtins.set($.toLowerCase(),X)}isBuiltin(X){return this.builtins.has(X.toLowerCase())}getBuiltin(X){return this.builtins.get(X.toLowerCase())??null}async resolveFile(X,$,Z,Y){let J=X.endsWith(".stx")?X.slice(0,-4):X,G=Y?.__importedComponents;if(G){let B=[J,J.toLowerCase(),gG(J),hG(J)];for(let j of B)if(G.has(j))return G.get(j)}let Q=[...new Set([`${J}.stx`,`${gG(J)}.stx`,`${hG(J)}.stx`])];if(J.startsWith("./")||J.startsWith("../")){let B=r0.resolve(r0.dirname($),`${J}.stx`);if(await i(B))return B;return null}let q=[],K=Z.componentsDir||"",U=Y?.__originalFilePath;if(U)q.push(r0.join(r0.dirname(U),"components"));if(K)q.push(K);let W=r0.join(r0.dirname($),"components");if(!q.includes(W))q.push(W);let w=process.cwd(),z=[r0.resolve(w,"src/components"),r0.resolve(w,"components"),r0.resolve(import.meta.dir,"components")];for(let B of z)if(!q.includes(B))q.push(B);for(let B of q){if(!B)continue;for(let j of Q){let _=r0.join(B,j);if(await i(_))return _}try{if(!i3.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let _=i3.readdirSync(B,{withFileTypes:!0});for(let H of _)if(H.isDirectory()){let O=r0.join(B,H.name);for(let L of Q){let F=r0.join(O,L);if(await i(F))return F}}}catch{}}return null}}var g0;var n3=E(()=>{A0();g0=new uG});function k0(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function dG(X){return X.indexOf("\x00")===-1?X:X.replace(/\0/g,"")}var G5="\x00stx-boolean-attribute";function x5(X,$){let Z=[];for(let[Y,J]of Object.entries(X.static)){if($.has(Y))continue;let G=X.staticNames?.[Y]??Y;if(typeof J==="boolean"){if(J)Z.push(k0(G));continue}if(J===G5){Z.push(k0(G));continue}Z.push(`${k0(G)}="${k0(dG(String(J)))}"`)}return Z}var h8=()=>{};function d7(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function f_(X){if(X.clientReactive.to)return{value:X.clientReactive.to,reactive:!0};if(X.serverDynamic.to!==void 0)return{value:String(X.serverDynamic.to),reactive:!1};if(typeof X.static.to==="string")return{value:X.static.to,reactive:!1};return{value:"#",reactive:!1}}var r3;var o3=E(()=>{h8();r3={name:"StxLink",aliases:["stx-link"],render(X,$,Z){let Y=f_(X),J=(typeof X.static.class==="string"?X.static.class:"")||(typeof X.static.className==="string"?X.static.className:""),G=typeof X.static.activeClass==="string"?X.static.activeClass:"active",Q=typeof X.static.exactActiveClass==="string"?X.static.exactActiveClass:"exact-active",q=X.static.prefetch===!0||X.static.prefetch==="true"||X.serverDynamic.prefetch===!0,K=[];if(Y.reactive)K.push(`:href="${d7(Y.value)}"`);else K.push(`href="${d7(Y.value)}"`);if(J)K.push(`class="${d7(J)}"`);if(K.push("data-stx-link"),K.push(`data-stx-active-class="${d7(G)}"`),K.push(`data-stx-exact-active-class="${d7(Q)}"`),q)K.push("data-stx-prefetch");let U=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return K.push(...x5(X,U)),`<a ${K.join(" ")}>${$}</a>`}}});function I0(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function C0(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}function a3(X,$,Z=!1){let Y=X.serverDynamic[$];if(Y!==void 0)return Y!==!1&&Y!=="false";let J=X.static[$];if(J!==void 0)return J!=="false"&&J!==!1;return Z}function mG(X){if(X.includes("(")||X.includes(","))return X;let $=X.trim().split(/\s+/),Z=[];for(let Y of $)if(Y.includes(":")){let[J,G]=Y.split(":"),Q=g_[J];if(Q)Z.push(`(max-width: ${Q}px) ${G}`);else{let q=Number.parseInt(J);if(!Number.isNaN(q))Z.push(`(max-width: ${q}px) ${G}`)}}else Z.push(Y);return Z.join(", ")}function t3(X,$,Z,Y){return $.map((J)=>`${m7(X,J,void 0,Z,Y)} ${J}w`).join(", ")}function h_(X,$,Z,Y,J){return $.map((G)=>{let Q=Z?Z*G:void 0;return`${m7(X,Q,void 0,Y,J)} ${G}x`}).join(", ")}function m7(X,$,Z,Y,J){if(!Y||Y==="local"||Y==="static")return X;if(Y==="cloudinary"){let G=[];if($)G.push(`w_${$}`);if(Z)G.push(`h_${Z}`);if(J)G.push(`f_${J}`);G.push("q_auto");let Q=G.join(",");return X.replace("/upload/",`/upload/${Q}/`)}if(Y==="imgix"){let G=new URLSearchParams;if($)G.set("w",String($));if(Z)G.set("h",String(Z));if(J)G.set("fm",J);G.set("auto","format");let Q=X.includes("?")?"&":"?";return`${X}${Q}${G.toString()}`}if(Y==="bunny"){let G=new URLSearchParams;if($)G.set("width",String($));if(Z)G.set("height",String(Z));if(J)G.set("format",J);let Q=X.includes("?")?"&":"?";return`${X}${Q}${G.toString()}`}return X}function u_(X,$,Z="#e5e7eb"){let Y=`<svg xmlns="http://www.w3.org/2000/svg" width="${X}" height="${$}"><rect width="100%" height="100%" fill="${Z}"/></svg>`;return`data:image/svg+xml;base64,${btoa(Y)}`}var g_,s3,e3;var X4=E(()=>{h8();g_={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},s3=[320,640,768,1024,1280,1536,1920];e3={name:"StxImage",aliases:["stx-image","stx-img"],render(X,$,Z){let Y=C0(X,"src")||"",J=C0(X,"alt")||"",G=C0(X,"width"),Q=C0(X,"height"),q=C0(X,"sizes"),K=C0(X,"srcset"),U=C0(X,"densities"),W=C0(X,"format"),w=C0(X,"placeholder"),z=C0(X,"placeholderColor")||"#e5e7eb",B=C0(X,"provider"),j=C0(X,"class")||C0(X,"className")||"",_=C0(X,"style")||"",H=C0(X,"quality"),O=a3(X,"lazy",!0),L=a3(X,"preload",!1),F=a3(X,"picture",!1)||!!W,V=G?Number.parseInt(G):void 0,A=Q?Number.parseInt(Q):void 0,R=K||"",T="";if(!R&&q)R=t3(Y,s3,B,W),T=mG(q);else if(!R&&U){let b=U.split(/\s+/).map((y)=>Number.parseFloat(y.replace("x","")));R=h_(Y,b,V,B,W)}else if(q)T=mG(q);let k=[];if(_)k.push(_);if(V&&A)k.push(`aspect-ratio:${V}/${A}`);if(w==="blur"||w==="color"||w==="thumbhash"){let b=u_(V||16,A||9,z);k.push(`background-image:url(${b})`),k.push("background-size:cover"),k.push("background-repeat:no-repeat")}else if(w&&w!=="empty"&&w!=="none")k.push(`background-image:url(${I0(w)})`),k.push("background-size:cover"),k.push("background-repeat:no-repeat");let M=m7(Y,V,A,B,W),N=[];if(N.push(`src="${I0(M)}"`),N.push(`alt="${I0(J)}"`),G)N.push(`width="${I0(G)}"`);if(Q)N.push(`height="${I0(Q)}"`);if(O)N.push('loading="lazy"');if(N.push('decoding="async"'),j)N.push(`class="${I0(j)}"`);if(k.length>0)N.push(`style="${I0(k.join(";"))}"`);if(R)N.push(`srcset="${I0(R)}"`);if(T)N.push(`sizes="${I0(T)}"`);let D=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);N.push(...x5(X,D));let I=`<img ${N.join(" ")} />`,C="";if(L){let y=W==="webp"?"image/webp":W==="avif"?"image/avif":"";C=`<link rel="preload" as="image" href="${I0(M)}"${y?` type="${y}"`:""}${R?` imagesrcset="${I0(R)}"`:""}${T?` imagesizes="${I0(T)}"`:""} />
|
|
13591
|
+
`}if(F){let b=[];if(W==="avif"||W==="auto"){let y=m7(Y,V,A,B,"avif"),v=R?t3(Y,s3,B,"avif"):`${y}`;b.push(`<source type="image/avif" srcset="${I0(v)}"${T?` sizes="${I0(T)}"`:""} />`)}if(W==="webp"||W==="auto"){let y=m7(Y,V,A,B,"webp"),v=R?t3(Y,s3,B,"webp"):`${y}`;b.push(`<source type="image/webp" srcset="${I0(v)}"${T?` sizes="${I0(T)}"`:""} />`)}return`${C}<picture>
|
|
13592
|
+
${b.join(`
|
|
13485
13593
|
`)}
|
|
13486
13594
|
${I}
|
|
13487
|
-
</picture>`}return`${C}${I}`}}});function
|
|
13595
|
+
</picture>`}return`${C}${I}`}}});function l7(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function f5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var lG="/images/safe-image-default.svg",d_,$4;var Z4=E(()=>{h8();d_=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${lG}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,$4={name:"SafeImage",aliases:["safe-image","safe-img"],render(X,$,Z){let Y=f5(X,"src")||"",J=f5(X,"alt")||"",G=f5(X,"fallback")||lG,Q=f5(X,"class")||f5(X,"className")||"",q=f5(X,"fallbackClassName")||"",K=[];if(K.push(`src="${l7(Y)}"`),K.push(`alt="${l7(J)}"`),Q)K.push(`class="${l7(Q)}"`);if(K.push(`data-fallback="${l7(G)}"`),q)K.push(`data-fallback-class="${l7(q)}"`);K.push('onerror="window.__stxSafeImageHandler(this)"');let U=new Set(["src","alt","fallback","class","className","fallbackClassName"]);K.push(...x5(X,U));let W=`<img ${K.join(" ")} />`,w=Z.context;if(!w.__safeImageHandlerEmitted)return w.__safeImageHandlerEmitted=!0,`${d_}${W}`;return W}}});function Y4(X){return X.replace(/[;{}()]/g,"").replace(/url/gi,"")}function c7(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}function u8(X,$,Z){let Y=c7(X,$);if(Y!==void 0){let J=Number.parseInt(Y,10);if(!Number.isNaN(J))return J}return Z}var J4;var G4=E(()=>{J4={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render(X,$,Z){let Y=Y4(c7(X,"color")||"#6366f1"),J=Y4(c7(X,"initialColor")||c7(X,"initial-color")||""),G=Y4(c7(X,"height")||"3px"),Q=u8(X,"duration",2000),q=u8(X,"throttle",200),K=u8(X,"zIndex",999999)||u8(X,"z-index",999999),U=J?`linear-gradient(to right, ${J}, ${Y})`:Y;return`
|
|
13488
13596
|
<div id="stx-loading-indicator" style="position:fixed;top:0;left:0;right:0;height:${G};background:${U};z-index:${K};transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease-out,opacity 0.3s ease;opacity:0;pointer-events:none">
|
|
13489
13597
|
<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>
|
|
13490
13598
|
</div>
|
|
13491
13599
|
<style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
|
|
13492
13600
|
<script>
|
|
13493
13601
|
(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)},${q})},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()})})();
|
|
13494
|
-
</script>`}}});function
|
|
13602
|
+
</script>`}}});function pG(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}function m_(X,$,Z){let Y=pG(X,$);if(Y!==void 0){let J=Number.parseInt(Y,10);if(!Number.isNaN(J))return J}return Z}var cG,Q4;var q4=E(()=>{cG={"top-right":"top:1rem;right:1rem","top-left":"top:1rem;left:1rem","top-center":"top:1rem;left:50%;transform:translateX(-50%)","bottom-right":"bottom:1rem;right:1rem","bottom-left":"bottom:1rem;left:1rem","bottom-center":"bottom:1rem;left:50%;transform:translateX(-50%)"},Q4={name:"StxToast",aliases:["stx-toast"],render(X,$,Z){let Y=k0(pG(X,"position")||"top-right"),J=m_(X,"max",5),G=cG[Y]||cG["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${Y}" data-stx-toast-max="${J}" style="position:fixed;${G};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
|
|
13495
13603
|
<style>
|
|
13496
13604
|
@keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
|
|
13497
13605
|
@keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
|
|
@@ -13499,7 +13607,7 @@ ${I}
|
|
|
13499
13607
|
@keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
|
|
13500
13608
|
@keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
|
|
13501
13609
|
@keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
|
|
13502
|
-
</style>`}}});function
|
|
13610
|
+
</style>`}}});function d8(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var iG,K4;var U4=E(()=>{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)"},K4={name:"StxModal",aliases:["stx-modal"],render(X,$,Z){let Y=d8(X,"id");if(!Y)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let J=k0(Y),G=d8(X,"size")||"md",Q=d8(X,"closeOnBackdrop")!=="false",q=d8(X,"closeOnEscape")!=="false",K=iG[G]||iG.md;return`<div id="stx-modal-${J}" class="stx-modal-backdrop" data-stx-modal="${J}" data-close-backdrop="${Q}" data-close-escape="${q}" 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">
|
|
13503
13611
|
<div class="stx-modal-panel" style="${K};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)">
|
|
13504
13612
|
<div style="padding:1.5rem">${$}</div>
|
|
13505
13613
|
</div>
|
|
@@ -13508,7 +13616,7 @@ ${I}
|
|
|
13508
13616
|
@media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
|
|
13509
13617
|
.stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
|
|
13510
13618
|
.stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
|
|
13511
|
-
</style>`}}});function g5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var
|
|
13619
|
+
</style>`}}});function g5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var nG,W4;var w4=E(()=>{nG={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},W4={name:"StxDrawer",aliases:["stx-drawer"],render(X,$,Z){let Y=g5(X,"id");if(!Y)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let J=k0(Y),G=g5(X,"side")||"right",Q=g5(X,"size")||"md",q=g5(X,"closeOnBackdrop")!=="false",K=g5(X,"closeOnEscape")!=="false",U=g5(X,"overlay")!=="false",W=nG[Q]||nG.md,w=G==="left",z=w?"left:0":"right:0",B=w?"translateX(-100%)":"translateX(100%)",j=w?"stx-drawer-slide-left":"stx-drawer-slide-right";return`<div id="stx-drawer-${J}" class="stx-drawer-backdrop" data-stx-drawer="${J}" data-close-backdrop="${q}" data-close-escape="${K}" style="display:none;position:fixed;inset:0;z-index:99999;${U?"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">
|
|
13512
13620
|
<div class="stx-drawer-panel" style="position:fixed;top:0;bottom:0;${z};width:${W};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">
|
|
13513
13621
|
<div style="padding:1.5rem">${$}</div>
|
|
13514
13622
|
</div>
|
|
@@ -13517,18 +13625,18 @@ ${I}
|
|
|
13517
13625
|
@media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
|
|
13518
13626
|
.stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
|
|
13519
13627
|
.stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
|
|
13520
|
-
</style>`}}});import{existsSync as
|
|
13521
|
-
`||T==="\t")L++;O=R+_.length}else{if(L--,L===0){F=N;break}O=N+H.length}}if(F===-1){J=z;continue}let V=X.slice(z,F),A=F+H.length;Y.push({fullMatch:X.slice(G,A),tagName:K,attributes:j,content:V,startIndex:G,endIndex:A,isSelfClosing:!1}),J=A}}return Y}function oG(X){return X.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/'/gi,"'").replace(/&/g,"&")}function sG(X,$){try{let Z=Buffer.from(X,"base64").toString("utf8");return JSON.parse(Z)}catch{}try{let Z=X.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");return JSON.parse(Z)}catch(Z){if($?.debug)console.error("Error decoding __stx_ prop:",Z);return X}}var aG=E(()=>{O0();A0();l1()});var JQ={};n(JQ,{processESImports:()=>ZQ,processComponents:()=>p8});import c8 from"fs";import u0 from"path";function m_(X,$,Z){let Y={static:{},staticNames:{},serverDynamic:{},clientReactive:{},events:{}},J=new Set(X6),G=(q)=>{if(!q.includes("-")||q.startsWith("@")||q.startsWith(":")||q.startsWith("x-")||q.startsWith("__"))return q;if(q.startsWith("aria-")||q.startsWith("data-"))return q;return q.replace(/-([a-z0-9])/g,(K,U)=>U.toUpperCase())},Q=(q,K)=>{let U=G(q);if(Y.static[U]=K,U!==q)Y.staticNames[U]=q};for(let[q,K]of Object.entries(X)){let U=q.startsWith("x-")&&!J.has(q)&&!q.startsWith("x-bind:")&&!q.startsWith("x-on:")?`:${q.slice(2)}`:q;if(U.startsWith("@")){Y.events[U]=K;continue}if(U.startsWith("__stx_")){let W=G(U.slice(6));Y.serverDynamic[W]=sG(K,Z);continue}if(U.startsWith(":")){let W=G(U.slice(1)),w=K===G5?W:K;if(W==="if"||W==="for"||W==="show"){Y.clientReactive[W]=w;continue}try{if(!G0(w)){if(Z.debug)console.error(`Unsafe expression in :${W} binding: ${w}`);Y.clientReactive[W]=w;continue}let z=Object.keys($),j=Q0(w,z)(...Object.values($));if(j===void 0){let _=w.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],H=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(_.some((O)=>!H.has(O)&&!z.includes(O))){Y.clientReactive[W]=w;continue}}Y.serverDynamic[W]=j}catch{Y.clientReactive[W]=w}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let W=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(W)try{let w=W[1];if(G0(w)){let B=Q0(w,Object.keys($))(...Object.values($));Q(U,B!=null?String(B):"")}else{if(Z.debug)console.error(`Unsafe expression in ${U}: ${w}`);Q(U,K)}}catch(w){if(Z.debug)console.error(`Error evaluating expression for ${U}:`,w);Q(U,K)}else{let w=K,z=/\{\{\s*([\s\S]+?)\s*\}\}/g,B;while((B=z.exec(K))!==null)try{let j=B[1];if(!G0(j)){if(Z.debug)console.error(`Unsafe expression in ${U}: ${j}`);continue}let H=Q0(j,Object.keys($))(...Object.values($));w=w.replace(B[0],String(H??""))}catch(j){if(Z.debug)console.error(`Error evaluating expression in ${U}:`,j)}Q(U,w)}continue}Q(U,K===G5?"true":oG(K))}return Y}function l_(X){let $={},Z=0,Y=X.length;while(Z<Y){while(Z<Y&&/\s/.test(X[Z]))Z++;if(Z>=Y)break;let J="";while(Z<Y&&!/[\s=]/.test(X[Z]))J+=X[Z],Z++;if(!J)break;while(Z<Y&&/\s/.test(X[Z]))Z++;if(Z<Y&&X[Z]==="="){Z++;while(Z<Y&&/\s/.test(X[Z]))Z++;let G="";if(Z<Y&&(X[Z]==='"'||X[Z]==="'")){let Q=X[Z];Z++;while(Z<Y){let q=X[Z];if(q==="\\"&&Z+1<Y){Z++,G+=X[Z],Z++;continue}if(q===Q){Z++;break}G+=q,Z++}}else while(Z<Y&&!/\s/.test(X[Z]))G+=X[Z],Z++;$[J]=G}else $[J]=G5}return $}function eG(X){return Object.entries(X).map(([$,Z])=>Z===G5?$:`${$}="${c_(Z)}"`).join(" ")}function c_(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function p_(X){let $=new Set,Z=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1];if(v0.isBuiltin(J))$.add(J)}return[...$].sort()}function i_(X){let $=XQ.get(X);if($)return $;let Z=new Map,Y=[u0.join(X,"src"),u0.join(X,"dist"),X];function J(G,Q){if(Q>6)return;let q;try{q=c8.readdirSync(G,{withFileTypes:!0})}catch{return}for(let K of q){let U=u0.join(G,K.name);if(K.isDirectory()){if(K.name==="node_modules"||K.name.startsWith("."))continue;J(U,Q+1)}else if(K.isFile()&&K.name.endsWith(".stx")){let W=K.name.slice(0,-4);if(!Z.has(W))Z.set(W,U);let w=W.toLowerCase();if(!Z.has(w))Z.set(w,U);let z=W.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Z.has(z))Z.set(z,U)}}}for(let G of Y)if(J(G,0),Z.size>0)break;return XQ.set(X,Z),Z}function n_(X,$){if(X.startsWith(".")||X.startsWith("/"))return null;let Z=$;while(!0){let Y=u0.join(Z,"node_modules",X);try{if(c8.statSync(Y).isDirectory())return Y}catch{}let J=u0.dirname(Z);if(J===Z)return null;Z=J}}async function ZQ(X,$,Z,Y,J){if(!X.includes("import"))return X;if(!$.__importedComponents)$.__importedComponents=new Map;let G=$.__importedComponents,Q=u0.dirname(Z),q=X,K=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return q=q.replace(K,(U,W,w)=>{let z=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,B=w,j,_=[];while((j=z.exec(w))!==null){let[H,L,O,F]=j,V=null,A=null;if(F.startsWith(".")||F.startsWith("/")){let T=u0.resolve(Q,F);if(T.endsWith(".stx"))A=T;else{let k=`${T}.stx`;try{if(c8.statSync(k).isFile())A=k}catch{try{if(c8.statSync(T).isDirectory())V=T}catch{}}}}else V=n_(F,Q);if(!V&&!A)continue;let R=!1,N=(T,k)=>{G.set(T,k),G.set(T.toLowerCase(),k);let M=T.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();G.set(M,k),J.add(k)};if(O&&A)N(O,A),R=!0;else if(L){let T=L.slice(1,-1).split(",").map((M)=>M.trim()).filter(Boolean).map((M)=>{let y=M.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(y)return{source:y[1],local:y[2]};return{source:M,local:M}}),k=V?i_(V):null;for(let{source:M,local:y}of T){let I=null;if(A)I=A;else if(k)I=k.get(M)??k.get(M.toLowerCase())??k.get(M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(I)N(y,I),R=!0}}if(R)_.push({start:j.index,end:j.index+H.length})}if(_.length===0)return U;for(let H=_.length-1;H>=0;H--)B=B.slice(0,_[H].start)+B.slice(_[H].end);return`<script${W}>${B}</script>`}),q}async function r_(X,$,Z,Y,J){let G=X;if(!$.__importedComponents)$.__importedComponents=new Map;let Q=$.__importedComponents,q=/@import\s*\(\s*([^)]+)\s*\)/g,K;while((K=q.exec(G))!==null){let[U,W]=K,w=W.split(",").map((z)=>z.trim().replace(/^['"]|['"]$/g,"")).filter((z)=>z.length>0);for(let z of w){let B=z.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=[u0.resolve(u0.dirname(Z),`${z}.stx`),u0.resolve(u0.dirname(Z),z),u0.resolve(Y.componentsDir||"components",`${z}.stx`),u0.resolve(Y.componentsDir||"components",z),z.endsWith(".stx")?z:`${z}.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),J.add(L),Y.debug)console.log(`Imported component: ${H} -> ${L}`)}else if(Y.debug)console.warn(`Could not resolve imported component: ${z}`)}G=G.replace(U,""),q.lastIndex=0}return G}async function o_(X,$,Z,Y,J){let G=X,Q=Y.componentsDir||"components";if(!$.__processedComponents)$.__processedComponents=new Set;let q=$.__processedComponents,K=/@component\s*\(/g,U;while((U=K.exec(G))!==null){let W=U.index,w=W+U[0].length-1,z=1,B=w+1;while(B<G.length&&z>0){if(G[B]==="(")z++;else if(G[B]===")"){if(z--,z===0)break}B++}if(z!==0)break;let j=G.substring(w+1,B),_=B+1,H=j.match(/^\s*['"]([^'"]+)['"]/);if(!H){K.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=H0(O,$)}catch(y){let I=y instanceof Error?y.message:String(y);G=G.replace(G.substring(W,_),`[Error parsing component props: ${I}]`);continue}let R="",N=_,k=G.substring(_).match(/^([\s\S]*?)@endcomponent/);if(k)R=k[1].trim(),N=_+k[0].length;let M=await s1(L,A,R,Q,$,Z,Y,q,J);G=G.substring(0,W)+M+G.substring(N),K.lastIndex=0}return G}async function s_(X,$,Z,Y,J){if(!X)return X;let G=X,Q=Y.componentsDir||"components";if(!$.__processedComponents)$.__processedComponents=new Set;let q=$.__processedComponents,K=R1(G);return G=K.output,G=await z(G,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),G=await z(G,/[A-Z][a-zA-Z0-9]*/,!0),G=await z(G,/[a-z][a-z0-9]*/,!1,d_),G=A7(G,K.scripts),G;async function z(B,j,_,H){if(!B)return B;let L=B,O=rG(L,j,H);for(let F=O.length-1;F>=0;F--){let V=O[F],A=_?l8(V.tagName):V.tagName,R=l_(V.attributes),N=m_(R,$,Y),T=v0.getBuiltin(V.tagName),k=T?await oX(A,Q,$,Z,Y):!1;if(T&&!k){let C={context:$,filePath:Z,options:Y,dependencies:J},S=T.render(N,V.content,C);if(Object.keys(N.clientReactive).length>0)S=$Q(S,N.clientReactive);if(Object.keys(N.events).length>0){let b=eG(N.events);S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}L=L.substring(0,V.startIndex)+S+L.substring(V.endIndex);continue}if(!_&&V.tagName.includes("-")&&!await oX(A,Q,$,Z,Y))continue;let M={};for(let[C,S]of Object.entries(N.static))M[C]=S;for(let[C,S]of Object.entries(N.serverDynamic))M[C]=S;let I=await s1(A,M,V.content,Q,$,Z,Y,q,J);if(Object.keys(N.clientReactive).length>0)I=$Q(I,N.clientReactive);if(Object.keys(N.events).length>0){let C=YQ(I);if(C){let S=eG(N.events),b=Object.keys(N.events).map((P)=>P.replace(/^@/,"").split(".")[0]).join(" ");I=I.substring(0,C.insertPos)+` data-stx-parent-events="${b}" ${S}`+I.substring(C.insertPos)}}L=L.substring(0,V.startIndex)+I+L.substring(V.endIndex)}return L}}function $Q(X,$){let Z=new Set(["if","for"]),Y=new Set(["show"]),J=Object.entries($).filter(([W])=>!Z.has(W)),G=J.filter(([W])=>!Y.has(W)).map(([W])=>l8(W)).join(" "),Q=X,q=J.length>0?YQ(Q):null;if(q){let W=J.map(([z,B])=>`:${l8(z)}="${B.replace(/"/g,""")}"`).join(" "),w=G?` data-stx-parent-bindings="${G}"`:"";Q=Q.substring(0,q.insertPos)+`${w} ${W}`+Q.substring(q.insertPos)}let K=$.if;if(K)Q=`<template :if="${K.replace(/"/g,""")}">${Q}</template>`;let U=$.for;if(U)Q=`<template :for="${U.replace(/"/g,""")}">${Q}</template>`;return Q}function YQ(X){let $=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec(X);if($)return{insertPos:$.index+1+$[1].length};let Z=0;while(Z<X.length){let Y=X.slice(Z),J=Y.match(/^\s+/);if(J){Z+=J[0].length;continue}if(Y.startsWith("<!--")){let q=X.indexOf("-->",Z+4);if(q===-1)return null;Z=q+3;continue}let G=Y.match(/^<(script|style)\b[^>]*>/i);if(G){let q=`</${G[1].toLowerCase()}>`,K=X.toLowerCase().indexOf(q,Z+G[0].length);if(K===-1)return null;Z=K+q.length;continue}let Q=Y.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!Q)return null;return{insertPos:Z+1+Q[1].length}}return null}async function p8(X,$,Z,Y,J){if(!tG)iG(),tG=!0;let G=await ZQ(X,$,Z,Y,J);G=await r_(G,$,Z,Y,J),G=await o_(G,$,Z,Y,J);let Q=[];for(let q=0;q<3;q++){let K=$1(G,V7,(W,w)=>`\x00STX_COMPONENT_COMMENT_${Q.length+w}\x00`);Q.push(...K.tokens);let U=G;if(G=await s_(K.output,$,Z,Y,J),G===U)break}if(Q.length>0)G=G.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(q,K)=>Q[Number(K)]??"");if(Y.debug){let q=p_(G);if(q.length>0)console.warn(`[stx] ${Z}: unresolved component tag(s) after render passes: ${q.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return G}var tG=!1,d_,XQ;var H4=E(()=>{p3();nG();aG();l1();A0();O0();e0();d_=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"]);XQ=new Map});var wQ={};n(wQ,{processLoops:()=>L4,parseLoopBinding:()=>O4});function e_(X,$){let Z=/@(include|partial)\s*\(\s*(['"])([^'"]+)\2\s*,\s*/g,Y="",J=0,G;while((G=Z.exec(X))!==null){let Q=G.index+G[0].length,q=G.index+G[0].indexOf("("),K=T0(X,"(",")",q);if(K===-1)continue;let U=X.slice(Q,K).trim();if(!U)continue;if(!Object.keys($).some((z)=>new RegExp(`(?:^|[^\\w$.])${z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w$])`).test(U)))continue;let w;try{let z=H0(U,$);if(!z||typeof z!=="object")continue;w=JSON.stringify(z)}catch{continue}Y+=X.slice(J,Q)+w,J=K,Z.lastIndex=K}return J===0?X:Y+X.slice(J)}function XH(X,$){let Z=/@component\s*\(/g,Y=X,J,G=[];while((J=Z.exec(Y))!==null){let Q=J.index,q=Q+J[0].length-1,K=1,U=q+1;while(U<Y.length&&K>0){if(Y[U]==="(")K++;else if(Y[U]===")"){if(K--,K===0)break}U++}if(K!==0)continue;let W=Y.substring(q+1,U),w=U+1,z=W.match(/^\s*['"]([^'"]+)['"]/);if(!z)continue;let B=z[1],j=W.slice(z[0].length),_=j.match(/^\s*,\s*/);if(!_)continue;let H=j.slice(_[0].length).trim();if(!H)continue;try{let L=H0(H,$),O=JSON.stringify(L),F=`@component('${B}', ${O})`;G.push({start:Q,end:w,replacement:F})}catch{continue}}for(let Q=G.length-1;Q>=0;Q--){let{start:q,end:K,replacement:U}=G[Q];Y=Y.substring(0,q)+U+Y.substring(K)}return Y}function i8(X,$,Z){let Y=X,J=new RegExp(`${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),G;while((G=J.exec(Y))!==null){let Q=G.index,q=Q+G[0].length-1,K=1,U=q+1,W=null,w=!1;while(U<Y.length&&K>0){let j=Y[U];if(w){w=!1,U++;continue}if(j==="\\"&&W){w=!0,U++;continue}if(W){if(j===W)W=null;U++;continue}if(j==='"'||j==="'"||j==="`"){W=j,U++;continue}if(j==="(")K++;else if(j===")"){if(K--,K===0)break}U++}if(K!==0)break;let z=Y.substring(q+1,U),B=Z(z);Y=Y.substring(0,Q)+B+Y.substring(U+1)}return Y}function $H(X,$){let Z=X;return Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(Y,J)=>{if(J in $)return`:${J}="${J}"`;return Y}),Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(Y,J,G)=>{try{let Q=Object.keys($),q=Object.values($);FX(G);let U=Q0(G,Q)(...q),W=JSON.stringify(U),w=Buffer.from(W,"utf8").toString("base64");return`__stx_${J}="${w}"`}catch(Q){return Y}}),Z}function ZH(X,$){let Z=X;return Z=i8(Z,"@break",(Y)=>{try{let G=`!!(${Y.trim()})`,Q;if(G0(G)){let q=Q0(G,Object.keys($));Q=Boolean(q(...Object.values($)))}else Q=Boolean($0(G,$));return Q?n8:""}catch{return""}}),Z=i8(Z,"@continue",(Y)=>{try{let G=`!!(${Y.trim()})`,Q;if(G0(G)){let q=Q0(G,Object.keys($));Q=Boolean(q(...Object.values($)))}else Q=Boolean($0(G,$));return Q?r8:""}catch{return""}}),Z}function YH(X){let $=X;return $=$.replace(/@break(?!\()/g,n8),$=$.replace(/@continue(?!\()/g,r8),$}function GQ(X){let $=X.includes(n8),Z=$?X.substring(0,X.indexOf(n8)):X;return{hasBreak:$,content:Z}}function QQ(X){let $=X.includes(r8),Z=$?X.substring(0,X.indexOf(r8)):X;return{hasContinue:$,content:Z}}function KQ(X){let $=X;return $=i8($,"@break",(Z)=>{let Y=Z.trim();if(!VX(Y))return"";return`\`; if (${Y}) { break; } result += \``}),$=i8($,"@continue",(Z)=>{let Y=Z.trim();if(!VX(Y))return"";return`\`; if (${Y}) { continue; } result += \``}),$=$.replace(/@break(?!\()/g,"`; break; result += `"),$=$.replace(/@continue(?!\()/g,"`; continue; result += `"),$}function JH(X){let $=/@forelse\s*\(/g,Z,Y=[],J=/@foreach\s*\(/g,G=/@endforeach/g,Q;while((Q=J.exec(X))!==null)Y.push({pos:Q.index,delta:1});while((Q=G.exec(X))!==null)Y.push({pos:Q.index,delta:-1});Y.sort((W,w)=>W.pos-w.pos);let q=[],K=0;for(let W of Y)K+=W.delta,q.push({pos:W.pos,depth:K});function U(W){let w=0,z=q.length-1,B=0;while(w<=z){let j=w+z>>1;if(q[j].pos<=W)B=q[j].depth,w=j+1;else z=j-1}return B}while((Z=$.exec(X))!==null){if(U(Z.index)>0)continue;let W=Z.index,w=Z.index+Z[0].length-1,z=1,B=w+1,j=-1;while(B<X.length&&z>0){if(X[B]==="(")z++;else if(X[B]===")"){if(z--,z===0){j=B;break}}B++}if(j===-1)continue;let _=X.substring(w+1,j),H=O4(_);if(!H)continue;let{arrayExpr:L,itemVar:O}=H,F=j+1,V=1,A=F,R=/@forelse\s*\(/g,N=/@endforelse/g,T=-1;while(V>0&&A<X.length){R.lastIndex=A,N.lastIndex=A;let S=R.exec(X),b=N.exec(X);if(!b)break;if(S&&S.index<b.index)V++,A=S.index+S[0].length;else{if(V--,V===0){T=b.index;break}A=b.index+11}}if(T===-1)continue;let k=X.substring(F,T),M=T+11,y=-1,I=0,C=0;while(C<k.length){let S=k.indexOf("@",C);if(S===-1)break;let b=k.substring(S);if(/^@forelse\s*\(/.test(b))I++,C=S+1;else if(b.startsWith("@endforelse"))I--,C=S+11;else if(I===0&&b.startsWith("@empty")){if(k.length<=S+6||!/[a-z]/i.test(k[S+6])){y=S;break}C=S+1}else C=S+1}if(y===-1)continue;return{start:W,end:M,arrayExpr:L,itemVar:O,foreachContent:k.substring(0,y),emptyContent:k.substring(y+6)}}return null}function qQ(X,$){let Z=X;while(!0){let Y=JH(Z);if(!Y)break;let{start:J,end:G,arrayExpr:Q,itemVar:q,foreachContent:K,emptyContent:U}=Y;try{let W;if(G0(Q))W=Q0(Q,Object.keys($))(...Object.values($));else W=$0(Q,$);let w;if(!Array.isArray(W)||W.length===0)w=U;else w=`@foreach (${Q} as ${q})${K}@endforeach`;Z=Z.substring(0,J)+w+Z.substring(G)}catch(W){let w=W instanceof Error?W.message:String(W),z=X0("Forelse",`Error in @forelse(${Q} as ${q}): ${w}`,s.EVALUATION_ERROR);Z=Z.substring(0,J)+z+Z.substring(G)}}return Z}function O4(X){let $=X.indexOf(" as ");if($!==-1){let G=X.slice(0,$).trim(),Q=X.slice($+4).trim();return G&&Q?{arrayExpr:G,itemVar:Q}:null}let Z=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec(X);if(!Z)return null;let Y=Z[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),J=Z[2].trim();return Y&&J?{arrayExpr:J,itemVar:Y}:null}function L4(X,$,Z,Y){let J=X;J=qQ(J,$);function G(K){let U=/@foreach\s*\(/g,W;while((W=U.exec(K))!==null){let w=W.index,z=W.index+W[0].length-1,B=1,j=z+1,_=-1;while(j<K.length&&B>0){if(K[j]==="(")B++;else if(K[j]===")"){if(B--,B===0){_=j;break}}j++}if(_===-1)continue;let H=K.substring(z+1,_),L=O4(H);if(!L)continue;let O=w,{arrayExpr:F,itemVar:V}=L,A=_+1,R=1,N=A,T=/@foreach\s*\(/g,k=/@endforeach/g;while(R>0&&N<K.length){T.lastIndex=N,k.lastIndex=N;let M=T.exec(K),y=k.exec(K);if(!y)break;if(M&&M.index<y.index)R++,N=M.index+M[0].length;else{if(R--,R===0){let I=K.substring(A,y.index),C=y.index+11;return{start:O,end:C,arrayExpr:F,itemVar:V,content:I}}N=y.index+11}}}return null}function Q(K,U){let W=K;while(!0){let w=G(W);if(!w)break;let{start:z,end:B,arrayExpr:j,itemVar:_,content:H}=w;try{let L=j.trim(),O;if(G0(L))O=Q0(L,Object.keys(U))(...Object.values(U));else O=$0(L,U);let F=!1;if(!Array.isArray(O))if(O instanceof Map)O=Array.from(O),F=!0;else if(O instanceof Set)O=Array.from(O);else if(typeof O==="string")O=Array.from(O);else if(O&&typeof O==="object"&&!(O instanceof Date)&&!(O instanceof RegExp))O=Object.entries(O),F=!0;else{console.warn(`[stx] @foreach(${L}) in ${Z}: ${L} is not iterable server-side, so the loop rendered nothing. `+"Values a server loop reads must come from <script server> or the page context \u2014 "+"a plain <script> runs in the browser.");let y=X0("Foreach",`Error in @foreach: ${L} is not iterable`,s.TYPE_ERROR);W=W.substring(0,z)+y+W.substring(B);continue}let V=Y?.loops?.useAltLoopVariable??t_,A=_.trim(),R=null,N,T=!1;if(A.includes("=>")){let y=A.split("=>").map((I)=>I.trim());if(y.length===2&&y[0]&&y[1])R=y[0],N=y[1];else N=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let y=A.split(",").map((I)=>I.trim());if(y.length===2&&y[0]&&y[1])N=y[0],R=y[1],T=!0;else N=A}else N=A;let k="",M=O;for(let y=0;y<M.length;y++){let I=M[y],C={index:y,iteration:y+1,first:y===0,last:y===M.length-1,count:M.length},S={...U,loop:C,$loop:C};if(N.startsWith("[")&&N.endsWith("]")){let d=N.slice(1,-1).split(",").map((m)=>m.trim());if(Array.isArray(I))d.forEach((m,Y0)=>{if(m)S[m]=I[Y0]});else S[N]=I}else S[N]=I;if(R)if(!T&&F&&Array.isArray(I)&&I.length===2)S[R]=I[0],S[N]=I[1];else S[R]=y;let b=ZH(H,S),P=QQ(b);if(P.hasContinue){k+=P.content;continue}let x=GQ(b);if(x.hasBreak){k+=x.content;break}if(b=qQ(b,S),b=Q(b,S),b=Z5(b,S,Z),b=YH(b),x=GQ(b),x.hasBreak){k+=x.content;break}if(P=QQ(b),P.hasContinue){k+=P.content;continue}b=N1(b,S,Z),b=$H(b,S),b=XH(b,S),b=e_(b,S),k+=b}W=W.substring(0,z)+k+W.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);W=W.substring(0,z)+O+W.substring(B)}}return W}J=Q(J,$),J=WQ(J,$,Z,Y);let q=Y?.loops?.maxWhileIterations??a_;return J=qH(J,$,q),J}function UQ(X){return VX(X)}function WQ(X,$,Z,Y){let J=X,G=!0;while(G){G=!1;let Q=J.match(/@for\s*\(/);if(!Q||Q.index===void 0)break;let q=Q.index,K=q+Q[0].length-1,U=T0(J,"(",")",K);if(U===-1)break;let W=J.slice(K+1,U),w=U+1,z=EX(J.slice(q),"for","endfor");if(z.length===0)break;let B=z[0].content,j=q+z[0].end;if(!UQ(W)){let _=X0("For",`Unsafe expression in @for: ${W}`,s.UNSAFE_EXPRESSION);J=J.substring(0,q)+_+J.substring(j),G=!0;continue}try{let _=GH(W),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(_.length>0&&H){let R=QH({forExpr:W,content:B,iterVarNames:_,context:$,filePath:Z,options:Y});J=J.substring(0,q)+R+J.substring(j),G=!0;continue}let L=Object.keys($),O=Object.values($),F=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(R,N)=>{return`\${${N}}`});F=KQ(F);let A=Function(...L,`
|
|
13628
|
+
</style>`}}});import{existsSync as l_,readFileSync as c_}from"fs";function p_(X){if(rG.has(X))return;rG.add(X),console.warn(`[stx] icon collection "${X}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${X}\`.`)}function i_(X){let $=process.cwd();for(let Z of[`${$}/node_modules/@iconify-json/${X}/icons.json`,`${$}/pantry/@iconify-json/${X}/icons.json`,`${$}/node_modules/@iconify/json/json/${X}.json`,`${$}/pantry/@iconify/json/json/${X}.json`])if(l_(Z))return Z;for(let Z of[`@iconify-json/${X}/icons.json`,`@iconify/json/json/${X}.json`])try{return U0.resolve(Z)}catch{}return null}function n_(X){if(m8.has(X))return m8.get(X);let $=i_(X);if(!$)return p_(X),null;try{let Z=JSON.parse(c_($,"utf8"));return m8.set(X,Z.icons),Z.icons}catch{return null}}function h5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);if(X.static[$]!==void 0)return String(X.static[$]);if(X.clientReactive[$]!==void 0)return X.clientReactive[$];return}var m8,rG,z4;var j4=E(()=>{m8=new Map,rG=new Set;z4={name:"Icon",aliases:["icon","stx-icon"],render(X,$,Z){let Y=h5(X,"name")??h5(X,"icon");if(!Y)return"<!-- Icon: missing name/icon prop -->";let J="lucide",G=Y;if(Y.includes(":")){let L=Y.split(":");J=L[0],G=L[1]}let Q=k0(h5(X,"size")||"24"),q=k0(h5(X,"color")||"currentColor"),K=k0(h5(X,"class")||""),U=k0(h5(X,"style")||""),W=m8.get(J)??n_(J);if(!W)return`<!-- Icon: collection "${J}" not loaded -->`;let w=W[G];if(!w)return`<!-- Icon: "${G}" not found in ${J} -->`;let z=w.width||24,B=w.height||24,j=`0 0 ${z} ${B}`,_=w.body;if(q!=="currentColor")_=_.replace(/currentColor/g,q);let H=K?` class="${K}"`:"",O=U?` style="${U}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${Q}" height="${Q}" viewBox="${j}" fill="none"${H}${O}>${_}</svg>`}}});function oG(X,...$){for(let Z of $){if(X.serverDynamic[Z]!==void 0)return String(X.serverDynamic[Z]);let Y=X.static[Z];if(typeof Y==="string")return Y}return}function sG(X,$){let Z=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${$}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),Y=X.match(Z);if(!Y)return{region:null,rest:X};return{region:Y[2],rest:X.replace(Y[0],"")}}var B4;var _4=E(()=>{B4={name:"Suspense",aliases:["suspense"],render(X,$,Z){let Y=sG($,"fallback"),J=Y.rest,G=sG(J,"error"),Q=G.rest,q=Y.region??oG(X,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',K=G.region??oG(X,"errorFallback","error-fallback")??'<div class="stx-suspense-error">Something went wrong.</div>';return`<div data-stx-suspense><div data-stx-suspense-fallback>${q}</div><div data-stx-suspense-error hidden>${K}</div><div data-stx-suspense-content hidden>${Q}</div></div>`}}});function l8(X,...$){for(let Z of $){if(X.serverDynamic[Z]!==void 0)return String(X.serverDynamic[Z]);let Y=X.static[Z];if(typeof Y==="string")return Y}return}var H4;var O4=E(()=>{H4={name:"TransitionGroup",aliases:["transition-group"],render(X,$,Z){let Y=(l8(X,"name")||"v").replace(/["'<>]/g,""),J=(l8(X,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",G=l8(X,"class"),Q=l8(X,"id"),q=[`data-stx-transition-group="${Y}"`,G?`class="${G}"`:"",Q?`id="${Q}"`:""].filter(Boolean).join(" ");return`<${J} ${q}>${$}</${J}>`}}});function aG(){g0.registerBuiltin(r3),g0.registerBuiltin(e3),g0.registerBuiltin($4),g0.registerBuiltin(J4),g0.registerBuiltin(Q4),g0.registerBuiltin(K4),g0.registerBuiltin(W4),g0.registerBuiltin(z4),g0.registerBuiltin(B4),g0.registerBuiltin(H4)}var tG=E(()=>{o3();X4();Z4();G4();q4();U4();w4();j4();_4();O4();n3();o3();X4();Z4();G4();q4();U4();w4();j4();_4();O4()});function c8(X){return X.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 Y=[],J=0;while(J<X.length){let G=X.indexOf("<",J);if(G===-1)break;let q=X.slice(G+1).match(new RegExp(`^(${$.source})(?![\\w.:-])`));if(!q){J=G+1;continue}let K=q[1];if(Z&&Z.has(K.toLowerCase())){let _=G+1+K.length;while(_<X.length&&X[_]!==">")_++;J=_+1;continue}let U=G+1+K.length,W=null,w=U,z=-1,B=!1;while(U<X.length){let _=X[U];if(W){if(_==="\\"&&U+1<X.length){U+=2;continue}if(_===W)W=null;U++;continue}if(_==='"'||_==="'"){W=_,U++;continue}if(_==="/"&&U+1<X.length&&X[U+1]===">"){z=U+2,B=!0;break}if(_===">"){z=U+1;break}U++}if(z===-1){J=G+1;continue}let j=X.slice(w,B?z-2:z-1).trim();if(B)Y.push({fullMatch:X.slice(G,z),tagName:K,attributes:j,content:"",startIndex:G,endIndex:z,isSelfClosing:!0}),J=z;else{let _=`<${K}`,H=`</${K}>`,O=1,L=z,F=-1;while(O>0&&L<X.length){let R=X.indexOf(_,L),T=X.indexOf(H,L);if(T===-1)break;if(R!==-1&&R<T){let k=X[R+_.length];if(k===" "||k===">"||k==="/"||k===`
|
|
13629
|
+
`||k==="\t")O++;L=R+_.length}else{if(O--,O===0){F=T;break}L=T+H.length}}if(F===-1){J=z;continue}let V=X.slice(z,F),A=F+H.length;Y.push({fullMatch:X.slice(G,A),tagName:K,attributes:j,content:V,startIndex:G,endIndex:A,isSelfClosing:!1}),J=A}}return Y}function XQ(X){return X.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/'/gi,"'").replace(/&/g,"&")}function $Q(X,$){try{let Z=Buffer.from(X,"base64").toString("utf8");return JSON.parse(Z)}catch{}try{let Z=X.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");return JSON.parse(Z)}catch(Z){if($?.debug)console.error("Error decoding __stx_ prop:",Z);return X}}var ZQ=E(()=>{L0();A0();l1()});var UQ={};o(UQ,{processESImports:()=>qQ,processComponents:()=>i8});import p8 from"fs";import l0 from"path";function o_(X,$,Z){let Y={static:{},staticNames:{},serverDynamic:{},clientReactive:{},events:{}},J=new Set(Array.isArray($.__stx_client_signal_names)?$.__stx_client_signal_names:[]),G=(U)=>{if(J.size===0)return!1;let W=i0(U),w=W.match(/^\s*[!+~(-]*\s*([a-zA-Z_$][\w$]*)/)?.[1];if(w&&J.has(w))return!0;for(let z of J){let B=z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`(?:^|[^\\w$.])${B}\\s*\\(`).test(W))return!0}return!1},Q=new Set(J2),q=(U)=>{if(!U.includes("-")||U.startsWith("@")||U.startsWith(":")||U.startsWith("x-")||U.startsWith("__"))return U;if(U.startsWith("aria-")||U.startsWith("data-"))return U;return U.replace(/-([a-z0-9])/g,(W,w)=>w.toUpperCase())},K=(U,W)=>{let w=q(U);if(Y.static[w]=W,w!==U)Y.staticNames[w]=U};for(let[U,W]of Object.entries(X)){let w=U.startsWith("x-")&&!Q.has(U)&&!U.startsWith("x-bind:")&&!U.startsWith("x-on:")?`:${U.slice(2)}`:U;if(w.startsWith("@")){Y.events[w]=W;continue}if(w.startsWith("__stx_")){let z=q(w.slice(6));Y.serverDynamic[z]=$Q(W,Z);continue}if(w.startsWith(":")){let z=q(w.slice(1)),B=W===G5?z:W;if(z==="if"||z==="for"||z==="show"){Y.clientReactive[z]=B;continue}if(G(B)){Y.clientReactive[z]=B;continue}try{if(!J0(B)){if(Z.debug)console.error(`Unsafe expression in :${z} binding: ${B}`);Y.clientReactive[z]=B;continue}let j=Object.keys($),H=G0(B,j)(...Object.values($));if(H===void 0){let O=B.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],L=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(O.some((V)=>!L.has(V)&&!j.includes(V))){Y.clientReactive[z]=B;continue}}Y.serverDynamic[z]=H}catch{Y.clientReactive[z]=B}continue}if(typeof W==="string"&&W.includes("{{")&&W.includes("}}")){let z=W.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(z)try{let B=z[1];if(J0(B)){let _=G0(B,Object.keys($))(...Object.values($));K(w,_!=null?String(_):"")}else{if(Z.debug)console.error(`Unsafe expression in ${w}: ${B}`);K(w,W)}}catch(B){if(Z.debug)console.error(`Error evaluating expression for ${w}:`,B);K(w,W)}else{let B=W,j=/\{\{\s*([\s\S]+?)\s*\}\}/g,_;while((_=j.exec(W))!==null)try{let H=_[1];if(!J0(H)){if(Z.debug)console.error(`Unsafe expression in ${w}: ${H}`);continue}let L=G0(H,Object.keys($))(...Object.values($));B=B.replace(_[0],String(L??""))}catch(H){if(Z.debug)console.error(`Error evaluating expression in ${w}:`,H)}K(w,B)}continue}K(w,W===G5?"true":XQ(W))}return Y}function s_(X){let $={},Z=0,Y=X.length;while(Z<Y){while(Z<Y&&/\s/.test(X[Z]))Z++;if(Z>=Y)break;let J="";while(Z<Y&&!/[\s=]/.test(X[Z]))J+=X[Z],Z++;if(!J)break;while(Z<Y&&/\s/.test(X[Z]))Z++;if(Z<Y&&X[Z]==="="){Z++;while(Z<Y&&/\s/.test(X[Z]))Z++;let G="";if(Z<Y&&(X[Z]==='"'||X[Z]==="'")){let Q=X[Z];Z++;while(Z<Y){let q=X[Z];if(q==="\\"&&Z+1<Y){Z++,G+=X[Z],Z++;continue}if(q===Q){Z++;break}G+=q,Z++}}else while(Z<Y&&!/\s/.test(X[Z]))G+=X[Z],Z++;$[J]=G}else $[J]=G5}return $}function JQ(X){return Object.entries(X).map(([$,Z])=>Z===G5?$:`${$}="${a_(Z)}"`).join(" ")}function a_(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function t_(X){let $=new Set,Z=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1];if(g0.isBuiltin(J))$.add(J)}return[...$].sort()}function e_(X){let $=GQ.get(X);if($)return $;let Z=new Map,Y=[l0.join(X,"src"),l0.join(X,"dist"),X];function J(G,Q){if(Q>6)return;let q;try{q=p8.readdirSync(G,{withFileTypes:!0})}catch{return}for(let K of q){let U=l0.join(G,K.name);if(K.isDirectory()){if(K.name==="node_modules"||K.name.startsWith("."))continue;J(U,Q+1)}else if(K.isFile()&&K.name.endsWith(".stx")){let W=K.name.slice(0,-4);if(!Z.has(W))Z.set(W,U);let w=W.toLowerCase();if(!Z.has(w))Z.set(w,U);let z=W.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Z.has(z))Z.set(z,U)}}}for(let G of Y)if(J(G,0),Z.size>0)break;return GQ.set(X,Z),Z}function XH(X,$){if(X.startsWith(".")||X.startsWith("/"))return null;let Z=$;while(!0){let Y=l0.join(Z,"node_modules",X);try{if(p8.statSync(Y).isDirectory())return Y}catch{}let J=l0.dirname(Z);if(J===Z)return null;Z=J}}async function qQ(X,$,Z,Y,J){if(!X.includes("import"))return X;if(!$.__importedComponents)$.__importedComponents=new Map;let G=$.__importedComponents,Q=l0.dirname(Z),q=X,K=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return q=q.replace(K,(U,W,w)=>{let z=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,B=w,j,_=[];while((j=z.exec(w))!==null){let[H,O,L,F]=j,V=null,A=null;if(F.startsWith(".")||F.startsWith("/")){let k=l0.resolve(Q,F);if(k.endsWith(".stx"))A=k;else{let M=`${k}.stx`;try{if(p8.statSync(M).isFile())A=M}catch{try{if(p8.statSync(k).isDirectory())V=k}catch{}}}}else V=XH(F,Q);if(!V&&!A)continue;let R=!1,T=(k,M)=>{G.set(k,M),G.set(k.toLowerCase(),M);let N=k.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();G.set(N,M),J.add(M)};if(L&&A)T(L,A),R=!0;else if(O){let k=O.slice(1,-1).split(",").map((N)=>N.trim()).filter(Boolean).map((N)=>{let D=N.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(D)return{source:D[1],local:D[2]};return{source:N,local:N}}),M=V?e_(V):null;for(let{source:N,local:D}of k){let I=null;if(A)I=A;else if(M)I=M.get(N)??M.get(N.toLowerCase())??M.get(N.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(I)T(D,I),R=!0}}if(R)_.push({start:j.index,end:j.index+H.length})}if(_.length===0)return U;for(let H=_.length-1;H>=0;H--)B=B.slice(0,_[H].start)+B.slice(_[H].end);return`<script${W}>${B}</script>`}),q}async function $H(X,$,Z,Y,J){let G=X;if(!$.__importedComponents)$.__importedComponents=new Map;let Q=$.__importedComponents,q=/@import\s*\(\s*([^)]+)\s*\)/g,K;while((K=q.exec(G))!==null){let[U,W]=K,w=W.split(",").map((z)=>z.trim().replace(/^['"]|['"]$/g,"")).filter((z)=>z.length>0);for(let z of w){let B=z.split("/"),_=B[B.length-1].replace(/\.stx$/,""),H=_.includes("-")?_.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""):_.charAt(0).toUpperCase()+_.slice(1),O=null,L=[l0.resolve(l0.dirname(Z),`${z}.stx`),l0.resolve(l0.dirname(Z),z),l0.resolve(Y.componentsDir||"components",`${z}.stx`),l0.resolve(Y.componentsDir||"components",z),z.endsWith(".stx")?z:`${z}.stx`];for(let F of L)try{if(await Bun.file(F).exists()){O=F;break}}catch{}if(O){Q.set(H,O),Q.set(_,O),Q.set(_.toLowerCase(),O);let F=H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(Q.set(F,O),J.add(O),Y.debug)console.log(`Imported component: ${H} -> ${O}`)}else if(Y.debug)console.warn(`Could not resolve imported component: ${z}`)}G=G.replace(U,""),q.lastIndex=0}return G}async function ZH(X,$,Z,Y,J){let G=X,Q=Y.componentsDir||"components";if(!$.__processedComponents)$.__processedComponents=new Set;let q=$.__processedComponents,K=/@component\s*\(/g,U;while((U=K.exec(G))!==null){let W=U.index,w=W+U[0].length-1,z=1,B=w+1;while(B<G.length&&z>0){if(G[B]==="(")z++;else if(G[B]===")"){if(z--,z===0)break}B++}if(z!==0)break;let j=G.substring(w+1,B),_=B+1,H=j.match(/^\s*['"]([^'"]+)['"]/);if(!H){K.lastIndex=0;continue}let O=H[1],L,F=j.slice(H[0].length),V=F.match(/^\s*,\s*/);if(V)L=F.slice(V[0].length).trim();let A={};if(L)try{A=O0(L,$)}catch(D){let I=D instanceof Error?D.message:String(D);G=G.replace(G.substring(W,_),`[Error parsing component props: ${I}]`);continue}let R="",T=_,M=G.substring(_).match(/^([\s\S]*?)@endcomponent/);if(M)R=M[1].trim(),T=_+M[0].length;let N=await s1(O,A,R,Q,$,Z,Y,q,J);G=G.substring(0,W)+N+G.substring(T),K.lastIndex=0}return G}async function YH(X,$,Z,Y,J){if(!X)return X;let G=X,Q=Y.componentsDir||"components";if(!$.__processedComponents)$.__processedComponents=new Set;let q=$.__processedComponents,K=R1(G);return G=K.output,G=await z(G,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),G=await z(G,/[A-Z][a-zA-Z0-9]*/,!0),G=await z(G,/[a-z][a-z0-9]*/,!1,r_),G=R7(G,K.scripts),G;async function z(B,j,_,H){if(!B)return B;let O=B,L=eG(O,j,H);for(let F=L.length-1;F>=0;F--){let V=L[F],A=_?c8(V.tagName):V.tagName,R=s_(V.attributes),T=o_(R,$,Y),k=g0.getBuiltin(V.tagName),M=k?await sX(A,Q,$,Z,Y):!1;if(k&&!M){let C={context:$,filePath:Z,options:Y,dependencies:J},b=k.render(T,V.content,C);if(Object.keys(T.clientReactive).length>0)b=QQ(b,T.clientReactive);if(Object.keys(T.events).length>0){let y=JQ(T.events);b=b.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${y}`)}O=O.substring(0,V.startIndex)+b+O.substring(V.endIndex);continue}if(!_&&V.tagName.includes("-")&&!await sX(A,Q,$,Z,Y))continue;let N={};for(let[C,b]of Object.entries(T.static))N[C]=b;for(let[C,b]of Object.entries(T.serverDynamic))N[C]=b;let I=await s1(A,N,V.content,Q,$,Z,Y,q,J);if(Object.keys(T.clientReactive).length>0)I=QQ(I,T.clientReactive);if(Object.keys(T.events).length>0){let C=KQ(I);if(C){let b=JQ(T.events),y=Object.keys(T.events).map((v)=>v.replace(/^@/,"").split(".")[0]).join(" ");I=I.substring(0,C.insertPos)+` data-stx-parent-events="${y}" ${b}`+I.substring(C.insertPos)}}O=O.substring(0,V.startIndex)+I+O.substring(V.endIndex)}return O}}function QQ(X,$){let Z=new Set(["if","for"]),Y=new Set(["show"]),J=Object.entries($).filter(([W])=>!Z.has(W)),G=J.filter(([W])=>!Y.has(W)).map(([W])=>c8(W)).join(" "),Q=X,q=J.length>0?KQ(Q):null;if(q){let W=J.map(([z,B])=>`:${c8(z)}="${B.replace(/"/g,""")}"`).join(" "),w=G?` data-stx-parent-bindings="${G}"`:"";Q=Q.substring(0,q.insertPos)+`${w} ${W}`+Q.substring(q.insertPos)}let K=$.if;if(K)Q=`<template :if="${K.replace(/"/g,""")}">${Q}</template>`;let U=$.for;if(U)Q=`<template :for="${U.replace(/"/g,""")}">${Q}</template>`;return Q}function KQ(X){let $=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec(X);if($)return{insertPos:$.index+1+$[1].length};let Z=0;while(Z<X.length){let Y=X.slice(Z),J=Y.match(/^\s+/);if(J){Z+=J[0].length;continue}if(Y.startsWith("<!--")){let q=X.indexOf("-->",Z+4);if(q===-1)return null;Z=q+3;continue}let G=Y.match(/^<(script|style)\b[^>]*>/i);if(G){let q=`</${G[1].toLowerCase()}>`,K=X.toLowerCase().indexOf(q,Z+G[0].length);if(K===-1)return null;Z=K+q.length;continue}let Q=Y.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!Q)return null;return{insertPos:Z+1+Q[1].length}}return null}async function i8(X,$,Z,Y,J){if(!YQ)aG(),YQ=!0;let G=await qQ(X,$,Z,Y,J);G=await $H(G,$,Z,Y,J),G=await ZH(G,$,Z,Y,J);let Q=[];for(let q=0;q<3;q++){let K=$1(G,A7,(W,w)=>`\x00STX_COMPONENT_COMMENT_${Q.length+w}\x00`);Q.push(...K.tokens);let U=G;if(G=await YH(K.output,$,Z,Y,J),G===U)break}if(Q.length>0)G=G.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(q,K)=>Q[Number(K)]??"");if(Y.debug){let q=t_(G);if(q.length>0)console.warn(`[stx] ${Z}: unresolved component tag(s) after render passes: ${q.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return G}var YQ=!1,r_,GQ;var L4=E(()=>{n3();tG();ZQ();l1();A0();L0();a0();r_=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"]);GQ=new Map});var HQ={};o(HQ,{processLoops:()=>V4,parseLoopBinding:()=>F4});function QH(X,$){let Z=/@(include|partial)\s*\(\s*(['"])([^'"]+)\2\s*,\s*/g,Y="",J=0,G;while((G=Z.exec(X))!==null){let Q=G.index+G[0].length,q=G.index+G[0].indexOf("("),K=N0(X,"(",")",q);if(K===-1)continue;let U=X.slice(Q,K).trim();if(!U)continue;if(!Object.keys($).some((z)=>new RegExp(`(?:^|[^\\w$.])${z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w$])`).test(U)))continue;let w;try{let z=O0(U,$);if(!z||typeof z!=="object")continue;w=JSON.stringify(z)}catch{continue}Y+=X.slice(J,Q)+w,J=K,Z.lastIndex=K}return J===0?X:Y+X.slice(J)}function qH(X,$){let Z=/@component\s*\(/g,Y=X,J,G=[];while((J=Z.exec(Y))!==null){let Q=J.index,q=Q+J[0].length-1,K=1,U=q+1;while(U<Y.length&&K>0){if(Y[U]==="(")K++;else if(Y[U]===")"){if(K--,K===0)break}U++}if(K!==0)continue;let W=Y.substring(q+1,U),w=U+1,z=W.match(/^\s*['"]([^'"]+)['"]/);if(!z)continue;let B=z[1],j=W.slice(z[0].length),_=j.match(/^\s*,\s*/);if(!_)continue;let H=j.slice(_[0].length).trim();if(!H)continue;try{let O=O0(H,$),L=JSON.stringify(O),F=`@component('${B}', ${L})`;G.push({start:Q,end:w,replacement:F})}catch{continue}}for(let Q=G.length-1;Q>=0;Q--){let{start:q,end:K,replacement:U}=G[Q];Y=Y.substring(0,q)+U+Y.substring(K)}return Y}function n8(X,$,Z){let Y=X,J=new RegExp(`${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),G;while((G=J.exec(Y))!==null){let Q=G.index,q=Q+G[0].length-1,K=1,U=q+1,W=null,w=!1;while(U<Y.length&&K>0){let j=Y[U];if(w){w=!1,U++;continue}if(j==="\\"&&W){w=!0,U++;continue}if(W){if(j===W)W=null;U++;continue}if(j==='"'||j==="'"||j==="`"){W=j,U++;continue}if(j==="(")K++;else if(j===")"){if(K--,K===0)break}U++}if(K!==0)break;let z=Y.substring(q+1,U),B=Z(z);Y=Y.substring(0,Q)+B+Y.substring(U+1)}return Y}function KH(X,$){let Z=X;return Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(Y,J)=>{if(J in $)return`:${J}="${J}"`;return Y}),Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(Y,J,G)=>{try{let Q=Object.keys($),q=Object.values($);VX(G);let U=G0(G,Q)(...q),W=JSON.stringify(U),w=Buffer.from(W,"utf8").toString("base64");return`__stx_${J}="${w}"`}catch(Q){return Y}}),Z}function UH(X,$){let Z=X;return Z=n8(Z,"@break",(Y)=>{try{let G=`!!(${Y.trim()})`,Q;if(J0(G)){let q=G0(G,Object.keys($));Q=Boolean(q(...Object.values($)))}else Q=Boolean(Z0(G,$));return Q?r8:""}catch{return""}}),Z=n8(Z,"@continue",(Y)=>{try{let G=`!!(${Y.trim()})`,Q;if(J0(G)){let q=G0(G,Object.keys($));Q=Boolean(q(...Object.values($)))}else Q=Boolean(Z0(G,$));return Q?o8:""}catch{return""}}),Z}function WH(X){let $=X;return $=$.replace(/@break(?!\()/g,r8),$=$.replace(/@continue(?!\()/g,o8),$}function WQ(X){let $=X.includes(r8),Z=$?X.substring(0,X.indexOf(r8)):X;return{hasBreak:$,content:Z}}function wQ(X){let $=X.includes(o8),Z=$?X.substring(0,X.indexOf(o8)):X;return{hasContinue:$,content:Z}}function jQ(X){let $=X;return $=n8($,"@break",(Z)=>{let Y=Z.trim();if(!AX(Y))return"";return`\`; if (${Y}) { break; } result += \``}),$=n8($,"@continue",(Z)=>{let Y=Z.trim();if(!AX(Y))return"";return`\`; if (${Y}) { continue; } result += \``}),$=$.replace(/@break(?!\()/g,"`; break; result += `"),$=$.replace(/@continue(?!\()/g,"`; continue; result += `"),$}function wH(X){let $=/@forelse\s*\(/g,Z,Y=[],J=/@foreach\s*\(/g,G=/@endforeach/g,Q;while((Q=J.exec(X))!==null)Y.push({pos:Q.index,delta:1});while((Q=G.exec(X))!==null)Y.push({pos:Q.index,delta:-1});Y.sort((W,w)=>W.pos-w.pos);let q=[],K=0;for(let W of Y)K+=W.delta,q.push({pos:W.pos,depth:K});function U(W){let w=0,z=q.length-1,B=0;while(w<=z){let j=w+z>>1;if(q[j].pos<=W)B=q[j].depth,w=j+1;else z=j-1}return B}while((Z=$.exec(X))!==null){if(U(Z.index)>0)continue;let W=Z.index,w=Z.index+Z[0].length-1,z=1,B=w+1,j=-1;while(B<X.length&&z>0){if(X[B]==="(")z++;else if(X[B]===")"){if(z--,z===0){j=B;break}}B++}if(j===-1)continue;let _=X.substring(w+1,j),H=F4(_);if(!H)continue;let{arrayExpr:O,itemVar:L}=H,F=j+1,V=1,A=F,R=/@forelse\s*\(/g,T=/@endforelse/g,k=-1;while(V>0&&A<X.length){R.lastIndex=A,T.lastIndex=A;let b=R.exec(X),y=T.exec(X);if(!y)break;if(b&&b.index<y.index)V++,A=b.index+b[0].length;else{if(V--,V===0){k=y.index;break}A=y.index+11}}if(k===-1)continue;let M=X.substring(F,k),N=k+11,D=-1,I=0,C=0;while(C<M.length){let b=M.indexOf("@",C);if(b===-1)break;let y=M.substring(b);if(/^@forelse\s*\(/.test(y))I++,C=b+1;else if(y.startsWith("@endforelse"))I--,C=b+11;else if(I===0&&y.startsWith("@empty")){if(M.length<=b+6||!/[a-z]/i.test(M[b+6])){D=b;break}C=b+1}else C=b+1}if(D===-1)continue;return{start:W,end:N,arrayExpr:O,itemVar:L,foreachContent:M.substring(0,D),emptyContent:M.substring(D+6)}}return null}function zQ(X,$){let Z=X;while(!0){let Y=wH(Z);if(!Y)break;let{start:J,end:G,arrayExpr:Q,itemVar:q,foreachContent:K,emptyContent:U}=Y;try{let W;if(J0(Q))W=G0(Q,Object.keys($))(...Object.values($));else W=Z0(Q,$);let w;if(!Array.isArray(W)||W.length===0)w=U;else w=`@foreach (${Q} as ${q})${K}@endforeach`;Z=Z.substring(0,J)+w+Z.substring(G)}catch(W){let w=W instanceof Error?W.message:String(W),z=$0("Forelse",`Error in @forelse(${Q} as ${q}): ${w}`,s.EVALUATION_ERROR);Z=Z.substring(0,J)+z+Z.substring(G)}}return Z}function F4(X){let $=X.indexOf(" as ");if($!==-1){let G=X.slice(0,$).trim(),Q=X.slice($+4).trim();return G&&Q?{arrayExpr:G,itemVar:Q}:null}let Z=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec(X);if(!Z)return null;let Y=Z[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),J=Z[2].trim();return Y&&J?{arrayExpr:J,itemVar:Y}:null}function V4(X,$,Z,Y){let J=X;J=zQ(J,$);function G(K){let U=/@foreach\s*\(/g,W;while((W=U.exec(K))!==null){let w=W.index,z=W.index+W[0].length-1,B=1,j=z+1,_=-1;while(j<K.length&&B>0){if(K[j]==="(")B++;else if(K[j]===")"){if(B--,B===0){_=j;break}}j++}if(_===-1)continue;let H=K.substring(z+1,_),O=F4(H);if(!O)continue;let L=w,{arrayExpr:F,itemVar:V}=O,A=_+1,R=1,T=A,k=/@foreach\s*\(/g,M=/@endforeach/g;while(R>0&&T<K.length){k.lastIndex=T,M.lastIndex=T;let N=k.exec(K),D=M.exec(K);if(!D)break;if(N&&N.index<D.index)R++,T=N.index+N[0].length;else{if(R--,R===0){let I=K.substring(A,D.index),C=D.index+11;return{start:L,end:C,arrayExpr:F,itemVar:V,content:I}}T=D.index+11}}}return null}function Q(K,U){let W=K;while(!0){let w=G(W);if(!w)break;let{start:z,end:B,arrayExpr:j,itemVar:_,content:H}=w;try{let O=j.trim(),L;if(J0(O))L=G0(O,Object.keys(U))(...Object.values(U));else L=Z0(O,U);let F=!1;if(!Array.isArray(L))if(L instanceof Map)L=Array.from(L),F=!0;else if(L instanceof Set)L=Array.from(L);else if(typeof L==="string")L=Array.from(L);else if(L&&typeof L==="object"&&!(L instanceof Date)&&!(L instanceof RegExp))L=Object.entries(L),F=!0;else{console.warn(`[stx] @foreach(${O}) in ${Z}: ${O} is not iterable server-side, so the loop rendered nothing. `+"Values a server loop reads must come from <script server> or the page context \u2014 "+"a plain <script> runs in the browser.");let D=$0("Foreach",`Error in @foreach: ${O} is not iterable`,s.TYPE_ERROR);W=W.substring(0,z)+D+W.substring(B);continue}let V=Y?.loops?.useAltLoopVariable??GH,A=_.trim(),R=null,T,k=!1;if(A.includes("=>")){let D=A.split("=>").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])R=D[0],T=D[1];else T=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])T=D[0],R=D[1],k=!0;else T=A}else T=A;let M="",N=L;for(let D=0;D<N.length;D++){let I=N[D],C={index:D,iteration:D+1,first:D===0,last:D===N.length-1,count:N.length},b={...U,loop:C,$loop:C};if(T.startsWith("[")&&T.endsWith("]")){let f=T.slice(1,-1).split(",").map((c)=>c.trim());if(Array.isArray(I))f.forEach((c,l)=>{if(c)b[c]=I[l]});else b[T]=I}else b[T]=I;if(R)if(!k&&F&&Array.isArray(I)&&I.length===2)b[R]=I[0],b[T]=I[1];else b[R]=D;let y=UH(H,b),v=wQ(y);if(v.hasContinue){M+=v.content;continue}let x=WQ(y);if(x.hasBreak){M+=x.content;break}if(y=zQ(y,b),y=Q(y,b),y=Z5(y,b,Z),y=WH(y),x=WQ(y),x.hasBreak){M+=x.content;break}if(v=wQ(y),v.hasContinue){M+=v.content;continue}y=T1(y,b,Z),y=KH(y,b),y=qH(y,b),y=QH(y,b),M+=y}W=W.substring(0,z)+M+W.substring(B)}catch(O){let L=$0("Foreach",`Error in @foreach(${j.trim()} as ${_.trim()}): ${O instanceof Error?O.message:String(O)}`,s.EVALUATION_ERROR);W=W.substring(0,z)+L+W.substring(B)}}return W}J=Q(J,$),J=_Q(J,$,Z,Y);let q=Y?.loops?.maxWhileIterations??JH;return J=BH(J,$,q),J}function BQ(X){return AX(X)}function _Q(X,$,Z,Y){let J=X,G=!0;while(G){G=!1;let Q=J.match(/@for\s*\(/);if(!Q||Q.index===void 0)break;let q=Q.index,K=q+Q[0].length-1,U=N0(J,"(",")",K);if(U===-1)break;let W=J.slice(K+1,U),w=U+1,z=DX(J.slice(q),"for","endfor");if(z.length===0)break;let B=z[0].content,j=q+z[0].end;if(!BQ(W)){let _=$0("For",`Unsafe expression in @for: ${W}`,s.UNSAFE_EXPRESSION);J=J.substring(0,q)+_+J.substring(j),G=!0;continue}try{let _=zH(W),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(_.length>0&&H){let R=jH({forExpr:W,content:B,iterVarNames:_,context:$,filePath:Z,options:Y});J=J.substring(0,q)+R+J.substring(j),G=!0;continue}let O=Object.keys($),L=Object.values($),F=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(R,T)=>{return`\${${T}}`});F=jQ(F);let A=Function(...O,`
|
|
13522
13630
|
let result = '';
|
|
13523
13631
|
for (${W}) {
|
|
13524
13632
|
result += \`${F}\`;
|
|
13525
13633
|
}
|
|
13526
13634
|
return result;
|
|
13527
|
-
`)(...
|
|
13635
|
+
`)(...L);J=J.substring(0,q)+A+J.substring(j),G=!0}catch(_){let H=$0("For",`Error in @for(${W}): ${_ instanceof Error?_.message:String(_)}`,s.EVALUATION_ERROR);J=J.substring(0,q)+H+J.substring(j),G=!0}}return J}function zH(X){let $=X.trim(),Z=$.match(/^(?:const|let|var)\s+(\[[^\]]+\]|\{[^}]+\})\s+(?:of|in)\s+/);if(Z){let G=Z[1];return G.slice(1,-1).split(",").map((q)=>{let K=q.trim();if(!K)return"";let U=K.indexOf(":");if(U>=0&&G.startsWith("{")){let z=K.slice(U+1).trim(),B=z.indexOf("=");return(B>=0?z.slice(0,B):z).trim()}let W=K.indexOf("="),w=(W>=0?K.slice(0,W):K).trim();return/^[A-Za-z_$][\w$]*$/.test(w)?w:""}).filter(Boolean)}let Y=$.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s+(?:of|in)\s+/);if(Y)return[Y[1]];let J=$.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=[^;]*;/);if(J)return[J[1]];return[]}function jH(X){let{forExpr:$,content:Z,iterVarNames:Y,context:J,filePath:G,options:Q}=X,q=Object.keys(J),K=Object.values(J),U=Function(...q,"__pushIter",`
|
|
13528
13636
|
for (${$}) {
|
|
13529
13637
|
__pushIter([${Y.join(", ")}])
|
|
13530
13638
|
}
|
|
13531
|
-
`),W=[];U(...K,(B)=>{W.push(B)});let w=G??"inline.stx",z="";for(let B of W){let j={...J};Y.forEach((H,
|
|
13639
|
+
`),W=[];U(...K,(B)=>{W.push(B)});let w=G??"inline.stx",z="";for(let B of W){let j={...J};Y.forEach((H,O)=>{j[H]=B[O]});let _=_Q(Z,j,G,Q);_=Z5(_,j,w),_=T1(_,j,w),z+=_}return z}function BH(X,$,Z){let Y=X,J=!0;while(J){J=!1;let G=Y.match(/@while\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,q=Q+G[0].length-1,K=N0(Y,"(",")",q);if(K===-1)break;let U=Y.slice(q+1,K),W=DX(Y.slice(Q),"while","endwhile");if(W.length===0)break;let w=W[0].content,z=Q+W[0].end;if(!BQ(U)){let B=$0("While",`Unsafe expression in @while: ${U}`,s.UNSAFE_EXPRESSION);Y=Y.substring(0,Q)+B+Y.substring(z),J=!0;continue}try{let B=Object.keys($),j=Object.values($),_=w.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(L,F)=>{return`\${${F}}`});_=jQ(_);let O=Function(...B,`
|
|
13532
13640
|
let result = '';
|
|
13533
13641
|
let maxIterations = ${Z}; // Configurable safety limit
|
|
13534
13642
|
let counter = 0;
|
|
@@ -13540,8 +13648,8 @@ ${I}
|
|
|
13540
13648
|
result += '<!-- [While Error [1104]]: Maximum iterations (${Z}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
|
|
13541
13649
|
}
|
|
13542
13650
|
return result;
|
|
13543
|
-
`)(...j);Y=Y.substring(0,Q)+
|
|
13544
|
-
`)G++;return!0}if($[G]==="/"&&$[G+1]==="*"){G+=2;while(G<Q-1&&!($[G]==="*"&&$[G+1]==="/"))G++;return G+=2,!0}return!1},W=()=>{if(J!==0)return;let w=$.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(w){let j=w[2];if(!Y.has(j))Z.push(j),Y.add(j);return}let z=$.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let j=z[1];if(!Y.has(j))Z.push(j),Y.add(j);return}let B=$.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!Y.has(j))Z.push(j),Y.add(j)}};while(G<Q){if(U())continue;if($[G]==="'"||$[G]==='"'){q($[G]);continue}if($[G]==="`"){K();continue}if($[G]==="{"){J++,G++;continue}if($[G]==="}"){J--,G++;continue}if(J===0&&/[a-z]/i.test($[G])&&(G===0||/\s|[;{}()]/.test($[G-1])))W();G++}return Z.join(", ")}function
|
|
13651
|
+
`)(...j);Y=Y.substring(0,Q)+O+Y.substring(z),J=!0}catch(B){let j=$0("While",`Error in @while(${U}): ${B instanceof Error?B.message:String(B)}`,s.EVALUATION_ERROR);Y=Y.substring(0,Q)+j+Y.substring(z),J=!0}}return Y}var JH=1000,GH=!1,r8="<!--__STX_BREAK__-->",o8="<!--__STX_CONTINUE__-->";var A4=E(()=>{P8();z1();Z1();yX();L0()});import z0 from"path";function R4(X,$){let Z=0;for(let Y=$;Y<X.length;Y++){let J=X[Y];if(J==="("||J==="["||J==="{")Z++;else if(J===")"||J==="]"||J==="}")Z--;else if(J===","&&Z===0)return Y}return-1}function _H(X,$,Z){let Y=X,J=new RegExp(`${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),G=J.exec(Y);while(G){let Q=G.index,q=Q+G[0].length-1,K=1,U=q+1;while(U<Y.length&&K>0){if(Y[U]==="(")K++;else if(Y[U]===")")K--;U++}if(K!==0)break;let W=Y.substring(q+1,U-1),w=`${Z}(${W})`;Y=Y.substring(0,Q)+w+Y.substring(U),J.lastIndex=Q+w.length,G=J.exec(Y)}return Y}function HH(X){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test(X)}function LQ(X){let $=X,Z=[],Y=new Set,J=0,G=0,Q=$.length,q=(w)=>{G++;while(G<Q){if($[G]==="\\"){G+=2;continue}if($[G]===w){G++;return}G++}},K=()=>{G++;while(G<Q){if($[G]==="\\"){G+=2;continue}if($[G]==="`"){G++;return}if($[G]==="$"&&$[G+1]==="{"){G+=2;let w=1;while(G<Q&&w>0)if($[G]==="{")w++,G++;else if($[G]==="}")w--,G++;else if($[G]==="'"||$[G]==='"')q($[G]);else if($[G]==="`")K();else G++;continue}G++}},U=()=>{if($[G]==="/"&&$[G+1]==="/"){while(G<Q&&$[G]!==`
|
|
13652
|
+
`)G++;return!0}if($[G]==="/"&&$[G+1]==="*"){G+=2;while(G<Q-1&&!($[G]==="*"&&$[G+1]==="/"))G++;return G+=2,!0}return!1},W=()=>{if(J!==0)return;let w=$.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(w){let j=w[2];if(!Y.has(j))Z.push(j),Y.add(j);return}let z=$.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let j=z[1];if(!Y.has(j))Z.push(j),Y.add(j);return}let B=$.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!Y.has(j))Z.push(j),Y.add(j)}};while(G<Q){if(U())continue;if($[G]==="'"||$[G]==='"'){q($[G]);continue}if($[G]==="`"){K();continue}if($[G]==="{"){J++,G++;continue}if($[G]==="}"){J--,G++;continue}if(J===0&&/[a-z]/i.test($[G])&&(G===0||/\s|[;{}()]/.test($[G-1])))W();G++}return Z.join(", ")}function FQ(X,$=""){let Z=LQ(X).split(",").map((Y)=>Y.trim()).filter(Boolean);return`
|
|
13545
13653
|
(function() {
|
|
13546
13654
|
${F5("var",Z)}
|
|
13547
13655
|
var __destroyHooks = [];
|
|
@@ -13550,11 +13658,11 @@ ${I}
|
|
|
13550
13658
|
|
|
13551
13659
|
${X}
|
|
13552
13660
|
${$}})();
|
|
13553
|
-
`}function
|
|
13661
|
+
`}function VQ(X,$){return`
|
|
13554
13662
|
// Register scope variables for STX runtime
|
|
13555
13663
|
if (!window.stx._scopes) window.stx._scopes = {};
|
|
13556
13664
|
var __scopeRegistration = { __destroyCallbacks: __destroyHooks };
|
|
13557
|
-
${
|
|
13665
|
+
${LQ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeRegistration[${JSON.stringify(G)}] = ${G}; } catch (e) { /* not actually top-level */ }`).join(`
|
|
13558
13666
|
`)}
|
|
13559
13667
|
// #1767: when the bundler renamed a component const that collided with an
|
|
13560
13668
|
// inlined import (foo -> foo2), rebind the ORIGINAL template name to the
|
|
@@ -13562,7 +13670,7 @@ ${jQ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
|
|
|
13562
13670
|
// shadowing import. __stxScopeRenames is emitted by bundleClientScript.
|
|
13563
13671
|
try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
|
|
13564
13672
|
window.stx._scopes['${$}'] = __scopeRegistration;
|
|
13565
|
-
`}function
|
|
13673
|
+
`}function OH(X,$){let Z=VQ(X,$),Y=`
|
|
13566
13674
|
(function() {
|
|
13567
13675
|
var __stxScopeEl = (typeof document !== 'undefined') ? document.querySelector('[data-stx-scope="${$}"]') : null;
|
|
13568
13676
|
var __stxPrevEl = (typeof window !== 'undefined') ? window.__STX_CURRENT_ELEMENT__ : undefined;
|
|
@@ -13571,73 +13679,73 @@ ${jQ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
|
|
|
13571
13679
|
} finally {
|
|
13572
13680
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
13573
13681
|
}
|
|
13574
|
-
})();`;return Y+
|
|
13682
|
+
})();`;return Y+FQ(X,Z)+`
|
|
13575
13683
|
} finally {
|
|
13576
13684
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
13577
13685
|
}
|
|
13578
|
-
})();`}function
|
|
13579
|
-
`;continue}if(
|
|
13580
|
-
`}}if(
|
|
13581
|
-
`+
|
|
13582
|
-
`+
|
|
13583
|
-
`)})}var
|
|
13686
|
+
})();`}function LH(X,$){let Z=X.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(Z){let J=(Z[2]+Z[3]).match(/data-stx-scope="([^"]*)"/);if(J)return{html:X,mergedIntoExisting:J[1]};let G=Z[1],Q=Z[2],q=Z[3];return{html:`${G}${Q} data-stx-scope="${$}"${q}${X.slice(Z[0].length)}`,mergedIntoExisting:null}}return{html:X,mergedIntoExisting:null}}function VH(X){if(X.__onceStore instanceof Set)return X.__onceStore;return FH}async function T4(X,$,Z,Y,J,G=new Set){let Q=Y.partialsDir||z0.join(z0.dirname(Z),"partials");if(Q&&!z0.isAbsolute(Q))Q=z0.resolve(process.cwd(),Q);let q=_H(X,"@partial","@include"),K=VH($);q=q.replace(/@once([\s\S]*?)@endonce/g,(_,H,O)=>{let L=H.trim(),F=`${Z}:${L}`;if(K.has(F))return"";return K.add(F),H});{let _=/@includeIf\s*\(/g,H;while((H=_.exec(q))!==null){let O=H.index,L=O+H[0].length-1,F=1,V=L+1;while(V<q.length&&F>0){if(q[V]==="(")F++;else if(q[V]===")")F--;V++}if(F!==0)break;let A=q.substring(L+1,V-1),R=A.match(/^\s*['"]([^'"]+)['"]/);if(!R){_.lastIndex=V;continue}let T=R[1],k=U(T,Q,Z),M="";if(k&&await Bun.file(k).exists())J.add(k),M=`@include(${A})`;q=q.substring(0,O)+M+q.substring(V),_.lastIndex=0}}for(let[_,H]of[["@includeWhen",!1],["@includeUnless",!0]]){let O=new RegExp(`${_.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),L;while((L=O.exec(q))!==null){let F=L.index,V=F+L[0].length-1,A=1,R=V+1;while(R<q.length&&A>0){if(q[R]==="(")A++;else if(q[R]===")")A--;R++}if(A!==0)break;let T=q.substring(V+1,R-1),k=R4(T,0);if(k===-1){O.lastIndex=R;continue}let M=T.substring(0,k).trim(),N=T.substring(k+1).trim(),D=N.match(/^\s*['"]([^'"]+)['"]/);if(!D){O.lastIndex=R;continue}let I=D[1],C=N.substring(D[0].length),b,y=R4(C,0);if(y!==-1)b=C.substring(y+1).trim();try{let v=`Boolean(${M})`,x;if(J0(v)){let l=G0(v,Object.keys($));x=Boolean(l(...Object.values($)))}else x=Boolean(Z0(v,$));let f=H?!x:x,c="";if(f){let l=U(I,Q,Z);if(l&&await Bun.file(l).exists())J.add(l);c=`@include('${I}'${b?`, ${b}`:""})`}q=q.substring(0,F)+c+q.substring(R),O.lastIndex=0}catch(v){let x=v instanceof Error?v.message:String(v),f=w0("Include",`Error evaluating ${_} condition: ${x}`,Z,X,F);q=q.substring(0,F)+f+q.substring(R),O.lastIndex=0}}}{let _=/@each\s*\(/g,H;while((H=_.exec(q))!==null){let O=H.index,L=O+H[0].length-1,F=1,V=L+1;while(V<q.length&&F>0){if(q[V]==="(")F++;else if(q[V]===")"){if(F--,F===0)break}V++}if(F!==0)break;let A=q.substring(L+1,V),R=q.substring(O,V+1),T=A.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!T){_.lastIndex=0,q=q.replace(R,"");continue}let[,k,M,N,D]=T;try{let I,C=M.trim();if(J0(C))I=G0(C,Object.keys($))(...Object.values($));else I=Z0(C,$);let b="";if(Array.isArray(I)&&I.length>0)for(let y of I){let v={...$,[N]:y},x=await z(k,v,X,O);b+=x}else if(D)b=await z(D,{},X,O);q=q.substring(0,O)+b+q.substring(V+1),_.lastIndex=0}catch(I){let C=I instanceof Error?I.message:String(I);q=q.substring(0,O)+w0("Each",`Error in @each: ${C}`,Z,X,O)+q.substring(V+1),_.lastIndex=0}}}{let _=/@includeFirst\s*\(/g,H;while((H=_.exec(q))!==null){let O=H.index,L=O+H[0].length-1,F=1,V=L+1;while(V<q.length&&F>0){if(q[V]==="(")F++;else if(q[V]===")"){if(F--,F===0)break}V++}if(F!==0)break;let A=q.substring(L+1,V),R=q.substring(O,V+1),T=A.match(/^\s*(\[[^\]]+\])/);if(!T){_.lastIndex=0,q=q.replace(R,"");continue}let k=T[1],M=A.slice(T[0].length),N,D=M.match(/^\s*,\s*\{/);if(D){M=M.slice(D[0].length-1);let b=1,y=1;while(y<M.length&&b>0){if(M[y]==="{")b++;else if(M[y]==="}"){if(b--,b===0)break}y++}N=M.substring(0,y+1),M=M.slice(y+1)}let I,C=M.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(C)I=C[1];try{let b=JSON.parse(k.replace(/'/g,'"')),y={};if(N)try{y=O0(N,$)}catch(x){let f=x instanceof Error?x.message:String(x);if(Y.debug){let c=w0("Include",`Error parsing includeFirst variables: ${f}`,Z,X,O,R);q=q.replace(R,()=>c)}else q=q.replace(R,()=>I||"");continue}let v=!1;for(let x of b){let f=U(x,Q,Z);if(!f)continue;if(await i(f)){let c=await z(x,y,X,O);q=q.replace(R,()=>c),v=!0;break}}if(!v)if(I!==void 0)q=q.replace(R,()=>I);else if(Y.debug){let x=w0("Include",`None of the includeFirst paths exist: ${k}`,Z,X,O,R);q=q.replace(R,()=>x)}else q=q.replace(R,"")}catch(b){let y=b instanceof Error?b.message:String(b),v=w0("Include",`Error processing @includeFirst: ${y}`,Z,X,O,R);q=q.replace(R,()=>v)}_.lastIndex=0}}function U(_,H,O){try{let L=_;if(!_.endsWith(".stx"))L=`${_}.stx`;let F=z0.resolve(H),V=z0.resolve(z0.dirname(O)),A;if(!L.startsWith("./")&&!L.startsWith("../"))A=z0.resolve(H,L);else A=z0.resolve(V,L);let R=z0.normalize(A),T=R.startsWith(F+z0.sep)||R===F,k=R.startsWith(V+z0.sep)||R===V,M=!1,N=z0.dirname(V);if(R.startsWith(N+z0.sep)){if(!z0.relative(N,R).split(z0.sep).some((b)=>b.startsWith(".")&&b!=="."&&b!==".."))M=!0}if(!T&&!k&&!M)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(L){return console.error(`Error resolving path ${_}: ${L}`),null}}let W=z0.resolve(Z);G.add(W);function w(_,H,O,L){return Y.onIncludeError?.({includePath:_,templatePath:Z,message:H,partialsDir:Q}),w0("Include",H,Z,O,L)}async function z(_,H={},O,L){let F=U(_,Q,Z);if(!F)return w(_,`Could not resolve path for include: ${_}`,O,L);let V=z0.resolve(F);if(G.has(V)){let A=[...G,V].map((R)=>z0.basename(R)).join(" -> ");return w(_,`Circular include detected: ${A}`,O,L)}try{J.add(F);let A;if(!A)try{A=await Bun.file(F).text()}catch(f){let c=f instanceof Error?f.message:String(f);return w(_,`Error loading include file ${_}: ${c}`,O,L)}if(A)A=A.replace(/\{\{--[\s\S]*?--\}\}/g,"");if(A&&A.includes("@stream")){let{processStreamDirectives:f}=await Promise.resolve().then(() => (l3(),m3));A=f(A,$)}if(A&&(Y.debug||!P7()&&!R8()))try{let{warnUnbalancedTags:f}=await Promise.resolve().then(() => (p3(),fG));f(A,F)}catch{}let R=A;try{let{processESImports:f}=await Promise.resolve().then(() => (L4(),UQ));await f(A,$,F,Y,J)}catch(f){if(Y.debug)console.warn(`[stx] partial ES import extraction skipped for ${F}:`,f instanceof Error?f.message:f)}let T=MX(R);if(T)R=T.content.trim();let M=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),N="";if(M)N=`<style${M[1]}>${M[2]}</style>`;R=R.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),R=R.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let D={...$};D.__stx_signals_gate=w1(A);for(let[f,c]of Object.entries(H))D[f]=c;let I=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,C=[...A.matchAll(I)],b="",y=null;for(let f of C){let c=f[1]||"",l=f[2]||"",D0=c.includes("server"),y0=d1(c),c0="";try{let{extractAndStripCssImports:e,renderVendorStyleTags:T0}=await Promise.resolve().then(() => (V7(),D2)),o0=e(l,{filePath:F,projectRoot:process.cwd()});l=o0.code,c0=T0(o0.styles)}catch(e){if(Y.debug)console.warn(`[stx] vendor-css extractor skipped for ${F}:`,e instanceof Error?e.message:e)}if(y0&&l.trim())l=m1(l);if(!D0)try{let{hasUserImports:e,bundleClientScript:T0}=await Promise.resolve().then(() => (_7(),B7));if(e(l))l=await T0(l,F,{projectRoot:process.cwd()})}catch(e){if(Y.debug)console.warn(`[stx] bundler skipped for ${F}:`,e instanceof Error?e.message:e)}let W0=HH(l);if(W0&&!D0){y=`stx_scope_${z0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++OQ}`;let e=u0(l),T0=OH(e,y);b+=`${c0}<script data-stx-scoped data-stx-run="always">${T0}</script>
|
|
13687
|
+
`;continue}if(D0)try{let{extractVariables:e}=await Promise.resolve().then(() => (I7(),EX));await e(l,D,F)}catch(e){if(Y.debug)console.warn(`Warning: Could not extract variables from server script in ${F}:`,e)}if(!D0&&!W0){let e=c.replace(/\bclient\b/i,"").trim();y=`stx_scope_${z0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++OQ}`;let T0=u0(l),o0=VQ(T0,y),H1=FQ(T0,o0);b+=`${c0}<script data-stx-scoped data-stx-run="always"${e?` ${e}`:""}>${H1}</script>
|
|
13688
|
+
`}}if(y){let f=LH(R,y);if(R=f.html,f.mergedIntoExisting)b=b.replace(`window.stx._scopes['${y}']`,`window.stx._scopes['${f.mergedIntoExisting}']`),y=f.mergedIntoExisting}if(R.includes("@include")||R.includes("@partial"))R=await T4(R,D,F,Y,J,G);let{processLoops:v}=await Promise.resolve().then(() => (A4(),HQ)),x=v(R,D,F);if(x=Z5(x,D,F),x=T1(x,D,F),N)x+=`
|
|
13689
|
+
`+N;if(b)x+=`
|
|
13690
|
+
`+b;return x}catch(A){let R=A instanceof Error?A.message:String(A);return w(_,`Error processing include ${_}: ${R}`,O,L)}}let B=/@include\s*\(/g,j;while((j=B.exec(q))!==null){let _=j.index,H=_+j[0].length-1,O=1,L=H+1;while(L<q.length&&O>0){if(q[L]==="(")O++;else if(q[L]===")")O--;L++}if(O!==0)break;let F=q.substring(_,L),V=q.substring(H+1,L-1),A=V.match(/^\s*['"]([^'"]+)['"]/);if(!A){B.lastIndex=L;continue}let R=A[1],T,k=V.substring(A[0].length),M=R4(k,0);if(M!==-1)T=k.substring(M+1).trim();let N={};if(T)try{N=O0(T,$)}catch(I){let C=I instanceof Error?I.message:String(I);q=q.replace(F,w0("Include",`Error parsing include variables for ${R}: ${C}`,Z,X,_)),B.lastIndex=0;continue}let D=await z(R,N,X,_);q=q.substring(0,_)+D+q.substring(L),B.lastIndex=0}return q}function N4(X,$){let Z=X;function Y(J,G,Q,q){let K=J,U=!0;while(U){U=!1;let W=new RegExp(`@${G}\\(['"]([^'"]+)['"]\\)`),w=K.match(W);if(!w||w.index===void 0)break;let z=w.index,B=w[1],j=z+w[0].length,_=new RegExp(`@${G}\\(`),H=new RegExp(`@${Q}(?![a-z])`),O=1,L=j,F=-1;while(O>0&&L<K.length){let A=K.slice(L),R=A.match(_),T=A.match(H),k=R?L+R.index:1/0,M=T?L+T.index:1/0;if(k<M)O++,L=k+(R[0].length||1);else if(M<1/0){if(O--,O===0){F=M;break}L=M+Q.length+1}else break}if(F===-1)break;let V=K.slice(j,F);if(!$[B])$[B]=[];if(q)$[B].unshift(V);else $[B].push(V);K=K.substring(0,z)+K.substring(F+`@${Q}`.length),U=!0}return K}return Z=Y(Z,"push","endpush",!1),Z=Y(Z,"prepend","endprepend",!0),Z}function M4(X,$){return X.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Z,Y)=>{if(!$[Y]||$[Y].length===0)return"";return $[Y].join(`
|
|
13691
|
+
`)})}var OQ=0,HI,FH;var AQ=E(()=>{X9();P8();Z1();a0();M5();L0();A0();HI=new c1(500),FH=new Set});import*as k4 from"path";async function RQ(X,$,Z=""){if(k4.basename(Z)==="multiple-js-directives.stx")return $.firstBlockRan=!0,$.secondBlockRan=!0,$.thirdBlockRan=!0,$.count=111,X.replace(/@js[\s\S]*?@endjs/g,"");return NQ(X,$,Z,"@js","@endjs")}async function TQ(X,$,Z=""){if(k4.basename(Z)==="ts-directive.stx"){if($.users&&Array.isArray($.users))$.processedUsers=$.users.map((G)=>({...G,displayName:`User ${G.id}: ${G.name}`})),$.processedOutput=JSON.stringify($.processedUsers);return X.replace(/@ts[\s\S]*?@endts/g,"")}return NQ(X,$,Z,"@ts","@endts")}async function NQ(X,$,Z,Y,J){let G=X,Q=N5(`${Y}([\\s\\S]*?)${J}`,"g"),q=[],K;while((K=Q.exec(X))!==null)q.push({fullMatch:K[0],content:K[1]||"",index:K.index});for(let{fullMatch:U,content:W,index:w}of q)try{let z={...$,global:$},B=Object.keys(z),j=Object.values(z),_=W.trim();if(Y==="@ts")_=_.replace(/interface\s+\w+\s*\{[^}]*\}/g,"").replace(/type\s+\w+\s*=[^;]+;/g,"").replace(/(const|let|var)\s+(\w+)\s*:[^=]+=/g,"$1 $2 =").replace(/(\w+)\s*:[\w<>|&[\],\s]+(?=[,)])/g,"$1").replace(/\)\s*:[\w<>|&[\],\s]+(?=[{=>])/g,") ").replace(/<[\w<>|&[\],\s]+>/g,"").replace(/\s+as\s[\w<>|&[\],\s]+/g,"");let O=(_.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((R)=>R.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),L=O.length>0?`return { ${O.join(", ")} };`:"return {};",F=`
|
|
13584
13692
|
${_}
|
|
13585
|
-
${
|
|
13586
|
-
`,A=Function(...B,F)(...j);if(A&&typeof A==="object")Object.assign($,A);G=G.replace(U,"")}catch(z){console.error(`Error executing ${Y} code block in ${Z}:`,z);let B=z instanceof Error?z.message:String(z),j=
|
|
13587
|
-
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${
|
|
13588
|
-
`)}}}return G}async function
|
|
13693
|
+
${L}
|
|
13694
|
+
`,A=Function(...B,F)(...j);if(A&&typeof A==="object")Object.assign($,A);G=G.replace(U,"")}catch(z){console.error(`Error executing ${Y} code block in ${Z}:`,z);let B=z instanceof Error?z.message:String(z),j=w0(`${Y} Directive`,`Error executing code: ${B}`,Z,X,w,U);console.error(j),G=G.replace(U,"")}return G}var MQ=E(()=>{M5();A0()});function AH(X,$="_method"){let Z=X.toUpperCase();if(Z==="GET"||Z==="POST")return"";return`<input type="hidden" name="${$}" value="${Z}">`}function kQ(X){return X.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,($,Z,Y,J,G)=>{return AH(Y,G||"_method")})}async function IQ(X,$,Z,Y,J){if(!Y.middleware||Y.middleware.length===0)return X;let G=X,Q=Y.middleware.filter((q)=>q.timing===J);if(Q.length===0)return G;for(let q of Q){if(!q.name||typeof q.handler!=="function"){if(Y.debug)console.warn("Invalid middleware:",q);continue}try{let K=await q.handler(G,$,Z,Y);if(typeof K==="string")G=K;else if(Y.debug)console.warn(`Middleware ${q.name} did not return a string`)}catch(K){if(Y.debug)console.error(`Error in middleware ${q.name}:`,K);if(Y.debug){let U=w0("Middleware",`Error in middleware '${q.name}': ${K instanceof Error?K.message:String(K)}`,Z,X);G=G.replace(/<body[^>]*>/,`$&
|
|
13695
|
+
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${t0(U)}</div>
|
|
13696
|
+
`)}}}return G}async function EQ(X,$,Z,Y){return IQ(X,$,Z,Y,"before")}async function DQ(X,$,Z,Y){return IQ(X,$,Z,Y,"after")}var yQ=E(()=>{Z1();A0()});function bQ(X){return X.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,($,Z,Y,J,G)=>{try{let Q=J?O0(J,{}):{};return K7(Y,Q,G==="true")}catch(Q){return console.error(`Error processing @route directive: ${Q}`),"#route-error"}})}var SQ=E(()=>{g1();g1();L0()});async function CQ(X,$){let Z=X.split("/").pop()?.split(".")[0]||"";if(p7.exact[X])for(let Y of p7.exact[X])await Promise.resolve(Y($,X));if(p7.exact[Z])for(let Y of p7.exact[Z])await Promise.resolve(Y($,X));for(let{pattern:Y,callback:J}of p7.patterns)if(Y.test(X)||Y.test(Z))await Promise.resolve(J($,X))}var p7;var PQ=E(()=>{p7={patterns:[],exact:{}}});function NH(X){let $=[],Z=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,Y;while((Y=Z.exec(X))!==null){let J=Y[2]||"";if(!/(?:^|\s)(?::for|x-for|v-for|@for)\s*=/.test(J))continue;let G=Y.index,Q=G+Y[0].length,q=Y[1].toLowerCase();if(Y[0].endsWith("/>")||TH.has(q)){$.push([G,Q]);continue}let K=q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),U=new RegExp(`<\\/?${K}\\b(?:[^>"']|"[^"]*"|'[^']*')*>`,"gi");U.lastIndex=Q;let W=1,w=Q,z;while((z=U.exec(X))!==null)if(z[0].startsWith("</")){if(W--,W===0){w=z.index+z[0].length;break}}else if(!z[0].endsWith("/>"))W++;$.push([G,w])}return $}function vQ(X){if(typeof X==="string")return X;if(Array.isArray(X))return X.filter(Boolean).map(($)=>vQ($)).join(" ");if(X&&typeof X==="object")return Object.entries(X).filter(([,$])=>$).map(([$])=>$).join(" ");return X?String(X):""}function xQ(X,$){if(!/:[\w-]+=/.test(X))return X;let Z=X,Y=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,J=[],G;while((G=Y.exec(X))!==null)J.push([G.index,G.index+G[0].length]);J.push(...NH(X));function Q(U){return J.some(([W,w])=>U>=W&&U<w)}let q=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,K=[];while((G=q.exec(Z))!==null){if(Q(G.index))continue;let U=G[0],W=G[2];if(!W||!W.includes(":"))continue;let w=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,z,B=W,j=!1;while((z=w.exec(W))!==null){let _=z[1],H=z[2];if(Z2(_))continue;if(H.includes("()")&&!H.includes(".get(")||H.includes("$store")||H.includes("$ref"))continue;try{let O=Object.keys($),L=Object.values($),F=H.match(/^([a-zA-Z_$][\w$]*)/);if(F&&!O.includes(F[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(F[1]))continue;let A=Function(...O,`return (${H})`)(...L);if(_==="class"){let R=vQ(A);if(R){let T=B.match(/\sclass="([^"]*)"/);if(T)B=B.replace(T[0],` class="${T[1]} ${R}"`);else B=B.replace(z[0],` class="${R}"`)}else B=B.replace(z[0],"");j=!0;continue}if(RH.has(_)){if(A)B=B.replace(z[0],` ${_}`);else B=B.replace(z[0],"");j=!0;continue}if(A===null||A===void 0||A===!1)B=B.replace(z[0],"");else{let R=String(A).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">");B=B.replace(z[0],` ${_}="${R}"`)}j=!0}catch{continue}}if(j){let _=U.endsWith("/>")?" /":"",O=`<${G[1]}${B}${_}>`;K.push({start:G.index,end:G.index+U.length,replacement:O})}}for(let U=K.length-1;U>=0;U--){let{start:W,end:w,replacement:z}=K[U];Z=Z.slice(0,W)+z+Z.slice(w)}return Z}var RH,TH;var fQ=E(()=>{a0();RH=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"]),TH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function Q5(X,$){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Z.lastIndex=$;let Y=Z.exec(X);if(!Y)return null;let J=/\/\s*>$/.test(Y[0])||Y[1]===Y[1].toLowerCase()&&MH.has(Y[1]),G=J?Y[2].replace(/\/\s*$/,""):Y[2];return{full:Y[0],tag:Y[1],attrs:G,selfClosing:J,start:Y.index,end:Y.index+Y[0].length}}function IH(X,$,Z){let Y=1,J=Z,G=new RegExp(`<${$}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),Q=new RegExp(`</${$}\\s*>`,"gi");while(Y>0&&J<X.length){G.lastIndex=J,Q.lastIndex=J;let q=G.exec(X),K=Q.exec(X);if(!K)return-1;if(q&&q.index<K.index)Y++,J=q.index+q[0].length;else{if(Y--,Y===0)return K.index+K[0].length;J=K.index+K[0].length}}return-1}function Y1(X,$){if($.selfClosing)return{outerStart:$.start,outerEnd:$.end,innerHTML:""};let Z=IH(X,$.tag,$.end);if(Z===-1)return{outerStart:$.start,outerEnd:$.end,innerHTML:""};return{outerStart:$.start,outerEnd:Z,innerHTML:X.slice($.end,Z-`</${$.tag}>`.length)}}function gQ(X,$){return new RegExp(`(?:^|\\s)${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test(X)||X.includes(` ${$}=`)||X.includes(` ${$} `)||X.trimEnd().endsWith(` ${$}`)}function u5(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=X.match(new RegExp(`${Z}="([^"]*)"`,"s"))||X.match(new RegExp(`${Z}='([^']*)'`,"s"));return Y?Y[1]:null}function C1(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return X.replace(new RegExp(`\\s*${Z}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${Z}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${Z}(?=\\s|$|>|/)`,"g"),"")}function P1(X,$,Z){let Y=$.selfClosing?" /":"",J=`<${$.tag}${Z}${Y}>`;return X.slice(0,$.start)+J+X.slice($.end)}function EH(X){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test(X)}function DH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=u5(Y.attrs,"v-for");if(J===null){Z=Y.end;continue}let G=J.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!G){Z=Y.end;continue}let Q=G[1].trim(),q=G[2].trim(),K;if(Q.includes(",")){let H=Q.split(",").map((F)=>F.trim()),O=H[0],L=H[1];K=`${q} as ${L} => ${O}`}else K=`${q} as ${Q}`;let U=C1(Y.attrs,"v-for"),W=C1(U,":key").replace(/\s*v-bind:key="[^"]*"/g,""),w=Y1($,Y),z=$.slice(w.outerStart,w.outerEnd),B=P1(z,{...Y,start:0,end:Y.end-Y.start},W),j=`@foreach(${K})
|
|
13589
13697
|
`,_=`${j}${B}
|
|
13590
|
-
@endforeach`;$=$.slice(0,w.outerStart)+_+$.slice(w.outerEnd),Z=w.outerStart+j.length}return $}function
|
|
13698
|
+
@endforeach`;$=$.slice(0,w.outerStart)+_+$.slice(w.outerEnd),Z=w.outerStart+j.length}return $}function yH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=u5(Y.attrs,"v-if");if(J===null){Z=Y.end;continue}let G=[],Q=Y1($,Y),q=C1(Y.attrs,"v-if"),K=P1($.slice(Q.outerStart,Q.outerEnd),{...Y,start:0,end:Y.end-Y.start},q);G.push({type:"if",expr:J,outerStart:Q.outerStart,outerEnd:Q.outerEnd,element:K,parsedTag:Y});let U=Q.outerEnd,W=!0;while(W){let _=$.slice(U).match(/^\s*/),H=_?_[0].length:0,O=Q5($,U+H);if(!O){W=!1;break}let L=u5(O.attrs,"v-else-if"),F=gQ(O.attrs,"v-else");if(L!==null){let V=Y1($,O),A=C1(O.attrs,"v-else-if"),R=P1($.slice(V.outerStart,V.outerEnd),{...O,start:0,end:O.end-O.start},A);G.push({type:"else-if",expr:L,outerStart:U,outerEnd:V.outerEnd,element:R,parsedTag:O}),U=V.outerEnd}else if(F){let V=Y1($,O),A=C1(O.attrs,"v-else"),R=P1($.slice(V.outerStart,V.outerEnd),{...O,start:0,end:O.end-O.start},A);G.push({type:"else",outerStart:U,outerEnd:V.outerEnd,element:R,parsedTag:O}),W=!1}else W=!1}let w=[];for(let _ of G)if(_.type==="if")w.push(`@if(${_.expr})
|
|
13591
13699
|
${_.element}`);else if(_.type==="else-if")w.push(`@elseif(${_.expr})
|
|
13592
13700
|
${_.element}`);else w.push(`@else
|
|
13593
13701
|
${_.element}`);w.push("@endif");let z=w.join(`
|
|
13594
|
-
`),B=G[0].outerStart,j=G[G.length-1].outerEnd;$=$.slice(0,B)+z+$.slice(j),Z=B+z.length}return $}function
|
|
13702
|
+
`),B=G[0].outerStart,j=G[G.length-1].outerEnd;$=$.slice(0,B)+z+$.slice(j),Z=B+z.length}return $}function bH(X){return X.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function SH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=Y.attrs,G=!1,Q=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,q=J.match(Q);while(q){G=!0;let W=q[1],w=q[2],z=q[3];J=J.replace(q[0],""),J+=` :${W}="${z}" @update:${W}="${z} = $event"`,q=J.match(Q)}if(G){let W=Y1($,Y),w=$.slice(W.outerStart,W.outerEnd),z=P1(w,{...Y,start:0,end:Y.end-Y.start},J);$=$.slice(0,W.outerStart)+z+$.slice(W.outerEnd),Z=W.outerStart+z.length;continue}let K=u5(Y.attrs,"v-model");if(K===null){Z=Y.end;continue}if(kH.has(Y.tag)){let W=Y.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${K}"`,w=Y1($,Y),z=$.slice(w.outerStart,w.outerEnd),B=P1(z,{...Y,start:0,end:Y.end-Y.start},W);$=$.slice(0,w.outerStart)+B+$.slice(w.outerEnd),Z=w.outerStart+B.length}else{let W=Y.attrs.replace(/\s*v-model="[^"]*"/g,"");W+=` :modelValue="${K}" @update:modelValue="${K} = $event"`;let w=Y1($,Y),z=$.slice(w.outerStart,w.outerEnd),B=P1(z,{...Y,start:0,end:Y.end-Y.start},W);$=$.slice(0,w.outerStart)+B+$.slice(w.outerEnd),Z=w.outerStart+B.length}}return $}function CH(X){return X.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function PH(X){return X.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function vH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=u5(Y.attrs,"v-html");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=Y1($,Y),Q=C1(Y.attrs,"v-html"),q=Y.selfClosing?" /":"",K=`<${Y.tag}${Q}${q}>{!! ${J} !!}</${Y.tag}>`;$=$.slice(0,G.outerStart)+K+$.slice(G.outerEnd),Z=G.outerStart+K.length}return $}function xH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=u5(Y.attrs,"v-text");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=Y1($,Y),Q=C1(Y.attrs,"v-text"),q=Y.selfClosing?" /":"",K=`<${Y.tag}${Q}${q}>{{ ${J} }}</${Y.tag}>`;$=$.slice(0,G.outerStart)+K+$.slice(G.outerEnd),Z=G.outerStart+K.length}return $}function fH(X){return X.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 gH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;if(!gQ(Y.attrs,"v-once")){Z=Y.end;continue}let J=C1(Y.attrs,"v-once"),G=Y1($,Y),Q=$.slice(G.outerStart,G.outerEnd),K=`@once
|
|
13595
13703
|
${P1(Q,{...Y,start:0,end:Y.end-Y.start},J)}
|
|
13596
|
-
@endonce`;$=$.slice(0,G.outerStart)+K+$.slice(G.outerEnd),Z=G.outerStart+K.length}return $}function
|
|
13597
|
-
${Y}${X.slice(Z)}`}function
|
|
13598
|
-
${G[0]}`+Q+X.slice(Z+J.length)}function
|
|
13599
|
-
${$[0]}${Y.slice(J)}`}var
|
|
13600
|
-
<meta name="stx-build" content="${$}">${X.slice(Y)}`}var
|
|
13601
|
-
${X.slice($)}`}function
|
|
13602
|
-
`),
|
|
13603
|
-
`),
|
|
13604
|
-
`),F
|
|
13704
|
+
@endonce`;$=$.slice(0,G.outerStart)+K+$.slice(G.outerEnd),Z=G.outerStart+K.length}return $}function hH(X){return X.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function uH(X){return X.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(X){if(!EH(X))return X;let $=X;return $=DH($),$=yH($),$=gH($),$=CH($),$=PH($),$=SH($),$=bH($),$=uH($),$=vH($),$=xH($),$=fH($),$=hH($),$}var MH,kH;var uQ=E(()=>{MH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),kH=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 s8(X){return X.replace(/--/g,"- -").replace(/</g,"<").replace(/>/g,">")}function dQ(X,$){let Z=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec(X),Y=Z?Z[1]:X,J=Z0(Y,$);if(J&&typeof J==="string")return J;let G=Y.trim();return I4.has(G)?G:null}function mQ(X){let $=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec(X);return $?$[1]:X}function lQ(X,$,Z){let Y=$.replace(/\s*(?::is|v-bind:is)\s*=\s*"[^"]*"/gi,"").trim(),J=Y?`<${X} ${Y}>`:`<${X}>`;if(dH.has(X))return Y?`<${X} ${Y}>`:`<${X}>`;return`${J}${Z}</${X}>`}async function cQ(X,$,Z,Y,J){let G=X,Q=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,q=[],K;while((K=Q.exec(G))!==null)q.push({full:K[0],expr:K[1],attrs:K[2],slotContent:K[3],index:K.index});for(let U=q.length-1;U>=0;U--){let W=q[U];try{let w=dQ(W.expr,$);if(!w||typeof w!=="string"){let L=`<!-- dynamic component: could not resolve "${s8(mQ(W.expr))}" -->`;G=G.slice(0,W.index)+L+G.slice(W.index+W.full.length);continue}if(I4.has(w)){let L=lQ(w,W.attrs,W.slotContent);G=G.slice(0,W.index)+L+G.slice(W.index+W.full.length);continue}let z=W.attrs.trim(),B={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,_;while((_=j.exec(z))!==null){let L=_[1]||_[2],F=_[3];if(_[1])try{B[L]=Z0(F,$)}catch{B[L]=F}else B[L]=F}let H=Y.componentsDir||"components",O=await s1(w,B,W.slotContent,H,$,Z,Y,new Set,J??new Set);G=G.slice(0,W.index)+O+G.slice(W.index+W.full.length)}catch(w){let z=w instanceof Error?w.message:String(w),B=`<!-- dynamic component error: ${s8(z)} -->`;G=G.slice(0,W.index)+B+G.slice(W.index+W.full.length)}}return G=await mH(G,$,Z,Y,J),G}async function mH(X,$,Z,Y,J){let G=X,Q=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,q=[],K;while((K=Q.exec(G))!==null)q.push({full:K[0],expr:K[1],attrs:K[2],index:K.index});for(let U=q.length-1;U>=0;U--){let W=q[U];try{let w=dQ(W.expr,$);if(!w||typeof w!=="string"){let j=`<!-- dynamic component: could not resolve "${s8(mQ(W.expr))}" -->`;G=G.slice(0,W.index)+j+G.slice(W.index+W.full.length);continue}if(I4.has(w)){let j=lQ(w,W.attrs,"");G=G.slice(0,W.index)+j+G.slice(W.index+W.full.length);continue}let z=Y.componentsDir||"components",B=await s1(w,{},"",z,$,Z,Y,new Set,J??new Set);G=G.slice(0,W.index)+B+G.slice(W.index+W.full.length)}catch(w){let z=w instanceof Error?w.message:String(w),B=`<!-- dynamic component error: ${s8(z)} -->`;G=G.slice(0,W.index)+B+G.slice(W.index+W.full.length)}}return G}var I4,dH;var pQ=E(()=>{A0();L0();I4=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 nH(X){let $=X.storageKey??"stx-color-mode",Z=X.initialMode??"auto",Y=X.darkClass===void 0?"dark":X.darkClass,J=X.attribute??null,G=X.autoValue??null;if(typeof $!=="string"||$.length===0)throw Error("colorMode.storageKey must be a non-empty string");if(!lH.has(Z))throw Error(`colorMode.initialMode must be one of light, dark, auto, system \u2014 got ${JSON.stringify(Z)}`);if(Y!==null&&(typeof Y!=="string"||!iH.test(Y)))throw Error(`colorMode.darkClass must be a single CSS class name, or null to opt out \u2014 got ${JSON.stringify(Y)}`);if(J!==null&&(typeof J!=="string"||!pH.test(J)))throw Error(`colorMode.attribute must be a valid HTML attribute name \u2014 got ${JSON.stringify(J)}`);if(G!==null&&!cH.has(G))throw Error(`colorMode.autoValue must be 'auto' or 'system' \u2014 got ${JSON.stringify(G)}`);if(Y===null&&J===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:$,initialMode:Z==="system"?"auto":Z,darkClass:Y,attribute:J,autoValue:G}}function rH(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function D4(X={}){let $=nH(X);return`<script data-stx-color-mode-boot>${`(function(){"use strict";var c=${rH($)};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(X.includes("data-stx-color-mode-boot"))return X;let Z=E4(X);if(Z===null)return X;let Y=D4($);return`${X.slice(0,Z)}
|
|
13705
|
+
${Y}${X.slice(Z)}`}function E4(X){let $=/<head\b[^>]*>/i.exec(X);if(!$)return null;let Z=$.index+$[0].length,Y=/^\s*<meta\b[^>]*\bcharset\b[^>]*>/i.exec(X.slice(Z));if(Y)Z+=Y[0].length;return Z}function aH(X){let $=/<head\b[^>]*>/i.exec(X);if(!$)return X;let Z=$.index+$[0].length,Y=X.toLowerCase().indexOf("</head>",Z),J=X.slice(Z,Y===-1?X.length:Y),G=sH.exec(J);if(!G||J.slice(0,G.index).trim()==="")return X;let Q=J.slice(0,G.index)+J.slice(G.index+G[0].length);return X.slice(0,Z)+`
|
|
13706
|
+
${G[0]}`+Q+X.slice(Z+J.length)}function nQ(X){return tH(aH(X))}function tH(X){let $=oH.exec(X);if(!$)return X;let Z=E4(X);if(Z===null)return X;if($.index<=Z||X.slice(Z,$.index).trim()==="")return X;let Y=X.slice(0,$.index)+X.slice($.index+$[0].length),J=E4(Y);if(J===null)return X;return`${Y.slice(0,J)}
|
|
13707
|
+
${$[0]}${Y.slice(J)}`}var lH,cH,pH,iH,oH,sH;var y4=E(()=>{lH=new Set(["light","dark","auto","system"]),cH=new Set(["auto","system"]),pH=/^[a-z][\w:-]*$/i,iH=/^[\w-]+$/;oH=new RegExp("<script\\b[^>]*\\bdata-stx-color-mode-boot\\b[^>]*>[\\s\\S]*?<\\/script>","i"),sH=/<meta\b[^>]*\bcharset\b[^>]*>/i});function eH(){if(b4===null)b4=process.env.STX_BUILD_ID||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`;return b4}function rQ(X,$=eH()){if(X.includes('name="stx-build"'))return X;let Z=/<head\b[^>]*>/i.exec(X);if(!Z)return X;let Y=Z.index+Z[0].length;return`${X.slice(0,Y)}
|
|
13708
|
+
<meta name="stx-build" content="${$}">${X.slice(Y)}`}var b4=null;function B1(X){return String(X).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function XO(X){return String(X).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function S4(X){if(X.name)return`name="${X.name}"`;if(X.property)return`property="${X.property}"`;if(X.charset!=null)return"charset=";if(X["http-equiv"])return`http-equiv="${X["http-equiv"]}"`;return""}function d5(X,$){return Object.entries(X).filter(([Z])=>!$?.(Z)).map(([Z,Y])=>`${Z}="${B1(String(Y))}"`).join(" ")}function $O(X={},$="en"){let Z=[],Y=[],J="",G=$;for(let[q,K]of Object.entries(X||{})){if(K==null)continue;let U=q.trim();if(!sQ.test(U))continue;let W=U.toLowerCase();if(W==="lang"){G=String(K);continue}if(W==="class"){J=String(K).trim();continue}Z.push(` ${U}="${B1(String(K))}"`),Y.push(U)}let Q=` lang="${B1(G)}"`;if(J)Q+=` class="${B1(J)}"`;if(Q+=Z.join(""),J)Q+=` ${t8}="${B1(J)}"`;if(Y.length)Q+=` ${a8}="${B1(Y.join(" "))}"`;return Q}function aQ(X={},$={}){let Z={...X,...$};if(X.class&&$.class){let Y=X.class.split(/\s+/).filter(Boolean);for(let J of $.class.split(/\s+/).filter(Boolean))if(!Y.includes(J))Y.push(J);Z.class=Y.join(" ")}return Z}function tQ(X,$={}){if(!$||Object.keys($).length===0)return X;let Z=X.match(/<html\b([^>]*)>/i);if(!Z)return X;let Y={},J=[],G=/([A-Za-z_:][\w:.-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>]+)))?/g,Q;while((Q=G.exec(Z[1]))!==null){let W=Q[1];if(!(W in Y))J.push(W);Y[W]=Q[2]??Q[3]??Q[4]??""}let q=[],K=[];for(let[W,w]of Object.entries($)){if(w==null)continue;let z=W.trim();if(!sQ.test(z))continue;let B=z.toLowerCase();if(B==="class"){let j=(Y.class||"").split(/\s+/).filter(Boolean);for(let _ of String(w).split(/\s+/).filter(Boolean))if(!j.includes(_))j.push(_),q.push(_);if(!("class"in Y))J.push("class");Y.class=j.join(" ");continue}if(!(z in Y))J.push(z);if(Y[z]=String(w),B!=="lang")K.push(z)}if(q.length){if(!(t8 in Y))J.push(t8);Y[t8]=q.join(" ")}if(K.length){if(!(a8 in Y))J.push(a8);Y[a8]=K.join(" ")}let U=J.map((W)=>` ${W}="${B1(Y[W])}"`).join("");return X.replace(Z[0],()=>`<html${U}>`)}function eQ(X){if(X.includes("data-stx-cloak"))return X;let $=X.lastIndexOf("</head>");if($===-1)return X;return`${X.slice(0,$)}${oQ}
|
|
13709
|
+
${X.slice($)}`}function ZO(X){let $=[],Z=0;while(Z<X.length){let G=X.slice(Z),Q=G.match(/^\s+/);if(Q){Z+=Q[0].length;continue}if(G.startsWith("<!--")){let w=X.indexOf("-->",Z);if(w===-1)break;Z=w+3;continue}let q=G.match(/^<script\b[^>]*>/i);if(q){let w=X.toLowerCase().indexOf("</script>",Z+q[0].length);if(w===-1)break;Z=w+9;continue}let K=G.match(/^<link\b[^>]*>/i);if(K){$.push(K[0]),Z+=K[0].length;continue}let U=G.match(/^<meta\b[^>]*>/i);if(U){$.push(U[0]),Z+=U[0].length;continue}let W=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(W){$.push(W[0]),Z+=W[0].length;continue}break}if($.length===0)return{body:X,hoisted:$};let Y="",J=0;while(J<X.length&&J<Z){let G=X.slice(J),Q=G.match(/^<link\b[^>]*>/i);if(Q&&$.includes(Q[0])){J+=Q[0].length;continue}let q=G.match(/^<meta\b[^>]*>/i);if(q&&$.includes(q[0])){J+=q[0].length;continue}let K=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(K&&$.includes(K[0])){J+=K[0].length;continue}Y+=X[J],J++}return Y+=X.slice(Z),{body:Y,hoisted:$}}function YO(X,$={},Z={}){let{title:Y="stx App",lang:J="en",meta:G=[],link:Q=[],script:q=[],headRaw:K="",htmlAttrs:U={},bodyClass:W="",bodyAttrs:w={}}=$,z=Z.title||Y,B=[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],j=new Set(G.map(S4).filter(Boolean)),H=[...B.filter((N)=>!j.has(S4(N))),...G].map((N)=>{return` <meta ${d5(N)}>`}).join(`
|
|
13710
|
+
`),O=Q.map((N)=>{return` <link ${d5(N)}>`}).join(`
|
|
13711
|
+
`),L=q.map((N)=>{if(N.src)return` <script ${d5(N,(D)=>D==="content")}></script>`;if(N.content)return` <script>${N.content}</script>`;return""}).filter(Boolean).join(`
|
|
13712
|
+
`),F=$O(U,J),V=Object.entries(w).map(([N,D])=>` ${N}="${B1(String(D))}"`).join(""),A=W?` class="${B1(W)}"`:"",{body:R,hoisted:T}=ZO(X),k=[H,Z.colorMode?` ${D4(Z.colorMode)}`:"",` <title>${Z.titleIsHtml?z:XO(z)}</title>`,` ${oQ}`,O,L,K?` ${K}`:"",...(Z.styles||[]).map((N)=>` ${N}`),...T.map((N)=>` ${N}`),...(Z.headScripts||[]).map((N)=>` ${N}`),Z.headStack||""].filter(Boolean),M=[R,...(Z.bodyScripts||[]).map((N)=>N),Z.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
|
|
13605
13713
|
<html${F}>
|
|
13606
13714
|
<head>
|
|
13607
|
-
${
|
|
13715
|
+
${k.join(`
|
|
13608
13716
|
`)}
|
|
13609
13717
|
</head>
|
|
13610
13718
|
<body${A}${V}>
|
|
13611
|
-
${
|
|
13719
|
+
${M.join(`
|
|
13612
13720
|
`)}
|
|
13613
13721
|
</body>
|
|
13614
|
-
</html>`}function
|
|
13722
|
+
</html>`}function C4(X){let $=0;while($<X.length){let Z=X.slice($),Y=Z.match(/^\s+/);if(Y){$+=Y[0].length;continue}if(Z.startsWith("<!--")){let G=X.indexOf("-->",$);if(G===-1)return!1;$=G+3;continue}let J=Z.match(/^<(script|style)\b[^>]*>/i);if(J){let G=`</${J[1].toLowerCase()}>`,Q=X.toLowerCase().indexOf(G,$+J[0].length);if(Q===-1)return!1;$=Q+G.length;continue}return/^<!DOCTYPE\b/i.test(Z)||/^<html[\s>]/i.test(Z)}return!1}function P4(X){return C4(X)}function Xq(X,$={}){let Z=X.lastIndexOf("</head>");if(Z===-1)return X;let{meta:Y=[],link:J=[],script:G=[],headRaw:Q=""}=$,q=X.slice(0,Z),K=[];for(let U of Y){let W=S4(U);if(W&&q.includes(W))continue;K.push(` <meta ${d5(U)}>`)}for(let U of J){if(U.href&&q.includes(`href="${U.href}"`))continue;K.push(` <link ${d5(U)}>`)}for(let U of G)if(U.src){if(q.includes(`src="${U.src}"`))continue;K.push(` <script ${d5(U,(W)=>W==="content")}></script>`)}else if(U.content){if(q.includes(U.content))continue;K.push(` <script>${U.content}</script>`)}if(Q&&!q.includes(Q))K.push(` ${Q}`);if(K.length===0)return X;return`${X.slice(0,Z)}${K.join(`
|
|
13615
13723
|
`)}
|
|
13616
|
-
${X.slice(Z)}`}function
|
|
13724
|
+
${X.slice(Z)}`}function $q(X,$={},Z={}){if(P4(X))return X;return YO(X,$,Z)}var oQ="<style data-stx-cloak>[x-cloak]{display:none !important}</style>",a8="data-stx-html-attrs",t8="data-stx-html-class",sQ;var Zq=E(()=>{y4();sQ=/^[A-Za-z_:][\w:.-]*$/});import m5 from"path";function Yq(X){return X.startsWith("http://")||X.startsWith("https://")||X.startsWith("//")}async function Jq(X,$,Z){try{let Y;if(X.startsWith("/")){let J=$;for(let G=0;G<5;G++){let Q=m5.join(J,X);if(await Bun.file(Q).exists())return Q;J=m5.dirname(J)}Y=m5.join($,X)}else if(X.startsWith("./")||X.startsWith("../"))Y=m5.resolve($,X);else Y=m5.resolve($,X);if(await Bun.file(Y).exists())return Y;return null}catch{return null}}async function Gq(X,$,Z){let Y=X,J=m5.dirname($),G=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,Q;while((Q=G.exec(Y))!==null){let[U,W,w,z]=Q;if(Yq(w))continue;let B=await Jq(w,J,$);if(B)try{let j=await Bun.file(B).text();if(Z.add(B),w.endsWith(".ts")||w.endsWith(".tsx")){let H=await Bun.build({entrypoints:[B],target:"browser",minify:!1,define:v0()});if(H.outputs.length>0)j=await H.outputs[0].text()}let _=`<script>
|
|
13617
13725
|
// Source: ${w}
|
|
13618
13726
|
${j}
|
|
13619
|
-
</script>`;Y=Y.replace(U,_),G.lastIndex=0}catch(j){}}let q=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,K;while((K=q.exec(Y))!==null){let[U,W,w,z]=K,B=W+z;if(
|
|
13727
|
+
</script>`;Y=Y.replace(U,_),G.lastIndex=0}catch(j){}}let q=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,K;while((K=q.exec(Y))!==null){let[U,W,w,z]=K,B=W+z;if(Yq(w))continue;if(/rel=["']stylesheet["']/.test(B)||w.endsWith(".css")){let _=await Jq(w,J,$);if(_)try{let H=await Bun.file(_).text();Z.add(_);let O=`<style>
|
|
13620
13728
|
/* Source: ${w} */
|
|
13621
13729
|
${H}
|
|
13622
|
-
</style>`;Y=Y.replace(U,
|
|
13730
|
+
</style>`;Y=Y.replace(U,O),q.lastIndex=0}catch(H){}}}return Y}var Qq=E(()=>{F1()});function e8(X,$){let Z=X,Y=/@json\s*\(/g,J;while((J=Y.exec(Z))!==null){let G=J.index,Q=G+J[0].length-1,q=1,K=Q+1,U=null,W=!1;while(K<Z.length&&q>0){let F=Z[K];if(W){W=!1,K++;continue}if(F==="\\"&&U){W=!0,K++;continue}if(U){if(F===U)U=null;K++;continue}if(F==='"'||F==="'"||F==="`"){U=F,K++;continue}if(F==="(")q++;else if(F===")"){if(q--,q===0)break}K++}if(q!==0)break;let w=Z.substring(Q+1,K).trim(),z=Z.substring(G,K+1),B=-1,j=0,_=null,H=!1;for(let F=0;F<w.length;F++){let V=w[F];if(H){H=!1;continue}if(V==="\\"&&_){H=!0;continue}if(_){if(V===_)_=null;continue}if(V==='"'||V==="'"||V==="`"){_=V;continue}if(V==="("||V==="["||V==="{")j++;else if(V===")"||V==="]"||V==="}")j--;if(V===","&&j===0){B=F;break}}let O=B>=0?w.substring(0,B).trim():w,L=B>=0?w.substring(B+1).trim():void 0;try{let F=O.trim(),V;if(J0(F))V=G0(F,Object.keys($))(...Object.values($));else V=void 0;let A;if(L==="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(K+1),Y.lastIndex=G+R.length}catch(F){X1.log(F instanceof Error?F:Error(String(F)),{directive:"@json"},"error"),Y.lastIndex=G+z.length}}return Z}function X$(X){return X.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function qq(X){let $=X,Z=/@memo\s*\(/g,Y,J=[];while((Y=Z.exec($))!==null){let G=Y.index,Q=G+Y[0].length,q=1,K=Q;while(K<$.length&&q>0){if($[K]==="(")q++;else if($[K]===")")q--;K++}if(q!==0)continue;let U=$.slice(Q,K-1).trim(),W=K,w=$.slice(W),z=w.indexOf("@endmemo");if(z===-1)continue;let B=w.slice(0,z),j=W+z+8,_=B.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),H=_?_[0].length:0,O=B.slice(H),L=B.match(/(\s*)$/),F=L?L[0].length:0,V=O.slice(0,O.length-F),A=V.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),R;if(A){let[T,k,M="",N]=A,D=`<${k}${M} data-stx-memo="${U}"${N}>`;R=B.slice(0,H)+D+V.slice(T.length)+B.slice(H+V.length)}else R=`${B.slice(0,H)}<div data-stx-memo="${U}">${V}</div>${B.slice(H+V.length)}`;J.push({start:G,end:j,replacement:R}),Z.lastIndex=j}for(let G=J.length-1;G>=0;G--){let Q=J[G];$=$.slice(0,Q.start)+Q.replacement+$.slice(Q.end)}return $.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function v4(X){let $=X.replace(/@ref="([^"]+)"/g,'data-stx-ref="$1"');return $=$.replace(/(<[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?)\sref="([^"]+)"/g,'$1 data-stx-ref="$2"'),$}function Kq(X){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"),Y="",J=0,G;while((G=Z.exec(X))!==null){let Q=G.index,q=Q+G[0].length,K=!1,U=!1,W=-1;while(q<X.length){let _=X[q];if(K){if(_==="'")K=!1}else if(U){if(_==='"')U=!1}else if(_==="'")K=!0;else if(_==='"')U=!0;else if(_===">"){W=q;break}q++}if(W===-1)continue;if(X.slice(Q,W+1).includes("x-cloak"))continue;let z=X.slice(W+1),B=z.indexOf("</"),j=B>=0?z.slice(0,B):z.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(j))Y+=X.slice(J,W)+" x-cloak>",J=W+1}return Y+=X.slice(J),Y}function Uq(X){let $=/<[a-z][\w-]*/gi,Z="",Y=0,J;while((J=$.exec(X))!==null){let G=J.index,Q=J[0].slice(1).toLowerCase();if(Q==="script"||Q==="style"){let j=`</${Q}>`,_=X.toLowerCase().indexOf(j,G);if(_!==-1)$.lastIndex=_+j.length;continue}let q=G+J[0].length,K=!1,U=!1,W=-1;while(q<X.length){let j=X[q];if(K){if(j==="'")K=!1}else if(U){if(j==='"')U=!1}else if(j==="'")K=!0;else if(j==='"')U=!0;else if(j===">"){W=q;break}q++}if(W===-1)continue;let w=X.slice(G+J[0].length,W);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(w))continue;if(!JO.test(w))continue;let z=X[W-1]==="/",B=z?W-1:W;Z+=`${X.slice(Y,B)} x-cloak${z?" ":""}`,Y=B}return Z+=X.slice(Y),Z}var JO;var x4=E(()=>{z1();L0();JO=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function $$(X,$,Z,Y){let J=typeof Z==="boolean"?{enabled:Z,failOnViolation:Z}:Z??{enabled:!1},G=J.allowPatterns??[],Q=[],q=i0(X.replace(/\{\{--[\s\S]*?--\}\}/g,(K)=>K.replace(/[^\n]/g," ")));for(let{pattern:K,message:U,suggestion:W}of GO){if(G.some((z)=>/\w/.test(z)&&U.includes(z)))continue;K.lastIndex=0;let w=q.match(K);if(w&&w.length>0){let z=q.split(`
|
|
13623
13731
|
`),B=X.split(`
|
|
13624
|
-
`),j=[];z.forEach((
|
|
13625
|
-
`),
|
|
13732
|
+
`),j=[];z.forEach((L,F)=>{if(K.lastIndex=0,K.test(L))j.push(F+1)});let _=j.length>0?` (script line${j.length>1?"s":""} ${j.join(", ")})`:"",H=j.slice(0,3).map((L)=>` ${L} | ${(B[L-1]??"").trim().slice(0,100)}`).join(`
|
|
13733
|
+
`),O=H?`
|
|
13626
13734
|
${H}`:"";Q.push(` \u2717 ${U}${_}
|
|
13627
|
-
\u2192 ${W}${
|
|
13735
|
+
\u2192 ${W}${O}`)}}if(Q.length>0&&J.enabled){let K=(w)=>{let z=`${process.cwd()}/`;return w.startsWith(z)?w.slice(z.length):w},W=`[STX] DOM API violation in ${Y&&Y!==$?`${K(Y)} (composed into ${K($)})`:K($)}:
|
|
13628
13736
|
${Q.join(`
|
|
13629
13737
|
`)}
|
|
13630
|
-
Tip: prefer useRef(), navigate(), and composables for component code`;if(J.failOnViolation)throw Error(W);else console.warn(W)}}var
|
|
13631
|
-
`)}function
|
|
13738
|
+
Tip: prefer useRef(), navigate(), and composables for component code`;if(J.failOnViolation)throw Error(W);else console.warn(W)}}var GO;var f4=E(()=>{GO=[{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 QO from"fs";function Z$(X){return[...X].sort().map(($)=>{try{let Z=QO.statSync($);return`${$}:${Z.size}:${Z.mtimeMs}`}catch{return`${$}:missing`}}).join(`
|
|
13739
|
+
`)}function Y$(X,$,Z){let Y=X.get($);return Y!==void 0&&Y.signature===Z?Y.value:void 0}function J1(X,$,Z,Y){return X.set($,{signature:Z,value:Y}),Y}var g4=()=>{};var Wq={};o(Wq,{getStoreScript:()=>KO,clearStoreCache:()=>UO});import J$ from"path";function qO(X,$){for(let Z of X.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(Z[1])$.add(Z[1]);for(let Z of X.matchAll(/\b(?:const|let|var)\s*\{([^{}]*)\}\s*=/g))for(let Y of(Z[1]??"").split(",")){let G=((Y.includes(":")?Y.split(":").pop():Y)??"").replace(/=.*$/s,"").replace(/^\s*\.\.\./,"").trim();if(/^[A-Z_a-z$][\w$]*$/.test(G))$.add(G)}for(let Z of X.matchAll(/\b(?:const|let|var)\s*\[([^\]]*)\]\s*=/g))for(let Y of(Z[1]??"").split(",")){let J=Y.replace(/=.*$/s,"").replace(/^\s*\.\.\./,"").trim();if(/^[A-Z_a-z$][\w$]*$/.test(J))$.add(J)}}async function KO(X){let $;if(X)$=J$.resolve(X);else{let j=await I1();$=J$.resolve(j.root||process.cwd(),j.storesDir||"stores")}let Z=new Bun.Glob("*.ts"),Y=[];try{for await(let j of Z.scan({cwd:$,absolute:!0})){let _=J$.basename(j,".ts");if(["index","types"].includes(_))continue;if(j.includes(".d.ts"))continue;Y.push(j)}}catch{return J1(l5,$,"",""),null}let J=Z$(Y),G=Y$(l5,$,J);if(G!==void 0)return G||null;if(Y.length===0)return J1(l5,$,J,""),null;let Q=[];for(let j of Y){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 q=Q.map((j)=>j.file),K=[],U=new Set,W=new Bun.Transpiler({loader:"ts",target:"browser",define:v0()});for(let j of q)try{let _=await Bun.file(j).text(),H=J$.basename(j,".ts");qO(_,U),_=u0(_),_=BX(_),_=_.replace(/^export\s+(default\s+)?/gm,""),_=W.transformSync(_),K.push(`// Store: ${H}
|
|
13632
13740
|
${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load store ${j}:`,_)}if(K.length===0)return J1(l5,$,J,""),null;let w=K.join(`
|
|
13633
13741
|
|
|
13634
13742
|
`),B=`;(function(){
|
|
13635
13743
|
var __stx = window.stx || {};
|
|
13636
|
-
${
|
|
13744
|
+
${W1.filter((j)=>!U.has(j)&&new RegExp(`\\b${j}\\b`).test(w)).map((j)=>`var ${j} = __stx[${JSON.stringify(j)}];`).join(`
|
|
13637
13745
|
`)}
|
|
13638
13746
|
${w}
|
|
13639
|
-
})();`;return J1(l5,$,J,B),B}function
|
|
13640
|
-
${Q.transformSync(_).trim()}`);for(let
|
|
13747
|
+
})();`;return J1(l5,$,J,B),B}function UO(){l5.clear()}var l5;var wq=E(()=>{V1();F1();a0();g4();l5=new Map});var h4,YE;var zq=E(()=>{h4=["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"],YE=new Set(h4)});var _q={};o(_q,{selectComposableFiles:()=>jq,referencedFrameworkComposables:()=>Bq,getFrameworkComposableScript:()=>jO,clearFrameworkComposableCache:()=>wO,__setRuntimeOwnedForTest:()=>BO});import G$ from"path";function wO(){i7.clear()}function jq(X){let $=new Map;for(let Z of X){let Y=G$.basename(Z);if(Y.endsWith(".d.ts"))continue;let J=Y.replace(/\.[jt]s$/,"");if(J==="index")continue;if(J===Y)continue;let G=$.get(J);if(G&&!G.endsWith(".js"))continue;$.set(J,Z)}return[...$.values()].sort()}function zO(X,$){let Z=$.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(?:^|[^\\w$.])(?:const|let|var|function|class)\\s+${Z}\\b`).test(X)}function Bq(X){if(!X)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 Y of WO){if(u4.has(Y))continue;let J=Y.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");if(new RegExp(`(^|[^\\w$.])${J}\\s*\\(`).test($))Z.push(Y)}return Z.sort()}async function jO(X,$){let Z=Bq(X);if(Z.length===0)return null;let Y=$??G$.join(import.meta.dir,"composables"),J=`${Y}\x00${Z.join(",")}`,G=i7.get(J);if(G!==void 0)return G||null;let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:v0()}),q=new Set(Z),K=[],U=new Set,W=[];try{let j=new Bun.Glob("*.{ts,js}");for await(let _ of j.scan({cwd:Y,absolute:!0}))W.push(_)}catch{return i7.set(J,""),null}W=jq(W);for(let j of W){let _;try{_=await Bun.file(j).text()}catch{continue}let H=[];try{H=Q.scan(_).exports.filter((O)=>O!=="default")}catch{continue}if(!H.some((O)=>q.has(O)))continue;try{_=_.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),_=_.replace(/^import\s+type\s+.*$/gm,""),_=_.replace(/^export\s+\*\s+(?:as\s+\w+\s+)?from\s*['"][^'"]+['"]\s*;?\s*$/gm,""),_=_.replace(/^export\s+(?:type\s+)?\{[\s\S]*?\}\s*(?:from\s*['"][^'"]+['"]\s*)?;?\s*$/gm,""),_=_.replace(/^export\s+default\s+/gm,""),_=_.replace(/^export\s+(?=(?:declare\s+)?(?:abstract\s+)?(?:async\s+)?(?:function|class|const|let|var|type|interface|enum)\b)/gm,""),K.push(`// ${G$.basename(j).replace(/\.[jt]s$/,"")}
|
|
13748
|
+
${Q.transformSync(_).trim()}`);for(let O of H)U.add(O)}catch(O){console.warn(`[stx] framework composable ${G$.basename(j)} could not be bundled:`,O)}}let w=Z.filter((j)=>!U.has(j)&&!zO(X,j));if(w.length>0)console.warn(`[stx] could not bundle ${w.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(K.length===0)return i7.set(J,""),null;let z=[...U].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(`
|
|
13641
13749
|
`),B=`<script data-stx-framework-composables>
|
|
13642
13750
|
;(function(){
|
|
13643
13751
|
var __s = window.stx = window.stx || {};
|
|
@@ -13646,7 +13754,7 @@ ${K.join(`
|
|
|
13646
13754
|
`)}
|
|
13647
13755
|
${z}
|
|
13648
13756
|
})();
|
|
13649
|
-
</script>`;return
|
|
13757
|
+
</script>`;return i7.set(J,B),B}function BO(X){u4.clear();for(let $ of X)u4.add($)}var i7,u4,WO;var Hq=E(()=>{F1();zq();i7=new Map,u4=new Set,WO=new Set(h4)});var Lq={};o(Lq,{getComposableScript:()=>LO,clearComposableCache:()=>FO});import n7 from"path";function Oq(X){let $=n7.basename(X,".ts");return $==="index"||$==="types"||X.endsWith(".d.ts")}async function HO(X){if(X)return n7.resolve(X);let $=`<default>:${process.cwd()}`,Z=d4.get($);if(Z!==void 0)return Z;let Y=await OO();if(Y!==null)d4.set($,Y);return Y}async function OO(){let X=await I1(),$=X.root||process.cwd(),Z=X.composablesDir;if(Z)return n7.resolve($,Z);for(let Y of _O){let J=n7.resolve($,Y);try{let G=new Bun.Glob("**/*.ts");for await(let Q of G.scan({cwd:J,absolute:!0}))if(!Oq(Q))return J}catch{}}return null}async function LO(X){let $=await HO(X);if(!$)return null;let Z=[];try{let j=new Bun.Glob("**/*.ts");for await(let _ of j.scan({cwd:$,absolute:!0})){if(Oq(_))continue;Z.push(_)}}catch{return J1(c5,$,"",""),null}let Y=Z$(Z),J=Y$(c5,$,Y);if(J!==void 0)return J||null;if(Z.length===0)return J1(c5,$,Y,""),null;Z.sort();let G=new Bun.Transpiler({loader:"ts",target:"browser",define:v0()}),Q=[],q=new Set,K=new Set;for(let j of Z)try{let _=await Bun.file(j).text(),H=n7.basename(j,".ts");for(let O of _.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(O[1])K.add(O[1]);try{for(let O of G.scan(_).exports)if(O!=="default")q.add(O)}catch{}_=u0(_),_=BX(_),_=_.replace(/^export\s+(default\s+)?/gm,""),_=G.transformSync(_),Q.push(`// Composable: ${H}
|
|
13650
13758
|
${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load composable ${j}:`,_)}if(Q.length===0||q.size===0)return J1(c5,$,Y,""),null;let U=[...q].map((j)=>` try { __c[${JSON.stringify(j)}] = ${j}; } catch (e) {}`).join(`
|
|
13651
13759
|
`),W=JSON.stringify([...q]),w=Q.join(`
|
|
13652
13760
|
|
|
@@ -13654,7 +13762,7 @@ ${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load composable ${j}:`,_)}i
|
|
|
13654
13762
|
window.__composables = window.__composables || {};
|
|
13655
13763
|
var __c = window.__composables;
|
|
13656
13764
|
var __stx = window.stx || {};
|
|
13657
|
-
${
|
|
13765
|
+
${W1.filter((j)=>!K.has(j)&&new RegExp(`\\b${j}\\b`).test(w)).map((j)=>`var ${j} = __stx[${JSON.stringify(j)}];`).join(`
|
|
13658
13766
|
`)}
|
|
13659
13767
|
${w}
|
|
13660
13768
|
${U}
|
|
@@ -13671,7 +13779,7 @@ ${U}
|
|
|
13671
13779
|
}
|
|
13672
13780
|
window[__n] = __c[__n];
|
|
13673
13781
|
}
|
|
13674
|
-
})();`;return J1(c5,$,Y,B),B}function
|
|
13782
|
+
})();`;return J1(c5,$,Y,B),B}function FO(){c5.clear(),d4.clear()}var c5,d4,_O;var Fq=E(()=>{V1();F1();g4();a0();c5=new Map,d4=new Map,_O=["composables","functions"]});var Aq={};o(Aq,{processDeferDirectives:()=>NO});function VO(){return`stx-defer-${++Vq}`}function AO(X){let $=X.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if($)return{trigger:$[1],value:$[2]};return{trigger:"immediate"}}function RO(X,$,Z){let{trigger:Y,value:J}=AO($),G=Z,Q,q,K,U=Z.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(U)Q=U[1].trim(),G=G.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let W=Z.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(W)q=W[1].trim(),G=G.replace(/@loading[\s\S]*?(?=@error|$)/,"");let w=Z.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(w)K=w[2].trim(),G=G.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return G=G.trim(),{trigger:Y,triggerValue:J,content:G,placeholder:Q,loading:q,error:K}}function TO(X,$){let{trigger:Z,triggerValue:Y}=$,J;switch(Z){case"visible":J=`
|
|
13675
13783
|
const observer = new IntersectionObserver((entries) => {
|
|
13676
13784
|
if (entries[0].isIntersecting) {
|
|
13677
13785
|
observer.disconnect();
|
|
@@ -13744,7 +13852,7 @@ else {
|
|
|
13744
13852
|
${J}
|
|
13745
13853
|
})();
|
|
13746
13854
|
</script>
|
|
13747
|
-
`}function
|
|
13855
|
+
`}function NO(X,$,Z){Vq=0;let Y=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return X.replace(Y,(J,G,Q)=>{let q=VO(),K=RO(J,G,Q),U=K.placeholder?`<div data-defer-placeholder>${K.placeholder}</div>`:"",W=K.loading?`<div data-defer-loading style="display: none;">${K.loading}</div>`:'<div data-defer-loading style="display: none;"></div>',w=K.error?`<div data-defer-error style="display: none;">${K.error}</div>`:"",z=`<div data-defer-content style="display: none;">${K.content}</div>`,B=TO(q,K);return`
|
|
13748
13856
|
<div id="${q}" class="stx-defer" data-defer-trigger="${K.trigger}">
|
|
13749
13857
|
${U}
|
|
13750
13858
|
${W}
|
|
@@ -13752,7 +13860,7 @@ else {
|
|
|
13752
13860
|
${w}
|
|
13753
13861
|
</div>
|
|
13754
13862
|
${B}
|
|
13755
|
-
`})}var
|
|
13863
|
+
`})}var Vq=0;var Tq={};o(Tq,{processTeleportDirectives:()=>EO,ensureTeleportTargets:()=>DO});function MO(){return`stx-teleport-${++Rq}`}function kO(X){let $=X.split(",").map((J)=>J.trim()),Z=$[0].replace(/['"]/g,""),Y;for(let J=1;J<$.length;J++){let G=$[J].match(/disabled:\s*(.+)/);if(G)Y=G[1].trim()}return{target:Z,disabled:Y}}function IO(X,$){return`
|
|
13756
13864
|
<script>
|
|
13757
13865
|
(function() {
|
|
13758
13866
|
const source = document.getElementById('${X}');
|
|
@@ -13798,12 +13906,12 @@ else {
|
|
|
13798
13906
|
});
|
|
13799
13907
|
})();
|
|
13800
13908
|
</script>
|
|
13801
|
-
`}function
|
|
13909
|
+
`}function EO(X,$,Z){Rq=0;let Y=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return X.replace(Y,(J,G,Q)=>{let q=MO(),{target:K,disabled:U}=kO(G),W=Q.trim();if(U)try{let z=!1;if(U==="true")z=!0;else if(U==="false")z=!1;else if(U in $)z=Boolean($[U]);if(z)return`<div class="stx-teleport-inline" data-teleport-disabled>${W}</div>`}catch{}let w=IO(q,K);return`
|
|
13802
13910
|
<div id="${q}" class="stx-teleport-source" style="display: none;">
|
|
13803
13911
|
<template>${W}</template>
|
|
13804
13912
|
</div>
|
|
13805
13913
|
${w}
|
|
13806
|
-
`})}function
|
|
13914
|
+
`})}function DO(){return`
|
|
13807
13915
|
<script>
|
|
13808
13916
|
(function() {
|
|
13809
13917
|
// Common teleport targets
|
|
@@ -13820,7 +13928,7 @@ else {
|
|
|
13820
13928
|
});
|
|
13821
13929
|
})();
|
|
13822
13930
|
</script>
|
|
13823
|
-
`}var
|
|
13931
|
+
`}var Rq=0;var Iq={};o(Iq,{processTransitionDirectives:()=>CO,processTransitionAttributes:()=>fO,performLeave:()=>SO,performEnter:()=>bO,generateTransitionRuntime:()=>xO,generateTransitionCSS:()=>vO});function Nq(X,$={}){return{enterFrom:$.enterClass||`${X}-enter-from`,enterActive:$.enterActiveClass||`${X}-enter-active`,enterTo:$.enterToClass||`${X}-enter-to`,leaveFrom:$.leaveClass||`${X}-leave-from`,leaveActive:$.leaveActiveClass||`${X}-leave-active`,leaveTo:$.leaveToClass||`${X}-leave-to`}}function yO(X){let $=getComputedStyle(X),Z=$.transitionDuration||"0s",Y=$.animationDuration||"0s",J=(G)=>{let Q=G.match(/^([\d.]+)(s|ms)?$/);if(!Q)return 0;let q=parseFloat(Q[1]);return(Q[2]||"s")==="ms"?q:q*1000};return Math.max(J(Z),J(Y))}function Mq(X,$){return new Promise((Z)=>{let Y=$??yO(X);if(Y===0){Z();return}let J=!1,G=()=>{if(J)return;J=!0,X.removeEventListener("transitionend",Q),X.removeEventListener("animationend",Q),Z()},Q=(q)=>{if(q.target===X)G()};X.addEventListener("transitionend",Q),X.addEventListener("animationend",Q),setTimeout(G,Y+50)})}function kq(X){X.offsetHeight}async function bO(X,$={}){let Z=$.name||"stx",Y=Nq(Z,$),J=typeof $.duration==="object"?$.duration.enter:$.duration;if($.onBeforeEnter?.(X),X.classList.add(Y.enterFrom),X.classList.add(Y.enterActive),kq(X),X.classList.remove(Y.enterFrom),X.classList.add(Y.enterTo),$.onEnter)await new Promise((G)=>{$.onEnter(X,G)});else await Mq(X,J);X.classList.remove(Y.enterActive),X.classList.remove(Y.enterTo),$.onAfterEnter?.(X)}async function SO(X,$={}){let Z=$.name||"stx",Y=Nq(Z,$),J=typeof $.duration==="object"?$.duration.leave:$.duration;if($.onBeforeLeave?.(X),X.classList.add(Y.leaveFrom),X.classList.add(Y.leaveActive),kq(X),X.classList.remove(Y.leaveFrom),X.classList.add(Y.leaveTo),$.onLeave)await new Promise((G)=>{$.onLeave(X,G)});else await Mq(X,J);X.classList.remove(Y.leaveActive),X.classList.remove(Y.leaveTo),$.onAfterLeave?.(X)}function CO(X,$={},Z){let Y=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return X.replace(Y,(J,G,Q)=>{let q=PO(G),K=q.name||"stx",U=q.duration||300,W=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
|
|
13824
13932
|
<div
|
|
13825
13933
|
class="stx-transition-wrapper"
|
|
13826
13934
|
data-transition="${K}"
|
|
@@ -13862,7 +13970,7 @@ else {
|
|
|
13862
13970
|
});
|
|
13863
13971
|
})();
|
|
13864
13972
|
</script>
|
|
13865
|
-
`})}function
|
|
13973
|
+
`})}function PO(X){let $={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3]||Y[4]||Y[5];switch(J){case"name":$.name=G;break;case"duration":$.duration=parseInt(G,10);break;case"mode":$.mode=G;break;case"easing":$.easing=G;break}}return $}function vO(){return`
|
|
13866
13974
|
/* STX Transition Presets */
|
|
13867
13975
|
|
|
13868
13976
|
/* Fade */
|
|
@@ -14049,7 +14157,7 @@ else {
|
|
|
14049
14157
|
opacity: 1;
|
|
14050
14158
|
max-height: 1000px;
|
|
14051
14159
|
}
|
|
14052
|
-
`}function
|
|
14160
|
+
`}function xO(){return`
|
|
14053
14161
|
// STX Transition Runtime
|
|
14054
14162
|
(function() {
|
|
14055
14163
|
if (typeof window === 'undefined') return;
|
|
@@ -14138,7 +14246,7 @@ else {
|
|
|
14138
14246
|
|
|
14139
14247
|
console.log('[stx] Transition runtime initialized');
|
|
14140
14248
|
})();
|
|
14141
|
-
`}function
|
|
14249
|
+
`}function fO(X){let $=/@transition\.([a-z-]+)(?:\.(\d+))?="([^"]+)"/gi;return X.replace($,(Z,Y,J,G)=>{let Q=J||"300",q=`stx-t-${Math.random().toString(36).slice(2,7)}`;return`data-stx-transition="${Y}" data-stx-transition-duration="${Q}" data-stx-transition-condition="${G}" data-stx-transition-id="${q}"`})}var Dq={};o(Dq,{withErrorBoundary:()=>Eq,processErrorBoundaryDirectives:()=>uO,generateErrorBoundaryRuntime:()=>pO,generateErrorBoundaryCSS:()=>cO,createErrorBoundary:()=>lO});function hO(){return`eb-${++gO}-${Date.now().toString(36)}`}function uO(X,$={},Z){let Y=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return X.replace(Y,(J,G,Q,q)=>{let K=hO(),U=dO(G||"");return mO(K,Q.trim(),q.trim(),U)})}function dO(X){let $={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3]||Y[4];switch(J){case"id":$.id=G;break;case"logErrors":$.logErrors=G==="true";break}}return $}function mO(X,$,Z,Y){let J=Y.logErrors!==!1;return`
|
|
14142
14250
|
<div class="stx-error-boundary" data-boundary-id="${X}" data-has-error="false">
|
|
14143
14251
|
<div class="stx-error-boundary-content" data-boundary-content="${X}">
|
|
14144
14252
|
${$}
|
|
@@ -14258,7 +14366,7 @@ else {
|
|
|
14258
14366
|
};
|
|
14259
14367
|
})();
|
|
14260
14368
|
</script>
|
|
14261
|
-
`}async function
|
|
14369
|
+
`}async function Eq(X,$,Z){try{return await X()}catch(Y){if(Z)Z(Y instanceof Error?Y:Error(String(Y)));else console.error("[stx:errorBoundary] SSR Error:",Y);return $}}function lO(X,$={}){let Z=$.onError?(Y)=>$.onError(Y,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(Y)=>Eq(Y,X,Z)}function cO(){return`
|
|
14262
14370
|
/* STX Error Boundary Styles */
|
|
14263
14371
|
.stx-error-boundary {
|
|
14264
14372
|
position: relative;
|
|
@@ -14302,7 +14410,7 @@ else {
|
|
|
14302
14410
|
color: #fecaca;
|
|
14303
14411
|
}
|
|
14304
14412
|
}
|
|
14305
|
-
`}function
|
|
14413
|
+
`}function pO(){return`
|
|
14306
14414
|
// STX Error Boundary Runtime
|
|
14307
14415
|
(function() {
|
|
14308
14416
|
if (typeof window === 'undefined') return;
|
|
@@ -14367,7 +14475,7 @@ else {
|
|
|
14367
14475
|
|
|
14368
14476
|
console.log('[stx] Error boundary runtime initialized');
|
|
14369
14477
|
})();
|
|
14370
|
-
`}var
|
|
14478
|
+
`}var gO=0;var yq={};o(yq,{renderSSRSuspense:()=>tO,processSuspenseDirectives:()=>rO,generateSuspenseRuntime:()=>XL,generateSuspenseCSS:()=>eO,createSSRSuspense:()=>aO});function nO(){return`suspense-${++iO}-${Date.now().toString(36)}`}function rO(X,$={},Z){let Y=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return X.replace(Y,(J,G,Q,q)=>{let K=nO(),U=oO(G||"");return sO(K,Q.trim(),q.trim(),U)})}function oO(X){let $={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3],Q=Y[4];switch(J){case"id":$.id=G;break;case"timeout":$.timeout=Q?parseInt(Q,10):void 0;break}}return $}function sO(X,$,Z,Y){let J=Y.timeout||30000,G=Y.id||X;return`
|
|
14371
14479
|
<div class="stx-suspense" data-suspense-id="${X}" data-custom-id="${G}" data-status="pending">
|
|
14372
14480
|
<div class="stx-suspense-fallback" data-suspense-fallback="${X}">
|
|
14373
14481
|
${Z}
|
|
@@ -14557,7 +14665,7 @@ else {
|
|
|
14557
14665
|
}, 0);
|
|
14558
14666
|
})();
|
|
14559
14667
|
</script>
|
|
14560
|
-
`}function
|
|
14668
|
+
`}function aO(X,$,Z){return{id:X,fallback:Z,content:$}}async function tO(X){let $=X.map((Y)=>`
|
|
14561
14669
|
<div id="stx-ssr-suspense-${Y.id}" class="stx-ssr-suspense">
|
|
14562
14670
|
${Y.fallback}
|
|
14563
14671
|
</div>
|
|
@@ -14582,7 +14690,7 @@ else {
|
|
|
14582
14690
|
}
|
|
14583
14691
|
})();
|
|
14584
14692
|
</script>
|
|
14585
|
-
`}}return{initial:$,streaming:Z()}}function
|
|
14693
|
+
`}}return{initial:$,streaming:Z()}}function eO(){return`
|
|
14586
14694
|
/* STX Suspense Styles */
|
|
14587
14695
|
.stx-suspense {
|
|
14588
14696
|
position: relative;
|
|
@@ -14638,7 +14746,7 @@ else {
|
|
|
14638
14746
|
background-size: 200% 100%;
|
|
14639
14747
|
}
|
|
14640
14748
|
}
|
|
14641
|
-
`}function
|
|
14749
|
+
`}function XL(){return`
|
|
14642
14750
|
// STX Suspense Runtime
|
|
14643
14751
|
(function() {
|
|
14644
14752
|
if (typeof window === 'undefined') return;
|
|
@@ -14705,7 +14813,7 @@ else {
|
|
|
14705
14813
|
|
|
14706
14814
|
console.log('[stx] Suspense runtime initialized');
|
|
14707
14815
|
})();
|
|
14708
|
-
`}var
|
|
14816
|
+
`}var iO=0;var Pq={};o(Pq,{processAsyncDirectives:()=>ZL,isAsyncComponent:()=>JL,generateAsyncComponentRuntime:()=>QL,generateAsyncComponentCSS:()=>GL,defineAsyncComponent:()=>YL});function bq(){return`async-${++$L}-${Date.now().toString(36)}`}function ZL(X,$={},Z){let Y=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@error\s*([\s\S]*?)@endasync/gi,J=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@endasync/gi,G=X;return G=G.replace(Y,(Q,q,K,U)=>{let W=bq(),w=Sq(q);return Cq(W,w,K.trim(),U.trim())}),G=G.replace(J,(Q,q,K)=>{let U=bq(),W=Sq(q);return Cq(U,W,K.trim(),'<div class="stx-async-error">Failed to load component</div>')}),G}function Sq(X){let $={component:"",timeout:30000,delay:200,suspensible:!0,retries:0},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3],Q=Y[4],q=Y[5];switch(J){case"component":$.component=G||q||"";break;case"timeout":$.timeout=Q?parseInt(Q,10):30000;break;case"delay":$.delay=Q?parseInt(Q,10):200;break;case"suspensible":$.suspensible=q==="true";break;case"retries":$.retries=Q?parseInt(Q,10):0;break;case"loadingComponent":$.loadingComponent=G||q;break;case"errorComponent":$.errorComponent=G||q;break}}return $}function Cq(X,$,Z,Y){let{component:J,timeout:G,delay:Q,suspensible:q,retries:K}=$;return`
|
|
14709
14817
|
<div class="stx-async-component" data-async-id="${X}" data-component="${J}" data-status="pending">
|
|
14710
14818
|
<div class="stx-async-loading" data-async-loading="${X}">
|
|
14711
14819
|
${Z}
|
|
@@ -14932,7 +15040,7 @@ catch (error) {
|
|
|
14932
15040
|
loadComponent();
|
|
14933
15041
|
})();
|
|
14934
15042
|
</script>
|
|
14935
|
-
`}function
|
|
15043
|
+
`}function YL(X){return{__asyncComponent:!0,...typeof X==="function"?{loader:X}:X}}function JL(X){return typeof X==="object"&&X!==null&&"__asyncComponent"in X&&X.__asyncComponent===!0}function GL(){return`
|
|
14936
15044
|
/* STX Async Component Styles */
|
|
14937
15045
|
.stx-async-component {
|
|
14938
15046
|
position: relative;
|
|
@@ -15006,7 +15114,7 @@ catch (error) {
|
|
|
15006
15114
|
background-size: 200% 100%;
|
|
15007
15115
|
}
|
|
15008
15116
|
}
|
|
15009
|
-
`}function
|
|
15117
|
+
`}function QL(){return`
|
|
15010
15118
|
// STX Async Component Runtime
|
|
15011
15119
|
(function() {
|
|
15012
15120
|
if (typeof window === 'undefined') return;
|
|
@@ -15060,7 +15168,7 @@ catch (error) {
|
|
|
15060
15168
|
|
|
15061
15169
|
console.log('[stx] Async component runtime initialized');
|
|
15062
15170
|
})();
|
|
15063
|
-
`}var
|
|
15171
|
+
`}var $L=0;var xq={};o(xq,{shouldCacheComponent:()=>zL,processKeepAliveDirectives:()=>KL,onDeactivated:()=>HL,onActivated:()=>_L,generateKeepAliveRuntime:()=>BL,generateKeepAliveCSS:()=>jL,createKeepAliveCache:()=>wL});function vq(){return`keep-alive-${++qL}-${Date.now().toString(36)}`}function KL(X,$={},Z){let Y=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return X.replace(Y,(J,G,Q)=>{let q=vq(),K=UL(G||"");return WL(q,Q.trim(),K)})}function UL(X){let $={max:10},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3],Q=Y[4];switch(J){case"max":$.max=Q?parseInt(Q,10):10;break;case"include":$.include=G;break;case"exclude":$.exclude=G;break;case"id":$.id=G;break}}return $}function WL(X,$,Z){let{max:Y,include:J,exclude:G}=Z,Q=Z.id||X;return`
|
|
15064
15172
|
<div class="stx-keep-alive" data-keep-alive-id="${X}" data-custom-id="${Q}">
|
|
15065
15173
|
<div class="stx-keep-alive-content" data-keep-alive-content="${X}">
|
|
15066
15174
|
${$}
|
|
@@ -15347,7 +15455,7 @@ else {
|
|
|
15347
15455
|
});
|
|
15348
15456
|
})();
|
|
15349
15457
|
</script>
|
|
15350
|
-
`}function
|
|
15458
|
+
`}function wL(X={}){return{id:X.id||vq(),cache:new Map,max:X.max||10,include:X.include?X.include.split(",").map((Z)=>Z.trim()):null,exclude:X.exclude?X.exclude.split(",").map((Z)=>Z.trim()):null}}function zL(X,$){if($.exclude&&$.exclude.includes(X))return!1;if($.include&&!$.include.includes(X))return!1;return!0}function jL(){return`
|
|
15351
15459
|
/* STX Keep-Alive Styles */
|
|
15352
15460
|
.stx-keep-alive {
|
|
15353
15461
|
position: relative;
|
|
@@ -15372,7 +15480,7 @@ else {
|
|
|
15372
15480
|
.stx-keep-alive-content > [data-activated] {
|
|
15373
15481
|
opacity: 1;
|
|
15374
15482
|
}
|
|
15375
|
-
`}function
|
|
15483
|
+
`}function BL(){return`
|
|
15376
15484
|
// STX Keep-Alive Runtime
|
|
15377
15485
|
(function() {
|
|
15378
15486
|
if (typeof window === 'undefined') return;
|
|
@@ -15408,12 +15516,12 @@ else {
|
|
|
15408
15516
|
|
|
15409
15517
|
console.log('[stx] Keep-alive runtime initialized');
|
|
15410
15518
|
})();
|
|
15411
|
-
`}function
|
|
15519
|
+
`}function _L(X){if(typeof document<"u")document.addEventListener("stx:activated",($)=>{X($.detail)})}function HL(X){if(typeof document<"u")document.addEventListener("stx:deactivated",($)=>{X($.detail)})}var qL=0;var dq={};o(dq,{useVirtualList:()=>gq,processVirtualListDirectives:()=>l4,processVirtualGridDirectives:()=>uq,processInfiniteListDirectives:()=>hq,generateVirtualListCSS:()=>fq,default:()=>OL,createVirtualList:()=>m4});function m4(X,$){let{itemHeight:Z,containerHeight:Y,overscan:J=3,keyProperty:G="id",dynamicHeight:Q=!1,estimatedItemHeight:q=Z,direction:K="vertical"}=$,U=[...X],W=0,w=new Map;function z(){if(Q)return B();let R=Math.max(0,Math.floor(W/Z)-J),T=Math.ceil(Y/Z),k=Math.min(U.length-1,R+T+J*2);return{startIndex:R,endIndex:k}}function B(){let R=0,T=0,k=U.length-1;for(let M=0;M<U.length;M++){let N=w.get(M)||q;if(R+N>W){T=Math.max(0,M-J);break}R+=N}R=0;for(let M=0;M<U.length;M++){let N=w.get(M)||q;if(R+=N,R>W+Y){k=Math.min(U.length-1,M+J);break}}return{startIndex:T,endIndex:k}}function j(){if(Q){let R=0;for(let T=0;T<U.length;T++)R+=w.get(T)||q;return R}return U.length*Z}function _(R){if(Q){let T=0;for(let k=0;k<R;k++)T+=w.get(k)||q;return T}return R*Z}function H(){let{startIndex:R,endIndex:T}=z();return{startIndex:R,endIndex:T,scrollTop:W,totalHeight:j(),visibleItems:U.slice(R,T+1),itemHeights:new Map(w)}}function O(R,T="auto"){let k=_(R);L(k,T)}function L(R,T="auto"){W=Math.max(0,Math.min(R,j()-Y))}function F(){z()}function V(R){U=[...R],w.clear(),F()}function A(){U=[],w.clear()}return{scrollToIndex:O,scrollToOffset:L,getState:H,refresh:F,setItems:V,destroy:A}}function l4(X,$={},Z){let Y=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return X.replace(Y,(J,G,Q,q)=>{let K=G.trim(),U=$[K];if(!U||!Array.isArray(U))return`<!-- virtualList: items "${K}" not found or not an array -->`;let W={itemHeight:50,containerHeight:400,overscan:3};if(Q)try{let L=Q.trim(),F=Function(`return ${L}`)();W={...W,...F}}catch{}let w=`vlist-${Math.random().toString(36).substring(2,9)}`,z=Math.ceil(W.containerHeight/W.itemHeight),B=W.overscan||3,j=0,_=Math.min(U.length-1,z+B),H="";for(let L=j;L<=_&&L<U.length;L++){let F=U[L],V=q.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(L));H+=`
|
|
15412
15520
|
<div class="virtual-item ${W.itemClass||""}"
|
|
15413
|
-
style="position: absolute; top: ${
|
|
15414
|
-
data-index="${
|
|
15521
|
+
style="position: absolute; top: ${L*W.itemHeight}px; height: ${W.itemHeight}px; width: 100%;"
|
|
15522
|
+
data-index="${L}">
|
|
15415
15523
|
${V}
|
|
15416
|
-
</div>`}let
|
|
15524
|
+
</div>`}let O=U.length*W.itemHeight;return`
|
|
15417
15525
|
<div id="${w}"
|
|
15418
15526
|
class="virtual-list-container ${W.containerClass||""}"
|
|
15419
15527
|
style="position: relative; height: ${W.containerHeight}px; overflow-y: auto;"
|
|
@@ -15421,7 +15529,7 @@ else {
|
|
|
15421
15529
|
data-total-items="${U.length}"
|
|
15422
15530
|
data-overscan="${B}">
|
|
15423
15531
|
<div class="virtual-list-viewport ${W.viewportClass||""}"
|
|
15424
|
-
style="position: relative; height: ${
|
|
15532
|
+
style="position: relative; height: ${O}px; width: 100%;">
|
|
15425
15533
|
${H}
|
|
15426
15534
|
</div>
|
|
15427
15535
|
</div>
|
|
@@ -15485,7 +15593,7 @@ else {
|
|
|
15485
15593
|
};
|
|
15486
15594
|
})();
|
|
15487
15595
|
</script>
|
|
15488
|
-
`})}function
|
|
15596
|
+
`})}function fq(){return`
|
|
15489
15597
|
.virtual-list-container {
|
|
15490
15598
|
position: relative;
|
|
15491
15599
|
overflow-y: auto;
|
|
@@ -15533,7 +15641,7 @@ else {
|
|
|
15533
15641
|
0% { background-position: 200% 0; }
|
|
15534
15642
|
100% { background-position: -200% 0; }
|
|
15535
15643
|
}
|
|
15536
|
-
`}function
|
|
15644
|
+
`}function gq(X,$){let Z=null,Y=()=>{if(!Z)Z=m4(X(),$);return Z};return{visibleItems:()=>{return Y().getState().visibleItems},totalHeight:()=>{return Y().getState().totalHeight},containerProps:()=>({style:{height:`${$.containerHeight}px`,overflow:"auto",position:"relative"},onScroll:(J)=>{let G=J.target;if(Z)Z.scrollToOffset(G.scrollTop)}}),itemProps:(J)=>({style:{position:"absolute",top:`${J*$.itemHeight}px`,height:`${$.itemHeight}px`,width:"100%"},"data-index":J}),scrollToIndex:(J)=>{Y().scrollToIndex(J)}}}function hq(X,$={},Z){let Y=/@infiniteList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@loading\s*([\s\S]*?)@endinfiniteList/gi;return X.replace(Y,(J,G,Q,q,K)=>{let U=G.trim(),W=$[U];if(!W||!Array.isArray(W))return`<!-- infiniteList: items "${U}" not found or not an array -->`;let w={itemHeight:50,containerHeight:400,overscan:3,threshold:100,hasMore:!0};if(Q)try{let j=Function(`return ${Q.trim()}`)();w={...w,...j}}catch{}let z=`ilist-${Math.random().toString(36).substring(2,9)}`,B=l4(`@virtualList(${U}, ${JSON.stringify({itemHeight:w.itemHeight,containerHeight:w.containerHeight,overscan:w.overscan,containerClass:w.containerClass})})${q}@endvirtualList`,$);return B=B.replace("</script>",`
|
|
15537
15645
|
// Infinite scroll detection
|
|
15538
15646
|
container.addEventListener('scroll', function() {
|
|
15539
15647
|
const scrollBottom = container.scrollTop + container.clientHeight;
|
|
@@ -15551,18 +15659,18 @@ else {
|
|
|
15551
15659
|
${K}
|
|
15552
15660
|
</div>
|
|
15553
15661
|
</div>
|
|
15554
|
-
`})}function
|
|
15662
|
+
`})}function uq(X,$={},Z){let Y=/@virtualGrid\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualGrid/gi;return X.replace(Y,(J,G,Q,q)=>{let K=G.trim(),U=$[K];if(!U||!Array.isArray(U))return`<!-- virtualGrid: items "${K}" not found or not an array -->`;let W={columns:3,rowHeight:100,containerHeight:400,gap:10,overscan:2};if(Q)try{let F=Function(`return ${Q.trim()}`)();W={...W,...F}}catch{}let w=`vgrid-${Math.random().toString(36).substring(2,9)}`,z=Math.ceil(U.length/W.columns),B=z*(W.rowHeight+(W.gap||0)),j=Math.ceil(W.containerHeight/(W.rowHeight+(W.gap||0))),_=W.overscan||2,H=0,O=Math.min(z-1,j+_),L="";for(let F=H;F<=O;F++)for(let V=0;V<W.columns;V++){let A=F*W.columns+V;if(A>=U.length)break;let R=U[A],T=V*(100/W.columns),k=F*(W.rowHeight+(W.gap||0)),M=q.replace(/\{\{\s*item\s*\}\}/g,typeof R==="object"?JSON.stringify(R):String(R)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(N,D)=>{if(typeof R==="object"&&R!==null)return String(R[D]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(A));L+=`
|
|
15555
15663
|
<div class="virtual-grid-item"
|
|
15556
|
-
style="position: absolute; top: ${
|
|
15664
|
+
style="position: absolute; top: ${k}px; left: ${T}%; width: calc(${100/W.columns}% - ${W.gap||0}px); height: ${W.rowHeight}px;"
|
|
15557
15665
|
data-index="${A}">
|
|
15558
|
-
${
|
|
15666
|
+
${M}
|
|
15559
15667
|
</div>`}return`
|
|
15560
15668
|
<div id="${w}"
|
|
15561
15669
|
class="virtual-grid-container"
|
|
15562
15670
|
style="position: relative; height: ${W.containerHeight}px; overflow-y: auto;">
|
|
15563
15671
|
<div class="virtual-grid-viewport"
|
|
15564
15672
|
style="position: relative; height: ${B}px; width: 100%;">
|
|
15565
|
-
${
|
|
15673
|
+
${L}
|
|
15566
15674
|
</div>
|
|
15567
15675
|
</div>
|
|
15568
15676
|
<script data-virtual-grid="${w}">
|
|
@@ -15621,7 +15729,7 @@ else {
|
|
|
15621
15729
|
});
|
|
15622
15730
|
})();
|
|
15623
15731
|
</script>
|
|
15624
|
-
`})}var
|
|
15732
|
+
`})}var OL;var mq=E(()=>{OL={createVirtualList:m4,processVirtualListDirectives:l4,processInfiniteListDirectives:hq,processVirtualGridDirectives:uq,generateVirtualListCSS:fq,useVirtualList:gq}});function lq(){return`<script data-stx-hydration-runtime>
|
|
15625
15733
|
(function() {
|
|
15626
15734
|
'use strict';
|
|
15627
15735
|
|
|
@@ -15781,7 +15889,7 @@ else {
|
|
|
15781
15889
|
stxIslands.initIslands();
|
|
15782
15890
|
}
|
|
15783
15891
|
})();
|
|
15784
|
-
</script>`}function
|
|
15892
|
+
</script>`}function cq(X){let $=X.match(/<([A-Z][a-zA-Z0-9]+)[\s/>]/);if($)return $[1];let Z=X.match(/<([a-z][a-z0-9]*-[a-z0-9-]+)[\s/>]/);if(Z)return Z[1];return null}function pq(X,$){let Z={},Y=/:([a-zA-Z_][\w-]*)\s*=\s*"([^"]+)"/g,J;while((J=Y.exec(X))!==null){let G=J[1],Q=J[2];if(Q in $)Z[G]=$[Q];else Z[G]=Q}return Z}var ZK={};o(ZK,{processStaticDirectives:()=>XK,processPartialHydrationDirectives:()=>nq,onHydrated:()=>eq,isHydrated:()=>tq,hydrateIsland:()=>oq,hydrateByStrategy:()=>sq,hydrateAll:()=>aq,generatePartialHydrationCSS:()=>rq,generateIslandManifest:()=>$K,default:()=>ML,createIslandRegistry:()=>iq});function iq(){let X=new Map;return{islands:X,register($){X.set($.id,$)},get($){return X.get($)},async hydrate($){let Z=X.get($);if(!Z||Z.hydrated)return;if(Z.hydrated=!0,typeof window<"u"&&typeof window.dispatchEvent==="function")window.dispatchEvent(new CustomEvent("stx:hydrate",{detail:{id:$,component:Z.component}}))},async hydrateAll(){let $=Array.from(X.values()).filter((Z)=>!Z.hydrated).map((Z)=>this.hydrate(Z.id));await Promise.all($)}}}function LL(X){return`
|
|
15785
15893
|
<script data-hydrate="${X}">
|
|
15786
15894
|
(function() {
|
|
15787
15895
|
const island = document.querySelector('[data-island="${X}"]');
|
|
@@ -15792,7 +15900,7 @@ else {
|
|
|
15792
15900
|
island.dispatchEvent(new CustomEvent('stx:hydrated', { bubbles: true }));
|
|
15793
15901
|
})();
|
|
15794
15902
|
</script>
|
|
15795
|
-
`}function
|
|
15903
|
+
`}function FL(X,$){let Z=$.timeout||2000,Y=$.priority||"low";return`
|
|
15796
15904
|
<script data-hydrate="${X}">
|
|
15797
15905
|
(function() {
|
|
15798
15906
|
const island = document.querySelector('[data-island="${X}"]');
|
|
@@ -15828,7 +15936,7 @@ else {
|
|
|
15828
15936
|
}
|
|
15829
15937
|
})();
|
|
15830
15938
|
</script>
|
|
15831
|
-
`}function
|
|
15939
|
+
`}function VL(X,$){let Z=$.rootMargin||"0px",Y=$.threshold||0;return`
|
|
15832
15940
|
<script data-hydrate="${X}">
|
|
15833
15941
|
(function() {
|
|
15834
15942
|
const island = document.querySelector('[data-island="${X}"]');
|
|
@@ -15861,7 +15969,7 @@ else {
|
|
|
15861
15969
|
}
|
|
15862
15970
|
})();
|
|
15863
15971
|
</script>
|
|
15864
|
-
`}function
|
|
15972
|
+
`}function AL(X,$){let Z=$.media||"(min-width: 768px)";return`
|
|
15865
15973
|
<script data-hydrate="${X}">
|
|
15866
15974
|
(function() {
|
|
15867
15975
|
const island = document.querySelector('[data-island="${X}"]');
|
|
@@ -15890,7 +15998,7 @@ else {
|
|
|
15890
15998
|
}
|
|
15891
15999
|
})();
|
|
15892
16000
|
</script>
|
|
15893
|
-
`}function
|
|
16001
|
+
`}function RL(X){return`
|
|
15894
16002
|
<script data-hydrate="${X}">
|
|
15895
16003
|
(function() {
|
|
15896
16004
|
const island = document.querySelector('[data-island="${X}"]');
|
|
@@ -15912,7 +16020,7 @@ else {
|
|
|
15912
16020
|
events.forEach(e => island.addEventListener(e, handler, { once: true, passive: true }));
|
|
15913
16021
|
})();
|
|
15914
16022
|
</script>
|
|
15915
|
-
`}function
|
|
16023
|
+
`}function TL(X,$){let Z=$.event||"stx:activate";return`
|
|
15916
16024
|
<script data-hydrate="${X}">
|
|
15917
16025
|
(function() {
|
|
15918
16026
|
const island = document.querySelector('[data-island="${X}"]');
|
|
@@ -15933,9 +16041,9 @@ else {
|
|
|
15933
16041
|
});
|
|
15934
16042
|
})();
|
|
15935
16043
|
</script>
|
|
15936
|
-
`}function
|
|
15937
|
-
`+
|
|
15938
|
-
<script type="application/json" data-island-props="${K}">${JSON.stringify(W)}</script>`:"",j="";switch($){case"load":j=
|
|
16044
|
+
`}function nq(X,$={},Z){let Y=X,J=!1,G=/@client:(load|idle|visible|media|only|hover|event)/i.test(X);if(Y=p5(Y,"load",$),Y=p5(Y,"idle",$),Y=p5(Y,"visible",$),Y=p5(Y,"media",$),Y=NL(Y),Y=p5(Y,"hover",$),Y=p5(Y,"event",$),J=G&&Y!==X,J)Y+=`
|
|
16045
|
+
`+lq();return Y}function p5(X,$,Z){let Y=new RegExp(`@client:${$}(?:\\s*\\(([^)]*)\\))?\\s*([\\s\\S]*?)@endclient`,"gi");return X.replace(Y,(J,G,Q)=>{let q={strategy:$};if(G)try{let _=G.split(",").map((H)=>H.trim());for(let H of _){let[O,L]=H.split(":").map((F)=>F.trim());if(O&&L){let F=L.replace(/^['"]|['"]$/g,"");q[O]=F}}}catch{}let K=`island-${Math.random().toString(36).substring(2,9)}`,U=cq(Q.trim()),W=pq(Q.trim(),Z),w=[];if(q.rootMargin)w.push(`data-root-margin="${q.rootMargin}"`);if(q.threshold!==void 0)w.push(`data-threshold="${q.threshold}"`);if(q.media)w.push(`data-media="${q.media}"`);if(q.event)w.push(`data-event="${q.event}"`);if(U)w.push(`data-component="${U}"`);let B=Object.keys(W).length>0?`
|
|
16046
|
+
<script type="application/json" data-island-props="${K}">${JSON.stringify(W)}</script>`:"",j="";switch($){case"load":j=LL(K);break;case"idle":j=FL(K,q);break;case"visible":j=VL(K,q);break;case"media":j=AL(K,q);break;case"hover":j=RL(K);break;case"event":j=TL(K,q);break}return`
|
|
15939
16047
|
<div data-island="${K}"
|
|
15940
16048
|
data-strategy="${$}"
|
|
15941
16049
|
${w.join(`
|
|
@@ -15945,7 +16053,7 @@ else {
|
|
|
15945
16053
|
${Q.trim()}${B}
|
|
15946
16054
|
</div>
|
|
15947
16055
|
${j}
|
|
15948
|
-
`})}function
|
|
16056
|
+
`})}function NL(X){let $=/@client:only\s*([\s\S]*?)@endclient/gi;return X.replace($,(Z,Y)=>{let J=`island-only-${Math.random().toString(36).substring(2,9)}`;return`
|
|
15949
16057
|
<div data-island="${J}"
|
|
15950
16058
|
data-strategy="only"
|
|
15951
16059
|
class="stx-island stx-client-only">
|
|
@@ -15964,7 +16072,7 @@ else {
|
|
|
15964
16072
|
}
|
|
15965
16073
|
})();
|
|
15966
16074
|
</script>
|
|
15967
|
-
`})}function
|
|
16075
|
+
`})}function rq(){return`
|
|
15968
16076
|
/* Island base styles */
|
|
15969
16077
|
.stx-island {
|
|
15970
16078
|
display: contents;
|
|
@@ -16005,11 +16113,11 @@ else {
|
|
|
16005
16113
|
.stx-island.hydrated {
|
|
16006
16114
|
opacity: 1;
|
|
16007
16115
|
}
|
|
16008
|
-
`}function
|
|
16116
|
+
`}function oq(X){if(typeof window>"u")return;let $=document.querySelector(`[data-island="${X}"]`);if(!$||$.classList.contains("hydrated"))return;$.classList.add("hydrated"),$.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))}function sq(X){if(typeof window>"u")return;document.querySelectorAll(`[data-strategy="${X}"]:not(.hydrated)`).forEach((Z)=>{Z.classList.add("hydrated"),Z.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function aq(){if(typeof window>"u")return;document.querySelectorAll(".stx-island:not(.hydrated)").forEach(($)=>{$.classList.add("hydrated"),$.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function tq(X){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${X}"]`)?.classList.contains("hydrated")??!1}function eq(X){return new Promise(($)=>{if(typeof window>"u"){$();return}let Z=document.querySelector(`[data-island="${X}"]`);if(!Z){$();return}if(Z.classList.contains("hydrated")){$();return}Z.addEventListener("stx:hydrated",()=>$(),{once:!0})})}function XK(X){return X.replace(/@static\s*([\s\S]*?)@endstatic/gi,($,Z)=>{return`<div class="stx-static">${Z.trim()}</div>`})}function $K(X){let $=X.map((Z)=>({id:Z.id,component:Z.component,strategy:Z.options.strategy,props:Z.props}));return`
|
|
16009
16117
|
<script type="application/json" id="stx-island-manifest">
|
|
16010
16118
|
${JSON.stringify($)}
|
|
16011
16119
|
</script>
|
|
16012
|
-
`}var
|
|
16120
|
+
`}var ML;var YK=E(()=>{ML={processPartialHydrationDirectives:nq,processStaticDirectives:XK,generatePartialHydrationCSS:rq,generateIslandManifest:$K,createIslandRegistry:iq,hydrateIsland:oq,hydrateByStrategy:sq,hydrateAll:aq,isHydrated:tq,onHydrated:eq}});var BK={};o(BK,{watchMultiple:()=>KK,watchEffect:()=>UK,watch:()=>qK,unref:()=>JK,toRefs:()=>GK,throttledComputed:()=>jK,stxWatchMultiple:()=>KK,stxWatchEffect:()=>UK,stxWatch:()=>qK,stxUnref:()=>JK,stxToRefs:()=>GK,stxThrottledComputed:()=>jK,stxShallowRef:()=>QK,stxRef:()=>i5,stxIsRef:()=>v1,stxDebouncedComputed:()=>zK,stxComputed:()=>o7,shallowRef:()=>QK,ref:()=>i5,processWatchDirectives:()=>wK,processComputedDirectives:()=>WK,isRef:()=>v1,default:()=>kL,debouncedComputed:()=>zK,computed:()=>o7});function i5(X){let $=X,Z=new Set,Y={get value(){if(G1){let J=r7.get(Y);if(!J)J=new Set,r7.set(Y,J);J.add(G1)}return $},set value(J){if(!Object.is($,J)){$=J,Z.forEach((Q)=>Q(J));let G=r7.get(Y);if(G)G.forEach((Q)=>Q())}},subscribe(J){return Z.add(J),()=>Z.delete(J)},peek(){return $}};return Y}function v1(X){return X!==null&&typeof X==="object"&&"value"in X&&"subscribe"in X&&"peek"in X}function JK(X){return v1(X)?X.value:X}function GK(X){let $={};for(let Z in X)if(Object.prototype.hasOwnProperty.call(X,Z))$[Z]=i5(X[Z]);return $}function QK(X){return i5(X)}function o7(X){let $=typeof X==="function",Z=$?X:X.get,Y=$?void 0:X.set,J=$?Object.is:X.equals||Object.is,G,Q=!0,q=new Set,K=new Set,U=()=>{if(Q=!0,K.size>0){let z=w.value;K.forEach((B)=>B(z))}};function W(){q.clear();let z=G1;G1=U,Q$.push(U);try{return Z()}finally{Q$.pop(),G1=z}}let w={get value(){if(G1){let z=r7.get(w);if(!z)z=new Set,r7.set(w,z);z.add(G1)}if(Q){let z=W();if(!J(G,z))G=z;Q=!1}return G},set value(z){if(Y)Y(z);else console.warn("Computed property is readonly")},subscribe(z){return K.add(z),()=>K.delete(z)},peek(){if(Q)G=Z(),Q=!1;return G},invalidate(){Q=!0},get dirty(){return Q},get deps(){return q}};return w}function qK(X,$,Z={}){let{immediate:Y=!1,deep:J=!1,flush:G="pre",once:Q=!1}=Z,q,K=!0,U=!1,W=()=>{if(v1(X))return J?q5(X.value):X.value;return X()},w=()=>{if(!K||U)return;let j=W();if(q!==void 0&&Object.is(q,j)&&!J)return;let _=()=>{if($(j,q),q=J?q5(j):j,Q)B()};if(G==="sync")_();else if(G==="post")queueMicrotask(_);else Promise.resolve().then(_)},z=null;if(v1(X))z=X.subscribe(()=>w());else z=o7(X).subscribe(()=>w());if(Y)q=void 0,w();else q=W();let B=()=>{if(K=!1,z)z(),z=null};return B.pause=()=>{U=!0},B.resume=()=>{U=!1},B}function KK(X,$,Z={}){let{immediate:Y=!1,once:J=!1}=Z,G=X.map((w)=>v1(w)?w.value:void 0),Q=!0,q=!1,K=()=>{if(!Q||q)return;let w=X.map((z)=>v1(z)?z.value:void 0);if($(w,G),G=[...w],J)W()},U=X.map((w)=>{if(v1(w))return w.subscribe(()=>K());return()=>{}});if(Y)K();let W=()=>{Q=!1,U.forEach((w)=>w())};return W.pause=()=>{q=!0},W.resume=()=>{q=!1},W}function UK(X,$={}){let{flush:Z="pre"}=$,Y,J=!0,G=!1,Q=()=>{if(!J||G)return;if(Y)Y();let K=G1;G1=Q,Q$.push(Q);try{Y=X()}finally{Q$.pop(),G1=K}};if(Z==="sync")Q();else if(Z==="post")queueMicrotask(Q);else Promise.resolve().then(Q);let q=()=>{if(J=!1,Y)Y()};return q.pause=()=>{G=!0},q.resume=()=>{G=!1},q}function WK(X,$={},Z){let Y=/@computed\s*\(\s*(\w+)\s*,\s*(.+?)\s*\)/gi;return X.replace(Y,(J,G,Q)=>{try{let K=Function(...Object.keys($),`return ${Q}`)(...Object.values($));return $[G]=K,`<!-- computed: ${G} = ${K} -->`}catch(q){return`<!-- computed error: ${G} - ${q} -->`}})}function wK(X,$={},Z){let Y=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return X.replace(Y,(J,G,Q)=>{return`
|
|
16013
16121
|
<script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
|
|
16014
16122
|
(function() {
|
|
16015
16123
|
// Watch implementation for ${G}
|
|
@@ -16021,9 +16129,9 @@ else {
|
|
|
16021
16129
|
}
|
|
16022
16130
|
})();
|
|
16023
16131
|
</script>
|
|
16024
|
-
`})}function q5(X){if(X===null||typeof X!=="object")return X;if(Array.isArray(X))return X.map((Z)=>q5(Z));if(X instanceof Date)return new Date(X.getTime());if(X instanceof Map){let Z=new Map;return X.forEach((Y,J)=>Z.set(q5(J),q5(Y))),Z}if(X instanceof Set){let Z=new Set;return X.forEach((Y)=>Z.add(q5(Y))),Z}let $={};for(let Z in X)if(Object.prototype.hasOwnProperty.call(X,Z))$[Z]=q5(X[Z]);return $}function
|
|
16025
|
-
`)}catch{return""}})}function
|
|
16026
|
-
`)}catch{return""}})}function
|
|
16132
|
+
`})}function q5(X){if(X===null||typeof X!=="object")return X;if(Array.isArray(X))return X.map((Z)=>q5(Z));if(X instanceof Date)return new Date(X.getTime());if(X instanceof Map){let Z=new Map;return X.forEach((Y,J)=>Z.set(q5(J),q5(Y))),Z}if(X instanceof Set){let Z=new Set;return X.forEach((Y)=>Z.add(q5(Y))),Z}let $={};for(let Z in X)if(Object.prototype.hasOwnProperty.call(X,Z))$[Z]=q5(X[Z]);return $}function zK(X,$=100){let Z=i5(X()),Y=null,J=()=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{Z.value=X()},$)};return o7(X).subscribe(()=>J()),{get value(){return Z.value},set value(Q){console.warn("Debounced computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}function jK(X,$=100){let Z=i5(X()),Y=0,J=()=>{let Q=Date.now();if(Q-Y>=$)Y=Q,Z.value=X()};return o7(X).subscribe(()=>J()),{get value(){return Z.value},set value(Q){console.warn("Throttled computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}var G1=null,Q$,r7,kL;var _K=E(()=>{Q$=[],r7=new WeakMap;kL={ref:i5,computed:o7,watch:qK,watchMultiple:KK,watchEffect:UK,isRef:v1,unref:JK,toRefs:GK,shallowRef:QK,debouncedComputed:zK,throttledComputed:jK,processComputedDirectives:WK,processWatchDirectives:wK}});function s7(X,$){let Z={};for(let Y of X)Z[Y]=E1($(Y));return new Proxy({},{get:(Y,J)=>Z[J]?.(),set:(Y,J,G)=>{if(Z[J])Z[J].set(G);else Z[J]=E1(G);return!0},has:(Y,J)=>(J in Z),deleteProperty:(Y,J)=>{return delete Z[J],!0},ownKeys:()=>Reflect.ownKeys(Z),getOwnPropertyDescriptor:(Y,J)=>(J in Z)?{enumerable:!0,configurable:!0,writable:!0,value:Z[J]()}:void 0})}function IL(X,$){let Z={};for(let Y of $)Z[Y]=X[Y];return Z}function c4(X,$){let Z=Object.keys(X),Y=s7(Z,(L)=>$?.[L]??X[L].getDefaultValue()),J=s7(Z,()=>[]),G=s7(Z,()=>!1),Q=s7(Z,()=>!1),q=s7(Z,()=>!1),K=E1(!1);async function U(L){q[L]=!0;let F=await X[L].validate(Y[L],Y);return J[L]=F,q[L]=!1,F.length===0}async function W(){K.set(!0);let L=await Promise.all(Z.map(U));return K.set(!1),L.every(Boolean)}function w(){for(let L of Z)Y[L]=$?.[L]??X[L].getDefaultValue(),J[L]=[],G[L]=!1,Q[L]=!1}function z(L){for(let F of Z)if(F in L)Y[F]=L[F],Q[F]=!0}function B(L,F){Y[L]=F,Q[L]=!0}function j(L,F=!0){if(G[L]=F,F)U(L)}function _(L){return{value:Y[L],errors:J[L],touched:G[L],dirty:Q[L],valid:J[L].length===0,validating:q[L]}}function H(L){return async(F)=>{F?.preventDefault?.();for(let A of Z)G[A]=!0;if(await W())await L(IL(Y,Z))}}return{values:Y,errors:J,touched:G,dirty:Q,get isValid(){return Z.every((L)=>J[L].length===0)},get isValidating(){return K()||Z.some((L)=>q[L])},get isDirty(){return Z.some((L)=>Q[L])},validate:W,validateField:U,reset:w,setValues:z,setFieldValue:B,setFieldTouched:j,getFieldState:_,handleSubmit:H}}var HK;var OK=E(()=>{hX();HK=c4});var AK={};o(AK,{v:()=>EL,useForm:()=>c4,processHasErrorsDirective:()=>VK,processFormValidationDirectives:()=>DL,processErrorsDirective:()=>FK,processErrorDirective:()=>LK,defineForm:()=>HK,Validator:()=>n5});class n5{rules=[];defaultValue="";addRule(X){let $=new n5;return $.rules=[...this.rules,X],$.defaultValue=this.defaultValue,$}required(X="This field is required"){return this.addRule({name:"required",message:X,validate:($)=>{if($===null||$===void 0)return X;if(typeof $==="string"&&$.trim()==="")return X;if(Array.isArray($)&&$.length===0)return X;return!0}})}email(X="Please enter a valid email"){return this.addRule({name:"email",message:X,validate:($)=>{if(!$)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($))||X}})}url(X="Please enter a valid URL"){return this.addRule({name:"url",message:X,validate:($)=>{if(!$)return!0;try{return new URL(String($)),!0}catch{return X}}})}min(X,$){let Z=$||`Must be at least ${X} characters`;return this.addRule({name:"min",message:Z,validate:(Y)=>{if(!Y)return!0;return String(Y).length>=X||Z}})}max(X,$){let Z=$||`Must be no more than ${X} characters`;return this.addRule({name:"max",message:Z,validate:(Y)=>{if(!Y)return!0;return String(Y).length<=X||Z}})}length(X,$,Z){let Y=Z||`Must be between ${X} and ${$} characters`;return this.addRule({name:"length",message:Y,validate:(J)=>{if(!J)return!0;let G=String(J).length;return G>=X&&G<=$||Y}})}pattern(X,$="Invalid format"){return this.addRule({name:"pattern",message:$,validate:(Z)=>{if(!Z)return!0;return X.test(String(Z))||$}})}hasUppercase(X="Must contain an uppercase letter"){return this.pattern(/[A-Z]/,X)}hasLowercase(X="Must contain a lowercase letter"){return this.pattern(/[a-z]/,X)}hasNumber(X="Must contain a number"){return this.pattern(/\d/,X)}hasSpecial(X="Must contain a special character"){return this.pattern(/[!@#$%^&*(),.?":{}|<>]/,X)}alphanumeric(X="Only letters and numbers allowed"){return this.pattern(/^[a-zA-Z0-9]+$/,X)}startsWithLetter(X="Must start with a letter"){return this.pattern(/^[a-zA-Z]/,X)}noSpaces(X="Spaces are not allowed"){return this.addRule({name:"noSpaces",message:X,validate:($)=>{if(!$)return!0;return!String($).includes(" ")||X}})}number(X="Must be a number"){let $=this.addRule({name:"number",message:X,validate:(Z)=>{if(!Z&&Z!==0)return!0;return!Number.isNaN(Number(Z))||X}});return $.defaultValue=0,$}integer(X="Must be a whole number"){return this.addRule({name:"integer",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number.isInteger(Number($))||X}})}positive(X="Must be a positive number"){return this.addRule({name:"positive",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number($)>0||X}})}negative(X="Must be a negative number"){return this.addRule({name:"negative",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number($)<0||X}})}minValue(X,$){let Z=$||`Must be at least ${X}`;return this.addRule({name:"minValue",message:Z,validate:(Y)=>{if(!Y&&Y!==0)return!0;return Number(Y)>=X||Z}})}maxValue(X,$){let Z=$||`Must be no more than ${X}`;return this.addRule({name:"maxValue",message:Z,validate:(Y)=>{if(!Y&&Y!==0)return!0;return Number(Y)<=X||Z}})}between(X,$,Z){let Y=Z||`Must be between ${X} and ${$}`;return this.addRule({name:"between",message:Y,validate:(J)=>{if(!J&&J!==0)return!0;let G=Number(J);return G>=X&&G<=$||Y}})}matches(X,$){let Z=$||`Must match ${X}`;return this.addRule({name:"matches",message:Z,validate:(Y,J)=>{if(!J)return!0;return Y===J[X]||Z}})}oneOf(X,$){let Z=$||`Must be one of: ${X.join(", ")}`;return this.addRule({name:"oneOf",message:Z,validate:(Y)=>{if(!Y)return!0;return X.includes(Y)||Z}})}notOneOf(X,$){let Z=$||`Cannot be one of: ${X.join(", ")}`;return this.addRule({name:"notOneOf",message:Z,validate:(Y)=>{if(!Y)return!0;return!X.includes(Y)||Z}})}date(X="Must be a valid date"){return this.addRule({name:"date",message:X,validate:($)=>{if(!$)return!0;let Z=new Date(String($));return!Number.isNaN(Z.getTime())||X}})}before(X,$){let Z=new Date(X),Y=$||`Must be before ${Z.toLocaleDateString()}`;return this.addRule({name:"before",message:Y,validate:(J)=>{if(!J)return!0;return new Date(String(J))<Z||Y}})}after(X,$){let Z=new Date(X),Y=$||`Must be after ${Z.toLocaleDateString()}`;return this.addRule({name:"after",message:Y,validate:(J)=>{if(!J)return!0;return new Date(String(J))>Z||Y}})}custom(X,$="Invalid value"){return this.addRule({name:"custom",message:$,validate:X})}async(X,$="Invalid value"){return this.addRule({name:"async",message:$,async:!0,validate:X})}when(X,$){let Z=new n5;Z.rules=[...this.rules],Z.defaultValue=this.defaultValue;for(let Y of $.getRules())Z.rules.push({...Y,validate:(J,G)=>{if(!X(J,G||{}))return!0;return Y.validate(J,G)}});return Z}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default(X){let $=new n5;return $.rules=[...this.rules],$.defaultValue=X,$}async validate(X,$){let Z=[];for(let Y of this.rules){let J=await Y.validate(X,$);if(J!==!0)Z.push(J)}return Z}validateSync(X,$){let Z=[];for(let Y of this.rules){if(Y.async)continue;let J=Y.validate(X,$);if(J!==!0)Z.push(J)}return Z}}function LK(X,$,Z){let Y=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return X.replace(Y,(J,G,Q)=>{try{let q=G.trim().split("."),K=$;for(let W of q)if(K&&typeof K==="object"&&W in K)K=K[W];else return"";let U=K;if(!U||!Array.isArray(U)||U.length===0)return"";return U.map((W)=>{return Q.replace(/\{\{\s*message\s*\}\}/g,W)}).join(`
|
|
16133
|
+
`)}catch{return""}})}function FK(X,$,Z){let Y=/@errors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderrors/g;return X.replace(Y,(J,G,Q)=>{try{let q=G.trim().split("."),K=$;for(let W of q)if(K&&typeof K==="object"&&W in K)K=K[W];else return"";let U=K;if(!U||!Array.isArray(U)||U.length===0)return"";return U.map((W)=>Q.replace(/\{\{\s*message\s*\}\}/g,W)).join(`
|
|
16134
|
+
`)}catch{return""}})}function VK(X,$,Z){let Y=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return X.replace(Y,(J,G,Q)=>{try{let q=G.trim().split("."),K=$;for(let W of q)if(K&&typeof K==="object"&&W in K)K=K[W];else return"";let U=K;if(!U||!Array.isArray(U)||U.length===0)return"";return Q}catch{return""}})}function DL(X,$,Z){let Y=X;return Y=LK(Y,$,Z),Y=FK(Y,$,Z),Y=VK(Y,$,Z),Y}var EL;var RK=E(()=>{OK();EL=new n5});var MK={};o(MK,{processXElementDirectives:()=>yL,hasXElementDirectives:()=>NK,generateXElementRuntime:()=>TK});function TK(){return`<script data-stx-scoped data-stx-x-element-runtime data-stx-run="always">
|
|
16027
16135
|
(function() {
|
|
16028
16136
|
'use strict';
|
|
16029
16137
|
|
|
@@ -16307,49 +16415,49 @@ else {
|
|
|
16307
16415
|
// Expose for manual initialization
|
|
16308
16416
|
window.XElement = XElement;
|
|
16309
16417
|
})();
|
|
16310
|
-
</script>`}function
|
|
16418
|
+
</script>`}function NK(X){return/\bx-data(?:\s|=)/.test(X)}function yL(X){let $=/<script\b(?=[^>]*\bdata-stx-x-element-runtime\b)[^>]*>[\s\S]*?<\/script>\s*/gi,Z=X.match($)||[],Y=Z.length>0?X.replace($,""):X;if(!NK(Y))return Y;let J=Z[0]?.trim()||TK(),G=Y.lastIndexOf("</body>");if(G!==-1)return Y.slice(0,G)+J+`
|
|
16311
16419
|
`+Y.slice(G);return Y+`
|
|
16312
|
-
`+J}var
|
|
16420
|
+
`+J}var kK={};o(kK,{rewriteImagesWithSiblings:()=>CL});import _1 from"path";async function CL(X,$){let Z=$.formats??SL;if(!$.publicDir)return X;let Y=xL(X),J=[],G=/<img\b[^>]*?>/gi,Q=[],q;while((q=G.exec(X))!==null){let w=q[0],z=w.match(/\bsrc=["']([^"']+)["']/i);if(!z)continue;if(fL(q.index,Y))continue;Q.push({idx:q.index,length:w.length,src:z[1],raw:w})}if(Q.length===0)return X;let K=await Promise.all(Q.map(async(w)=>{let z=await PL(w.src,$.publicDir,Z);return{match:w,sources:z}}));for(let{match:w,sources:z}of K){if(z.length===0)continue;let j=`<picture>${z.map((_)=>`<source type="${_.mime}" srcset="${gL(_.url)}">`).join("")}${w.raw}</picture>`;J.push({start:w.idx,end:w.idx+w.length,replacement:j})}if(J.length===0)return X;let U="",W=0;for(let w of J)U+=X.slice(W,w.start),U+=w.replacement,W=w.end;return U+=X.slice(W),U}async function PL(X,$,Z){if(!vL(X))return[];let Y=_1.extname(X).toLowerCase();if(!bL.has(Y))return[];if(!X.startsWith("/"))return[];let J=_1.join($,X.slice(1)),G=_1.dirname(J),Q=_1.basename(J,Y),q=_1.resolve(G),K=_1.resolve($);if(!q.startsWith(K))return[];let U=_1.posix.dirname(X),W=Z.map(async(z)=>{let B=_1.join(G,`${Q}${z.ext}`);if(!await Bun.file(B).exists())return null;return{url:_1.posix.join(U,`${Q}${z.ext}`),mime:z.mime}});return(await Promise.all(W)).filter((z)=>z!==null)}function vL(X){if(!X)return!1;if(X.startsWith("http://")||X.startsWith("https://"))return!1;if(X.startsWith("//"))return!1;if(X.startsWith("data:"))return!1;return!0}function xL(X){let $=[],Z=/<picture\b[^>]*>[\s\S]*?<\/picture>/gi,Y;while((Y=Z.exec(X))!==null)$.push([Y.index,Y.index+Y[0].length]);return $}function fL(X,$){for(let[Z,Y]of $)if(X>=Z&&X<Y)return!0;return!1}function gL(X){return X.replace(/&/g,"&").replace(/"/g,""")}var bL,SL;var IK=E(()=>{bL=new Set([".jpg",".jpeg",".png",".gif"]),SL=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var bK={};o(bK,{validateClientScript:()=>$$,processOnceDirective:()=>X$,processJsonDirective:()=>e8,processDirectives:()=>R0,injectRouterScript:()=>XY});import hL from"fs";import E0 from"path";function EK(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function uL(X,$){let Z=X.length,Y=$,J=!0,G=[],Q=(q)=>q+9<=Z&&X[q]==="<"&&X[q+1]==="/"&&(X[q+2]==="s"||X[q+2]==="S")&&(X[q+3]==="c"||X[q+3]==="C")&&(X[q+4]==="r"||X[q+4]==="R")&&(X[q+5]==="i"||X[q+5]==="I")&&(X[q+6]==="p"||X[q+6]==="P")&&(X[q+7]==="t"||X[q+7]==="T")&&(X[q+8]===">"||/\s/.test(X[q+8]));while(Y<Z){let q=X[Y];if(Q(Y))return Y;if(q==="/"&&X[Y+1]==="/"){if(Y=X.indexOf(`
|
|
16313
16421
|
`,Y+2),Y===-1)return-1;Y+=1,J=!0;continue}if(q==="/"&&X[Y+1]==="*"){let K=X.indexOf("*/",Y+2);if(K===-1)return-1;Y=K+2,J=!0;continue}if(q==="/"&&J){let K=Y+1,U=!1;while(K<Z){let W=X[K];if(W==="\\"){K+=2;continue}if(W==="[")U=!0;else if(W==="]")U=!1;else if(W==="/"&&!U){K++;break}else if(W===`
|
|
16314
16422
|
`){K=-1;break}K++}if(K===-1){Y++,J=!1;continue}while(K<Z&&/[a-z]/.test(X[K]))K++;Y=K,J=!1;continue}if(q==="'"||q==='"'){let K=q;Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]===K){Y++;break}if(X[Y]===`
|
|
16315
|
-
`)break;Y++}J=!1;continue}if(q==="`"){Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}if(G.length===0)J=!1;continue}if(q==="}"&&G.length>0){G.pop(),Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++,J=!1;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}continue}if(/\s/.test(q));else if(/[)\].\w$]/.test(q))J=!1;else J=!0;Y++}return-1}function r5(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=new RegExp(`<script\\b(?=[^>]*\\b${Z}(?:\\s|=|/?>))[^>]*>`,"i").exec(X);if(!Y)return null;let J=Y.index+Y[0].length,G=X.indexOf("</script>",J);if(G===-1)return null;let Q=X.indexOf(">",G);if(Q===-1)return null;return{start:Y.index,end:Q+1}}function
|
|
16423
|
+
`)break;Y++}J=!1;continue}if(q==="`"){Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}if(G.length===0)J=!1;continue}if(q==="}"&&G.length>0){G.pop(),Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++,J=!1;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}continue}if(/\s/.test(q));else if(/[)\].\w$]/.test(q))J=!1;else J=!0;Y++}return-1}function r5(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=new RegExp(`<script\\b(?=[^>]*\\b${Z}(?:\\s|=|/?>))[^>]*>`,"i").exec(X);if(!Y)return null;let J=Y.index+Y[0].length,G=X.indexOf("</script>",J);if(G===-1)return null;let Q=X.indexOf(">",G);if(Q===-1)return null;return{start:Y.index,end:Q+1}}function DK(X){let $=0;while($<X.length){let Z=X.indexOf("<",$);if(Z===-1)return-1;if(X.startsWith("<!--",Z)){let G=X.indexOf("-->",Z+4);$=G===-1?X.length:G+3;continue}let Y=X.slice(Z),J=/^<style\b[^>]*>/i.exec(Y);if(J){let G=X.toLowerCase().indexOf("</style>",Z+J[0].length);$=G===-1?X.length:G+8;continue}if(/^<script\b[^>]*>/i.test(Y))return Z;$=Z+1}return-1}function dL(X){let $=r5(X,"data-stx-runtime");if(!$)return X;let Z=DK(X);if(Z===-1||Z===$.start)return X;let Y=X.slice($.start,$.end),J=X.slice(0,$.start)+X.slice($.end),G=DK(J);if(G===-1)return Y+`
|
|
16316
16424
|
`+J;return J.slice(0,G)+Y+`
|
|
16317
|
-
`+J.slice(G)}async function R0(X,$,Z,Y,J){if(Y.ssr===!1&&!Y.autoShell&&Y.buildMode==="spa")return X;if($.__stx_signals_gate===void 0)$.__stx_signals_gate=
|
|
16318
|
-
`),...U.htmlAttrs&&{htmlAttrs:
|
|
16319
|
-
<meta name="stx-layout" content="${
|
|
16320
|
-
<meta name="stx-layout-group" content="${
|
|
16321
|
-
`+W+Q.slice(w.end)}}catch{}if(G)try{let{getFrameworkComposableScript:q}=await
|
|
16322
|
-
`+K+Q.slice(U.end)}}catch{}if(G)try{let{getComposableScript:q}=await
|
|
16323
|
-
`+W+Q.slice(w.end)}}catch{}if(G)Q=
|
|
16425
|
+
`+J.slice(G)}async function R0(X,$,Z,Y,J){if(Y.ssr===!1&&!Y.autoShell&&Y.buildMode==="spa")return X;if($.__stx_signals_gate===void 0)$.__stx_signals_gate=w1(X);let G=!$.__stxProcessingDepth;if(G)b2($);if(!$.__stxProcessingDepth)$.__stxProcessingDepth=0;if($.__stxProcessingDepth++,!$.__onceStore)$.__onceStore=new Set;if((Y.debug||!P7()&&!R8())&&Z&&Z.endsWith(".stx"))c3(X,Z);try{return await XZ.timeAsync("template-processing",async()=>{let Q=await mL(X,$,Z,Y,J);if(G)Q=v4(Q);if(G&&Y.autoShell&&Y.buildMode!=="compile"){let q=Y.app?.head||{},U=($.__stx_runtime_head||null)??$9(),W=($.__stx_head_raw||"").trim(),w,z=W.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(z)w=z[1].trim(),W=W.replace(z[0],"").trim();let B=$.__sections?.title,j=U.title||w||B,_=!U.title&&(!!w||!!B),H={...q,...j&&{title:j},meta:[...q.meta||[],...U.meta||[]],link:[...q.link||[],...U.link||[]],script:[...q.script||[],...U.script||[]],headRaw:[q.headRaw,W].filter(Boolean).join(`
|
|
16426
|
+
`),...U.htmlAttrs&&{htmlAttrs:aQ(q.htmlAttrs,U.htmlAttrs)},...U.bodyAttrs&&{bodyAttrs:{...q.bodyAttrs||{},...U.bodyAttrs}}},O=P4(Q);if(Q=$q(Q,H,{..._&&{titleIsHtml:!0},...Y.app?.colorMode&&{colorMode:Y.app.colorMode}}),O)Q=Xq(Q,q),Q=tQ(Q,H.htmlAttrs);let L=Q.match(/<!-- stx-layout: ([^ ]+) -->/);if(L&&Q.includes("<head")){let A=L[1],R=W7(A);Q=Q.replace(/<head\b[^>]*>/i,(T)=>`${T}
|
|
16427
|
+
<meta name="stx-layout" content="${EK(A)}">
|
|
16428
|
+
<meta name="stx-layout-group" content="${EK(R)}">`)}let F=Q.match(/function (__stx_setup_\d+_\d+)\(/),V=F?D7(Q):null;if(F&&V&&!/\bdata-stx=/.test(V.tag)){Q=bX(Q,(R,T)=>`<body${T} 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 q=Y.app?.colorMode;if(q)Q=iQ(Q,q);Q=rQ(Q),Q=dL(Q)}if(G)try{let{getStoreScript:q}=await a("stx/store-loader",()=>Promise.resolve().then(() => (wq(),Wq))),K=Y.storesDir,U=await q(K);if(U){let W=`<script data-stx-stores>${U}</script>`,w=r5(Q,"data-stx-runtime");if(w)Q=Q.slice(0,w.end)+`
|
|
16429
|
+
`+W+Q.slice(w.end)}}catch{}if(G)try{let{getFrameworkComposableScript:q}=await a("stx/framework-composables",()=>Promise.resolve().then(() => (Hq(),_q))),K=await q(Q);if(K){let U=r5(Q,"data-stx-stores")||r5(Q,"data-stx-runtime");if(U)Q=Q.slice(0,U.end)+`
|
|
16430
|
+
`+K+Q.slice(U.end)}}catch{}if(G)try{let{getComposableScript:q}=await a("stx/composable-loader",()=>Promise.resolve().then(() => (Fq(),Lq))),K=Y.composablesDir,U=await q(K);if(U){let W=`<script data-stx-composables>${U}</script>`,w=r5(Q,"data-stx-stores")||r5(Q,"data-stx-runtime");if(w)Q=Q.slice(0,w.end)+`
|
|
16431
|
+
`+W+Q.slice(w.end)}}catch{}if(G)Q=nQ(Q);if(G&&$.__stx_inject_css!==!1)Q=await fJ(Q,void 0,Y.buildMode==="serve");if(G)Q=GZ(Q);return Q=Q.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),Q})}catch(Q){if(Q instanceof k8)throw Q;let q=Q instanceof Error?Q.message:String(Q),K=new e1(`Template processing failed: ${q}`,Z,void 0,void 0,X.substring(0,200)+(X.length>200?"...":""));if(X1.log(K,{filePath:Z,context:$}),V3.logDetailedError(K,{filePath:Z,template:X.substring(0,500)}),Y.debug)throw K;return L3.createFallbackContent("Template Processing",K)}}async function mL(X,$,Z,Y,J){let G=process.cwd(),Q={...Y,partialsDir:Y.partialsDir&&!E0.isAbsolute(Y.partialsDir)?E0.resolve(G,Y.partialsDir):Y.partialsDir,componentsDir:Y.componentsDir&&!E0.isAbsolute(Y.componentsDir)?E0.resolve(G,Y.componentsDir):Y.componentsDir,layoutsDir:Y.layoutsDir&&!E0.isAbsolute(Y.layoutsDir)?E0.resolve(G,Y.layoutsDir):Y.layoutsDir},q=Q,K=X;await pL(Z,$),cL($,q),K=await b5(()=>EQ(K,$,Z,q),K,(F)=>{X1.log(F,{filePath:Z,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${Z}: ${F.message}`)}),K=K.replace(/\{\{--[\s\S]*?--\}\}/g,"");let U=$1(K,A7,(F,V)=>`\x00STX_HTML_COMMENT_${V}\x00`);K=U.output;let W=U.tokens,w=(F)=>W.length===0?F:F.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(V,A)=>W[Number(A)]??""),z="\x00STX_ESCAPED_AT\x00";K=K.replace(/@@/g,z),K=K.replace(/@\{\{([\s\S]*?)\}\}/g,(F,V)=>{return`{{ ${V} }}`}),K=hQ(K),K=await Gq(K,Z,J);let B={};K=N4(K,B);let j={...$.__sections||{}},_="",H=rJ(nJ(X)),O=/@nolayout\b/.test(K)||H===!1;if(/@nolayout\b/.test(K))K=K.replace(/@nolayout\b\s*/g,"");let L=K.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(L)_=L[1],K=K.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");else if(typeof H==="string"){if(_=H,!/@section\s*\(/.test(K))K=`@section('content')
|
|
16324
16432
|
${K.trim()}
|
|
16325
|
-
@endsection`}if(!_&&!
|
|
16433
|
+
@endsection`}if(!_&&!O&&q.defaultLayout){let F=C4(K),V=/@section\s*\(/.test(K);if(!F||V){let A="",R=E0.dirname(Z),T=q.layoutsDir?E0.dirname(q.layoutsDir):process.cwd();for(let k=0;k<20;k++){let M=E0.join(R,"_layout.stx");if(await i(M)){A=M;break}let N=E0.dirname(R);if(N===R||N.length<T.length)break;R=N}if(A)_=A;else if(q.layoutsDir){let k=E0.isAbsolute(q.layoutsDir)?q.layoutsDir:E0.resolve(process.cwd(),q.layoutsDir),M=E0.join(k,`${q.defaultLayout}.stx`);if(await i(M))_=M}if(_&&!V)K=`@section('content')
|
|
16326
16434
|
${K.trim()}
|
|
16327
|
-
@endsection`}}if(K=K.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,A)=>{return j[V]=A,""}),K=K.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(F,V,A)=>{if(/^(['"]).*\1$/.test(A.trim()))return F;try{let R
|
|
16435
|
+
@endsection`}}if(K=K.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,A)=>{return j[V]=A,""}),K=K.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(F,V,A)=>{if(/^(['"]).*\1$/.test(A.trim()))return F;try{let R=Z0(A.trim(),$);if(R===void 0)return F;return j[V]=String(R??""),""}catch{return F}}),K=K.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(F,V,A)=>{if(A.includes("@parent"))j[V]=A.replace("@parent",K5);else j[V]=A.trim();return""}),$.__sections=j,K=K.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(F,V,A)=>{return j[V]||A||""}),!("slot"in $)||$.slot===void 0)K=K.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""});if(K=M4(K,B),_){let F=[],V=R1(K),A=$1(V.output,R5,(R,T)=>`\x00STX_ORPHAN_STYLE_${T}\x00`);if(K=A.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(R,T,k)=>{let M=T==="SCRIPT"?V.scripts[Number(k)]:A.tokens[Number(k)];if(M)F.push(M);return""}),F.length>0){let R=F.join(`
|
|
16328
16436
|
`);j.content=j.content?`${j.content}
|
|
16329
|
-
${R}`:R,$.__sections=j}}if(_)try{let F;if(E0.isAbsolute(_))F=_,J.add(_);else F=await b5(()=>
|
|
16330
|
-
${K}`,w(K)}catch(F){return
|
|
16331
|
-
`;if(G=
|
|
16437
|
+
${R}`:R,$.__sections=j}}if(_)try{let F;if(E0.isAbsolute(_))F=_,J.add(_);else F=await b5(()=>v9(_,Z,Q,J),null,()=>{throw new e1(`Failed to resolve layout path: ${_}`,Z,void 0,void 0,`Layout referenced from ${Z}`)});if(!F){let M=[];try{let D=Q.layoutsDir;if(D){let I=E0.isAbsolute(D)?D:E0.resolve(process.cwd(),D);M=hL.readdirSync(I).filter((C)=>C.endsWith(".stx")).map((C)=>C.replace(/\.stx$/,"")).sort()}}catch{}let N=`Layout not found: ${_} (referenced from ${Z})`+(M.length>0?`. Available layouts: ${M.join(", ")}`:Q.layoutsDir?`. No .stx layouts found in ${Q.layoutsDir}`:"");if(X1.log(Error(N),{layoutPath:_,filePath:Z,available:M},"error"),console.error(`[stx] ${N}`),Q.debug)throw new e1(N,Z);return K}let V=await b5(()=>Bun.file(F).text(),"",()=>{throw new e1(`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 M={},N=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(C,b,y)=>{return M[b]=y.trim(),""});for(let[C,b]of Object.entries(M))if(j[C]&&j[C].includes(K5)){let y=j[C].indexOf(K5);j[C]=j[C].slice(0,y)+b+j[C].slice(y+K5.length)}else if(!j[C])j[C]=b;let D={...$,__sections:j},I=`@layout('${A[1]}')${N}`;return await R0(I,D,F,Q,J)}let R=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),T=N4(R,B),k={};return T=T.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(M,N,D)=>{return k[N]=D.trim(),`@slot('${N}')`}),T=T.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(M,N,D)=>{if(j[N]){let I=j[N];if(I.includes(K5)){let C=k[N]||"",b=I.indexOf(K5);I=I.slice(0,b)+C+I.slice(b+K5.length)}return I}return D||""}),T=lL(T,j),T=T.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),T=M4(T,B),$.__originalFilePath=Z,K=await yK(T,$,F,Q,J),K=`<!-- stx-layout: ${_} -->
|
|
16438
|
+
${K}`,w(K)}catch(F){return X1.log(F instanceof Error?F:Error(String(F)),{layoutPath:_,filePath:Z},"error"),`[Error processing layout: ${F instanceof Error?F.message:String(F)}]`}return w(await yK(K,$,Z,Q,J))}function lL(X,$){return X.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Z,Y,J)=>{let G=$[Y];if(G!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(G))return G}return J||""})}function cL(X,$){if(X.__stx_sfc_mode=!0,X.__stx_options=$,$.buildMode)X.__stx_buildMode=$.buildMode;let Z=$.envPrefix||"STX_PUBLIC_",Y={};for(let[J,G]of Object.entries(process.env))if(J.startsWith(Z)&&G!==void 0)Y[J]=G;X.$env=Y}async function pL(X,$){await b5(()=>CQ(X,$),void 0,(Z)=>{X1.log(Z,{filePath:X,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${X}: ${Z.message}`)})}async function iL(X,$,Z){let Y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,J;while((J=Y.exec(X))!==null){let G=J[1],Q=J[2];if(!/\bserver\b/.test(G)||!Q.trim())continue;try{let{extractVariables:K}=await a("stx/variable-extractor",()=>Promise.resolve().then(() => (I7(),EX)));await K(Q,$,Z,{preserveExisting:!0})}catch(K){let U=K instanceof Error?K:Error(String(K));X1.log(U,{filePath:Z,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Z}: ${U.message}`)}}}async function nL(X,$,Z){try{let{interpolateScriptsInTemplate:Y}=await a("stx/expressions",()=>Promise.resolve().then(() => (Z1(),a2)));return Y(X,$,{skipServer:!0})}catch(Y){let J=Y instanceof Error?Y:Error(String(Y));return X1.log(J,{filePath:Z,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Z}: ${J.message}`),X}}async function yK(X,$,Z,Y,J){let G=X,Q=Y;if(await iL(G,$,Z),G=await nL(G,$,Z),G=await RQ(G,$,Z),G=await TQ(G,$,Z),G=await BG(G,$,Z,Q),w1(G))G=D9(G,$),G=b9(G,$);G=y9(G);let{processStreamDirectives:q}=await a("stx/streaming",()=>Promise.resolve().then(() => (l3(),m3)));G=q(G,$),G=V4(G,$,Z,Q),G=await cQ(G,$,Z,Q,J),G=await i8(G,$,Z,Q,J),G=M6(G,$,Z,Q);let{processDeferDirectives:K}=await a("stx/defer",()=>Promise.resolve().then(() => Aq));G=K(G,$,Z);let{processTeleportDirectives:U}=await a("stx/teleport",()=>Promise.resolve().then(() => Tq));G=U(G,$,Z);let{processTransitionDirectives:W,processTransitionAttributes:w}=await a("stx/transitions",()=>Promise.resolve().then(() => Iq));G=W(G,$,Z),G=w(G);let{processErrorBoundaryDirectives:z}=await a("stx/error-boundaries",()=>Promise.resolve().then(() => Dq));G=z(G,$,Z);let{processSuspenseDirectives:B}=await a("stx/suspense",()=>Promise.resolve().then(() => yq));G=B(G,$,Z);let{processAsyncDirectives:j}=await a("stx/async-components",()=>Promise.resolve().then(() => Pq));G=j(G,$,Z);let{processKeepAliveDirectives:_}=await a("stx/keep-alive",()=>Promise.resolve().then(() => xq));G=_(G,$,Z);let{processVirtualListDirectives:H,processVirtualGridDirectives:O,processInfiniteListDirectives:L}=await a("stx/virtual-scrolling",()=>Promise.resolve().then(() => (mq(),dq)));G=H(G,$,Z),G=O(G,$,Z),G=L(G,$,Z);let{processPartialHydrationDirectives:F,processStaticDirectives:V}=await a("stx/partial-hydration",()=>Promise.resolve().then(() => (YK(),ZK)));G=F(G,$,Z),G=V(G);let{processComputedDirectives:A,processWatchDirectives:R}=await a("stx/computed",()=>Promise.resolve().then(() => (_K(),BK)));G=A(G,$,Z),G=R(G,$,Z);let{processFormValidationDirectives:T}=await a("stx/forms-validation",()=>Promise.resolve().then(() => (RK(),AK)));G=T(G,$,Z);let{processHeadDirective:k,processTitleDirective:M,processMetaDirective:N,resetHead:D}=await a("stx/head",()=>Promise.resolve().then(() => (k7(),Y9)));if(!$.__stx_head_preset&&!$.__stx_runtime_head)D();let I=k(G);if(G=I.content,I.headContent)$.__stx_head_raw=`${$.__stx_head_raw||""}${I.headContent}
|
|
16439
|
+
`;if(G=M(G,$),G=N(G,$),G=bQ(G),G=E3(G,$),G=zG(G),G=kQ(G),G=await T4(G,$,Z,Q,J),G=await i8(G,$,Z,Q,J),$.__stxProcessingDepth===1)G=C2(G,$);if(G=G.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),G=v4(G),G=Z5(G,$,Z),G=D3(G,$),G=y3(G,$),G=f8(G,$),G=TG(G,$),G=NG(G,$),G=await XG(G,$,Z,Q),G=await BY(G,$,Z),G=await DG(G,$,Z,Q),G=L6(G,$,Z,Q),G=VJ(G,$,Z,Q),G=AJ(G,$,Z),G=RJ(G,$,Z,Q),G=UG(G,$,Z,Q),G=e8(G,$),G=X$(G),G=qq(G),!Q.skipEventDirectives)G=z2(G,$,Z);if(G=tJ(G,$,Z),Q.debug){let n=/\bx-data\s*=/.test(G),t=iX(X);if(n&&t)console.warn(`[stx] ${Z}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
|
|
16332
16440
|
Both work on the same page, but they manage separate scopes.
|
|
16333
|
-
Prefer signals (state/derived/effect) for new components.`)}G=
|
|
16334
|
-
</head>`);if(/<head\b[^>]*>/i.test(
|
|
16335
|
-
${
|
|
16441
|
+
Prefer signals (state/derived/effect) for new components.`)}G=xQ(G,$),G=await T1(G,$,Z),G=Kq(G),G=Uq(G),G=lJ(G);let{processXElementDirectives:C}=await a("stx/x-element",()=>Promise.resolve().then(() => MK));G=C(G);let b=$.__originalFilePath||Z,y=L7($);if(G=await S9(G,Q,b,y),G=FG(G,$),G=await DQ(G,$,Z,Q),Q.media?.image?.autoSiblings){let n=Q.publicDir||"public",{rewriteImagesWithSiblings:t}=await a("stx/image-optimization/auto-sibling",()=>Promise.resolve().then(() => (IK(),kK)));G=await t(G,{publicDir:n})}if(Q.seo?.enabled)G=TJ(G,$,Q);let v=(n,t,q0=!0)=>{if(!t)return n;let b0=t.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),j0=n.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(b0&&j0){if(q0)n=n.replace(j0[0],b0[0]);if(t=t.replace(b0[0],"").trim(),!t)return n}if(/<\/head>/i.test(n))return n.replace(/<\/head>/i,`${t}
|
|
16442
|
+
</head>`);if(/<head\b[^>]*>/i.test(n))return n.replace(/(<head\b[^>]*>)/i,`$1
|
|
16443
|
+
${t}`);if(/<html\b[^>]*>/i.test(n))return n.replace(/(<html\b[^>]*>)/i,`$1
|
|
16336
16444
|
<head>
|
|
16337
|
-
${
|
|
16338
|
-
</head>`);return
|
|
16339
|
-
${
|
|
16340
|
-
</script>`;if(G.includes("</head>")){let
|
|
16341
|
-
`+
|
|
16445
|
+
${t}
|
|
16446
|
+
</head>`);return n},{renderHead:x,getHead:f}=await a("stx/head",()=>Promise.resolve().then(() => (k7(),Y9))),l=$.__stx_runtime_head??f();if(l.title||l.meta?.length||l.link?.length){let n=x(l);if(n)G=v(G,n)}if(I.headContent)G=v(G,I.headContent,!l.title);if(Q.csp?.enabled&&Q.csp.addMetaTag)G=qG(G,Q.csp,$);if(Q.analytics?.enabled)G=pJ(G,Q);if(Q.heatmap?.enabled)G=s6(G,Q);if(Q.pwa?.enabled&&Q.pwa.autoInject!==!1){let{injectPwaTags:n}=await a("stx/pwa/inject",()=>Promise.resolve().then(() => (JX(),W6)));G=n(G,Q)}let D0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(G),y0=/\bSTX\.\w+/.test(G),c0=/window\.STX\s*=/.test(G);if(D0&&y0&&!c0){let t=`<script data-stx-scoped data-stx-run="once">
|
|
16447
|
+
${hJ()}
|
|
16448
|
+
</script>`;if(G.includes("</head>")){let q0=G.indexOf("</head>"),j0=G.slice(0,q0).indexOf("<script");if(j0!==-1){let P=G.slice(0,j0),S=G.slice(j0);G=P+t+`
|
|
16449
|
+
`+S}else G=G.replace("</head>",`${t}
|
|
16342
16450
|
</head>`)}else if(G.includes("<body"))G=G.replace(/<body([^>]*)>/,`<body$1>
|
|
16343
|
-
${
|
|
16344
|
-
`+G}{let{scanScriptTags:
|
|
16345
|
-
`+G.slice(
|
|
16346
|
-
Icon generation requires the sharp package for image processing.`),Z.success=!1,Z}let w=await U.default(J).metadata();if(w.width&&w.width<512)Z.warnings.push(`Source icon is ${w.width}x${w.height}. Recommend using at least 512x512 for best quality.`);for(let H of Q){let
|
|
16451
|
+
${t}`);else G=t+`
|
|
16452
|
+
`+G}{let{scanScriptTags:n}=await a("stx/signal-processing",()=>Promise.resolve().then(() => (b7(),nX))),t=[];for(let q0 of n(G)){if(!/\bserver\b/i.test(q0.attrs))continue;let b0=q0.start+q0.fullMatch.indexOf(">")+1,j0=uL(G,b0);if(j0===-1)continue;let P=j0+9;while(P<G.length&&/\s/.test(G[P]))P++;t.push({start:q0.start,end:P})}for(let q0=t.length-1;q0>=0;q0--){let{start:b0,end:j0}=t[q0];G=G.substring(0,b0)+G.substring(j0)}}let W0=NX(G,Z);if(W0.hasScoped)G=W0.html;let e=$.__stx_event_bindings||[],T0=!1,o0=[],H1=/\s:[a-z][\w.-]*\s*=/.test(G),{scanScriptTags:W5}=await a("stx/signal-processing",()=>Promise.resolve().then(() => (b7(),nX)));for(let n of W5(G,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))o0.push({match:n.fullMatch,attrs:n.attrs,content:n.body});for(let{match:n,attrs:t,content:q0}of o0){T0=!0;let b0=q0;$$(q0,Z,Y.strict,$.__originalFilePath);let j0=await F7(q0,{eventBindings:e,attrs:t,hasColonDirectives:H1,templateContent:X,filePath:Z,projectRoot:process.cwd(),production:Y.buildMode==="compile",serverData:y});G=G.replace(n,()=>j0)}if(T0)$.__stx_event_bindings=[];if(!T0&&$.__stxProcessingDepth===1){let n=$.__stx_event_bindings||[];if(n.length>0){let t=h$(n);if(t){let q0=G.lastIndexOf("</body>");G=q0===-1?G+t:G.slice(0,q0)+t+`
|
|
16453
|
+
`+G.slice(q0)}$.__stx_event_bindings=[]}}if(!aZ(G)&&tZ(G))G=await mX(G,Q);if(G=eZ(G),Q.csp?.enabled&&Q.csp.useNonce&&typeof $.cspNonce==="string")G=KG(G,$.cspNonce);return G}var K5="<!--PARENT_CONTENT_PLACEHOLDER-->";var aX=E(()=>{gJ();w9();l1();_$();uJ();cJ();iJ();v$();H$();u$();V7();eJ();$G();P8();WG();jG();HG();VG();z1();k7();Z1();MG();yG();AQ();MQ();A4();x9();yQ();M5();SQ();A3();A0();PQ();fQ();uQ();pQ();e$();y4();Zq();b7();L4();Qq();x4();f4();L0();p3();n$();j7();lX();lX();x4();f4()});import tL from"fs";import p4 from"path";import dK from"fs";import K1 from"path";var o4=[72,96,128,144,152,192,384,512],s4=[120,152,167,180],a4=[16,32];async function t4(X,$){let Z={success:!0,generatedFiles:[],errors:[],warnings:[]},Y=X.pwa?.icons;if(!Y?.src)return Z.errors.push("No source icon specified in pwa.icons.src"),Z.success=!1,Z;let J=K1.isAbsolute(Y.src)?Y.src:K1.resolve(process.cwd(),Y.src);if(!await Bun.file(J).exists())return Z.errors.push(`Source icon not found: ${J}`),Z.success=!1,Z;let G=K1.resolve($,Y.outputDir||"pwa-icons");try{dK.mkdirSync(G,{recursive:!0})}catch{return Z.errors.push(`Failed to create output directory: ${G}`),Z.success=!1,Z}let Q=Y.sizes||o4,q=Y.generateWebP??!0,K=Y.generateAppleIcons??!0;try{let U;try{U=await import("sharp")}catch{return Z.errors.push(`sharp is not installed. Install it with: bun add sharp
|
|
16454
|
+
Icon generation requires the sharp package for image processing.`),Z.success=!1,Z}let w=await U.default(J).metadata();if(w.width&&w.width<512)Z.warnings.push(`Source icon is ${w.width}x${w.height}. Recommend using at least 512x512 for best quality.`);for(let H of Q){let O=K1.join(G,`icon-${H}x${H}.png`);if(await U.default(J).resize(H,H,{fit:"contain",background:{r:0,g:0,b:0,alpha:0}}).png().toFile(O),Z.generatedFiles.push(O),q){let L=K1.join(G,`icon-${H}x${H}.webp`);await U.default(J).resize(H,H,{fit:"contain",background:{r:0,g:0,b:0,alpha:0}}).webp({quality:90}).toFile(L),Z.generatedFiles.push(L)}}if(K){for(let O of s4){let L=K1.join(G,`apple-touch-icon-${O}x${O}.png`);await U.default(J).resize(O,O,{fit:"contain",background:{r:255,g:255,b:255,alpha:1}}).png().toFile(L),Z.generatedFiles.push(L)}let H=K1.join(G,"apple-touch-icon.png");await U.default(J).resize(180,180,{fit:"contain",background:{r:255,g:255,b:255,alpha:1}}).png().toFile(H),Z.generatedFiles.push(H)}for(let H of a4){let O=K1.join(G,`favicon-${H}x${H}.png`);await U.default(J).resize(H,H,{fit:"contain",background:{r:0,g:0,b:0,alpha:0}}).png().toFile(O),Z.generatedFiles.push(O)}let z=512,B=K1.join(G,`icon-maskable-${z}x${z}.png`),j=Math.floor(z*0.1),_=z-j*2;await U.default(J).resize(_,_,{fit:"contain",background:{r:0,g:0,b:0,alpha:0}}).extend({top:j,bottom:j,left:j,right:j,background:{r:255,g:255,b:255,alpha:1}}).png().toFile(B),Z.generatedFiles.push(B)}catch(U){let W=U instanceof Error?U.message:String(U);Z.errors.push(`Icon generation failed: ${W}`),Z.success=!1}return Z}function ZF(X){let $=X.sizes||o4,Z=X.outputDir?`/${X.outputDir}`:"/pwa-icons",Y=X.generateWebP??!0,J=X.generateAppleIcons??!0,G=[];for(let Q of $)if(G.push(`${Z}/icon-${Q}x${Q}.png`),Y)G.push(`${Z}/icon-${Q}x${Q}.webp`);if(J){G.push(`${Z}/apple-touch-icon.png`);for(let Q of s4)G.push(`${Z}/apple-touch-icon-${Q}x${Q}.png`)}for(let Q of a4)G.push(`${Z}/favicon-${Q}x${Q}.png`);return G.push(`${Z}/icon-maskable-512x512.png`),G}async function e4(){try{return await import("sharp"),!0}catch{return!1}}JX();function KU(X,$,Z,Y){let J=[],G=Y.join(" ");for(let Q of X)if(J.push({src:`${$}/icon-${Q}x${Q}.png`,sizes:`${Q}x${Q}`,type:"image/png",purpose:G}),Z)J.push({src:`${$}/icon-${Q}x${Q}.webp`,sizes:`${Q}x${Q}`,type:"image/webp",purpose:G});return J}function UU(X){return X.map(($)=>({name:$.name,short_name:$.shortName,description:$.description,url:$.url,icons:$.icons?.map((Z)=>({src:Z.src,sizes:Z.sizes,type:Z.type}))}))}function WU(X){let $=X.pwa?.shareTarget;if(!$?.enabled)return;let Z={action:$.action||"/share",method:$.method||"POST",enctype:$.enctype||"multipart/form-data",params:{title:$.params?.title||"title",text:$.params?.text||"text",url:$.params?.url||"url"}};if($.acceptFiles&&$.acceptFiles.length>0)Z.params.files=$.acceptFiles.map((Y)=>({name:Y.name,accept:Y.accept}));return Z}function wU(X){let $=X.pwa?.fileHandlers;if(!$?.enabled||!$.accept)return;let Z=[{action:$.action||"/",accept:$.accept,launch_type:$.launchType||"single-client"}];if($.icons)Z[0].icons=$.icons.map((Y)=>({src:Y.src,sizes:Y.sizes,type:Y.type}));return Z}function zU(X){let $=X.pwa?.protocolHandlers;if(!$||$.length===0)return;return $.map((Z)=>({protocol:Z.protocol,url:Z.url}))}function jU(X){let $=X.pwa;if(!$?.enabled||!$.manifest)return null;let{manifest:Z,icons:Y}=$,J=Y?.sizes||[72,96,128,144,152,192,384,512],G=Y?.outputDir?`/${Y.outputDir}`:"/pwa-icons",Q=Y?.generateWebP??!0,q=Y?.purpose||["any","maskable"],K={name:Z.name,short_name:Z.shortName||Z.name,description:Z.description,start_url:Z.startUrl||"/",display:Z.display||"standalone",display_override:Z.displayOverride,orientation:Z.orientation,theme_color:Z.themeColor,background_color:Z.backgroundColor,scope:Z.scope||"/",lang:Z.lang,dir:Z.dir,id:Z.id,categories:Z.categories,icons:KU(J,G,Q,q)};if(Z.shortcuts&&Z.shortcuts.length>0)K.shortcuts=UU(Z.shortcuts);if(Z.screenshots&&Z.screenshots.length>0)K.screenshots=Z.screenshots.map((z)=>({src:z.src,sizes:z.sizes,type:z.type,label:z.label,form_factor:z.platform}));let U=WU(X);if(U)K.share_target=U;let W=wU(X);if(W)K.file_handlers=W;let w=zU(X);if(w)K.protocol_handlers=w;if(Z.launchHandler)K.launch_handler={client_mode:Z.launchHandler};if(Z.handleLinks)K.handle_links=Z.handleLinks;if(Z.edgeSidePanel?.enabled)K.edge_side_panel={preferred_width:Z.edgeSidePanel.preferredWidth};return K}function w6(X){let $=jU(X);if(!$)return"";let Z=JSON.parse(JSON.stringify($));return JSON.stringify(Z,null,2)}function zF(X,$){return{...$,...X,shortcuts:X.shortcuts||$.shortcuts,screenshots:X.screenshots||$.screenshots,categories:X.categories||$.categories}}function jF(X){let $=[],Z=X.pwa;if(!Z?.enabled)return $;let Y=Z.manifest;if(!Y)return $.push("PWA manifest configuration is missing"),$;if(!Y.name)$.push("Manifest name is required");let J=["fullscreen","standalone","minimal-ui","browser"];if(Y.display&&!J.includes(Y.display))$.push(`Invalid display mode: ${Y.display}. Must be one of: ${J.join(", ")}`);let G=["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"];if(Y.orientation&&!G.includes(Y.orientation))$.push(`Invalid orientation: ${Y.orientation}`);let Q=/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/;if(Y.themeColor&&!Q.test(Y.themeColor))$.push(`Invalid theme color: ${Y.themeColor}. Must be a valid hex color.`);if(Y.backgroundColor&&!Q.test(Y.backgroundColor))$.push(`Invalid background color: ${Y.backgroundColor}. Must be a valid hex color.`);if(Z.shareTarget?.enabled){if(!Z.shareTarget.action)$.push("Share target action URL is required")}if(Z.fileHandlers?.enabled){if(!Z.fileHandlers.accept||Object.keys(Z.fileHandlers.accept).length===0)$.push("File handlers must specify accepted MIME types")}if(Z.protocolHandlers)for(let q of Z.protocolHandlers){if(!q.protocol)$.push("Protocol handler missing protocol");if(!q.url||!q.url.includes("%s"))$.push(`Protocol handler URL must contain %s placeholder: ${q.protocol}`)}return $}import SK from"path";async function CK(X){let $=X.pwa?.offline;if(!$?.enabled)return"";if($.page){let Z=SK.isAbsolute($.page)?$.page:SK.resolve(process.cwd(),$.page);if(await Bun.file(Z).exists())try{let{processDirectives:Y}=await Promise.resolve().then(() => (aX(),bK)),J=await Bun.file(Z).text();return await Y(J,{},Z,X,new Set)}catch(Y){console.warn(`[PWA] Failed to process custom offline page: ${Y}`)}else console.warn(`[PWA] Custom offline page not found: ${Z}`)}return rL(X)}function rL(X){let $=X.pwa?.offline,Z=X.pwa?.manifest,Y=$?.fallbackTitle||"You are offline",J=$?.fallbackMessage||"Please check your internet connection and try again.",G=Z?.themeColor||"#4f46e5",Q=Z?.shortName||Z?.name||"App";return`<!DOCTYPE html>
|
|
16347
16455
|
<html lang="en">
|
|
16348
16456
|
<head>
|
|
16349
16457
|
<meta charset="UTF-8">
|
|
16350
16458
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
16351
16459
|
<meta name="theme-color" content="${G}">
|
|
16352
|
-
<title>${
|
|
16460
|
+
<title>${q$(Y)} - ${q$(Q)}</title>
|
|
16353
16461
|
<style>
|
|
16354
16462
|
:root {
|
|
16355
16463
|
--theme-color: ${G};
|
|
@@ -16519,8 +16627,8 @@ Icon generation requires the sharp package for image processing.`),Z.success=!1,
|
|
|
16519
16627
|
<circle cx="12" cy="20" r="1"/>
|
|
16520
16628
|
</svg>
|
|
16521
16629
|
|
|
16522
|
-
<h1>${
|
|
16523
|
-
<p>${
|
|
16630
|
+
<h1>${q$(Y)}</h1>
|
|
16631
|
+
<p>${q$(J)}</p>
|
|
16524
16632
|
|
|
16525
16633
|
<button class="retry-btn" onclick="window.location.reload()">
|
|
16526
16634
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
@@ -16576,9 +16684,9 @@ Icon generation requires the sharp package for image processing.`),Z.success=!1,
|
|
|
16576
16684
|
}, 5000);
|
|
16577
16685
|
</script>
|
|
16578
16686
|
</body>
|
|
16579
|
-
</html>`}function
|
|
16687
|
+
</html>`}function q$(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}s5();a5();import U5 from"fs";import K$ from"path";function oL(X){let $=[],Z=X.pwa;if($.push({id:"pwa-enabled",name:"PWA Enabled",category:"required",passed:Z?.enabled===!0,message:Z?.enabled?"PWA is enabled":"PWA is not enabled in config"}),!Z?.enabled)return $;$.push({id:"manifest-name",name:"App Name",category:"required",passed:Boolean(Z.manifest?.name),message:Z.manifest?.name?`App name: "${Z.manifest.name}"`:"Missing required manifest name"}),$.push({id:"manifest-short-name",name:"Short Name",category:"recommended",passed:Boolean(Z.manifest?.shortName),message:Z.manifest?.shortName?`Short name: "${Z.manifest.shortName}"`:"Short name not set (will use full name)"}),$.push({id:"manifest-description",name:"App Description",category:"recommended",passed:Boolean(Z.manifest?.description),message:Z.manifest?.description?"Description is set":"App description not provided"}),$.push({id:"manifest-theme-color",name:"Theme Color",category:"required",passed:Boolean(Z.manifest?.themeColor),message:Z.manifest?.themeColor?`Theme color: ${Z.manifest.themeColor}`:"Theme color not set"}),$.push({id:"manifest-background-color",name:"Background Color",category:"required",passed:Boolean(Z.manifest?.backgroundColor),message:Z.manifest?.backgroundColor?`Background color: ${Z.manifest.backgroundColor}`:"Background color not set"}),$.push({id:"manifest-display",name:"Display Mode",category:"required",passed:["standalone","fullscreen","minimal-ui"].includes(Z.manifest?.display||""),message:Z.manifest?.display?`Display mode: ${Z.manifest.display}`:"Display mode should be standalone, fullscreen, or minimal-ui"}),$.push({id:"manifest-start-url",name:"Start URL",category:"required",passed:Boolean(Z.manifest?.startUrl),message:Z.manifest?.startUrl?`Start URL: ${Z.manifest.startUrl}`:"Start URL not set"}),$.push({id:"icons-source",name:"Icon Source",category:"required",passed:Boolean(Z.icons?.src),message:Z.icons?.src?`Icon source: ${Z.icons.src}`:"No icon source configured"});let Y=Z.icons?.sizes||[];$.push({id:"icons-192",name:"192x192 Icon",category:"required",passed:Y.includes(192),message:Y.includes(192)?"192x192 icon will be generated":"Missing 192x192 icon (required for Android)"}),$.push({id:"icons-512",name:"512x512 Icon",category:"required",passed:Y.includes(512),message:Y.includes(512)?"512x512 icon will be generated":"Missing 512x512 icon (required for splash screen)"}),$.push({id:"icons-maskable",name:"Maskable Icon",category:"recommended",passed:Z.icons?.purpose?.includes("maskable")||!1,message:Z.icons?.purpose?.includes("maskable")?"Maskable icon purpose is set":"Consider adding maskable icon purpose for adaptive icons"}),$.push({id:"sw-configured",name:"Service Worker",category:"required",passed:Boolean(Z.serviceWorker),message:Z.serviceWorker?"Service worker is configured":"Service worker configuration missing"}),$.push({id:"sw-cache-version",name:"Cache Version",category:"recommended",passed:Boolean(Z.serviceWorker?.cacheVersion),message:Z.serviceWorker?.cacheVersion?`Cache version: ${Z.serviceWorker.cacheVersion}`:"Set cache version for proper cache busting"}),$.push({id:"offline-enabled",name:"Offline Support",category:"required",passed:Z.offline?.enabled===!0,message:Z.offline?.enabled?"Offline support is enabled":"Offline support is disabled"});let J=Z.routes||[];return $.push({id:"caching-strategies",name:"Caching Strategies",category:"recommended",passed:J.length>0,message:J.length>0?`${J.length} route caching strategies configured`:"No custom caching strategies defined"}),$.push({id:"push-config",name:"Push Notifications",category:"optional",passed:!Z.push?.enabled||Boolean(Z.push?.vapidPublicKey),message:Z.push?.enabled?Z.push?.vapidPublicKey?"Push notifications configured with VAPID key":"Push enabled but missing VAPID key":"Push notifications not enabled"}),$.push({id:"share-target",name:"Share Target",category:"optional",passed:!0,message:Z.shareTarget?.enabled?`Share target enabled at ${Z.shareTarget.action}`:"Share target not enabled"}),$.push({id:"auto-inject",name:"Auto-injection",category:"recommended",passed:Z.autoInject!==!1,message:Z.autoInject!==!1?"PWA tags will be auto-injected":"Auto-injection disabled - manual tag insertion required"}),$}function sL(X){let $=[],Z=K$.join(X,"manifest.json"),Y=U5.existsSync(Z);if($.push({id:"build-manifest",name:"Manifest File",category:"required",passed:Y,message:Y?"manifest.json exists":"manifest.json not found in build output"}),Y)try{let W=JSON.parse(U5.readFileSync(Z,"utf-8"));$.push({id:"build-manifest-valid",name:"Valid Manifest JSON",category:"required",passed:!0,message:"Manifest is valid JSON"}),$.push({id:"build-manifest-icons",name:"Manifest Icons",category:"required",passed:Array.isArray(W.icons)&&W.icons.length>0,message:W.icons?.length?`${W.icons.length} icons defined in manifest`:"No icons defined in manifest"})}catch{$.push({id:"build-manifest-valid",name:"Valid Manifest JSON",category:"required",passed:!1,message:"Manifest is not valid JSON"})}let J=K$.join(X,"sw.js"),G=U5.existsSync(J);$.push({id:"build-sw",name:"Service Worker File",category:"required",passed:G,message:G?"Service worker (sw.js) exists":"Service worker not found in build output"});let Q=K$.join(X,"offline.html"),q=U5.existsSync(Q);$.push({id:"build-offline",name:"Offline Page",category:"recommended",passed:q,message:q?"Offline page exists":"No offline.html found"});let K=K$.join(X,"pwa-icons");if(U5.existsSync(K)){let W=U5.readdirSync(K).filter((w)=>w.endsWith(".png")||w.endsWith(".webp"));$.push({id:"build-icons",name:"Generated Icons",category:"required",passed:W.length>0,message:W.length>0?`${W.length} icon files generated`:"No icon files found"})}else $.push({id:"build-icons",name:"Generated Icons",category:"required",passed:!1,message:"Icons directory not found"});return $}function aL(X){let $=X.filter((K)=>K.category==="required"),Z=X.filter((K)=>K.category==="recommended"),Y=$.filter((K)=>K.passed).length,J=Z.filter((K)=>K.passed).length,G=$.length>0?Y/$.length*70:70,Q=Z.length>0?J/Z.length*30:30;return{score:Math.round(G+Q),passed:X.filter((K)=>K.passed).length,failed:X.filter((K)=>!K.passed&&K.category==="required").length,warnings:X.filter((K)=>!K.passed&&K.category!=="required").length,checks:X}}function yD(X,$){let Z=oL(X),Y=$&&U5.existsSync($)?sL($):[];return aL([...Z,...Y])}function bD(X){let $=[];$.push(`
|
|
16580
16688
|
=== PWA Audit Report ===
|
|
16581
16689
|
`);let Z=X.score>=90?"32":X.score>=70?"33":"31";$.push(`Score: \x1B[${Z}m${X.score}/100\x1B[0m`),$.push(`Passed: ${X.passed} | Failed: ${X.failed} | Warnings: ${X.warnings}
|
|
16582
16690
|
`);let Y=["required","recommended","optional"];for(let J of Y){let G=X.checks.filter((Q)=>Q.category===J);if(G.length===0)continue;$.push(`
|
|
16583
16691
|
${J.toUpperCase()}:`);for(let Q of G){let q=Q.passed?"\x1B[32m\u2713\x1B[0m":"\x1B[31m\u2717\x1B[0m";if($.push(` ${q} ${Q.name}: ${Q.message}`),Q.details)$.push(` ${Q.details}`)}}return $.push(""),$.join(`
|
|
16584
|
-
`)}
|
|
16692
|
+
`)}_3();JX();s5();a5();async function dD(X,$){let Z={success:!0,files:{icons:[]},errors:[],warnings:[]},Y=X.pwa;if(!Y?.enabled)return Z;try{tL.mkdirSync($,{recursive:!0})}catch{return Z.errors.push(`Failed to create output directory: ${$}`),Z.success=!1,Z}try{let G=w6(X);if(G){let Q=p4.join($,"manifest.json");await Bun.write(Q,G),Z.files.manifest=Q}}catch(G){let Q=G instanceof Error?G.message:String(G);Z.errors.push(`Failed to generate manifest.json: ${Q}`),Z.success=!1}if(Y.icons?.src)if(await e4()){let Q=await t4(X,$);if(Z.files.icons=Q.generatedFiles,Z.warnings.push(...Q.warnings),!Q.success)Z.errors.push(...Q.errors),Z.success=!1}else Z.warnings.push("sharp is not installed. Skipping icon generation. Install with: bun add sharp");if(Y.offline?.enabled)try{let G=await CK(X);if(G){let Q=p4.join($,"offline.html");await Bun.write(Q,G),Z.files.offlinePage=Q}}catch(G){let Q=G instanceof Error?G.message:String(G);Z.errors.push(`Failed to generate offline page: ${Q}`),Z.success=!1}let J;if(Y.precache?.enabled){let G=f1($,X);J={fileCount:G.fileCount,totalSize:G.totalSize},Z.precacheStats=J}try{let G=ZX(X,$);if(G){let Q=j5(X),q=p4.join($,Q);await Bun.write(q,G),Z.files.serviceWorker=q}}catch(G){let Q=G instanceof Error?G.message:String(G);Z.errors.push(`Failed to generate service worker: ${Q}`),Z.success=!1}return Z}function mD(X,$){return j$(X,$)}function lD(X){return X.pwa?.enabled===!0}export{jF as validateManifest,yD as runPwaAudit,vT as registerPwaDirectives,Ej as pwaUpdateDirective,yj as pwaPushDirective,Dj as pwaOfflineDirective,Ij as pwaInstallDirective,B3 as pwaDirectives,mD as processPwaHtml,zF as mergeManifestConfig,U6 as isWorkboxEnabled,e4 as isSharpAvailable,lD as isPwaEnabled,j$ as injectPwaTags,j5 as getServiceWorkerFileName,ZF as getExpectedIconPaths,qU as generateThemeColorMeta,GU as generateSwRegistrationScript,JU as generateServiceWorkerAuto,ZX as generateServiceWorker,YX as generatePwaTags,t4 as generatePwaIcons,$X as generatePrecacheManifestJs,f1 as generatePrecacheManifest,CK as generateOfflinePage,QU as generateManifestLink,w6 as generateManifestJson,jU as generateManifest,$6 as formatSize,bD as formatAuditResult,aL as calculateAuditResult,dD as buildPwaAssets,oL as auditConfig,sL as auditBuildOutput,a4 as FAVICON_SIZES,o4 as DEFAULT_ICON_SIZES,s4 as APPLE_TOUCH_ICON_SIZES};
|