@stacksjs/stx 0.2.177 → 0.2.178
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +422 -422
- package/dist/craft.js +201 -201
- package/dist/pwa.js +201 -201
- package/dist/reactive.js +0 -1
- package/dist/ssg.js +189 -189
- package/package.json +5 -5
package/dist/pwa.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var{defineProperty:j$,getOwnPropertyNames:
|
|
2
|
+
var{defineProperty:j$,getOwnPropertyNames:lK,getOwnPropertyDescriptor:cK}=Object,pK=Object.prototype.hasOwnProperty;function iK(X){return this[X]}var X6=(X)=>{var $=(e3??=new WeakMap).get(X),Z;if($)return $;if($=j$({},"__esModule",{value:!0}),X&&typeof X==="object"||typeof X==="function"){for(var Y of lK(X))if(!pK.call($,Y))j$($,Y,{get:iK.bind(X,Y),enumerable:!(Z=cK(X,Y))||Z.enumerable})}return e3.set(X,$),$},e3;var nK=(X)=>X;function rK(X,$){this[X]=nK.bind(null,$)}var o=(X,$)=>{for(var Z in $)j$(X,Z,{get:$[Z],enumerable:!0,configurable:!0,set:rK.bind($,Z)})};var E=(X,$)=>()=>(X&&($=X(X=0)),$);var U0=import.meta.require;import $X from"fs";import ZX from"path";function aK(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 tK(X,$){let Z=ZX.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 eK(X,$,Z){let Y=ZX.extname(X).toLowerCase(),J=sK[Y],G=(Z.maxFileSizeKB||500)*1024;if($>G)return!1;if(Z.exclude&&tK(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 Q6(X,$,Z,Y){let J=$X.readdirSync(X,{withFileTypes:!0});for(let G of J){let Q=ZX.join(X,G.name);if(G.isDirectory()){if(["node_modules",".git",".stx"].includes(G.name))continue;Q6(Q,$,Z,Y)}else if(G.isFile()){let q=$X.statSync(Q),K=ZX.relative($,Q);if(eK(K,q.size,Z)){let U=$X.readFileSync(Q),W=aK(U),w=`/${K.replace(/\\/g,"/")}`;Y.push({url:w,revision:W,size:q.size})}}}}function g1(X,$){let Z=$.pwa?.precache,Y=[];if(!Z?.enabled)return{entries:[],totalSize:0,fileCount:0};if(!$X.existsSync(X))return{entries:[],totalSize:0,fileCount:0};Q6(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 YX(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 q6(X){if(X<1024)return`${X} B`;if(X<1048576)return`${(X/1024).toFixed(1)} KB`;return`${(X/1048576).toFixed(2)} MB`}var
|
|
5
|
+
]`}function q6(X){if(X<1024)return`${X} B`;if(X<1048576)return`${(X/1024).toFixed(1)} KB`;return`${(X/1048576).toFixed(2)} MB`}var sK;var a5=E(()=>{sK={".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 XU(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 B$(X){return XU(X).className}function K6(X){let $=X.pwa;if(!$?.enabled)return"";let Z=$.routes||[],Y=$.cacheStorage,J=[];for(let G of Z){let Q=B$(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=$U(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||YU(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 $U(X){if(X.startsWith("*.")){let $=X.slice(2);return`({ request }) => request.destination === '${ZU($)}'`}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('${JU(X).replace(/\\\*/g,".*")}')`}function ZU(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 YU(X){return"stx-"+X.replace(/[^\w]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"").toLowerCase().slice(0,30)+"-cache"}function JU(X){return X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var z6={};o(z6,{isWorkboxEnabled:()=>w6,getServiceWorkerGenerator:()=>UU,generateWorkboxServiceWorker:()=>W6,generateWorkboxConfig:()=>U6});function U6(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(B$(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=$?g1($,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 W6(X,$){let Z=X.pwa;if(!Z?.enabled)return"";let Y=U6(X,$),J=Z.serviceWorker||{},G=Z.push,Q=Z.backgroundSync,q=$?g1($,X):null,K=q?YX(q):"[]",U=GU(Y.modules),W=K6(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?qU(G):"// Push notifications disabled"}
|
|
173
173
|
|
|
174
|
-
${Q?.enabled?
|
|
174
|
+
${Q?.enabled?KU(Q):"// Background sync disabled"}
|
|
175
175
|
|
|
176
176
|
console.log('[Workbox SW] Service Worker loaded - Version:', CACHE_VERSION);
|
|
177
|
-
`}function
|
|
178
|
-
`)}function
|
|
177
|
+
`}function GU(X){let $=[];for(let Z of X){let Y=Z.name.replace("workbox-","");$.push(`const { ${Z.exports.join(", ")} } = workbox.${QU(Y)};`)}return $.join(`
|
|
178
|
+
`)}function QU(X){return X.replace(/-([a-z])/g,($,Z)=>Z.toUpperCase())}function qU(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 KU(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 w6(X){return X.pwa?.enabled===!0&&X.pwa?.serviceWorker?.useWorkbox===!0}function
|
|
309
|
+
`}function w6(X){return X.pwa?.enabled===!0&&X.pwa?.serviceWorker?.useWorkbox===!0}function UU(X){if(w6(X))return W6;let{generateServiceWorker:$}=(t5(),X6(B6));return $}var j6=E(()=>{a5()});var B6={};o(B6,{isWorkboxEnabled:()=>_6,getServiceWorkerFileName:()=>j5,generateServiceWorkerAuto:()=>zU,generateServiceWorker:()=>JX});function JX(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=$?g1($,X):null,z=w?YX(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
|
*
|
|
@@ -501,9 +501,9 @@ self.addEventListener('message', (event) => {
|
|
|
501
501
|
}
|
|
502
502
|
});
|
|
503
503
|
|
|
504
|
-
${K?.enabled?
|
|
504
|
+
${K?.enabled?WU():"// Push notifications disabled"}
|
|
505
505
|
|
|
506
|
-
${U?.enabled?
|
|
506
|
+
${U?.enabled?wU():"// 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 WU(){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 wU(){return`
|
|
954
954
|
/**
|
|
955
955
|
* Background sync queue storage (IndexedDB)
|
|
956
956
|
*/
|
|
@@ -1132,7 +1132,7 @@ 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 _6(X){return X.pwa?.enabled===!0&&X.pwa?.serviceWorker?.useWorkbox===!0}function
|
|
1135
|
+
`}function j5(X){return X.pwa?.serviceWorker?.fileName||"sw.js"}function _6(X){return X.pwa?.enabled===!0&&X.pwa?.serviceWorker?.useWorkbox===!0}function zU(X,$){if(!X.pwa?.enabled)return"";if(_6(X)){let{generateWorkboxServiceWorker:Z}=(j6(),X6(z6));return Z(X,$)}return JX(X,$)}var t5=E(()=>{a5()});var H6={};o(H6,{injectPwaTags:()=>H$,generateThemeColorMeta:()=>_U,generateSwRegistrationScript:()=>jU,generatePwaTags:()=>GX,generateManifestLink:()=>BU});function GX(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
1138
|
<meta name="theme-color" content="${_$(Z?.themeColor||"#000000")}">
|
|
@@ -1178,7 +1178,7 @@ if ('serviceWorker' in navigator) {
|
|
|
1178
1178
|
</script>
|
|
1179
1179
|
<!-- End stx PWA -->`,G}function H$(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=GX($);return X.slice(0,J)+G+`
|
|
1180
1180
|
`+X.slice(J)}return X+GX($)}let Y=GX($);return X.replace("</head>",`${Y}
|
|
1181
|
-
</head>`)}function
|
|
1181
|
+
</head>`)}function jU(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,8 +1190,8 @@ if ('serviceWorker' in navigator) {
|
|
|
1190
1190
|
});
|
|
1191
1191
|
});
|
|
1192
1192
|
}
|
|
1193
|
-
</script>`}function
|
|
1194
|
-
`)}var L6;var A6=E(()=>{L6={fg:{light:"gray-900",dark:"gray-100",description:"Primary text"},"fg-strong":{light:"gray-700",dark:"gray-300",description:"Labels, secondary headings"},"fg-muted":{light:"gray-600",dark:"gray-400",description:"Supporting text"},"fg-soft":{light:"gray-500",dark:"gray-400",description:"De-emphasised text"},"fg-subtle":{light:"gray-400",dark:"gray-500",description:"Placeholders, disabled text"},surface:{light:"gray-50",dark:"gray-800",description:"Page and panel background"},"surface-raised":{light:"gray-100",dark:"gray-700",description:"Cards, popovers"},"surface-sunken":{light:"gray-200",dark:"gray-700",description:"Wells, track backgrounds"},line:{light:"gray-200",dark:"gray-700",description:"Default border, divider"},"line-strong":{light:"gray-300",dark:"gray-600",description:"Input border, focus ring track"},accent:{light:"indigo-600",dark:"indigo-400",description:"Primary action, selected state"},info:{light:"blue-600",dark:"blue-400",description:"Informational emphasis, links"},danger:{light:"red-600",dark:"red-400",description:"Errors, destructive actions"},success:{light:"green-600",dark:"green-400",description:"Confirmation"},warning:{light:"yellow-500",dark:"yellow-400",description:"Caution"},"accent-solid":{light:"indigo-600",dark:"indigo-500",description:"Primary button fill"},"info-solid":{light:"blue-600",dark:"blue-500",description:"Informational fill"},"danger-solid":{light:"red-600",dark:"red-500",description:"Destructive button fill"},"success-solid":{light:"green-600",dark:"green-500",description:"Confirmation fill"}}});function R6(X){return typeof X==="object"&&X!==null&&!Array.isArray(X)}function F$(X,$){let Z={...X};for(let[Y,J]of Object.entries($))Z[Y]=R6(J)&&R6(Z[Y])?F$(Z[Y],J):J;return Z}function N6(X={},$={}){let Z=X.theme||{},Y=$.theme||{},{extend:J,...G}=Y,{extend:Q,...q}=Z,K=q.colors||{};q.colors={...K,...F6(K)};let U=F$(q,G),W=F$(Q||{},J||{});if(Object.keys(W).length>0)U.extend=W;let w=[...X.safelist||[],...$.safelist||[]],z={...X.shortcuts||{},...$.shortcuts||{}},B=[...X.preflights||[],...$.preflights||[]];return{config:{...X,...$,theme:U,safelist:w,shortcuts:z,...B.length>0?{preflights:B}:{},content:[],output:""},safelist:w,shortcuts:z,includePreflight:$.preflight!==!1,minify:$.minify===!0,tokenCSS:V6(K)}}var T6=E(()=>{A6()});import e5 from"path";function k6(X){M6=X?.trim()||null}function X7(){return process.env[
|
|
1193
|
+
</script>`}function BU(){return'<link rel="manifest" href="/manifest.json">'}function _U(X){return`<meta name="theme-color" content="${_$(X)}">`}function _$(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var QX=E(()=>{t5()});function O$(X){return`--stx-${X}`}function L$(X,$){let Z=$.lastIndexOf("-");if(Z===-1)return typeof X[$]==="string"?X[$]:void 0;let Y=X[$.slice(0,Z)];if(!Y||typeof Y!=="object")return;let J=Y[$.slice(Z+1)];return typeof J==="string"?J:void 0}function F6(X){let $={};for(let[Z,Y]of Object.entries(L6)){let J=L$(X,Y.light);if(J===void 0)continue;$[Z]=`var(${O$(Z)}, ${J})`}return $}function V6(X){let $=[],Z=[];for(let[Y,J]of Object.entries(L6)){let G=L$(X,J.light),Q=L$(X,J.dark);if(G===void 0)continue;if($.push(` ${O$(Y)}: ${G};`),Q!==void 0)Z.push(` ${O$(Y)}: ${Q};`)}if($.length===0)return"";return["/* stx role tokens \u2014 override any of these to re-theme by meaning. */",":root {",...$,"}",".dark {",...Z,"}",""].join(`
|
|
1194
|
+
`)}var L6;var A6=E(()=>{L6={fg:{light:"gray-900",dark:"gray-100",description:"Primary text"},"fg-strong":{light:"gray-700",dark:"gray-300",description:"Labels, secondary headings"},"fg-muted":{light:"gray-600",dark:"gray-400",description:"Supporting text"},"fg-soft":{light:"gray-500",dark:"gray-400",description:"De-emphasised text"},"fg-subtle":{light:"gray-400",dark:"gray-500",description:"Placeholders, disabled text"},surface:{light:"gray-50",dark:"gray-800",description:"Page and panel background"},"surface-raised":{light:"gray-100",dark:"gray-700",description:"Cards, popovers"},"surface-sunken":{light:"gray-200",dark:"gray-700",description:"Wells, track backgrounds"},line:{light:"gray-200",dark:"gray-700",description:"Default border, divider"},"line-strong":{light:"gray-300",dark:"gray-600",description:"Input border, focus ring track"},accent:{light:"indigo-600",dark:"indigo-400",description:"Primary action, selected state"},info:{light:"blue-600",dark:"blue-400",description:"Informational emphasis, links"},danger:{light:"red-600",dark:"red-400",description:"Errors, destructive actions"},success:{light:"green-600",dark:"green-400",description:"Confirmation"},warning:{light:"yellow-500",dark:"yellow-400",description:"Caution"},"accent-solid":{light:"indigo-600",dark:"indigo-500",description:"Primary button fill"},"info-solid":{light:"blue-600",dark:"blue-500",description:"Informational fill"},"danger-solid":{light:"red-600",dark:"red-500",description:"Destructive button fill"},"success-solid":{light:"green-600",dark:"green-500",description:"Confirmation fill"}}});function R6(X){return typeof X==="object"&&X!==null&&!Array.isArray(X)}function F$(X,$){let Z={...X};for(let[Y,J]of Object.entries($))Z[Y]=R6(J)&&R6(Z[Y])?F$(Z[Y],J):J;return Z}function N6(X={},$={}){let Z=X.theme||{},Y=$.theme||{},{extend:J,...G}=Y,{extend:Q,...q}=Z,K=q.colors||{};q.colors={...K,...F6(K)};let U=F$(q,G),W=F$(Q||{},J||{});if(Object.keys(W).length>0)U.extend=W;let w=[...X.safelist||[],...$.safelist||[]],z={...X.shortcuts||{},...$.shortcuts||{}},B=[...X.preflights||[],...$.preflights||[]];return{config:{...X,...$,theme:U,safelist:w,shortcuts:z,...B.length>0?{preflights:B}:{},content:[],output:""},safelist:w,shortcuts:z,includePreflight:$.preflight!==!1,minify:$.minify===!0,tokenCSS:V6(K)}}var T6=E(()=>{A6()});import e5 from"path";function k6(X){M6=X?.trim()||null}function X7(){return process.env[RU]?.trim()||M6||B5}function $7(X=process.cwd(),...$){let Z=X7();return e5.isAbsolute(Z)?e5.join(Z,...$):e5.join(X,Z,...$)}function Z7(X){if(!X||e5.isAbsolute(X))return X;let $=X.replace(/\\/g,"/");if($!==B5&&!$.startsWith(`${B5}/`))return X;let Z=$.slice(B5.length+1);return Z?e5.join(X7(),Z):X7()}var B5=".stx",RU="STX_DIR",M6=null;var qX=()=>{};var A0;var I6=E(()=>{A0={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 E6=()=>{};function D6(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 y6,b6;var V$=E(()=>{E6();y6={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},b6={name:"screenReader",handler:(X)=>{return`<span class="sr-only">${X}</span>`},hasEndTag:!0}});function NU(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);"}
|
|
1195
1195
|
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
|
|
1196
1196
|
@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);"}
|
|
1197
1197
|
@keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
|
|
@@ -1201,7 +1201,7 @@ if ('serviceWorker' in navigator) {
|
|
|
1201
1201
|
@keyframes flipIn { from { transform: perspective(400px) rotateX(-90deg); opacity: 0; } to { transform: perspective(400px) rotateX(0); opacity: 1; } }
|
|
1202
1202
|
@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);"}
|
|
1203
1203
|
@keyframes rotateIn { from { transform: rotate(-90deg); opacity: 0; } to { transform: rotate(0); opacity: 1; } }
|
|
1204
|
-
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function
|
|
1204
|
+
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function TU(){return`
|
|
1205
1205
|
<script data-stx-scoped data-stx-run="once">
|
|
1206
1206
|
// Motion preferences handling
|
|
1207
1207
|
(function() {
|
|
@@ -1229,7 +1229,7 @@ else {
|
|
|
1229
1229
|
});
|
|
1230
1230
|
})();
|
|
1231
1231
|
</script>
|
|
1232
|
-
`}function
|
|
1232
|
+
`}function MU(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 kU(X=0.1,$="0px"){return`
|
|
1233
1233
|
<script data-stx-scoped data-stx-run="always">
|
|
1234
1234
|
// Intersection Observer for scroll animations
|
|
1235
1235
|
(function() {
|
|
@@ -1272,7 +1272,7 @@ else {
|
|
|
1272
1272
|
}
|
|
1273
1273
|
})();
|
|
1274
1274
|
</script>
|
|
1275
|
-
`}function
|
|
1275
|
+
`}function IU(){return`
|
|
1276
1276
|
<style id="stx-animation-base">
|
|
1277
1277
|
:root {
|
|
1278
1278
|
--stx-transition-duration: 300ms;
|
|
@@ -1387,7 +1387,7 @@ else {
|
|
|
1387
1387
|
transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
|
|
1388
1388
|
}
|
|
1389
1389
|
</style>
|
|
1390
|
-
`}function
|
|
1390
|
+
`}function EU(X,$,Z={}){let{staggerDelay:Y=50,sequence:J=!1}=Z;return`
|
|
1391
1391
|
<script data-stx-scoped data-stx-run="always">
|
|
1392
1392
|
// Animation Group: ${X}
|
|
1393
1393
|
(function() {
|
|
@@ -1424,13 +1424,13 @@ else {
|
|
|
1424
1424
|
}
|
|
1425
1425
|
})();
|
|
1426
1426
|
</script>
|
|
1427
|
-
`}function x6(X,$,Z,Y){let J=X;if(Y.animation?.enabled===!1)return J;let G=Z.includes("test")&&Z.includes("animation");if(!
|
|
1428
|
-
</head>`)}if(J.includes("stx-observe")){if(!J.includes("Intersection Observer for scroll animations")){let K=
|
|
1429
|
-
`+J.slice(U)}}return J}var U1,S6,C6,P6,v6;var A$=E(()=>{U1={duration:300,delay:0,ease:"ease",direction:"both"};S6={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=
|
|
1430
|
-
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"},C6={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"},P6={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=
|
|
1431
|
-
${K}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},v6={name:"motion",handler:(X,$,Z,Y)=>{let J=$.length>0?$[0].toLowerCase()==="true":!0,G=
|
|
1427
|
+
`}function x6(X,$,Z,Y){let J=X;if(Y.animation?.enabled===!1)return J;let G=Z.includes("test")&&Z.includes("animation");if(!MU(J)&&!G)return J;if(!J.includes('<style id="stx-animation-base">')){let q=IU();J=J.replace("</head>",`${q}
|
|
1428
|
+
</head>`)}if(J.includes("stx-observe")){if(!J.includes("Intersection Observer for scroll animations")){let K=kU(),U=J.lastIndexOf("</body>");if(U!==-1)J=J.slice(0,U)+K+`
|
|
1429
|
+
`+J.slice(U)}}return J}var U1,S6,C6,P6,v6;var A$=E(()=>{U1={duration:300,delay:0,ease:"ease",direction:"both"};S6={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=NU(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":""}"
|
|
1430
|
+
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"},C6={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"},P6={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=EU(J,G,{staggerDelay:Q,sequence:q});return`${X}
|
|
1431
|
+
${K}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},v6={name:"motion",handler:(X,$,Z,Y)=>{let J=$.length>0?$[0].toLowerCase()==="true":!0,G=TU();return`<div data-animate="${J?"auto":"true"}">${X}</div>${G}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});function R$(X){return X.split(/[\\/]/).filter(Boolean).slice(0,-1).some((Z)=>Y7.includes(Z))}function J7(X){return R$(X.replace(/^\//,""))}var Y7;var KX=E(()=>{Y7=["components","layouts","partials","emails"]});import _5 from"fs";import G7 from"path";function Q7(X,$){let Z=X.filter((Q)=>!J7(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(`
|
|
1432
1432
|
`),G=G7.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=G7.relative(Y,Z),G=X.filter((q)=>!J7(q.pattern)),Q=["// Auto-generated by stx \u2014 do not edit",`// Source: ${J||"pages"}/`,"","export const routes = ["];for(let q of G){let K=G7.relative(Y,q.filePath).replace(/\\/g,"/"),U=JSON.stringify(q.params),W=q.layout?`, layout: '${G7.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(G7.join($,"routes.ts"),Q.join(`
|
|
1433
|
-
`))}var N$=E(()=>{KX()});import f6 from"path";function UX(X,$){let Y=f6.relative($,X).replace(/\.(stx|md)$/,"");if(Y=Y.split(f6.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 K7(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 WX(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 g6(X){let $=X.replace(/\[\[([^\]]+)\]\]/g,":$1?").replace(/\[([^\]]+)\]/g,":$1").replace(/:\.\.\.([^/]+)/g,":$1*");return K7($)}var T$=()=>{};import
|
|
1433
|
+
`))}var N$=E(()=>{KX()});import f6 from"path";function UX(X,$){let Y=f6.relative($,X).replace(/\.(stx|md)$/,"");if(Y=Y.split(f6.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 K7(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 WX(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 g6(X){let $=X.replace(/\[\[([^\]]+)\]\]/g,":$1?").replace(/\[([^\]]+)\]/g,":$1").replace(/:\.\.\.([^/]+)/g,":$1*");return K7($)}var T$=()=>{};import DU from"fs";import M$ from"path";function wX(X,$){let Z=[],Y=M$.dirname(X);while(Y.startsWith($)||Y===$){let J=M$.join(Y,"_layout.stx");if(DU.existsSync(J))Z.unshift(J);if(Y===$)break;Y=M$.dirname(Y)}return Z}var k$=()=>{};import I$ from"fs";import H5 from"path";function h6(X,$){let Z=[];if(!I$.existsSync(X))return Z;let Y=I$.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(Y7.includes(J.name))continue;Z.push(...h6(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=h6(Q,Y);for(let K of q){let U=UX(K,Q);if(J.has(U))continue;J.add(U);let{regex:W,params:w}=K7(U),z=$.layouts!==!1?wX(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");Q7(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 u6(X,$){return new O5(X,$)}function E$(X,$){let Z=[`${$}.stx`,"error.stx"];for(let Y of Z){let J=H5.join(X,Y);if(I$.existsSync(J))return J}return null}function D$(X,$){return X.map((Z)=>{let Y=H5.relative($,Z.filePath),J=Z.isDynamic?" (dynamic)":"";return`${Z.pattern} \u2192 ${Y}${J}`})}var d6=E(()=>{N$();T$();k$();KX()});function y$(X){zX=X.replace(/\/$/,"")}function b$(X,$,Z={}){L5[X]={path:$,name:X,params:Z}}function S$(X){for(let[$,Z]of Object.entries(X))if(typeof Z==="string")L5[$]={path:Z,name:$};else L5[$]={...Z,name:$}}function U7(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&&zX?`${zX}${G}`:G}function C$(){for(let X of Object.keys(L5))delete L5[X];zX=""}var L5,zX="";var m6=E(()=>{L5={}});import l6 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 i6(X){return{type:"abort",error:typeof X==="string"?{statusCode:500,message:X}:X}}function n6(X,$={}){return{handler:X,mode:$.mode??"universal"}}function P$(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 jX(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 v$(X,$){let Z=X.headers.get("cookie")||"",Y=P$(Z);return{get(J){return Y[J]},set(J,G,Q={}){Y[J]=G,$.append("Set-Cookie",jX(J,G,Q))},delete(J){delete Y[J],$.append("Set-Cookie",jX(J,"",{expires:new Date(0),path:"/"}))},getAll(){return{...Y}}}}function x$(){return{get(X){if(typeof document>"u")return;return P$(document.cookie)[X]},set(X,$,Z={}){if(typeof document>"u")return;document.cookie=jX(X,$,Z)},delete(X){if(typeof document>"u")return;document.cookie=jX(X,"",{expires:new Date(0),path:"/"})},getAll(){if(typeof document>"u")return{};return P$(document.cookie)}}}function f$(){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 BX(X,$){W7.set(X,$)}function g$(X){return W7.get(X)}function r6(X){return W7.has(X)}function o6(){W7.clear()}function s6(){return Array.from(W7.keys())}async function a6(X,$="middleware"){let Z=c6.resolve(X,$);if(!l6.existsSync(Z))return;let Y=l6.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")BX(G,K);else if(typeof K==="function")BX(G,{handler:K,mode:"universal"})}catch(q){console.warn(`Failed to load middleware '${G}' from ${Q}:`,q)}}}function yU(X){let $={};if(!X)return $;let Z=new URLSearchParams(X);for(let[Y,J]of Z)$[Y]=J;return $}function t6(X,$,Z,Y=""){return{path:X,params:$,query:yU(Y),fullPath:Y?`${X}?${Y}`:X,meta:Z}}function e6(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?v$(Z,Q):x$(),storage:f$(),state:{},request:Z,responseHeaders:Q}}async function X2(X,$){let Z=Array.isArray(X)?X:[X],Y=$.isServer;for(let J of Z){let G=g$(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 W7;var $2=E(()=>{W7=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 Z2(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 bU(X){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(X).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return X}}function z7(){if(_X)return _X;return _X=bU(`
|
|
1434
1434
|
;(function(){
|
|
1435
1435
|
'use strict';
|
|
1436
1436
|
var ROUTER_REV=7;
|
|
@@ -3080,7 +3080,7 @@ else {
|
|
|
3080
3080
|
|
|
3081
3081
|
if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();
|
|
3082
3082
|
})();
|
|
3083
|
-
`),_X}var _X;var Y2={};o(Y2,{setAppUrl:()=>y$,runMiddleware:()=>X2,route:()=>U7,resolveLayoutChain:()=>wX,resetRoutes:()=>C$,registerMiddleware:()=>BX,patternToRegex:()=>K7,navigateTo:()=>p6,matchRoute:()=>WX,loadMiddlewareFromDirectory:()=>a6,isNonPageRoutePattern:()=>J7,isNonPageRoutePath:()=>R$,hasMiddleware:()=>r6,getRouterScript:()=>z7,getMiddlewareNames:()=>s6,getMiddleware:()=>g$,generateRouteTypes:()=>Q7,generateRouteManifest:()=>q7,formatRoutes:()=>D$,findErrorPage:()=>E$,filePathToPattern:()=>UX,extractLayoutMetadata:()=>Z2,deriveLayoutGroup:()=>w7,defineRoutes:()=>S$,defineRoute:()=>b$,defineMiddleware:()=>n6,createStorageManager:()=>f$,createServerCookieManager:()=>v$,createRouter:()=>u6,createRouteLocation:()=>t6,createMiddlewareContext:()=>e6,createClientCookieManager:()=>x$,clearMiddleware:()=>o6,bracketPathToRegex:()=>g6,abortNavigation:()=>i6,Router:()=>O5,NON_PAGE_DIRS:()=>Y7});var h1=E(()=>{d6();T$();m6();$2();k$();N$();KX()});var J2=E(()=>{h1();h$()});async function
|
|
3083
|
+
`),_X}var _X;var Y2={};o(Y2,{setAppUrl:()=>y$,runMiddleware:()=>X2,route:()=>U7,resolveLayoutChain:()=>wX,resetRoutes:()=>C$,registerMiddleware:()=>BX,patternToRegex:()=>K7,navigateTo:()=>p6,matchRoute:()=>WX,loadMiddlewareFromDirectory:()=>a6,isNonPageRoutePattern:()=>J7,isNonPageRoutePath:()=>R$,hasMiddleware:()=>r6,getRouterScript:()=>z7,getMiddlewareNames:()=>s6,getMiddleware:()=>g$,generateRouteTypes:()=>Q7,generateRouteManifest:()=>q7,formatRoutes:()=>D$,findErrorPage:()=>E$,filePathToPattern:()=>UX,extractLayoutMetadata:()=>Z2,deriveLayoutGroup:()=>w7,defineRoutes:()=>S$,defineRoute:()=>b$,defineMiddleware:()=>n6,createStorageManager:()=>f$,createServerCookieManager:()=>v$,createRouter:()=>u6,createRouteLocation:()=>t6,createMiddlewareContext:()=>e6,createClientCookieManager:()=>x$,clearMiddleware:()=>o6,bracketPathToRegex:()=>g6,abortNavigation:()=>i6,Router:()=>O5,NON_PAGE_DIRS:()=>Y7});var h1=E(()=>{d6();T$();m6();$2();k$();N$();KX()});var J2=E(()=>{h1();h$()});async function SU(X,$,Z,Y){let J=$[0]?.replace(/['"]/g,"")||"main",G=z7();if(J!=="main")G=G.replace("container:'main'",`container:'${J}'`);return`<script data-stx-router>${G}</script>`}var G2;var h$=E(()=>{J2();G2={name:"stxRouter",handler:SU,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function Q2(X){let $=X.heatmap;if(!$?.enabled)return"";let Z={...CU,...$};return`
|
|
3084
3084
|
<!-- stx Heatmap - Privacy-Compliant Tracking -->
|
|
3085
3085
|
<script>
|
|
3086
3086
|
(function() {
|
|
@@ -3463,7 +3463,7 @@ else {
|
|
|
3463
3463
|
};
|
|
3464
3464
|
})();
|
|
3465
3465
|
</script>
|
|
3466
|
-
`}function q2(X,$){let Z=Q2($);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
|
|
3466
|
+
`}function q2(X,$){let Z=Q2($);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 PU(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 CU,K2;var u$=E(()=>{CU={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};K2={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=PU($.join(" "));J.heatmap={...J.heatmap,...G,enabled:!0}}return Q2(J)}}});function F1(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function U2(X){let $=X.trim().toLowerCase();return!$.startsWith("javascript:")&&!$.startsWith("vbscript:")&&!$.startsWith("data:text/html")}function W2(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(`
|
|
3467
3467
|
`)){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 j7(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-${F1(w)}"`:"";return G.push(`<pre><code${j}>${F1(z.trim())}</code></pre>`),`\x00CODEBLOCK${B}\x00`}),J=J.replace(/`([^`]*)`/g,(W,w)=>`<code>${F1(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="${U2(z)?F1(z):""}" alt="${F1(w)}" />`}),J=J.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(W,w,z)=>{return`<a href="${U2(z)?F1(z):""}">${w}</a>`}),J=J.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),J=J.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),J=J.replace(/<\/blockquote>\n<blockquote>/g,`
|
|
3468
3468
|
`),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>${F1(H)}</th>`).join("")}</tr>`,_=z.trim().split(`
|
|
3469
3469
|
`).map((H)=>{return`<tr>${H.split("|").map((L)=>L.trim()).filter(Boolean).map((L)=>`<td>${F1(L)}</td>`).join("")}</tr>`}).join(`
|
|
@@ -3481,7 +3481,7 @@ ${_}
|
|
|
3481
3481
|
`:`
|
|
3482
3482
|
`)}</p>`);if(J=q.join(`
|
|
3483
3483
|
`),Y)J=J.replace(/\n/g,`<br />
|
|
3484
|
-
`);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 d$(X){if(!X)return!1;return
|
|
3484
|
+
`);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 d$(X){if(!X)return!1;return xU.some(($)=>new RegExp(`\\b${$}\\s*(?:<[^>]*>)?\\s*\\(`).test(X))}function m$(X){if(!X)return!1;let $=O2(X);if(fU.some((Z)=>Z.test($)))return!0;return d$($)}function z2(X){if(!X)return!1;return gU.test(O2(X))||m$(X)}function j2(X){return hU.includes(X.toLowerCase())}function H2(){return`{${B2.map((X)=>`'${X}':1`).join(",")}}`}function O2(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,w2,vU,xU,fU,gU,hU,B2,uU,_2;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"],w2=["onMount","onDestroy"];vU=["defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","withDefaults"],xU=W1.filter((X)=>!vU.includes(X));fU=[/@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/],gU=/\s@[a-z][\w.:-]*\s*=/i;hU=["if","else-if","elseif","else","for","show","key","text","html","model","ref"];B2=["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"],uU=["x-init","x-transition","x-effect","x-on"],_2=[...B2,...uU]});function V2(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(dU.has(Y))$.systemKeys.push(Y);else if(Y in A2)$.mouse=Y;else if(Y in F2||/^[a-z]$/.test(Y))$.keys.push(F2[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 R2(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(!L2.has(L))continue;w.push({attribute:`@${_}`,event:L,handler:H,modifiers:V2(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(!L2.has(L))continue;w.push({attribute:`@${_}`,event:L,handler:H,modifiers:V2(O.slice(1)),elementId:W})}if(w.length>0)$.push({originalTag:G,elementId:W,events:w,startIndex:K,endIndex:U})}return $}function mU(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=A2[Z.mouse];$.push(`if ($event.button !== ${Y}) return`)}if(Z.prevent)$.push("$event.preventDefault()");if(Z.stop)$.push("$event.stopPropagation()");return $.join("; ")}function lU(X,$){let Z=X;if($.debounce!==null)Z=`__stx_debounce(() => { ${Z} }, ${$.debounce})`;else if($.throttle!==null)Z=`__stx_throttle(() => { ${Z} }, ${$.throttle})`;return Z}function l$(X){let $=X.trim();if(!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test($))return X;return`if (typeof ${$} === 'function' && !${$}._isSignal) ${$}($event);`}function cU(X){let{modifiers:$}=X,Z=X.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),Y=mU(X),J=lU(l$(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`
|
|
3485
3485
|
(function() {
|
|
3486
3486
|
var $el = document.getElementById('${Z}');
|
|
3487
3487
|
if (!$el) return;
|
|
@@ -3590,13 +3590,13 @@ else {
|
|
|
3590
3590
|
}
|
|
3591
3591
|
|
|
3592
3592
|
// Event listeners
|
|
3593
|
-
${X.map(
|
|
3593
|
+
${X.map(cU).join(`
|
|
3594
3594
|
`)}
|
|
3595
3595
|
})();
|
|
3596
|
-
</script>`}function
|
|
3597
|
-
`+J.slice(Q);else J+=G;return J}var L2,F2,
|
|
3596
|
+
</script>`}function pU(X){let $=R2(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 N2(X,$,Z){if(m$(X))return X;if($.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test(X))return X;let{template:q,bindings:K}=pU(X),U=$.__stx_event_bindings||[];return $.__stx_event_bindings=[...U,...K],q}let Y=R2(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=c$(Y.flatMap((q)=>q.events)),Q=J.lastIndexOf("</body>");if(Q!==-1)J=J.slice(0,Q)+G+`
|
|
3597
|
+
`+J.slice(Q);else J+=G;return J}var L2,F2,dU,A2;var p$=E(()=>{a0();L2=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"]),F2={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"},dU=new Set(["ctrl","alt","shift","meta"]),A2={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__
|
|
3598
3598
|
`});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
|
|
3599
|
-
`}),X}function HX(X){return X.replace(/^import\s+[^'"]*?from\s*['"][^'"]+['"]\s*;?[ \t]*$/gm,"").replace(/^import\s+['"][^'"]+['"]\s*;?[ \t]*$/gm,"")}function
|
|
3599
|
+
`}),X}function HX(X){return X.replace(/^import\s+[^'"]*?from\s*['"][^'"]+['"]\s*;?[ \t]*$/gm,"").replace(/^import\s+['"][^'"]+['"]\s*;?[ \t]*$/gm,"")}function iU(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 nU(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=OX(X,Z+2),Z<X.length)Z++;continue}Z++}return X.length}function OX(X,$){let Z=1,Y=$;while(Y<X.length){let J=X[Y];if(J==="\\"){Y+=2;continue}if(J==='"'||J==="'"){Y=iU(X,Y);continue}if(J==="`"){Y=nU(X,Y);continue}if(J==="/"&&X[Y+1]==="/"){while(Y<X.length&&X[Y]!==`
|
|
3600
3600
|
`)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]!==`
|
|
3601
3601
|
`)$+=" ",Z++;continue}if(Y==="/*"){while(Z<X.length&&X.slice(Z,Z+2)!=="*/")$+=X[Z]===`
|
|
3602
3602
|
`?`
|
|
@@ -3604,10 +3604,10 @@ else {
|
|
|
3604
3604
|
`?`
|
|
3605
3605
|
`:" ",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=OX(X,G);if($+=" ",$+=i0(X.slice(G,Q)),Q<X.length)$+=" ";Z=Q+1;continue}$+=X[Z]===`
|
|
3606
3606
|
`?`
|
|
3607
|
-
`:" ",Z++}$+=" ",Z++;continue}$+=J,Z++}return $}function
|
|
3607
|
+
`:" ",Z++}$+=" ",Z++;continue}$+=J,Z++}return $}function rU(){let X=globalThis;return X[T2]??=new Map,X[T2]}function a(X,$){let Z=rU(),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 T2;var B7=E(()=>{T2=Symbol.for("stx.lazy-module-promises")});function V5(X){if(!X||X.indexOf("</")===-1)return X;return X.replace(oU,"<\\/$1")}var oU;var i$=E(()=>{oU=/<\/(script)/gi});import sU from"process";function v0(X="STX_PUBLIC_"){let $={},Z={};for(let[Y,J]of Object.entries(sU.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 V1=()=>{};function aU(X){if(!X||typeof X!=="object")return!1;let $=X;return typeof $.message==="string"&&($.name==="BuildMessage"||$.name==="ResolveMessage"||("position"in $))}function tU(X){if(X&&typeof X==="object"&&Array.isArray(X.errors))return X.errors;return[X]}function n$(X,$){let Z=[];for(let Y of tU(X)){if(aU(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 M2(X,$){return n$(X,$).map((Z)=>{let Y=Z.file?`${Z.file}${Z.line?`:${Z.line}${Z.column?`:${Z.column}`:""}`:""}`:"",J=Z.lineText?`
|
|
3608
3608
|
${Z.lineText.trim()}`:"";return Y?`${Y}: ${Z.message}${J}`:`${Z.message}${J}`}).join(`
|
|
3609
|
-
`)}var _7={};o(_7,{shouldLogBundlerDiagnostics:()=>D2,setBundlerFallbackMode:()=>
|
|
3610
|
-
export { ${B.join(", ")} }`:"";await Bun.write(W,X+O),u1("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:[
|
|
3609
|
+
`)}var _7={};o(_7,{shouldLogBundlerDiagnostics:()=>D2,setBundlerFallbackMode:()=>ZW,resolveBundlerFallback:()=>b2,recordBundleFailure:()=>y2,queueClientBundleBuild:()=>S2,hasUserImports:()=>YW,getBundleFailures:()=>XW,clearBundleFailures:()=>$W,bundleClientScript:()=>GW});import H0 from"path";import x0 from"fs";function D2(X=process.env){return X.STX_DEBUG==="true"||X.STX_DEBUG==="1"}function u1(...X){if(D2())console.log("[stx:bundler]",...X)}function y2(X,$,Z){s$.push({filePath:X||"<inline>",message:$,details:Z})}function XW(){return s$.slice()}function $W(){s$.length=0}function ZW(X){o$=X}function b2(){if(o$)return o$;try{let X=O7.strict;return typeof X==="object"&&X!==null?X.bundlerFallback??"warn":"warn"}catch{return"warn"}}function YW(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(!k2.some((Q)=>Q.test(J)))return u1("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(!k2.some((Q)=>Q.test(J)))return u1("detected side-effect import:",J),!0}return!1}function JW(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 u1(`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 S2(X){let $=globalThis,Y=($[I2]??Promise.resolve()).then(X,X);return $[I2]=Y.then(()=>{return},()=>{return}),Y}async function GW(X,$,Z={}){let Y=Z.projectRoot||process.cwd(),J=Z.minify??!1,G=Z.cacheDir||$7(Y,"bundle-cache"),Q=new Bun.CryptoHasher("md5");Q.update(`${eU}\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!==E2||!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 u1("cache hit:",q),await W.text();u1("cache invalidated by dep change:",q)}let w=r$.get(q);if(w)return await w;let z=S2(()=>QW(X,$,{projectRoot:Y,minify:J,cacheDir:G,hash:q,cachePath:K,depsPath:U}));r$.set(q,z);try{return await z}finally{r$.delete(q)}}async function QW(X,$,Z){let{projectRoot:Y,minify:J,cacheDir:G,hash:Q,cachePath:q,depsPath:K}=Z,U=$7(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?`
|
|
3610
|
+
export { ${B.join(", ")} }`:"";await Bun.write(W,X+O),u1("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:[JW(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 N=`__stxBundle_${Q}`,T=A.map(([I,C])=>`${JSON.stringify(I)}: ${C}`).join(", "),k=A.map(([I])=>`var ${I} = undefined;`).join(`
|
|
3611
3611
|
`),M=A.map(([I])=>`${I} = ${N}[${JSON.stringify(I)}];`).join(`
|
|
3612
3612
|
`);if(V=`${R.join(`
|
|
3613
3613
|
`)}
|
|
@@ -3616,7 +3616,7 @@ var ${N} = (function() {
|
|
|
3616
3616
|
${V}
|
|
3617
3617
|
return { ${T} };
|
|
3618
3618
|
})();
|
|
3619
|
-
${M}`.trim(),u1("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:E2,files:D})),V}catch(F){let V=n$(F,$||void 0),A=M2(F,$||void 0);if(console.warn(`[stx:bundler] error: ${A}`),y2($||"",A,V),b2()==="error")throw F;return X}finally{try{x0.rmSync(W,{force:!0}),x0.rmSync(w,{recursive:!0,force:!0})}catch{}}}var
|
|
3619
|
+
${M}`.trim(),u1("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:E2,files:D})),V}catch(F){let V=n$(F,$||void 0),A=M2(F,$||void 0);if(console.warn(`[stx:bundler] error: ${A}`),y2($||"",A,V),b2()==="error")throw F;return X}finally{try{x0.rmSync(W,{force:!0}),x0.rmSync(w,{recursive:!0,force:!0})}catch{}}}var eU=5,E2=1,s$,o$,k2,r$,I2;var H7=E(()=>{V1();qX();A1();s$=[];k2=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];r$=new Map,I2=Symbol.for("stx.client-bundle-build-queue")});var u2={};o(u2,{stripCommentsAndLiterals:()=>i0,renderVendorStyleTags:()=>FX,processClientScript:()=>V7,injectBrowserCoreAutoImports:()=>A5,generateServerDataBridge:()=>VX,generateBrowserAutoImportDestructuring:()=>_W,generateAutoImportDestructuring:()=>a$,findInterpolationEnd:()=>OX,extractBridgeData:()=>F7,extractAndStripCssImports:()=>LX,STX_AUTO_IMPORTS:()=>x2});import d1 from"path";import L7 from"fs";function KW(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 UW(X,$){let Z=$;while(!0){let Y=d1.join(Z,"node_modules",X,"package.json");if(L7.existsSync(Y))return d1.dirname(Y);let J=d1.dirname(Z);if(J===Z)return null;Z=J}}function WW(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 wW(X,$){let Z=KW(X);if(!Z||!Z.subpath)return null;let Y=UW(Z.pkg,$);if(!Y)return null;let J;try{J=JSON.parse(L7.readFileSync(d1.join(Y,"package.json"),"utf8"))}catch{return null}let G=`.${Z.subpath}`,Q=WW(J.exports,G);if(!Q)return null;let q=d1.resolve(Y,Q);return L7.existsSync(q)?q:null}function LX(X,$){let Z=$.filePath?d1.dirname($.filePath):$.projectRoot||process.cwd(),Y=$.projectRoot||process.cwd(),J=new Set,G=[];return{code:X.replace(qW,(q,K)=>{let U;try{if(K.startsWith("./")||K.startsWith("../")||K.startsWith("/")){if(U=K.startsWith("/")?K:d1.resolve(Z,K),!L7.existsSync(U))throw Error(`file not found: ${U}`)}else{let W=null;try{W=Bun.resolveSync(K,Y)}catch{W=wW(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=L7.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 zW(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function FX(X){if(X.length===0)return"";return`${X.map(($)=>{return`<style data-stx-vendor="${zW($.source)}" data-stx-layer="vendor">
|
|
3620
3620
|
@layer vendor {
|
|
3621
3621
|
${$.contents}
|
|
3622
3622
|
}
|
|
@@ -3624,10 +3624,10 @@ ${$.contents}
|
|
|
3624
3624
|
`)}
|
|
3625
3625
|
`}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=f2.filter((q)=>{if(Z.has(q)||Y.has(q))return!1;return new RegExp(`\\b${q}\\s*\\(`).test($)}),G=g2($).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(`
|
|
3626
3626
|
`)}
|
|
3627
|
-
${X}`,imports:J,models:G}}function g2(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(!
|
|
3627
|
+
${X}`,imports:J,models:G}}function g2(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(!jW.has(Y[1]))$.add(Y[1]);return Array.from($)}function BW(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 h2(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=BW(Y);for(let U of x2){if(J.has(U)||q.has(U))continue;if(new RegExp(`\\b${U}\\s*(?:<[^>]*>)?\\s*\\(`,"g").test(Y))$.add(U)}for(let U of f2){if(J.has(U)||q.has(U))continue;if(new RegExp(`\\b${U}\\b`,"g").test(Y))Z.add(U)}let K=g2(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 a$(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
|
|
3628
3628
|
${Z.join(`
|
|
3629
3629
|
`)}
|
|
3630
|
-
${
|
|
3630
|
+
${HW(X,$)}`;return""}function _W(X,$=[]){let{browserImports:Z}=h2(X),Y=new Set($);return a$([],Z.filter((J)=>!Y.has(J)))}function HW(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
|
|
3631
3631
|
[${Z.join(", ")}].forEach(function (e) {
|
|
3632
3632
|
if (e[1] !== 'undefined') return;
|
|
3633
3633
|
console.error(
|
|
@@ -3636,10 +3636,10 @@ ${OW(X,$)}`;return""}function HW(X,$=[]){let{browserImports:Z}=h2(X),Y=new Set($
|
|
|
3636
3636
|
+ 'or it should be imported from a relative path so the bundler includes it.'
|
|
3637
3637
|
);
|
|
3638
3638
|
});
|
|
3639
|
-
`}function F7(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 C2(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
|
|
3639
|
+
`}function F7(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 C2(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 OW(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(C2(Z[1],!0).has($))return!0;for(let Z of X.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(C2(Z[1],!1).has($))return!0;return!1}function LW(X,$){return new RegExp(`(?<![.#\\w$])${$}(?![\\w$])`).test(X)}function VW(X,$){let Z=FW.test(X),Y=$.length>32768;if(!Z&&!Y)return;if(P2.has(X))return;if(P2.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 VX(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&&!LW(Z,G))continue;if(OW(X,G))continue;let q;try{q=JSON.stringify(Q)}catch{continue}if(q===void 0)continue;VW(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)
|
|
3640
3640
|
${J.join(`
|
|
3641
3641
|
`)}
|
|
3642
|
-
`}function
|
|
3642
|
+
`}function RW(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=AW[X.mouse];$.push(`if ($event.button !== ${Z}) return`)}if(X.prevent)$.push("$event.preventDefault()");if(X.stop)$.push("$event.stopPropagation()");return $.join("; ")}function NW(X,$){let{elementId:Z,event:Y,modifiers:J}=X,G=l$(X.handler),Q=RW(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) {
|
|
3643
3643
|
$el.dispatchEvent(new CustomEvent(name, { detail: detail, bubbles: true, cancelable: true }))
|
|
3644
3644
|
};`;function z(B){if(/\$emit\s*\(/.test(B))return`${w}
|
|
3645
3645
|
${B}`;return`var scope = $el.closest('[data-stx-scope]');
|
|
@@ -3682,11 +3682,11 @@ else {
|
|
|
3682
3682
|
else {
|
|
3683
3683
|
${G}
|
|
3684
3684
|
}
|
|
3685
|
-
}${K})`}function
|
|
3685
|
+
}${K})`}function TW(X){if(X.length===0)return"";return`
|
|
3686
3686
|
// STX: auto-generated event bindings
|
|
3687
|
-
${X.map((Z,Y)=>
|
|
3687
|
+
${X.map((Z,Y)=>NW(Z,Y)).join(`
|
|
3688
3688
|
`)}`}function v2(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]!==`
|
|
3689
|
-
`)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
|
|
3689
|
+
`)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 kW(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(!MW.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 V7(X,$={}){let Z=X,Y="",J=!1,G=[],Q=LX(Z,{filePath:$.filePath,projectRoot:$.projectRoot});Z=Q.code;let q=FX(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(() => (H7(),_7)));if(U(Z))Z=await W(Z,$.filePath||"",{projectRoot:$.projectRoot,minify:$.production}),J=!0;if($.autoImports!==!1){let L=h2(Z);Z=L.code,Y=a$(L.stxImports,L.browserImports.filter((F)=>!G.includes(F)))}if(Y=`${VX(Z,$.serverData)}${Y}`,Z=u0(Z),!J&&m1($.attrs||""))Z=l1(Z);let w=TW($.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}>
|
|
3690
3690
|
${V5(`${Y}${Z}
|
|
3691
3691
|
${w}`)}
|
|
3692
3692
|
</script>`}let j=d$(X),_=/function __stx_setup_/.test(Z),H=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test(X);function O(L){let F=L.length>0?`
|
|
@@ -3695,12 +3695,12 @@ window.stx.mount(function() {
|
|
|
3695
3695
|
'use strict';
|
|
3696
3696
|
${V5(`${Y}${Z}
|
|
3697
3697
|
${w}${F}`)}
|
|
3698
|
-
})</script>`}if(!H&&!_){if(j)return O(v2(X));if($.templateContent){let L=v2(X);if(L.length>0){let F=
|
|
3698
|
+
})</script>`}if(!H&&!_){if(j)return O(v2(X));if($.templateContent){let L=v2(X);if(L.length>0){let F=kW($.templateContent);if(L.some((A)=>F.has(A)))return O(L)}}}return`${q}<script data-stx-scoped data-stx-run="always">
|
|
3699
3699
|
;(function() {
|
|
3700
3700
|
'use strict';
|
|
3701
3701
|
${V5(`${Y}${Z}
|
|
3702
3702
|
${w}`)}
|
|
3703
|
-
})()</script>`}var
|
|
3703
|
+
})()</script>`}var qW,x2,f2,jW,FW,P2,AW,MW;var A7=E(()=>{p$();R0();B7();a0();i$();qW=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;x2=W1,f2=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useActiveElement","useDocumentVisibility","useIntervalFn","useTimeoutFn"];jW=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"]);FW=/token|secret|passw|apikey|api_key|privatekey|private_key|credential|webhook|bearer|jwt|signature/i,P2=new Set;AW={left:0,middle:1,right:2};MW=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 IW}from"crypto";function d2(X){let $=X[AX];return $ instanceof Map?$:null}function m2(X){X[AX]=new Map}function l2(X,$){let Z=d2(X);if(!Z)return null;let Y=IW("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=d2($);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>
|
|
3704
3704
|
(function() {
|
|
3705
3705
|
const factories = window.__stxComponentFactories = window.__stxComponentFactories || {};
|
|
3706
3706
|
${J.map(([K,U])=>` try { factories[${JSON.stringify(K)}] = factories[${JSON.stringify(K)}] || ${U.body}; }
|
|
@@ -3709,7 +3709,7 @@ ${J.map(([K,U])=>` try { factories[${JSON.stringify(K)}] = factories[${JSON.str
|
|
|
3709
3709
|
})();
|
|
3710
3710
|
</script>`,q=Y.search(/<script\b(?=[^>]*\bdata-stx-scoped\b)/i);if(q<0)return`${Q}
|
|
3711
3711
|
${Y}`;return`${Y.slice(0,q)}${Q}
|
|
3712
|
-
${Y.slice(q)}`}var AX="__stx_component_client_factories";var t$=()=>{};function
|
|
3712
|
+
${Y.slice(q)}`}var AX="__stx_component_client_factories";var t$=()=>{};function bW(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 SW(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(DW.has(J))throw Error(`Potentially unsafe expression (matched /\\b${J}\\b/; identifier ${J}): ${$}`);if(G==="."&&r2.has(J))throw Error(`Potentially unsafe expression (matched /.${J}/; property ${J}): ${$}`)}}function CW(X){let $=/\[\s*(['"])(.*?)\1\s*\]/g,Z;while((Z=$.exec(X))!==null){let Y=Z[2];if(!r2.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 RX(X){let $=X.trim(),Z=bW($);SW(Z,$),CW($);for(let Y of n2)if(Y.test(Z))throw Error(`Potentially unsafe expression (matched /${Y.source}/): ${$}`);if(!i2.allowBracketNotation&&yW.test($))throw Error(`Bracket notation with strings not allowed: ${$}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return $}function PW(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("__")||n2.some((J)=>J.test(Z)))continue;if(Y&&typeof Y==="object"&&!Array.isArray(Y))$[Z]=e$(Y);else $[Z]=Y}return $}function e$(X,$=0){if($>=i2.maxSanitizeDepth)return"[Object too deep]";if(X===null||typeof X!=="object")return X;if(Array.isArray(X))return X.map((Y)=>e$(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]=e$(J,$+1);else Z[Y]=J}return Z}function Z0(X,$){try{let Z=PW($),Y=Object.keys(Z),J=Object.values(Z);return G0(X,Y)(...J)}catch{return}}function J0(X){try{return RX(X),!0}catch{return!1}}function L0(X,$){try{let Z=Z0(X,$);if(Z&&typeof Z==="object"&&!Array.isArray(Z))return Z;return{}}catch{return{}}}function G0(X,$){let Z=RX(X),Y=/^[A-Za-z_$][\w$]*$/,J=[],G=[];for(let U=0;U<$.length;U++){let W=$[U];if(!Y.test(W))continue;if(o2.has(W))continue;J.push(U),G.push(W)}let Q=(U)=>Function(...G,...U,`
|
|
3713
3713
|
'use strict';
|
|
3714
3714
|
try {
|
|
3715
3715
|
return ${Z};
|
|
@@ -3720,7 +3720,7 @@ catch (e) {
|
|
|
3720
3720
|
}
|
|
3721
3721
|
throw e;
|
|
3722
3722
|
}
|
|
3723
|
-
`),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)||o2.has(j))return;K.add(j),q.push(j),Q=Z(q),Y?.(q)}return}}function NX(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 DW,i2,n2,yW,r2,bW,o2;var F0=E(()=>{DW={maxSanitizeDepth:10,allowBracketNotation:!1},i2={...DW},n2=[/\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/],yW=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"]),r2=new Set(["__proto__","constructor","prototype"]),bW=/[\w)\]]\s*\[\s*['"]/;o2=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 TX(X,$){let Z=xW++,Y=`<!--__STX_${X.toUpperCase()}_${Z}__-->`;return fW.set(Y,{type:X,expression:$}),Y}var xW=0,fW;var s2=E(()=>{fW=new Map});function $Z(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 R1(X,$){return $Z(X,$,a2,t2)}function R5(X,$){return $Z(X,$,e2,XZ)}function R7(X,$){if(!X.startsWith("<!--",$))return-1;let Z=X.indexOf("-->",$+4);if(Z===-1)return-1;return Z+3}function gW(X,$){if(X.startsWith("<!--",$)){let Z=R7(X,$);return Z===-1?X.length:Z}for(let[Z,Y]of[[a2,t2],[e2,XZ]]){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 MX(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=gW(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=MX(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 N1(X){let{output:$,tokens:Z}=$1(X,R1,(Y,J)=>`\x00STX_SCRIPT_${J}\x00`);return{output:$,scripts:Z}}function N7(X,$){if($.length===0)return X;return X.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,Y)=>$[+Y]??"")}var a2,t2,e2,XZ;var c1=E(()=>{a2=/<script\b[^>]*>/iy,t2=/<\/script\s*>/ig,e2=/<style\b[^>]*>/iy,XZ=/<\/style\s*>/ig});var KZ={};o(KZ,{usesSignalsInScript:()=>w1,unescapeHtml:()=>nW,registerFilters:()=>uW,registerFilter:()=>JZ,processExpressions:()=>T1,interpolateScriptsInTemplate:()=>lW,interpolateScriptExpressions:()=>kX,interpolateScriptAttributes:()=>QZ,getAllFilters:()=>GZ,evaluateExpression:()=>f0,escapeHtml:()=>t0,defaultFilters:()=>M7,clearCustomFilters:()=>dW,applyFilters:()=>qZ});function hW(X){let $=ZZ.get(X);if(!$){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");$=new RegExp(`:${Z}(?!\\w)`,"g"),ZZ.set(X,$)}return $.lastIndex=0,$}function JZ(X,$){if(X in M7)console.warn(`Filter "${X}" already exists as a built-in filter. Custom filter will take precedence.`);T7[X]=$}function uW(X){for(let[$,Z]of Object.entries(X))JZ($,Z)}function GZ(){return{...M7,...T7}}function dW(){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:$}=N1(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 YZ(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 mW(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 kX(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 QZ(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 lW(X,$,Z={}){let{output:Y,scripts:J}=N1(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${QZ(W,$)}>`;if(/\bsrc\s*=/.test(W)||/\btype\s*=\s*["']application\/json["']/.test(W))return B+w+Q.slice(U);return B+kX(w,$)+Q.slice(U)});return N7(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,R1,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 TX("raw",z.trim());return j!==void 0&&j!==null?String(j):""}catch(j){if($.__stx_buildMode==="compile")return TX("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,R1,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),N=R&&!_.includes(R[1])&&!(R[1]in $);if(/^__[A-Z_]+__$/.test(j))return"";try{let T=f0(z,$);if(V)return w;if(K&&!YZ(j,$))return w;if($.__stx_buildMode==="compile"&&!K&&(T===void 0||mW(j,$)))return TX("expr",j);return T!==void 0&&T!==null?t0(String(T)):""}catch(T){if(V)return w;if(K&&!YZ(j,$))return w;if(N)return w;let k=T instanceof Error?T.message:String(T);return w0("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 qZ(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]||M7[Q];if(!q)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(GZ()).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 cW(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=cW(Y);if(J>0){let G=Y.substring(0,J).trim(),Q=Y.substring(J+1).trim(),q=f0(G,$,!0);return qZ(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=pW(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 pW(X,$){let Z=null;for(let J of $){if(J===X)continue;let G=iW(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 iW(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 nW(X){if(!X)return"";return X.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var T7,ZZ,M7;var Z1=E(()=>{F0();R0();s2();c1();T7={},ZZ=new Map;M7={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(hW(K),String(U))}),q},t:(X,$,Z={})=>{return M7.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 p1{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>=rW){let Y=N5.keys().next().value;if(Y)N5.delete(Y)}N5.set(Z,new RegExp(X,$))}return N5.get(Z)}class UZ{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
|
+
`),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)||o2.has(j))return;K.add(j),q.push(j),Q=Z(q),Y?.(q)}return}}function NX(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 EW,i2,n2,DW,r2,yW,o2;var F0=E(()=>{EW={maxSanitizeDepth:10,allowBracketNotation:!1},i2={...EW},n2=[/\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/],DW=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"]),r2=new Set(["__proto__","constructor","prototype"]),yW=/[\w)\]]\s*\[\s*['"]/;o2=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 TX(X,$){let Z=vW++,Y=`<!--__STX_${X.toUpperCase()}_${Z}__-->`;return xW.set(Y,{type:X,expression:$}),Y}var vW=0,xW;var s2=E(()=>{xW=new Map});function $Z(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 R1(X,$){return $Z(X,$,a2,t2)}function R5(X,$){return $Z(X,$,e2,XZ)}function R7(X,$){if(!X.startsWith("<!--",$))return-1;let Z=X.indexOf("-->",$+4);if(Z===-1)return-1;return Z+3}function fW(X,$){if(X.startsWith("<!--",$)){let Z=R7(X,$);return Z===-1?X.length:Z}for(let[Z,Y]of[[a2,t2],[e2,XZ]]){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 MX(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=fW(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=MX(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 N1(X){let{output:$,tokens:Z}=$1(X,R1,(Y,J)=>`\x00STX_SCRIPT_${J}\x00`);return{output:$,scripts:Z}}function N7(X,$){if($.length===0)return X;return X.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,Y)=>$[+Y]??"")}var a2,t2,e2,XZ;var c1=E(()=>{a2=/<script\b[^>]*>/iy,t2=/<\/script\s*>/ig,e2=/<style\b[^>]*>/iy,XZ=/<\/style\s*>/ig});var KZ={};o(KZ,{usesSignalsInScript:()=>w1,unescapeHtml:()=>iW,registerFilters:()=>hW,registerFilter:()=>JZ,processExpressions:()=>T1,interpolateScriptsInTemplate:()=>mW,interpolateScriptExpressions:()=>kX,interpolateScriptAttributes:()=>QZ,getAllFilters:()=>GZ,evaluateExpression:()=>f0,escapeHtml:()=>t0,defaultFilters:()=>M7,clearCustomFilters:()=>uW,applyFilters:()=>qZ});function gW(X){let $=ZZ.get(X);if(!$){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");$=new RegExp(`:${Z}(?!\\w)`,"g"),ZZ.set(X,$)}return $.lastIndex=0,$}function JZ(X,$){if(X in M7)console.warn(`Filter "${X}" already exists as a built-in filter. Custom filter will take precedence.`);T7[X]=$}function hW(X){for(let[$,Z]of Object.entries(X))JZ($,Z)}function GZ(){return{...M7,...T7}}function uW(){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:$}=N1(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 YZ(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 dW(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 kX(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 QZ(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 mW(X,$,Z={}){let{output:Y,scripts:J}=N1(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${QZ(W,$)}>`;if(/\bsrc\s*=/.test(W)||/\btype\s*=\s*["']application\/json["']/.test(W))return B+w+Q.slice(U);return B+kX(w,$)+Q.slice(U)});return N7(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,R1,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 TX("raw",z.trim());return j!==void 0&&j!==null?String(j):""}catch(j){if($.__stx_buildMode==="compile")return TX("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,R1,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),N=R&&!_.includes(R[1])&&!(R[1]in $);if(/^__[A-Z_]+__$/.test(j))return"";try{let T=f0(z,$);if(V)return w;if(K&&!YZ(j,$))return w;if($.__stx_buildMode==="compile"&&!K&&(T===void 0||dW(j,$)))return TX("expr",j);return T!==void 0&&T!==null?t0(String(T)):""}catch(T){if(V)return w;if(K&&!YZ(j,$))return w;if(N)return w;let k=T instanceof Error?T.message:String(T);return w0("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 qZ(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]||M7[Q];if(!q)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(GZ()).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 lW(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=lW(Y);if(J>0){let G=Y.substring(0,J).trim(),Q=Y.substring(J+1).trim(),q=f0(G,$,!0);return qZ(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=cW(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 cW(X,$){let Z=null;for(let J of $){if(J===X)continue;let G=pW(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 pW(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 iW(X){if(!X)return"";return X.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var T7,ZZ,M7;var Z1=E(()=>{F0();R0();s2();c1();T7={},ZZ=new Map;M7={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(gW(K),String(U))}),q},t:(X,$,Z={})=>{return M7.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 p1{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>=nW){let Y=N5.keys().next().value;if(Y)N5.delete(Y)}N5.set(Z,new RegExp(X,$))}return N5.get(Z)}class UZ{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(...$,`
|
|
3724
3724
|
'use strict';
|
|
3725
3725
|
try {
|
|
3726
3726
|
return ${K};
|
|
@@ -3731,34 +3731,34 @@ catch (e) {
|
|
|
3731
3731
|
}
|
|
3732
3732
|
throw e;
|
|
3733
3733
|
}
|
|
3734
|
-
`),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 WZ{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
|
|
3734
|
+
`),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 WZ{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 rW(){if(!X9)X9=new WZ;return X9}var N5,nW=500,GA,X9=null,wZ;var M5=E(()=>{N5=new Map;GA=new UZ;wZ=new Proxy({},{get(X,$){return rW()[$]}})});function zZ(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 jZ(X,$,Z={}){let{prefix:Y="",preserveHost:J=!0,scopeKeyframes:G=!0,scopeCustomProperties:Q=!1}=Z;if(!X.trim())return"";let q=$9(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=BZ(W,$,Y,J,U,Q);K.push(w)}return K.join(`
|
|
3735
3735
|
|
|
3736
3736
|
`)}function $9(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=$9(z);$.push({selector:`@${W} ${w.trim()}`,declarations:B.map((j)=>`${j.selector} { ${j.declarations} }`).join(`
|
|
3737
3737
|
`)})}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 BZ(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=$9(`x { ${q} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((z)=>BZ(z,$,Z,Y,J,G)).join(`
|
|
3738
3738
|
`);return`${Q} {
|
|
3739
3739
|
${w}
|
|
3740
|
-
}`}return`${Q} { ${q} }`}let K=
|
|
3741
|
-
`)}function
|
|
3742
|
-
`,""}),headContent:$.trim()}}function
|
|
3740
|
+
}`}return`${Q} { ${q} }`}let K=oW(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 oW(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=sW(Q,$);if(K)G.push(Z?`${Z} ${K}`:K)}return G.join(", ")}function sW(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 HZ(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 IX(X,$){if(!aW.test(X))return{html:X,hasScoped:!1};let Z=zZ($),Y=`data-v-${Z}`,J=X,G=new RegExp(`<style\\s+([^>]*${Z9}[^>]*)>([\\s\\S]*?)</style>`,"gi"),Q=!1;if(J=J.replace(G,(q,K,U)=>{Q=!0;let W=tW(U,Y),w=K.replace(new RegExp(Z9,"gi"),"").trim(),z=w?` ${w}`:"";return`<style data-stx-scoped="${Z}"${z}>${W}</style>`}),!Q)return{html:X,hasScoped:!1};return J=Xw(J,Y),{html:J,hasScoped:!0}}function tW(X,$){return jZ(X,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${$}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${$}]`)}function Xw(X,$){let Z=$1(X,(J,G)=>{let Q=R1(J,G);return Q>G?Q:R5(J,G)},(J,G)=>eW(G)),Y=$w(Z.output,$);return _Z.lastIndex=0,Y.replace(_Z,(J,G)=>Z.tokens[Number(G)])}function $w(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 Z9,aW,eW=(X)=>`\x00stx-scope-mask-${X}\x00`,_Z;var Y9=E(()=>{c1();Z9=String.raw`(?<![\w-])scoped(?![\w-])`,aW=new RegExp(`<style\\s+[^>]*${Z9}`,"i");_Z=/\u0000stx-scope-mask-(\d+)\u0000/g});function Yw(X){let $=X.replace(/^<template\b/i,"").replace(/>$/,"");return Zw.test($)}function EX(X){k7.lastIndex=0;let $;while(($=k7.exec(X))!==null){if($[0].startsWith("</")||Yw($[0]))continue;let Z=$.index,Y=k7.lastIndex,J=1,G;while((G=k7.exec(X))!==null)if(G[0].startsWith("</")){if(J--,J===0){let Q=G.index;return{start:Z,openEnd:Y,closeStart:Q,end:k7.lastIndex,content:X.slice(Y,Q)}}}else J++;return null}return null}var k7,Zw;var J9=E(()=>{k7=/<\/?template\b[^>]*>/gi,Zw=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var OZ=()=>{};function M0(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 q9={};o(q9,{useTitle:()=>Kw,useSeoMeta:()=>LZ,usePageTitle:()=>Kw,useHead:()=>Q9,seoMetaToHeadConfig:()=>yX,resetHead:()=>Qw,renderHtmlAttrs:()=>Ww,renderHead:()=>Uw,renderBodyAttrs:()=>ww,processTitleDirective:()=>Bw,processMetaDirective:()=>_w,processHeadDirective:()=>jw,mergeHeadConfigs:()=>k5,getPageMeta:()=>Gw,getHead:()=>G9,definePageMeta:()=>qw,applyHead:()=>zw});function G9(){return M1}function Gw(){return DX}function Qw(){M1={},Jw.length=0,DX={}}function Q9(X){M1=k5(M1,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 LZ(X){Q9(yX(X))}function yX(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 qw(X){if(DX={...DX,...X},X.title||X.description)LZ({title:X.title,description:X.description})}function Kw(X){let $=typeof X==="function"?X():X;Q9({title:$})}function Uw(X=M1){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>${i1(Z)}</title>`)}if(X.base){let Z=Object.entries(X.base).map(([Y,J])=>`${Y}="${i1(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}="${i1(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}="${i1(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}="${i1(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(`
|
|
3741
|
+
`)}function Ww(X=M1){if(!X.htmlAttrs)return"";return Object.entries(X.htmlAttrs).map(([$,Z])=>`${$}="${i1(Z)}"`).join(" ")}function ww(X=M1){if(!X.bodyAttrs)return"";return Object.entries(X.bodyAttrs).map(([$,Z])=>`${$}="${i1(Z)}"`).join(" ")}function i1(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function zw(X=M1){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 jw(X){let $="";return{content:X.replace(/@head\s*([\s\S]*?)@endhead/g,(Y,J)=>{return $+=J.trim()+`
|
|
3742
|
+
`,""}),headContent:$.trim()}}function Bw(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 _w(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 M1,Jw,DX;var I7=E(()=>{M1={},Jw=[],DX={}});var bX={};o(bX,{stripTypeScript:()=>MZ,splitDeclaration:()=>bZ,isModuleResolutionFailure:()=>kZ,isMissingBindingFailure:()=>IZ,isCompleteImport:()=>EZ,hasVariables:()=>vZ,extractVariables:()=>n1,extractScriptFromTemplate:()=>PZ,convertToCommonJS:()=>W9,STX_ENGINE_BINDING_NAMES:()=>U9});import k1 from"path";import I5 from"process";function Ow(X){let $=[],Z=0,Y=X.split(`
|
|
3743
3743
|
`);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 MZ(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,`
|
|
3744
3744
|
|
|
3745
|
-
`),$}function kZ(X){return/cannot find module|could not resolve|module not found|failed to resolve/i.test(X)}function IZ(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 n1(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=MZ(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=k1.resolve(q,"node_modules",P),f=k1.join(S,"package.json"),m=JSON.parse(U0("fs").readFileSync(f,"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(k1.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[f,m]of Object.entries(P)){let d=w[f];if(d!==void 0)S[f]=d;else if(typeof m==="function")S[f]=m();else S[f]=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[f,m]of Object.entries(P)){let d=m&&typeof m==="object"&&!Array.isArray(m)?m:{type:m};if(S[f]===void 0&&d.default!==void 0)S[f]=typeof d.default==="function"?d.default():d.default}return S},j=()=>$.slots||{},_=(P,S)=>{let f={...P};for(let[m,d]of Object.entries(S))if(f[m]===void 0)if(typeof d==="function")f[m]=d();else f[m]=d;return f},H=(P)=>{let S=()=>P;return S.set=(f)=>{},S.update=(f)=>{},S},O=(P)=>{let S,f=!1;return()=>{if(!f)try{S=P(),f=!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 N(P){if(!P||typeof P!=="object")return;let S=$.__stxClientPayload??{};Object.assign(S,P),$.__stxClientPayload=S}let T=()=>{let P=$.__stxServeContext,S=$.__stxServeSearch??P?.search??"",f=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:f,name:"",fullPath:f+_0,hash:"",matched:[]}},k=()=>({push:(P)=>{},replace:(P)=>{},back:()=>{},forward:()=>{},go:(P)=>{}}),M=(P)=>{let S=$.__stx_runtime_head||{};$.__stx_runtime_head=k5(S,P||{})},D=(P)=>{M(yX(P||{}))},I=(P)=>({value:P}),C=(P)=>P,b=(P)=>({value:typeof P==="function"?P():P}),y=(P,S)=>{},v=(P)=>{},x=(P)=>{},g=(P)=>P?P():Promise.resolve(),l=(P)=>(S,...f)=>{},c=(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)"),O1=()=>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,f){return P[S]=f,!0}}),b0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},j0=console;try{let P=W9(J,Z),S=new Set(Object.keys(w)),f=(r)=>/^[a-z_$][\w$]*$/i.test(r),m=Object.keys($).filter((r)=>!S.has(r)&&r!=="props"&&f(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=
|
|
3745
|
+
`),$}function kZ(X){return/cannot find module|could not resolve|module not found|failed to resolve/i.test(X)}function IZ(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 n1(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=MZ(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=k1.resolve(q,"node_modules",P),f=k1.join(S,"package.json"),m=JSON.parse(U0("fs").readFileSync(f,"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(k1.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[f,m]of Object.entries(P)){let d=w[f];if(d!==void 0)S[f]=d;else if(typeof m==="function")S[f]=m();else S[f]=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[f,m]of Object.entries(P)){let d=m&&typeof m==="object"&&!Array.isArray(m)?m:{type:m};if(S[f]===void 0&&d.default!==void 0)S[f]=typeof d.default==="function"?d.default():d.default}return S},j=()=>$.slots||{},_=(P,S)=>{let f={...P};for(let[m,d]of Object.entries(S))if(f[m]===void 0)if(typeof d==="function")f[m]=d();else f[m]=d;return f},H=(P)=>{let S=()=>P;return S.set=(f)=>{},S.update=(f)=>{},S},O=(P)=>{let S,f=!1;return()=>{if(!f)try{S=P(),f=!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 N(P){if(!P||typeof P!=="object")return;let S=$.__stxClientPayload??{};Object.assign(S,P),$.__stxClientPayload=S}let T=()=>{let P=$.__stxServeContext,S=$.__stxServeSearch??P?.search??"",f=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:f,name:"",fullPath:f+_0,hash:"",matched:[]}},k=()=>({push:(P)=>{},replace:(P)=>{},back:()=>{},forward:()=>{},go:(P)=>{}}),M=(P)=>{let S=$.__stx_runtime_head||{};$.__stx_runtime_head=k5(S,P||{})},D=(P)=>{M(yX(P||{}))},I=(P)=>({value:P}),C=(P)=>P,b=(P)=>({value:typeof P==="function"?P():P}),y=(P,S)=>{},v=(P)=>{},x=(P)=>{},g=(P)=>P?P():Promise.resolve(),l=(P)=>(S,...f)=>{},c=(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)"),O1=()=>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,f){return P[S]=f,!0}}),b0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},j0=console;try{let P=W9(J,Z),S=new Set(Object.keys(w)),f=(r)=>/^[a-z_$][\w$]*$/i.test(r),m=Object.keys($).filter((r)=>!S.has(r)&&r!=="props"&&f(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=Ow(P).map((r)=>`module.exports.${r} = typeof ${r} !== 'undefined' ? ${r} : module.exports.${r};`).join(`
|
|
3746
3746
|
`),s0=$.params??{},f1=[],L1=[];for(let r=0;r<m.length;r++){if(m[r]==="params")continue;f1.push(m[r]),L1.push(d[r])}let K0=await Function(...U9,..._0,...f1,`return (async () => {
|
|
3747
3747
|
${P}
|
|
3748
3748
|
${P0}
|
|
3749
3749
|
return module.exports
|
|
3750
|
-
})()`)(G,Q,W,w,z,B,_,N,H,O,L,F,V,A,R,T,k,M,D,I,C,b,y,v,x,g,l,c,j,D0,y0,c0,W0,e,T0,o0,O1,W5,n,q0,b0,j0,t.confirm,t.alert,t.fetch,s0,...Q1,...L1);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(kZ(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(IZ(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
|
|
3750
|
+
})()`)(G,Q,W,w,z,B,_,N,H,O,L,F,V,A,R,T,k,M,D,I,C,b,y,v,x,g,l,c,j,D0,y0,c0,W0,e,T0,o0,O1,W5,n,q0,b0,j0,t.confirm,t.alert,t.fetch,s0,...Q1,...L1);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(kZ(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(IZ(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 Nw(J,$,Z)}catch(f){if(I5.env.STX_DEBUG){let m=f instanceof Error?f.message:String(f);console.warn(`[stx] fallback extraction also failed in ${Z??"<unknown>"}: ${m}`)}}}}function EZ(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 W9(X,$){let Z=$?k1.dirname($):I5.cwd(),Y=I5.cwd(),J=X.split(`
|
|
3751
3751
|
`),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(`
|
|
3752
|
-
`),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(!EZ(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 k1.resolve(Z,_);if(_.startsWith("~/")||_.startsWith("@/"))return k1.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=
|
|
3753
|
-
`+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
|
|
3754
|
-
`),Z,Y)}function
|
|
3755
|
-
`)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=
|
|
3752
|
+
`),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(!EZ(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 k1.resolve(Z,_);if(_.startsWith("~/")||_.startsWith("@/"))return k1.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=Hw.has(H);for(let A of _.split(",")){let R=A.trim();if(!R)continue;let N=R.split(/\s+as\s+/);if(N.length===2){let[T,k]=[N[0].trim(),N[1].trim()];if(V&&FZ.has(T)){G.push(`const ${k} = ${T};`),F.push(k);continue}L.push(`${T}: ${k}`),F.push(k)}else{if(V&&FZ.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(Lw.test(q))G.push(J[Q]),Q++;else if(q.startsWith("export const ")||q.startsWith("export let ")||q.startsWith("export var ")){let K=AZ(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=K9(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=AZ(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=K9(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=K9(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+=`
|
|
3753
|
+
`+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 Fw(G.join(`
|
|
3754
|
+
`),Z,Y)}function Fw(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===`
|
|
3755
|
+
`)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=Vw(X,G);if(z){let{quote:B,path:j,end:_}=z;if(j.startsWith(".")||j.startsWith("~/")||j.startsWith("@/")){let H=j.startsWith(".")?k1.resolve($,j):k1.resolve(Z,j.slice(2));J+=`await import(${B}${H}${B})`,G=_;continue}}}J+=W,G++}return J}function Vw(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 DZ(X,$){let Z=X[$];if(Z!=="{"&&Z!=="[")return null;let J=M0(X,Z,Z==="{"?"}":"]",$);if(J===-1)return null;return{pattern:X.slice($,J+1),endPos:J+1}}function yZ(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?DZ(Z,Y):null;if(q){$.push(...yZ(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 bZ(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 VZ(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 AZ(X,$){let Z=X[$].trim(),Y=bZ(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=VZ(w,j,_,0),O=w;for(let L=$+1;L<X.length&&H>0;L++)O+=` ${X[L].trim()}`,z=L,H=VZ(X[L],j,_,H);if(H>0)O=w,z=$;w=O}let B=DZ(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(RZ(O)){let N=NZ(X,F,O);L=N.value,F=N.nextIndex}else F=F+1;L=L.trim().replace(/;$/,"");let V=yZ(_),A=`__stx_src_${$}`,R=V.map((N)=>`module.exports.${N} = ${N};`).join(`
|
|
3756
3756
|
`);return{type:j,name:A,value:`${L}; ${j} ${_} = ${A};
|
|
3757
3757
|
${R}`,nextIndex:F}}}}throw Error(`Failed to parse variable declaration: ${Z}`)}let[,G,Q,q]=J,K=q,U=$;if(RZ(q)){let W=NZ(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+=`
|
|
3758
|
-
${X[U]}`,U++;else break}return K=K.trim().replace(/;$/,""),{type:G,name:Q,value:K,nextIndex:U}}function K9(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(
|
|
3758
|
+
${X[U]}`,U++;else break}return K=K.trim().replace(/;$/,""),{type:G,name:Q,value:K,nextIndex:U}}function K9(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(Aw(Z)){let q=Rw(X,$,G);G=q.functionCode,Q=q.nextIndex}else Q=$+1;return{name:J,functionCode:G,nextIndex:Q}}function RZ(X){let $=X.trim();if($.startsWith("{"))return M0($,"{","}",0)===-1;if($.startsWith("["))return M0($,"[","]",0)===-1;return!SZ($)}function SZ(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 CZ(X){let $=X.indexOf("(");if($===-1)return X.indexOf("{");let Z=M0(X,"(",")",$);if(Z===-1)return-1;return X.indexOf("{",Z)}function Aw(X){let $=CZ(X);if($===-1)return!0;return M0(X,"{","}",$)===-1}function NZ(X,$,Z){let Y=Z,J=$+1;while(J<X.length&&!SZ(Y)){let G=X[J];Y+=`
|
|
3759
3759
|
${G}`,J++}while(J<X.length){let G=X[J].trim();if(G.startsWith(".")||G.startsWith("?."))Y+=`
|
|
3760
|
-
${X[J]}`,J++;else break}return{value:Y,nextIndex:J}}function
|
|
3761
|
-
${Q}`,J++}return{functionCode:Y,nextIndex:J}}function TZ(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 Tw(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=TZ(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=TZ(K,$);if(U!==void 0)$[Q]=U}catch{}}}function PZ(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 U9,FZ,Ow,Fw;var E7=E(()=>{I7();V1();F0();U9=["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"],FZ=new Set(U9),Ow=new Set(["stx","@stacksjs/stx"]);Fw=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/});var w9={};o(w9,{renderSlot:()=>fZ,processSlots:()=>hZ,parseSlots:()=>xZ,parseSlotElement:()=>Dw,extractSlotContent:()=>Sw,applySlots:()=>Cw});function Mw(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 Iw(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 Ew(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=Iw(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=Mw(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)&&!kw.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 xZ(X){let $={default:"",named:new Map},Z=X,Y=Ew(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 Dw(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 fZ(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=yw(J,Q)}return J}function yw(X,$){return X.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,Y)=>{try{let J=Y.trim(),G=gZ(J,$);return t0(String(G??""))}catch{return`{{ ${Y} }}`}})}function gZ(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 hZ(X,$,Z){let Y=X;Y=await bw(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]=gZ(O,Z)}return await fZ(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 bw(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 Sw(X){let $=xZ(X);return{defaultSlot:$.default,namedSlots:$.named}}async function Cw(X,$,Z,Y){return await hZ(X,{default:$,named:Z},Y)}var kw;var z9=E(()=>{Z1();F0();kw=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function I1(X,$){let Z=Pw(X,$);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function Pw(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=M0(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 r1(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 uZ(X,$){let Z=X.slice($).match(/^@if\s*/);if(!Z)return null;let Y=$+Z[0].length,J=I1(X,Y);if(!J)return null;let G=J.endPos,Q=r1(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 O=U+H[0].length,L=I1(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 D7(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=uZ(X,Y.index);if(G)$.push(G),Z.lastIndex=G.end;Y=Z.exec(X)}return $}function SX(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=M0(X,"(",")",K);if(U===-1){G=J.exec(X);continue}let W=X.slice(K+1,U),w=U+1,z=r1(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 j9(X,$){let Z=X.slice($).match(/^@switch\s*/);if(!Z)return null;let Y=$+Z[0].length,J=I1(X,Y);if(!J)return null;let G=J.endPos,Q=r1(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=I1(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 dZ=()=>{};var mZ=()=>{};var CX=E(()=>{dZ();mZ()});function lZ(X,$={}){return new O5(X,$).routes}var cZ=E(()=>{h1();h1()});async function iZ(X){let $=X;if(!$)try{$=(await E1())?.pagesDir||"pages"}catch{$="pages"}let Z=$,Y=pZ.get(Z);if(Y)return Y;let J=[];try{J=lZ(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{J=[]}return pZ.set(Z,J),J}var pZ;var nZ=E(()=>{cZ();A1();pZ=new Map});function hw(X){return X.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function rZ(X){return hw(JSON.stringify(X))}function y7(X){let $=0,Z,Y=B9.map(()=>{return});while($<X.length){if(Z===void 0||Z!==null&&Z.index<$)oZ.lastIndex=$,Z=oZ.exec(X);if(!Z)return null;let J=Z.index,G=-1,Q=null;for(let K=0;K<B9.length;K++){let U=B9[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 PX(X,$){let Z=y7(X);if(!Z)return X;return X.slice(0,Z.index)+$(Z.tag,Z.attrs)+X.slice(Z.index+Z.tag.length)}var B9,oZ;var _9=E(()=>{B9=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],oZ=/<body\b([^>]*)>/gi});function H9(){return`
|
|
3760
|
+
${X[J]}`,J++;else break}return{value:Y,nextIndex:J}}function Rw(X,$,Z){let Y=Z,J=$+1;while(J<X.length){let G=CZ(Y);if(G!==-1){if(M0(Y,"{","}",G)!==-1)break}let Q=X[J];Y+=`
|
|
3761
|
+
${Q}`,J++}return{functionCode:Y,nextIndex:J}}function TZ(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 Nw(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=TZ(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=TZ(K,$);if(U!==void 0)$[Q]=U}catch{}}}function PZ(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 U9,FZ,Hw,Lw;var E7=E(()=>{I7();V1();F0();U9=["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"],FZ=new Set(U9),Hw=new Set(["stx","@stacksjs/stx"]);Lw=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/});var w9={};o(w9,{renderSlot:()=>fZ,processSlots:()=>hZ,parseSlots:()=>xZ,parseSlotElement:()=>Ew,extractSlotContent:()=>bw,applySlots:()=>Sw});function Tw(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 kw(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 Iw(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=kw(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=Tw(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)&&!Mw.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 xZ(X){let $={default:"",named:new Map},Z=X,Y=Iw(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 Ew(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 fZ(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=Dw(J,Q)}return J}function Dw(X,$){return X.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,Y)=>{try{let J=Y.trim(),G=gZ(J,$);return t0(String(G??""))}catch{return`{{ ${Y} }}`}})}function gZ(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 hZ(X,$,Z){let Y=X;Y=await yw(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]=gZ(O,Z)}return await fZ(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 yw(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 bw(X){let $=xZ(X);return{defaultSlot:$.default,namedSlots:$.named}}async function Sw(X,$,Z,Y){return await hZ(X,{default:$,named:Z},Y)}var Mw;var z9=E(()=>{Z1();F0();Mw=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function I1(X,$){let Z=Cw(X,$);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function Cw(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=M0(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 Pw(X,$){let Z=X.lastIndexOf("<",$);if(Z===-1)return!1;return Z>X.lastIndexOf(">",$)}function r1(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 uZ(X,$){let Z=X.slice($).match(/^@if\s*/);if(!Z)return null;let Y=$+Z[0].length,J=I1(X,Y);if(!J)return null;let G=J.endPos,Q=r1(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(Pw(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=I1(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 D7(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=uZ(X,Y.index);if(G)$.push(G),Z.lastIndex=G.end;Y=Z.exec(X)}return $}function SX(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=M0(X,"(",")",K);if(U===-1){G=J.exec(X);continue}let W=X.slice(K+1,U),w=U+1,z=r1(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 j9(X,$){let Z=X.slice($).match(/^@switch\s*/);if(!Z)return null;let Y=$+Z[0].length,J=I1(X,Y);if(!J)return null;let G=J.endPos,Q=r1(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=I1(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 dZ=()=>{};var mZ=()=>{};var CX=E(()=>{dZ();mZ()});function lZ(X,$={}){return new O5(X,$).routes}var cZ=E(()=>{h1();h1()});async function iZ(X){let $=X;if(!$)try{$=(await E1())?.pagesDir||"pages"}catch{$="pages"}let Z=$,Y=pZ.get(Z);if(Y)return Y;let J=[];try{J=lZ(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{J=[]}return pZ.set(Z,J),J}var pZ;var nZ=E(()=>{cZ();A1();pZ=new Map});function gw(X){return X.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function rZ(X){return gw(JSON.stringify(X))}function y7(X){let $=0,Z,Y=B9.map(()=>{return});while($<X.length){if(Z===void 0||Z!==null&&Z.index<$)oZ.lastIndex=$,Z=oZ.exec(X);if(!Z)return null;let J=Z.index,G=-1,Q=null;for(let K=0;K<B9.length;K++){let U=B9[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 PX(X,$){let Z=y7(X);if(!Z)return X;return X.slice(0,Z.index)+$(Z.tag,Z.attrs)+X.slice(Z.index+Z.tag.length)}var B9,oZ;var _9=E(()=>{B9=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],oZ=/<body\b([^>]*)>/gi});function H9(){return`
|
|
3762
3762
|
(function(){
|
|
3763
3763
|
var tip=null,hideTimer=null,currentEl=null;
|
|
3764
3764
|
|
|
@@ -3861,7 +3861,7 @@ document.addEventListener("focusout",function(e){
|
|
|
3861
3861
|
if(el) hideTip();
|
|
3862
3862
|
});
|
|
3863
3863
|
})();
|
|
3864
|
-
`}function L9(){return o1}function F9(X){let $=o1;return sZ.push(X),o1=X,$}function V9(X){sZ.pop(),o1=X}function A9(){return vX>0}function R9(X){O9.add(X)}function aZ(X){vX++;try{X()}finally{if(vX--,vX===0){let $=[...O9];O9.clear();for(let Z of $)Z()}}}function tZ(X){let $=o1;o1=null;try{return X()}finally{o1=$}}var o1=null,sZ,vX=0,O9;var eZ=E(()=>{sZ=[],O9=new Set});function D1(X){let $=X,Z=new Set,Y=new Set,J=()=>{let G=L9();if(G)Y.add(G);return $};return J.set=(G)=>{if(!Object.is(G,$)){let Q=$;if($=G,Z.forEach((q)=>q($,Q)),A9())Y.forEach((q)=>R9(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 fX(X){let $,Z=!0,Y=new Set,J=()=>{if(!Z)if(Z=!0,A9())Y.forEach((Q)=>R9(Q));else Y.forEach((Q)=>Q())},G=()=>{let Q=L9();if(Q)Y.add(Q);if(Z){let q=F9(J);try{$=X()}finally{V9(q)}Z=!1}return $};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function gX(X,$={}){let Z,Y=!1,J=()=>{if(Y)return;if(Z)Z(),Z=void 0;let G=F9(J);try{let Q=X();Z=typeof Q==="function"?Q:void 0}finally{V9(G)}};if($.immediate!==!1)J();return()=>{if(Y=!0,Z)Z()}}function T9(X){aZ(X)}function M9(X){N9.push(X)}function k9(X){xX.push(X)}function
|
|
3864
|
+
`}function L9(){return o1}function F9(X){let $=o1;return sZ.push(X),o1=X,$}function V9(X){sZ.pop(),o1=X}function A9(){return vX>0}function R9(X){O9.add(X)}function aZ(X){vX++;try{X()}finally{if(vX--,vX===0){let $=[...O9];O9.clear();for(let Z of $)Z()}}}function tZ(X){let $=o1;o1=null;try{return X()}finally{o1=$}}var o1=null,sZ,vX=0,O9;var eZ=E(()=>{sZ=[],O9=new Set});function D1(X){let $=X,Z=new Set,Y=new Set,J=()=>{let G=L9();if(G)Y.add(G);return $};return J.set=(G)=>{if(!Object.is(G,$)){let Q=$;if($=G,Z.forEach((q)=>q($,Q)),A9())Y.forEach((q)=>R9(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 fX(X){let $,Z=!0,Y=new Set,J=()=>{if(!Z)if(Z=!0,A9())Y.forEach((Q)=>R9(Q));else Y.forEach((Q)=>Q())},G=()=>{let Q=L9();if(Q)Y.add(Q);if(Z){let q=F9(J);try{$=X()}finally{V9(q)}Z=!1}return $};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function gX(X,$={}){let Z,Y=!1,J=()=>{if(Y)return;if(Z)Z(),Z=void 0;let G=F9(J);try{let Q=X();Z=typeof Q==="function"?Q:void 0}finally{V9(G)}};if($.immediate!==!1)J();return()=>{if(Y=!0,Z)Z()}}function T9(X){aZ(X)}function M9(X){N9.push(X)}function k9(X){xX.push(X)}function hw(){XY(N9,"onMount",xX)}function uw(){XY(xX,"onDestroy")}function XY(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 dw(){return{mount:N9.length,destroy:xX.length}}function hX(X){return typeof X==="function"&&X._isSignal===!0}function uX(X){return typeof X==="function"&&X._isDerived===!0}function I9(X){if(hX(X)||uX(X))return X();return X}function dX(X){return tZ(X)}function mw(X,$){let Z=typeof X==="function"?X:()=>X,Y=D1([]),J=fX(()=>Y().reduce((q,K)=>$(q,K.action),Z())),G=!1;return gX(()=>{if(Z(),!G){G=!0;return}if(dX(()=>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 N9,xX;var mX=E(()=>{eZ();N9=[],xX=[]});var ZY={};o(ZY,{useOptimistic:()=>mw,untrack:()=>I9,state:()=>D1,runMountCallbacks:()=>hw,runDestroyCallbacks:()=>uw,pendingLifecycleCounts:()=>dw,peek:()=>dX,onMount:()=>M9,onDestroy:()=>k9,isSignal:()=>hX,isDerived:()=>uX,generateSignalsRuntimeDev:()=>E9,generateSignalsRuntime:()=>$Y,effect:()=>gX,derived:()=>fX,default:()=>cw,batch:()=>T9});function $Y(){let X=lw(E9());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 lw(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 E9(){return`
|
|
3865
3865
|
// STX Signals Runtime (Development Build)
|
|
3866
3866
|
console.log('[stx] signals runtime loading');
|
|
3867
3867
|
// Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
|
|
@@ -11827,22 +11827,22 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
11827
11827
|
}
|
|
11828
11828
|
}
|
|
11829
11829
|
})();
|
|
11830
|
-
`}var
|
|
11830
|
+
`}var cw;var YY=E(()=>{mX();a0();mX();cw={state:D1,derived:fX,effect:gX,batch:T9,onMount:M9,onDestroy:k9,isSignal:hX,isDerived:uX,untrack:I9,peek:dX,generateSignalsRuntime:$Y,generateSignalsRuntimeDev:E9}});var D9={};o(D9,{templateCache:()=>JY,readFileCached:()=>pw,invalidateFileCacheByDir:()=>nw,invalidateFileCache:()=>iw,hashFilePath:()=>b7,getCachedSignalsRuntime:()=>sw,getCachedRouterScript:()=>aw,clearDevCaches:()=>tw,checkCache:()=>ew,cacheTemplate:()=>Xz,__setSignalsGeneratorsForTest:()=>ow});import y1 from"fs";import E5 from"path";async function pw(X){let Z;for(let Y=0;Y<3;Y++)try{let G=(await y1.promises.stat(X)).mtime.getTime(),Q=s1.get(X);if(Q&&Q.mtime===G)return Q.content;let q=await Bun.file(X).text(),U=(await y1.promises.stat(X)).mtime.getTime();if(U!==G)continue;return s1.set(X,{content:q,mtime:U}),q}catch(J){Z=J;break}throw s1.delete(X),Error(`File not found: ${X}${Z?` (${Z.message})`:""}`)}function iw(X){s1.delete(X)}function nw(X){for(let $ of s1.keys())if($.startsWith(X))s1.delete($)}function ow(X){GY=X}async function sw(X=!1){let $=GY??await Promise.resolve().then(() => (YY(),ZY));if(X)return $.generateSignalsRuntimeDev();if(lX===null)lX=$.generateSignalsRuntime();return lX}async function aw(){if(cX===null){let{getRouterScript:X}=await Promise.resolve().then(() => (h1(),Y2));cX=X()}return cX}function tw(){s1.clear(),qY(),lX=null,rw=null,cX=null}function QY(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 ew(X,$){try{if(!$.cachePath)return null;let Z=E5.resolve($.cachePath),Y=E5.join(Z,`${b7(X)}.html`),J=E5.join(Z,`${b7(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!==QY($))return null;if((await y1.promises.stat(X)).mtime.getTime()>Q.mtime)return null;for(let K of Q.dependencies)if(await i(K)){if((await y1.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 Xz(X,$,Z,Y){try{if(!Y.cachePath)return;let J=E5.resolve(Y.cachePath);await y1.promises.mkdir(J,{recursive:!0});let G=E5.join(J,`${b7(X)}.html`),Q=E5.join(J,`${b7(X)}.meta.json`),q=await y1.promises.stat(X);await Bun.write(G,$);let K={sourcePath:X,mtime:q.mtime.getTime(),dependencies:Array.from(Z),cacheVersion:Y.cacheVersion,optionsSignature:QY(Y),generatedAt:Date.now()};await Bun.write(Q,JSON.stringify(K,null,2)),JY.set(X,{output:$,mtime:q.mtime.getTime(),dependencies:Z})}catch(J){console.warn(`Failed to cache template ${X}:`,J)}}function b7(X){return new Bun.CryptoHasher("sha1").update(X).digest("hex").substring(0,$z)}var JY,s1,lX=null,rw=null,GY=null,cX=null,$z=16;var y9=E(()=>{R0();JY=new Map,s1=new Map});function KY(X){return X.includes("data-stx-runtime")}function UY(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 b9(X,$){let Z=X.indexOf("<script"),Y=X.search(/<!doctype\b/i);if(Z!==-1&&(Y===-1||Z>Y))return X.slice(0,Z)+$+`
|
|
11831
11831
|
`+X.slice(Z);let J=/<head\b[^>]*>/i.exec(X);if(J){let Q=J.index+J[0].length;return`${X.slice(0,Q)}
|
|
11832
11832
|
${$}${X.slice(Q)}`}if(X.includes("</head>")){let Q=X.indexOf("</head>");return X.slice(0,Q)+$+`
|
|
11833
11833
|
`+X.slice(Q)}if(y7(X))return PX(X,(Q)=>`${Q}
|
|
11834
11834
|
${$}`);return`${$}
|
|
11835
|
-
${X}`}async function pX(X,$){if(X.includes("data-stx-runtime")||X.includes("window.stx.state")||X.includes("STX Signals Runtime"))return X;if($.buildMode==="serve")return b9(X,'<script data-stx-runtime src="/_stx/runtime.js"></script>');if($.buildMode==="compile")return b9(X,'<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>');let{getCachedSignalsRuntime:Z}=await Promise.resolve().then(() => (y9(),D9)),Y=await Z($.debug);return b9(X,`<script data-stx-scoped data-stx-runtime>${Y}</script>`)}function
|
|
11835
|
+
${X}`}async function pX(X,$){if(X.includes("data-stx-runtime")||X.includes("window.stx.state")||X.includes("STX Signals Runtime"))return X;if($.buildMode==="serve")return b9(X,'<script data-stx-runtime src="/_stx/runtime.js"></script>');if($.buildMode==="compile")return b9(X,'<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>');let{getCachedSignalsRuntime:Z}=await Promise.resolve().then(() => (y9(),D9)),Y=await Z($.debug);return b9(X,`<script data-stx-scoped data-stx-runtime>${Y}</script>`)}function Zz(X){return/<[a-z][^>]*?\sx-tooltip\s*=/i.test(X)}function WY(X){if(X.includes("data-stx-tooltip-runtime")||!Zz(X))return X;let $=`<script data-stx-scoped data-stx-tooltip-runtime>${H9()}</script>`,Z=X.lastIndexOf("</body>");if(Z===-1)return`${X}
|
|
11836
11836
|
${$}`;return`${X.slice(0,Z)}${$}
|
|
11837
11837
|
${X.slice(Z)}`}async function wY(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 iZ($?.pagesDir);if(K.length>0)q.ownedRoutes=K}catch{}if(Object.keys(q).length>0)Y=`<script>window.__stxRouterConfig=${rZ(q)};</script>
|
|
11838
11838
|
`}let{getCachedRouterScript:J}=await Promise.resolve().then(() => (y9(),D9)),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+`
|
|
11839
|
-
</body>`+X.slice(Q+7)}var iX=E(()=>{nZ();_9()});var aX={};o(aX,{scanScriptTags:()=>OY,rewriteStxImportSpecifiers:()=>AY,processSignals:()=>f9,processScriptSetup:()=>FY,preEvalLiteralReactiveIfs:()=>v9,parseLoopExpression:()=>C9,hasSignalsSyntax:()=>sX,findMarkupIndexOutsideScripts:()=>rX,extractExports:()=>VY,convertSignalLoopsToAttributes:()=>x9,convertSignalDirectivesToAttributes:()=>P9});function OY(X,$={}){let Z=[];for(let Y of MX(X,R1)){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 C9(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 sX(X){return z2(X)}function
|
|
11840
|
-
`)}else{if(!BY(_,Z,$,q(w)))continue;R=nX(Y(A),"@if",_)}W.push({start:w,end:L,replacement:R}),K.lastIndex=L}for(let w=W.length-1;w>=0;w--){let{start:z,end:B,replacement:j}=W[w];G=G.substring(0,z)+j+G.substring(B)}return G}return Y(X)}function
|
|
11839
|
+
</body>`+X.slice(Q+7)}var iX=E(()=>{nZ();_9()});var aX={};o(aX,{scanScriptTags:()=>OY,rewriteStxImportSpecifiers:()=>AY,processSignals:()=>f9,processScriptSetup:()=>FY,preEvalLiteralReactiveIfs:()=>v9,parseLoopExpression:()=>C9,hasSignalsSyntax:()=>sX,findMarkupIndexOutsideScripts:()=>rX,extractExports:()=>VY,convertSignalLoopsToAttributes:()=>x9,convertSignalDirectivesToAttributes:()=>P9});function OY(X,$={}){let Z=[];for(let Y of MX(X,R1)){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 C9(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 sX(X){return z2(X)}function Jz(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 Gz(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 Qz(X){if(!/[:@]for\s*=/.test(X)&&!/\bx-for\s*=/.test(X))return[];let $=new RegExp(`<([a-zA-Z][\\w-]*)\\b(${S9})>`,"iy"),Z=/(?:^|\s)(?::for|@for|x-for)\s*=\s*(?:"([^"]*)"|'([^']*)')/i,Y=MX(X,(G,Q)=>{$.lastIndex=Q;let q=$.exec(G);if(!q||q.index!==Q||!Z.test(q[2]))return-1;return $.lastIndex}),J=[];for(let G of Y){$.lastIndex=0;let Q=$.exec(G.token);if(!Q)continue;let q=Q[2].match(Z),K=C9(q?.[1]??q?.[2]??""),U=[K.itemVar,K.indexVar].filter(Boolean);if(U.length===0)continue;let W=Q[1],z=/\/\s*>$/.test(G.token)||oX.has(W.toLowerCase())?G.end:LY(X,G.start,W,G.end);if(z!==-1)J.push({start:G.start,end:z,vars:new Set(U)})}return J}function qz(X){return X.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function BY(X,$,Z,Y){if(!X)return!1;let J=qz(X),G=!1,Q=!1,q=!1,K=/([a-zA-Z_$][\w$]*)/g,U;while((U=K.exec(J))!==null){let B=U[1];if(J.slice(0,U.index).trimEnd().endsWith("."))continue;if(jY.has(B))continue;if($.has(B)||Y?.has(B))G=!0;else if(Z&&B in Z)Q=!0}let W=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,w;while((w=W.exec(J))!==null){let B=w[1];if(J.slice(0,w.index).trimEnd().endsWith("."))continue;if(jY.has(B)||Z&&B in Z)continue;q=!0}return(G||q)&&!Q}function nX(X,$,Z){let Y=Z===void 0?` ${$}`:` ${$}="${Z.replace(/"/g,""")}"`,J=X.trim(),G=J.match(HY);if(G&&Kz(G[3],G[1])){let[,Q,q,K]=G;return`<${Q}${q}${Y}>${K}</${Q}>`}return`<template${Y}>${J}</template>`}function Kz(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 P9(X,$){let Z=Gz(X);function Y(J){let G=J,Q=Qz(J),q=(w)=>{let z=new Set;for(let B of Q)if(w>B.start&&w<B.end)for(let j of B.vars)z.add(j);return z},K=/@if\s*\(/g,U,W=[];while((U=K.exec(G))!==null){let w=U.index,z=w+U[0].length,B=1,j=z;while(j<G.length&&B>0){if(G[j]==="(")B++;else if(G[j]===")")B--;j++}if(B!==0)continue;let _=G.substring(z,j-1).trim(),H=j,O=1,L=H,F=/@(if\s*\(|endif)/g;F.lastIndex=H;let V;while((V=F.exec(G))!==null)if(V[1].startsWith("if"))O++;else if(V[1]==="endif"){if(O--,O===0){L=V.index+V[0].length;break}}if(O!==0)continue;let A=G.substring(H,L-6).trim(),R;if(Jz(A)){let N=D7(G.substring(w,L));if(N.length===0)continue;let T=N[0].branches.filter((I)=>I.type!=="else"),k=q(w);if(!(T.length>0&&T.every((I)=>BY(I.condition,Z,$,k))))continue;R=N[0].branches.map((I)=>{let C=Y(I.content);if(I.type==="elseif")return nX(C,"@else-if",I.condition??"");if(I.type==="else")return nX(C,"@else");return nX(C,"@if",I.condition??"")}).join(`
|
|
11840
|
+
`)}else{if(!BY(_,Z,$,q(w)))continue;R=nX(Y(A),"@if",_)}W.push({start:w,end:L,replacement:R}),K.lastIndex=L}for(let w=W.length-1;w>=0;w--){let{start:z,end:B,replacement:j}=W[w];G=G.substring(0,z)+j+G.substring(B)}return G}return Y(X)}function Uz(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 LY(X,$,Z,Y){if(oX.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)||oX.has(J)))q++}K=z+1}return-1}function wz(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 Wz.test(G)}function v9(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=Uz(_);if(L===void 0)continue;let F=q.index,V=F+w.length,N=!!O||/\/\s*>$/.test(w)||oX.has(z.toLowerCase())?V:LY(X,F,z,V);if(N===-1)continue;if((j===":if"||j==="x-if"||j==="@if")&&wz(X,N)){G.lastIndex=V;continue}if(L===!0){let k=`<${z}${B}${H}${O}>`;Q.push({start:F,end:V,replacement:k});continue}Q.push({start:F,end:N,replacement:""}),G.lastIndex=N}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 x9(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=C9(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 T=[j.itemVar,j.indexVar].filter(Boolean);if(T.length)Q.push({start:K,end:O,vars:T})};if(j.iterable){let T=j.iterable.trim();if(T.startsWith("[")||T.startsWith("{")||T.startsWith("'")||T.startsWith('"')||T.startsWith("`")||/^-?\d/.test(T)){V();continue}let k=T.split(/[.[(]/)[0].trim(),M=$?k in $:!1,D=Q.some((I)=>K>I.start&&K<I.end&&I.vars.includes(k));if(k&&(M||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(HY),N;if(R){let[,T,k,M]=R;N=`<${T}${k} @for="${z}">${M}</${T}>`}else N=`<template @for="${z}">${A}</template>`;G.push({start:K,end:O,replacement:N})}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 zz(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]!==`
|
|
11841
11841
|
`)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]!==`
|
|
11842
|
-
`)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 FY(X,$,Z){let Y=OY(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(m1(H.attrs))O=l1(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()}_${
|
|
11842
|
+
`)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 FY(X,$,Z){let Y=OY(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(m1(H.attrs))O=l1(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()}_${Yz++}`,{hasUserImports:q,bundleClientScript:K}=await a("stx/client-script-bundler",()=>Promise.resolve().then(() => (H7(),_7))),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)=>AY(V));let L=u0(O);U.push(`// \u2500\u2500 merged signal script #${H+1} \u2500\u2500
|
|
11843
11843
|
${L}`)}let W=U.join(`
|
|
11844
11844
|
|
|
11845
|
-
`);W=
|
|
11845
|
+
`);W=zz(W);let w=VY(W),z=w.split(",").map((H)=>H.trim()).filter(Boolean),B=VX(W,Z),j=`
|
|
11846
11846
|
<script data-stx-scoped>
|
|
11847
11847
|
function ${Q}() {
|
|
11848
11848
|
${F5("const",z)}
|
|
@@ -11856,12 +11856,12 @@ if(window.stx)window.stx._latestSetup=${Q};
|
|
|
11856
11856
|
`)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(":"),N=(A>=0?V.slice(A+1).trim():V).split(/[\s=]/)[0];if(N&&!Y.has(N))Z.push(N),Y.add(N)});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 f9(X,$,Z,Y){if(!sX(X))return X;let J=X;if($.skipSignalsRuntime)return J;let{output:G,setupCode:Q}=await FY(J,Z,Y);if(J=G,J=await pX(J,$),Q){let W=rX(J,/<\/head>/i),w=W===-1?rX(J,/<body[^>]*>/i):-1;if(W!==-1)J=`${J.slice(0,W)}${Q}
|
|
11857
11857
|
${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)}
|
|
11858
11858
|
${Q}${J.slice(B)}`}else J=`${J}
|
|
11859
|
-
${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=rX(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 rX(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 AY(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 _Y;return`var ${$.join(", ")}; ${_Y}`}var
|
|
11860
|
-
`)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
|
|
11859
|
+
${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=rX(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 rX(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 AY(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 _Y;return`var ${$.join(", ")}; ${_Y}`}var Yz=0,S9=`(?:"[^"]*"|'[^']*'|[^>"'])*`,HY,jY,oX,Wz,_Y="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var S7=E(()=>{A7();CX();a0();i$();R0();iX();c1();B7();HY=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;jY=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"]);oX=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);Wz=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import jz from"fs";import h from"path";function _z(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 RY(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function Hz(X){return/\bjs\b/.test(X)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test(X)}function m1(X){return!Hz(X)}function l1(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 Oz(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]!==`
|
|
11860
|
+
`)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 Lz(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 Fz(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 Vz(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 Lz(q)){let U=K.trim();if(!U||U.startsWith("..."))continue;let W=Fz(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 X8(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 Az(X){return X==="visible"||X==="idle"||X==="interaction"||X.startsWith("media:")}function Rz(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 Nz(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 a1(X,$,Z,Y,J,G,Q,q=new Set,K){let{extractVariables:U}=await a("stx/variable-extractor",()=>Promise.resolve().then(() => (E7(),bX))),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"&&Az(z)?z:"";try{let j=(S)=>S.split("-").map((f)=>f.charAt(0).toUpperCase()+f.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 f of S)if(L.has(f)){O=L.get(f);break}}let F=[];if(!O){let S=[`${H}.stx`,`${j(H)}.stx`,`${_(H)}.stx`],f=[...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 f1=[...new Set(d.map((K0)=>{if(!K0)return K0;return h.isAbsolute(K0)?K0:h.resolve(P0,K0)}))];d.length=0,d.push(...f1);let L1=`${H}\x00${G}\x00${f1.join("\x00")}`,w5=eX.get(L1);if(w5)if(await i(w5))O=w5;else eX.delete(L1);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 f){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 s5=8,z5=[{path:K0,depth:0}];while(z5.length>0&&!O){let q1=z5.pop();if(q1.depth>=s5)continue;let e7;try{e7=r.readdirSync(q1.path,{withFileTypes:!0})}catch{continue}for(let XX of e7){if(!XX.isDirectory())continue;if(XX.name==="node_modules"||XX.name.startsWith("."))continue;let t3=h.join(q1.path,XX.name);for(let mK of f){let z$=h.join(t3,mK);if(F.push(z$),await i(z$)){O=z$;break}}if(O)break;z5.push({path:t3,depth:q1.depth+1})}}}catch{}if(O)break}if(O)eX.set(L1,O)}if(!O||!await i(O)){let S=F.length>0?`
|
|
11861
11861
|
Searched paths:
|
|
11862
11862
|
${F.map((f)=>` - ${f}`).join(`
|
|
11863
|
-
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${X}']${S}`}K.add(O);let V;if(tX.has(O))V=tX.get(O);else try{V=await Bun.file(O).text(),tX.set(O,V)}catch(S){return`[Error loading component: ${S instanceof Error?S.message:String(S)}]`}let A=new Set(["__originalFilePath","__importedComponents",AX,"__stx_client_signal_names"]),R={};for(let[S,f]of Object.entries(J))if(!S.startsWith("__")||A.has(S))R[S]=f;let{extractSlotContent:N}=await a("stx/slots",()=>Promise.resolve().then(() => (z9(),w9))),T=N(Z),k={};if(T.defaultSlot?.trim())k.default=T.defaultSlot;for(let[S,f]of T.namedSlots)k[S]=f.content;let M={...R,...$,props:$,slot:Z,$slots:k,__processedComponents:w,__sections:{},__stx_signals_gate:w1(V)||
|
|
11864
|
-
`)}`}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(() => (z9(),w9))),{defaultSlot:T0,namedSlots:o0}=T;W0=await e(W0,T0,o0,M);let O1=y.some((S)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(S)),W5=
|
|
11863
|
+
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${X}']${S}`}K.add(O);let V;if(tX.has(O))V=tX.get(O);else try{V=await Bun.file(O).text(),tX.set(O,V)}catch(S){return`[Error loading component: ${S instanceof Error?S.message:String(S)}]`}let A=new Set(["__originalFilePath","__importedComponents",AX,"__stx_client_signal_names"]),R={};for(let[S,f]of Object.entries(J))if(!S.startsWith("__")||A.has(S))R[S]=f;let{extractSlotContent:N}=await a("stx/slots",()=>Promise.resolve().then(() => (z9(),w9))),T=N(Z),k={};if(T.defaultSlot?.trim())k.default=T.defaultSlot;for(let[S,f]of T.namedSlots)k[S]=f.content;let M={...R,...$,props:$,slot:Z,$slots:k,__processedComponents:w,__sections:{},__stx_signals_gate:w1(V)||Rz(Z)};Vz(V,M);let D=V,I=EX(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,g=null;if(v){let S=_z({props:$,slot:Z,buildMode:Q.buildMode??"",skipEventDirectives:Q.skipEventDirectives===!0});if(S!==null){x=`${O}\x00${S}`;let f=g9.get(x);if(f){for(let m of f.dependencies)K.add(m);return f.output}g=new Set(K)}}for(let S of b){let f=S[1]||"",m=S[2]||"",d=f.includes("server");if(m1(f)&&m.trim())m=l1(m);if(d&&m)try{await U(m,M,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=kX(_0,M);let P0=f.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");y.push(`<script${P0}>${_0}</script>`)}}let l=V.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),c=l?l[1]:"",D0=l?l[2]:"",y0="",c0=c&&/\bscoped\b/i.test(c);if(l)y0=`<style${c}>${D0}</style>`;let W0=D;if(W0=W0.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),l)W0=W0.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let S=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,f=[];if(W0=W0.replace(S,(m,d)=>{let Y0=d.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(Y0)f.push(`<style${Y0[1]}>${Y0[2]}</style>`);return""}),W0=W0.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),f.length>0)y0=`${y0}${f.join(`
|
|
11864
|
+
`)}`}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(() => (z9(),w9))),{defaultSlot:T0,namedSlots:o0}=T;W0=await e(W0,T0,o0,M);let O1=y.some((S)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(S)),W5=Nz(y),n=Array.isArray(M.__stx_client_signal_names)?M.__stx_client_signal_names:[];if(W5.length>0||n.length>0)M.__stx_client_signal_names=[...new Set([...n,...W5])];let t={...Q,_rootComponentsDir:Q._rootComponentsDir||Q.componentsDir,componentsDir:h.dirname(O),skipSignalsRuntime:!0,skipEventDirectives:O1||y.length===0,defaultLayout:void 0};M.__stxProcessingDepth=(J.__stxProcessingDepth||0)+1;let q0=await N0(W0,M,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,"_")}_${++Bz}_${Math.random().toString(36).slice(2,8)}`,P=q0;if(O1){let S="";if(Object.keys($).length>0)try{S=` data-stx-props="${RY(JSON.stringify($))}"`}catch{}let f=B?` stx-hydrate="${RY(B)}"`:"";P=`<div data-stx-scope="${j0}"${S}${f}>${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=LX(Q1,{filePath:O,projectRoot:process.cwd()}),P0=p0.code,s0=FX(p0.styles);P0=A5(P0).code;let{hasUserImports:f1,bundleClientScript:L1}=await a("stx/client-script-bundler",()=>Promise.resolve().then(() => (H7(),_7)));if(f1(P0))P0=await L1(P0,O,{projectRoot:process.cwd(),minify:Q.buildMode==="compile"});let{rewriteStxImportSpecifiers:w5}=await a("stx/signal-processing",()=>Promise.resolve().then(() => (S7(),aX)));P0=P0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(q1,e7)=>w5(e7));let K0=u0(P0),r=Oz(K0),h0=`function(__scopeId) {
|
|
11865
11865
|
${F5("const",[...w2,...r],K0)}
|
|
11866
11866
|
const __scope = window.stx._scopes = window.stx._scopes || {};
|
|
11867
11867
|
const __scopeVars = __scope[__scopeId] = __scope[__scopeId] || {};
|
|
@@ -11896,7 +11896,7 @@ finally {
|
|
|
11896
11896
|
`+y0}else{if(y0)P+=`
|
|
11897
11897
|
`+y0;if(y.length>0){let S=M.__stx_event_bindings||[],f=F7(M),m=await Promise.all(y.map(async(d)=>{let Y0=d.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!Y0)return d;return await V7(Y0[1],{eventBindings:S,templateContent:P,filePath:O,projectRoot:process.cwd(),serverData:f})}));P+=`
|
|
11898
11898
|
`+m.join(`
|
|
11899
|
-
`),M.__stx_event_bindings=[]}}if(c0){let S=IX(P,O);if(S.hasScoped)P=S.html}if(x&&g)g9.set(x,{output:P,dependencies:[...K].filter((S)=>!g.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 h9(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 u9(X,$,Z,Y){let J=await
|
|
11899
|
+
`),M.__stx_event_bindings=[]}}if(c0){let S=IX(P,O);if(S.hasScoped)P=S.html}if(x&&g)g9.set(x,{output:P,dependencies:[...K].filter((S)=>!g.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 h9(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 u9(X,$,Z,Y){let J=await Tz(X,$,Z,Y);if(J===null)return null;let G=h9(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(h9(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 Tz(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=h9(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=jz.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 NY(X,$,Z){let Y=0,J="",G="";try{if(typeof $==="number"&&$>=0){let Q=X.split(`
|
|
11900
11900
|
`),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(`
|
|
11901
11901
|
`);break}}else if(Z){let Q=X.indexOf(Z);if(Q>=0)return NY(X,Q)}}catch{}return{lineNumber:Y,lineContent:J,context:G}}function w0(X,$,Z,Y,J,G){let{lineNumber:Q,context:q}=NY(Y,J,G),K=Z.split("/").pop(),U=0;if(typeof J==="number"&&J>=0&&Y){let w=Y.lastIndexOf(`
|
|
11902
11902
|
`,Math.max(0,J-1));U=J-(w+1)+1}let W="";if(Q>0)W+=`
|
|
@@ -11911,8 +11911,8 @@ ${X0.yellow}${X0.bold}Message:${X0.reset} ${$}
|
|
|
11911
11911
|
`,q)W+=`
|
|
11912
11912
|
${X0.blue}${X0.bold}Context:${X0.reset}
|
|
11913
11913
|
${X0.dim}${q}${X0.reset}
|
|
11914
|
-
`;return W}function qY(){tX.clear(),eX.clear(),g9.clear()}var tX,eX,g9,
|
|
11915
|
-
`||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=j7(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 MY(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}),j7(X.trim(),J)}var d9=E(()=>{R0()});function
|
|
11914
|
+
`;return W}function qY(){tX.clear(),eX.clear(),g9.clear()}var tX,eX,g9,Bz=0,X0;var R0=E(()=>{A7();t$();Z1();a0();M5();$8();V1();Y9();J9();B7();OZ();E7();tX=new p1(500),eX=new p1(1000),g9=new p1(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 TY(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===`
|
|
11915
|
+
`||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=j7(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 MY(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}),j7(X.trim(),J)}var d9=E(()=>{R0()});function Iz(X){if(Mz.set(X.name,X),X.client)kz.set(X.name,X.client)}function Z8(X){return Iz(X),{name:X.name,hasEndTag:X.hasEndTag??!0,description:X.description,handler:async(Z,Y,J,G)=>{let Q=Ez(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 Ez(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 Mz,kz;var m9=E(()=>{Mz=new Map,kz=new Map});function l9(X,$=D5,Z={},Y){return $.sort((J,G)=>J-G).map((J)=>{return`${P7(X,{...Z,w:J,fm:Y})} ${J}w`}).join(", ")}function kY(X,$,Z=Dz,Y={},J){return Z.sort((G,Q)=>G-Q).map((G)=>{let Q=Math.round($*G);return`${P7(X,{...Y,w:Q,dpr:G,fm:J})} ${G}x`}).join(", ")}function c9(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 P7(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 p9(X){return yz[X]||"application/octet-stream"}var D5,Dz,C7,yz;var i9=E(()=>{D5=[320,480,640,768,1024,1280,1536,1920,2560],Dz=[1,1.5,2,3],C7=["avif","webp","jpeg"],yz={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function Sz(){try{return await import("ts-images")}catch{return null}}async function Cz(X,$={}){let Z={...bz,...$},Y=await Sz();if(Y)try{return await Pz(X,Z,Y)}catch(J){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${J}`)}return vz(X,Z)}async function Pz(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 vz(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 IY(X,$,Z={}){let Y=Z.transitionDuration||300,J=Z.easing||"ease-out";return`
|
|
11916
11916
|
#${X} {
|
|
11917
11917
|
--stx-img-transition-duration: ${Y}ms;
|
|
11918
11918
|
--stx-img-transition-easing: ${J};
|
|
@@ -11929,7 +11929,7 @@ ${X0.dim}${q}${X0.reset}
|
|
|
11929
11929
|
#${X}.stx-img-loaded img {
|
|
11930
11930
|
opacity: 1;
|
|
11931
11931
|
}
|
|
11932
|
-
`.trim()}async function EY(X,$={}){let Z=`${X}:${JSON.stringify($)}`;if(n9.has(Z))return n9.get(Z);let Y=await
|
|
11932
|
+
`.trim()}async function EY(X,$={}){let Z=`${X}:${JSON.stringify($)}`;if(n9.has(Z))return n9.get(Z);let Y=await Cz(X,$);return n9.set(Z,Y),Y}var bz,r9,n9;var DY=E(()=>{bz={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},r9=`
|
|
11933
11933
|
.stx-img-placeholder {
|
|
11934
11934
|
position: relative;
|
|
11935
11935
|
overflow: hidden;
|
|
@@ -11958,8 +11958,8 @@ ${X0.dim}${q}${X0.reset}
|
|
|
11958
11958
|
filter: blur(0);
|
|
11959
11959
|
transform: scale(1);
|
|
11960
11960
|
}
|
|
11961
|
-
`.trim();n9=new Map});import{createHash as bY}from"crypto";import{readFile as fz,stat as SY}from"fs/promises";async function S0(X){try{let $=await fz(X);return bY("sha256").update($).digest("hex").slice(0,16)}catch{return""}}function yY(X){return bY("sha256").update(X).digest("hex").slice(0,16)}function Y8(X,$){let Z=JSON.stringify($,Object.keys($).sort());return`${yY(X)}-${yY(Z)}`}async function o9(X){try{return(await SY(X)).mtimeMs}catch{return 0}}async function k0(X){try{return await SY(X),!0}catch{return!1}}var t1=()=>{};import{mkdir as gz,readFile as hz,writeFile as uz,readdir as rR,rm as dz,stat as oR}from"fs/promises";import{join as PY,dirname as mz}from"path";async function lz(X){try{await gz(X,{recursive:!0})}catch{}}function vY(X,$,Z){return PY(X,Z,`${$}.json`)}async function CY(X,$,Z){if((Date.now()-X.createdAt)/86400000>Z)return!1;if(await o9($)!==X.srcMtime)return!1;return!0}async function J8(X,$,Z,Y=s9){if(!Y.enabled)return null;let J=Y8(X,$),G=y5.get(J);if(G){if(await CY(G,X,Y.maxAge))return G.lastAccessedAt=Date.now(),G.data;y5.delete(J)}let Q=vY(Y.directory,J,Z);if(await k0(Q))try{let q=await hz(Q,"utf-8"),K=JSON.parse(q);if(await CY(K,X,Y.maxAge))return K.lastAccessedAt=Date.now(),y5.set(J,K),K.data}catch{}return null}async function G8(X,$,Z,Y,J=s9){if(!J.enabled)return;let G=Y8(X,$),Q=await S0(X),q=await o9(X),K={key:G,src:X,srcHash:Q,srcMtime:q,optionsHash:Y8("",$),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};y5.set(G,K);let U=vY(J.directory,G,Y);try{await lz(mz(U)),await uz(U,JSON.stringify(K,null,2))}catch(W){console.warn(`[stx-media] Failed to write cache: ${W}`)}}async function Q8(X,$=s9){if(X==="all")y5.clear();else y5.clear();let Z=X==="all"?["image","video"]:[X];for(let Y of Z){let J=PY($.directory,Y);try{await dz(J,{recursive:!0,force:!0})}catch{}}}var y5,s9;var a9=E(()=>{t1();y5=new Map,s9={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class K8{config;constructor(X={}){this.config={...cz,...X}}async get(X,$){return J8(X,$,"image",this.config)}async set(X,$,Z){return G8(X,$,Z,"image",this.config)}async clear(){return Q8("image",this.config)}updateConfig(X){this.config={...this.config,...X}}}function t9(X){if(!q8)q8=new K8(X);else if(X)q8.updateConfig(X);return q8}async function U8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return t9(Y).get(X,$)}async function W8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return t9(J).set(X,$,Z)}async function xY(){return t9().clear()}var cz,q8=null;var e9=E(()=>{a9();cz={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as pz,basename as iz,extname as nz,join as rz}from"path";import{mkdir as oz}from"fs/promises";async function X4(){try{return await import("ts-images")}catch{return null}}function fY(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 sz(X,$){let Z=$?fY($):fY("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 gY(X,$,Z){let Y=await X4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:X,processed:!1};let J=await U8(X,$,Z);if(J)return J;try{let G=pz(X);if(!await k0(G))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let Q=sz(Z,$.preset),q=Z.outputDir||"dist/images",K=Z.baseUrl||"/images";await oz(q,{recursive:!0});let U=await S0(G),W=iz(X,nz(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 $4(G,$.transformations,Y);for(let j of w){let _=Q[j]||{},H=`${W}-${U}.${j}`,O=rz(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 W8(X,$,z,Z),z}catch(G){return{src:X,processed:!1,errors:[`Processing failed: ${G}`]}}}async function hY(X,$,Z,Y){let J=await X4();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 $4(X,$,Z){let Y=Z||await X4();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 uY=E(()=>{t1();e9()});import{resolve as az,basename as tz,extname as ez,join as Xj}from"path";import{mkdir as $j}from"fs/promises";async function Zj(){try{return await import("ts-images")}catch{return null}}async function dY(X,$,Z){let Y=await Zj();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=az(X);if(!await k0(J))return console.warn(`[stx-media] Source file not found: ${X}`),null;try{let G=$.responsiveWidths||Z.breakpoints||Yj,Q=$.formats||Z.defaultFormats||["avif","webp","jpeg"],q=Z.outputDir||"dist/images",K=Z.baseUrl||"/images";await $j(q,{recursive:!0});let U=await S0(J),W=tz(X,ez(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=Xj(q,O),F=`${K}/${O}`;try{let V=w[j]?.quality||80;if(await k0(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||Jj(G),z}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function Jj(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 mY(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 Yj;var lY=E(()=>{t1();Yj=[320,480,640,768,1024,1280,1536,1920]});var cY={};o(cY,{setCachedImageResult:()=>W8,processImage:()=>gY,optimizeImage:()=>hY,getCachedImageResult:()=>U8,generateSrcset:()=>mY,generateResponsiveVariants:()=>dY,clearImageCache:()=>xY,applyTransformations:()=>$4,ImageProcessorCache:()=>K8});var pY=E(()=>{uY();lY();e9()});async function Gj(){try{return await Promise.resolve().then(() => (pY(),cY))}catch(X){if(!iY)console.warn("[stx-media] Image processor not available, some features disabled:",X),iY=!0;return null}}async function w8(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return Uj(Y,Z)}if(Z.processedResult?.processed)return G4(X,Z.processedResult,$);if(Z.responsiveVariants)return sY(X,Z.responsiveVariants,$);let{src:J,alt:G,width:Q,height:q,sizes:K,widths:U=D5,dpr:W,formats:w=C7,quality:z=Z4,params:B={},placeholder:j="none",placeholderOptions:_={},lazy:H=!0,priority:O=!1,loading:L=O?"eager":j8,decoding:F=z8,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:N,referrerpolicy:T}=X,k=X.class,M=X.style,D=X.id,I=X.data||{},{isDev:C=!1,baseUrl:b=""}=$;if(C&&!$.optimize)return Kj(X);let y,v,x=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!O)try{y=await EY(J,{strategy:j,..._}),v=IY(x,y,_)}catch{}let g=W!==void 0&&Q!==void 0,l;if(g)l=qj(X,x,y,$);else l=await Qj(X,x,y,$);let c;if(O){let c0=w.includes("webp")?"webp":w[0],W0=l9(J,U,{...B,q:z},c0),e=typeof K==="object"?c9(K):K||"100vw";c=`<link rel="preload" as="image" imagesrcset="${W0}" imagesizes="${e}" />`}let D0=[];if(!nY&&j!=="none")D0.push(r9),nY=!0;if(v)D0.push(v);let y0=H?oY(x):void 0;return{html:l,preloadLink:c,css:D0.length>0?D0.join(`
|
|
11962
|
-
`):void 0,script:y0}}async function
|
|
11961
|
+
`.trim();n9=new Map});import{createHash as bY}from"crypto";import{readFile as xz,stat as SY}from"fs/promises";async function S0(X){try{let $=await xz(X);return bY("sha256").update($).digest("hex").slice(0,16)}catch{return""}}function yY(X){return bY("sha256").update(X).digest("hex").slice(0,16)}function Y8(X,$){let Z=JSON.stringify($,Object.keys($).sort());return`${yY(X)}-${yY(Z)}`}async function o9(X){try{return(await SY(X)).mtimeMs}catch{return 0}}async function k0(X){try{return await SY(X),!0}catch{return!1}}var t1=()=>{};import{mkdir as fz,readFile as gz,writeFile as hz,readdir as rR,rm as uz,stat as oR}from"fs/promises";import{join as PY,dirname as dz}from"path";async function mz(X){try{await fz(X,{recursive:!0})}catch{}}function vY(X,$,Z){return PY(X,Z,`${$}.json`)}async function CY(X,$,Z){if((Date.now()-X.createdAt)/86400000>Z)return!1;if(await o9($)!==X.srcMtime)return!1;return!0}async function J8(X,$,Z,Y=s9){if(!Y.enabled)return null;let J=Y8(X,$),G=y5.get(J);if(G){if(await CY(G,X,Y.maxAge))return G.lastAccessedAt=Date.now(),G.data;y5.delete(J)}let Q=vY(Y.directory,J,Z);if(await k0(Q))try{let q=await gz(Q,"utf-8"),K=JSON.parse(q);if(await CY(K,X,Y.maxAge))return K.lastAccessedAt=Date.now(),y5.set(J,K),K.data}catch{}return null}async function G8(X,$,Z,Y,J=s9){if(!J.enabled)return;let G=Y8(X,$),Q=await S0(X),q=await o9(X),K={key:G,src:X,srcHash:Q,srcMtime:q,optionsHash:Y8("",$),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};y5.set(G,K);let U=vY(J.directory,G,Y);try{await mz(dz(U)),await hz(U,JSON.stringify(K,null,2))}catch(W){console.warn(`[stx-media] Failed to write cache: ${W}`)}}async function Q8(X,$=s9){if(X==="all")y5.clear();else y5.clear();let Z=X==="all"?["image","video"]:[X];for(let Y of Z){let J=PY($.directory,Y);try{await uz(J,{recursive:!0,force:!0})}catch{}}}var y5,s9;var a9=E(()=>{t1();y5=new Map,s9={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class K8{config;constructor(X={}){this.config={...lz,...X}}async get(X,$){return J8(X,$,"image",this.config)}async set(X,$,Z){return G8(X,$,Z,"image",this.config)}async clear(){return Q8("image",this.config)}updateConfig(X){this.config={...this.config,...X}}}function t9(X){if(!q8)q8=new K8(X);else if(X)q8.updateConfig(X);return q8}async function U8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return t9(Y).get(X,$)}async function W8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return t9(J).set(X,$,Z)}async function xY(){return t9().clear()}var lz,q8=null;var e9=E(()=>{a9();lz={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as cz,basename as pz,extname as iz,join as nz}from"path";import{mkdir as rz}from"fs/promises";async function X4(){try{return await import("ts-images")}catch{return null}}function fY(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 oz(X,$){let Z=$?fY($):fY("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 gY(X,$,Z){let Y=await X4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:X,processed:!1};let J=await U8(X,$,Z);if(J)return J;try{let G=cz(X);if(!await k0(G))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let Q=oz(Z,$.preset),q=Z.outputDir||"dist/images",K=Z.baseUrl||"/images";await rz(q,{recursive:!0});let U=await S0(G),W=pz(X,iz(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 $4(G,$.transformations,Y);for(let j of w){let _=Q[j]||{},H=`${W}-${U}.${j}`,O=nz(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 W8(X,$,z,Z),z}catch(G){return{src:X,processed:!1,errors:[`Processing failed: ${G}`]}}}async function hY(X,$,Z,Y){let J=await X4();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 $4(X,$,Z){let Y=Z||await X4();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 uY=E(()=>{t1();e9()});import{resolve as sz,basename as az,extname as tz,join as ez}from"path";import{mkdir as Xj}from"fs/promises";async function $j(){try{return await import("ts-images")}catch{return null}}async function dY(X,$,Z){let Y=await $j();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=sz(X);if(!await k0(J))return console.warn(`[stx-media] Source file not found: ${X}`),null;try{let G=$.responsiveWidths||Z.breakpoints||Zj,Q=$.formats||Z.defaultFormats||["avif","webp","jpeg"],q=Z.outputDir||"dist/images",K=Z.baseUrl||"/images";await Xj(q,{recursive:!0});let U=await S0(J),W=az(X,tz(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=ez(q,O),F=`${K}/${O}`;try{let V=w[j]?.quality||80;if(await k0(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||Yj(G),z}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function Yj(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 mY(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 Zj;var lY=E(()=>{t1();Zj=[320,480,640,768,1024,1280,1536,1920]});var cY={};o(cY,{setCachedImageResult:()=>W8,processImage:()=>gY,optimizeImage:()=>hY,getCachedImageResult:()=>U8,generateSrcset:()=>mY,generateResponsiveVariants:()=>dY,clearImageCache:()=>xY,applyTransformations:()=>$4,ImageProcessorCache:()=>K8});var pY=E(()=>{uY();lY();e9()});async function Jj(){try{return await Promise.resolve().then(() => (pY(),cY))}catch(X){if(!iY)console.warn("[stx-media] Image processor not available, some features disabled:",X),iY=!0;return null}}async function w8(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return Kj(Y,Z)}if(Z.processedResult?.processed)return G4(X,Z.processedResult,$);if(Z.responsiveVariants)return sY(X,Z.responsiveVariants,$);let{src:J,alt:G,width:Q,height:q,sizes:K,widths:U=D5,dpr:W,formats:w=C7,quality:z=Z4,params:B={},placeholder:j="none",placeholderOptions:_={},lazy:H=!0,priority:O=!1,loading:L=O?"eager":j8,decoding:F=z8,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:N,referrerpolicy:T}=X,k=X.class,M=X.style,D=X.id,I=X.data||{},{isDev:C=!1,baseUrl:b=""}=$;if(C&&!$.optimize)return qj(X);let y,v,x=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!O)try{y=await EY(J,{strategy:j,..._}),v=IY(x,y,_)}catch{}let g=W!==void 0&&Q!==void 0,l;if(g)l=Qj(X,x,y,$);else l=await Gj(X,x,y,$);let c;if(O){let c0=w.includes("webp")?"webp":w[0],W0=l9(J,U,{...B,q:z},c0),e=typeof K==="object"?c9(K):K||"100vw";c=`<link rel="preload" as="image" imagesrcset="${W0}" imagesizes="${e}" />`}let D0=[];if(!nY&&j!=="none")D0.push(r9),nY=!0;if(v)D0.push(v);let y0=H?oY(x):void 0;return{html:l,preloadLink:c,css:D0.length>0?D0.join(`
|
|
11962
|
+
`):void 0,script:y0}}async function Gj(X,$,Z,Y){let{src:J,alt:G,width:Q,height:q,sizes:K,widths:U=D5,formats:W=C7,quality:w=Z4,params:z={},lazy:B=!0,priority:j=!1,loading:_=j?"eager":j8,decoding:H=z8,fetchpriority:O,objectFit:L,objectPosition:F,crossorigin:V,referrerpolicy:A}=X,R=X.class,N=X.style,T=X.data||{},k=typeof K==="object"?c9(K):K||"100vw",M=[];for(let C of W){let b=l9(J,U,{...z,q:w},C),y=p9(C);if(B&&!j)M.push(` <source type="${y}" data-srcset="${b}" data-sizes="${k}" />`);else M.push(` <source type="${y}" srcset="${b}" sizes="${k}" />`)}let D=Y4({src:P7(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:rY(R,Z),style:J4(N,L,F,Z),lazy:B&&!j,data:T}),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}">
|
|
11963
11963
|
<picture>
|
|
11964
11964
|
${M.join(`
|
|
11965
11965
|
`)}
|
|
@@ -11969,9 +11969,9 @@ ${M.join(`
|
|
|
11969
11969
|
${M.join(`
|
|
11970
11970
|
`)}
|
|
11971
11971
|
<img ${D} />
|
|
11972
|
-
</picture>`;return I}function
|
|
11972
|
+
</picture>`;return I}function Qj(X,$,Z,Y){let{src:J,alt:G,width:Q,height:q,dpr:K=[1,2,3],quality:U=Z4,params:W={},lazy:w=!0,priority:z=!1,loading:B=z?"eager":j8,decoding:j=z8,fetchpriority:_,objectFit:H,objectPosition:O,crossorigin:L,referrerpolicy:F}=X,V=X.class,A=X.style,R=X.data||{},N=typeof Q==="number"?Q:Number.parseInt(String(Q),10),T=kY(J,N,K,{...W,q:U}),k=Y4({src:P7(J,{...W,w:N,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:rY(V,Z),style:J4(A,H,O,Z),lazy:w&&!z,data:R}),M=w&&!z?`data-srcset="${T}"`:`srcset="${T}"`;if(Z){let D=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${$}" class="stx-img-placeholder" style="${D}">
|
|
11973
11973
|
<img ${k} ${M} />
|
|
11974
|
-
</div>`}return`<img ${$?`id="${$}" `:""}${k} ${M} />`}function
|
|
11974
|
+
</div>`}return`<img ${$?`id="${$}" `:""}${k} ${M} />`}function qj(X){let{src:$,alt:Z,width:Y,height:J,loading:G=j8,decoding:Q=z8,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 ${Y4({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:J4(j,K,U),id:_,data:H})} />`}}function Y4(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 rY(X,$){let Z=[];if(X)Z.push(X);if($)Z.push("stx-img-blur");return Z.join(" ")||""}function J4(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 oY(X){return`
|
|
11975
11975
|
(function() {
|
|
11976
11976
|
const container = document.getElementById('${X}');
|
|
11977
11977
|
if (!container) return;
|
|
@@ -12008,7 +12008,7 @@ ${M.join(`
|
|
|
12008
12008
|
|
|
12009
12009
|
observer.observe(container);
|
|
12010
12010
|
})();
|
|
12011
|
-
`.trim()}async function
|
|
12011
|
+
`.trim()}async function Kj(X,$){let Z=await Jj();if(!Z)return w8({...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 sY(X,G,$)}else{let G=await Z.processImage(X.src,X,Y);if(G.processed)return G4(X,G,$)}return w8({...X,process:!1},$)}async function G4(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 g=x.map((c)=>`${c.url} ${c.width}w`).join(", "),l=p9(v);if(Q&&!q)A.push(` <source type="${l}" data-srcset="${g}" />`);else A.push(` <source type="${l}" srcset="${g}" />`)}}let N=[];if(Q&&!q){if(N.push(`data-src="${e0(L)}"`),N.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),F)N.push(`data-srcset="${F}"`)}else if(N.push(`src="${e0(L)}"`),F)N.push(`srcset="${F}"`);N.push(`alt="${e0(Y)}"`);let T=J||$.originalWidth,k=G||$.originalHeight;if(T)N.push(`width="${T}"`);if(k)N.push(`height="${k}"`);if(!q)N.push(`loading="${Q?"lazy":"eager"}"`);if(N.push('decoding="async"'),q)N.push('fetchpriority="high"');if(W)N.push(`crossorigin="${W}"`);if(w)N.push(`referrerpolicy="${w}"`);let M=[];if(K)M.push(`object-fit: ${K}`);if(U)M.push(`object-position: ${U}`);if($.placeholder&&Q)M.push("opacity: 0; transition: opacity 300ms ease-out");if(B)M.push(B);if(M.length>0)N.push(`style="${M.join("; ")}"`);let D=[];if(z)D.push(z);if($.placeholder)D.push("stx-img-blur");if(D.length>0)N.push(`class="${D.join(" ")}"`);if(Q&&!q)N.push("data-stx-lazy");for(let[v,x]of Object.entries(_))N.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}">
|
|
12012
12012
|
<picture>
|
|
12013
12013
|
${A.join(`
|
|
12014
12014
|
`)}
|
|
@@ -12019,11 +12019,11 @@ ${A.join(`
|
|
|
12019
12019
|
`)}
|
|
12020
12020
|
<img ${N.join(" ")} />
|
|
12021
12021
|
</picture>`;let C=[];if($.placeholder)C.push(r9);let b=Q?oY(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(`
|
|
12022
|
-
`):void 0,script:b}}async function sY(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 G4(X,Y,Z)}var iY=!1,Z4=80,z8="async",j8="lazy",nY=!1;var aY=E(()=>{i9();DY()});function
|
|
12022
|
+
`):void 0,script:b}}async function sY(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 G4(X,Y,Z)}var iY=!1,Z4=80,z8="async",j8="lazy",nY=!1;var aY=E(()=>{i9();DY()});function Uj(){return Z8({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}=Wj(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||C7,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 w8(q,{isDev:K}),W=U.html;if(U.preloadLink)W=U.preloadLink+`
|
|
12023
12023
|
`+W;if(U.css)W+=`
|
|
12024
12024
|
<style>${U.css}</style>`;if(U.script)W+=`
|
|
12025
|
-
<script>${U.script}</script>`;return W},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function
|
|
12026
|
-
`)}async function N8(X,$,Z,Y,J){let G=await qJ();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let Q=YJ(X);if(!await k0(Q))return null;let q=await S0(Q),K=JJ(X,GJ(X)),U=e1(Z,`${K}-${q}-dash`);await A8(U,{recursive:!0});let W=$.length>0?$:KJ,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=e1(U,A.label);await A8(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(N){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${N}`)}}if(H.length===0)return null;let L=e1(U,"manifest.mpd"),F=
|
|
12025
|
+
<script>${U.script}</script>`;return W},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function Wj(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=wj(Y),G=Q4(J[0],Z)||"",Q=Q4(J[1],Z)||"",q={};if(J[2]){let K=Q4(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 wj(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 Q4(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 tY;var eY=E(()=>{m9();aY();i9();tY=Uj()});class _8{config;constructor(X={}){this.config={...zj,...X}}async get(X,$){return J8(X,$,"video",this.config)}async set(X,$,Z){return G8(X,$,Z,"video",this.config)}async clear(){return Q8("video",this.config)}updateConfig(X){this.config={...this.config,...X}}}function q4(X){if(!B8)B8=new _8(X);else if(X)B8.updateConfig(X);return B8}async function H8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return q4(Y).get(X,$)}async function O8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return q4(J).set(X,$,Z)}async function XJ(){return q4().clear()}var zj,B8=null;var K4=E(()=>{a9();zj={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as U4,basename as W4,extname as w4,join as L8}from"path";import{mkdir as z4}from"fs/promises";async function j4(){try{return await import("ts-videos")}catch{return null}}async function F8(X,$,Z,Y){let J=await j4();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let G=U4(X);if(!await k0(G))return null;await z4(Z,{recursive:!0});let Q=await S0(G),q=W4(X,w4(X)),K=$.format||"webp",U=$.timestamp||0,W=`${q}-poster-${Q}.${K}`,w=L8(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 V8(X,$,Z,Y){let J=await j4();if(!J)return[];try{let G=U4(X);if(!await k0(G))return[];await z4(Z,{recursive:!0});let Q=await S0(G),q=W4(X,w4(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||L8(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 $J(X,$,Z,Y){let J=await j4();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let G=U4(X);if(!await k0(G))return null;await z4(Z,{recursive:!0});let Q=await S0(G),q=W4(X,w4(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=L8(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:L8(Z,".temp")});if(!A||A.length===0)return null;try{let R=await import("ts-images"),N=w*B,T=O*j,k=await R.createSprite({images:A.map((M)=>M.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 B4=E(()=>{t1()});import{resolve as YJ,basename as JJ,extname as GJ,join as e1}from"path";import{mkdir as A8,writeFile as QJ}from"fs/promises";async function qJ(){try{return await import("ts-videos")}catch{return null}}async function R8(X,$,Z,Y,J){let G=await qJ();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let Q=YJ(X);if(!await k0(Q))return null;let q=await S0(Q),K=JJ(X,GJ(X)),U=e1(Z,`${K}-${q}-hls`);await A8(U,{recursive:!0});let W=$.length>0?$:KJ,w=J?.segmentDuration||6,j=(await new G.Input(Q).getInfo()).duration||0,_=[],H=0;for(let F of W){let V=e1(U,F.label);await A8(V,{recursive:!0});let A=`${F.label}.m3u8`,R=e1(V,A);try{let N=await G.generateHLS(Q,{outputDir:V,segmentDuration:w,width:F.width,height:F.height,videoBitrate:F.bitrate,audioBitrate:F.audioBitrate,playlistName:F.label});if(N)_.push({quality:F,url:`${Y}/${K}-${q}-hls/${F.label}/${A}`,path:R}),H+=N.segmentCount||Math.ceil(j/w)}catch(N){console.warn(`[stx-media] Failed to generate HLS for ${F.label}: ${N}`)}}if(_.length===0)return null;let O=e1(U,"master.m3u8"),L=jj(_,Y,K,q);return await QJ(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 jj(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(`
|
|
12026
|
+
`)}async function N8(X,$,Z,Y,J){let G=await qJ();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let Q=YJ(X);if(!await k0(Q))return null;let q=await S0(Q),K=JJ(X,GJ(X)),U=e1(Z,`${K}-${q}-dash`);await A8(U,{recursive:!0});let W=$.length>0?$:KJ,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=e1(U,A.label);await A8(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(N){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${N}`)}}if(H.length===0)return null;let L=e1(U,"manifest.mpd"),F=Bj(H,O,_,w,z);await QJ(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 Bj(X,$,Z,Y,J){let G=ZJ(Z),Q=ZJ(J),q=`<?xml version="1.0" encoding="UTF-8"?>
|
|
12027
12027
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
|
|
12028
12028
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
12029
12029
|
xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
|
|
@@ -12049,7 +12049,7 @@ ${A.join(`
|
|
|
12049
12049
|
</Representation>
|
|
12050
12050
|
`}q+=` </AdaptationSet>
|
|
12051
12051
|
`}return q+=` </Period>
|
|
12052
|
-
</MPD>`,q}function ZJ(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 KJ;var _4=E(()=>{t1();KJ=[{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 UJ,basename as
|
|
12052
|
+
</MPD>`,q}function ZJ(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 KJ;var _4=E(()=>{t1();KJ=[{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 UJ,basename as _j,extname as Hj,join as Oj}from"path";import{mkdir as Lj}from"fs/promises";async function WJ(){try{return await import("ts-videos")}catch{return null}}function Fj(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 Vj(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 H4(X){let $=await WJ();if(!$)return null;try{let Z=UJ(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 wJ(X,$,Z,Y){let J=await WJ();if(!J)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:X,processed:!1};let G=await H8(X,$,Z);if(G)return G;try{let Q=UJ(X);if(!await k0(Q))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let q=Z.outputDir||"dist/videos",K=Z.baseUrl||"/videos";await Lj(q,{recursive:!0});let U=await S0(Q),W=_j(X,Hj(X)),w={src:X,processed:!0,hash:U};Y?.({percentage:5,stage:"analyzing"}),w.metadata=await H4(Q)||void 0;let z={};if($.quality)z.bitrate=Fj($.quality);if($.platform)Object.assign(z,Vj($.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=Oj(q,B);try{let _=await Aj(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 F8(Q,B,q,K);if(j)w.poster=j}if(Z.thumbnails?.enabled){Y?.({percentage:70,stage:"generating-thumbnails"});let B=await V8(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 R8(Q,B.qualities||Z.streaming?.defaultQualities||[],q,K);if(j)w.streaming={...w.streaming,hls:j}}if(B.format==="dash"){let j=await N8(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 O8(X,$,w,Z),w}catch(Q){return{src:X,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function Aj(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(()=>{t1();K4();B4();_4()});var jJ={};o(jJ,{setCachedVideoResult:()=>O8,processVideo:()=>wJ,getCachedVideoResult:()=>H8,generateThumbnails:()=>V8,generateSpriteSheet:()=>$J,generatePoster:()=>F8,generateHLSManifest:()=>R8,generateDASHManifest:()=>N8,clearVideoCache:()=>XJ,analyzeVideo:()=>H4,VideoProcessorCache:()=>_8});var BJ=E(()=>{zJ();B4();_4();K4()});async function HJ(){try{return await Promise.resolve().then(() => (BJ(),jJ))}catch(X){if(!_J)console.warn("[stx-media] Video processor not available, some features disabled:",X),_J=!0;return null}}async function T8(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipProcessing){if(Z.tsVideosConfig?.enabled&&!Z.isDev)return Ij(Y,Z)}if(Z.processedResult?.processed)return VJ(X,Z.processedResult,$);let J;if(Y.generatePoster&&Y.src&&!X.poster)J=await Ej(Y,Z);let{src:G,sources:Q=[],poster:q,posterPlaceholder:K,controls:U=OJ,autoplay:W=!1,muted:w=!1,loop:z=!1,preload:B=LJ,playsinline:j=!0,lazy:_=!0,player:H="native",type:O,width:L,height:F,crossorigin:V,disablePictureInPicture:A=!1,disableRemotePlayback:R=!1}=X,N=J||q,T=X.class,k=X.style,M=X.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(H==="ts-video")return Tj(X,$);if(O&&O!=="video")return Nj(G||"",O,X);let D=Q.length>0?Q:G?[{src:G,type:FJ(G)}]:[],I=[`id="${M}"`];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"'),N)I.push(`data-poster="${V0(N)}"`);I.push("data-stx-lazy")}else if(I.push(`preload="${B}"`),N)I.push(`poster="${V0(N)}"`);if(L)I.push(`width="${L}"`);if(F)I.push(`height="${F}"`);if(T)I.push(`class="${V0(T)}"`);if(k)I.push(`style="${V0(k)}"`);let C=D.map((v)=>{return` <source ${_?`data-src="${V0(v.src)}"`:`src="${V0(v.src)}"`} type="${v.type}"${v.media?` media="${v.media}"`:""} />`}).join(`
|
|
12053
12053
|
`),b=`<video ${I.join(" ")}>
|
|
12054
12054
|
${C}
|
|
12055
12055
|
Your browser does not support the video tag.
|
|
@@ -12088,9 +12088,9 @@ ${C}
|
|
|
12088
12088
|
|
|
12089
12089
|
observer.observe(video);
|
|
12090
12090
|
})();
|
|
12091
|
-
`.trim();return{html:b,script:y}}function
|
|
12091
|
+
`.trim();return{html:b,script:y}}function Nj(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=Mj(X),K=U?`https://www.youtube-nocookie.com/embed/${U}`:X;break;case"vimeo":U=kj(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="${V0(K)}"`,`width="${Y}"`,`height="${J}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(G)W.push(`class="${V0(G)}"`);if(Q)W.push(`style="${V0(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;">
|
|
12092
12092
|
<iframe ${W.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
|
|
12093
|
-
</div>`}}function
|
|
12093
|
+
</div>`}}function Tj(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=`
|
|
12094
12094
|
<div
|
|
12095
12095
|
id="${H}"
|
|
12096
12096
|
class="ts-video-player${j?" "+V0(j):""}"
|
|
@@ -12127,7 +12127,7 @@ ${C}
|
|
|
12127
12127
|
|
|
12128
12128
|
// Load ts-video-player from CDN
|
|
12129
12129
|
var script = document.createElement('script');
|
|
12130
|
-
script.src = '${
|
|
12130
|
+
script.src = '${Rj}';
|
|
12131
12131
|
script.onload = initPlayer;
|
|
12132
12132
|
script.onerror = function() {
|
|
12133
12133
|
console.error('[stx] Failed to load ts-video-player');
|
|
@@ -12257,7 +12257,7 @@ else {
|
|
|
12257
12257
|
.ts-video-player__play-button svg {
|
|
12258
12258
|
margin-left: 4px;
|
|
12259
12259
|
}
|
|
12260
|
-
`.trim();return{html:F,script:V,css:A}}function FJ(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
|
|
12260
|
+
`.trim();return{html:F,script:V,css:A}}function FJ(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 Mj(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 kj(X){let $=X.match(/vimeo\.com\/(\d+)/);return $?$[1]:null}function V0(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'")}async function Ij(X,$){let Z=await HJ();if(!Z)return T8({...X,process:!1},$);let Y=$.tsVideosConfig,J=await Z.processVideo(X.src,X,Y,X.onProcessProgress);if(J.processed)return VJ(X,J,$);return T8({...X,process:!1},$)}async function Ej(X,$){let Z=await HJ();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 VJ(X,$,Z){let{controls:Y=OJ,autoplay:J=!1,muted:G=!1,loop:Q=!1,preload:q=LJ,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=FJ(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="${V0(A)}"`);R.push("data-stx-lazy")}else if(R.push(`preload="${q}"`),A)R.push(`poster="${V0(A)}"`);let N=W||$.metadata?.width,T=w||$.metadata?.height;if(N)R.push(`width="${N}"`);if(T)R.push(`height="${T}"`);if(_)R.push(`class="${V0(_)}"`);if(H)R.push(`style="${V0(H)}"`);let M=` <source ${U?`data-src="${V0(L)}"`:`src="${V0(L)}"`} type="${F}" />`,D=`<video ${R.join(" ")}>
|
|
12261
12261
|
${M}
|
|
12262
12262
|
Your browser does not support the video tag.
|
|
12263
12263
|
</video>`;if($.spriteSheet)D=`<div class="stx-video-wrapper" data-sprite-sheet="${V0($.spriteSheet.url)}" data-sprite-cols="${$.spriteSheet.columns}" data-sprite-interval="${$.spriteSheet.interval}">
|
|
@@ -12306,9 +12306,9 @@ ${D}
|
|
|
12306
12306
|
width: 100%;
|
|
12307
12307
|
height: auto;
|
|
12308
12308
|
}
|
|
12309
|
-
`.trim();return{html:D,script:I,css:C}}var _J=!1,OJ=!0,LJ="metadata",
|
|
12309
|
+
`.trim();return{html:D,script:I,css:C}}var _J=!1,OJ=!0,LJ="metadata",Rj="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var AJ=E(()=>{L4()});function RJ(){return Z8({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}=Dj(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 T8(Q,K),W=U.html;if(U.css)W+=`
|
|
12310
12310
|
<style>${U.css}</style>`;if(U.script)W+=`
|
|
12311
|
-
<script>${U.script}</script>`;return W},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function
|
|
12311
|
+
<script>${U.script}</script>`;return W},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function Dj(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=yj(Y),G=NJ(J[0],Z)||"",Q={};if(J[1]){let q=NJ(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 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 NJ(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 O4;var L4=E(()=>{m9();AJ();O4=RJ()});function bj(X,$){let Z=$.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
|
|
12312
12312
|
${X}
|
|
12313
12313
|
</div>
|
|
12314
12314
|
<script>
|
|
@@ -12353,7 +12353,7 @@ ${D}
|
|
|
12353
12353
|
}
|
|
12354
12354
|
}
|
|
12355
12355
|
})();
|
|
12356
|
-
</script>`}function
|
|
12356
|
+
</script>`}function Sj(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=`
|
|
12357
12357
|
<div class="stx-pwa-update-banner" style="
|
|
12358
12358
|
position: fixed;
|
|
12359
12359
|
bottom: 0;
|
|
@@ -12464,7 +12464,7 @@ else {
|
|
|
12464
12464
|
// Also listen for custom event
|
|
12465
12465
|
window.addEventListener('pwa-update-available', showUpdate);
|
|
12466
12466
|
})();
|
|
12467
|
-
</script>`}function
|
|
12467
|
+
</script>`}function Cj(X,$){let Z=X.trim().length>0,Y=`
|
|
12468
12468
|
<div class="stx-offline-indicator" style="
|
|
12469
12469
|
position: fixed;
|
|
12470
12470
|
top: 16px;
|
|
@@ -12525,7 +12525,7 @@ else {
|
|
|
12525
12525
|
window.addEventListener('offline', updateStatus);
|
|
12526
12526
|
updateStatus();
|
|
12527
12527
|
})();
|
|
12528
|
-
</script>`}function
|
|
12528
|
+
</script>`}function Pj(X,$){let Z=$.pwa?.push,Y=Z?.vapidPublicKey||"",J=Z?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
|
|
12529
12529
|
${X}
|
|
12530
12530
|
</div>
|
|
12531
12531
|
<script>
|
|
@@ -12607,24 +12607,24 @@ catch (error) {
|
|
|
12607
12607
|
init();
|
|
12608
12608
|
}
|
|
12609
12609
|
})();
|
|
12610
|
-
</script>`}function rN(X){return[...X,...F4]}var xj,fj,gj,
|
|
12611
|
-
${X.message}`),$&&X.line){let G=
|
|
12610
|
+
</script>`}function rN(X){return[...X,...F4]}var vj,xj,fj,gj,F4;var V4=E(()=>{vj={name:"pwa.installButton",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return bj(X,J)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},xj={name:"pwa.updatePrompt",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return Sj(X,J)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},fj={name:"pwa.offlineIndicator",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return Cj(X,J)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},gj={name:"pwa.pushSubscribe",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return Pj(X,J)},hasEndTag:!0,description:"Renders a push notification subscription button"},F4=[vj,xj,fj,gj]});function A4(X){for(let[$,Z]of Object.entries(s))if(Z===X)return $;return}var s;var M8=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 v7(){return!1}function x7(){return!v7()||process.env.STX_DEBUG==="true"}function k8(){return!1}import hj from"path";function I8(){return{...R4}}function E8(X){if(!R4.showRelativePaths||!X)return X;let $=R4.baseDir||process.cwd();try{let Z=hj.relative($,X);return Z.startsWith("..")?X:Z}catch{return X}}var uj,R4,D8,X5,y8;var b8=E(()=>{M8();uj={showRelativePaths:!1,enableAutoRecovery:x7(),logRecoveryWarnings:!0},R4={...uj};D8=class D8 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=E8(this.filePath)}};X5=class X5 extends D8{constructor(X,$,Z,Y,J,G){super(X,"stx_RUNTIME_ERROR",$,Z,Y,J,G||s.EVALUATION_ERROR);this.name="StxRuntimeError"}};y8=class y8 extends D8{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 MJ(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=ij(q,K);z=L.line,B=L.column}let j=J?E8(J):void 0,_=Y?A4(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=mj(H);break;case"json":O=JSON.stringify(H,null,2);break;case"console":O=lj(H,q,K);break;case"text":default:O=dj(H,q,K);break}return{formatted:O,data:H}}function dj(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(`
|
|
12611
|
+
${X.message}`),$&&X.line){let G=cj($,X.line,2);if(G)Y.push(`
|
|
12612
12612
|
${G}`)}if(X.snippet)Y.push(`
|
|
12613
12613
|
Snippet: ${X.snippet}`);if(X.suggestion)Y.push(`
|
|
12614
|
-
Suggestion: ${X.suggestion}`);return Y.join(" ")}function
|
|
12614
|
+
Suggestion: ${X.suggestion}`);return Y.join(" ")}function mj(X){let $=X.code?` [${X.code}]`:"",Z=X.filePath?` in ${X.filePath}${X.line?`:${X.line}`:""}`:"",Y=`<!-- [${X.type} Error${$}]${Z}: ${TJ(X.message)}`;if(X.suggestion)Y+=` | Suggestion: ${TJ(X.suggestion)}`;return Y+=" -->",Y}function lj(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(`
|
|
12615
12615
|
\x1B[90mat\x1B[0m ${w}`)}if(U.push(`
|
|
12616
12616
|
|
|
12617
|
-
${X.message}`),$&&X.line){let w=
|
|
12617
|
+
${X.message}`),$&&X.line){let w=pj($,X.line,2);if(w)U.push(`
|
|
12618
12618
|
|
|
12619
12619
|
\x1B[90mContext:\x1B[0m
|
|
12620
12620
|
${w}`)}if(X.suggestion)U.push(`
|
|
12621
12621
|
|
|
12622
12622
|
\x1B[33mSuggestion:\x1B[0m ${X.suggestion}`);return U.push(`
|
|
12623
|
-
${"\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
|
|
12623
|
+
${"\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 cj(X,$,Z){let Y=X.split(`
|
|
12624
12624
|
`),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(`
|
|
12625
|
-
`)}function
|
|
12625
|
+
`)}function pj(X,$,Z){let Y=X.split(`
|
|
12626
12626
|
`),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(`
|
|
12627
|
-
`)}function TJ(X){return X.replace(/--/g,"- -").replace(/>/g,">")}function
|
|
12627
|
+
`)}function TJ(X){return X.replace(/--/g,"- -").replace(/>/g,">")}function ij(X,$){let Y=X.substring(0,$).split(`
|
|
12628
12628
|
`);return{line:Y.length,column:Y[Y.length-1].length}}function $0(X,$,Z){return MJ({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 kJ=E(()=>{M8();b8()});class T4{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(`
|
|
12629
12629
|
`).slice(1).join(`
|
|
12630
12630
|
`)}`);if(X.context)$.push(` Context: ${JSON.stringify(X.context)}`);return $.join(`
|
|
@@ -12671,7 +12671,7 @@ ${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\
|
|
|
12671
12671
|
`;let W=X;if(!G)W=W.replace(/<head[^>]*>/,`$&
|
|
12672
12672
|
<title>${p(Q)}</title>`);return W.replace(/<head[^>]*>/,`$&
|
|
12673
12673
|
${U}
|
|
12674
|
-
`)}function p(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var PJ,vJ;var k4=E(()=>{z1();F0();PJ={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},vJ={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 f7 from"path";function
|
|
12674
|
+
`)}function p(X){return X.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var PJ,vJ;var k4=E(()=>{z1();F0();PJ={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},vJ={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 f7 from"path";function nj(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 rj(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)=>`
|
|
12675
12675
|
get ${w}() {
|
|
12676
12676
|
return this.getAttribute('${w}') || '';
|
|
12677
12677
|
}
|
|
@@ -12722,12 +12722,12 @@ ${W}
|
|
|
12722
12722
|
}
|
|
12723
12723
|
|
|
12724
12724
|
customElements.define('${$}', ${Q});
|
|
12725
|
-
`}async function xJ(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=[f7.join(f7.dirname(Y),Q,`${J}.stx`),f7.join(process.cwd(),Q,`${J}.stx`),f7.join(f7.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=
|
|
12726
|
-
${
|
|
12727
|
-
</script>`}var fJ=E(()=>{z1();R0()});var gJ={};o(gJ,{timingPlugin:()=>XB,pluginManager:()=>sj,definePlugin:()=>S8,debugPlugin:()=>ej,createVariablesPlugin:()=>$B,createFilterPlugin:()=>tj,createDirectivePlugin:()=>aj,PluginManager:()=>I4});function S8(X){return X}class I4{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 aj(X,$,Z={}){return{name:X,...Z,registerDirectives:()=>$}}function tj(X,$,Z={}){return{name:X,...Z,registerFilters:()=>$}}function $B(X){return S8({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess($){return{context:{...$.context,...X}}}})}var sj,ej,XB;var hJ=E(()=>{sj=new I4;ej=S8({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)}}),XB=S8({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 lJ={};o(lJ,{validateConfig:()=>KB,resolveStxDirectories:()=>mJ,loadStxConfig:()=>E1,defineStxConfig:()=>qB,defaultConfig:()=>$5,config:()=>O7});import C8 from"fs";import d0 from"path";import{loadConfigWithResult as ZB}from"bunfig";function YB(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(C8.existsSync(G)&&C8.existsSync(Q))return{root:"resources",pagesDir:"views"};let q=d0.join(J,"resources","views","pages");if(C8.existsSync(q))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function JB(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 mJ(X,$){let Z=!X.root,Y=YB(X.root,X.pagesDir,$);if(X.root=Y.root,X.pagesDir=Y.pagesDir,Z&&Y.root!=="."){let J=`${$}::${Y.root}`;if(!uJ.has(J))uJ.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)||JB(Q,J))continue;X[G]=d0.join(J,Q)}}return X}function GB(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(C8.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 QB(X){if(k6(X.stateDir),X.stateDir=X7(),X.cachePath=Z7(X.cachePath),X.build)X.build.cacheDir=Z7(X.build.cacheDir);if(X.media?.cache)X.media.cache.directory=Z7(X.media.cache.directory);if(X.story)X.story.outDir=Z7(X.story.outDir)}async function E1(X){if(!X){if(S5)return S5;if(P8)return P8}let $=X?d0.resolve(X):process.cwd(),Z=dJ.get($);if(Z)return Z;let Y=(async()=>{let G=(await ZB({name:"stx",alias:"ui",cwd:$,defaultConfig:$5,verbose:!1})).config;if(QB(G),mJ(G,$),GB(G,$),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (hJ(),gJ)),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(dJ.set($,Y),!X)P8=Y,Y.then((J)=>{S5=J}).catch(()=>{});return Y}function qB(X){return X}function KB(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 $5,uJ,S5=null,dJ,P8=null,O7;var A1=E(()=>{V$();A$();h$();u$();d9();eY();L4();V4();k4();qX();fJ();$5={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:MY,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:xJ,hasEndTag:!1,description:"Include a web component in the template"},y6,b6,PJ,vJ,S6,P6,v6,C6,G2,K2,tY,O4,...F4],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}};uJ=new Set;dJ=new Map;O7=new Proxy($5,{get(X,$){if(S5&&$ in S5)return S5[$];if(!P8)E1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return X[$]}})});import Q0 from"path";import{hasLocalConfig as UB}from"bunfig";function x8(X){return Bun.hash(X).toString(16).padStart(16,"0").slice(0,16)}function D4(X,$){if(Z5.has(X))Z5.delete(X);else if(Z5.size>=iJ)Z5.delete(Z5.keys().next().value);Z5.set(X,$)}function WB(X){let $=x8(X);if(C5.has($))C5.delete($);else if(C5.size>=iJ)C5.delete(C5.keys().next().value);return C5.set($,X),$}async function wB(X){if(!b1)return null;try{let $=Bun.file(Q0.join(b1,`cw-${x8(X)}.css`));if(!await $.exists())return null;return await $.text()}catch{return null}}async function zB(X,$){if(!b1)return;try{if(!fs.existsSync(b1))fs.mkdirSync(b1,{recursive:!0});await Bun.write(Q0.join(b1,`cw-${x8(X)}.css`),$)}catch{}}async function pJ(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 BB(){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 _B(){if(cJ)return j1;cJ=!0;try{let X=async(J)=>{for(let G of J){if(!await Bun.file(G).exists())continue;let Q=await pJ(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${A0.green}[Crosswind]${A0.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 pJ(J);if(G){if(j1=G,!process.env.STACKS_DEV_QUIET)console.log(`${A0.green}[Crosswind]${A0.reset} CSS engine loaded`);return j1}}let Y=await X(BB());if(Y)return j1=Y,j1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${A0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${A0.reset}`),console.warn(`${A0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${A0.reset}`),null}}async function HB(X){try{if(!UB({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(`${A0.green}[Crosswind]${A0.reset} Loaded config from ${Y||Z.path}`);return Z.config}catch($){if($ instanceof Error&&$.name==="ConfigNotFoundError")return null;return console.warn(`${A0.yellow}[Crosswind]${A0.reset} Failed to load crosswind config:`,$ instanceof Error?$.message:$),null}}function OB(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 LB(X,$){try{let Z=await _B();if(!Z)return"";let Y=typeof Z.extractClasses==="function"?Z.extractClasses(X):OB(X);if(Y.size===0)return"";let J=$?Q0.resolve($):process.cwd();if(!b1)b1=$7(J,"cache");let G=[...Y].sort().join(" "),Q=`${E4||"default"}::${G}`,q=Z5.get(Q);if(q!==void 0)return D4(Q,q),q;let K=await wB(Q);if(K!==null)return D4(Q,K),K;if(!v8){let A=null;try{let{loadStxConfig:R}=await Promise.resolve().then(() => (A1(),lJ)),N=await R(J);if(N.css)if(typeof N.css==="string"){let T=Q0.isAbsolute(N.css)?N.css:Q0.resolve(J,N.css);if(await Bun.file(T).exists()){let k=await import(T);A=k.default||k,console.log(`${A0.green}[Crosswind]${A0.reset} Loaded config from stx.config.ts \u2192 ${N.css}`)}}else{if(A={...N.css,content:N.css.content||[],preflight:N.css.preflight??!0,minify:N.css.minify??!1},N.css.config){let T=Q0.isAbsolute(N.css.config)?N.css.config:Q0.resolve(J,N.css.config);if(await Bun.file(T).exists()){let k=await import(T);A={...k.default||k,...A}}}console.log(`${A0.green}[Crosswind]${A0.reset} Using inline CSS config from stx.config.ts`)}}catch{}v8=A||await HB(J);try{E4=x8(JSON.stringify(v8??{}))}catch{E4="unhashable"}}let U=Z.defaultConfig||Z.config,W=v8||{},w=N6(U,W),{safelist:z,includePreflight:B,minify:j,tokenCSS:_}=w,H=w.config,O=new Z.CSSGenerator(H);for(let A of z)O.generate(A);for(let A of Y)O.generate(A);let L=O.toCSS(B,j),F=H.shortcuts||W.shortcuts||{};for(let[A,R]of Object.entries(F)){if(!Y.has(A)&&!z.includes(A))continue;let N=R.split(/\s+/).filter(Boolean);for(let T of N)O.generate(T)}L=O.toCSS(B,j);let V=L.split(`
|
|
12725
|
+
`}async function xJ(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=[f7.join(f7.dirname(Y),Q,`${J}.stx`),f7.join(process.cwd(),Q,`${J}.stx`),f7.join(f7.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=nj(K,J);return`<script type="module">
|
|
12726
|
+
${rj(U)}
|
|
12727
|
+
</script>`}var fJ=E(()=>{z1();R0()});var gJ={};o(gJ,{timingPlugin:()=>ej,pluginManager:()=>oj,definePlugin:()=>S8,debugPlugin:()=>tj,createVariablesPlugin:()=>XB,createFilterPlugin:()=>aj,createDirectivePlugin:()=>sj,PluginManager:()=>I4});function S8(X){return X}class I4{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 sj(X,$,Z={}){return{name:X,...Z,registerDirectives:()=>$}}function aj(X,$,Z={}){return{name:X,...Z,registerFilters:()=>$}}function XB(X){return S8({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess($){return{context:{...$.context,...X}}}})}var oj,tj,ej;var hJ=E(()=>{oj=new I4;tj=S8({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)}}),ej=S8({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 lJ={};o(lJ,{validateConfig:()=>qB,resolveStxDirectories:()=>mJ,loadStxConfig:()=>E1,defineStxConfig:()=>QB,defaultConfig:()=>$5,config:()=>O7});import C8 from"fs";import d0 from"path";import{loadConfigWithResult as $B}from"bunfig";function ZB(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(C8.existsSync(G)&&C8.existsSync(Q))return{root:"resources",pagesDir:"views"};let q=d0.join(J,"resources","views","pages");if(C8.existsSync(q))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function YB(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 mJ(X,$){let Z=!X.root,Y=ZB(X.root,X.pagesDir,$);if(X.root=Y.root,X.pagesDir=Y.pagesDir,Z&&Y.root!=="."){let J=`${$}::${Y.root}`;if(!uJ.has(J))uJ.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)||YB(Q,J))continue;X[G]=d0.join(J,Q)}}return X}function JB(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(C8.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 GB(X){if(k6(X.stateDir),X.stateDir=X7(),X.cachePath=Z7(X.cachePath),X.build)X.build.cacheDir=Z7(X.build.cacheDir);if(X.media?.cache)X.media.cache.directory=Z7(X.media.cache.directory);if(X.story)X.story.outDir=Z7(X.story.outDir)}async function E1(X){if(!X){if(S5)return S5;if(P8)return P8}let $=X?d0.resolve(X):process.cwd(),Z=dJ.get($);if(Z)return Z;let Y=(async()=>{let G=(await $B({name:"stx",alias:"ui",cwd:$,defaultConfig:$5,verbose:!1})).config;if(GB(G),mJ(G,$),JB(G,$),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (hJ(),gJ)),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(dJ.set($,Y),!X)P8=Y,Y.then((J)=>{S5=J}).catch(()=>{});return Y}function QB(X){return X}function qB(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 $5,uJ,S5=null,dJ,P8=null,O7;var A1=E(()=>{V$();A$();h$();u$();d9();eY();L4();V4();k4();qX();fJ();$5={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:MY,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:xJ,hasEndTag:!1,description:"Include a web component in the template"},y6,b6,PJ,vJ,S6,P6,v6,C6,G2,K2,tY,O4,...F4],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}};uJ=new Set;dJ=new Map;O7=new Proxy($5,{get(X,$){if(S5&&$ in S5)return S5[$];if(!P8)E1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return X[$]}})});import Q0 from"path";import{hasLocalConfig as KB}from"bunfig";function x8(X){return Bun.hash(X).toString(16).padStart(16,"0").slice(0,16)}function D4(X,$){if(Z5.has(X))Z5.delete(X);else if(Z5.size>=iJ)Z5.delete(Z5.keys().next().value);Z5.set(X,$)}function UB(X){let $=x8(X);if(C5.has($))C5.delete($);else if(C5.size>=iJ)C5.delete(C5.keys().next().value);return C5.set($,X),$}async function WB(X){if(!b1)return null;try{let $=Bun.file(Q0.join(b1,`cw-${x8(X)}.css`));if(!await $.exists())return null;return await $.text()}catch{return null}}async function wB(X,$){if(!b1)return;try{if(!fs.existsSync(b1))fs.mkdirSync(b1,{recursive:!0});await Bun.write(Q0.join(b1,`cw-${x8(X)}.css`),$)}catch{}}async function pJ(X){try{let $=await import(X);if($&&$.CSSGenerator)return{CSSGenerator:$.CSSGenerator,config:$.config,build:$.build,defaultConfig:$.defaultConfig,extractClasses:$.extractClasses}}catch{}return null}function zB(){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 jB(){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 BB(){if(cJ)return j1;cJ=!0;try{let X=async(J)=>{for(let G of J){if(!await Bun.file(G).exists())continue;let Q=await pJ(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${A0.green}[Crosswind]${A0.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(zB());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 pJ(J);if(G){if(j1=G,!process.env.STACKS_DEV_QUIET)console.log(`${A0.green}[Crosswind]${A0.reset} CSS engine loaded`);return j1}}let Y=await X(jB());if(Y)return j1=Y,j1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${A0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${A0.reset}`),console.warn(`${A0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${A0.reset}`),null}}async function _B(X){try{if(!KB({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(`${A0.green}[Crosswind]${A0.reset} Loaded config from ${Y||Z.path}`);return Z.config}catch($){if($ instanceof Error&&$.name==="ConfigNotFoundError")return null;return console.warn(`${A0.yellow}[Crosswind]${A0.reset} Failed to load crosswind config:`,$ instanceof Error?$.message:$),null}}function HB(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 OB(X,$){try{let Z=await BB();if(!Z)return"";let Y=typeof Z.extractClasses==="function"?Z.extractClasses(X):HB(X);if(Y.size===0)return"";let J=$?Q0.resolve($):process.cwd();if(!b1)b1=$7(J,"cache");let G=[...Y].sort().join(" "),Q=`${E4||"default"}::${G}`,q=Z5.get(Q);if(q!==void 0)return D4(Q,q),q;let K=await WB(Q);if(K!==null)return D4(Q,K),K;if(!v8){let A=null;try{let{loadStxConfig:R}=await Promise.resolve().then(() => (A1(),lJ)),N=await R(J);if(N.css)if(typeof N.css==="string"){let T=Q0.isAbsolute(N.css)?N.css:Q0.resolve(J,N.css);if(await Bun.file(T).exists()){let k=await import(T);A=k.default||k,console.log(`${A0.green}[Crosswind]${A0.reset} Loaded config from stx.config.ts \u2192 ${N.css}`)}}else{if(A={...N.css,content:N.css.content||[],preflight:N.css.preflight??!0,minify:N.css.minify??!1},N.css.config){let T=Q0.isAbsolute(N.css.config)?N.css.config:Q0.resolve(J,N.css.config);if(await Bun.file(T).exists()){let k=await import(T);A={...k.default||k,...A}}}console.log(`${A0.green}[Crosswind]${A0.reset} Using inline CSS config from stx.config.ts`)}}catch{}v8=A||await _B(J);try{E4=x8(JSON.stringify(v8??{}))}catch{E4="unhashable"}}let U=Z.defaultConfig||Z.config,W=v8||{},w=N6(U,W),{safelist:z,includePreflight:B,minify:j,tokenCSS:_}=w,H=w.config,O=new Z.CSSGenerator(H);for(let A of z)O.generate(A);for(let A of Y)O.generate(A);let L=O.toCSS(B,j),F=H.shortcuts||W.shortcuts||{};for(let[A,R]of Object.entries(F)){if(!Y.has(A)&&!z.includes(A))continue;let N=R.split(/\s+/).filter(Boolean);for(let T of N)O.generate(T)}L=O.toCSS(B,j);let V=L.split(`
|
|
12728
12728
|
`);for(let[A,R]of Object.entries(F)){if(!Y.has(A)&&!z.includes(A))continue;let N=R.split(/\s+/).filter(Boolean),T=[],k=[];for(let M of N){let D=M.startsWith("dark:"),b=`.${(D?M.slice(5):M).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let y=0;y<V.length;y++){let v=V[y].trim();if(v===`${b} {`||v.startsWith(`${b} {`)){let x=y,g="";while(x<V.length){if(g+=V[x],V[x].includes("}"))break;x++}let l=g.match(/\{([^}]+)\}/);if(l)if(D)k.push(l[1].trim());else T.push(l[1].trim());break}}}if(T.length)L+=`
|
|
12729
12729
|
.${A} { ${T.join(" ")} }`;if(k.length)L+=`
|
|
12730
|
-
@media (prefers-color-scheme: dark) { .dark .${A} { ${k.join(" ")} } }`}return L=_+L,D4(Q,L),
|
|
12730
|
+
@media (prefers-color-scheme: dark) { .dark .${A} { ${k.join(" ")} } }`}return L=_+L,D4(Q,L),wB(Q,L),L}catch(Z){return console.warn("Failed to generate Crosswind CSS:",Z),""}}async function nJ(X,$,Z=!1){let Y=await OB(X,$);if(!Y)return X;let J=Z?`<link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.${UB(Y)}.css">`:`<style data-crosswind="generated">
|
|
12731
12731
|
${Y}
|
|
12732
12732
|
</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}
|
|
12733
12733
|
</head>`);if(X.includes("<body"))return X.replace(/<body([^>]*)>/,`<body$1>
|
|
@@ -13076,7 +13076,7 @@ else {
|
|
|
13076
13076
|
|
|
13077
13077
|
console.log('[stx] Lifecycle runtime initialized');
|
|
13078
13078
|
})();
|
|
13079
|
-
`}function y4(X){return Symbol(X)}var wM,zM,jM;var sJ=E(()=>{wM=y4("theme"),zM=y4("router"),jM=y4("i18n")});import*as tJ from"crypto";function aJ(X){let $=/\$(\w+)\./g,Z=[],Y;while((Y=$.exec(X))!==null)if(!Z.includes(Y[1]))Z.push(Y[1]);return Z}function
|
|
13079
|
+
`}function y4(X){return Symbol(X)}var wM,zM,jM;var sJ=E(()=>{wM=y4("theme"),zM=y4("router"),jM=y4("i18n")});import*as tJ from"crypto";function aJ(X){let $=/\$(\w+)\./g,Z=[],Y;while((Y=$.exec(X))!==null)if(!Z.includes(Y[1]))Z.push(Y[1]);return Z}function LB(){return`stx-${tJ.randomBytes(4).toString("hex")}`}function FB(X){return/\$\w+\./.test(X)}function VB(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(FB(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}),aJ(A).forEach((N)=>Z.add(N)),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 _=LB(),w=` id="${_}"${w}`;for(let H of U)$.push({elementId:_,attribute:H.attr,expression:H.expr,stores:aJ(H.expr)});return`<${Q}${w}${K}`}),{html:J,bindings:$,stores:Z}}function AB(X,$){if(X.length===0)return"";let Z=Array.from($),Y=`
|
|
13080
13080
|
<script>
|
|
13081
13081
|
(function() {
|
|
13082
13082
|
'use strict';
|
|
@@ -13234,10 +13234,10 @@ else {
|
|
|
13234
13234
|
}
|
|
13235
13235
|
})();
|
|
13236
13236
|
</script>
|
|
13237
|
-
`,Y}function eJ(X){let{html:$,bindings:Z,stores:Y}=
|
|
13237
|
+
`,Y}function eJ(X){let{html:$,bindings:Z,stores:Y}=VB(X);if(Z.length===0)return X;let J=AB(Z,Y),G=$.lastIndexOf("</body>");if(G!==-1)return $.slice(0,G)+J+$.slice(G);return $+J}var XG=()=>{};function RB(X){let $=X.analytics;if(!$?.enabled)return"";switch($.driver){case"fathom":return NB($);case"google-analytics":return TB($);case"plausible":return MB($);case"self-hosted":return kB($);case"custom":return IB($);default:return""}}function NB(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`
|
|
13238
13238
|
<!-- Fathom Analytics -->
|
|
13239
13239
|
<script src="${m0(Z)}" ${J.join(" ")}${Y}></script>
|
|
13240
|
-
`}function
|
|
13240
|
+
`}function TB(X){let $=X.googleAnalytics;if(!$?.measurementId)return"";let Z=m0($.measurementId),Y=$.debug?`gtag('config', '${Z}', { 'debug_mode': true });`:"";return`
|
|
13241
13241
|
<!-- Google Analytics -->
|
|
13242
13242
|
<script async src="https://www.googletagmanager.com/gtag/js?id=${Z}"></script>
|
|
13243
13243
|
<script>
|
|
@@ -13247,10 +13247,10 @@ else {
|
|
|
13247
13247
|
gtag('config', '${Z}');
|
|
13248
13248
|
${Y}
|
|
13249
13249
|
</script>
|
|
13250
|
-
`}function
|
|
13250
|
+
`}function MB(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`
|
|
13251
13251
|
<!-- Plausible Analytics -->
|
|
13252
13252
|
<script defer data-domain="${m0($.domain)}" src="${m0(J)}"></script>
|
|
13253
|
-
`}function
|
|
13253
|
+
`}function kB(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?`
|
|
13254
13254
|
d.addEventListener('click',function(e){
|
|
13255
13255
|
var a=e.target.closest('a');
|
|
13256
13256
|
if(a&&a.hostname!==location.hostname){
|
|
@@ -13283,7 +13283,7 @@ else {
|
|
|
13283
13283
|
w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
|
|
13284
13284
|
})();
|
|
13285
13285
|
</script>
|
|
13286
|
-
`}function
|
|
13286
|
+
`}function IB(X){let $=X.custom;if(!$)return"";if($.inlineScript)return`
|
|
13287
13287
|
<!-- Custom Analytics -->
|
|
13288
13288
|
<script>
|
|
13289
13289
|
${$.inlineScript}
|
|
@@ -13291,7 +13291,7 @@ ${$.inlineScript}
|
|
|
13291
13291
|
`;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`
|
|
13292
13292
|
<!-- Custom Analytics -->
|
|
13293
13293
|
<script${Z.length>0?` ${Z.join(" ")}`:""} src="${m0($.scriptUrl)}" defer></script>
|
|
13294
|
-
`}function $G(X,$){let Z=
|
|
13294
|
+
`}function $G(X,$){let Z=RB($);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 ZG=()=>{};function YG(X){let $=X.match(/\bdefinePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!$)return null;try{return Function(`return ${$[1]}`)()}catch{return null}}function JG(X){let $=X?.layout;if($===!1)return!1;return typeof $==="string"&&$.trim()?$.trim():void 0}function GG(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 yB(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=GG(Q,"x-data");if(!K)continue;let U=`__stx_scope_${EB++}`,W=GG(Q,"x-init"),w=bB(X,G,q+J.length),z=X.slice(q,w.endIndex),B=SB(z);$.push({id:U,selector:`[data-stx-scope="${U}"]`,stateExpr:K,initExpr:W,bindings:[],refs:B})}return $}function bB(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 SB(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=CB(G);$.set(Q,q)}return $}function CB(X){let $=X.match(/\bid\s*=\s*["']([^"']*)["']/);if($)return $[1];return`__stx_el_${DB++}`}function PB(){return`
|
|
13295
13295
|
// STX Reactive Runtime - x-cloak and transition CSS
|
|
13296
13296
|
(function() {
|
|
13297
13297
|
var style = document.createElement('style');
|
|
@@ -13509,12 +13509,12 @@ window.__stx_reactive = (function() {
|
|
|
13509
13509
|
<script data-stx-scoped data-stx-reactive data-stx-run="always">
|
|
13510
13510
|
${PB()}
|
|
13511
13511
|
${Z}
|
|
13512
|
-
</script>`}function
|
|
13513
|
-
`+J.slice(Q);else J+=G;return J}function xB(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,' data-stx-xinit="$1"'),Y=Y.replace(/\s*x-init\s*=\s*'([^']*)'/g," data-stx-xinit='$1'"),Y}function fB(X){return/x-data\s*=\s*["']/.test(X)}var qG=0,DB=0;var UG=E(()=>{Z1()});import gB from"fs";import b4 from"path";import{createHighlighter as hB}from"ts-syntax-highlighter";async function uB(X,$={}){try{if(!await i(X))throw Error(`Markdown file not found: ${X}`);let Y=(await gB.promises.stat(X)).mtime.getTime();if($.cache&&S4.has(X)){let w=S4.get(X);if(w.updatedAt>=Y)return{content:w.content,data:w.data}}let J=await Bun.file(X).text(),{data:G,content:Q}=W2(J),q=$.markdown||O7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},U=j7(Q,{gfm:!0});if(q.syntaxHighlighting?.enabled&&q.syntaxHighlighting?.serverSide)U=await dB(U,q.syntaxHighlighting?.defaultTheme||"github-dark",q.syntaxHighlighting?.highlightUnknownLanguages||!1);let W={content:U,data:G||{}};if($.cache)S4.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 dB(X,$,Z){let Y=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!f8)try{f8=await hB({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(!f8.getSupportedLanguages().includes(z))return q;return(await f8.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 WG(X,$,Z="",Y={}){return await mB(X,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,q,K,U)=>{try{let W=q;if(!b4.isAbsolute(q))W=b4.resolve(b4.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(),N=R.startsWith('"')&&R.endsWith('"'),T=R.startsWith("'")&&R.endsWith("'");if(N||T)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 uB(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 mB(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 S4,f8=null;var wG=E(()=>{A1();R0();S4=new Map});function S1(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(()=>{F0()});function lB(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=j9(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 cB(X){let $=[];return{masked:X.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(Y)=>{return $.push(Y),`\x00stx-script-${$.length-1}\x00`}),scripts:$}}function pB(X,$){if($.length===0)return X;return X.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,Y)=>$[Number(Y)]??Z)}function B1(X,$,Z){let{masked:Y,scripts:J}=cB(X);return pB(iB(Y,$,Z),J)}function iB(X,$,Z){let Y=X;Y=lB(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=I1(Y,q+7);if(!K)break;let U=K.endPos,W=r1(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=P4(Y,$,Z),Y=v4(Y,$,Z),Y=C4(Y,$);let J=()=>{let G=D7(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 jG(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 C4(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=jG(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?S1(`auth?.check && auth?.user?.[${W}]`,$):S1("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=jG(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?S1(`!auth?.check || !auth?.user?.[${W}]`,$):S1("!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=S1(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"),N=/@else(?![a-z])/g,T=[],k;while((k=V.exec(O))!==null)T.push({pos:k.index,type:"open"});while((k=A.exec(O))!==null)T.push({pos:k.index,type:"close"});while((k=R.exec(O))!==null)T.push({pos:k.index,type:"elseDirective"});while((k=N.exec(O))!==null)T.push({pos:k.index,type:"else"});T.sort((y,v)=>y.pos-v.pos);for(let y of T){if(y.type==="open"){F++;continue}if(y.type==="close"){F--;continue}if(F===0)L.push(y)}let M=[],D=0;for(let y=0;y<L.length;y++){let v=L[y];if(M.push({content:O.slice(D,v.pos),ability:void 0}),v.type==="elseDirective"){let x=O.slice(v.pos+`@${U}`.length),g=Q(x);if(g){M[M.length-1]={content:O.slice(D,v.pos)},D=v.pos+`@${U}`.length+g.paramsEnd,M.push({content:"",ability:g.ability,type:g.type,id:g.id}),M.pop();let l=L[y+1],c=l?l.pos:O.length;M.push({content:O.slice(D,c),ability:g.ability,type:g.type,id:g.id}),D=c}}else D=v.pos+5}if(D<O.length){let y=M[M.length-1];if(L.length>0&&L[L.length-1].type==="else")M.push({content:O.slice(D),isFinalElse:!0});else if(M.length===0)M.push({content:O.slice(D)})}let I=G(j.ability,j.type,j.id),C=q==="can"?I:!I,b="";if(C)b=M[0]?.content||"";else{let y=!1;for(let v=1;v<M.length;v++){let x=M[v];if(x.isFinalElse){b=x.content,y=!0;break}if(x.ability){let g=G(x.ability,x.type,x.id);if(q==="can"?g:!g){b=x.content,y=!0;break}}}if(!y&&M.length>0){let v=M[M.length-1];if(v.isFinalElse)b=v.content}}Z=Z.substring(0,z)+b+Z.substring(H+`@${K}`.length),W=!0}}return Z}function P4(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=I1(G,B+`@${Q}`.length);if(!j)break;let _=j.endPos,H=r1(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 N=O.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(L.trim()),N;if(F!==-1){let T=O.slice(0,F),k=O.slice(F+5);N=R?T:k}else N=R?O:"";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=$0(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=S1(G,$);return Q!==void 0&&Q!==null},"Isset"),Y=J(Y,"empty","endempty",(G)=>{let Q=S1(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 v4(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),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 D=`@${K}`.length;j=j.substring(0,O)+M+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 g7=E(()=>{zG();z1();CX();F0()});function _G(X=16){let $=new Uint8Array(X);return crypto.getRandomValues($),btoa(String.fromCharCode(...$))}function g8(X,$){if(!X)return $?.nonceGenerator?.()??_G();let Z=BG.get(X);if(!Z)Z=$?.nonceGenerator?.()??_G(),BG.set(X,Z);return Z}function nB(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 HG(X,$){return`<meta http-equiv="Content-Security-Policy" content="${nB(X,$).replace(/&/g,"&").replace(/"/g,""")}">`}function OG(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?g8(Z,$):void 0,J=HG($.directives,Y);return X.replace(/<head([^>]*)>/,`<head$1>
|
|
13514
|
-
${J}`)}function
|
|
13512
|
+
</script>`}function qG(X,$,Z){if(!fB(X))return X;let Y=yB(X);if(Y.length===0)return X;let J=xB(X,Y),G=vB(Y,$),Q=J.lastIndexOf("</body>");if(Q!==-1)J=J.slice(0,Q)+G+`
|
|
13513
|
+
`+J.slice(Q);else J+=G;return J}function xB(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,' data-stx-xinit="$1"'),Y=Y.replace(/\s*x-init\s*=\s*'([^']*)'/g," data-stx-xinit='$1'"),Y}function fB(X){return/x-data\s*=\s*["']/.test(X)}var EB=0,DB=0;var KG=E(()=>{Z1()});import gB from"fs";import b4 from"path";import{createHighlighter as hB}from"ts-syntax-highlighter";async function uB(X,$={}){try{if(!await i(X))throw Error(`Markdown file not found: ${X}`);let Y=(await gB.promises.stat(X)).mtime.getTime();if($.cache&&S4.has(X)){let w=S4.get(X);if(w.updatedAt>=Y)return{content:w.content,data:w.data}}let J=await Bun.file(X).text(),{data:G,content:Q}=W2(J),q=$.markdown||O7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},U=j7(Q,{gfm:!0});if(q.syntaxHighlighting?.enabled&&q.syntaxHighlighting?.serverSide)U=await dB(U,q.syntaxHighlighting?.defaultTheme||"github-dark",q.syntaxHighlighting?.highlightUnknownLanguages||!1);let W={content:U,data:G||{}};if($.cache)S4.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 dB(X,$,Z){let Y=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!f8)try{f8=await hB({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(!f8.getSupportedLanguages().includes(z))return q;return(await f8.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 UG(X,$,Z="",Y={}){return await mB(X,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,q,K,U)=>{try{let W=q;if(!b4.isAbsolute(q))W=b4.resolve(b4.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(),N=R.startsWith('"')&&R.endsWith('"'),T=R.startsWith("'")&&R.endsWith("'");if(N||T)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 uB(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 mB(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 S4,f8=null;var WG=E(()=>{A1();R0();S4=new Map});function S1(X,$){try{let Z=X.trim();if(J0(Z))return G0(Z,Object.keys($))(...Object.values($));else return Z0(Z,$)}catch{return!1}}var wG=E(()=>{F0()});function lB(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=j9(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 cB(X){let $=[];return{masked:X.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(Y)=>{return $.push(Y),`\x00stx-script-${$.length-1}\x00`}),scripts:$}}function pB(X,$){if($.length===0)return X;return X.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,Y)=>$[Number(Y)]??Z)}function B1(X,$,Z){let{masked:Y,scripts:J}=cB(X);return pB(iB(Y,$,Z),J)}function iB(X,$,Z){let Y=X;Y=lB(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=I1(Y,q+7);if(!K)break;let U=K.endPos,W=r1(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=P4(Y,$,Z),Y=v4(Y,$,Z),Y=C4(Y,$);let J=()=>{let G=D7(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 zG(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 C4(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=zG(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?S1(`auth?.check && auth?.user?.[${W}]`,$):S1("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=zG(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?S1(`!auth?.check || !auth?.user?.[${W}]`,$):S1("!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=S1(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"),N=/@else(?![a-z])/g,T=[],k;while((k=V.exec(O))!==null)T.push({pos:k.index,type:"open"});while((k=A.exec(O))!==null)T.push({pos:k.index,type:"close"});while((k=R.exec(O))!==null)T.push({pos:k.index,type:"elseDirective"});while((k=N.exec(O))!==null)T.push({pos:k.index,type:"else"});T.sort((y,v)=>y.pos-v.pos);for(let y of T){if(y.type==="open"){F++;continue}if(y.type==="close"){F--;continue}if(F===0)L.push(y)}let M=[],D=0;for(let y=0;y<L.length;y++){let v=L[y];if(M.push({content:O.slice(D,v.pos),ability:void 0}),v.type==="elseDirective"){let x=O.slice(v.pos+`@${U}`.length),g=Q(x);if(g){M[M.length-1]={content:O.slice(D,v.pos)},D=v.pos+`@${U}`.length+g.paramsEnd,M.push({content:"",ability:g.ability,type:g.type,id:g.id}),M.pop();let l=L[y+1],c=l?l.pos:O.length;M.push({content:O.slice(D,c),ability:g.ability,type:g.type,id:g.id}),D=c}}else D=v.pos+5}if(D<O.length){let y=M[M.length-1];if(L.length>0&&L[L.length-1].type==="else")M.push({content:O.slice(D),isFinalElse:!0});else if(M.length===0)M.push({content:O.slice(D)})}let I=G(j.ability,j.type,j.id),C=q==="can"?I:!I,b="";if(C)b=M[0]?.content||"";else{let y=!1;for(let v=1;v<M.length;v++){let x=M[v];if(x.isFinalElse){b=x.content,y=!0;break}if(x.ability){let g=G(x.ability,x.type,x.id);if(q==="can"?g:!g){b=x.content,y=!0;break}}}if(!y&&M.length>0){let v=M[M.length-1];if(v.isFinalElse)b=v.content}}Z=Z.substring(0,z)+b+Z.substring(H+`@${K}`.length),W=!0}}return Z}function P4(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=I1(G,B+`@${Q}`.length);if(!j)break;let _=j.endPos,H=r1(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 N=O.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(L.trim()),N;if(F!==-1){let T=O.slice(0,F),k=O.slice(F+5);N=R?T:k}else N=R?O:"";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=$0(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=S1(G,$);return Q!==void 0&&Q!==null},"Isset"),Y=J(Y,"empty","endempty",(G)=>{let Q=S1(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 v4(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),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 D=`@${K}`.length;j=j.substring(0,O)+M+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 g7=E(()=>{wG();z1();CX();F0()});function BG(X=16){let $=new Uint8Array(X);return crypto.getRandomValues($),btoa(String.fromCharCode(...$))}function g8(X,$){if(!X)return $?.nonceGenerator?.()??BG();let Z=jG.get(X);if(!Z)Z=$?.nonceGenerator?.()??BG(),jG.set(X,Z);return Z}function nB(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="${nB(X,$).replace(/&/g,"&").replace(/"/g,""")}">`}function HG(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?g8(Z,$):void 0,J=_G($.directives,Y);return X.replace(/<head([^>]*)>/,`<head$1>
|
|
13514
|
+
${J}`)}function OG(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 LG(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?g8($,G):void 0;return _G(G.directives,Q)}),J=J.replace(/@cspNonce\b/g,()=>{if(!G?.enabled||!G.useNonce)return"";return g8($,G)}),G?.enabled&&G.useNonce)$.cspNonce=g8($,G);return J}var jG;var FG=E(()=>{jG=new WeakMap});import rB from"crypto";function sB(X=oB){let $=rB.randomBytes(Math.ceil(X/2)).toString("hex").slice(0,X);return x4=$,$}function aB(){if(!x4)sB();return x4}function tB(X=VG){let $=aB();return`<input type="hidden" name="${X}" value="${$}">`}function AG(X){return X.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,($,Z,Y)=>{return tB(Y||VG)})}var oB=40,VG="_token",x4=null;var RG=()=>{};async function NG(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 eB(J,G,$,Z,Y);else J=await X_(J,G,$,Z,Y)}return J}async function eB(X,$,Z,Y,J){let{name:G,handler:Q}=$,q=`@${G}`,K=`@end${G}`,U=X,W=T5(`${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?TG(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 X_(X,$,Z,Y,J){let{name:G,handler:Q}=$,q=X,K=T5(`@${G}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),U=[],W=K.exec(q);while(W!==null){let[B,j=""]=W,_=W.index||0;try{let H=TG(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=T5(`@${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 TG(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 MG=E(()=>{z1();M5()});function Y5(X,$){if(typeof X!=="string"||X.length===0)throw Error(`@appearanceBootstrap ${$} must be a non-empty string`)}function Z_(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"),!IG.test(Z.key)||!IG.test(Y.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!kG.test(Z.attribute)||!kG.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(!$_.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 Y_(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function J_(X){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${Y_(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 G_(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 EG(X,$){let Z=X,Y=/@appearanceBootstrap\s*\(/g,J;while((J=Y.exec(Z))!==null){let G=J.index+J[0].length-1,Q=G_(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=J_(Z_(K));Z=Z.slice(0,J.index)+U+Z.slice(Q+1),Y.lastIndex=J.index+U.length}return Z}var kG,IG,$_;var DG=E(()=>{F0();kG=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,IG=/^[A-Za-z_$][\w$]*$/,$_=new Set(["light","dark","system"])});import Q_ from"crypto";function B0(X){return String(X??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function h8(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 f4(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 q_(){return Q_.randomUUID()}function u8(X,$){let Z=X;return Z=Z.replace(/@csrf/g,()=>{if(!$.csrf||typeof $.csrf!=="object"){let Y=q_();$.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 SG(X,$,Z=bG){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=C1(U),B=W.toUpperCase(),j=["GET","POST"].includes(B)?B:"POST",_=`<form method="${B0(j)}" action="${B0(w)}"${z?` ${z}`:""}>`;if(_+=`
|
|
13515
13515
|
${u8("@csrf",$)}`,!["GET","POST"].includes(B))_+=`
|
|
13516
|
-
${u8(`@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=C1(U),B=h7(W,$),j=B!==void 0&&B!==null?B:w||"",_=z.match(/type=['"]([^'"]+)['"]/i),H=_?_[1]:"text",O=u7(W,$),L=z.match(/class=['"]([^'"]+)['"]/i),F=h8(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}"${f4(W,O,z)}${V?` ${V}`:""}>`}),Y=Y.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(J,G,Q="",q="")=>{let K=C1(Q),U=h7(G,$)||q.trim(),W=u7(G,$),w=K.match(/class=['"]([^'"]+)['"]/i),z=h8(w?w[1]:"",Z.input,W,Z.inputError),B=K.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${B0(G)}"${P5(K,n0(G))} class="${z}"${f4(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=C1(Q),U=h7(G,$),W=u7(G,$),w=K.match(/class=['"]([^'"]+)['"]/i),z=h8(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}"${f4(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=C1(q),w=h7(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=C1(q),U=h7(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=C1(Q),K=q.match(/accept=['"]([^'"]+)['"]/i),U=K?K[1]:"",W=q.includes("multiple"),w=u7(G,$),z=q.match(/class=['"]([^'"]+)['"]/i),B=h8(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=C1(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
|
|
13517
|
-
`),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]=B_(z)}}return $}function B_(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 __(X){switch(X){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function H_(X,$){return W_(X,$)}function O_(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 L_(X,$={}){return
|
|
13516
|
+
${u8(`@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=C1(U),B=h7(W,$),j=B!==void 0&&B!==null?B:w||"",_=z.match(/type=['"]([^'"]+)['"]/i),H=_?_[1]:"text",O=u7(W,$),L=z.match(/class=['"]([^'"]+)['"]/i),F=h8(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}"${f4(W,O,z)}${V?` ${V}`:""}>`}),Y=Y.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(J,G,Q="",q="")=>{let K=C1(Q),U=h7(G,$)||q.trim(),W=u7(G,$),w=K.match(/class=['"]([^'"]+)['"]/i),z=h8(w?w[1]:"",Z.input,W,Z.inputError),B=K.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${B0(G)}"${P5(K,n0(G))} class="${z}"${f4(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=C1(Q),U=h7(G,$),W=u7(G,$),w=K.match(/class=['"]([^'"]+)['"]/i),z=h8(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}"${f4(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=C1(q),w=h7(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=C1(q),U=h7(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=C1(Q),K=q.match(/accept=['"]([^'"]+)['"]/i),U=K?K[1]:"",W=q.includes("multiple"),w=u7(G,$),z=q.match(/class=['"]([^'"]+)['"]/i),B=h8(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=C1(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 CG(X,$,Z=bG){return X.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(Y,J,G)=>{try{if(u7(J,$)){let Q=G.replace(/\{\{([^}]+)\}\}/g,(q,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return yG(J,$);if(K.trim().includes("errors.first")||K.trim().includes("$errors.first")){if(typeof $.errors?.first==="function")return $.errors.first(J);return yG(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 u7(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 yG(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 h7(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 C1(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 bG;var PG=E(()=>{F0();bG={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import u4 from"path";async function K_(){if(d7!==void 0)return d7;try{d7=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{d7=null}return d7}function U_(X,$=0){if($<=0)return!1;return Date.now()-X.loadedAt>$}async function W_(X,$){if({...l4,...$.i18n}.cache&&d4[X]){let J=d4[X],G=$.i18n?.cacheMaxAge??0;if(!U_(J,G))return J.translations}if(m7[X]?.state==="loading")return m7[X].promise;g4[X]="loading";let Y=m4(X,$).then((J)=>{return g4[X]="loaded",delete m7[X],J}).catch((J)=>{throw g4[X]="error",m7[X]={promise:Y,state:"error",error:J instanceof Error?J:Error(String(J))},J});return m7[X]={promise:Y,state:"loading"},Y}async function m4(X,$){let Z={...l4,...$.i18n},Y=u4.isAbsolute(Z.translationsDir)?Z.translationsDir:u4.resolve($.root||process.cwd(),Z.translationsDir);try{let J=await K_(),G=J?await J(X,{translationsDir:Y,defaultLocale:Z.defaultLocale,sources:__(Z.format)}):await w_(X,Z,Y);if(G===void 0){if(X!==Z.defaultLocale)return m4(Z.defaultLocale,$);return{}}let Q=G;if(Z.cache)d4[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 m4(Z.defaultLocale,$);return{}}}async function w_(X,$,Z){let Y=u4.join(Z,`${X}${z_($.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 z_(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(`
|
|
13517
|
+
`),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]=B_(z)}}return $}function B_(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 __(X){switch(X){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function H_(X,$){return W_(X,$)}function O_(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 L_(X,$={}){return fG(X,$)}function fG(X,$){let Z="",Y=0;while(Y<X.length)if(X[Y]==="{"){let J=F_(X,Y);if(J===-1){Z+=X[Y],Y++;continue}let G=X.slice(Y+1,J);Z+=V_(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 F_(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 V_(X,$){let Z=A_(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 R_(J,Z.slice(2).join(","),$);case"select":return T_(J,Z.slice(2).join(","));case"selectordinal":return M_(J,Z.slice(2).join(","));case"number":return I_(J,Z[2]?.trim());case"date":return E_(J,Z[2]?.trim());case"time":return D_(J,Z[2]?.trim());default:return J!==void 0?String(J):`{${X}}`}}function A_(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 R_(X,$,Z){let Y=Number(X)||0,J=c4($),G=`=${Y}`;if(J[G])return h4(J[G],Y,Z);let Q=N_(Y);if(J[Q])return h4(J[Q],Y,Z);if(J.other)return h4(J.other,Y,Z);return String(Y)}function h4(X,$,Z){let Y=X.replace(/#/g,String($));return fG(Y,Z)}function N_(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 T_(X,$){let Z=String(X||""),Y=c4($);if(Y[Z])return Y[Z];return Y.other||String(X)}function M_(X,$){let Z=Number(X)||0,Y=c4($),J=k_(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 k_(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 c4(X){let $={},Z=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,Y=Z.exec(X);while(Y!==null)$[Y[1]]=Y[2],Y=Z.exec(X);return $}function I_(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 E_(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 D_(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 y_(X){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test(X)}function vG(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(y_(Q))return L_(Q,Y);if(Q.includes("|")&&"count"in Y){let q=Number(Y.count),K=Q.split("|");Q=O_(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 gG(X,$,Z,Y){let J=X,G=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,Q={...l4,...Y.i18n},q=await H_(Q.locale,Y);$.__translations=q,$.__locale=Q.locale,$.__i18nConfig=Q,J=await xG(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 L0(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 vG(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 xG(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 L0(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 vG(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 xG(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 d7,l4,d4,m7,g4;var hG=E(()=>{z1();F0();l4={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},d4={},m7={},g4={}});var n4={};o(n4,{streamingSuspenseDirective:()=>mG,streamToResponse:()=>m_,streamTemplateSimple:()=>g_,streamTemplate:()=>S_,renderStreamingPage:()=>P_,registerStreamingDirectives:()=>u_,processStreamDirectives:()=>x_,processSectionDirectives:()=>d_,islandDirective:()=>lG,generateHydrationRuntime:()=>l_,extractStreamBoundaries:()=>f_,createStreamRenderer:()=>h_,buildSuspenseResolveScript:()=>i4,SUSPENSE_RESOLVER_RUNTIME:()=>dG});import d8 from"path";function b_(X){let $=[],Z=0,Y;uG.lastIndex=0;while((Y=uG.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 S_(X,$={},Z={}){let Y={...$5,...Z,streaming:{...p4,...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:d8.dirname(X)};if(K.trim())await n1(K,W,X);let w=b_(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 N0(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 N=U.slice(V,A.start);if(N.trim()){let T=await N0(N,W,X,Y,z);G.enqueue(T),await new Promise((k)=>setTimeout(k,0))}}let R=await N0(A.content,W,X,Y,z);G.enqueue(R),await new Promise((N)=>setTimeout(N,0)),V=A.end}if(V<U.length){let A=U.slice(V);if(A.trim()){let R=await N0(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 N0(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;">
|
|
13518
13518
|
<template data-suspense-fallback>Loading...</template>
|
|
13519
13519
|
</div>`),j.set(H.name,N0(H.content,W,X,Y,z))}G.enqueue(`
|
|
13520
13520
|
<script>
|
|
@@ -13538,7 +13538,7 @@ window.__stxSuspense.resolve('${X}', \`${Y}\`);
|
|
|
13538
13538
|
</script>`}catch(Z){let Y=Z instanceof Error?Z.message:String(Z);return`
|
|
13539
13539
|
<script>
|
|
13540
13540
|
window.__stxSuspense.resolve('${X}', '<div class="stx-error">Error loading content: ${t0(Y)}</div>');
|
|
13541
|
-
</script>`}}function C_(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 P_(X,$=[],Z={}){let Y=Z.timeoutMs??0;return new ReadableStream({async start(J){try{if(J.enqueue(X),$.length>0)J.enqueue(
|
|
13541
|
+
</script>`}}function C_(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 P_(X,$=[],Z={}){let Y=Z.timeoutMs??0;return new ReadableStream({async start(J){try{if(J.enqueue(X),$.length>0)J.enqueue(dG),await Promise.all($.map(async(G)=>{let Q=C_(G.render(),Y,G.id);J.enqueue(await i4(G.id,Q))}));J.close()}catch(G){J.error(G)}}})}function x_(X,$){return X.replace(v_,(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 f_(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 g_(X,$={},Z={}){let Y={...$5,...Z,streaming:{...p4,...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:d8.dirname(X)};if(K.trim())await n1(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 N0(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 N0(A,W,X,Y,w);G.enqueue(R)}}let V=await N0(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 N0(F,W,X,Y,w);G.enqueue(V)}}}G.close()}catch(Q){G.error(Q)}}})}async function h_(X,$={}){let Z={...$5,...$,streaming:{...p4,...$.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:d8.dirname(X)};return await n1(G,B,X),N0(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:d8.dirname(X)};await n1(G,j,X);let _=new Set;return await N0(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 u_(X={}){let $=[];if(X.streaming?.enabled)$.push(mG);if(X.hydration?.enabled)$.push(lG);return $}async function d_(X,$,Z,Y={}){return X}function m_(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 l_(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(`,
|
|
13542
13542
|
`);if($==="loader")return`
|
|
13543
13543
|
(function() {
|
|
13544
13544
|
window.__stx = window.__stx || {};
|
|
@@ -13680,7 +13680,7 @@ else {
|
|
|
13680
13680
|
else {
|
|
13681
13681
|
stx.hydrate();
|
|
13682
13682
|
}
|
|
13683
|
-
})();`}var p4,J5,dG
|
|
13683
|
+
})();`}var p4,J5,uG,dG=`
|
|
13684
13684
|
<script>
|
|
13685
13685
|
(function(){
|
|
13686
13686
|
window.__stxSuspense = window.__stxSuspense || {
|
|
@@ -13700,25 +13700,25 @@ else {
|
|
|
13700
13700
|
}
|
|
13701
13701
|
};
|
|
13702
13702
|
})();
|
|
13703
|
-
</script>`,v_,lG
|
|
13703
|
+
</script>`,v_,mG,lG;var r4=E(()=>{A1();Z1();$8();R0();p4={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},J5=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,uG=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;v_=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;mG={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} -->`}},lG={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}">
|
|
13704
13704
|
${U}
|
|
13705
13705
|
<script type="application/json" data-island-props="${Q}">
|
|
13706
13706
|
${K?`{${K}}`:"{}"}
|
|
13707
13707
|
</script>
|
|
13708
|
-
</div>`}}});var
|
|
13709
|
-
`).length;Z.set(K,{count:1,firstLine:w})}}}let Q=[];for(let q of new Set([...Z.keys(),...Y.keys()])){if(p_.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 o4(X,$){let Z;try{Z=
|
|
13708
|
+
</div>`}}});var iG={};o(iG,{warnUnbalancedTags:()=>o4,findUnbalancedTags:()=>pG});function v5(X){return X.replace(/[^\n]/g," ")}function pG(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(c_.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(`
|
|
13709
|
+
`).length;Z.set(K,{count:1,firstLine:w})}}}let Q=[];for(let q of new Set([...Z.keys(),...Y.keys()])){if(p_.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 o4(X,$){let Z;try{Z=pG(X)}catch{return}if(Z.length===0)return;let Y=`${$}:${X.length}`;if(cG.has(Y))return;cG.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 c_,p_,cG;var s4=E(()=>{c_=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),p_=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);cG=new Set});import r0 from"path";import a4 from"fs";function nG(X){return X.split("-").map(($)=>$.charAt(0).toUpperCase()+$.slice(1)).join("")}function rG(X){return X.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class oG{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(),nG(J),rG(J)];for(let j of B)if(G.has(j))return G.get(j)}let Q=[...new Set([`${J}.stx`,`${nG(J)}.stx`,`${rG(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(!a4.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let _=a4.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 t4=E(()=>{R0();g0=new oG});function O0(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function e4(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(O0(G));continue}if(J===G5){Z.push(O0(G));continue}Z.push(`${O0(G)}="${O0(e4(String(J)))}"`)}return Z}function f5(X,$){let Z=[];for(let[Y,J]of Object.entries(X.serverDynamic??{})){if($.has(Y))continue;if(J===null||J===void 0||J===!1)continue;let G=X.serverDynamicNames?.[Y]??Y;if(J===!0){Z.push(O0(G));continue}if(typeof J==="object")continue;Z.push(`${O0(G)}="${O0(e4(String(J)))}"`)}return Z}var m8=()=>{};function l7(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function i_(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 X3;var $3=E(()=>{m8();X3={name:"StxLink",aliases:["stx-link"],render(X,$,Z){let Y=i_(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="${l7(Y.value)}"`);else K.push(`href="${l7(Y.value)}"`);if(J)K.push(`class="${l7(J)}"`);if(K.push("data-stx-link"),K.push(`data-stx-active-class="${l7(G)}"`),K.push(`data-stx-exact-active-class="${l7(Q)}"`),q)K.push("data-stx-prefetch");let U=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return K.push(...x5(X,U)),K.push(...f5(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 Y3(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 sG(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=n_[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 J3(X,$,Z,Y){return $.map((J)=>`${c7(X,J,void 0,Z,Y)} ${J}w`).join(", ")}function r_(X,$,Z,Y,J){return $.map((G)=>{let Q=Z?Z*G:void 0;return`${c7(X,Q,void 0,Y,J)} ${G}x`}).join(", ")}function c7(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 o_(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 n_,Z3,G3;var Q3=E(()=>{m8();n_={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},Z3=[320,640,768,1024,1280,1536,1920];G3={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=Y3(X,"lazy",!0),L=Y3(X,"preload",!1),F=Y3(X,"picture",!1)||!!W,V=G?Number.parseInt(G):void 0,A=Q?Number.parseInt(Q):void 0,R=K||"",N="";if(!R&&q)R=J3(Y,Z3,B,W),N=sG(q);else if(!R&&U){let b=U.split(/\s+/).map((y)=>Number.parseFloat(y.replace("x","")));R=r_(Y,b,V,B,W)}else if(q)N=sG(q);let T=[];if(_)T.push(_);if(V&&A)T.push(`aspect-ratio:${V}/${A}`);if(w==="blur"||w==="color"||w==="thumbhash"){let b=o_(V||16,A||9,z);T.push(`background-image:url(${b})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat")}else if(w&&w!=="empty"&&w!=="none")T.push(`background-image:url(${I0(w)})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat");let k=c7(Y,V,A,B,W),M=[];if(M.push(`src="${I0(k)}"`),M.push(`alt="${I0(J)}"`),G)M.push(`width="${I0(G)}"`);if(Q)M.push(`height="${I0(Q)}"`);if(O)M.push('loading="lazy"');if(M.push('decoding="async"'),j)M.push(`class="${I0(j)}"`);if(T.length>0)M.push(`style="${I0(T.join(";"))}"`);if(R)M.push(`srcset="${I0(R)}"`);if(N)M.push(`sizes="${I0(N)}"`);let D=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);M.push(...x5(X,D)),M.push(...f5(X,D));let I=`<img ${M.join(" ")} />`,C="";if(L){let y=W==="webp"?"image/webp":W==="avif"?"image/avif":"";C=`<link rel="preload" as="image" href="${I0(k)}"${y?` type="${y}"`:""}${R?` imagesrcset="${I0(R)}"`:""}${N?` imagesizes="${I0(N)}"`:""} />
|
|
13710
13710
|
`}if(F){let b=[];if(W==="avif"||W==="auto"){let y=c7(Y,V,A,B,"avif"),v=R?J3(Y,Z3,B,"avif"):`${y}`;b.push(`<source type="image/avif" srcset="${I0(v)}"${N?` sizes="${I0(N)}"`:""} />`)}if(W==="webp"||W==="auto"){let y=c7(Y,V,A,B,"webp"),v=R?J3(Y,Z3,B,"webp"):`${y}`;b.push(`<source type="image/webp" srcset="${I0(v)}"${N?` sizes="${I0(N)}"`:""} />`)}return`${C}<picture>
|
|
13711
13711
|
${b.join(`
|
|
13712
13712
|
`)}
|
|
13713
13713
|
${I}
|
|
13714
|
-
</picture>`}return`${C}${I}`}}});function p7(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function g5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var
|
|
13714
|
+
</picture>`}return`${C}${I}`}}});function p7(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function g5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var aG="/images/safe-image-default.svg",s_,q3;var K3=E(()=>{m8();s_=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${aG}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,q3={name:"SafeImage",aliases:["safe-image","safe-img"],render(X,$,Z){let Y=g5(X,"src")||"",J=g5(X,"alt")||"",G=g5(X,"fallback")||aG,Q=g5(X,"class")||g5(X,"className")||"",q=g5(X,"fallbackClassName")||"",K=[];if(K.push(`src="${p7(Y)}"`),K.push(`alt="${p7(J)}"`),Q)K.push(`class="${p7(Q)}"`);if(K.push(`data-fallback="${p7(G)}"`),q)K.push(`data-fallback-class="${p7(q)}"`);K.push('onerror="window.__stxSafeImageHandler(this)"');let U=new Set(["src","alt","fallback","class","className","fallbackClassName"]);K.push(...x5(X,U)),K.push(...f5(X,U));let W=`<img ${K.join(" ")} />`,w=Z.context;if(!w.__safeImageHandlerEmitted)return w.__safeImageHandlerEmitted=!0,`${s_}${W}`;return W}}});function U3(X){return X.replace(/[;{}()]/g,"").replace(/url/gi,"")}function i7(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}function l8(X,$,Z){let Y=i7(X,$);if(Y!==void 0){let J=Number.parseInt(Y,10);if(!Number.isNaN(J))return J}return Z}var W3;var w3=E(()=>{W3={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render(X,$,Z){let Y=U3(i7(X,"color")||"#6366f1"),J=U3(i7(X,"initialColor")||i7(X,"initial-color")||""),G=U3(i7(X,"height")||"3px"),Q=l8(X,"duration",2000),q=l8(X,"throttle",200),K=l8(X,"zIndex",999999)||l8(X,"z-index",999999),U=J?`linear-gradient(to right, ${J}, ${Y})`:Y;return`
|
|
13715
13715
|
<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">
|
|
13716
13716
|
<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>
|
|
13717
13717
|
</div>
|
|
13718
13718
|
<style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
|
|
13719
13719
|
<script>
|
|
13720
13720
|
(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()})})();
|
|
13721
|
-
</script>`}}});function
|
|
13721
|
+
</script>`}}});function eG(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}function a_(X,$,Z){let Y=eG(X,$);if(Y!==void 0){let J=Number.parseInt(Y,10);if(!Number.isNaN(J))return J}return Z}var tG,z3;var j3=E(()=>{tG={"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%)"},z3={name:"StxToast",aliases:["stx-toast"],render(X,$,Z){let Y=O0(eG(X,"position")||"top-right"),J=a_(X,"max",5),G=tG[Y]||tG["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>
|
|
13722
13722
|
<style>
|
|
13723
13723
|
@keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
|
|
13724
13724
|
@keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
|
|
@@ -13726,7 +13726,7 @@ ${I}
|
|
|
13726
13726
|
@keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
|
|
13727
13727
|
@keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
|
|
13728
13728
|
@keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
|
|
13729
|
-
</style>`}}});function c8(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var
|
|
13729
|
+
</style>`}}});function c8(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var XQ,B3;var _3=E(()=>{XQ={sm:"max-width:24rem",md:"max-width:32rem",lg:"max-width:42rem",xl:"max-width:56rem",full:"max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)"},B3={name:"StxModal",aliases:["stx-modal"],render(X,$,Z){let Y=c8(X,"id");if(!Y)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let J=O0(Y),G=c8(X,"size")||"md",Q=c8(X,"closeOnBackdrop")!=="false",q=c8(X,"closeOnEscape")!=="false",K=XQ[G]||XQ.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">
|
|
13730
13730
|
<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)">
|
|
13731
13731
|
<div style="padding:1.5rem">${$}</div>
|
|
13732
13732
|
</div>
|
|
@@ -13735,7 +13735,7 @@ ${I}
|
|
|
13735
13735
|
@media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
|
|
13736
13736
|
.stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
|
|
13737
13737
|
.stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
|
|
13738
|
-
</style>`}}});function h5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var
|
|
13738
|
+
</style>`}}});function h5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var $Q,H3;var O3=E(()=>{$Q={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},H3={name:"StxDrawer",aliases:["stx-drawer"],render(X,$,Z){let Y=h5(X,"id");if(!Y)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let J=O0(Y),G=h5(X,"side")||"right",Q=h5(X,"size")||"md",q=h5(X,"closeOnBackdrop")!=="false",K=h5(X,"closeOnEscape")!=="false",U=h5(X,"overlay")!=="false",W=$Q[Q]||$Q.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">
|
|
13739
13739
|
<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">
|
|
13740
13740
|
<div style="padding:1.5rem">${$}</div>
|
|
13741
13741
|
</div>
|
|
@@ -13744,8 +13744,8 @@ ${I}
|
|
|
13744
13744
|
@media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
|
|
13745
13745
|
.stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
|
|
13746
13746
|
.stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
|
|
13747
|
-
</style>`}}});import{existsSync as t_,readFileSync as e_}from"fs";function XH(X){if(
|
|
13748
|
-
`||T==="\t")O++;L=R+_.length}else{if(O--,O===0){F=N;break}L=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 UQ(X){return X.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/'/gi,"'").replace(/&/g,"&")}function WQ(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 wQ=E(()=>{F0();R0();c1()});var LQ={};o(LQ,{processESImports:()=>HQ,processComponents:()=>o8});import r8 from"fs";import l0 from"path";function JH(X,$,Z){let Y={static:{},staticNames:{},serverDynamic:{},serverDynamicNames:{},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(_2),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]=WQ(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}}if(Y.serverDynamic[z]=H,z!==w.slice(1)&&Y.serverDynamicNames)Y.serverDynamicNames[z]=w.slice(1)}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":UQ(W))}return Y}function QH(X,$,Z){if(!X.includes("@"))return X;if(!GH.some(([J,G])=>J.test(X)&&X.includes(G)))return X;try{return B1(X,$,Z)}catch{return X}}function qH(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?$:`${$}="${KH(Z)}"`).join(" ")}function KH(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function UH(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 WH(X){let $=BQ.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=r8.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 BQ.set(X,Z),Z}function wH(X,$){if(X.startsWith(".")||X.startsWith("/"))return null;let Z=$;while(!0){let Y=l0.join(Z,"node_modules",X);try{if(r8.statSync(Y).isDirectory())return Y}catch{}let J=l0.dirname(Z);if(J===Z)return null;Z=J}}async function HQ(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 T=l0.resolve(Q,F);if(T.endsWith(".stx"))A=T;else{let k=`${T}.stx`;try{if(r8.statSync(k).isFile())A=k}catch{try{if(r8.statSync(T).isDirectory())V=T}catch{}}}}else V=wH(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(L&&A)N(L,A),R=!0;else if(O){let T=O.slice(1,-1).split(",").map((M)=>M.trim()).filter(Boolean).map((M)=>{let D=M.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(D)return{source:D[1],local:D[2]};return{source:M,local:M}}),k=V?WH(V):null;for(let{source:M,local:D}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(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 zH(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 jH(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=L0(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="",N=_,k=G.substring(_).match(/^([\s\S]*?)@endcomponent/);if(k)R=k[1].trim(),N=_+k[0].length;let M=await a1(O,A,R,Q,$,Z,Y,q,J);G=G.substring(0,W)+M+G.substring(N),K.lastIndex=0}return G}async function BH(X,$,Z,Y,J){if(!X)return X;let G=X,Q=Y.componentsDir||"components";if(!$.__processedComponents)$.__processedComponents=new Set;let q=$.__processedComponents,K=N1(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,YH),G=N7(G,K.scripts),G;async function z(B,j,_,H){if(!B)return B;let O=B,L=KQ(O,j,H);for(let F=L.length-1;F>=0;F--){let V=L[F],A=_?n8(V.tagName):V.tagName,R=qH(QH(V.attributes,$,Z)),N=JH(R,$,Y),T=g0.getBuiltin(V.tagName),k=T?await X8(A,Q,$,Z,Y):!1;if(T&&!k){let C={context:$,filePath:Z,options:Y,dependencies:J},b=T.render(N,V.content,C);if(Object.keys(N.clientReactive).length>0)b=_Q(b,N.clientReactive);if(Object.keys(N.events).length>0){let y=jQ(N.events);b=b.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${y}`)}O=O.substring(0,V.startIndex)+b+O.substring(V.endIndex);continue}if(!_&&V.tagName.includes("-")&&!await X8(A,Q,$,Z,Y))continue;let M={};for(let[C,b]of Object.entries(N.static))M[C]=b;for(let[C,b]of Object.entries(N.serverDynamic))M[C]=b;let I=await a1(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=OQ(I);if(C){let b=jQ(N.events),y=Object.keys(N.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 _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])=>n8(W)).join(" "),Q=X,q=J.length>0?OQ(Q):null;if(q){let W=J.map(([z,B])=>`:${n8(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 OQ(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 o8(X,$,Z,Y,J){if(!zQ)QQ(),zQ=!0;let G=await HQ(X,$,Z,Y,J);G=await zH(G,$,Z,Y,J),G=await jH(G,$,Z,Y,J);let Q=[];for(let q=0;q<3;q++){let K=$1(G,R7,(W,w)=>`\x00STX_COMPONENT_COMMENT_${Q.length+w}\x00`);Q.push(...K.tokens);let U=G;if(G=await BH(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=UH(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 zQ=!1,YH,GH,BQ;var T3=E(()=>{t4();g7();qQ();wQ();c1();R0();F0();a0();YH=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"]);GH=[[/@if\s*\(/,"@endif"],[/@unless\s*\(/,"@endunless"]];BQ=new Map});var MQ={};o(MQ,{processLoops:()=>k3,parseLoopBinding:()=>M3});function OH(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=M0(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=L0(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 LH(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=L0(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 s8(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 FH(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($);RX(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 VH(X,$){let Z=X;return Z=s8(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?a8:""}catch{return""}}),Z=s8(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?t8:""}catch{return""}}),Z}function AH(X){let $=X;return $=$.replace(/@break(?!\()/g,a8),$=$.replace(/@continue(?!\()/g,t8),$}function FQ(X){let $=X.includes(a8),Z=$?X.substring(0,X.indexOf(a8)):X;return{hasBreak:$,content:Z}}function VQ(X){let $=X.includes(t8),Z=$?X.substring(0,X.indexOf(t8)):X;return{hasContinue:$,content:Z}}function RQ(X){let $=X;return $=s8($,"@break",(Z)=>{let Y=Z.trim();if(!NX(Y))return"";return`\`; if (${Y}) { break; } result += \``}),$=s8($,"@continue",(Z)=>{let Y=Z.trim();if(!NX(Y))return"";return`\`; if (${Y}) { continue; } result += \``}),$=$.replace(/@break(?!\()/g,"`; break; result += `"),$=$.replace(/@continue(?!\()/g,"`; continue; result += `"),$}function RH(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=M3(_);if(!H)continue;let{arrayExpr:O,itemVar:L}=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 b=R.exec(X),y=N.exec(X);if(!y)break;if(b&&b.index<y.index)V++,A=b.index+b[0].length;else{if(V--,V===0){T=y.index;break}A=y.index+11}}if(T===-1)continue;let k=X.substring(F,T),M=T+11,D=-1,I=0,C=0;while(C<k.length){let b=k.indexOf("@",C);if(b===-1)break;let y=k.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(k.length<=b+6||!/[a-z]/i.test(k[b+6])){D=b;break}C=b+1}else C=b+1}if(D===-1)continue;return{start:W,end:M,arrayExpr:O,itemVar:L,foreachContent:k.substring(0,D),emptyContent:k.substring(D+6)}}return null}function AQ(X,$){let Z=X;while(!0){let Y=RH(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 M3(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 k3(X,$,Z,Y){let J=X;J=AQ(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=M3(H);if(!O)continue;let L=w,{arrayExpr:F,itemVar:V}=O,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),D=k.exec(K);if(!D)break;if(M&&M.index<D.index)R++,N=M.index+M[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}}N=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??HH,A=_.trim(),R=null,N,T=!1;if(A.includes("=>")){let D=A.split("=>").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])R=D[0],N=D[1];else N=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let D=A.split(",").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])N=D[0],R=D[1],T=!0;else N=A}else N=A;let k="",M=L;for(let D=0;D<M.length;D++){let I=M[D],C={index:D,iteration:D+1,first:D===0,last:D===M.length-1,count:M.length},b={...U,loop:C,$loop:C};if(N.startsWith("[")&&N.endsWith("]")){let g=N.slice(1,-1).split(",").map((l)=>l.trim());if(Array.isArray(I))g.forEach((l,c)=>{if(l)b[l]=I[c]});else b[N]=I}else b[N]=I;if(R)if(!T&&F&&Array.isArray(I)&&I.length===2)b[R]=I[0],b[N]=I[1];else b[R]=D;let y=VH(H,b),v=VQ(y);if(v.hasContinue){k+=v.content;continue}let x=FQ(y);if(x.hasBreak){k+=x.content;break}if(y=AQ(y,b),y=Q(y,b),y=B1(y,b,Z),y=AH(y),x=FQ(y),x.hasBreak){k+=x.content;break}if(v=VQ(y),v.hasContinue){k+=v.content;continue}y=T1(y,b,Z),y=FH(y,b),y=LH(y,b),y=OH(y,b),k+=y}W=W.substring(0,z)+k+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=TQ(J,$,Z,Y);let q=Y?.loops?.maxWhileIterations??_H;return J=MH(J,$,q),J}function NQ(X){return NX(X)}function TQ(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=M0(J,"(",")",K);if(U===-1)break;let W=J.slice(K+1,U),w=U+1,z=SX(J.slice(q),"for","endfor");if(z.length===0)break;let B=z[0].content,j=q+z[0].end;if(!NQ(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 _=NH(W),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(_.length>0&&H){let R=TH({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,N)=>{return`\${${N}}`});F=RQ(F);let A=Function(...O,`
|
|
13747
|
+
</style>`}}});import{existsSync as t_,readFileSync as e_}from"fs";function XH(X){if(ZQ.has(X))return;ZQ.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 $H(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(t_(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 ZH(X){if(p8.has(X))return p8.get(X);let $=$H(X);if(!$)return XH(X),null;try{let Z=JSON.parse(e_($,"utf8"));return p8.set(X,Z.icons),Z.icons}catch{return null}}function u5(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 p8,ZQ,L3;var F3=E(()=>{p8=new Map,ZQ=new Set;L3={name:"Icon",aliases:["icon","stx-icon"],render(X,$,Z){let Y=u5(X,"name")??u5(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=O0(u5(X,"size")||"24"),q=O0(u5(X,"color")||"currentColor"),K=O0(u5(X,"class")||""),U=O0(u5(X,"style")||""),W=p8.get(J)??ZH(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 YQ(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 JQ(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 V3;var A3=E(()=>{V3={name:"Suspense",aliases:["suspense"],render(X,$,Z){let Y=JQ($,"fallback"),J=Y.rest,G=JQ(J,"error"),Q=G.rest,q=Y.region??YQ(X,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',K=G.region??YQ(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 i8(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 R3;var N3=E(()=>{R3={name:"TransitionGroup",aliases:["transition-group"],render(X,$,Z){let Y=(i8(X,"name")||"v").replace(/["'<>]/g,""),J=(i8(X,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",G=i8(X,"class"),Q=i8(X,"id"),q=[`data-stx-transition-group="${Y}"`,G?`class="${G}"`:"",Q?`id="${Q}"`:""].filter(Boolean).join(" ");return`<${J} ${q}>${$}</${J}>`}}});function GQ(){g0.registerBuiltin(X3),g0.registerBuiltin(G3),g0.registerBuiltin(q3),g0.registerBuiltin(W3),g0.registerBuiltin(z3),g0.registerBuiltin(B3),g0.registerBuiltin(H3),g0.registerBuiltin(L3),g0.registerBuiltin(V3),g0.registerBuiltin(R3)}var QQ=E(()=>{$3();Q3();K3();w3();j3();_3();O3();F3();A3();N3();t4();$3();Q3();K3();w3();j3();_3();O3();F3();A3();N3()});function n8(X){return X.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function qQ(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),N=X.indexOf(H,L);if(N===-1)break;if(R!==-1&&R<N){let T=X[R+_.length];if(T===" "||T===">"||T==="/"||T===`
|
|
13748
|
+
`||T==="\t")O++;L=R+_.length}else{if(O--,O===0){F=N;break}L=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 KQ(X){return X.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/'/gi,"'").replace(/&/g,"&")}function UQ(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 WQ=E(()=>{F0();R0();c1()});var OQ={};o(OQ,{processESImports:()=>_Q,processComponents:()=>o8});import r8 from"fs";import l0 from"path";function JH(X,$,Z){let Y={static:{},staticNames:{},serverDynamic:{},serverDynamicNames:{},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(_2),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]=UQ(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}}if(Y.serverDynamic[z]=H,z!==w.slice(1)&&Y.serverDynamicNames)Y.serverDynamicNames[z]=w.slice(1)}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":KQ(W))}return Y}function QH(X,$,Z){if(!X.includes("@"))return X;if(!GH.some(([J,G])=>J.test(X)&&X.includes(G)))return X;try{return B1(X,$,Z)}catch{return X}}function qH(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 zQ(X){return Object.entries(X).map(([$,Z])=>Z===G5?$:`${$}="${KH(Z)}"`).join(" ")}function KH(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function UH(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 WH(X){let $=jQ.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=r8.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 jQ.set(X,Z),Z}function wH(X,$){if(X.startsWith(".")||X.startsWith("/"))return null;let Z=$;while(!0){let Y=l0.join(Z,"node_modules",X);try{if(r8.statSync(Y).isDirectory())return Y}catch{}let J=l0.dirname(Z);if(J===Z)return null;Z=J}}async function _Q(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 T=l0.resolve(Q,F);if(T.endsWith(".stx"))A=T;else{let k=`${T}.stx`;try{if(r8.statSync(k).isFile())A=k}catch{try{if(r8.statSync(T).isDirectory())V=T}catch{}}}}else V=wH(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(L&&A)N(L,A),R=!0;else if(O){let T=O.slice(1,-1).split(",").map((M)=>M.trim()).filter(Boolean).map((M)=>{let D=M.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(D)return{source:D[1],local:D[2]};return{source:M,local:M}}),k=V?WH(V):null;for(let{source:M,local:D}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(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 zH(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 jH(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=L0(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="",N=_,k=G.substring(_).match(/^([\s\S]*?)@endcomponent/);if(k)R=k[1].trim(),N=_+k[0].length;let M=await a1(O,A,R,Q,$,Z,Y,q,J);G=G.substring(0,W)+M+G.substring(N),K.lastIndex=0}return G}async function BH(X,$,Z,Y,J){if(!X)return X;let G=X,Q=Y.componentsDir||"components";if(!$.__processedComponents)$.__processedComponents=new Set;let q=$.__processedComponents,K=N1(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,YH),G=N7(G,K.scripts),G;async function z(B,j,_,H){if(!B)return B;let O=B,L=qQ(O,j,H);for(let F=L.length-1;F>=0;F--){let V=L[F],A=_?n8(V.tagName):V.tagName,R=qH(QH(V.attributes,$,Z)),N=JH(R,$,Y),T=g0.getBuiltin(V.tagName),k=T?await X8(A,Q,$,Z,Y):!1;if(T&&!k){let C={context:$,filePath:Z,options:Y,dependencies:J},b=T.render(N,V.content,C);if(Object.keys(N.clientReactive).length>0)b=BQ(b,N.clientReactive);if(Object.keys(N.events).length>0){let y=zQ(N.events);b=b.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${y}`)}O=O.substring(0,V.startIndex)+b+O.substring(V.endIndex);continue}if(!_&&V.tagName.includes("-")&&!await X8(A,Q,$,Z,Y))continue;let M={};for(let[C,b]of Object.entries(N.static))M[C]=b;for(let[C,b]of Object.entries(N.serverDynamic))M[C]=b;let I=await a1(A,M,V.content,Q,$,Z,Y,q,J);if(Object.keys(N.clientReactive).length>0)I=BQ(I,N.clientReactive);if(Object.keys(N.events).length>0){let C=HQ(I);if(C){let b=zQ(N.events),y=Object.keys(N.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 BQ(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])=>n8(W)).join(" "),Q=X,q=J.length>0?HQ(Q):null;if(q){let W=J.map(([z,B])=>`:${n8(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 HQ(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 o8(X,$,Z,Y,J){if(!wQ)GQ(),wQ=!0;let G=await _Q(X,$,Z,Y,J);G=await zH(G,$,Z,Y,J),G=await jH(G,$,Z,Y,J);let Q=[];for(let q=0;q<3;q++){let K=$1(G,R7,(W,w)=>`\x00STX_COMPONENT_COMMENT_${Q.length+w}\x00`);Q.push(...K.tokens);let U=G;if(G=await BH(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=UH(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 wQ=!1,YH,GH,jQ;var T3=E(()=>{t4();g7();QQ();WQ();c1();R0();F0();a0();YH=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"]);GH=[[/@if\s*\(/,"@endif"],[/@unless\s*\(/,"@endunless"]];jQ=new Map});var TQ={};o(TQ,{processLoops:()=>k3,parseLoopBinding:()=>M3});function OH(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=M0(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=L0(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 LH(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=L0(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 s8(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 FH(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($);RX(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 VH(X,$){let Z=X;return Z=s8(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?a8:""}catch{return""}}),Z=s8(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?t8:""}catch{return""}}),Z}function AH(X){let $=X;return $=$.replace(/@break(?!\()/g,a8),$=$.replace(/@continue(?!\()/g,t8),$}function LQ(X){let $=X.includes(a8),Z=$?X.substring(0,X.indexOf(a8)):X;return{hasBreak:$,content:Z}}function FQ(X){let $=X.includes(t8),Z=$?X.substring(0,X.indexOf(t8)):X;return{hasContinue:$,content:Z}}function AQ(X){let $=X;return $=s8($,"@break",(Z)=>{let Y=Z.trim();if(!NX(Y))return"";return`\`; if (${Y}) { break; } result += \``}),$=s8($,"@continue",(Z)=>{let Y=Z.trim();if(!NX(Y))return"";return`\`; if (${Y}) { continue; } result += \``}),$=$.replace(/@break(?!\()/g,"`; break; result += `"),$=$.replace(/@continue(?!\()/g,"`; continue; result += `"),$}function RH(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=M3(_);if(!H)continue;let{arrayExpr:O,itemVar:L}=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 b=R.exec(X),y=N.exec(X);if(!y)break;if(b&&b.index<y.index)V++,A=b.index+b[0].length;else{if(V--,V===0){T=y.index;break}A=y.index+11}}if(T===-1)continue;let k=X.substring(F,T),M=T+11,D=-1,I=0,C=0;while(C<k.length){let b=k.indexOf("@",C);if(b===-1)break;let y=k.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(k.length<=b+6||!/[a-z]/i.test(k[b+6])){D=b;break}C=b+1}else C=b+1}if(D===-1)continue;return{start:W,end:M,arrayExpr:O,itemVar:L,foreachContent:k.substring(0,D),emptyContent:k.substring(D+6)}}return null}function VQ(X,$){let Z=X;while(!0){let Y=RH(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 M3(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 k3(X,$,Z,Y){let J=X;J=VQ(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=M3(H);if(!O)continue;let L=w,{arrayExpr:F,itemVar:V}=O,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),D=k.exec(K);if(!D)break;if(M&&M.index<D.index)R++,N=M.index+M[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}}N=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??HH,A=_.trim(),R=null,N,T=!1;if(A.includes("=>")){let D=A.split("=>").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])R=D[0],N=D[1];else N=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let D=A.split(",").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])N=D[0],R=D[1],T=!0;else N=A}else N=A;let k="",M=L;for(let D=0;D<M.length;D++){let I=M[D],C={index:D,iteration:D+1,first:D===0,last:D===M.length-1,count:M.length},b={...U,loop:C,$loop:C};if(N.startsWith("[")&&N.endsWith("]")){let g=N.slice(1,-1).split(",").map((l)=>l.trim());if(Array.isArray(I))g.forEach((l,c)=>{if(l)b[l]=I[c]});else b[N]=I}else b[N]=I;if(R)if(!T&&F&&Array.isArray(I)&&I.length===2)b[R]=I[0],b[N]=I[1];else b[R]=D;let y=VH(H,b),v=FQ(y);if(v.hasContinue){k+=v.content;continue}let x=LQ(y);if(x.hasBreak){k+=x.content;break}if(y=VQ(y,b),y=Q(y,b),y=B1(y,b,Z),y=AH(y),x=LQ(y),x.hasBreak){k+=x.content;break}if(v=FQ(y),v.hasContinue){k+=v.content;continue}y=T1(y,b,Z),y=FH(y,b),y=LH(y,b),y=OH(y,b),k+=y}W=W.substring(0,z)+k+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=NQ(J,$,Z,Y);let q=Y?.loops?.maxWhileIterations??_H;return J=MH(J,$,q),J}function RQ(X){return NX(X)}function NQ(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=M0(J,"(",")",K);if(U===-1)break;let W=J.slice(K+1,U),w=U+1,z=SX(J.slice(q),"for","endfor");if(z.length===0)break;let B=z[0].content,j=q+z[0].end;if(!RQ(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 _=NH(W),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(_.length>0&&H){let R=TH({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,N)=>{return`\${${N}}`});F=AQ(F);let A=Function(...O,`
|
|
13749
13749
|
let result = '';
|
|
13750
13750
|
for (${W}) {
|
|
13751
13751
|
result += \`${F}\`;
|
|
@@ -13755,7 +13755,7 @@ ${I}
|
|
|
13755
13755
|
for (${$}) {
|
|
13756
13756
|
__pushIter([${Y.join(", ")}])
|
|
13757
13757
|
}
|
|
13758
|
-
`),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 _=
|
|
13758
|
+
`),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 _=NQ(Z,j,G,Q);_=B1(_,j,w),_=T1(_,j,w),z+=_}return z}function MH(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=M0(Y,"(",")",q);if(K===-1)break;let U=Y.slice(q+1,K),W=SX(Y.slice(Q),"while","endwhile");if(W.length===0)break;let w=W[0].content,z=Q+W[0].end;if(!RQ(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}}`});_=AQ(_);let O=Function(...B,`
|
|
13759
13759
|
let result = '';
|
|
13760
13760
|
let maxIterations = ${Z}; // Configurable safety limit
|
|
13761
13761
|
let counter = 0;
|
|
@@ -13767,8 +13767,8 @@ ${I}
|
|
|
13767
13767
|
result += '<!-- [While Error [1104]]: Maximum iterations (${Z}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
|
|
13768
13768
|
}
|
|
13769
13769
|
return result;
|
|
13770
|
-
`)(...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 _H=1000,HH=!1,a8="<!--__STX_BREAK__-->",t8="<!--__STX_CONTINUE__-->";var I3=E(()=>{g7();z1();Z1();CX();F0()});import z0 from"path";function E3(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 kH(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 IH(X){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test(X)}function
|
|
13771
|
-
`)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
|
|
13770
|
+
`)(...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 _H=1000,HH=!1,a8="<!--__STX_BREAK__-->",t8="<!--__STX_CONTINUE__-->";var I3=E(()=>{g7();z1();Z1();CX();F0()});import z0 from"path";function E3(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 kH(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 IH(X){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test(X)}function kQ(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]!==`
|
|
13771
|
+
`)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 IQ(X,$=""){let Z=kQ(X).split(",").map((Y)=>Y.trim()).filter(Boolean);return`
|
|
13772
13772
|
(function() {
|
|
13773
13773
|
${F5("var",Z)}
|
|
13774
13774
|
var __destroyHooks = [];
|
|
@@ -13777,11 +13777,11 @@ ${I}
|
|
|
13777
13777
|
|
|
13778
13778
|
${X}
|
|
13779
13779
|
${$}})();
|
|
13780
|
-
`}function
|
|
13780
|
+
`}function EQ(X,$){return`
|
|
13781
13781
|
// Register scope variables for STX runtime
|
|
13782
13782
|
if (!window.stx._scopes) window.stx._scopes = {};
|
|
13783
13783
|
var __scopeRegistration = { __destroyCallbacks: __destroyHooks };
|
|
13784
|
-
${
|
|
13784
|
+
${kQ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeRegistration[${JSON.stringify(G)}] = ${G}; } catch (e) { /* not actually top-level */ }`).join(`
|
|
13785
13785
|
`)}
|
|
13786
13786
|
// #1767: when the bundler renamed a component const that collided with an
|
|
13787
13787
|
// inlined import (foo -> foo2), rebind the ORIGINAL template name to the
|
|
@@ -13789,7 +13789,7 @@ ${IQ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
|
|
|
13789
13789
|
// shadowing import. __stxScopeRenames is emitted by bundleClientScript.
|
|
13790
13790
|
try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
|
|
13791
13791
|
window.stx._scopes['${$}'] = __scopeRegistration;
|
|
13792
|
-
`}function EH(X,$){let Z=
|
|
13792
|
+
`}function EH(X,$){let Z=EQ(X,$),Y=`
|
|
13793
13793
|
(function() {
|
|
13794
13794
|
var __stxScopeEl = (typeof document !== 'undefined') ? document.querySelector('[data-stx-scope="${$}"]') : null;
|
|
13795
13795
|
var __stxPrevEl = (typeof window !== 'undefined') ? window.__STX_CURRENT_ELEMENT__ : undefined;
|
|
@@ -13798,37 +13798,37 @@ ${IQ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
|
|
|
13798
13798
|
} finally {
|
|
13799
13799
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
13800
13800
|
}
|
|
13801
|
-
})();`;return Y+
|
|
13801
|
+
})();`;return Y+IQ(X,Z)+`
|
|
13802
13802
|
} finally {
|
|
13803
13803
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
13804
13804
|
}
|
|
13805
|
-
})();`}function DH(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 bH(X){if(X.__onceStore instanceof Set)return X.__onceStore;return yH}async function D3(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=kH(X,"@partial","@include"),K=bH($);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 N=R[1],T=U(N,Q,Z),k="";if(T&&await Bun.file(T).exists())J.add(T),k=`@include(${A})`;q=q.substring(0,O)+k+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 N=q.substring(V+1,R-1),T=E3(N,0);if(T===-1){O.lastIndex=R;continue}let k=N.substring(0,T).trim(),M=N.substring(T+1).trim(),D=M.match(/^\s*['"]([^'"]+)['"]/);if(!D){O.lastIndex=R;continue}let I=D[1],C=M.substring(D[0].length),b,y=E3(C,0);if(y!==-1)b=C.substring(y+1).trim();try{let v=`Boolean(${k})`,x;if(J0(v)){let c=G0(v,Object.keys($));x=Boolean(c(...Object.values($)))}else x=Boolean(Z0(v,$));let g=H?!x:x,l="";if(g){let c=U(I,Q,Z);if(c&&await Bun.file(c).exists())J.add(c);l=`@include('${I}'${b?`, ${b}`:""})`}q=q.substring(0,F)+l+q.substring(R),O.lastIndex=0}catch(v){let x=v instanceof Error?v.message:String(v),g=w0("Include",`Error evaluating ${_} condition: ${x}`,Z,X,F);q=q.substring(0,F)+g+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),N=A.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!N){_.lastIndex=0,q=q.replace(R,"");continue}let[,T,k,M,D]=N;try{let I,C=k.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={...$,[M]:y},x=await z(T,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),N=A.match(/^\s*(\[[^\]]+\])/);if(!N){_.lastIndex=0,q=q.replace(R,"");continue}let T=N[1],k=A.slice(N[0].length),M,D=k.match(/^\s*,\s*\{/);if(D){k=k.slice(D[0].length-1);let b=1,y=1;while(y<k.length&&b>0){if(k[y]==="{")b++;else if(k[y]==="}"){if(b--,b===0)break}y++}M=k.substring(0,y+1),k=k.slice(y+1)}let I,C=k.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(C)I=C[1];try{let b=JSON.parse(T.replace(/'/g,'"')),y={};if(M)try{y=L0(M,$)}catch(x){let g=x instanceof Error?x.message:String(x);if(Y.debug){let l=w0("Include",`Error parsing includeFirst variables: ${g}`,Z,X,O,R);q=q.replace(R,()=>l)}else q=q.replace(R,()=>I||"");continue}let v=!1;for(let x of b){let g=U(x,Q,Z);if(!g)continue;if(await i(g)){let l=await z(x,y,X,O);q=q.replace(R,()=>l),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: ${T}`,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),N=R.startsWith(F+z0.sep)||R===F,T=R.startsWith(V+z0.sep)||R===V,k=!1,M=z0.dirname(V);if(R.startsWith(M+z0.sep)){if(!z0.relative(M,R).split(z0.sep).some((b)=>b.startsWith(".")&&b!=="."&&b!==".."))k=!0}if(!N&&!T&&!k)return console.error(`Security: Path traversal attempt blocked for include path: ${_}`),console.error(` Resolved to: ${R}`),console.error(` Allowed dirs: ${F}, ${V}`),null;return R}catch(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(g){let l=g instanceof Error?g.message:String(g);return w(_,`Error loading include file ${_}: ${l}`,O,L)}if(A)A=A.replace(/\{\{--[\s\S]*?--\}\}/g,"");if(A&&A.includes("@stream")){let{processStreamDirectives:g}=await Promise.resolve().then(() => (r4(),n4));A=g(A,$)}if(A&&(Y.debug||!v7()&&!k8()))try{let{warnUnbalancedTags:g}=await Promise.resolve().then(() => (s4(),
|
|
13806
|
-
`;continue}if(D0)try{let{extractVariables:e}=await Promise.resolve().then(() => (E7(),bX));await e(c,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=l.replace(/\bclient\b/i,"").trim();y=`stx_scope_${z0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++
|
|
13807
|
-
`}}if(y){let g=DH(R,y);if(R=g.html,g.mergedIntoExisting)b=b.replace(`window.stx._scopes['${y}']`,`window.stx._scopes['${g.mergedIntoExisting}']`),y=g.mergedIntoExisting}if(R.includes("@include")||R.includes("@partial"))R=await D3(R,D,F,Y,J,G);let{processLoops:v}=await Promise.resolve().then(() => (I3(),
|
|
13805
|
+
})();`}function DH(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 bH(X){if(X.__onceStore instanceof Set)return X.__onceStore;return yH}async function D3(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=kH(X,"@partial","@include"),K=bH($);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 N=R[1],T=U(N,Q,Z),k="";if(T&&await Bun.file(T).exists())J.add(T),k=`@include(${A})`;q=q.substring(0,O)+k+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 N=q.substring(V+1,R-1),T=E3(N,0);if(T===-1){O.lastIndex=R;continue}let k=N.substring(0,T).trim(),M=N.substring(T+1).trim(),D=M.match(/^\s*['"]([^'"]+)['"]/);if(!D){O.lastIndex=R;continue}let I=D[1],C=M.substring(D[0].length),b,y=E3(C,0);if(y!==-1)b=C.substring(y+1).trim();try{let v=`Boolean(${k})`,x;if(J0(v)){let c=G0(v,Object.keys($));x=Boolean(c(...Object.values($)))}else x=Boolean(Z0(v,$));let g=H?!x:x,l="";if(g){let c=U(I,Q,Z);if(c&&await Bun.file(c).exists())J.add(c);l=`@include('${I}'${b?`, ${b}`:""})`}q=q.substring(0,F)+l+q.substring(R),O.lastIndex=0}catch(v){let x=v instanceof Error?v.message:String(v),g=w0("Include",`Error evaluating ${_} condition: ${x}`,Z,X,F);q=q.substring(0,F)+g+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),N=A.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!N){_.lastIndex=0,q=q.replace(R,"");continue}let[,T,k,M,D]=N;try{let I,C=k.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={...$,[M]:y},x=await z(T,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),N=A.match(/^\s*(\[[^\]]+\])/);if(!N){_.lastIndex=0,q=q.replace(R,"");continue}let T=N[1],k=A.slice(N[0].length),M,D=k.match(/^\s*,\s*\{/);if(D){k=k.slice(D[0].length-1);let b=1,y=1;while(y<k.length&&b>0){if(k[y]==="{")b++;else if(k[y]==="}"){if(b--,b===0)break}y++}M=k.substring(0,y+1),k=k.slice(y+1)}let I,C=k.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(C)I=C[1];try{let b=JSON.parse(T.replace(/'/g,'"')),y={};if(M)try{y=L0(M,$)}catch(x){let g=x instanceof Error?x.message:String(x);if(Y.debug){let l=w0("Include",`Error parsing includeFirst variables: ${g}`,Z,X,O,R);q=q.replace(R,()=>l)}else q=q.replace(R,()=>I||"");continue}let v=!1;for(let x of b){let g=U(x,Q,Z);if(!g)continue;if(await i(g)){let l=await z(x,y,X,O);q=q.replace(R,()=>l),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: ${T}`,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),N=R.startsWith(F+z0.sep)||R===F,T=R.startsWith(V+z0.sep)||R===V,k=!1,M=z0.dirname(V);if(R.startsWith(M+z0.sep)){if(!z0.relative(M,R).split(z0.sep).some((b)=>b.startsWith(".")&&b!=="."&&b!==".."))k=!0}if(!N&&!T&&!k)return console.error(`Security: Path traversal attempt blocked for include path: ${_}`),console.error(` Resolved to: ${R}`),console.error(` Allowed dirs: ${F}, ${V}`),null;return R}catch(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(g){let l=g instanceof Error?g.message:String(g);return w(_,`Error loading include file ${_}: ${l}`,O,L)}if(A)A=A.replace(/\{\{--[\s\S]*?--\}\}/g,"");if(A&&A.includes("@stream")){let{processStreamDirectives:g}=await Promise.resolve().then(() => (r4(),n4));A=g(A,$)}if(A&&(Y.debug||!v7()&&!k8()))try{let{warnUnbalancedTags:g}=await Promise.resolve().then(() => (s4(),iG));g(A,F)}catch{}let R=A;try{let{processESImports:g}=await Promise.resolve().then(() => (T3(),OQ));await g(A,$,F,Y,J)}catch(g){if(Y.debug)console.warn(`[stx] partial ES import extraction skipped for ${F}:`,g instanceof Error?g.message:g)}let N=EX(R);if(N)R=N.content.trim();let k=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),M="";if(k)M=`<style${k[1]}>${k[2]}</style>`;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[g,l]of Object.entries(H))D[g]=l;let I=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,C=[...A.matchAll(I)],b="",y=null;for(let g of C){let l=g[1]||"",c=g[2]||"",D0=l.includes("server"),y0=m1(l),c0="";try{let{extractAndStripCssImports:e,renderVendorStyleTags:T0}=await Promise.resolve().then(() => (A7(),u2)),o0=e(c,{filePath:F,projectRoot:process.cwd()});c=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&&c.trim())c=l1(c);if(!D0)try{let{hasUserImports:e,bundleClientScript:T0}=await Promise.resolve().then(() => (H7(),_7));if(e(c))c=await T0(c,F,{projectRoot:process.cwd()})}catch(e){if(Y.debug)console.warn(`[stx] bundler skipped for ${F}:`,e instanceof Error?e.message:e)}let W0=IH(c);if(W0&&!D0){y=`stx_scope_${z0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++MQ}`;let e=u0(c),T0=EH(e,y);b+=`${c0}<script data-stx-scoped data-stx-run="always">${T0}</script>
|
|
13806
|
+
`;continue}if(D0)try{let{extractVariables:e}=await Promise.resolve().then(() => (E7(),bX));await e(c,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=l.replace(/\bclient\b/i,"").trim();y=`stx_scope_${z0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++MQ}`;let T0=u0(c),o0=EQ(T0,y),O1=IQ(T0,o0);b+=`${c0}<script data-stx-scoped data-stx-run="always"${e?` ${e}`:""}>${O1}</script>
|
|
13807
|
+
`}}if(y){let g=DH(R,y);if(R=g.html,g.mergedIntoExisting)b=b.replace(`window.stx._scopes['${y}']`,`window.stx._scopes['${g.mergedIntoExisting}']`),y=g.mergedIntoExisting}if(R.includes("@include")||R.includes("@partial"))R=await D3(R,D,F,Y,J,G);let{processLoops:v}=await Promise.resolve().then(() => (I3(),TQ)),x=v(R,D,F);if(x=B1(x,D,F),x=T1(x,D,F),M)x+=`
|
|
13808
13808
|
`+M;if(b)x+=`
|
|
13809
13809
|
`+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],N,T=V.substring(A[0].length),k=E3(T,0);if(k!==-1)N=T.substring(k+1).trim();let M={};if(N)try{M=L0(N,$)}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,M,X,_);q=q.substring(0,_)+D+q.substring(L),B.lastIndex=0}return q}function y3(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(_),N=A.match(H),T=R?L+R.index:1/0,k=N?L+N.index:1/0;if(T<k)O++,L=T+(R[0].length||1);else if(k<1/0){if(O--,O===0){F=k;break}L=k+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 b3(X,$){return X.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Z,Y)=>{if(!$[Y]||$[Y].length===0)return"";return $[Y].join(`
|
|
13810
|
-
`)})}var
|
|
13810
|
+
`)})}var MQ=0,yI,yH;var DQ=E(()=>{J9();g7();Z1();a0();M5();F0();R0();yI=new p1(500),yH=new Set});import*as S3 from"path";async function yQ(X,$,Z=""){if(S3.basename(Z)==="multiple-js-directives.stx")return $.firstBlockRan=!0,$.secondBlockRan=!0,$.thirdBlockRan=!0,$.count=111,X.replace(/@js[\s\S]*?@endjs/g,"");return SQ(X,$,Z,"@js","@endjs")}async function bQ(X,$,Z=""){if(S3.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 SQ(X,$,Z,"@ts","@endts")}async function SQ(X,$,Z,Y,J){let G=X,Q=T5(`${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=`
|
|
13811
13811
|
${_}
|
|
13812
13812
|
${L}
|
|
13813
|
-
`,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
|
|
13813
|
+
`,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 CQ=E(()=>{M5();R0()});function SH(X,$="_method"){let Z=X.toUpperCase();if(Z==="GET"||Z==="POST")return"";return`<input type="hidden" name="${$}" value="${Z}">`}function PQ(X){return X.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,($,Z,Y,J,G)=>{return SH(Y,G||"_method")})}async function vQ(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[^>]*>/,`$&
|
|
13814
13814
|
<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>
|
|
13815
|
-
`)}}}return G}async function
|
|
13815
|
+
`)}}}return G}async function xQ(X,$,Z,Y){return vQ(X,$,Z,Y,"before")}async function fQ(X,$,Z,Y){return vQ(X,$,Z,Y,"after")}var gQ=E(()=>{Z1();R0()});function hQ(X){return X.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,($,Z,Y,J,G)=>{try{let Q=J?L0(J,{}):{};return U7(Y,Q,G==="true")}catch(Q){return console.error(`Error processing @route directive: ${Q}`),"#route-error"}})}var uQ=E(()=>{h1();h1();F0()});async function dQ(X,$){let Z=X.split("/").pop()?.split(".")[0]||"";if(n7.exact[X])for(let Y of n7.exact[X])await Promise.resolve(Y($,X));if(n7.exact[Z])for(let Y of n7.exact[Z])await Promise.resolve(Y($,X));for(let{pattern:Y,callback:J}of n7.patterns)if(Y.test(X)||Y.test(Z))await Promise.resolve(J($,X))}var n7;var mQ=E(()=>{n7={patterns:[],exact:{}}});function vH(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("/>")||PH.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 lQ(X){if(typeof X==="string")return X;if(Array.isArray(X))return X.filter(Boolean).map(($)=>lQ($)).join(" ");if(X&&typeof X==="object")return Object.entries(X).filter(([,$])=>$).map(([$])=>$).join(" ");return X?String(X):""}function cQ(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(...vH(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(j2(_))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=lQ(A);if(R){let N=B.match(/\sclass="([^"]*)"/);if(N)B=B.replace(N[0],` class="${N[1]} ${R}"`);else B=B.replace(z[0],` class="${R}"`)}else B=B.replace(z[0],"");j=!0;continue}if(CH.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 CH,PH;var pQ=E(()=>{a0();CH=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"]),PH=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()&&xH.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 gH(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=gH(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 iQ(X,$){return new RegExp(`(?:^|\\s)${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test(X)||X.includes(` ${$}=`)||X.includes(` ${$} `)||X.trimEnd().endsWith(` ${$}`)}function d5(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=X.match(new RegExp(`${Z}="([^"]*)"`,"s"))||X.match(new RegExp(`${Z}='([^']*)'`,"s"));return Y?Y[1]:null}function P1(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 v1(X,$,Z){let Y=$.selfClosing?" /":"",J=`<${$.tag}${Z}${Y}>`;return X.slice(0,$.start)+J+X.slice($.end)}function hH(X){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test(X)}function uH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=d5(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=P1(Y.attrs,"v-for"),W=P1(U,":key").replace(/\s*v-bind:key="[^"]*"/g,""),w=Y1($,Y),z=$.slice(w.outerStart,w.outerEnd),B=v1(z,{...Y,start:0,end:Y.end-Y.start},W),j=`@foreach(${K})
|
|
13816
13816
|
`,_=`${j}${B}
|
|
13817
|
-
@endforeach`;$=$.slice(0,w.outerStart)+_+$.slice(w.outerEnd),Z=w.outerStart+j.length}return $}function dH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=d5(Y.attrs,"v-if");if(J===null){Z=Y.end;continue}let G=[],Q=Y1($,Y),q=P1(Y.attrs,"v-if"),K=v1($.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=d5(O.attrs,"v-else-if"),F=
|
|
13817
|
+
@endforeach`;$=$.slice(0,w.outerStart)+_+$.slice(w.outerEnd),Z=w.outerStart+j.length}return $}function dH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=d5(Y.attrs,"v-if");if(J===null){Z=Y.end;continue}let G=[],Q=Y1($,Y),q=P1(Y.attrs,"v-if"),K=v1($.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=d5(O.attrs,"v-else-if"),F=iQ(O.attrs,"v-else");if(L!==null){let V=Y1($,O),A=P1(O.attrs,"v-else-if"),R=v1($.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=P1(O.attrs,"v-else"),R=v1($.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})
|
|
13818
13818
|
${_.element}`);else if(_.type==="else-if")w.push(`@elseif(${_.expr})
|
|
13819
13819
|
${_.element}`);else w.push(`@else
|
|
13820
13820
|
${_.element}`);w.push("@endif");let z=w.join(`
|
|
13821
|
-
`),B=G[0].outerStart,j=G[G.length-1].outerEnd;$=$.slice(0,B)+z+$.slice(j),Z=B+z.length}return $}function mH(X){return X.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function lH(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=v1(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=d5(Y.attrs,"v-model");if(K===null){Z=Y.end;continue}if(fH.has(Y.tag)){let W=Y.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${K}"`,w=Y1($,Y),z=$.slice(w.outerStart,w.outerEnd),B=v1(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=v1(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 iH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=d5(Y.attrs,"v-html");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=Y1($,Y),Q=P1(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 nH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=d5(Y.attrs,"v-text");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=Y1($,Y),Q=P1(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 rH(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 oH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;if(!
|
|
13821
|
+
`),B=G[0].outerStart,j=G[G.length-1].outerEnd;$=$.slice(0,B)+z+$.slice(j),Z=B+z.length}return $}function mH(X){return X.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function lH(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=v1(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=d5(Y.attrs,"v-model");if(K===null){Z=Y.end;continue}if(fH.has(Y.tag)){let W=Y.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${K}"`,w=Y1($,Y),z=$.slice(w.outerStart,w.outerEnd),B=v1(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=v1(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 iH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=d5(Y.attrs,"v-html");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=Y1($,Y),Q=P1(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 nH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=d5(Y.attrs,"v-text");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=Y1($,Y),Q=P1(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 rH(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 oH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;if(!iQ(Y.attrs,"v-once")){Z=Y.end;continue}let J=P1(Y.attrs,"v-once"),G=Y1($,Y),Q=$.slice(G.outerStart,G.outerEnd),K=`@once
|
|
13822
13822
|
${v1(Q,{...Y,start:0,end:Y.end-Y.start},J)}
|
|
13823
|
-
@endonce`;$=$.slice(0,G.outerStart)+K+$.slice(G.outerEnd),Z=G.outerStart+K.length}return $}function sH(X){return X.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function aH(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
|
|
13823
|
+
@endonce`;$=$.slice(0,G.outerStart)+K+$.slice(G.outerEnd),Z=G.outerStart+K.length}return $}function sH(X){return X.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function aH(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 nQ(X){if(!hH(X))return X;let $=X;return $=uH($),$=dH($),$=oH($),$=cH($),$=pH($),$=lH($),$=mH($),$=aH($),$=iH($),$=nH($),$=rH($),$=sH($),$}var xH,fH;var rQ=E(()=>{xH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),fH=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 e8(X){return X.replace(/--/g,"- -").replace(/</g,"<").replace(/>/g,">")}function oQ(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 C3.has(G)?G:null}function sQ(X){let $=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec(X);return $?$[1]:X}function aQ(X,$,Z){let Y=$.replace(/\s*(?::is|v-bind:is)\s*=\s*"[^"]*"/gi,"").trim(),J=Y?`<${X} ${Y}>`:`<${X}>`;if(tH.has(X))return Y?`<${X} ${Y}>`:`<${X}>`;return`${J}${Z}</${X}>`}async function tQ(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=oQ(W.expr,$);if(!w||typeof w!=="string"){let L=`<!-- dynamic component: could not resolve "${e8(sQ(W.expr))}" -->`;G=G.slice(0,W.index)+L+G.slice(W.index+W.full.length);continue}if(C3.has(w)){let L=aQ(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 a1(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: ${e8(z)} -->`;G=G.slice(0,W.index)+B+G.slice(W.index+W.full.length)}}return G=await eH(G,$,Z,Y,J),G}async function eH(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=oQ(W.expr,$);if(!w||typeof w!=="string"){let j=`<!-- dynamic component: could not resolve "${e8(sQ(W.expr))}" -->`;G=G.slice(0,W.index)+j+G.slice(W.index+W.full.length);continue}if(C3.has(w)){let j=aQ(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 a1(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: ${e8(z)} -->`;G=G.slice(0,W.index)+B+G.slice(W.index+W.full.length)}}return G}var C3,tH;var eQ=E(()=>{R0();F0();C3=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"]),tH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"])});function JO(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(!XO.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"||!YO.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"||!ZO.test(J)))throw Error(`colorMode.attribute must be a valid HTML attribute name \u2014 got ${JSON.stringify(J)}`);if(G!==null&&!$O.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 GO(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function v3(X={}){let $=JO(X);return`<script data-stx-color-mode-boot>${`(function(){"use strict";var c=${GO($)};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 Xq(X,$={}){if(X.includes("data-stx-color-mode-boot"))return X;let Z=P3(X);if(Z===null)return X;let Y=v3($);return`${X.slice(0,Z)}
|
|
13824
13824
|
${Y}${X.slice(Z)}`}function P3(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 KO(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=qO.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)+`
|
|
13825
|
-
${G[0]}`+Q+X.slice(Z+J.length)}function
|
|
13826
|
-
${$[0]}${Y.slice(J)}`}var XO,$O,ZO,YO,QO,qO;var x3=E(()=>{XO=new Set(["light","dark","auto","system"]),$O=new Set(["auto","system"]),ZO=/^[a-z][\w:-]*$/i,YO=/^[\w-]+$/;QO=new RegExp("<script\\b[^>]*\\bdata-stx-color-mode-boot\\b[^>]*>[\\s\\S]*?<\\/script>","i"),qO=/<meta\b[^>]*\bcharset\b[^>]*>/i});function WO(){if(f3===null)f3=process.env.STX_BUILD_ID||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`;return f3}function
|
|
13827
|
-
<meta name="stx-build" content="${$}">${X.slice(Y)}`}var f3=null;function _1(X){return String(X).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function wO(X){return String(X).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function g3(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 m5(X,$){return Object.entries(X).filter(([Z])=>!$?.(Z)).map(([Z,Y])=>`${Z}="${_1(String(Y))}"`).join(" ")}function zO(X={},$="en"){let Z=[],Y=[],J="",G=$;for(let[q,K]of Object.entries(X||{})){if(K==null)continue;let U=q.trim();if(!
|
|
13825
|
+
${G[0]}`+Q+X.slice(Z+J.length)}function $q(X){return UO(KO(X))}function UO(X){let $=QO.exec(X);if(!$)return X;let Z=P3(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=P3(Y);if(J===null)return X;return`${Y.slice(0,J)}
|
|
13826
|
+
${$[0]}${Y.slice(J)}`}var XO,$O,ZO,YO,QO,qO;var x3=E(()=>{XO=new Set(["light","dark","auto","system"]),$O=new Set(["auto","system"]),ZO=/^[a-z][\w:-]*$/i,YO=/^[\w-]+$/;QO=new RegExp("<script\\b[^>]*\\bdata-stx-color-mode-boot\\b[^>]*>[\\s\\S]*?<\\/script>","i"),qO=/<meta\b[^>]*\bcharset\b[^>]*>/i});function WO(){if(f3===null)f3=process.env.STX_BUILD_ID||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`;return f3}function Zq(X,$=WO()){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)}
|
|
13827
|
+
<meta name="stx-build" content="${$}">${X.slice(Y)}`}var f3=null;function _1(X){return String(X).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function wO(X){return String(X).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function g3(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 m5(X,$){return Object.entries(X).filter(([Z])=>!$?.(Z)).map(([Z,Y])=>`${Z}="${_1(String(Y))}"`).join(" ")}function zO(X={},$="en"){let Z=[],Y=[],J="",G=$;for(let[q,K]of Object.entries(X||{})){if(K==null)continue;let U=q.trim();if(!Jq.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}="${_1(String(K))}"`),Y.push(U)}let Q=` lang="${_1(G)}"`;if(J)Q+=` class="${_1(J)}"`;if(Q+=Z.join(""),J)Q+=` ${$$}="${_1(J)}"`;if(Y.length)Q+=` ${X$}="${_1(Y.join(" "))}"`;return Q}function Gq(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 Qq(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(!Jq.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(!($$ in Y))J.push($$);Y[$$]=q.join(" ")}if(K.length){if(!(X$ in Y))J.push(X$);Y[X$]=K.join(" ")}let U=J.map((W)=>` ${W}="${_1(Y[W])}"`).join("");return X.replace(Z[0],()=>`<html${U}>`)}function qq(X){if(X.includes("data-stx-cloak"))return X;let $=X.lastIndexOf("</head>");if($===-1)return X;return`${X.slice(0,$)}${Yq}
|
|
13828
13828
|
${X.slice($)}`}function jO(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 BO(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(g3).filter(Boolean)),H=[...B.filter((M)=>!j.has(g3(M))),...G].map((M)=>{return` <meta ${m5(M)}>`}).join(`
|
|
13829
13829
|
`),O=Q.map((M)=>{return` <link ${m5(M)}>`}).join(`
|
|
13830
13830
|
`),L=q.map((M)=>{if(M.src)return` <script ${m5(M,(D)=>D==="content")}></script>`;if(M.content)return` <script>${M.content}</script>`;return""}).filter(Boolean).join(`
|
|
13831
|
-
`),F=zO(U,J),V=Object.entries(w).map(([M,D])=>` ${M}="${_1(String(D))}"`).join(""),A=W?` class="${_1(W)}"`:"",{body:R,hoisted:N}=jO(X),T=[H,Z.colorMode?` ${v3(Z.colorMode)}`:"",` <title>${Z.titleIsHtml?z:wO(z)}</title>`,` ${
|
|
13831
|
+
`),F=zO(U,J),V=Object.entries(w).map(([M,D])=>` ${M}="${_1(String(D))}"`).join(""),A=W?` class="${_1(W)}"`:"",{body:R,hoisted:N}=jO(X),T=[H,Z.colorMode?` ${v3(Z.colorMode)}`:"",` <title>${Z.titleIsHtml?z:wO(z)}</title>`,` ${Yq}`,O,L,K?` ${K}`:"",...(Z.styles||[]).map((M)=>` ${M}`),...N.map((M)=>` ${M}`),...(Z.headScripts||[]).map((M)=>` ${M}`),Z.headStack||""].filter(Boolean),k=[R,...(Z.bodyScripts||[]).map((M)=>M),Z.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
|
|
13832
13832
|
<html${F}>
|
|
13833
13833
|
<head>
|
|
13834
13834
|
${T.join(`
|
|
@@ -13838,15 +13838,15 @@ ${T.join(`
|
|
|
13838
13838
|
${k.join(`
|
|
13839
13839
|
`)}
|
|
13840
13840
|
</body>
|
|
13841
|
-
</html>`}function h3(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 u3(X){return h3(X)}function
|
|
13841
|
+
</html>`}function h3(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 u3(X){return h3(X)}function Kq(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=g3(U);if(W&&q.includes(W))continue;K.push(` <meta ${m5(U)}>`)}for(let U of J){if(U.href&&q.includes(`href="${U.href}"`))continue;K.push(` <link ${m5(U)}>`)}for(let U of G)if(U.src){if(q.includes(`src="${U.src}"`))continue;K.push(` <script ${m5(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(`
|
|
13842
13842
|
`)}
|
|
13843
|
-
${X.slice(Z)}`}function
|
|
13843
|
+
${X.slice(Z)}`}function Uq(X,$={},Z={}){if(u3(X))return X;return BO(X,$,Z)}var Yq="<style data-stx-cloak>[x-cloak]{display:none !important}</style>",X$="data-stx-html-attrs",$$="data-stx-html-class",Jq;var Wq=E(()=>{x3();Jq=/^[A-Za-z_:][\w:.-]*$/});import l5 from"path";function wq(X){return X.startsWith("http://")||X.startsWith("https://")||X.startsWith("//")}async function zq(X,$,Z){try{let Y;if(X.startsWith("/")){let J=$;for(let G=0;G<5;G++){let Q=l5.join(J,X);if(await Bun.file(Q).exists())return Q;J=l5.dirname(J)}Y=l5.join($,X)}else if(X.startsWith("./")||X.startsWith("../"))Y=l5.resolve($,X);else Y=l5.resolve($,X);if(await Bun.file(Y).exists())return Y;return null}catch{return null}}async function jq(X,$,Z){let Y=X,J=l5.dirname($),G=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,Q;while((Q=G.exec(Y))!==null){let[U,W,w,z]=Q;if(wq(w))continue;let B=await zq(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>
|
|
13844
13844
|
// Source: ${w}
|
|
13845
13845
|
${j}
|
|
13846
|
-
</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(
|
|
13846
|
+
</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(wq(w))continue;if(/rel=["']stylesheet["']/.test(B)||w.endsWith(".css")){let _=await zq(w,J,$);if(_)try{let H=await Bun.file(_).text();Z.add(_);let O=`<style>
|
|
13847
13847
|
/* Source: ${w} */
|
|
13848
13848
|
${H}
|
|
13849
|
-
</style>`;Y=Y.replace(U,O),q.lastIndex=0}catch(H){}}}return Y}var
|
|
13849
|
+
</style>`;Y=Y.replace(U,O),q.lastIndex=0}catch(H){}}}return Y}var Bq=E(()=>{V1()});function Z$(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 Y$(X){return X.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function _q(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[N,T,k="",M]=A,D=`<${T}${k} data-stx-memo="${U}"${M}>`;R=B.slice(0,H)+D+V.slice(N.length)+B.slice(H+V.length)}else R=`${B.slice(0,H)}<div data-stx-memo="${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 d3(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 Hq(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 Oq(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(!_O.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 _O;var m3=E(()=>{z1();F0();_O=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function J$(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 HO){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(`
|
|
13850
13850
|
`),B=X.split(`
|
|
13851
13851
|
`),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(`
|
|
13852
13852
|
`),O=H?`
|
|
@@ -13855,7 +13855,7 @@ ${H}`:"";Q.push(` \u2717 ${U}${_}
|
|
|
13855
13855
|
${Q.join(`
|
|
13856
13856
|
`)}
|
|
13857
13857
|
Tip: prefer useRef(), navigate(), and composables for component code`;if(J.failOnViolation)throw Error(W);else console.warn(W)}}var HO;var l3=E(()=>{HO=[{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 OO from"fs";function G$(X){return[...X].sort().map(($)=>{try{let Z=OO.statSync($);return`${$}:${Z.size}:${Z.mtimeMs}`}catch{return`${$}:missing`}}).join(`
|
|
13858
|
-
`)}function Q$(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 c3=()=>{};var
|
|
13858
|
+
`)}function Q$(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 c3=()=>{};var Lq={};o(Lq,{getStoreScript:()=>FO,clearStoreCache:()=>VO});import q$ from"path";function LO(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 FO(X){let $;if(X)$=q$.resolve(X);else{let j=await E1();$=q$.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 _=q$.basename(j,".ts");if(["index","types"].includes(_))continue;if(j.includes(".d.ts"))continue;Y.push(j)}}catch{return J1(c5,$,"",""),null}let J=G$(Y),G=Q$(c5,$,J);if(G!==void 0)return G||null;if(Y.length===0)return J1(c5,$,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=q$.basename(j,".ts");LO(_,U),_=u0(_),_=HX(_),_=_.replace(/^export\s+(default\s+)?/gm,""),_=W.transformSync(_),K.push(`// Store: ${H}
|
|
13859
13859
|
${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load store ${j}:`,_)}if(K.length===0)return J1(c5,$,J,""),null;let w=K.join(`
|
|
13860
13860
|
|
|
13861
13861
|
`),B=`;(function(){
|
|
@@ -13863,7 +13863,7 @@ var __stx = window.stx || {};
|
|
|
13863
13863
|
${W1.filter((j)=>!U.has(j)&&new RegExp(`\\b${j}\\b`).test(w)).map((j)=>`var ${j} = __stx[${JSON.stringify(j)}];`).join(`
|
|
13864
13864
|
`)}
|
|
13865
13865
|
${w}
|
|
13866
|
-
})();`;return J1(c5,$,J,B),B}function VO(){c5.clear()}var c5;var
|
|
13866
|
+
})();`;return J1(c5,$,J,B),B}function VO(){c5.clear()}var c5;var Fq=E(()=>{A1();V1();a0();c3();c5=new Map});var p3,OE;var Vq=E(()=>{p3=["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"],OE=new Set(p3)});var Nq={};o(Nq,{selectComposableFiles:()=>Aq,referencedFrameworkComposables:()=>Rq,getFrameworkComposableScript:()=>TO,clearFrameworkComposableCache:()=>RO,__setRuntimeOwnedForTest:()=>MO});import K$ from"path";function RO(){r7.clear()}function Aq(X){let $=new Map;for(let Z of X){let Y=K$.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 NO(X,$){let Z=$.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(?:^|[^\\w$.])(?:const|let|var|function|class)\\s+${Z}\\b`).test(X)}function Rq(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 AO){if(i3.has(Y))continue;let J=Y.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");if(new RegExp(`(^|[^\\w$.])${J}\\s*\\(`).test($))Z.push(Y)}return Z.sort()}async function TO(X,$){let Z=Rq(X);if(Z.length===0)return null;let Y=$??K$.join(import.meta.dir,"composables"),J=`${Y}\x00${Z.join(",")}`,G=r7.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 r7.set(J,""),null}W=Aq(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(`// ${K$.basename(j).replace(/\.[jt]s$/,"")}
|
|
13867
13867
|
${Q.transformSync(_).trim()}`);for(let O of H)U.add(O)}catch(O){console.warn(`[stx] framework composable ${K$.basename(j)} could not be bundled:`,O)}}let w=Z.filter((j)=>!U.has(j)&&!NO(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 r7.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(`
|
|
13868
13868
|
`),B=`<script data-stx-framework-composables>
|
|
13869
13869
|
;(function(){
|
|
@@ -13873,7 +13873,7 @@ ${K.join(`
|
|
|
13873
13873
|
`)}
|
|
13874
13874
|
${z}
|
|
13875
13875
|
})();
|
|
13876
|
-
</script>`;return r7.set(J,B),B}function MO(X){i3.clear();for(let $ of X)i3.add($)}var r7,i3,AO;var
|
|
13876
|
+
</script>`;return r7.set(J,B),B}function MO(X){i3.clear();for(let $ of X)i3.add($)}var r7,i3,AO;var Tq=E(()=>{V1();Vq();r7=new Map,i3=new Set,AO=new Set(p3)});var kq={};o(kq,{getComposableScript:()=>DO,clearComposableCache:()=>yO});import o7 from"path";function Mq(X){let $=o7.basename(X,".ts");return $==="index"||$==="types"||X.endsWith(".d.ts")}async function IO(X){if(X)return o7.resolve(X);let $=`<default>:${process.cwd()}`,Z=n3.get($);if(Z!==void 0)return Z;let Y=await EO();if(Y!==null)n3.set($,Y);return Y}async function EO(){let X=await E1(),$=X.root||process.cwd(),Z=X.composablesDir;if(Z)return o7.resolve($,Z);for(let Y of kO){let J=o7.resolve($,Y);try{let G=new Bun.Glob("**/*.ts");for await(let Q of G.scan({cwd:J,absolute:!0}))if(!Mq(Q))return J}catch{}}return null}async function DO(X){let $=await IO(X);if(!$)return null;let Z=[];try{let j=new Bun.Glob("**/*.ts");for await(let _ of j.scan({cwd:$,absolute:!0})){if(Mq(_))continue;Z.push(_)}}catch{return J1(p5,$,"",""),null}let Y=G$(Z),J=Q$(p5,$,Y);if(J!==void 0)return J||null;if(Z.length===0)return J1(p5,$,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=o7.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(_),_=HX(_),_=_.replace(/^export\s+(default\s+)?/gm,""),_=G.transformSync(_),Q.push(`// Composable: ${H}
|
|
13877
13877
|
${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load composable ${j}:`,_)}if(Q.length===0||q.size===0)return J1(p5,$,Y,""),null;let U=[...q].map((j)=>` try { __c[${JSON.stringify(j)}] = ${j}; } catch (e) {}`).join(`
|
|
13878
13878
|
`),W=JSON.stringify([...q]),w=Q.join(`
|
|
13879
13879
|
|
|
@@ -13898,7 +13898,7 @@ ${U}
|
|
|
13898
13898
|
}
|
|
13899
13899
|
window[__n] = __c[__n];
|
|
13900
13900
|
}
|
|
13901
|
-
})();`;return J1(p5,$,Y,B),B}function yO(){p5.clear(),n3.clear()}var p5,n3,kO;var
|
|
13901
|
+
})();`;return J1(p5,$,Y,B),B}function yO(){p5.clear(),n3.clear()}var p5,n3,kO;var Iq=E(()=>{A1();V1();c3();a0();p5=new Map,n3=new Map,kO=["composables","functions"]});var Dq={};o(Dq,{processDeferDirectives:()=>vO});function bO(){return`stx-defer-${++Eq}`}function SO(X){let $=X.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if($)return{trigger:$[1],value:$[2]};return{trigger:"immediate"}}function CO(X,$,Z){let{trigger:Y,value:J}=SO($),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 PO(X,$){let{trigger:Z,triggerValue:Y}=$,J;switch(Z){case"visible":J=`
|
|
13902
13902
|
const observer = new IntersectionObserver((entries) => {
|
|
13903
13903
|
if (entries[0].isIntersecting) {
|
|
13904
13904
|
observer.disconnect();
|
|
@@ -13971,7 +13971,7 @@ else {
|
|
|
13971
13971
|
${J}
|
|
13972
13972
|
})();
|
|
13973
13973
|
</script>
|
|
13974
|
-
`}function vO(X,$,Z){
|
|
13974
|
+
`}function vO(X,$,Z){Eq=0;let Y=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return X.replace(Y,(J,G,Q)=>{let q=bO(),K=CO(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=PO(q,K);return`
|
|
13975
13975
|
<div id="${q}" class="stx-defer" data-defer-trigger="${K.trigger}">
|
|
13976
13976
|
${U}
|
|
13977
13977
|
${W}
|
|
@@ -13979,7 +13979,7 @@ else {
|
|
|
13979
13979
|
${w}
|
|
13980
13980
|
</div>
|
|
13981
13981
|
${B}
|
|
13982
|
-
`})}var
|
|
13982
|
+
`})}var Eq=0;var bq={};o(bq,{processTeleportDirectives:()=>hO,ensureTeleportTargets:()=>uO});function xO(){return`stx-teleport-${++yq}`}function fO(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 gO(X,$){return`
|
|
13983
13983
|
<script>
|
|
13984
13984
|
(function() {
|
|
13985
13985
|
const source = document.getElementById('${X}');
|
|
@@ -14025,7 +14025,7 @@ else {
|
|
|
14025
14025
|
});
|
|
14026
14026
|
})();
|
|
14027
14027
|
</script>
|
|
14028
|
-
`}function hO(X,$,Z){
|
|
14028
|
+
`}function hO(X,$,Z){yq=0;let Y=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return X.replace(Y,(J,G,Q)=>{let q=xO(),{target:K,disabled:U}=fO(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=gO(q,K);return`
|
|
14029
14029
|
<div id="${q}" class="stx-teleport-source" style="display: none;">
|
|
14030
14030
|
<template>${W}</template>
|
|
14031
14031
|
</div>
|
|
@@ -14047,7 +14047,7 @@ else {
|
|
|
14047
14047
|
});
|
|
14048
14048
|
})();
|
|
14049
14049
|
</script>
|
|
14050
|
-
`}var
|
|
14050
|
+
`}var yq=0;var vq={};o(vq,{processTransitionDirectives:()=>cO,processTransitionAttributes:()=>rO,performLeave:()=>lO,performEnter:()=>mO,generateTransitionRuntime:()=>nO,generateTransitionCSS:()=>iO});function Sq(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 dO(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 Cq(X,$){return new Promise((Z)=>{let Y=$??dO(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 Pq(X){X.offsetHeight}async function mO(X,$={}){let Z=$.name||"stx",Y=Sq(Z,$),J=typeof $.duration==="object"?$.duration.enter:$.duration;if($.onBeforeEnter?.(X),X.classList.add(Y.enterFrom),X.classList.add(Y.enterActive),Pq(X),X.classList.remove(Y.enterFrom),X.classList.add(Y.enterTo),$.onEnter)await new Promise((G)=>{$.onEnter(X,G)});else await Cq(X,J);X.classList.remove(Y.enterActive),X.classList.remove(Y.enterTo),$.onAfterEnter?.(X)}async function lO(X,$={}){let Z=$.name||"stx",Y=Sq(Z,$),J=typeof $.duration==="object"?$.duration.leave:$.duration;if($.onBeforeLeave?.(X),X.classList.add(Y.leaveFrom),X.classList.add(Y.leaveActive),Pq(X),X.classList.remove(Y.leaveFrom),X.classList.add(Y.leaveTo),$.onLeave)await new Promise((G)=>{$.onLeave(X,G)});else await Cq(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`
|
|
14051
14051
|
<div
|
|
14052
14052
|
class="stx-transition-wrapper"
|
|
14053
14053
|
data-transition="${K}"
|
|
@@ -14365,7 +14365,7 @@ else {
|
|
|
14365
14365
|
|
|
14366
14366
|
console.log('[stx] Transition runtime initialized');
|
|
14367
14367
|
})();
|
|
14368
|
-
`}function rO(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
|
|
14368
|
+
`}function rO(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 fq={};o(fq,{withErrorBoundary:()=>xq,processErrorBoundaryDirectives:()=>aO,generateErrorBoundaryRuntime:()=>ZL,generateErrorBoundaryCSS:()=>$L,createErrorBoundary:()=>XL});function sO(){return`eb-${++oO}-${Date.now().toString(36)}`}function aO(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=sO(),U=tO(G||"");return eO(K,Q.trim(),q.trim(),U)})}function tO(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 eO(X,$,Z,Y){let J=Y.logErrors!==!1;return`
|
|
14369
14369
|
<div class="stx-error-boundary" data-boundary-id="${X}" data-has-error="false">
|
|
14370
14370
|
<div class="stx-error-boundary-content" data-boundary-content="${X}">
|
|
14371
14371
|
${$}
|
|
@@ -14485,7 +14485,7 @@ else {
|
|
|
14485
14485
|
};
|
|
14486
14486
|
})();
|
|
14487
14487
|
</script>
|
|
14488
|
-
`}async function
|
|
14488
|
+
`}async function xq(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 XL(X,$={}){let Z=$.onError?(Y)=>$.onError(Y,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(Y)=>xq(Y,X,Z)}function $L(){return`
|
|
14489
14489
|
/* STX Error Boundary Styles */
|
|
14490
14490
|
.stx-error-boundary {
|
|
14491
14491
|
position: relative;
|
|
@@ -14594,7 +14594,7 @@ else {
|
|
|
14594
14594
|
|
|
14595
14595
|
console.log('[stx] Error boundary runtime initialized');
|
|
14596
14596
|
})();
|
|
14597
|
-
`}var oO=0;var
|
|
14597
|
+
`}var oO=0;var gq={};o(gq,{renderSSRSuspense:()=>UL,processSuspenseDirectives:()=>GL,generateSuspenseRuntime:()=>wL,generateSuspenseCSS:()=>WL,createSSRSuspense:()=>KL});function JL(){return`suspense-${++YL}-${Date.now().toString(36)}`}function GL(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=JL(),U=QL(G||"");return qL(K,Q.trim(),q.trim(),U)})}function QL(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 qL(X,$,Z,Y){let J=Y.timeout||30000,G=Y.id||X;return`
|
|
14598
14598
|
<div class="stx-suspense" data-suspense-id="${X}" data-custom-id="${G}" data-status="pending">
|
|
14599
14599
|
<div class="stx-suspense-fallback" data-suspense-fallback="${X}">
|
|
14600
14600
|
${Z}
|
|
@@ -14932,7 +14932,7 @@ else {
|
|
|
14932
14932
|
|
|
14933
14933
|
console.log('[stx] Suspense runtime initialized');
|
|
14934
14934
|
})();
|
|
14935
|
-
`}var YL=0;var
|
|
14935
|
+
`}var YL=0;var mq={};o(mq,{processAsyncDirectives:()=>jL,isAsyncComponent:()=>_L,generateAsyncComponentRuntime:()=>OL,generateAsyncComponentCSS:()=>HL,defineAsyncComponent:()=>BL});function hq(){return`async-${++zL}-${Date.now().toString(36)}`}function jL(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=hq(),w=uq(q);return dq(W,w,K.trim(),U.trim())}),G=G.replace(J,(Q,q,K)=>{let U=hq(),W=uq(q);return dq(U,W,K.trim(),'<div class="stx-async-error">Failed to load component</div>')}),G}function uq(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 dq(X,$,Z,Y){let{component:J,timeout:G,delay:Q,suspensible:q,retries:K}=$;return`
|
|
14936
14936
|
<div class="stx-async-component" data-async-id="${X}" data-component="${J}" data-status="pending">
|
|
14937
14937
|
<div class="stx-async-loading" data-async-loading="${X}">
|
|
14938
14938
|
${Z}
|
|
@@ -15287,7 +15287,7 @@ catch (error) {
|
|
|
15287
15287
|
|
|
15288
15288
|
console.log('[stx] Async component runtime initialized');
|
|
15289
15289
|
})();
|
|
15290
|
-
`}var zL=0;var
|
|
15290
|
+
`}var zL=0;var cq={};o(cq,{shouldCacheComponent:()=>NL,processKeepAliveDirectives:()=>FL,onDeactivated:()=>IL,onActivated:()=>kL,generateKeepAliveRuntime:()=>ML,generateKeepAliveCSS:()=>TL,createKeepAliveCache:()=>RL});function lq(){return`keep-alive-${++LL}-${Date.now().toString(36)}`}function FL(X,$={},Z){let Y=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return X.replace(Y,(J,G,Q)=>{let q=lq(),K=VL(G||"");return AL(q,Q.trim(),K)})}function VL(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 AL(X,$,Z){let{max:Y,include:J,exclude:G}=Z,Q=Z.id||X;return`
|
|
15291
15291
|
<div class="stx-keep-alive" data-keep-alive-id="${X}" data-custom-id="${Q}">
|
|
15292
15292
|
<div class="stx-keep-alive-content" data-keep-alive-content="${X}">
|
|
15293
15293
|
${$}
|
|
@@ -15574,7 +15574,7 @@ else {
|
|
|
15574
15574
|
});
|
|
15575
15575
|
})();
|
|
15576
15576
|
</script>
|
|
15577
|
-
`}function RL(X={}){return{id:X.id||
|
|
15577
|
+
`}function RL(X={}){return{id:X.id||lq(),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 NL(X,$){if($.exclude&&$.exclude.includes(X))return!1;if($.include&&!$.include.includes(X))return!1;return!0}function TL(){return`
|
|
15578
15578
|
/* STX Keep-Alive Styles */
|
|
15579
15579
|
.stx-keep-alive {
|
|
15580
15580
|
position: relative;
|
|
@@ -15635,7 +15635,7 @@ else {
|
|
|
15635
15635
|
|
|
15636
15636
|
console.log('[stx] Keep-alive runtime initialized');
|
|
15637
15637
|
})();
|
|
15638
|
-
`}function kL(X){if(typeof document<"u")document.addEventListener("stx:activated",($)=>{X($.detail)})}function IL(X){if(typeof document<"u")document.addEventListener("stx:deactivated",($)=>{X($.detail)})}var LL=0;var
|
|
15638
|
+
`}function kL(X){if(typeof document<"u")document.addEventListener("stx:activated",($)=>{X($.detail)})}function IL(X){if(typeof document<"u")document.addEventListener("stx:deactivated",($)=>{X($.detail)})}var LL=0;var oq={};o(oq,{useVirtualList:()=>iq,processVirtualListDirectives:()=>o3,processVirtualGridDirectives:()=>rq,processInfiniteListDirectives:()=>nq,generateVirtualListCSS:()=>pq,default:()=>EL,createVirtualList:()=>r3});function r3(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),N=Math.ceil(Y/Z),T=Math.min(U.length-1,R+N+J*2);return{startIndex:R,endIndex:T}}function B(){let R=0,N=0,T=U.length-1;for(let k=0;k<U.length;k++){let M=w.get(k)||q;if(R+M>W){N=Math.max(0,k-J);break}R+=M}R=0;for(let k=0;k<U.length;k++){let M=w.get(k)||q;if(R+=M,R>W+Y){T=Math.min(U.length-1,k+J);break}}return{startIndex:N,endIndex:T}}function j(){if(Q){let R=0;for(let N=0;N<U.length;N++)R+=w.get(N)||q;return R}return U.length*Z}function _(R){if(Q){let N=0;for(let T=0;T<R;T++)N+=w.get(T)||q;return N}return R*Z}function H(){let{startIndex:R,endIndex:N}=z();return{startIndex:R,endIndex:N,scrollTop:W,totalHeight:j(),visibleItems:U.slice(R,N+1),itemHeights:new Map(w)}}function O(R,N="auto"){let T=_(R);L(T,N)}function L(R,N="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 o3(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+=`
|
|
15639
15639
|
<div class="virtual-item ${W.itemClass||""}"
|
|
15640
15640
|
style="position: absolute; top: ${L*W.itemHeight}px; height: ${W.itemHeight}px; width: 100%;"
|
|
15641
15641
|
data-index="${L}">
|
|
@@ -15712,7 +15712,7 @@ else {
|
|
|
15712
15712
|
};
|
|
15713
15713
|
})();
|
|
15714
15714
|
</script>
|
|
15715
|
-
`})}function
|
|
15715
|
+
`})}function pq(){return`
|
|
15716
15716
|
.virtual-list-container {
|
|
15717
15717
|
position: relative;
|
|
15718
15718
|
overflow-y: auto;
|
|
@@ -15760,7 +15760,7 @@ else {
|
|
|
15760
15760
|
0% { background-position: 200% 0; }
|
|
15761
15761
|
100% { background-position: -200% 0; }
|
|
15762
15762
|
}
|
|
15763
|
-
`}function
|
|
15763
|
+
`}function iq(X,$){let Z=null,Y=()=>{if(!Z)Z=r3(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 nq(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=o3(`@virtualList(${U}, ${JSON.stringify({itemHeight:w.itemHeight,containerHeight:w.containerHeight,overscan:w.overscan,containerClass:w.containerClass})})${q}@endvirtualList`,$);return B=B.replace("</script>",`
|
|
15764
15764
|
// Infinite scroll detection
|
|
15765
15765
|
container.addEventListener('scroll', function() {
|
|
15766
15766
|
const scrollBottom = container.scrollTop + container.clientHeight;
|
|
@@ -15778,7 +15778,7 @@ else {
|
|
|
15778
15778
|
${K}
|
|
15779
15779
|
</div>
|
|
15780
15780
|
</div>
|
|
15781
|
-
`})}function
|
|
15781
|
+
`})}function rq(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],N=V*(100/W.columns),T=F*(W.rowHeight+(W.gap||0)),k=q.replace(/\{\{\s*item\s*\}\}/g,typeof R==="object"?JSON.stringify(R):String(R)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(M,D)=>{if(typeof R==="object"&&R!==null)return String(R[D]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(A));L+=`
|
|
15782
15782
|
<div class="virtual-grid-item"
|
|
15783
15783
|
style="position: absolute; top: ${T}px; left: ${N}%; width: calc(${100/W.columns}% - ${W.gap||0}px); height: ${W.rowHeight}px;"
|
|
15784
15784
|
data-index="${A}">
|
|
@@ -15848,7 +15848,7 @@ else {
|
|
|
15848
15848
|
});
|
|
15849
15849
|
})();
|
|
15850
15850
|
</script>
|
|
15851
|
-
`})}var EL;var
|
|
15851
|
+
`})}var EL;var sq=E(()=>{EL={createVirtualList:r3,processVirtualListDirectives:o3,processInfiniteListDirectives:nq,processVirtualGridDirectives:rq,generateVirtualListCSS:pq,useVirtualList:iq}});function aq(){return`<script data-stx-hydration-runtime>
|
|
15852
15852
|
(function() {
|
|
15853
15853
|
'use strict';
|
|
15854
15854
|
|
|
@@ -16008,7 +16008,7 @@ else {
|
|
|
16008
16008
|
stxIslands.initIslands();
|
|
16009
16009
|
}
|
|
16010
16010
|
})();
|
|
16011
|
-
</script>`}function
|
|
16011
|
+
</script>`}function tq(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 eq(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 WK={};o(WK,{processStaticDirectives:()=>KK,processPartialHydrationDirectives:()=>$K,onHydrated:()=>qK,isHydrated:()=>QK,hydrateIsland:()=>YK,hydrateByStrategy:()=>JK,hydrateAll:()=>GK,generatePartialHydrationCSS:()=>ZK,generateIslandManifest:()=>UK,default:()=>xL,createIslandRegistry:()=>XK});function XK(){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 DL(X){return`
|
|
16012
16012
|
<script data-hydrate="${X}">
|
|
16013
16013
|
(function() {
|
|
16014
16014
|
const island = document.querySelector('[data-island="${X}"]');
|
|
@@ -16160,8 +16160,8 @@ else {
|
|
|
16160
16160
|
});
|
|
16161
16161
|
})();
|
|
16162
16162
|
</script>
|
|
16163
|
-
`}function
|
|
16164
|
-
`+
|
|
16163
|
+
`}function $K(X,$={},Z){let Y=X,J=!1,G=/@client:(load|idle|visible|media|only|hover|event)/i.test(X);if(Y=i5(Y,"load",$),Y=i5(Y,"idle",$),Y=i5(Y,"visible",$),Y=i5(Y,"media",$),Y=vL(Y),Y=i5(Y,"hover",$),Y=i5(Y,"event",$),J=G&&Y!==X,J)Y+=`
|
|
16164
|
+
`+aq();return Y}function i5(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=tq(Q.trim()),W=eq(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?`
|
|
16165
16165
|
<script type="application/json" data-island-props="${K}">${JSON.stringify(W)}</script>`:"",j="";switch($){case"load":j=DL(K);break;case"idle":j=yL(K,q);break;case"visible":j=bL(K,q);break;case"media":j=SL(K,q);break;case"hover":j=CL(K);break;case"event":j=PL(K,q);break}return`
|
|
16166
16166
|
<div data-island="${K}"
|
|
16167
16167
|
data-strategy="${$}"
|
|
@@ -16191,7 +16191,7 @@ else {
|
|
|
16191
16191
|
}
|
|
16192
16192
|
})();
|
|
16193
16193
|
</script>
|
|
16194
|
-
`})}function
|
|
16194
|
+
`})}function ZK(){return`
|
|
16195
16195
|
/* Island base styles */
|
|
16196
16196
|
.stx-island {
|
|
16197
16197
|
display: contents;
|
|
@@ -16232,11 +16232,11 @@ else {
|
|
|
16232
16232
|
.stx-island.hydrated {
|
|
16233
16233
|
opacity: 1;
|
|
16234
16234
|
}
|
|
16235
|
-
`}function
|
|
16235
|
+
`}function YK(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 JK(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 GK(){if(typeof window>"u")return;document.querySelectorAll(".stx-island:not(.hydrated)").forEach(($)=>{$.classList.add("hydrated"),$.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function QK(X){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${X}"]`)?.classList.contains("hydrated")??!1}function qK(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 KK(X){return X.replace(/@static\s*([\s\S]*?)@endstatic/gi,($,Z)=>{return`<div class="stx-static">${Z.trim()}</div>`})}function UK(X){let $=X.map((Z)=>({id:Z.id,component:Z.component,strategy:Z.options.strategy,props:Z.props}));return`
|
|
16236
16236
|
<script type="application/json" id="stx-island-manifest">
|
|
16237
16237
|
${JSON.stringify($)}
|
|
16238
16238
|
</script>
|
|
16239
|
-
`}var xL;var
|
|
16239
|
+
`}var xL;var wK=E(()=>{xL={processPartialHydrationDirectives:$K,processStaticDirectives:KK,generatePartialHydrationCSS:ZK,generateIslandManifest:UK,createIslandRegistry:XK,hydrateIsland:YK,hydrateByStrategy:JK,hydrateAll:GK,isHydrated:QK,onHydrated:qK}});var RK={};o(RK,{watchMultiple:()=>HK,watchEffect:()=>OK,watch:()=>_K,unref:()=>zK,toRefs:()=>jK,throttledComputed:()=>AK,stxWatchMultiple:()=>HK,stxWatchEffect:()=>OK,stxWatch:()=>_K,stxUnref:()=>zK,stxToRefs:()=>jK,stxThrottledComputed:()=>AK,stxShallowRef:()=>BK,stxRef:()=>n5,stxIsRef:()=>x1,stxDebouncedComputed:()=>VK,stxComputed:()=>a7,shallowRef:()=>BK,ref:()=>n5,processWatchDirectives:()=>FK,processComputedDirectives:()=>LK,isRef:()=>x1,default:()=>fL,debouncedComputed:()=>VK,computed:()=>a7});function n5(X){let $=X,Z=new Set,Y={get value(){if(G1){let J=s7.get(Y);if(!J)J=new Set,s7.set(Y,J);J.add(G1)}return $},set value(J){if(!Object.is($,J)){$=J,Z.forEach((Q)=>Q(J));let G=s7.get(Y);if(G)G.forEach((Q)=>Q())}},subscribe(J){return Z.add(J),()=>Z.delete(J)},peek(){return $}};return Y}function x1(X){return X!==null&&typeof X==="object"&&"value"in X&&"subscribe"in X&&"peek"in X}function zK(X){return x1(X)?X.value:X}function jK(X){let $={};for(let Z in X)if(Object.prototype.hasOwnProperty.call(X,Z))$[Z]=n5(X[Z]);return $}function BK(X){return n5(X)}function a7(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,U$.push(U);try{return Z()}finally{U$.pop(),G1=z}}let w={get value(){if(G1){let z=s7.get(w);if(!z)z=new Set,s7.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 _K(X,$,Z={}){let{immediate:Y=!1,deep:J=!1,flush:G="pre",once:Q=!1}=Z,q,K=!0,U=!1,W=()=>{if(x1(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(x1(X))z=X.subscribe(()=>w());else z=a7(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 HK(X,$,Z={}){let{immediate:Y=!1,once:J=!1}=Z,G=X.map((w)=>x1(w)?w.value:void 0),Q=!0,q=!1,K=()=>{if(!Q||q)return;let w=X.map((z)=>x1(z)?z.value:void 0);if($(w,G),G=[...w],J)W()},U=X.map((w)=>{if(x1(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 OK(X,$={}){let{flush:Z="pre"}=$,Y,J=!0,G=!1,Q=()=>{if(!J||G)return;if(Y)Y();let K=G1;G1=Q,U$.push(Q);try{Y=X()}finally{U$.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 LK(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 FK(X,$={},Z){let Y=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return X.replace(Y,(J,G,Q)=>{return`
|
|
16240
16240
|
<script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
|
|
16241
16241
|
(function() {
|
|
16242
16242
|
// Watch implementation for ${G}
|
|
@@ -16248,9 +16248,9 @@ else {
|
|
|
16248
16248
|
}
|
|
16249
16249
|
})();
|
|
16250
16250
|
</script>
|
|
16251
|
-
`})}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
|
|
16252
|
-
`)}catch{return""}})}function
|
|
16253
|
-
`)}catch{return""}})}function
|
|
16251
|
+
`})}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 VK(X,$=100){let Z=n5(X()),Y=null,J=()=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{Z.value=X()},$)};return a7(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 AK(X,$=100){let Z=n5(X()),Y=0,J=()=>{let Q=Date.now();if(Q-Y>=$)Y=Q,Z.value=X()};return a7(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,U$,s7,fL;var NK=E(()=>{U$=[],s7=new WeakMap;fL={ref:n5,computed:a7,watch:_K,watchMultiple:HK,watchEffect:OK,isRef:x1,unref:zK,toRefs:jK,shallowRef:BK,debouncedComputed:VK,throttledComputed:AK,processComputedDirectives:LK,processWatchDirectives:FK}});function t7(X,$){let Z={};for(let Y of X)Z[Y]=D1($(Y));return new Proxy({},{get:(Y,J)=>Z[J]?.(),set:(Y,J,G)=>{if(Z[J])Z[J].set(G);else Z[J]=D1(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 gL(X,$){let Z={};for(let Y of $)Z[Y]=X[Y];return Z}function s3(X,$){let Z=Object.keys(X),Y=t7(Z,(L)=>$?.[L]??X[L].getDefaultValue()),J=t7(Z,()=>[]),G=t7(Z,()=>!1),Q=t7(Z,()=>!1),q=t7(Z,()=>!1),K=D1(!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(gL(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 TK;var MK=E(()=>{mX();TK=s3});var DK={};o(DK,{v:()=>hL,useForm:()=>s3,processHasErrorsDirective:()=>EK,processFormValidationDirectives:()=>uL,processErrorsDirective:()=>IK,processErrorDirective:()=>kK,defineForm:()=>TK,Validator:()=>r5});class r5{rules=[];defaultValue="";addRule(X){let $=new r5;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 r5;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 r5;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 kK(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(`
|
|
16252
|
+
`)}catch{return""}})}function IK(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(`
|
|
16253
|
+
`)}catch{return""}})}function EK(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 uL(X,$,Z){let Y=X;return Y=kK(Y,$,Z),Y=IK(Y,$,Z),Y=EK(Y,$,Z),Y}var hL;var yK=E(()=>{MK();hL=new r5});var CK={};o(CK,{processXElementDirectives:()=>dL,hasXElementDirectives:()=>SK,generateXElementRuntime:()=>bK});function bK(){return`<script data-stx-scoped data-stx-x-element-runtime data-stx-run="always">
|
|
16254
16254
|
(function() {
|
|
16255
16255
|
'use strict';
|
|
16256
16256
|
|
|
@@ -16534,43 +16534,43 @@ else {
|
|
|
16534
16534
|
// Expose for manual initialization
|
|
16535
16535
|
window.XElement = XElement;
|
|
16536
16536
|
})();
|
|
16537
|
-
</script>`}function
|
|
16537
|
+
</script>`}function SK(X){return/\bx-data(?:\s|=)/.test(X)}function dL(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(!SK(Y))return Y;let J=Z[0]?.trim()||bK(),G=Y.lastIndexOf("</body>");if(G!==-1)return Y.slice(0,G)+J+`
|
|
16538
16538
|
`+Y.slice(G);return Y+`
|
|
16539
|
-
`+J}var
|
|
16539
|
+
`+J}var PK={};o(PK,{rewriteImagesWithSiblings:()=>cL});import H1 from"path";async function cL(X,$){let Z=$.formats??lL;if(!$.publicDir)return X;let Y=nL(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(rL(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="${oL(_.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(!iL(X))return[];let Y=H1.extname(X).toLowerCase();if(!mL.has(Y))return[];if(!X.startsWith("/"))return[];let J=H1.join($,X.slice(1)),G=H1.dirname(J),Q=H1.basename(J,Y),q=H1.resolve(G),K=H1.resolve($);if(!q.startsWith(K))return[];let U=H1.posix.dirname(X),W=Z.map(async(z)=>{let B=H1.join(G,`${Q}${z.ext}`);if(!await Bun.file(B).exists())return null;return{url:H1.posix.join(U,`${Q}${z.ext}`),mime:z.mime}});return(await Promise.all(W)).filter((z)=>z!==null)}function iL(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 nL(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 rL(X,$){for(let[Z,Y]of $)if(X>=Z&&X<Y)return!0;return!1}function oL(X){return X.replace(/&/g,"&").replace(/"/g,""")}var mL,lL;var vK=E(()=>{mL=new Set([".jpg",".jpeg",".png",".gif"]),lL=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var hK={};o(hK,{validateClientScript:()=>J$,processOnceDirective:()=>Y$,processJsonDirective:()=>Z$,processDirectives:()=>N0,injectRouterScript:()=>wY});import sL from"fs";import E0 from"path";function xK(X){return X.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function aL(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(`
|
|
16540
16540
|
`,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===`
|
|
16541
16541
|
`){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]===`
|
|
16542
|
-
`)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 o5(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
|
|
16542
|
+
`)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 o5(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 fK(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 tL(X){let $=o5(X,"data-stx-runtime");if(!$)return X;let Z=fK(X);if(Z===-1||Z===$.start)return X;let Y=X.slice($.start,$.end),J=X.slice(0,$.start)+X.slice($.end),G=fK(J);if(G===-1)return Y+`
|
|
16543
16543
|
`+J;return J.slice(0,G)+Y+`
|
|
16544
16544
|
`+J.slice(G)}async function N0(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)m2($);if(!$.__stxProcessingDepth)$.__stxProcessingDepth=0;if($.__stxProcessingDepth++,!$.__onceStore)$.__onceStore=new Set;if((Y.debug||!v7()&&!k8())&&Z&&Z.endsWith(".stx"))o4(X,Z);try{return await wZ.timeAsync("template-processing",async()=>{let Q=await eL(X,$,Z,Y,J);if(G)Q=d3(Q);if(G&&Y.autoShell&&Y.buildMode!=="compile"){let q=Y.app?.head||{},U=($.__stx_runtime_head||null)??G9(),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(`
|
|
16545
|
-
`),...U.htmlAttrs&&{htmlAttrs:
|
|
16546
|
-
<meta name="stx-layout" content="${
|
|
16547
|
-
<meta name="stx-layout-group" content="${
|
|
16548
|
-
`+W+Q.slice(w.end)}}catch{}if(G)try{let{getFrameworkComposableScript:q}=await a("stx/framework-composables",()=>Promise.resolve().then(() => (
|
|
16549
|
-
`+K+Q.slice(U.end)}}catch{}if(G)try{let{getComposableScript:q}=await a("stx/composable-loader",()=>Promise.resolve().then(() => (
|
|
16550
|
-
`+W+Q.slice(w.end)}}catch{}if(G)Q
|
|
16545
|
+
`),...U.htmlAttrs&&{htmlAttrs:Gq(q.htmlAttrs,U.htmlAttrs)},...U.bodyAttrs&&{bodyAttrs:{...q.bodyAttrs||{},...U.bodyAttrs}}},O=u3(Q);if(Q=Uq(Q,H,{..._&&{titleIsHtml:!0},...Y.app?.colorMode&&{colorMode:Y.app.colorMode}}),O)Q=Kq(Q,q),Q=Qq(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,(N)=>`${N}
|
|
16546
|
+
<meta name="stx-layout" content="${xK(A)}">
|
|
16547
|
+
<meta name="stx-layout-group" content="${xK(R)}">`)}let F=Q.match(/function (__stx_setup_\d+_\d+)\(/),V=F?y7(Q):null;if(F&&V&&!/\bdata-stx=/.test(V.tag)){Q=PX(Q,(R,N)=>`<body${N} data-stx="${F[1]}">`);let A=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${F[1]}"`,"i");Q=Q.replace(A,"$1")}}if(G){Q=qq(Q);let q=Y.app?.colorMode;if(q)Q=Xq(Q,q);Q=Zq(Q),Q=tL(Q)}if(G)try{let{getStoreScript:q}=await a("stx/store-loader",()=>Promise.resolve().then(() => (Fq(),Lq))),K=Y.storesDir,U=await q(K);if(U){let W=`<script data-stx-stores>${U}</script>`,w=o5(Q,"data-stx-runtime");if(w)Q=Q.slice(0,w.end)+`
|
|
16548
|
+
`+W+Q.slice(w.end)}}catch{}if(G)try{let{getFrameworkComposableScript:q}=await a("stx/framework-composables",()=>Promise.resolve().then(() => (Tq(),Nq))),K=await q(Q);if(K){let U=o5(Q,"data-stx-stores")||o5(Q,"data-stx-runtime");if(U)Q=Q.slice(0,U.end)+`
|
|
16549
|
+
`+K+Q.slice(U.end)}}catch{}if(G)try{let{getComposableScript:q}=await a("stx/composable-loader",()=>Promise.resolve().then(() => (Iq(),kq))),K=Y.composablesDir,U=await q(K);if(U){let W=`<script data-stx-composables>${U}</script>`,w=o5(Q,"data-stx-stores")||o5(Q,"data-stx-runtime");if(w)Q=Q.slice(0,w.end)+`
|
|
16550
|
+
`+W+Q.slice(w.end)}}catch{}if(G)Q=$q(Q);if(G&&$.__stx_inject_css!==!1)Q=await nJ(Q,void 0,Y.buildMode==="serve");if(G)Q=HZ(Q);return Q=Q.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),Q})}catch(Q){if(Q instanceof y8)throw Q;let q=Q instanceof Error?Q.message:String(Q),K=new X5(`Template processing failed: ${q}`,Z,void 0,void 0,X.substring(0,200)+(X.length>200?"...":""));if(X1.log(K,{filePath:Z,context:$}),M4.logDetailedError(K,{filePath:Z,template:X.substring(0,500)}),Y.debug)throw K;return N4.createFallbackContent("Template Processing",K)}}async function eL(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 ZF(Z,$),$F($,q),K=await b5(()=>xQ(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,R7,(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=nQ(K),K=await jq(K,Z,J);let B={};K=y3(K,B);let j={...$.__sections||{}},_="",H=JG(YG(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')
|
|
16551
16551
|
${K.trim()}
|
|
16552
16552
|
@endsection`}if(!_&&!O&&q.defaultLayout){let F=h3(K),V=/@section\s*\(/.test(K);if(!F||V){let A="",R=E0.dirname(Z),N=q.layoutsDir?E0.dirname(q.layoutsDir):process.cwd();for(let T=0;T<20;T++){let k=E0.join(R,"_layout.stx");if(await i(k)){A=k;break}let M=E0.dirname(R);if(M===R||M.length<N.length)break;R=M}if(A)_=A;else if(q.layoutsDir){let T=E0.isAbsolute(q.layoutsDir)?q.layoutsDir:E0.resolve(process.cwd(),q.layoutsDir),k=E0.join(T,`${q.defaultLayout}.stx`);if(await i(k))_=k}if(_&&!V)K=`@section('content')
|
|
16553
16553
|
${K.trim()}
|
|
16554
16554
|
@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=b3(K,B),_){let F=[],V=N1(K),A=$1(V.output,R5,(R,N)=>`\x00STX_ORPHAN_STYLE_${N}\x00`);if(K=A.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(R,N,T)=>{let k=N==="SCRIPT"?V.scripts[Number(T)]:A.tokens[Number(T)];if(k)F.push(k);return""}),F.length>0){let R=F.join(`
|
|
16555
16555
|
`);j.content=j.content?`${j.content}
|
|
16556
|
-
${R}`:R,$.__sections=j}}if(_)try{let F;if(E0.isAbsolute(_))F=_,J.add(_);else F=await b5(()=>u9(_,Z,Q,J),null,()=>{throw new X5(`Failed to resolve layout path: ${_}`,Z,void 0,void 0,`Layout referenced from ${Z}`)});if(!F){let k=[];try{let D=Q.layoutsDir;if(D){let I=E0.isAbsolute(D)?D:E0.resolve(process.cwd(),D);k=sL.readdirSync(I).filter((C)=>C.endsWith(".stx")).map((C)=>C.replace(/\.stx$/,"")).sort()}}catch{}let M=`Layout not found: ${_} (referenced from ${Z})`+(k.length>0?`. Available layouts: ${k.join(", ")}`:Q.layoutsDir?`. No .stx layouts found in ${Q.layoutsDir}`:"");if(X1.log(Error(M),{layoutPath:_,filePath:Z,available:k},"error"),console.error(`[stx] ${M}`),Q.debug)throw new X5(M,Z);return K}let V=await b5(()=>Bun.file(F).text(),"",()=>{throw new X5(`Failed to read layout file: ${F}`,Z,void 0,void 0,"Layout content could not be loaded")}),A=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(A){if(Q.debug)console.log(`Found nested layout: ${A[1]} in ${F}`);let k={},M=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(C,b,y)=>{return k[b]=y.trim(),""});for(let[C,b]of Object.entries(k))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]}')${M}`;return await N0(I,D,F,Q,J)}let R=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),N=y3(R,B),T={};return N=N.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(k,M,D)=>{return T[M]=D.trim(),`@slot('${M}')`}),N=N.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(k,M,D)=>{if(j[M]){let I=j[M];if(I.includes(K5)){let C=T[M]||"",b=I.indexOf(K5);I=I.slice(0,b)+C+I.slice(b+K5.length)}return I}return D||""}),N=XF(N,j),N=N.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),N=b3(N,B),$.__originalFilePath=Z,K=await
|
|
16557
|
-
${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
|
|
16558
|
-
`;if(G=k(G,$),G=M(G,$),G=
|
|
16556
|
+
${R}`:R,$.__sections=j}}if(_)try{let F;if(E0.isAbsolute(_))F=_,J.add(_);else F=await b5(()=>u9(_,Z,Q,J),null,()=>{throw new X5(`Failed to resolve layout path: ${_}`,Z,void 0,void 0,`Layout referenced from ${Z}`)});if(!F){let k=[];try{let D=Q.layoutsDir;if(D){let I=E0.isAbsolute(D)?D:E0.resolve(process.cwd(),D);k=sL.readdirSync(I).filter((C)=>C.endsWith(".stx")).map((C)=>C.replace(/\.stx$/,"")).sort()}}catch{}let M=`Layout not found: ${_} (referenced from ${Z})`+(k.length>0?`. Available layouts: ${k.join(", ")}`:Q.layoutsDir?`. No .stx layouts found in ${Q.layoutsDir}`:"");if(X1.log(Error(M),{layoutPath:_,filePath:Z,available:k},"error"),console.error(`[stx] ${M}`),Q.debug)throw new X5(M,Z);return K}let V=await b5(()=>Bun.file(F).text(),"",()=>{throw new X5(`Failed to read layout file: ${F}`,Z,void 0,void 0,"Layout content could not be loaded")}),A=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(A){if(Q.debug)console.log(`Found nested layout: ${A[1]} in ${F}`);let k={},M=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(C,b,y)=>{return k[b]=y.trim(),""});for(let[C,b]of Object.entries(k))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]}')${M}`;return await N0(I,D,F,Q,J)}let R=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),N=y3(R,B),T={};return N=N.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(k,M,D)=>{return T[M]=D.trim(),`@slot('${M}')`}),N=N.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(k,M,D)=>{if(j[M]){let I=j[M];if(I.includes(K5)){let C=T[M]||"",b=I.indexOf(K5);I=I.slice(0,b)+C+I.slice(b+K5.length)}return I}return D||""}),N=XF(N,j),N=N.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),N=b3(N,B),$.__originalFilePath=Z,K=await gK(N,$,F,Q,J),K=`<!-- stx-layout: ${_} -->
|
|
16557
|
+
${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 gK(K,$,Z,Q,J))}function XF(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 $F(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 ZF(X,$){await b5(()=>dQ(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 YF(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(() => (E7(),bX)));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 JF(X,$,Z){try{let{interpolateScriptsInTemplate:Y}=await a("stx/expressions",()=>Promise.resolve().then(() => (Z1(),KZ)));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 gK(X,$,Z,Y,J){let G=X,Q=Y;if(await YF(G,$,Z),G=await JF(G,$,Z),G=await yQ(G,$,Z),G=await bQ(G,$,Z),G=await NG(G,$,Z,Q),w1(G))G=P9(G,$),G=x9(G,$);G=v9(G);let{processStreamDirectives:q}=await a("stx/streaming",()=>Promise.resolve().then(() => (r4(),n4)));G=q(G,$),G=k3(G,$,Z,Q),G=await tQ(G,$,Z,Q,J),G=await o8(G,$,Z,Q,J),G=x6(G,$,Z,Q);let{processDeferDirectives:K}=await a("stx/defer",()=>Promise.resolve().then(() => Dq));G=K(G,$,Z);let{processTeleportDirectives:U}=await a("stx/teleport",()=>Promise.resolve().then(() => bq));G=U(G,$,Z);let{processTransitionDirectives:W,processTransitionAttributes:w}=await a("stx/transitions",()=>Promise.resolve().then(() => vq));G=W(G,$,Z),G=w(G);let{processErrorBoundaryDirectives:z}=await a("stx/error-boundaries",()=>Promise.resolve().then(() => fq));G=z(G,$,Z);let{processSuspenseDirectives:B}=await a("stx/suspense",()=>Promise.resolve().then(() => gq));G=B(G,$,Z);let{processAsyncDirectives:j}=await a("stx/async-components",()=>Promise.resolve().then(() => mq));G=j(G,$,Z);let{processKeepAliveDirectives:_}=await a("stx/keep-alive",()=>Promise.resolve().then(() => cq));G=_(G,$,Z);let{processVirtualListDirectives:H,processVirtualGridDirectives:O,processInfiniteListDirectives:L}=await a("stx/virtual-scrolling",()=>Promise.resolve().then(() => (sq(),oq)));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(() => (wK(),WK)));G=F(G,$,Z),G=V(G);let{processComputedDirectives:A,processWatchDirectives:R}=await a("stx/computed",()=>Promise.resolve().then(() => (NK(),RK)));G=A(G,$,Z),G=R(G,$,Z);let{processFormValidationDirectives:N}=await a("stx/forms-validation",()=>Promise.resolve().then(() => (yK(),DK)));G=N(G,$,Z);let{processHeadDirective:T,processTitleDirective:k,processMetaDirective:M,resetHead:D}=await a("stx/head",()=>Promise.resolve().then(() => (I7(),q9)));if(!$.__stx_head_preset&&!$.__stx_runtime_head)D();let I=T(G);if(G=I.content,I.headContent)$.__stx_head_raw=`${$.__stx_head_raw||""}${I.headContent}
|
|
16558
|
+
`;if(G=k(G,$),G=M(G,$),G=hQ(G),G=C4(G,$),G=AG(G),G=PQ(G),G=await D3(G,$,Z,Q,J),G=await o8(G,$,Z,Q,J),$.__stxProcessingDepth===1)G=c2(G,$);if(G=G.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),G=d3(G),G=B1(G,$,Z),G=P4(G,$),G=v4(G,$),G=u8(G,$),G=SG(G,$),G=CG(G,$),G=await UG(G,$,Z,Q),G=await TY(G,$,Z),G=await gG(G,$,Z,Q),G=D6(G,$,Z,Q),G=yJ(G,$,Z,Q),G=bJ(G,$,Z),G=SJ(G,$,Z,Q),G=LG(G,$,Z,Q),G=Z$(G,$),G=Y$(G),G=_q(G),!Q.skipEventDirectives)G=N2(G,$,Z);if(G=qG(G,$,Z),Q.debug){let n=/\bx-data\s*=/.test(G),t=sX(X);if(n&&t)console.warn(`[stx] ${Z}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
|
|
16559
16559
|
Both work on the same page, but they manage separate scopes.
|
|
16560
|
-
Prefer signals (state/derived/effect) for new components.`)}G=
|
|
16560
|
+
Prefer signals (state/derived/effect) for new components.`)}G=cQ(G,$),G=await T1(G,$,Z),G=Hq(G),G=Oq(G),G=eJ(G);let{processXElementDirectives:C}=await a("stx/x-element",()=>Promise.resolve().then(() => CK));G=C(G);let b=$.__originalFilePath||Z,y=F7($);if(G=await f9(G,Q,b,y),G=EG(G,$),G=await fQ(G,$,Z,Q),Q.media?.image?.autoSiblings){let n=Q.publicDir||"public",{rewriteImagesWithSiblings:t}=await a("stx/image-optimization/auto-sibling",()=>Promise.resolve().then(() => (vK(),PK)));G=await t(G,{publicDir:n})}if(Q.seo?.enabled)G=CJ(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}
|
|
16561
16561
|
</head>`);if(/<head\b[^>]*>/i.test(n))return n.replace(/(<head\b[^>]*>)/i,`$1
|
|
16562
16562
|
${t}`);if(/<html\b[^>]*>/i.test(n))return n.replace(/(<html\b[^>]*>)/i,`$1
|
|
16563
16563
|
<head>
|
|
16564
16564
|
${t}
|
|
16565
|
-
</head>`);return n},{renderHead:x,getHead:g}=await a("stx/head",()=>Promise.resolve().then(() => (I7(),q9))),c=$.__stx_runtime_head??g();if(c.title||c.meta?.length||c.link?.length){let n=x(c);if(n)G=v(G,n)}if(I.headContent)G=v(G,I.headContent,!c.title);if(Q.csp?.enabled&&Q.csp.addMetaTag)G=
|
|
16565
|
+
</head>`);return n},{renderHead:x,getHead:g}=await a("stx/head",()=>Promise.resolve().then(() => (I7(),q9))),c=$.__stx_runtime_head??g();if(c.title||c.meta?.length||c.link?.length){let n=x(c);if(n)G=v(G,n)}if(I.headContent)G=v(G,I.headContent,!c.title);if(Q.csp?.enabled&&Q.csp.addMetaTag)G=HG(G,Q.csp,$);if(Q.analytics?.enabled)G=$G(G,Q);if(Q.heatmap?.enabled)G=q2(G,Q);if(Q.pwa?.enabled&&Q.pwa.autoInject!==!1){let{injectPwaTags:n}=await a("stx/pwa/inject",()=>Promise.resolve().then(() => (QX(),H6)));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">
|
|
16566
16566
|
${oJ()}
|
|
16567
16567
|
</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+`
|
|
16568
16568
|
`+S}else G=G.replace("</head>",`${t}
|
|
16569
16569
|
</head>`)}else if(G.includes("<body"))G=G.replace(/<body([^>]*)>/,`<body$1>
|
|
16570
16570
|
${t}`);else G=t+`
|
|
16571
16571
|
`+G}{let{scanScriptTags:n}=await a("stx/signal-processing",()=>Promise.resolve().then(() => (S7(),aX))),t=[];for(let q0 of n(G)){if(!/\bserver\b/i.test(q0.attrs))continue;let b0=q0.start+q0.fullMatch.indexOf(">")+1,j0=aL(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=IX(G,Z);if(W0.hasScoped)G=W0.html;let e=$.__stx_event_bindings||[],T0=!1,o0=[],O1=/\s:[a-z][\w.-]*\s*=/.test(G),{scanScriptTags:W5}=await a("stx/signal-processing",()=>Promise.resolve().then(() => (S7(),aX)));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;J$(q0,Z,Y.strict,$.__originalFilePath);let j0=await V7(q0,{eventBindings:e,attrs:t,hasColonDirectives:O1,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=c$(n);if(t){let q0=G.lastIndexOf("</body>");G=q0===-1?G+t:G.slice(0,q0)+t+`
|
|
16572
|
-
`+G.slice(q0)}$.__stx_event_bindings=[]}}if(!KY(G)&&UY(G))G=await pX(G,Q);if(G=WY(G),Q.csp?.enabled&&Q.csp.useNonce&&typeof $.cspNonce==="string")G=
|
|
16573
|
-
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 Z6){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 Y6){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 jF(X){let $=X.sizes||$6,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 Z6)G.push(`${Z}/apple-touch-icon-${Q}x${Q}.png`)}for(let Q of Y6)G.push(`${Z}/favicon-${Q}x${Q}.png`);return G.push(`${Z}/icon-maskable-512x512.png`),G}async function G6(){try{return await import("sharp"),!0}catch{return!1}}QX();function
|
|
16572
|
+
`+G.slice(q0)}$.__stx_event_bindings=[]}}if(!KY(G)&&UY(G))G=await pX(G,Q);if(G=WY(G),Q.csp?.enabled&&Q.csp.useNonce&&typeof $.cspNonce==="string")G=OG(G,$.cspNonce);return G}var K5="<!--PARENT_CONTENT_PLACEHOLDER-->";var $8=E(()=>{rJ();_9();c1();V$();sJ();XG();ZG();u$();A$();p$();A7();KG();WG();g7();FG();RG();MG();DG();z1();I7();Z1();PG();hG();DQ();CQ();I3();d9();gQ();M5();uQ();k4();R0();mQ();pQ();rQ();eQ();Y9();x3();Wq();S7();T3();Bq();m3();l3();F0();s4();t$();B7();iX();iX();m3();l3()});import UF from"fs";import a3 from"path";import oK from"fs";import K1 from"path";var $6=[72,96,128,144,152,192,384,512],Z6=[120,152,167,180],Y6=[16,32];async function J6(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{oK.mkdirSync(G,{recursive:!0})}catch{return Z.errors.push(`Failed to create output directory: ${G}`),Z.success=!1,Z}let Q=Y.sizes||$6,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
|
|
16573
|
+
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 Z6){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 Y6){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 jF(X){let $=X.sizes||$6,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 Z6)G.push(`${Z}/apple-touch-icon-${Q}x${Q}.png`)}for(let Q of Y6)G.push(`${Z}/favicon-${Q}x${Q}.png`);return G.push(`${Z}/icon-maskable-512x512.png`),G}async function G6(){try{return await import("sharp"),!0}catch{return!1}}QX();function HU(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 OU(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 LU(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 FU(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 VU(X){let $=X.pwa?.protocolHandlers;if(!$||$.length===0)return;return $.map((Z)=>({protocol:Z.protocol,url:Z.url}))}function AU(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:HU(J,G,Q,q)};if(Z.shortcuts&&Z.shortcuts.length>0)K.shortcuts=OU(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=LU(X);if(U)K.share_target=U;let W=FU(X);if(W)K.file_handlers=W;let w=VU(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 O6(X){let $=AU(X);if(!$)return"";let Z=JSON.parse(JSON.stringify($));return JSON.stringify(Z,null,2)}function NF(X,$){return{...$,...X,shortcuts:X.shortcuts||$.shortcuts,screenshots:X.screenshots||$.screenshots,categories:X.categories||$.categories}}function TF(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 uK from"path";async function dK(X){let $=X.pwa?.offline;if(!$?.enabled)return"";if($.page){let Z=uK.isAbsolute($.page)?$.page:uK.resolve(process.cwd(),$.page);if(await Bun.file(Z).exists())try{let{processDirectives:Y}=await Promise.resolve().then(() => ($8(),hK)),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 GF(X)}function GF(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>
|
|
16574
16574
|
<html lang="en">
|
|
16575
16575
|
<head>
|
|
16576
16576
|
<meta charset="UTF-8">
|
|
@@ -16808,4 +16808,4 @@ Icon generation requires the sharp package for image processing.`),Z.success=!1,
|
|
|
16808
16808
|
`);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}
|
|
16809
16809
|
`);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(`
|
|
16810
16810
|
${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(`
|
|
16811
|
-
`)}V4();QX();a5();t5();async function $y(X,$){let Z={success:!0,files:{icons:[]},errors:[],warnings:[]},Y=X.pwa;if(!Y?.enabled)return Z;try{UF.mkdirSync($,{recursive:!0})}catch{return Z.errors.push(`Failed to create output directory: ${$}`),Z.success=!1,Z}try{let G=O6(X);if(G){let Q=a3.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 G6()){let Q=await J6(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
|
|
16811
|
+
`)}V4();QX();a5();t5();async function $y(X,$){let Z={success:!0,files:{icons:[]},errors:[],warnings:[]},Y=X.pwa;if(!Y?.enabled)return Z;try{UF.mkdirSync($,{recursive:!0})}catch{return Z.errors.push(`Failed to create output directory: ${$}`),Z.success=!1,Z}try{let G=O6(X);if(G){let Q=a3.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 G6()){let Q=await J6(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 dK(X);if(G){let Q=a3.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=g1($,X);J={fileCount:G.fileCount,totalSize:G.totalSize},Z.precacheStats=J}try{let G=JX(X,$);if(G){let Q=j5(X),q=a3.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 Zy(X,$){return H$(X,$)}function Yy(X){return X.pwa?.enabled===!0}export{TF as validateManifest,cD as runPwaAudit,rN as registerPwaDirectives,xj as pwaUpdateDirective,gj as pwaPushDirective,fj as pwaOfflineDirective,vj as pwaInstallDirective,F4 as pwaDirectives,Zy as processPwaHtml,NF as mergeManifestConfig,_6 as isWorkboxEnabled,G6 as isSharpAvailable,Yy as isPwaEnabled,H$ as injectPwaTags,j5 as getServiceWorkerFileName,jF as getExpectedIconPaths,_U as generateThemeColorMeta,jU as generateSwRegistrationScript,zU as generateServiceWorkerAuto,JX as generateServiceWorker,GX as generatePwaTags,J6 as generatePwaIcons,YX as generatePrecacheManifestJs,g1 as generatePrecacheManifest,dK as generateOfflinePage,BU as generateManifestLink,O6 as generateManifestJson,AU as generateManifest,q6 as formatSize,pD as formatAuditResult,KF as calculateAuditResult,$y as buildPwaAssets,QF as auditConfig,qF as auditBuildOutput,Y6 as FAVICON_SIZES,$6 as DEFAULT_ICON_SIZES,Z6 as APPLE_TOUCH_ICON_SIZES};
|