@stacksjs/stx 0.2.130 → 0.2.132
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 +668 -665
- package/dist/craft.js +320 -317
- package/dist/pwa.js +439 -436
- package/dist/runtime-injection.js +16 -3
- package/dist/ssg.js +429 -426
- package/dist/utils.js +67 -4
- package/package.json +5 -5
package/dist/pwa.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var{defineProperty:
|
|
2
|
+
var{defineProperty:B7,getOwnPropertyNames:jQ,getOwnPropertyDescriptor:_Q}=Object,HQ=Object.prototype.hasOwnProperty;function OQ($){return this[$]}var X9=($)=>{var Z=(Y9??=new WeakMap).get($),Y;if(Z)return Z;if(Z=B7({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function"){for(var X of jQ($))if(!HQ.call(Z,X))B7(Z,X,{get:OQ.bind($,X),enumerable:!(Y=_Q($,X))||Y.enumerable})}return Y9.set($,Z),Z},Y9;var LQ=($)=>$;function FQ($,Z){this[$]=LQ.bind(null,Z)}var s=($,Z)=>{for(var Y in Z)B7($,Y,{get:Z[Y],enumerable:!0,configurable:!0,set:FQ.bind(Z,Y)})};var k=($,Z)=>()=>($&&(Z=$($=0)),Z);var K0=import.meta.require;import F$ from"fs";import V$ from"path";function AQ($){let Z=0;for(let Y=0;Y<$.length;Y++){let X=$[Y];Z=(Z<<5)-Z+X,Z=Z&Z}return Math.abs(Z).toString(16).padStart(8,"0")}function RQ($,Z){let Y=V$.basename($);for(let X of Z)if(X.startsWith("*.")){let Q=X.slice(1);if(Y.endsWith(Q))return!0}else if(X.includes("*")){let Q=new RegExp(`^${X.replace(/\*/g,".*")}$`);if(Q.test(Y)||Q.test($))return!0}else if(Y===X||$.includes(X))return!0;return!1}function NQ($,Z,Y){let X=V$.extname($).toLowerCase(),Q=wQ[X],J=(Y.maxFileSizeKB||500)*1024;if(Z>J)return!1;if(Y.exclude&&RQ($,Y.exclude))return!1;if(Y.include&&Y.include.length>0){for(let G of Y.include)if(G.startsWith("*.")){if($.endsWith(G.slice(1)))return!0}else if($.includes(G))return!0}if(Q&&Y[Q]===!0)return!0;if(!Q)return!1;return!1}function W9($,Z,Y,X){let Q=F$.readdirSync($,{withFileTypes:!0});for(let J of Q){let G=V$.join($,J.name);if(J.isDirectory()){if(["node_modules",".git",".stx"].includes(J.name))continue;W9(G,Z,Y,X)}else if(J.isFile()){let K=F$.statSync(G),q=V$.relative(Z,G);if(NQ(q,K.size,Y)){let W=F$.readFileSync(G),U=AQ(W),z=`/${q.replace(/\\/g,"/")}`;X.push({url:z,revision:U,size:K.size})}}}}function T1($,Z){let Y=Z.pwa?.precache,X=[];if(!Y?.enabled)return{entries:[],totalSize:0,fileCount:0};if(!F$.existsSync($))return{entries:[],totalSize:0,fileCount:0};W9($,$,Y,X),X.sort((J,G)=>J.url.localeCompare(G.url));let Q=X.reduce((J,G)=>J+G.size,0);return{entries:X,totalSize:Q,fileCount:X.length}}function w$($){if($.entries.length===0)return"[]";return`[
|
|
3
3
|
${$.entries.map((Y)=>` { url: '${Y.url}', revision: '${Y.revision}' }`).join(`,
|
|
4
4
|
`)}
|
|
5
|
-
]`}function
|
|
5
|
+
]`}function U9($){if($<1024)return`${$} B`;if($<1048576)return`${($/1024).toFixed(1)} KB`;return`${($/1048576).toFixed(2)} MB`}var wQ;var D5=k(()=>{wQ={".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 TQ($){let Z={"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 Z[$]||Z["network-first"]}function j7($){return TQ($).className}function z9($){let Z=$.pwa;if(!Z?.enabled)return"";let Y=Z.routes||[],X=Z.cacheStorage,Q=[];for(let J of Y){let G=j7(J.strategy),K=[];if(J.maxAgeSeconds||J.maxEntries||X?.maxEntries){let W=J.maxEntries||X?.maxEntries||100,U=J.maxAgeSeconds||(X?.maxAge?X.maxAge*24*60*60:void 0);K.push(`new ExpirationPlugin({
|
|
6
6
|
maxEntries: ${W},
|
|
7
|
-
${
|
|
7
|
+
${U?`maxAgeSeconds: ${U},`:""}
|
|
8
8
|
purgeOnQuotaError: true,
|
|
9
9
|
})`)}if(J.strategy==="network-first"||J.strategy==="stale-while-revalidate")K.push(`new CacheableResponsePlugin({
|
|
10
10
|
statuses: [0, 200],
|
|
11
|
-
})`);let q=
|
|
11
|
+
})`);let q=MQ(J.pattern);Q.push(`
|
|
12
12
|
// ${J.pattern}
|
|
13
13
|
registerRoute(
|
|
14
14
|
${q},
|
|
15
15
|
new ${G}({
|
|
16
|
-
cacheName: '${J.cacheName||
|
|
16
|
+
cacheName: '${J.cacheName||DQ(J.pattern)}',
|
|
17
17
|
${K.length>0?`plugins: [
|
|
18
18
|
${K.join(`,
|
|
19
19
|
`)}
|
|
20
20
|
],`:""}
|
|
21
21
|
})
|
|
22
22
|
);`)}return Q.join(`
|
|
23
|
-
`)}function
|
|
23
|
+
`)}function MQ($){if($.startsWith("*.")){let Z=$.slice(2);return`({ request }) => request.destination === '${IQ(Z)}'`}if($.endsWith("/**"))return`({ url }) => url.pathname.startsWith('${$.slice(0,-3)}')`;if($.endsWith("/*")){let Z=$.slice(0,-2);return`({ url }) => url.pathname.startsWith('${Z}') && !url.pathname.slice(${Z.length+1}).includes('/')`}if($.includes("*")&&!$.startsWith("*")){let[Z,Y]=$.split("*");return`({ url }) => url.pathname.startsWith('${Z}') && url.pathname.endsWith('${Y}')`}if($==="/"||!$.includes("*"))return`({ url }) => url.pathname === '${$}'`;return`new RegExp('${EQ($).replace(/\\\*/g,".*")}')`}function IQ($){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"}[$.toLowerCase()]||"empty"}function DQ($){return"stx-"+$.replace(/[^\w]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"").toLowerCase().slice(0,30)+"-cache"}function EQ($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var H9={};s(H9,{isWorkboxEnabled:()=>_9,getServiceWorkerGenerator:()=>PQ,generateWorkboxServiceWorker:()=>j9,generateWorkboxConfig:()=>B9});function B9($,Z){let Y=$.pwa;if(!Y?.enabled)return{mode:"generate",modules:[],skipWaiting:!0,clientsClaim:!0};let X=Y.serviceWorker||{},Q=Y.routes||[],J=[{name:"workbox-precaching",exports:["precacheAndRoute","cleanupOutdatedCaches"]},{name:"workbox-routing",exports:["registerRoute","NavigationRoute","setDefaultHandler"]}],G=new Set;for(let W of Q)G.add(j7(W.strategy));if(G.size>0)J.push({name:"workbox-strategies",exports:Array.from(G)});if(Q.some((W)=>W.maxAgeSeconds||W.maxEntries)||Y.cacheStorage)J.push({name:"workbox-expiration",exports:["ExpirationPlugin"]});if(Q.some((W)=>W.strategy==="network-first"||W.strategy==="stale-while-revalidate"))J.push({name:"workbox-cacheable-response",exports:["CacheableResponsePlugin"]});if(Y.backgroundSync?.enabled)J.push({name:"workbox-background-sync",exports:["BackgroundSyncPlugin","Queue"]});if(X.navigationPreload)J.push({name:"workbox-navigation-preload",exports:["enable"]});let q=Z?T1(Z,$):void 0;return{mode:"generate",modules:J,precacheManifest:q?.entries,skipWaiting:X.skipWaiting??!0,clientsClaim:X.clientsClaim??!0,offlineFallback:Y.offline?.enabled?"/offline.html":void 0,navigationPreload:X.navigationPreload??!1,cacheVersion:X.cacheVersion||"1.0.0"}}function j9($,Z){let Y=$.pwa;if(!Y?.enabled)return"";let X=B9($,Z),Q=Y.serviceWorker||{},J=Y.push,G=Y.backgroundSync,K=Z?T1(Z,$):null,q=K?w$(K):"[]",W=kQ(X.modules),U=z9($);return`/**
|
|
24
24
|
* Service Worker - Generated by stx with Workbox
|
|
25
25
|
* Cache Version: ${X.cacheVersion}
|
|
26
26
|
*
|
|
@@ -79,7 +79,7 @@ enable();`:"// Navigation preload disabled"}
|
|
|
79
79
|
// Runtime Caching
|
|
80
80
|
// ============================================================================
|
|
81
81
|
|
|
82
|
-
${
|
|
82
|
+
${U}
|
|
83
83
|
|
|
84
84
|
// ============================================================================
|
|
85
85
|
// Offline Fallback
|
|
@@ -169,13 +169,13 @@ self.addEventListener('message', (event) => {
|
|
|
169
169
|
}
|
|
170
170
|
});
|
|
171
171
|
|
|
172
|
-
${J?.enabled?
|
|
172
|
+
${J?.enabled?SQ(J):"// Push notifications disabled"}
|
|
173
173
|
|
|
174
|
-
${G?.enabled?
|
|
174
|
+
${G?.enabled?yQ(G):"// Background sync disabled"}
|
|
175
175
|
|
|
176
176
|
console.log('[Workbox SW] Service Worker loaded - Version:', CACHE_VERSION);
|
|
177
|
-
`}function
|
|
178
|
-
`)}function
|
|
177
|
+
`}function kQ($){let Z=[];for(let Y of $){let X=Y.name.replace("workbox-","");Z.push(`const { ${Y.exports.join(", ")} } = workbox.${bQ(X)};`)}return Z.join(`
|
|
178
|
+
`)}function bQ($){return $.replace(/-([a-z])/g,(Z,Y)=>Y.toUpperCase())}function SQ($){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 yQ($){return`
|
|
248
248
|
// ============================================================================
|
|
249
249
|
// Background Sync
|
|
250
250
|
// ============================================================================
|
|
@@ -306,7 +306,7 @@ self.addEventListener('message', (event) => {
|
|
|
306
306
|
event.waitUntil(syncQueue.pushRequest({ request }));
|
|
307
307
|
}
|
|
308
308
|
});
|
|
309
|
-
`}function
|
|
309
|
+
`}function _9($){return $.pwa?.enabled===!0&&$.pwa?.serviceWorker?.useWorkbox===!0}function PQ($){if(_9($))return j9;let{generateServiceWorker:Z}=(E5(),X9(L9));return Z}var O9=k(()=>{D5()});var L9={};s(L9,{isWorkboxEnabled:()=>F9,getServiceWorkerFileName:()=>r1,generateServiceWorkerAuto:()=>xQ,generateServiceWorker:()=>A$});function A$($,Z){let Y=$.pwa;if(!Y?.enabled)return"";let X=Y.serviceWorker||{},Q=Y.routes||[],J=X.cacheVersion||"1.0.0",G=Y.offline,K=G?.page?"/offline.html":"/offline.html",q=Y.push,W=Y.backgroundSync,U=Y.cacheStorage,z=Z?T1(Z,$):null,B=z?w$(z):"[]",_=["/","/manifest.json",...G?.enabled?[K]:[],...G?.precacheAssets||[]];return`/**
|
|
310
310
|
* Service Worker - Auto-generated by stx
|
|
311
311
|
* Cache Version: ${J}
|
|
312
312
|
*
|
|
@@ -320,7 +320,7 @@ self.addEventListener('message', (event) => {
|
|
|
320
320
|
* Additional features:
|
|
321
321
|
* - Push notifications: ${q?.enabled?"enabled":"disabled"}
|
|
322
322
|
* - Background sync: ${W?.enabled?"enabled":"disabled"}
|
|
323
|
-
* - Cache limits: ${
|
|
323
|
+
* - Cache limits: ${U?.maxSize?`${U9(U.maxSize*1024*1024)}`:"unlimited"}
|
|
324
324
|
*/
|
|
325
325
|
|
|
326
326
|
const CACHE_VERSION = '${J}';
|
|
@@ -341,10 +341,10 @@ const EXCLUDED_ROUTES = ${JSON.stringify(X.excludeRoutes||[],null,2)};
|
|
|
341
341
|
|
|
342
342
|
// Cache storage configuration
|
|
343
343
|
const CACHE_CONFIG = {
|
|
344
|
-
maxSize: ${
|
|
345
|
-
maxAge: ${
|
|
346
|
-
maxEntries: ${
|
|
347
|
-
purgeStrategy: '${
|
|
344
|
+
maxSize: ${U?.maxSize||0} * 1024 * 1024, // Convert MB to bytes
|
|
345
|
+
maxAge: ${U?.maxAge||0} * 24 * 60 * 60 * 1000, // Convert days to ms
|
|
346
|
+
maxEntries: ${U?.maxEntries||0},
|
|
347
|
+
purgeStrategy: '${U?.purgeStrategy||"lru"}',
|
|
348
348
|
};
|
|
349
349
|
|
|
350
350
|
// Background sync configuration
|
|
@@ -501,9 +501,9 @@ self.addEventListener('message', (event) => {
|
|
|
501
501
|
}
|
|
502
502
|
});
|
|
503
503
|
|
|
504
|
-
${q?.enabled?
|
|
504
|
+
${q?.enabled?CQ():"// Push notifications disabled"}
|
|
505
505
|
|
|
506
|
-
${W?.enabled?
|
|
506
|
+
${W?.enabled?vQ():"// 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 CQ(){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 vQ(){return`
|
|
954
954
|
/**
|
|
955
955
|
* Background sync queue storage (IndexedDB)
|
|
956
956
|
*/
|
|
@@ -1132,14 +1132,14 @@ self.addEventListener('message', (event) => {
|
|
|
1132
1132
|
event.waitUntil(registerFormSync(event.data.payload));
|
|
1133
1133
|
}
|
|
1134
1134
|
});
|
|
1135
|
-
`}function
|
|
1135
|
+
`}function r1($){return $.pwa?.serviceWorker?.fileName||"sw.js"}function F9($){return $.pwa?.enabled===!0&&$.pwa?.serviceWorker?.useWorkbox===!0}function xQ($,Z){if(!$.pwa?.enabled)return"";if(F9($)){let{generateWorkboxServiceWorker:Y}=(O9(),X9(H9));return Y($,Z)}return A$($,Z)}var E5=k(()=>{D5()});var V9={};s(V9,{injectPwaTags:()=>H7,generateThemeColorMeta:()=>hQ,generateSwRegistrationScript:()=>fQ,generatePwaTags:()=>R$,generateManifestLink:()=>gQ});function R$($){let Z=$.pwa;if(!Z?.enabled)return"";let Y=Z.manifest,X=Z.icons?.outputDir?`/${Z.icons.outputDir}`:"/pwa-icons",Q=r1($),J=`
|
|
1136
1136
|
<!-- stx PWA Meta Tags -->
|
|
1137
1137
|
<link rel="manifest" href="/manifest.json">
|
|
1138
|
-
<meta name="theme-color" content="${
|
|
1138
|
+
<meta name="theme-color" content="${_7(Y?.themeColor||"#000000")}">
|
|
1139
1139
|
<meta name="mobile-web-app-capable" content="yes">
|
|
1140
1140
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
1141
1141
|
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
|
1142
|
-
<meta name="apple-mobile-web-app-title" content="${
|
|
1142
|
+
<meta name="apple-mobile-web-app-title" content="${_7(Y?.shortName||Y?.name||"App")}">`;if(Z.icons?.generateAppleIcons!==!1)J+=`
|
|
1143
1143
|
<link rel="apple-touch-icon" href="${X}/apple-touch-icon.png">
|
|
1144
1144
|
<link rel="apple-touch-icon" sizes="120x120" href="${X}/apple-touch-icon-120x120.png">
|
|
1145
1145
|
<link rel="apple-touch-icon" sizes="152x152" href="${X}/apple-touch-icon-152x152.png">
|
|
@@ -1176,12 +1176,12 @@ if ('serviceWorker' in navigator) {
|
|
|
1176
1176
|
});
|
|
1177
1177
|
}
|
|
1178
1178
|
</script>
|
|
1179
|
-
<!-- End stx PWA -->`,J}function
|
|
1180
|
-
`+$.slice(Q)}return $+
|
|
1181
|
-
</head>`)}function
|
|
1179
|
+
<!-- End stx PWA -->`,J}function H7($,Z){let Y=Z.pwa;if(!Y?.enabled||Y.autoInject===!1)return $;if($.includes("<!-- stx PWA Meta Tags -->"))return $;if(!$.includes("</head>")){let Q=$.lastIndexOf("</body>");if(Q!==-1){let J=R$(Z);return $.slice(0,Q)+J+`
|
|
1180
|
+
`+$.slice(Q)}return $+R$(Z)}let X=R$(Z);return $.replace("</head>",`${X}
|
|
1181
|
+
</head>`)}function fQ($){if(!$.pwa?.enabled)return"";return`<script>
|
|
1182
1182
|
if ('serviceWorker' in navigator) {
|
|
1183
1183
|
window.addEventListener('load', function() {
|
|
1184
|
-
navigator.serviceWorker.register('/${
|
|
1184
|
+
navigator.serviceWorker.register('/${r1($)}')
|
|
1185
1185
|
.then(function(registration) {
|
|
1186
1186
|
console.log('[PWA] Service Worker registered:', registration.scope);
|
|
1187
1187
|
})
|
|
@@ -1190,7 +1190,7 @@ if ('serviceWorker' in navigator) {
|
|
|
1190
1190
|
});
|
|
1191
1191
|
});
|
|
1192
1192
|
}
|
|
1193
|
-
</script>`}function
|
|
1193
|
+
</script>`}function gQ(){return'<link rel="manifest" href="/manifest.json">'}function hQ($){return`<meta name="theme-color" content="${_7($)}">`}function _7($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var N$=k(()=>{E5()});import k5 from"path";function R9($){A9=$?.trim()||null}function b5(){return process.env[iQ]?.trim()||A9||a1}function S5($=process.cwd(),...Z){let Y=b5();return k5.isAbsolute(Y)?k5.join(Y,...Z):k5.join($,Y,...Z)}function y5($){if(!$||k5.isAbsolute($))return $;let Z=$.replace(/\\/g,"/");if(Z!==a1&&!Z.startsWith(`${a1}/`))return $;let Y=Z.slice(a1.length+1);return Y?k5.join(b5(),Y):b5()}var a1=".stx",iQ="STX_DIR",A9=null;var T$=()=>{};var L0;var N9=k(()=>{L0={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"}});function T9($,Z,Y,X){let Q=$;Q=Q.replace(/@a11y\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(G,K,q)=>{let U={"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"}[K]||"Make this element accessible";return`<!-- a11y-hint: ${q||U} -->`});let J=/@screenReader\(([^@]*)\)@endScreenReader/g;return Q=Q.replace(J,(G,K)=>{return`<span class="sr-only">${K.trim()}</span>`}),Q=Q.replace(/@ariaDescribe\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(G,K,q)=>{return`<span id="${`desc-${K}`}" class="sr-only">${q}</span>`}),Q}var M9,I9;var O7=k(()=>{M9={name:"a11y",handler:($,Z,Y,X)=>{if(!Z.length)return $;let Q=Z[0].replace(/['"]/g,""),J=Z.length>1?Z[1].replace(/['"]/g,""):"",K={"aria-label":"Ensure interactive elements have accessible labels","alt-text":"Provide alternative text for images",focus:"Ensure the element can receive keyboard focus",landmark:"Use appropriate landmark roles","heading-order":"Maintain proper heading hierarchy","color-contrast":"Ensure sufficient color contrast","keyboard-nav":"Make sure element is keyboard navigable","screen-reader":"Optimize for screen reader users"}[Q]||"Make this element accessible";return`<!-- a11y-hint: ${J||K} -->${$}`},hasEndTag:!1},I9={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function nQ($,Z={}){let{duration:Y,delay:X,ease:Q,direction:J,custom:G}={...X1,...Z};if($==="custom"&&G)return G;switch($){case"fade":return`${J==="in"?"opacity: 0; animation: fadeIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":J==="out"?"opacity: 1; animation: fadeOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"opacity: 1; transition: opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
|
|
1194
1194
|
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
|
|
1195
1195
|
@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }`;case"slide":return`${J==="in"?"transform: translateY(20px); opacity: 0; animation: slideIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":J==="out"?"transform: translateY(0); opacity: 1; animation: slideOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: translateY(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
|
|
1196
1196
|
@keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
|
|
@@ -1200,7 +1200,7 @@ if ('serviceWorker' in navigator) {
|
|
|
1200
1200
|
@keyframes flipIn { from { transform: perspective(400px) rotateX(-90deg); opacity: 0; } to { transform: perspective(400px) rotateX(0); opacity: 1; } }
|
|
1201
1201
|
@keyframes flipOut { from { transform: perspective(400px) rotateX(0); opacity: 1; } to { transform: perspective(400px) rotateX(90deg); opacity: 0; } }`;case"rotate":return`${J==="in"?"transform: rotate(-90deg); opacity: 0; animation: rotateIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":J==="out"?"transform: rotate(0); opacity: 1; animation: rotateOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: rotate(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
|
|
1202
1202
|
@keyframes rotateIn { from { transform: rotate(-90deg); opacity: 0; } to { transform: rotate(0); opacity: 1; } }
|
|
1203
|
-
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function
|
|
1203
|
+
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function oQ(){return`
|
|
1204
1204
|
<script data-stx-scoped>
|
|
1205
1205
|
// Motion preferences handling
|
|
1206
1206
|
(function() {
|
|
@@ -1228,7 +1228,7 @@ else {
|
|
|
1228
1228
|
});
|
|
1229
1229
|
})();
|
|
1230
1230
|
</script>
|
|
1231
|
-
`}function
|
|
1231
|
+
`}function sQ($){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((Y)=>Y.test($))}function rQ($=0.1,Z="0px"){return`
|
|
1232
1232
|
<script data-stx-scoped>
|
|
1233
1233
|
// Intersection Observer for scroll animations
|
|
1234
1234
|
(function() {
|
|
@@ -1271,7 +1271,7 @@ else {
|
|
|
1271
1271
|
}
|
|
1272
1272
|
})();
|
|
1273
1273
|
</script>
|
|
1274
|
-
`}function
|
|
1274
|
+
`}function aQ(){return`
|
|
1275
1275
|
<style id="stx-animation-base">
|
|
1276
1276
|
:root {
|
|
1277
1277
|
--stx-transition-duration: 300ms;
|
|
@@ -1386,7 +1386,7 @@ else {
|
|
|
1386
1386
|
transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
|
|
1387
1387
|
}
|
|
1388
1388
|
</style>
|
|
1389
|
-
`}function
|
|
1389
|
+
`}function tQ($,Z,Y={}){let{staggerDelay:X=50,sequence:Q=!1}=Y;return`
|
|
1390
1390
|
<script data-stx-scoped>
|
|
1391
1391
|
// Animation Group: ${$}
|
|
1392
1392
|
(function() {
|
|
@@ -1423,11 +1423,11 @@ else {
|
|
|
1423
1423
|
}
|
|
1424
1424
|
})();
|
|
1425
1425
|
</script>
|
|
1426
|
-
`}function
|
|
1427
|
-
</head>`)}if(Q.includes("stx-observe")){if(!Q.includes("Intersection Observer for scroll animations")){let q=
|
|
1428
|
-
`+Q.slice(W)}}return Q}var X1,
|
|
1429
|
-
style="--stx-transition-duration: ${J}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${K}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},
|
|
1430
|
-
${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},
|
|
1426
|
+
`}function S9($,Z,Y,X){let Q=$;if(X.animation?.enabled===!1)return Q;let J=Y.includes("test")&&Y.includes("animation");if(!sQ(Q)&&!J)return Q;if(!Q.includes('<style id="stx-animation-base">')){let K=aQ();Q=Q.replace("</head>",`${K}
|
|
1427
|
+
</head>`)}if(Q.includes("stx-observe")){if(!Q.includes("Intersection Observer for scroll animations")){let q=rQ(),W=Q.lastIndexOf("</body>");if(W!==-1)Q=Q.slice(0,W)+q+`
|
|
1428
|
+
`+Q.slice(W)}}return Q}var X1,D9,E9,k9,b9;var L7=k(()=>{X1={duration:300,delay:0,ease:"ease",direction:"both"};D9={name:"transition",handler:($,Z,Y,X)=>{if(Z.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${$}`;let Q=Z[0],J=Z.length>1?Number.parseInt(Z[1],10)||X1.duration:X1.duration,G=Z.length>2?Z[2]||X1.ease:X1.ease,K=Z.length>3?Number.parseInt(Z[3],10)||X1.delay:X1.delay,q=Z.length>4?Z[4]||X1.direction:X1.direction,W=`stx-transition-${Math.random().toString(36).substr(2,9)}`,U=nQ(Q,{duration:J,delay:K,ease:G,direction:q}),z="stx-transition",B="";if(Q==="fade")B="stx-fade";else if(Q==="slide")B="stx-slide";else if(Q==="scale")B="stx-scale";else if(Q==="flip")B="stx-flip";else if(Q==="rotate")B="stx-rotate";return`<div id="${W}" class="${z} ${B} ${q==="out"?"stx-out":""}"
|
|
1429
|
+
style="--stx-transition-duration: ${J}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${K}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},E9={name:"scrollAnimate",handler:($,Z,Y,X)=>{if(Z.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${$}`;let Q=Z[0],J=Z.length>1?Number.parseInt(Z[1],10)||300:300,G=Z.length>2?Z[2]||"ease":"ease",K=Z.length>3?Number.parseFloat(Z[3])||0.2:0.2,q=Z.length>4?Number.parseInt(Z[4],10)||0:0,W=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,U=`--stx-transition-duration: ${J}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${q}ms; will-change: opacity, transform;`,z="stx-transition stx-observe stx-out";if(Q==="fade")z+=" stx-fade";else if(Q==="slide-up"||Q==="slide")z+=" stx-from-bottom";else if(Q==="slide-down")z+=" stx-from-top";else if(Q==="slide-left")z+=" stx-from-right";else if(Q==="slide-right")z+=" stx-from-left";else if(Q==="scale")z+=" stx-scale";else if(Q.includes("-"))z+=` stx-${Q}`;else z+=` stx-${Q}`;return`<div id="${W}" class="${z}" style="${U}" data-threshold="${K}">${$}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},k9={name:"animationGroup",handler:($,Z,Y,X)=>{if(Z.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${$}`;let Q=Z[0],J=Z.slice(1).map((W)=>W.startsWith("#")||W.startsWith(".")?W:`#${W}`),G=Y.staggerDelay||50,K=Y.sequence||!0,q=tQ(Q,J,{staggerDelay:G,sequence:K});return`${$}
|
|
1430
|
+
${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},b9={name:"motion",handler:($,Z,Y,X)=>{let Q=Z.length>0?Z[0].toLowerCase()==="true":!0,J=oQ();return`<div data-animate="${Q?"auto":"true"}">${$}</div>${J}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});import{getRouterScript as y9}from"stx-router";var P9=k(()=>{F7()});async function eQ($,Z,Y,X){let Q=Z[0]?.replace(/['"]/g,"")||"main",J=y9();if(Q!=="main")J=J.replace("container:'main'",`container:'${Q}'`);return`<script data-stx-router>${J}</script>`}var C9;var F7=k(()=>{P9();C9={name:"stxRouter",handler:eQ,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function v9($){let Z=$.heatmap;if(!Z?.enabled)return"";let Y={...$G,...Z};return`
|
|
1431
1431
|
<!-- stx Heatmap - Privacy-Compliant Tracking -->
|
|
1432
1432
|
<script>
|
|
1433
1433
|
(function() {
|
|
@@ -1810,10 +1810,10 @@ else {
|
|
|
1810
1810
|
};
|
|
1811
1811
|
})();
|
|
1812
1812
|
</script>
|
|
1813
|
-
`}function
|
|
1814
|
-
`)){let K=G.trim();if(!K||K.startsWith("#"))continue;let q=K.indexOf(":");if(q===-1)continue;let W=K.slice(0,q).trim(),
|
|
1815
|
-
`),Q=Q.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),Q=Q.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),Q=Q.replace(/<\/ul>\n<ul>/g,""),Q=Q.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),Q=Q.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),Q=Q.replace(/<\/ol>\n<ol>/g,""),Q=Q.replace(/<li data-ul>/g,"<li>"),Q=Q.replace(/<li data-ol>/g,"<li>"),Y)Q=Q.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(z,
|
|
1816
|
-
`).map((L)=>{return`<tr>${L.split("|").map((O)=>O.trim()).filter(Boolean).map((O)=>`<td>${
|
|
1813
|
+
`}function x9($,Z){let Y=v9(Z);if(!Y)return $;let X=$.lastIndexOf("</body>");if(X!==-1)return $.slice(0,X)+Y+$.slice(X);return $+Y}function ZG($){let Z={},Y=$.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let X of Y){let[Q,J]=X.split("="),G=J?.replace(/["']/g,"");switch(Q){case"endpoint":Z.endpoint=G;break;case"samplingRate":Z.samplingRate=Number.parseInt(G,10);break;case"batchSize":Z.batchSize=Number.parseInt(G,10);break;case"trackMouse":Z.trackMouse=G==="true";break;case"trackClicks":Z.trackClicks=G==="true";break;case"trackScroll":Z.trackScroll=G==="true";break;case"honorDnt":Z.honorDnt=G==="true";break;case"debugOverlay":Z.debugOverlay=G==="true";break}}return Z}var $G,f9;var V7=k(()=>{$G={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};f9={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async($,Z,Y,X)=>{let Q=Y.__stx_config||{};if(Z.length>0){let J=ZG(Z.join(" "));Q.heatmap={...Q.heatmap,...J,enabled:!0}}return v9(Q)}}});function W1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function g9($){let Z=$.trim().toLowerCase();return!Z.startsWith("javascript:")&&!Z.startsWith("vbscript:")&&!Z.startsWith("data:text/html")}function h9($){let Z=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,Y=$.match(Z);if(!Y)return{data:{},content:$.trim()};let X=Y[1],Q=$.slice(Y[0].length),J={};for(let G of X.split(`
|
|
1814
|
+
`)){let K=G.trim();if(!K||K.startsWith("#"))continue;let q=K.indexOf(":");if(q===-1)continue;let W=K.slice(0,q).trim(),U=K.slice(q+1).trim();if(typeof U==="string"){if(U.startsWith('"')&&U.endsWith('"')||U.startsWith("'")&&U.endsWith("'"))U=U.slice(1,-1);else if(U.startsWith("[")&&U.endsWith("]"))try{U=JSON.parse(U)}catch{}else if(U==="true")U=!0;else if(U==="false")U=!1;else if(/^-?\d+(?:\.\d+)?$/.test(U))U=Number(U)}J[W]=U}return{data:J,content:Q.trim()}}function P5($,Z={}){let{gfm:Y=!0,breaks:X=!1}=Z,Q=$,J=[];if(Q=Q.replace(/```(\w*)\n([\s\S]*?)```/g,(U,z,B)=>{let _=J.length,j=z?` class="language-${W1(z)}"`:"";return J.push(`<pre><code${j}>${W1(B.trim())}</code></pre>`),`\x00CODEBLOCK${_}\x00`}),Q=Q.replace(/`([^`]*)`/g,(U,z)=>`<code>${W1(z)}</code>`),Q=Q.replace(/^######\s+(.*)$/gm,"<h6>$1</h6>"),Q=Q.replace(/^#####\s+(.*)$/gm,"<h5>$1</h5>"),Q=Q.replace(/^####\s+(.*)$/gm,"<h4>$1</h4>"),Q=Q.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),Q=Q.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),Q=Q.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),Q=Q.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),Q=Q.replace(/___(.+?)___/g,"<strong><em>$1</em></strong>"),Q=Q.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),Q=Q.replace(/__(.+?)__/g,"<strong>$1</strong>"),Q=Q.replace(/\*(.+?)\*/g,"<em>$1</em>"),Q=Q.replace(/(?<![a-zA-Z0-9])_(.+?)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),Y)Q=Q.replace(/~~(.+?)~~/g,"<del>$1</del>");if(Q=Q.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(U,z,B)=>{return`<img src="${g9(B)?W1(B):""}" alt="${W1(z)}" />`}),Q=Q.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(U,z,B)=>{return`<a href="${g9(B)?W1(B):""}">${z}</a>`}),Q=Q.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),Q=Q.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),Q=Q.replace(/<\/blockquote>\n<blockquote>/g,`
|
|
1815
|
+
`),Q=Q.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),Q=Q.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),Q=Q.replace(/<\/ul>\n<ul>/g,""),Q=Q.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),Q=Q.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),Q=Q.replace(/<\/ol>\n<ol>/g,""),Q=Q.replace(/<li data-ul>/g,"<li>"),Q=Q.replace(/<li data-ol>/g,"<li>"),Y)Q=Q.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(U,z,B)=>{let j=`<tr>${z.split("|").map((L)=>L.trim()).filter(Boolean).map((L)=>`<th>${W1(L)}</th>`).join("")}</tr>`,H=B.trim().split(`
|
|
1816
|
+
`).map((L)=>{return`<tr>${L.split("|").map((O)=>O.trim()).filter(Boolean).map((O)=>`<td>${W1(O)}</td>`).join("")}</tr>`}).join(`
|
|
1817
1817
|
`);return`<table>
|
|
1818
1818
|
<thead>
|
|
1819
1819
|
${j}
|
|
@@ -1822,37 +1822,37 @@ ${j}
|
|
|
1822
1822
|
${H}
|
|
1823
1823
|
</tbody>
|
|
1824
1824
|
</table>`});if(Y)Q=Q.replace(/<li>\s*\[\s*\]\s*/g,'<li><input type="checkbox" disabled /> '),Q=Q.replace(/<li>\s*\[x\]\s*/gi,'<li><input type="checkbox" checked disabled /> ');let G=Q.split(`
|
|
1825
|
-
`),K=[],q=!1,W=[];for(let
|
|
1825
|
+
`),K=[],q=!1,W=[];for(let U of G){let z=U.trim();if(/^<(?:h[1-6]|ul|ol|li|blockquote|pre|table|thead|tbody|tr|th|td|hr|div|p)/.test(z)||/^\0CODEBLOCK\d+\0$/.test(z)||z===""){if(q&&W.length>0)K.push(`<p>${W.join(X?`<br />
|
|
1826
1826
|
`:`
|
|
1827
|
-
`)}</p>`),W=[],q=!1;K.push(
|
|
1827
|
+
`)}</p>`),W=[],q=!1;K.push(U)}else q=!0,W.push(z)}if(q&&W.length>0)K.push(`<p>${W.join(X?`<br />
|
|
1828
1828
|
`:`
|
|
1829
1829
|
`)}</p>`);if(Q=K.join(`
|
|
1830
1830
|
`),X)Q=Q.replace(/\n/g,`<br />
|
|
1831
|
-
`);for(let
|
|
1831
|
+
`);for(let U=0;U<J.length;U++)Q=Q.replace(`\x00CODEBLOCK${U}\x00`,J[U]);return Q=Q.replace(/<p>\s*<\/p>/g,""),Q.trim()}function n0($){let Z=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;$=$.replace(Z,(X,Q)=>{return`const { ${Q.split(",").map((G)=>G.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
|
|
1832
1832
|
`});let Y=/import\s*\{([^}]+)\}\s*from\s*['"]@composables['"]\s*;?\n?/g;return $=$.replace(Y,(X,Q)=>{return`const { ${Q.split(",").map((G)=>G.trim()).filter(Boolean).join(", ")} } = window.__composables
|
|
1833
|
-
`}),$}import
|
|
1834
|
-
export { ${_.join(", ")} }`:"";await Bun.write(
|
|
1835
|
-
`),I=
|
|
1836
|
-
`);if(
|
|
1833
|
+
`}),$}import YG from"process";function u0($="STX_PUBLIC_"){let Z={},Y={};for(let[X,Q]of Object.entries(YG.env)){if(!X.startsWith($)||Q===void 0)continue;Z[`import.meta.env.${X}`]=JSON.stringify(Q),Y[X]=Q}return Z["import.meta.env"]=JSON.stringify(Y),Z}var M1=()=>{};var C5={};s(C5,{queueClientBundleBuild:()=>l9,hasUserImports:()=>JG,bundleClientScript:()=>GG});import B0 from"path";import y0 from"fs";function JG($){let Z=/^[ \t]*import[ \t]+(?!type(?:[ \t]|{))[\s\S]*?\s+from\s+['"]([^'"]+)['"][ \t]*;?/gm,Y;while((Y=Z.exec($))!==null){let Q=Y[1];if(!d9.some((G)=>G.test(Q)))return console.log("[stx:bundler] detected user import:",Q),!0}let X=/^[ \t]*import[ \t]+['"]([^'"]+)['"]/gm;while((Y=X.exec($))!==null){let Q=Y[1];if(/\.css(?:\?.*)?$/.test(Q))continue;if(!d9.some((G)=>G.test(Q)))return console.log("[stx:bundler] detected side-effect import:",Q),!0}return!1}function QG($,Z,Y,X){let Q=(J,G)=>{let K=J===Y?Z:B0.dirname(J),q=B0.resolve(K,G),W=[q,`${q}.ts`,`${q}.tsx`,`${q}.js`,`${q}.mjs`,`${q}.jsx`,B0.join(q,"index.ts"),B0.join(q,"index.tsx"),B0.join(q,"index.js"),B0.join(q,"index.mjs")];for(let U of W)try{if(y0.existsSync(U)&&y0.statSync(U,{throwIfNoEntry:!1})?.isFile())return U}catch{}return q};return{name:"stx-client-bundle",setup(J){J.onResolve({filter:/^(stx|@stacksjs\/stx)$/},(G)=>({path:G.path,external:!0})),J.onResolve({filter:/^(@stores|@composables|stx\/stores)$/},(G)=>({path:G.path,external:!0})),J.onResolve({filter:/^\//},(G)=>{if(y0.existsSync(G.path))return{path:G.path};return{path:G.path,external:!0}}),J.onResolve({filter:/^\.\.?\//},(G)=>{let K=Q(G.importer,G.path);return X.add(K),{path:K}}),J.onResolve({filter:/^[@~]\//},(G)=>{let K=B0.resolve($,G.path.slice(2)),q=[K,`${K}.ts`,`${K}.tsx`,`${K}.js`,`${K}.mjs`,`${K}.jsx`,B0.join(K,"index.ts"),B0.join(K,"index.tsx"),B0.join(K,"index.js"),B0.join(K,"index.mjs")];for(let W of q)if(y0.existsSync(W)&&y0.statSync(W,{throwIfNoEntry:!1})?.isFile())return console.log(`[stx:bundler] resolved ${G.path[0]}/ import:`,G.path,"\u2192",W),X.add(W),{path:W};return console.warn(`[stx:bundler] could not resolve ${G.path[0]}/ import:`,G.path),{path:K}}),J.onLoad({filter:/\.(?:[cm]?[jt]sx?|json)$/},(G)=>{let K=B0.extname(G.path).toLowerCase(),q=K===".json"?"json":K===".tsx"?"tsx":K===".jsx"?"jsx":K===".ts"||K===".mts"||K===".cts"?"ts":"js";if(G.path!==Y)X.add(G.path);return{contents:y0.readFileSync(G.path,"utf8"),loader:q}})}}}function l9($){let Z=globalThis,X=(Z[m9]??Promise.resolve()).then($,$);return Z[m9]=X.then(()=>{return},()=>{return}),X}async function GG($,Z,Y={}){let X=Y.projectRoot||process.cwd(),Q=Y.minify??!1,J=Y.cacheDir||S5(X,"bundle-cache"),G=new Bun.CryptoHasher("md5");G.update(`${XG}\x00${$}\x00${Z}`);let K=G.digest("hex").slice(0,12),q=B0.join(J,`${K}.js`),W=B0.join(J,`${K}.deps.json`),U=Bun.file(q);if(await U.exists()){let _=Bun.file(W),j=!0;if(await _.exists())try{let H=JSON.parse(await _.text());if(H.metadataVersion!==u9||!Array.isArray(H.files))j=!1;for(let L of Array.isArray(H.files)?H.files:[])try{if(y0.statSync(L.path).mtimeMs!==L.mtimeMs){j=!1;break}}catch{j=!1;break}}catch{j=!1}if(j)return console.log("[stx:bundler] cache hit:",K),await U.text();console.log("[stx:bundler] cache invalidated by dep change:",K)}let z=w7.get(K);if(z)return await z;let B=l9(()=>KG($,Z,{projectRoot:X,minify:Q,cacheDir:J,hash:K,cachePath:q,depsPath:W}));w7.set(K,B);try{return await B}finally{w7.delete(K)}}async function KG($,Z,Y){let{projectRoot:X,minify:Q,cacheDir:J,hash:G,cachePath:K,depsPath:q}=Y,W=S5(X,"bundle-tmp"),U=B0.join(W,`${G}.ts`),z=B0.join(W,"out",G);y0.mkdirSync(W,{recursive:!0}),y0.mkdirSync(z,{recursive:!0});let B=B0.dirname(Z),_=[],j=/^(export\s+)?(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))/gm,H=/^(export\s+)?(?:async\s+)?function\s+(\w+)/gm,L;while((L=j.exec($))!==null){if(L[1])continue;if(L[2])L[2].split(",").forEach((V)=>{let w=V.split(":")[0].trim();if(w)_.push(w)});else if(L[3])_.push(L[3])}while((L=H.exec($))!==null){if(L[1])continue;_.push(L[2])}let F=_.length>0?`
|
|
1834
|
+
export { ${_.join(", ")} }`:"";await Bun.write(U,$+F),console.log("[stx:bundler] bundling:",G,"from:",B0.basename(Z));let O=new Set;try{let V=await Bun.build({entrypoints:[U],outdir:z,target:"browser",format:"esm",minify:Q,plugins:[QG(X,B,U,O)],define:{"process.env.NODE_ENV":Q?'"production"':'"development"',...u0()},root:X});if(!V.success){let D=V.logs.filter((y)=>y.level==="error").map((y)=>y.message).join(", ");return console.warn("[stx:bundler] build failed:",D),$}let w="";for(let D of V.outputs){w=await D.text();break}let A=[];for(let D of w.matchAll(/^\s*export\s*\{([^}]*)\}\s*;?\s*$/gm))for(let y of D[1].split(",")){let S=y.trim().match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(S){A.push([S[2],S[1]]);continue}let b=y.trim();if(/^[A-Za-z_$][\w$]*$/.test(b))A.push([b,b])}let N=w.match(/^\s*import\s+[^;]+;?\s*$/gm)||[];w=w.replace(/^\s*import\s+[^;]+;?\s*$/gm,"").replace(/^\s*export\s*\{[^}]*\}\s*;?\s*$/gm,"").replace(/^\s*export\s+default\s+.*$/gm,"").trim();let R=`__stxBundle_${G}`,T=A.map(([D,y])=>`${JSON.stringify(D)}: ${y}`).join(", "),M=A.map(([D])=>`var ${D} = undefined;`).join(`
|
|
1835
|
+
`),I=A.map(([D])=>`${D} = ${R}[${JSON.stringify(D)}];`).join(`
|
|
1836
|
+
`);if(w=`${N.join(`
|
|
1837
1837
|
`)}
|
|
1838
1838
|
${M}
|
|
1839
|
-
var ${
|
|
1840
|
-
${
|
|
1839
|
+
var ${R} = (function() {
|
|
1840
|
+
${w}
|
|
1841
1841
|
return { ${T} };
|
|
1842
1842
|
})();
|
|
1843
|
-
${I}`.trim(),console.log("[stx:bundler] bundled:",G,"output:",
|
|
1844
|
-
${
|
|
1845
|
-
`)}`:"";return console.warn(`[stx:bundler] error: ${
|
|
1843
|
+
${I}`.trim(),console.log("[stx:bundler] bundled:",G,"output:",w.length,"bytes"),_.length>0&&A.length===0)return console.warn(`[stx:bundler] dropped every binding for ${B0.basename(Z)} (${G}); serving the unbundled source and not caching this result`),$;y0.mkdirSync(J,{recursive:!0}),await Bun.write(K,w);let E=Array.from(O).map((D)=>{try{return{path:D,mtimeMs:y0.statSync(D).mtimeMs}}catch{return null}}).filter((D)=>D!==null);return await Bun.write(q,JSON.stringify({metadataVersion:u9,files:E})),w}catch(V){let w=V instanceof Error?V.message:String(V),A=V?.errors,N=Array.isArray(A)&&A.length>0?`
|
|
1844
|
+
${A.map((R)=>`- ${R?.message??R}`).join(`
|
|
1845
|
+
`)}`:"";return console.warn(`[stx:bundler] error: ${w}${N}`),$}finally{try{y0.rmSync(U,{force:!0}),y0.rmSync(z,{recursive:!0,force:!0})}catch{}}}var XG=5,u9=1,d9,w7,m9;var v5=k(()=>{M1();T$();d9=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];w7=new Map,m9=Symbol.for("stx.client-bundle-build-queue")});var o9={};s(o9,{renderVendorStyleTags:()=>I$,processClientScript:()=>g5,injectBrowserCoreAutoImports:()=>t1,generateServerDataBridge:()=>D$,generateBrowserAutoImportDestructuring:()=>LG,generateAutoImportDestructuring:()=>A7,extractBridgeData:()=>f5,extractAndStripCssImports:()=>M$});import I1 from"path";import x5 from"fs";function WG($){if($.startsWith(".")||$.startsWith("/"))return null;if($.startsWith("@")){let Y=$.match(/^(@[^/]+\/[^/]+)(\/.*)?$/);if(!Y)return null;return{pkg:Y[1],subpath:Y[2]||""}}let Z=$.match(/^([^/]+)(\/.*)?$/);if(!Z)return null;return{pkg:Z[1],subpath:Z[2]||""}}function UG($,Z){let Y=Z;while(!0){let X=I1.join(Y,"node_modules",$,"package.json");if(x5.existsSync(X))return I1.dirname(X);let Q=I1.dirname(Y);if(Q===Y)return null;Y=Q}}function zG($,Z){if(!$||typeof $!=="object")return null;let Y=(Q)=>{if(typeof Q==="string")return Q;if(Q&&typeof Q==="object"){if(typeof Q.import==="string")return Q.import;if(typeof Q.default==="string")return Q.default;if(typeof Q.import==="object")return Y(Q.import);if(typeof Q.default==="object")return Y(Q.default)}return null};if(Object.prototype.hasOwnProperty.call($,Z))return Y($[Z]);let X=null;for(let Q of Object.keys($)){let J=Q.indexOf("*");if(J===-1)continue;let G=Q.slice(0,J),K=Q.slice(J+1);if(!Z.startsWith(G)||!Z.endsWith(K))continue;if(Z.length<G.length+K.length)continue;if(!X||G.length>X.prefix.length)X={pattern:Q,prefix:G,suffix:K}}if(X){let Q=Z.slice(X.prefix.length,Z.length-X.suffix.length),J=Y($[X.pattern]);if(J)return J.replace("*",Q)}return null}function BG($,Z){let Y=WG($);if(!Y||!Y.subpath)return null;let X=UG(Y.pkg,Z);if(!X)return null;let Q;try{Q=JSON.parse(x5.readFileSync(I1.join(X,"package.json"),"utf8"))}catch{return null}let J=`.${Y.subpath}`,G=zG(Q.exports,J);if(!G)return null;let K=I1.resolve(X,G);return x5.existsSync(K)?K:null}function M$($,Z){let Y=Z.filePath?I1.dirname(Z.filePath):Z.projectRoot||process.cwd(),X=Z.projectRoot||process.cwd(),Q=new Set,J=[];return{code:$.replace(qG,(K,q)=>{let W;try{if(q.startsWith("./")||q.startsWith("../")||q.startsWith("/")){if(W=q.startsWith("/")?q:I1.resolve(Y,q),!x5.existsSync(W))throw Error(`file not found: ${W}`)}else{let U=null;try{U=Bun.resolveSync(q,X)}catch{U=BG(q,X)}if(!U)throw Error(`could not resolve ${q} (Bun.resolveSync + exports fallback both failed)`);W=U}}catch(U){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(q)} (from ${Z.filePath||"<unknown>"}): ${U?.message||U}`),""}if(Q.has(W))return"";Q.add(W);try{let U=x5.readFileSync(W,"utf8");J.push({source:q,resolvedPath:W,contents:U})}catch(U){console.warn(`[stx:vendor-css] could not read ${W}: ${U?.message||U}`)}return""}),styles:J}}function jG($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function I$($){if($.length===0)return"";return`${$.map((Z)=>{return`<style data-stx-vendor="${jG(Z.source)}" data-stx-layer="vendor">
|
|
1846
1846
|
@layer vendor {
|
|
1847
1847
|
${Z.contents}
|
|
1848
1848
|
}
|
|
1849
1849
|
</style>`}).join(`
|
|
1850
1850
|
`)}
|
|
1851
|
-
`}function
|
|
1852
|
-
${$}`,imports:X}}function
|
|
1851
|
+
`}function t1($){let Z=new Set;for(let Q of $.matchAll(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm))for(let J of Q[1].split(",")){let G=J.trim().split(/\s+as\s+/).pop()?.replace(/^type\s+/,"").trim();if(G)Z.add(G)}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 J of Q[1].split(",")){let G=J.trim().split(/[:=]/).pop()?.trim();if(G)Y.add(G)}let X=i9.filter((Q)=>{if(Z.has(Q)||Y.has(Q))return!1;return new RegExp(`\\b${Q}\\b`).test($)});if(X.length===0)return{code:$,imports:X};return{code:`import { ${X.join(", ")} } from '@stacksjs/browser'
|
|
1852
|
+
${$}`,imports:X}}function OG($){let Z=new Set,Y=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,X;while((X=Y.exec($))!==null)if(!HG.has(X[1]))Z.add(X[1]);return Array.from(Z)}function n9($){let Z=new Set,Y=new Set,X=$;X=X.replace(/^\s*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm,"// [type import stripped]");let Q=new Set,J=/^\s*import\s+(?:type\s+)?{\s*([^}]+)\s*}\s+from\s+['"](@stacksjs\/browser|@stacksjs\/stx|stx)['"]\s*;?\s*$/gm,G;while((G=J.exec($))!==null){let q=G[1],W=G[2];if(G[0].includes("import type"))continue;q.split(",").map((z)=>z.trim().split(/\s+as\s+/)[0]).filter((z)=>z.length>0).forEach((z)=>{if(Q.add(z),W==="stx"||W==="@stacksjs/stx")Z.add(z);else Y.add(z)}),X=X.replace(G[0],"// [auto-import processed]")}for(let q of _G){if(Q.has(q))continue;if(new RegExp(`\\b${q}\\s*\\(`,"g").test(X))Z.add(q)}for(let q of i9){if(Q.has(q))continue;if(new RegExp(`\\b${q}\\b`,"g").test(X))Y.add(q)}let K=OG(X);for(let q of K)if(!Q.has(q))Y.add(q);return{code:X,stxImports:Array.from(Z),browserImports:Array.from(Y)}}function A7($,Z){let Y=[];if($.length>0)Y.push(` var { ${$.join(", ")} } = window.stx || window;`);if(Z.length>0)Y.push(` var { ${Z.join(", ")} } = window.StacksBrowser || {};`);if(Y.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
|
|
1853
1853
|
${Y.join(`
|
|
1854
1854
|
`)}
|
|
1855
|
-
${
|
|
1855
|
+
${FG($,Z)}`;return""}function LG($,Z=[]){let{browserImports:Y}=n9($),X=new Set(Z);return A7([],Y.filter((Q)=>!X.has(Q)))}function FG($,Z){let Y=[...$.map((X)=>`['${X}', typeof ${X}, 'stx']`),...Z.map((X)=>`['${X}', typeof ${X}, '@stacksjs/browser']`)];if(Y.length===0)return"";return` // STX: report auto-imports the client runtime did not provide
|
|
1856
1856
|
[${Y.join(", ")}].forEach(function (e) {
|
|
1857
1857
|
if (e[1] !== 'undefined') return;
|
|
1858
1858
|
console.error(
|
|
@@ -1861,15 +1861,15 @@ ${UG($,Z)}`;return""}function zG($,Z=[]){let{browserImports:Y}=d9($),X=new Set(Z
|
|
|
1861
1861
|
+ 'or it should be imported from a relative path so the bundler includes it.'
|
|
1862
1862
|
);
|
|
1863
1863
|
});
|
|
1864
|
-
`}function
|
|
1864
|
+
`}function f5($){let Z={};for(let Y in $){if(Y.startsWith("__")||Y.startsWith("$"))continue;let X=$[Y];if(typeof X==="function")continue;Z[Y]=X}return Z}function p9($,Z){let Y=new Set;for(let X of $.split(",")){let Q=X.trim().replace(/^\.\.\./,"").trim();if(!Q)continue;if(Z){let J=Q.lastIndexOf(":");if(J!==-1)Q=Q.slice(J+1).trim()}if(Q=Q.split("=")[0].trim(),/^[A-Za-z_$][\w$]*$/.test(Q))Y.add(Q)}return Y}function VG($,Z){if(new RegExp(`(?:const|let|var|function|class)\\s+${Z}\\b`).test($))return!0;for(let Y of $.matchAll(/(?:const|let|var)\s*\{([^}]*)\}/g))if(p9(Y[1],!0).has(Z))return!0;for(let Y of $.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(p9(Y[1],!1).has(Z))return!0;return!1}function D$($,Z){if(!Z)return"";let Y=[];for(let[X,Q]of Object.entries(Z)){if(!/^[A-Za-z_$][\w$]*$/.test(X))continue;if(!new RegExp(`\\b${X}\\b`).test($))continue;if(VG($,X))continue;let J;try{J=JSON.stringify(Q)}catch{continue}if(J===void 0)continue;Y.push(` var ${X} = ${J.replace(/</g,"\\u003c")};`)}if(Y.length===0)return"";return` // stx: server -> client data bridge (seeded from server scope)
|
|
1865
1865
|
${Y.join(`
|
|
1866
1866
|
`)}
|
|
1867
|
-
`}function
|
|
1867
|
+
`}function AG($){let Z=[];if($.self)Z.push("if ($event.target !== $el) return");for(let Y of $.systemKeys)Z.push(`if (!$event.${Y}Key) return`);if($.keys.length>0){let Y=$.keys.map((X)=>`$event.key === '${X}'`).join(" || ");Z.push(`if (!(${Y})) return`)}if($.mouse!==null){let Y=wG[$.mouse];Z.push(`if ($event.button !== ${Y}) return`)}if($.prevent)Z.push("$event.preventDefault()");if($.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function RG($,Z){let{elementId:Y,event:X,handler:Q,modifiers:J}=$,G=AG(J),K=[];if(J.once)K.push("once: true");if(J.capture)K.push("capture: true");if(J.passive)K.push("passive: true");let q=K.length>0?`, { ${K.join(", ")} }`:"",W="";if(G)W+=`${G}; `;let U=Q.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),z=`var $emit = function(name, detail) {
|
|
1868
1868
|
$el.dispatchEvent(new CustomEvent(name, { detail: detail, bubbles: true, cancelable: true }))
|
|
1869
|
-
};`;function B(_){if(/\$emit\s*\(/.test(_))return`${
|
|
1869
|
+
};`;function B(_){if(/\$emit\s*\(/.test(_))return`${z}
|
|
1870
1870
|
${_}`;return`var scope = $el.closest('[data-stx-scope]');
|
|
1871
1871
|
if (scope && scope.__stx_execute) {
|
|
1872
|
-
scope.__stx_execute('${
|
|
1872
|
+
scope.__stx_execute('${U}', $event, $el);
|
|
1873
1873
|
}
|
|
1874
1874
|
else {
|
|
1875
1875
|
${_}
|
|
@@ -1896,36 +1896,36 @@ else {
|
|
|
1896
1896
|
}${q})
|
|
1897
1897
|
})()`;if(/\$emit\s*\(/.test(Q))return` var $el = document.getElementById('${Y}')
|
|
1898
1898
|
if ($el) $el.addEventListener('${X}', function($event) {
|
|
1899
|
-
${W}${
|
|
1899
|
+
${W}${z}
|
|
1900
1900
|
${Q}
|
|
1901
1901
|
}${q})`;return` var $el = document.getElementById('${Y}')
|
|
1902
1902
|
if ($el) $el.addEventListener('${X}', function($event) {
|
|
1903
1903
|
${W}var scope = $el.closest('[data-stx-scope]');
|
|
1904
1904
|
if (scope && scope.__stx_execute) {
|
|
1905
|
-
scope.__stx_execute('${
|
|
1905
|
+
scope.__stx_execute('${U}', $event, $el);
|
|
1906
1906
|
}
|
|
1907
1907
|
else {
|
|
1908
1908
|
${Q}
|
|
1909
1909
|
}
|
|
1910
|
-
}${q})`}function
|
|
1910
|
+
}${q})`}function NG($){if($.length===0)return"";return`
|
|
1911
1911
|
// STX: auto-generated event bindings
|
|
1912
|
-
${$.map((Y,X)=>
|
|
1913
|
-
`)}`}function
|
|
1914
|
-
`)G++;continue}if(K==="/"&&X[G+1]==="*"){G+=2;while(G<J-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;G+=2;continue}if(K==="{"){Q++,G++;continue}if(K==="}"){Q--,G++;continue}if(Q===0){let q=X.slice(G),W=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(W){let B=W[1];if(!B.startsWith("_")&&!Y.has(B))Z.push(B),Y.add(B);G+=W[0].length;continue}let
|
|
1912
|
+
${$.map((Y,X)=>RG(Y,X)).join(`
|
|
1913
|
+
`)}`}function c9($){let Z=[],Y=new Set,X=$.replace(/^\s*import\s+.*$/gm,""),Q=0,J=X.length,G=0;while(G<J){let K=X[G];if(K==="'"||K==='"'||K==="`"){let q=K;if(G++,q==="`"){let W=0;while(G<J){if(X[G]==="\\"){G+=2;continue}if(X[G]==="`"&&W===0){G++;break}if(X[G]==="$"&&X[G+1]==="{"){W++,G+=2;continue}if(X[G]==="}"&&W>0){W--,G++;continue}G++}}else while(G<J){if(X[G]==="\\"){G+=2;continue}if(X[G]===q){G++;break}G++}continue}if(K==="/"&&X[G+1]==="/"){while(G<J&&X[G]!==`
|
|
1914
|
+
`)G++;continue}if(K==="/"&&X[G+1]==="*"){G+=2;while(G<J-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;G+=2;continue}if(K==="{"){Q++,G++;continue}if(K==="}"){Q--,G++;continue}if(Q===0){let q=X.slice(G),W=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(W){let B=W[1];if(!B.startsWith("_")&&!Y.has(B))Z.push(B),Y.add(B);G+=W[0].length;continue}let U=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(U){U[1].split(",").forEach((B)=>{let _=B.trim(),j=_.indexOf(":"),H=j>=0?_.slice(j+1).trim().split(/[\s=]/)[0]:_.split(/[\s=]/)[0];if(H&&!H.startsWith("_")&&!Y.has(H))Z.push(H),Y.add(H)}),G+=U[0].length;continue}let z=q.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(z){let B=z[1];if(!B.startsWith("_")&&!Y.has(B))Z.push(B),Y.add(B);G+=z[0].length;continue}}G++}return Z}function MG($){let Z=new Set,Y=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function X(B){let _;while((_=Y.exec(B))!==null){let j=_[0];if(!TG.has(j))Z.add(j)}}let Q=/\{\{([\s\S]*?)\}\}/g,J;while((J=Q.exec($))!==null)X(J[1]);let G=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((J=G.exec($))!==null)X(J[1]);let K=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((J=K.exec($))!==null)X(J[1]);let q=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((J=q.exec($))!==null)X(J[1]);let W=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((J=W.exec($))!==null)X(J[1]);let U=/@model\s*=\s*["']([^"']*)["']/gi;while((J=U.exec($))!==null)X(J[1]);let z=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((J=z.exec($))!==null)X(J[1]);return Z}async function g5($,Z={}){let Y=$,X="",Q=!1,J=[],G=M$(Y,{filePath:Z.filePath,projectRoot:Z.projectRoot});Y=G.code;let K=I$(G.styles),q=t1(Y);Y=q.code,J=q.imports;let{hasUserImports:W,bundleClientScript:U}=await Promise.resolve().then(() => (v5(),C5));if(W(Y))console.log("[stx:bundler] user imports detected, bundling..."),Y=await U(Y,Z.filePath||"",{projectRoot:Z.projectRoot,minify:Z.production}),Q=!0;if(Z.autoImports!==!1){let O=n9(Y);Y=O.code,X=A7(O.stxImports,O.browserImports.filter((V)=>!J.includes(V)))}if(X=`${D$(Y,Z.serverData)}${X}`,Y=n0(Y),!Q&&D1(Z.attrs||""))Y=E1(Y);let z=NG(Z.eventBindings||[]),B=(Z.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(B)){let O=B.replace(/\btype\s*=\s*["']module["']/i,"").trim(),V=`type="module" data-stx-scoped${O?` ${O}`:""}`;return`${K}<script ${V}>
|
|
1915
1915
|
${X}${Y}
|
|
1916
|
-
${
|
|
1916
|
+
${z}
|
|
1917
1917
|
</script>`}let j=/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect|useLocalStorage|useSessionStorage|useRef|useEventListener|useFetch|useDebounce|useDebouncedValue|useThrottle|useInterval|useTimeout|useToggle|useCounter|useClickOutside|useFocus|useAsync|useColorMode|useDark|useWebSocket|useRoute|useSearchParams|onMount|onDestroy|onMounted|onBeforeUnmount|onUnmounted|batch|untrack|peek)\s*(?:<[^>]*>)?\s*\(/.test($),H=/function __stx_setup_/.test(Y),L=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test($);function F(O){let V=O.length>0?`
|
|
1918
1918
|
return { ${O.join(", ")} };`:"";return`${K}<script data-stx-scoped>
|
|
1919
1919
|
window.stx.mount(function() {
|
|
1920
1920
|
'use strict';
|
|
1921
1921
|
${X}${Y}
|
|
1922
|
-
${
|
|
1923
|
-
})</script>`}if(!L&&!H){if(j)return F(
|
|
1922
|
+
${z}${V}
|
|
1923
|
+
})</script>`}if(!L&&!H){if(j)return F(c9($));if(Z.templateContent){let O=c9($);if(O.length>0){let V=MG(Z.templateContent);if(O.some((A)=>V.has(A)))return F(O)}}}return`${K}<script data-stx-scoped>
|
|
1924
1924
|
;(function() {
|
|
1925
1925
|
'use strict';
|
|
1926
1926
|
${X}${Y}
|
|
1927
|
-
${
|
|
1928
|
-
})()</script>`}var
|
|
1927
|
+
${z}
|
|
1928
|
+
})()</script>`}var qG,_G,i9,HG,wG,TG;var h5=k(()=>{F0();qG=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;_G=["state","derived","effect","batch","untrack","peek","isSignal","isDerived","onMount","onDestroy","useRef","navigate","goBack","goForward","useRoute","setRouteParams","useSearchParams","useFetch","useQuery","useMutation","useOptimistic","useId","useReactiveProp","useLocalStorage","useSessionStorage","useCookie","useWebSocket","useHead","useSeoMeta","definePageMeta","useEventListener","useMeta","useDebounce","useDebouncedValue","useThrottle","useInterval","useTimeout","useToggle","useCounter","useClickOutside","useFocus","useAsync","useColorMode","useDark","useMediaQuery","useScrollLock","usePreferredDark","usePreferredLight","usePreferredReducedMotion","usePreferredContrast","ref","reactive","computed","watch","watchEffect","watchMultiple","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","defineProps","withDefaults","defineEmits","defineExpose","defineSlots","provide","inject","nextTick","getCurrentInstance","onErrorCaptured","useSlots","useAttrs","createStore","defineStore","registerStoresClient","useStore","action","createSelector","h","Fragment"],i9=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useDocumentVisibility","useIntervalFn"];HG=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"]);wG={left:0,middle:1,right:2};TG=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"])});function kG($){let Z="",Y=null,X=!1;for(let Q=0;Q<$.length;Q++){let J=$[Q];if(X){X=!1;continue}if(J==="\\"&&Y){X=!0;continue}if(Y){if(Y==="`"&&J==="$"&&Q+1<$.length&&$[Q+1]==="{"){let G=1;Q+=2;while(Q<$.length&&G>0){if($[Q]==="{")G++;else if($[Q]==="}")G--;if(G>0)Z+=$[Q],Q++}continue}if(J===Y)Y=null;continue}if(J==='"'||J==="'"||J==="`"){Y=J;continue}Z+=J}return Z}function bG($,Z){let Y=/[$A-Z_a-z][$\w]*/g,X;while((X=Y.exec($))!==null){let Q=X[0],J=$[X.index-1];if(DG.has(Q))throw Error(`Potentially unsafe expression (matched /\\b${Q}\\b/; identifier ${Q}): ${Z}`);if(J==="."&&t9.has(Q))throw Error(`Potentially unsafe expression (matched /.${Q}/; property ${Q}): ${Z}`)}}function SG($){let Z=/\[\s*(['"])(.*?)\1\s*\]/g,Y;while((Y=Z.exec($))!==null){let X=Y[2];if(!t9.has(X))continue;let Q=$.slice(0,Y.index).match(/\S(?=\s*$)/)?.[0],J=$.slice(Y.index+Y[0].length).match(/^\s*(\S)/)?.[1];if(!((Q==="{"||Q===",")&&J===":"))throw Error(`Potentially unsafe expression (bracket key ${Y[2]}): ${$}`)}}function E$($){let Z=$.trim(),Y=kG(Z);bG(Y,Z),SG(Z);for(let X of a9)if(X.test(Y))throw Error(`Potentially unsafe expression (matched /${X.source}/): ${Z}`);if(!r9.allowBracketNotation&&EG.test(Z))throw Error(`Bracket notation with strings not allowed: ${Z}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return Z}function yG($){let Z={};Z.Math=Math,Z.JSON=JSON,Z.Date=Date,Z.String=String,Z.Number=Number,Z.Boolean=Boolean,Z.Array=Array,Z.parseInt=Number.parseInt,Z.parseFloat=Number.parseFloat,Z.isNaN=Number.isNaN,Z.isFinite=Number.isFinite,Z.encodeURIComponent=encodeURIComponent,Z.decodeURIComponent=decodeURIComponent;for(let[Y,X]of Object.entries($)){if(Y.startsWith("__")||a9.some((Q)=>Q.test(Y)))continue;if(X&&typeof X==="object"&&!Array.isArray(X))Z[Y]=R7(X);else Z[Y]=X}return Z}function R7($,Z=0){if(Z>=r9.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((X)=>R7(X,Z+1));if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Error)return $;let Y={};for(let[X,Q]of Object.entries($)){if(X.startsWith("__")||X==="constructor"||X==="prototype")continue;if(Q&&typeof Q==="object")Y[X]=R7(Q,Z+1);else Y[X]=Q}return Y}function e($,Z){try{let Y=yG(Z),X=Object.keys(Y),Q=Object.values(Y);return J0($,X)(...Q)}catch{return}}function X0($){try{return E$($),!0}catch{return!1}}function V0($,Z){try{let Y=e($,Z);if(Y&&typeof Y==="object"&&!Array.isArray(Y))return Y;return{}}catch{return{}}}function J0($,Z){let Y=E$($),X=/^[A-Za-z_$][\w$]*$/,Q=[],J=[];for(let W=0;W<Z.length;W++){let U=Z[W];if(!X.test(U))continue;if(e9.has(U))continue;Q.push(W),J.push(U)}let G=(W)=>Function(...J,...W,`
|
|
1929
1929
|
'use strict';
|
|
1930
1930
|
try {
|
|
1931
1931
|
return ${Y};
|
|
@@ -1936,7 +1936,7 @@ catch (e) {
|
|
|
1936
1936
|
}
|
|
1937
1937
|
throw e;
|
|
1938
1938
|
}
|
|
1939
|
-
`),K=G([]);if(J.length===Z.length)return u9(K,J,G);return u9((...W)=>{let z=Array(Q.length);for(let U=0;U<Q.length;U++)z[U]=W[Q[U]];return K(...z)},J,G,(W)=>{K=G(W)})}function u9($,Z,Y,X){let J=/^(\w+) is not defined$/,G=$,K=[],q=new Set(Z);return(...W)=>{for(let z=0;z<=8;z++)try{return G(...W)}catch(U){let B=U instanceof Error?U.message:"",_=J.exec(B);if(!(U instanceof ReferenceError)||!_)return;let j=_[1];if(q.has(j)||i9.has(j))return;q.add(j),K.push(j),G=Y(K),X?.(K)}return}}function M$($){let Z=$.trim(),Y=[/\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 X of Y)if(X.test(Z))return!1;return!0}var VG,l9,p9,RG,c9,wG,i9;var _0=k(()=>{VG={maxSanitizeDepth:10,allowBracketNotation:!1},l9={...VG},p9=[/\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/],RG=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"]),c9=new Set(["__proto__","constructor","prototype"]),wG=/[\w)\]]\s*\[\s*['"]/;i9=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 I$($,Z){let Y=IG++,X=`<!--__STX_${$.toUpperCase()}_${Y}__-->`;return DG.set(X,{type:$,expression:Z}),X}var IG=0,DG;var n9=k(()=>{DG=new Map});function t9($,Z,Y,X){Y.lastIndex=Z;let Q=Y.exec($);if(!Q||Q.index!==Z)return-1;X.lastIndex=Y.lastIndex;let J=X.exec($);if(!J)return-1;return J.index+J[0].length}function W1($,Z){return t9($,Z,o9,s9)}function r1($,Z){return t9($,Z,r9,a9)}function x5($,Z){if(!$.startsWith("<!--",Z))return-1;let Y=$.indexOf("-->",Z+4);if(Y===-1)return-1;return Y+3}function EG($,Z){if($.startsWith("<!--",Z)){let Y=x5($,Z);return Y===-1?$.length:Y}for(let[Y,X]of[[o9,s9],[r9,a9]]){Y.lastIndex=Z;let Q=Y.exec($);if(!Q||Q.index!==Z)continue;X.lastIndex=Y.lastIndex;let J=X.exec($);return J?J.index+J[0].length:$.length}return-1}function V7($,Z){let Y=[],X=0,Q=$.length,J=!1,G=null;while(X<Q){let K=$[X];if(J){if(G){if(K===G)G=null}else if(K==='"'||K==="'")G=K;else if(K===">")J=!1;X++;continue}if(K!=="<"){X++;continue}let q=Z($,X);if(q>X){Y.push({start:X,end:q,token:$.slice(X,q)}),X=q;continue}let W=EG($,X);if(W>X){X=W;continue}if(/^<\/?[a-zA-Z]/.test($.slice(X,X+2)))J=!0;X++}return Y}function r0($,Z,Y){let X=V7($,Z);if(X.length===0)return{output:$,tokens:[]};let Q=X.map((K)=>K.token),J="",G=0;for(let K=0;K<X.length;K++){let q=X[K];J+=$.slice(G,q.start),J+=Y(q.token,K),G=q.end}return J+=$.slice(G),{output:J,tokens:Q}}function z1($){let{output:Z,tokens:Y}=r0($,W1,(X,Q)=>`\x00STX_SCRIPT_${Q}\x00`);return{output:Z,scripts:Y}}function f5($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Y,X)=>Z[+X]??"")}var o9,s9,r9,a9;var k1=k(()=>{o9=/<script\b[^>]*>/iy,s9=/<\/script\s*>/ig,r9=/<style\b[^>]*>/iy,a9=/<\/style\s*>/ig});var J8={};r(J8,{usesSignalsInScript:()=>a1,unescapeHtml:()=>R7,registerFilters:()=>bG,registerFilter:()=>Z8,processExpressions:()=>U1,interpolateScriptsInTemplate:()=>yG,interpolateScriptExpressions:()=>D$,getAllFilters:()=>Y8,evaluateExpression:()=>m0,escapeHtml:()=>i0,defaultFilters:()=>h5,clearCustomFilters:()=>SG,applyFilters:()=>X8});function kG($){let Z=e9.get($);if(!Z){let Y=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${Y}(?!\\w)`,"g"),e9.set($,Z)}return Z.lastIndex=0,Z}function Z8($,Z){if($ in h5)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);g5[$]=Z}function bG($){for(let[Z,Y]of Object.entries($))Z8(Z,Y)}function Y8(){return{...h5,...g5}}function SG(){for(let $ of Object.keys(g5))delete g5[$]}function i0($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function a1($){let{scripts:Z}=z1($);for(let Y of Z){let X=Y.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!X||/\bserver\b|\bsrc\s*=/.test(X[1]))continue;let Q=X[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(Q))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function $8($,Z){let Y=["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"],X=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Q="",J=!1,G=0;for(let W=0;W<X.length;W++){let z=X[W];if(!J&&z==="`"){J=!0,G=0;continue}if(J){if(z==="`"&&G===0){J=!1;continue}if(z==="$"&&X[W+1]==="{"){G++,W++,Q+=" ";continue}if(z==="}"&&G>0){G--;continue}if(G>0){Q+=z;continue}continue}Q+=z}X=Q;let K=/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,q;while((q=K.exec(X))!==null){let W=q[1];if(!X.substring(0,q.index).trimEnd().endsWith(".")){if(!Y.includes(W)&&!(W in Z))return!1}}return!0}function D$($,Z){let Y=$;return Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(X,Q)=>{try{let J=m0(Q,Z);if(J===void 0)return X;return J===null?"":String(J)}catch{return X}}),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(X,Q)=>{let J=Q.trim();if(/^__[A-Z_]+__$/.test(J))return X;try{let G=m0(Q,Z);if(G===void 0)return X;return JSON.stringify(G)}catch{return X}}),Y}function yG($,Z,Y={}){let{output:X,scripts:Q}=z1($),J=Q.map((G)=>{let K=G.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),q=G.match(/^<script\b[^>]*>/i),W=G.search(/<\/script\s*>$/i);if(!K||!q||W===-1)return G;let z=K[1],U=K[2];if(/\bsrc\s*=/.test(z))return G;if(/\bdata-raw\b/.test(z))return G;if(/\btype\s*=\s*["']application\/json["']/.test(z))return G;if(Y.skipServer&&/\bserver\b/.test(z))return G;let B=D$(U,Z);return q[0]+B+G.slice(W)});return f5(X,J)}function U1($,Z,Y,X){let Q=$,J=(B,_)=>{let j=r1(B,_);if(j===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(B.slice(_,j))?-1:j},G=(B,_,j,H)=>{let L=j.length,{output:F,tokens:O}=r0(B,_,(V,R)=>H(L+R));return j.push(...O),F},K=[];Q=G(Q,J,K,(B)=>`<!--__STX_STYLE_${B}__-->`);let q=[];Q=G(Q,W1,q,(B)=>`<!--__STX_SCRIPT_EXPR_${B}__-->`);let W=X?.forceSignals===!0||Z?.__stx_force_signals===!0||Array.isArray(Z?.__stx_client_signal_names)||a1($),z=new Set(Array.isArray(Z?.__stx_client_signal_names)?Z.__stx_client_signal_names:[]),U=new Set(Array.isArray(Z?.__stx_preserved_client_expressions)?Z.__stx_preserved_client_expressions:[]);Q=Q.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(B,_,j)=>{try{let H=m0(_,Z);return H!==void 0&&H!==null?String(H):""}catch(H){let L=H instanceof Error?H.message:String(H);return W0("Expression",`Error evaluating: {{{ ${_.trim()}}}}: ${L}`,Y,$,j,B)}}),Q=Q.replace(/\{!!([\s\S]*?)!!\}/g,(B,_,j)=>{try{let H=m0(_,Z);if(H===void 0&&Z.__stx_buildMode==="compile")return I$("raw",_.trim());return H!==void 0&&H!==null?String(H):""}catch(H){if(Z.__stx_buildMode==="compile")return I$("raw",_.trim());let L=H instanceof Error?H.message:String(H);return W0("Expression",`Error evaluating: {!! ${_.trim()} !!}: ${L}`,Y,$,j,B)}}),Q=G(Q,W1,q,(B)=>`<!--__STX_SCRIPT_EXPR_${B}__-->`),Q=G(Q,J,K,(B)=>`<!--__STX_STYLE_${B}__-->`),Q=Q.replace(/\{\{([\s\S]*?)\}\}/g,(B,_,j)=>{let H=_.trim();if(U.has(H))return B;let L=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],F=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,V=H.match(F)?.[1],R=V&&((V in Z)||L.includes(V)),w=Boolean(V&&z.has(V)),N=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,A=H.match(N),T=A&&!L.includes(A[1])&&!(A[1]in Z);if(/^__[A-Z_]+__$/.test(H))return"";try{let M=m0(_,Z);if(w)return B;if(W&&!$8(H,Z))return B;if(M===void 0&&Z.__stx_buildMode==="compile"&&!W)return I$("expr",H);return M!==void 0&&M!==null?i0(String(M)):""}catch(M){if(w)return B;if(W&&!$8(H,Z))return B;if(T)return B;let I=M instanceof Error?M.message:String(M);return W0("Expression",`Error evaluating: {{ ${H} }}: ${I}`,Y,$,j,B)}});for(let B=0;B<q.length;B++)Q=Q.replace(`<!--__STX_SCRIPT_EXPR_${B}__-->`,()=>q[B]);for(let B=0;B<K.length;B++)Q=Q.replace(`<!--__STX_STYLE_${B}__-->`,()=>K[B]);return Q}function X8($,Z,Y){if(!Z.trim())return $;let X=$,Q=Z.trim();while(Q.length>0){let J=Q.match(/^(\w+)/);if(!J)break;let G=J[1];Q=Q.substring(G.length).trim();let K=g5[G]||h5[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(Y8()).join(", ")}`);let q=[];if(Q.startsWith(":")){let W=Q.match(/^:([^|\s]+)/);if(W){let z=W[1].trim();try{let U=Number(z);q=[Number.isNaN(U)?z:U]}catch{q=[z]}Q=Q.substring(W[0].length).trim()}}else if(Q.startsWith("(")){let W=1,z=1;while(W>0&&z<Q.length){if(Q[z]==="(")W++;if(Q[z]===")")W--;z++}if(W===0){let U=Q.substring(1,z-1).trim();if(U)try{if(U.startsWith("{")&&U.endsWith("}"))q=[m0(`(${U})`,Y,!0)];else{let B=[],_="",j=null,H=0,L=0,F=0,O=!1;for(let V=0;V<U.length;V++){let R=U[V];if(O){_+=R,O=!1;continue}if(R==="\\"){_+=R,O=!0;continue}if(j){if(_+=R,R===j)j=null;continue}if(R==='"'||R==="'"||R==="`"){j=R,_+=R;continue}if(R==="(")H++;else if(R===")")H--;else if(R==="[")L++;else if(R==="]")L--;else if(R==="{")F++;else if(R==="}")F--;if(R===","&&H===0&&L===0&&F===0){B.push(_),_="";continue}_+=R}if(_)B.push(_);q=B.map((V)=>{let R=V.trim();return m0(R,Y,!0)})}}catch{q=[U]}Q=Q.substring(z).trim()}}try{X=K(X,Y,...q)}catch(W){let z=W instanceof Error?W.message:String(W);throw Error(`Error applying filter '${G}': ${z}`)}if(Q.startsWith("|"))Q=Q.substring(1).trim();else break}return X}function PG($){let Z=!1,Y="",X=0,Q=0,J=0,G=!1;for(let K=0;K<$.length;K++){let q=$[K],W=$[K+1];if(Z&&G){G=!1;continue}if(Z&&q==="\\"){G=!0;continue}if(G=!1,(q==='"'||q==="'"||q==="`")&&!G){if(!Z)Z=!0,Y=q;else if(q===Y)Z=!1,Y="";continue}if(Z&&Y==="`"&&q==="$"&&W==="{"){let z=1;K+=2;while(K<$.length&&z>0){if($[K]==="{")z++;else if($[K]==="}")z--;if(z>0)K++}continue}if(Z)continue;if(q==="(")X++;else if(q===")")X--;else if(q==="[")Q++;else if(q==="]")Q--;else if(q==="{")J++;else if(q==="}")J--;if(q==="|"&&X===0&&Q===0&&J===0){if(W==="|"){K++;continue}if(W==="="){K++;continue}return K}}return-1}function m0($,Z,Y=!1){try{let X=$.trim(),Q=PG(X);if(Q>0){let J=X.substring(0,Q).trim(),G=X.substring(Q+1).trim(),K=m0(J,Z,!0);return X8(K,G,Z)}if(!J0(X)){if(!Y)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${X}`);return Z0(X,Z)}try{let J=Object.keys(Z),G=Object.values(Z);return Q0(X,J)(...G)}catch{return Z0(X,Z)}}catch(X){if(X instanceof ReferenceError){let Q=/(\b\w+)\s+is not defined/.exec(X.message);if(Q){let J=Q[1],G=CG(J,Object.keys(Z));if(G&&G!==J)X.message=`${X.message} \u2014 did you mean '${G}'?`}}if(!Y)console.error(`Error evaluating expression: ${$}`,X);throw X}}function CG($,Z){let Y=null;for(let Q of Z){if(Q===$)continue;let J=vG($,Q);if(Y===null||J<Y.dist)Y={key:Q,dist:J}}if(!Y)return null;let X=Math.max($.length,Y.key.length);if(Y.dist<=2||Y.dist/X<=0.35)return Y.key;return null}function vG($,Z){if($===Z)return 0;if($.length===0)return Z.length;if(Z.length===0)return $.length;let[Y,X]=$.length<Z.length?[$,Z]:[Z,$],Q=Array(Y.length+1),J=Array(Y.length+1);for(let G=0;G<=Y.length;G++)Q[G]=G;for(let G=1;G<=X.length;G++){J[0]=G;for(let K=1;K<=Y.length;K++){let q=Y[K-1]===X[G-1]?0:1;J[K]=Math.min(J[K-1]+1,Q[K]+1,Q[K-1]+q)}for(let K=0;K<=Y.length;K++)Q[K]=J[K]}return Q[Y.length]}function R7($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var g5,e9,h5;var a0=k(()=>{_0();L0();n9();k1();g5={},e9=new Map;h5={uppercase:($,Z)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,Z)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,Z)=>{if($===void 0||$===null)return"";let Y=String($);return Y.charAt(0).toUpperCase()+Y.slice(1)},number:($,Z,Y=0)=>{if($===void 0||$===null)return"";try{let X=Number($);return Number.isNaN(X)?"":X.toFixed(Number.parseInt(String(Y),10))}catch{return""}},fmt:($,Z,Y="en-US")=>{if($===void 0||$===null)return"";try{let X=Number($);if(Number.isNaN(X))return String($);return X.toLocaleString(Y)}catch{return String($)}},join:($,Z,Y=",")=>{if(!Array.isArray($))return"";return $.join(String(Y))},escape:($,Z)=>{if($===void 0||$===null)return"";return i0(String($))},translate:($,Z,Y={})=>{if(!Z||!Z.__translations)return $;let X=Z.__translations,Q=Z.__i18nConfig?.fallbackToKey??!0,J=String($).split("."),G=X;for(let q of J){if(G===void 0||G===null)break;G=G[q]}if(G===void 0||G===null)return Q?$:"";let K=String(G);return Object.entries(Y).forEach(([q,W])=>{K=K.replace(kG(q),String(W))}),K},t:($,Z,Y={})=>{return h5.translate($,Z,Y)},truncate:($,Z,Y=50,X="...")=>{if($===void 0||$===null)return"";let Q=String($);if(Q.length<=Y)return Q;if(Y<=X.length)return X.substring(0,Y);return Q.substring(0,Y-X.length)+X},date:($,Z,Y="short",X="en-US")=>{if($===void 0||$===null)return"";try{let Q=$ instanceof Date?$:new Date($);if(Number.isNaN(Q.getTime()))return String($);let J={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(Y==="iso")return Q.toISOString();return new Intl.DateTimeFormat(X,J[Y]||J.short).format(Q)}catch{return String($)}},currency:($,Z,Y="USD",X="en-US")=>{if($===void 0||$===null)return"";try{let Q=Number($);if(Number.isNaN(Q))return String($);return new Intl.NumberFormat(X,{style:"currency",currency:Y}).format(Q)}catch{return String($)}},pluralize:($,Z,Y,X)=>{let Q=Number($);if(Number.isNaN(Q))return Y;let J=X||`${Y}s`;return Q===1?Y:J},first:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let Y=String($);return Y.charAt(Y.length-1)},length:($,Z)=>{if($===void 0||$===null)return 0;if(Array.isArray($)||typeof $==="string")return $.length;if($ instanceof Map||$ instanceof Set)return $.size;if(typeof $==="object")return Object.keys($).length;return 0},json:($,Z,Y=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return Y?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,Y="")=>{return $===void 0||$===null||$===""?Y:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,Y=0,X)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(Y,X);return $},replace:($,Z,Y,X="")=>{if($===void 0||$===null)return"";let Q=Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Q,"g"),()=>X)},stripTags:($,Z)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,Z)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,Z)=>{let Y=Number($);return Number.isNaN(Y)?0:Math.abs(Y)},round:($,Z,Y=0)=>{let X=Number($);if(Number.isNaN(X))return 0;let Q=10**Y;return Math.round(X*Q)/Q}}});function t1($="const",Z=[],Y){let X=Z.length?E$.filter((Q)=>!Z.includes(Q)):E$;if(Y!==void 0)X=X.filter((Q)=>{let J=Q.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(^|[^\\w$])${J}(?![\\w$])`).test(Y)});return`${$} { ${X.join(", ")} } = window.stx;`}var E$,Q8;var d5=k(()=>{E$=["batch","computed","defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","defineStore","derived","effect","goBack","goForward","navigate","nextTick","onBeforeUnmount","onDestroy","onMount","onMounted","onUnmounted","provide","reactive","ref","registerStoresClient","state","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","useScrollLock","useSearchParams","useSeoMeta","useSessionStorage","useStore","useThrottle","useTimeout","useToggle","useWebSocket","watch","watchEffect","withDefaults"],Q8=["onMount","onDestroy"]});class m5{cache=new Map;maxSize;constructor($=100){this.maxSize=$}get($){if(!this.cache.has($))return;let Z=this.cache.get($);return this.cache.delete($),this.cache.set($,Z),Z}set($,Z){if(this.cache.has($))this.cache.delete($);else if(this.cache.size>=this.maxSize){let Y=this.cache.keys().next().value;if(Y!==void 0)this.cache.delete(Y)}this.cache.set($,Z)}has($){return this.cache.has($)}delete($){return this.cache.delete($)}clear(){this.cache.clear()}get size(){return this.cache.size}keys(){return this.cache.keys()}values(){return this.cache.values()}}function $5($,Z){if(Z?.includes("g"))return new RegExp($,Z);let Y=`${$}:${Z||""}`;if(!e1.has(Y)){if(e1.size>=xG){let X=e1.keys().next().value;if(X)e1.delete(X)}e1.set(Y,new RegExp($,Z))}return e1.get(Y)}class G8{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let Z=Array.from(new Set($)),Y=Z.sort().join(","),X=this.pool.find((K)=>K.context.join(",")===Y);if(X)return X.func;let Q=this.fnCache,J=this.fnCacheMaxSize,G=(...K)=>{return(q)=>{try{let W=`${Y}:${q}`,z=Q.get(W);if(!z){if(Q.size>=J){let U=Q.keys().next().value;if(U)Q.delete(U)}z=Function(...Z,`
|
|
1939
|
+
`),K=G([]);if(J.length===Z.length)return s9(K,J,G);return s9((...W)=>{let U=Array(Q.length);for(let z=0;z<Q.length;z++)U[z]=W[Q[z]];return K(...U)},J,G,(W)=>{K=G(W)})}function s9($,Z,Y,X){let J=/^(\w+) is not defined$/,G=$,K=[],q=new Set(Z);return(...W)=>{for(let U=0;U<=8;U++)try{return G(...W)}catch(z){let B=z instanceof Error?z.message:"",_=J.exec(B);if(!(z instanceof ReferenceError)||!_)return;let j=_[1];if(q.has(j)||e9.has(j))return;q.add(j),K.push(j),G=Y(K),X?.(K)}return}}function k$($){let Z=$.trim(),Y=[/\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 X of Y)if(X.test(Z))return!1;return!0}var IG,r9,a9,DG,t9,EG,e9;var j0=k(()=>{IG={maxSanitizeDepth:10,allowBracketNotation:!1},r9={...IG},a9=[/\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/],DG=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"]),t9=new Set(["__proto__","constructor","prototype"]),EG=/[\w)\]]\s*\[\s*['"]/;e9=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 b$($,Z){let Y=PG++,X=`<!--__STX_${$.toUpperCase()}_${Y}__-->`;return CG.set(X,{type:$,expression:Z}),X}var PG=0,CG;var $8=k(()=>{CG=new Map});function Q8($,Z,Y,X){Y.lastIndex=Z;let Q=Y.exec($);if(!Q||Q.index!==Z)return-1;X.lastIndex=Y.lastIndex;let J=X.exec($);if(!J)return-1;return J.index+J[0].length}function U1($,Z){return Q8($,Z,Z8,Y8)}function e1($,Z){return Q8($,Z,X8,J8)}function d5($,Z){if(!$.startsWith("<!--",Z))return-1;let Y=$.indexOf("-->",Z+4);if(Y===-1)return-1;return Y+3}function vG($,Z){if($.startsWith("<!--",Z)){let Y=d5($,Z);return Y===-1?$.length:Y}for(let[Y,X]of[[Z8,Y8],[X8,J8]]){Y.lastIndex=Z;let Q=Y.exec($);if(!Q||Q.index!==Z)continue;X.lastIndex=Y.lastIndex;let J=X.exec($);return J?J.index+J[0].length:$.length}return-1}function N7($,Z){let Y=[],X=0,Q=$.length,J=!1,G=null;while(X<Q){let K=$[X];if(J){if(G){if(K===G)G=null}else if(K==='"'||K==="'")G=K;else if(K===">")J=!1;X++;continue}if(K!=="<"){X++;continue}let q=Z($,X);if(q>X){Y.push({start:X,end:q,token:$.slice(X,q)}),X=q;continue}let W=vG($,X);if(W>X){X=W;continue}if(/^<\/?[a-zA-Z]/.test($.slice(X,X+2)))J=!0;X++}return Y}function a0($,Z,Y){let X=N7($,Z);if(X.length===0)return{output:$,tokens:[]};let Q=X.map((K)=>K.token),J="",G=0;for(let K=0;K<X.length;K++){let q=X[K];J+=$.slice(G,q.start),J+=Y(q.token,K),G=q.end}return J+=$.slice(G),{output:J,tokens:Q}}function z1($){let{output:Z,tokens:Y}=a0($,U1,(X,Q)=>`\x00STX_SCRIPT_${Q}\x00`);return{output:Z,scripts:Y}}function m5($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Y,X)=>Z[+X]??"")}var Z8,Y8,X8,J8;var k1=k(()=>{Z8=/<script\b[^>]*>/iy,Y8=/<\/script\s*>/ig,X8=/<style\b[^>]*>/iy,J8=/<\/style\s*>/ig});var z8={};s(z8,{usesSignalsInScript:()=>$5,unescapeHtml:()=>T7,registerFilters:()=>fG,registerFilter:()=>q8,processExpressions:()=>B1,interpolateScriptsInTemplate:()=>hG,interpolateScriptExpressions:()=>S$,getAllFilters:()=>W8,evaluateExpression:()=>l0,escapeHtml:()=>o0,defaultFilters:()=>l5,clearCustomFilters:()=>gG,applyFilters:()=>U8});function xG($){let Z=G8.get($);if(!Z){let Y=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${Y}(?!\\w)`,"g"),G8.set($,Z)}return Z.lastIndex=0,Z}function q8($,Z){if($ in l5)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);u5[$]=Z}function fG($){for(let[Z,Y]of Object.entries($))q8(Z,Y)}function W8(){return{...l5,...u5}}function gG(){for(let $ of Object.keys(u5))delete u5[$]}function o0($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function $5($){let{scripts:Z}=z1($);for(let Y of Z){let X=Y.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!X||/\bserver\b|\bsrc\s*=/.test(X[1]))continue;let Q=X[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(Q))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function K8($,Z){let Y=["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"],X=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Q="",J=!1,G=0;for(let W=0;W<X.length;W++){let U=X[W];if(!J&&U==="`"){J=!0,G=0;continue}if(J){if(U==="`"&&G===0){J=!1;continue}if(U==="$"&&X[W+1]==="{"){G++,W++,Q+=" ";continue}if(U==="}"&&G>0){G--;continue}if(G>0){Q+=U;continue}continue}Q+=U}X=Q;let K=/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,q;while((q=K.exec(X))!==null){let W=q[1];if(!X.substring(0,q.index).trimEnd().endsWith(".")){if(!Y.includes(W)&&!(W in Z))return!1}}return!0}function S$($,Z){let Y=$;return Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(X,Q)=>{try{let J=l0(Q,Z);if(J===void 0)return X;return J===null?"":String(J)}catch{return X}}),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(X,Q)=>{let J=Q.trim();if(/^__[A-Z_]+__$/.test(J))return X;try{let G=l0(Q,Z);if(G===void 0)return X;return JSON.stringify(G)}catch{return X}}),Y}function hG($,Z,Y={}){let{output:X,scripts:Q}=z1($),J=Q.map((G)=>{let K=G.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),q=G.match(/^<script\b[^>]*>/i),W=G.search(/<\/script\s*>$/i);if(!K||!q||W===-1)return G;let U=K[1],z=K[2];if(/\bsrc\s*=/.test(U))return G;if(/\bdata-raw\b/.test(U))return G;if(/\btype\s*=\s*["']application\/json["']/.test(U))return G;if(Y.skipServer&&/\bserver\b/.test(U))return G;let B=S$(z,Z);return q[0]+B+G.slice(W)});return m5(X,J)}function B1($,Z,Y,X){let Q=$,J=(B,_)=>{let j=e1(B,_);if(j===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(B.slice(_,j))?-1:j},G=(B,_,j,H)=>{let L=j.length,{output:F,tokens:O}=a0(B,_,(V,w)=>H(L+w));return j.push(...O),F},K=[];Q=G(Q,J,K,(B)=>`<!--__STX_STYLE_${B}__-->`);let q=[];Q=G(Q,U1,q,(B)=>`<!--__STX_SCRIPT_EXPR_${B}__-->`);let W=X?.forceSignals===!0||Z?.__stx_force_signals===!0||Array.isArray(Z?.__stx_client_signal_names)||$5($),U=new Set(Array.isArray(Z?.__stx_client_signal_names)?Z.__stx_client_signal_names:[]),z=new Set(Array.isArray(Z?.__stx_preserved_client_expressions)?Z.__stx_preserved_client_expressions:[]);Q=Q.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(B,_,j)=>{try{let H=l0(_,Z);return H!==void 0&&H!==null?String(H):""}catch(H){let L=H instanceof Error?H.message:String(H);return q0("Expression",`Error evaluating: {{{ ${_.trim()}}}}: ${L}`,Y,$,j,B)}}),Q=Q.replace(/\{!!([\s\S]*?)!!\}/g,(B,_,j)=>{try{let H=l0(_,Z);if(H===void 0&&Z.__stx_buildMode==="compile")return b$("raw",_.trim());return H!==void 0&&H!==null?String(H):""}catch(H){if(Z.__stx_buildMode==="compile")return b$("raw",_.trim());let L=H instanceof Error?H.message:String(H);return q0("Expression",`Error evaluating: {!! ${_.trim()} !!}: ${L}`,Y,$,j,B)}}),Q=G(Q,U1,q,(B)=>`<!--__STX_SCRIPT_EXPR_${B}__-->`),Q=G(Q,J,K,(B)=>`<!--__STX_STYLE_${B}__-->`),Q=Q.replace(/\{\{([\s\S]*?)\}\}/g,(B,_,j)=>{let H=_.trim();if(z.has(H))return B;let L=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],F=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,V=H.match(F)?.[1],w=V&&((V in Z)||L.includes(V)),A=Boolean(V&&U.has(V)),N=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,R=H.match(N),T=R&&!L.includes(R[1])&&!(R[1]in Z);if(/^__[A-Z_]+__$/.test(H))return"";try{let M=l0(_,Z);if(A)return B;if(W&&!K8(H,Z))return B;if(M===void 0&&Z.__stx_buildMode==="compile"&&!W)return b$("expr",H);return M!==void 0&&M!==null?o0(String(M)):""}catch(M){if(A)return B;if(W&&!K8(H,Z))return B;if(T)return B;let I=M instanceof Error?M.message:String(M);return q0("Expression",`Error evaluating: {{ ${H} }}: ${I}`,Y,$,j,B)}});for(let B=0;B<q.length;B++)Q=Q.replace(`<!--__STX_SCRIPT_EXPR_${B}__-->`,()=>q[B]);for(let B=0;B<K.length;B++)Q=Q.replace(`<!--__STX_STYLE_${B}__-->`,()=>K[B]);return Q}function U8($,Z,Y){if(!Z.trim())return $;let X=$,Q=Z.trim();while(Q.length>0){let J=Q.match(/^(\w+)/);if(!J)break;let G=J[1];Q=Q.substring(G.length).trim();let K=u5[G]||l5[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(W8()).join(", ")}`);let q=[];if(Q.startsWith(":")){let W=Q.match(/^:([^|\s]+)/);if(W){let U=W[1].trim();try{let z=Number(U);q=[Number.isNaN(z)?U:z]}catch{q=[U]}Q=Q.substring(W[0].length).trim()}}else if(Q.startsWith("(")){let W=1,U=1;while(W>0&&U<Q.length){if(Q[U]==="(")W++;if(Q[U]===")")W--;U++}if(W===0){let z=Q.substring(1,U-1).trim();if(z)try{if(z.startsWith("{")&&z.endsWith("}"))q=[l0(`(${z})`,Y,!0)];else{let B=[],_="",j=null,H=0,L=0,F=0,O=!1;for(let V=0;V<z.length;V++){let w=z[V];if(O){_+=w,O=!1;continue}if(w==="\\"){_+=w,O=!0;continue}if(j){if(_+=w,w===j)j=null;continue}if(w==='"'||w==="'"||w==="`"){j=w,_+=w;continue}if(w==="(")H++;else if(w===")")H--;else if(w==="[")L++;else if(w==="]")L--;else if(w==="{")F++;else if(w==="}")F--;if(w===","&&H===0&&L===0&&F===0){B.push(_),_="";continue}_+=w}if(_)B.push(_);q=B.map((V)=>{let w=V.trim();return l0(w,Y,!0)})}}catch{q=[z]}Q=Q.substring(U).trim()}}try{X=K(X,Y,...q)}catch(W){let U=W instanceof Error?W.message:String(W);throw Error(`Error applying filter '${G}': ${U}`)}if(Q.startsWith("|"))Q=Q.substring(1).trim();else break}return X}function dG($){let Z=!1,Y="",X=0,Q=0,J=0,G=!1;for(let K=0;K<$.length;K++){let q=$[K],W=$[K+1];if(Z&&G){G=!1;continue}if(Z&&q==="\\"){G=!0;continue}if(G=!1,(q==='"'||q==="'"||q==="`")&&!G){if(!Z)Z=!0,Y=q;else if(q===Y)Z=!1,Y="";continue}if(Z&&Y==="`"&&q==="$"&&W==="{"){let U=1;K+=2;while(K<$.length&&U>0){if($[K]==="{")U++;else if($[K]==="}")U--;if(U>0)K++}continue}if(Z)continue;if(q==="(")X++;else if(q===")")X--;else if(q==="[")Q++;else if(q==="]")Q--;else if(q==="{")J++;else if(q==="}")J--;if(q==="|"&&X===0&&Q===0&&J===0){if(W==="|"){K++;continue}if(W==="="){K++;continue}return K}}return-1}function l0($,Z,Y=!1){try{let X=$.trim(),Q=dG(X);if(Q>0){let J=X.substring(0,Q).trim(),G=X.substring(Q+1).trim(),K=l0(J,Z,!0);return U8(K,G,Z)}if(!X0(X)){if(!Y)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${X}`);return e(X,Z)}try{let J=Object.keys(Z),G=Object.values(Z);return J0(X,J)(...G)}catch{return e(X,Z)}}catch(X){if(X instanceof ReferenceError){let Q=/(\b\w+)\s+is not defined/.exec(X.message);if(Q){let J=Q[1],G=mG(J,Object.keys(Z));if(G&&G!==J)X.message=`${X.message} \u2014 did you mean '${G}'?`}}if(!Y)console.error(`Error evaluating expression: ${$}`,X);throw X}}function mG($,Z){let Y=null;for(let Q of Z){if(Q===$)continue;let J=uG($,Q);if(Y===null||J<Y.dist)Y={key:Q,dist:J}}if(!Y)return null;let X=Math.max($.length,Y.key.length);if(Y.dist<=2||Y.dist/X<=0.35)return Y.key;return null}function uG($,Z){if($===Z)return 0;if($.length===0)return Z.length;if(Z.length===0)return $.length;let[Y,X]=$.length<Z.length?[$,Z]:[Z,$],Q=Array(Y.length+1),J=Array(Y.length+1);for(let G=0;G<=Y.length;G++)Q[G]=G;for(let G=1;G<=X.length;G++){J[0]=G;for(let K=1;K<=Y.length;K++){let q=Y[K-1]===X[G-1]?0:1;J[K]=Math.min(J[K-1]+1,Q[K]+1,Q[K-1]+q)}for(let K=0;K<=Y.length;K++)Q[K]=J[K]}return Q[Y.length]}function T7($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var u5,G8,l5;var t0=k(()=>{j0();F0();$8();k1();u5={},G8=new Map;l5={uppercase:($,Z)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,Z)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,Z)=>{if($===void 0||$===null)return"";let Y=String($);return Y.charAt(0).toUpperCase()+Y.slice(1)},number:($,Z,Y=0)=>{if($===void 0||$===null)return"";try{let X=Number($);return Number.isNaN(X)?"":X.toFixed(Number.parseInt(String(Y),10))}catch{return""}},fmt:($,Z,Y="en-US")=>{if($===void 0||$===null)return"";try{let X=Number($);if(Number.isNaN(X))return String($);return X.toLocaleString(Y)}catch{return String($)}},join:($,Z,Y=",")=>{if(!Array.isArray($))return"";return $.join(String(Y))},escape:($,Z)=>{if($===void 0||$===null)return"";return o0(String($))},translate:($,Z,Y={})=>{if(!Z||!Z.__translations)return $;let X=Z.__translations,Q=Z.__i18nConfig?.fallbackToKey??!0,J=String($).split("."),G=X;for(let q of J){if(G===void 0||G===null)break;G=G[q]}if(G===void 0||G===null)return Q?$:"";let K=String(G);return Object.entries(Y).forEach(([q,W])=>{K=K.replace(xG(q),String(W))}),K},t:($,Z,Y={})=>{return l5.translate($,Z,Y)},truncate:($,Z,Y=50,X="...")=>{if($===void 0||$===null)return"";let Q=String($);if(Q.length<=Y)return Q;if(Y<=X.length)return X.substring(0,Y);return Q.substring(0,Y-X.length)+X},date:($,Z,Y="short",X="en-US")=>{if($===void 0||$===null)return"";try{let Q=$ instanceof Date?$:new Date($);if(Number.isNaN(Q.getTime()))return String($);let J={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(Y==="iso")return Q.toISOString();return new Intl.DateTimeFormat(X,J[Y]||J.short).format(Q)}catch{return String($)}},currency:($,Z,Y="USD",X="en-US")=>{if($===void 0||$===null)return"";try{let Q=Number($);if(Number.isNaN(Q))return String($);return new Intl.NumberFormat(X,{style:"currency",currency:Y}).format(Q)}catch{return String($)}},pluralize:($,Z,Y,X)=>{let Q=Number($);if(Number.isNaN(Q))return Y;let J=X||`${Y}s`;return Q===1?Y:J},first:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let Y=String($);return Y.charAt(Y.length-1)},length:($,Z)=>{if($===void 0||$===null)return 0;if(Array.isArray($)||typeof $==="string")return $.length;if($ instanceof Map||$ instanceof Set)return $.size;if(typeof $==="object")return Object.keys($).length;return 0},json:($,Z,Y=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return Y?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,Y="")=>{return $===void 0||$===null||$===""?Y:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,Y=0,X)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(Y,X);return $},replace:($,Z,Y,X="")=>{if($===void 0||$===null)return"";let Q=Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Q,"g"),()=>X)},stripTags:($,Z)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,Z)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,Z)=>{let Y=Number($);return Number.isNaN(Y)?0:Math.abs(Y)},round:($,Z,Y=0)=>{let X=Number($);if(Number.isNaN(X))return 0;let Q=10**Y;return Math.round(X*Q)/Q}}});function Z5($="const",Z=[],Y){let X=Z.length?y$.filter((Q)=>!Z.includes(Q)):y$;if(Y!==void 0)X=X.filter((Q)=>{let J=Q.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(^|[^\\w$])${J}(?![\\w$])`).test(Y)});return`${$} { ${X.join(", ")} } = window.stx;`}var y$,B8;var p5=k(()=>{y$=["batch","computed","defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","defineStore","derived","effect","goBack","goForward","navigate","nextTick","onBeforeUnmount","onDestroy","onMount","onMounted","onUnmounted","provide","reactive","ref","registerStoresClient","state","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","useScrollLock","useSearchParams","useSeoMeta","useSessionStorage","useStore","useThrottle","useTimeout","useToggle","useWebSocket","watch","watchEffect","withDefaults"],B8=["onMount","onDestroy"]});class b1{cache=new Map;maxSize;constructor($=100){this.maxSize=$}get($){if(!this.cache.has($))return;let Z=this.cache.get($);return this.cache.delete($),this.cache.set($,Z),Z}set($,Z){if(this.cache.has($))this.cache.delete($);else if(this.cache.size>=this.maxSize){let Y=this.cache.keys().next().value;if(Y!==void 0)this.cache.delete(Y)}this.cache.set($,Z)}has($){return this.cache.has($)}delete($){return this.cache.delete($)}clear(){this.cache.clear()}get size(){return this.cache.size}keys(){return this.cache.keys()}values(){return this.cache.values()}}function X5($,Z){if(Z?.includes("g"))return new RegExp($,Z);let Y=`${$}:${Z||""}`;if(!Y5.has(Y)){if(Y5.size>=lG){let X=Y5.keys().next().value;if(X)Y5.delete(X)}Y5.set(Y,new RegExp($,Z))}return Y5.get(Y)}class j8{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let Z=Array.from(new Set($)),Y=Z.sort().join(","),X=this.pool.find((K)=>K.context.join(",")===Y);if(X)return X.func;let Q=this.fnCache,J=this.fnCacheMaxSize,G=(...K)=>{return(q)=>{try{let W=`${Y}:${q}`,U=Q.get(W);if(!U){if(Q.size>=J){let z=Q.keys().next().value;if(z)Q.delete(z)}U=Function(...Z,`
|
|
1940
1940
|
'use strict';
|
|
1941
1941
|
try {
|
|
1942
1942
|
return ${q};
|
|
@@ -1947,33 +1947,33 @@ catch (e) {
|
|
|
1947
1947
|
}
|
|
1948
1948
|
throw e;
|
|
1949
1949
|
}
|
|
1950
|
-
`),Q.set(W,
|
|
1950
|
+
`),Q.set(W,U)}return U(...K)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:G,context:Z.slice()});return G}clear(){this.pool.length=0,this.fnCache.clear()}}class _8{metrics=new Map;budgets=new Map;violations=[];maxViolations=100;violationHandlers=[];enabled=!0;setEnabled($){this.enabled=$}isEnabled(){return this.enabled}setBudget($,Z){this.budgets.set($,{warnThreshold:0.8,action:"warn",...Z})}setBudgets($){for(let[Z,Y]of Object.entries($))this.setBudget(Z,Y)}removeBudget($){this.budgets.delete($)}getBudgets(){let $={};for(let[Z,Y]of this.budgets.entries())$[Z]=Y;return $}onViolation($){this.violationHandlers.push($)}offViolation($){let Z=this.violationHandlers.indexOf($);if(Z!==-1)this.violationHandlers.splice(Z,1)}time($,Z){if(!this.enabled)return Z();let Y=performance.now(),X=Z(),Q=performance.now()-Y;return this.recordTime($,Q),this.checkBudget($,Q),X}async timeAsync($,Z){if(!this.enabled)return Z();let Y=performance.now(),X=await Z(),Q=performance.now()-Y;return this.recordTime($,Q),this.checkBudget($,Q),X}checkBudget($,Z){let Y=this.budgets.get($);if(!Y)return;let X=Z/Y.maxTime*100,Q=Y.warnThreshold!==void 0?Z>=Y.maxTime*Y.warnThreshold&&Z<Y.maxTime:!1,J=Z>=Y.maxTime;if(!Q&&!J)return;let G={label:$,actualTime:Z,budgetTime:Y.maxTime,exceedancePercent:X,timestamp:new Date,isWarning:Q};this.violations.push(G);while(this.violations.length>this.maxViolations)this.violations.shift();for(let q of this.violationHandlers)try{q(G)}catch{}let K=Q?`[Performance Warning] "${$}" took ${Z.toFixed(2)}ms (${X.toFixed(1)}% of ${Y.maxTime}ms budget)`:`[Performance Budget Exceeded] "${$}" took ${Z.toFixed(2)}ms (exceeded ${Y.maxTime}ms budget by ${(X-100).toFixed(1)}%)`;switch(Y.action){case"log":console.log(K);break;case"warn":console.warn(K);break;case"error":console.error(K);break;case"throw":if(J)throw Error(K);else console.warn(K);break}}recordTime($,Z){let Y=this.metrics.get($);if(Y)Y.count++,Y.totalTime+=Z,Y.maxTime=Math.max(Y.maxTime,Z),Y.minTime=Math.min(Y.minTime,Z);else this.metrics.set($,{count:1,totalTime:Z,maxTime:Z,minTime:Z})}getStats($){if($){let Y=this.metrics.get($);if(!Y)return{};let X=this.budgets.get($);return{count:Y.count,avgTime:Y.totalTime/Y.count,totalTime:Y.totalTime,maxTime:Y.maxTime,minTime:Y.minTime,budget:X?.maxTime,budgetUtilization:X?Y.totalTime/Y.count/X.maxTime*100:void 0}}let Z={};for(let[Y,X]of this.metrics.entries()){let Q=this.budgets.get(Y);Z[Y]={count:X.count,avgTime:X.totalTime/X.count,totalTime:X.totalTime,maxTime:X.maxTime,minTime:X.minTime,budget:Q?.maxTime,budgetUtilization:Q?X.totalTime/X.count/Q.maxTime*100:void 0}}return Z}getViolations($){if($)return this.violations.filter((Z)=>Z.label===$);return[...this.violations]}getViolationStats(){let $={},Z=0,Y=0;for(let X of this.violations)if($[X.label]=($[X.label]||0)+1,X.isWarning)Z++;else Y++;return{total:this.violations.length,byLabel:$,warnings:Z,errors:Y}}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 pG(){if(!M7)M7=new _8;return M7}var Y5,lG=500,RH,M7=null,H8;var J5=k(()=>{Y5=new Map;RH=new j8;H8=new Proxy({},{get($,Z){return pG()[Z]}})});function O8($,Z=""){let Y=`${$}${Z}`,X=0;for(let Q=0;Q<Y.length;Q++){let J=Y.charCodeAt(Q);X=(X<<5)-X+J,X=X&X}return`stx-${Math.abs(X).toString(36)}`}function L8($,Z,Y={}){let{prefix:X="",preserveHost:Q=!0,scopeKeyframes:J=!0,scopeCustomProperties:G=!1}=Y;if(!$.trim())return"";let K=I7($),q=[],W=new Map;if(J)for(let U of K){let z=U.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(z){let B=z[1],_=`${Z}_${B}`;W.set(B,_)}}for(let U of K){let z=F8(U,Z,X,Q,W,G);q.push(z)}return q.join(`
|
|
1951
1951
|
|
|
1952
|
-
`)}function
|
|
1953
|
-
`)})}else Z.push({selector:`@${
|
|
1952
|
+
`)}function I7($){let Z=[],Y=$.replace(/\/\*[\s\S]*?\*\//g,""),X=0,Q="",J=!1,G="";for(let K=0;K<Y.length;K++){let q=Y[K];if(q==="@"&&X===0)J=!0;if(q==="{")X++;else if(q==="}"){if(X--,X===0){if(J){G+=q;let W=G.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(W){let[,U,z,B]=W;if(U==="keyframes")Z.push({selector:`@keyframes ${z.trim()}`,declarations:B.trim()});else if(U==="media"||U==="supports"||U==="container"){let _=I7(B);Z.push({selector:`@${U} ${z.trim()}`,declarations:_.map((j)=>`${j.selector} { ${j.declarations} }`).join(`
|
|
1953
|
+
`)})}else Z.push({selector:`@${U} ${z.trim()}`,declarations:B.trim()})}G="",J=!1}else if(Q.trim()){Q+=q;let W=Q.match(/([^{]+)\{([^}]*)\}/);if(W)Z.push({selector:W[1].trim(),declarations:W[2].trim()});Q=""}continue}}if(J)G+=q;else Q+=q}return Z}function F8($,Z,Y,X,Q,J){let{selector:G,declarations:K}=$;if(G.startsWith("@")){if(G.startsWith("@keyframes")){let U=G.replace("@keyframes ","").trim();return`@keyframes ${Q.get(U)||U} { ${K} }`}if(G.startsWith("@media")||G.startsWith("@supports")||G.startsWith("@container")){let z=I7(`x { ${K} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((B)=>F8(B,Z,Y,X,Q,J)).join(`
|
|
1954
1954
|
`);return`${G} {
|
|
1955
|
-
${
|
|
1956
|
-
}`}return`${G} { ${K} }`}let q=
|
|
1957
|
-
`)}function
|
|
1958
|
-
`,""}),headContent:Z.trim()}}function
|
|
1959
|
-
`);for(let Q of X){let J=Y,G=null,K=!1;for(let q=0;q<Q.length;q++){let W=Q[q];if(K){K=!1;continue}if(W==="\\"){K=!0;continue}if(G){if(W===G)G=null;continue}if(W==="'"||W==='"'||W==="`"){G=W;continue}if(W==="/"&&q+1<Q.length&&Q[q+1]==="/")break;if(W==="{")Y++;else if(W==="}")Y--}if(J===0){let q=Q.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)Z.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(Q)){let W=Q.match(/(?:const|let|var)\s+(\w+)/);if(W)Z.push(W[1])}else{let W=Q.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(W){let
|
|
1960
|
-
|
|
1961
|
-
`),Z}async function
|
|
1962
|
-
`),
|
|
1963
|
-
${
|
|
1964
|
-
${
|
|
1955
|
+
${z}
|
|
1956
|
+
}`}return`${G} { ${K} }`}let q=cG(G,Z,Y,X),W=K;for(let[U,z]of Q)W=W.replace(new RegExp(`\\b${U}\\b`,"g"),z);if(J)W=W.replace(/--([a-z-]+)/gi,`--${Z}-$1`);return`${q} { ${W} }`}function cG($,Z,Y,X){let Q=$.split(",").map((G)=>G.trim()),J=[];for(let G of Q){if(G.startsWith(":host")){if(X)J.push(G);else{let W=G.replace(/:host(\([^)]*\))?/,`.${Z}$1`);J.push(W)}continue}if(G.includes("::slotted")){J.push(G);continue}if(G===":root"){J.push(`:root .${Z}`);continue}let K=Y?`${Y} .${Z}`:`.${Z}`;J.push(`${K} ${G}`);let q=iG(G,Z);if(q)J.push(Y?`${Y} ${q}`:q)}return J.join(", ")}function iG($,Z){let Y=0,X=$.length;for(let q=0;q<$.length;q++){let W=$[q];if(W==="["||W==="(")Y++;else if(W==="]"||W===")")Y--;else if(Y===0&&(W===" "||W===">"||W==="+"||W==="~")){X=q;break}}let Q=$.slice(0,X),J=$.slice(X);if(!Q)return"";let G=Q.length,K=0;for(let q=0;q<Q.length;q++){let W=Q[q];if(W==="["||W==="(")K++;else if(W==="]"||W===")")K--;else if(Y===0&&K===0&&W===":"){G=q;break}}return`${Q.slice(0,G)}.${Z}${Q.slice(G)}${J}`}function P$($,Z){if(!nG.test($))return{html:$,hasScoped:!1};let Y=O8(Z),X=`data-v-${Y}`,Q=$,J=new RegExp(`<style\\s+([^>]*${D7}[^>]*)>([\\s\\S]*?)</style>`,"gi"),G=!1;if(Q=Q.replace(J,(K,q,W)=>{G=!0;let U=oG(W,X),z=q.replace(new RegExp(D7,"gi"),"").trim(),B=z?` ${z}`:"";return`<style data-stx-scoped="${Y}"${B}>${U}</style>`}),!G)return{html:$,hasScoped:!1};return Q=rG(Q,X),{html:Q,hasScoped:!0}}function oG($,Z){return L8($,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${Z}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${Z}]`)}function rG($,Z){let Y=a0($,(Q,J)=>{let G=U1(Q,J);return G>J?G:e1(Q,J)},(Q,J)=>sG(J)),X=aG(Y.output,Z);return V8.lastIndex=0,X.replace(V8,(Q,J)=>Y.tokens[Number(J)])}function aG($,Z){let Y=new Set(["script","style","template","html","head","body","meta","link","title","base","!doctype","!DOCTYPE"]);return $.replace(/<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*)?\/?>/g,(X,Q,J)=>{if(Y.has(Q.toLowerCase()))return X;if(X.includes(Z))return X;if(Q.toLowerCase()==="style"||Q.toLowerCase()==="script")return X;if(J)return X.replace(`<${Q}${J}`,`<${Q} ${Z}${J}`);if(X.endsWith("/>"))return`<${Q} ${Z} />`;return`<${Q} ${Z}>`})}var D7,nG,sG=($)=>`\x00stx-scope-mask-${$}\x00`,V8;var E7=k(()=>{k1();D7=String.raw`(?<![\w-])scoped(?![\w-])`,nG=new RegExp(`<style\\s+[^>]*${D7}`,"i");V8=/\u0000stx-scope-mask-(\d+)\u0000/g});function eG($){let Z=$.replace(/^<template\b/i,"").replace(/>$/,"");return tG.test(Z)}function C$($){c5.lastIndex=0;let Z;while((Z=c5.exec($))!==null){if(Z[0].startsWith("</")||eG(Z[0]))continue;let Y=Z.index,X=c5.lastIndex,Q=1,J;while((J=c5.exec($))!==null)if(J[0].startsWith("</")){if(Q--,Q===0){let G=J.index;return{start:Y,openEnd:X,closeStart:G,end:c5.lastIndex,content:$.slice(X,G)}}}else Q++;return null}return null}var c5,tG;var k7=k(()=>{c5=/<\/?template\b[^>]*>/gi,tG=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var w8=()=>{};function P0($,Z,Y,X=0){let Q=0,J=X,G=null,K=0,q=!1;while(J<$.length){let W=$[J];if(G&&q){q=!1,J++;continue}if(G&&W==="\\"){q=!0,J++;continue}if(q=!1,(W==='"'||W==="'"||W==="`")&&!G){G=W,J++;continue}if(W===G&&G!=="`"){G=null,J++;continue}if(G==="`"&&W==="$"&&$[J+1]==="{"){K++,J+=2;continue}if(K>0&&W==="}"){K--,J++;continue}if(W==="`"&&G==="`"&&K===0){G=null,J++;continue}if(G){J++;continue}if(W===Z)Q++;else if(W===Y){if(Q--,Q===0)return J}J++}return-1}var y7={};s(y7,{useTitle:()=>JK,useSeoMeta:()=>A8,usePageTitle:()=>JK,useHead:()=>S7,seoMetaToHeadConfig:()=>x$,resetHead:()=>YK,renderHtmlAttrs:()=>GK,renderHead:()=>QK,renderBodyAttrs:()=>KK,processTitleDirective:()=>UK,processMetaDirective:()=>zK,processHeadDirective:()=>WK,mergeHeadConfigs:()=>Q5,getPageMeta:()=>ZK,getHead:()=>b7,definePageMeta:()=>XK,applyHead:()=>qK});function b7(){return j1}function ZK(){return v$}function YK(){j1={},$K.length=0,v$={}}function S7($){j1=Q5(j1,$)}function Q5($,Z){return{title:Z.title??$.title,titleTemplate:Z.titleTemplate??$.titleTemplate,base:Z.base??$.base,meta:[...$.meta||[],...Z.meta||[]],link:[...$.link||[],...Z.link||[]],script:[...$.script||[],...Z.script||[]],style:[...$.style||[],...Z.style||[]],htmlAttrs:{...$.htmlAttrs,...Z.htmlAttrs},bodyAttrs:{...$.bodyAttrs,...Z.bodyAttrs}}}function A8($){S7(x$($))}function x$($){let Z=[];if($.description)Z.push({name:"description",content:$.description});if($.keywords){let q=Array.isArray($.keywords)?$.keywords.join(", "):$.keywords;Z.push({name:"keywords",content:q})}if($.author)Z.push({name:"author",content:$.author});if($.robots)Z.push({name:"robots",content:$.robots});let Y=$.ogTitle??$.title,X=$.ogDescription??$.description;if(Y)Z.push({property:"og:title",content:Y});if(X)Z.push({property:"og:description",content:X});if($.ogImage)Z.push({property:"og:image",content:$.ogImage});if($.ogUrl)Z.push({property:"og:url",content:$.ogUrl});if($.ogType)Z.push({property:"og:type",content:$.ogType});if($.ogSiteName)Z.push({property:"og:site_name",content:$.ogSiteName});if($.ogLocale)Z.push({property:"og:locale",content:$.ogLocale});let Q=$.twitterTitle??$.title,J=$.twitterDescription??$.description,G=$.twitterImage??$.ogImage;if($.twitterCard)Z.push({name:"twitter:card",content:$.twitterCard});if(Q)Z.push({name:"twitter:title",content:Q});if(J)Z.push({name:"twitter:description",content:J});if(G)Z.push({name:"twitter:image",content:G});if($.twitterSite)Z.push({name:"twitter:site",content:$.twitterSite});if($.twitterCreator)Z.push({name:"twitter:creator",content:$.twitterCreator});if($.articleAuthor)Z.push({property:"article:author",content:$.articleAuthor});if($.articlePublishedTime)Z.push({property:"article:published_time",content:$.articlePublishedTime});if($.articleModifiedTime)Z.push({property:"article:modified_time",content:$.articleModifiedTime});if($.articleSection)Z.push({property:"article:section",content:$.articleSection});if($.articleTags)for(let q of $.articleTags)Z.push({property:"article:tag",content:q});let K=[];if($.canonical)K.push({rel:"canonical",href:$.canonical});return{title:$.title,titleTemplate:$.titleTemplate,meta:Z,link:K}}function XK($){if(v$={...v$,...$},$.title||$.description)A8({title:$.title,description:$.description})}function JK($){let Z=typeof $==="function"?$():$;S7({title:Z})}function QK($=j1){let Z=[];if($.title){let Y=$.title;if($.titleTemplate)Y=typeof $.titleTemplate==="function"?$.titleTemplate(Y):$.titleTemplate.replace("%s",Y);Z.push(`<title>${S1(Y)}</title>`)}if($.base){let Y=Object.entries($.base).map(([X,Q])=>`${X}="${S1(Q)}"`).join(" ");Z.push(`<base ${Y}>`)}for(let Y of $.meta||[]){let X=Object.entries(Y).filter(([Q,J])=>J!==void 0).map(([Q,J])=>{return`${Q==="httpEquiv"?"http-equiv":Q}="${S1(String(J))}"`}).join(" ");Z.push(`<meta ${X}>`)}for(let Y of $.link||[]){let X=Object.entries(Y).filter(([Q,J])=>J!==void 0).map(([Q,J])=>`${Q}="${S1(String(J))}"`).join(" ");Z.push(`<link ${X}>`)}for(let Y of $.script||[]){let{content:X,...Q}=Y,J=Object.entries(Q).filter(([G,K])=>K!==void 0).map(([G,K])=>{if(typeof K==="boolean")return K?G:"";return`${G}="${S1(String(K))}"`}).filter(Boolean).join(" ");if(X)Z.push(`<script ${J}>${X}</script>`);else Z.push(`<script ${J}></script>`)}for(let Y of $.style||[]){let X=Y.type?` type="${Y.type}"`:"";Z.push(`<style${X}>${Y.content}</style>`)}return Z.join(`
|
|
1957
|
+
`)}function GK($=j1){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([Z,Y])=>`${Z}="${S1(Y)}"`).join(" ")}function KK($=j1){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([Z,Y])=>`${Z}="${S1(Y)}"`).join(" ")}function S1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function qK($=j1){if(typeof document>"u")return;if($.title){let Z=$.title;if($.titleTemplate)Z=typeof $.titleTemplate==="function"?$.titleTemplate(Z):$.titleTemplate.replace("%s",Z);document.title=Z}for(let Z of $.meta||[]){let Y=Z.name?`meta[name="${Z.name}"]`:Z.property?`meta[property="${Z.property}"]`:null;if(Y){let X=document.querySelector(Y);if(!X){if(X=document.createElement("meta"),Z.name)X.setAttribute("name",Z.name);if(Z.property)X.setAttribute("property",Z.property);document.head.appendChild(X)}X.setAttribute("content",Z.content)}}for(let Z of $.link||[]){let Y=`link[rel="${Z.rel}"]${Z.href?`[href="${Z.href}"]`:""}`,X=document.querySelector(Y);if(!X)X=document.createElement("link"),document.head.appendChild(X);for(let[Q,J]of Object.entries(Z))if(J!==void 0)X.setAttribute(Q,String(J))}if($.htmlAttrs)for(let[Z,Y]of Object.entries($.htmlAttrs))document.documentElement.setAttribute(Z,Y);if($.bodyAttrs)for(let[Z,Y]of Object.entries($.bodyAttrs))document.body.setAttribute(Z,Y)}function WK($){let Z="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(X,Q)=>{return Z+=Q.trim()+`
|
|
1958
|
+
`,""}),headContent:Z.trim()}}function UK($,Z){return $.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(Y,X,Q,J)=>{let G=X?Q:Z[(J||"").trim()]??J,K=Z.__stx_runtime_head??{};return Z.__stx_runtime_head=Q5(K,{title:G}),""})}function zK($,Z){return $.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(Y,X,Q,J,G,K)=>{let q=J?G:K,W=J?q:Z[(q||"").trim()]??q,z=Q.includes(":")?{property:Q,content:W}:{name:Q,content:W},B=Z.__stx_runtime_head??{};return Z.__stx_runtime_head=Q5(B,{meta:[z]}),""})}var j1,$K,v$;var i5=k(()=>{j1={},$K=[],v$={}});var f$={};s(f$,{stripTypeScript:()=>I8,splitDeclaration:()=>b8,isCompleteImport:()=>D8,hasVariables:()=>P8,extractVariables:()=>y1,extractScriptFromTemplate:()=>y8,convertToCommonJS:()=>C7});import G5 from"path";import n5 from"process";function BK($){let Z=[],Y=0,X=$.split(`
|
|
1959
|
+
`);for(let Q of X){let J=Y,G=null,K=!1;for(let q=0;q<Q.length;q++){let W=Q[q];if(K){K=!1;continue}if(W==="\\"){K=!0;continue}if(G){if(W===G)G=null;continue}if(W==="'"||W==='"'||W==="`"){G=W;continue}if(W==="/"&&q+1<Q.length&&Q[q+1]==="/")break;if(W==="{")Y++;else if(W==="}")Y--}if(J===0){let q=Q.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)Z.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(Q)){let W=Q.match(/(?:const|let|var)\s+(\w+)/);if(W)Z.push(W[1])}else{let W=Q.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(W){let z=W[1].slice(1,-1).split(",").map((B)=>{let _=B.split(":");return(_.length>1?_[1]:_[0]).trim()}).filter((B)=>/^\w+$/.test(B));Z.push(...z)}}}}return[...new Set(Z)]}function I8($){let Z=$;Z=Z.replace(/^\s*import\s+.*?from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),Z=Z.replace(/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/gm,""),Z=Z.replace(/^\s*interface\s+\w+\s*\{[\s\S]*?\n\}\s*$/gm,""),Z=Z.replace(/^\s*type\s+\w+\s*=[\s\S]*?(?=\n(?:const|let|var|function|export|interface|type|$))/gm,""),Z=Z.replace(/^(\s*(?:export\s+)?(?:const|let|var)\s+)(\w+|\{[^}]+\}|\[[^\]]+\])\s*:\s*[^=]+(\s*=)/gm,"$1$2$3");function Y(X){if(!X.includes(":"))return X;let Q=[],J="",G=0,K=0,q=null;for(let W=0;W<X.length;W++){let U=X[W];if(q){if(J+=U,U===q)q=null;continue}if(U==='"'||U==="'"||U==="`"){q=U,J+=U;continue}if(U==="<")G++;else if(U===">"&&G>0)G--;else if(U==="(")K++;else if(U===")")K--;if(U===","&&G===0&&K===0){Q.push(J),J="";continue}J+=U}if(J)Q.push(J);return Q.map((W)=>{let U=W.trim(),z=U.startsWith("..."),B=z?U.slice(3):U,_=-1,j=0;for(let A=0;A<B.length;A++)if(B[A]==="<")j++;else if(B[A]===">")j--;else if(B[A]===":"&&j===0){_=A;break}if(_===-1)return W;let L=B.substring(0,_).trim().replace(/\?$/,""),F=B.substring(_+1),O=-1,V=0;for(let A=0;A<F.length;A++)if(F[A]==="<")V++;else if(F[A]===">")V--;else if(F[A]==="="&&V===0){O=A;break}let w=z?"...":"";if(O!==-1)return`${w}${L} = ${F.substring(O+1).trim()}`;return`${w}${L}`}).join(", ")}Z=Z.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(X,Q,J)=>{if(!J.includes(":"))return X;return`${Q}(${Y(J)})`});{let X=/\b(function\s+\w*\s*)\(/g,Q,J=[];while((Q=X.exec(Z))!==null){let G=Q.index+Q[0].length-1,K=1,q=G+1,W=0,U=null;while(q<Z.length&&K>0){let _=Z[q];if(U){if(_===U)U=null;q++;continue}if(_==='"'||_==="'"||_==="`"){U=_,q++;continue}if(_==="<")W++;else if(_===">"&&W>0)W--;else if(W===0){if(_==="(")K++;else if(_===")")K--}if(K>0)q++}if(K!==0)continue;let z=Z.substring(G+1,q);if(!z.includes(":"))continue;let B=Y(z);J.push({start:G+1,end:q,replacement:B})}for(let G=J.length-1;G>=0;G--){let{start:K,end:q,replacement:W}=J[G];Z=Z.substring(0,K)+W+Z.substring(q)}}return Z=Z.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(X,Q)=>{if(!Q.includes(":"))return X;if(Q.includes("{")||Q.includes("}"))return X;return`(${Q.split(",").map((G)=>{let[K,...q]=G.split("="),W=K.split(":")[0].trim();if(q.length>0)return`${W} = ${q.join("=").trim()}`;return W}).join(", ")}) =>`}),Z=Z.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"),Z=Z.replace(/(\b(?:function|class|interface|type|extends|implements)\s+\w+)\s*<[^<>()]*>/g,"$1"),Z=Z.replace(/(\b(?:defineProps|withDefaults|defineEmits|defineSlots|Array|Promise|Map|Set|Record|Partial|Required|Readonly|Pick|Omit|Exclude|Extract))\s*<[^<>()]*>/g,"$1"),Z=Z.replace(/(\w+)\s*<[A-Z][^<>()]*>\s*(?=\()/g,"$1"),Z=Z.replace(/\s+as\s+(?:const|[A-Za-z]\w*(?:\[\])?(?:\s*\|\s*\w+(?:\[\])?)*)/g,""),Z=Z.replace(/\s+satisfies\s+\w+(?:<[^>]*>)?/g,""),Z=Z.replace(/(\w|\)|\])\s*!(?!=)/g,"$1"),Z=Z.replace(/^\s*(?:export\s+)?(?:const\s+)?enum\s+\w+\s*\{[^}]*\}\s*$/gm,""),Z=Z.replace(/(?<=[\s=,(])<[A-Z]\w*(?:\[\])?>/g,""),Z=Z.replace(/\n\s*\n\s*\n/g,`
|
|
1960
|
+
|
|
1961
|
+
`),Z}async function y1($,Z,Y,X={}){if(!$.trim())return;let Q;try{let C=new Bun.Transpiler({loader:"ts",target:"browser",define:u0()}),P=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");P=P.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),Q=C.transformSync(P)}catch{Q=I8($)}let J={exports:{}},G=J.exports,K=n5.cwd(),q={},W=[...Q.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((C)=>C[1]).filter((C)=>!C.startsWith("node:")&&!C.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(C));for(let C of W)try{let P=G5.resolve(K,"node_modules",C),x=G5.join(P,"package.json"),u=JSON.parse(K0("fs").readFileSync(x,"utf8")),d=u.main||"index.js";if(u.exports){let W0=typeof u.exports==="string"?u.exports:u.exports["."];if(typeof W0==="string")d=W0;else if(W0?.bun)d=W0.bun;else if(W0?.import)d=W0.import;else if(W0?.default)d=W0.default}q[C]=await import(G5.resolve(P,d))}catch{}let U=(C)=>{if(q[C])return q[C];return K0(C)},z=Z.props||{},B=(C)=>{if(!C)return z;let P={};for(let[x,u]of Object.entries(C)){let d=z[x];if(d!==void 0)P[x]=d;else if(typeof u==="function")P[x]=u();else P[x]=u}return P};for(let[C,P]of Object.entries(z))Object.defineProperty(B,C,{value:P,enumerable:!0,configurable:!0,writable:!0});for(let C of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(z,C))continue;try{Object.defineProperty(B,C,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let _=(C)=>{if(!C)return z;let P={...z};for(let[x,u]of Object.entries(C)){let d=u&&typeof u==="object"&&!Array.isArray(u)?u:{type:u};if(P[x]===void 0&&d.default!==void 0)P[x]=typeof d.default==="function"?d.default():d.default}return P},j=()=>Z.slots||{},H=(C,P)=>{let x={...C};for(let[u,d]of Object.entries(P))if(x[u]===void 0)if(typeof d==="function")x[u]=d();else x[u]=d;return x},L=(C)=>{let P=()=>C;return P.set=(x)=>{},P.update=(x)=>{},P},F=(C)=>{let P,x=!1;return()=>{if(!x)try{P=C(),x=!0}catch{P=void 0}return P}},O=(C)=>{},V=(C)=>C(),w=(C)=>{},A=(C)=>{},N=(C)=>{},R=()=>{let C=Z.__stxServeContext,P=Z.__stxServeSearch??C?.search??"",x=C?.path??"";return{params:Z.params??{},query:Object.fromEntries(new URLSearchParams(P)),path:x,name:"",fullPath:x+P,hash:"",matched:[]}},T=()=>({push:(C)=>{},replace:(C)=>{},back:()=>{},forward:()=>{},go:(C)=>{}}),M=(C)=>{let P=Z.__stx_runtime_head||{};Z.__stx_runtime_head=Q5(P,C||{})},I=(C)=>{M(x$(C||{}))},E=(C)=>({value:C}),D=(C)=>C,y=(C)=>({value:typeof C==="function"?C():C}),S=(C,P)=>{},b=(C)=>{},v=(C)=>{},h=(C)=>C?C():Promise.resolve(),f=(C)=>(P,...x)=>{},m=(C)=>{},r=(C,P)=>{},T0=(C,P)=>P,M0=()=>({value:"light"}),d0=()=>L(!1),Z0=(C)=>L(!1),Y0=()=>L(!1),I0=()=>Z0("(prefers-color-scheme: dark)"),c0=()=>Z0("(prefers-color-scheme: light)"),K1=()=>Z0("(prefers-reduced-motion: reduce)"),o1=()=>Z0("(prefers-contrast: more)"),n={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:{}},$0=new Proxy(n,{get(C,P){if(P in C)return C[P];return},set(C,P,x){return C[P]=x,!0}}),z0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},H0=console;try{let C=C7(Q,Y),P=new Set(Object.keys(z)),x=(i)=>/^[a-z_$][\w$]*$/i.test(i),u=Object.keys(Z).filter((i)=>!P.has(i)&&i!=="props"&&x(i)),d=u.map((i)=>Z[i]),W0=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","let","new","return","super","switch","this","throw","try","typeof","var","void","while","with","yield","enum","await","async","module","exports","require","params","window","document","console","state","derived","effect"]),O0=[],Z1=[];for(let[i,x0]of Object.entries(z)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(i))continue;if(W0.has(i))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${i}\\b`).test(C))continue;O0.push(i),Z1.push(x0)}let S0=BK(C).map((i)=>`module.exports.${i} = typeof ${i} !== 'undefined' ? ${i} : module.exports.${i};`).join(`
|
|
1962
|
+
`),i0=Z.params??{},R1=[],q1=[];for(let i=0;i<u.length;i++){if(u[i]==="params")continue;R1.push(u[i]),q1.push(d[i])}let G0=await Function("module","exports","require","props","$props","defineProps","withDefaults","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",...O0,...R1,`return (async () => {
|
|
1963
|
+
${C}
|
|
1964
|
+
${S0}
|
|
1965
1965
|
return module.exports
|
|
1966
|
-
})()`)(J,G,z,
|
|
1967
|
-
`),Q=[],J=0;while(J<X.length){let G=X[J].trim();if(G.startsWith("interface ")||G.startsWith("export interface ")||G.startsWith("type ")||G.startsWith("export type ")){if(G.includes("{")&&!G.includes("}")){let K=0;for(;J<X.length;J++){for(let q of X[J])if(q==="{")K++;else if(q==="}")K--;if(K<=0)break}}J++;continue}if(G.startsWith("definePageMeta(")){let K=0,q=!1;for(let W=J;W<X.length&&!q;W++){let
|
|
1968
|
-
`+B;if(
|
|
1969
|
-
`),Y)}function
|
|
1970
|
-
`)G=!1;Q++;continue}if(K){if(X+=W,W==="*"&&
|
|
1971
|
-
`);return{type:j,name:
|
|
1972
|
-
${N}`,nextIndex:V}}}}throw Error(`Failed to parse variable declaration: ${Y}`)}let[,J,G,K]=Q,q=K,W=Z;if(
|
|
1973
|
-
${$[W]}`,W++;else break}return q=q.trim().replace(/;$/,""),{type:J,name:G,value:q,nextIndex:W}}function
|
|
1966
|
+
})()`)(J,G,U,z,B,_,H,L,F,O,V,w,A,N,R,T,M,I,E,D,y,S,b,v,h,f,m,j,r,T0,M0,d0,Z0,Y0,I0,c0,K1,o1,$0,z0,H0,n.confirm,n.alert,n.fetch,i0,...Z1,...q1);if(X.preserveExisting){for(let[i,x0]of Object.entries(G0))if(!(i in Z)||Z[i]===void 0)Z[i]=x0}else Object.assign(Z,G0);for(let[i,x0]of Object.entries(z))if(!(i in Z))Z[i]=x0}catch(C){if(n5.env.STX_DEBUG){let P=C instanceof Error?C.message:String(C);console.warn(`[stx] server <script> did not execute in ${Y??"<unknown>"} \u2014 falling back to static extraction. Cause: ${P}`)}try{await LK(Q,Z,Y)}catch(P){if(n5.env.STX_DEBUG){let x=P instanceof Error?P.message:String(P);console.warn(`[stx] fallback extraction also failed in ${Y??"<unknown>"}: ${x}`)}}}}function D8($){let Z=0,Y=null,X=!1,Q=!1;for(let J=0;J<$.length;J++){let G=$[J];if(Y){if(G===Y){if(Y=null,X||Z===0)Q=!0}continue}if(G==="'"||G==='"'||G==="`"){Y=G;continue}if(G==="{")Z++;else if(G==="}")Z--;else if($.startsWith("from",J)&&Z===0)X=!0}return Y===null&&Z===0&&Q}function C7($,Z){let Y=Z?G5.dirname(Z):n5.cwd(),X=$.split(`
|
|
1967
|
+
`),Q=[],J=0;while(J<X.length){let G=X[J].trim();if(G.startsWith("interface ")||G.startsWith("export interface ")||G.startsWith("type ")||G.startsWith("export type ")){if(G.includes("{")&&!G.includes("}")){let K=0;for(;J<X.length;J++){for(let q of X[J])if(q==="{")K++;else if(q==="}")K--;if(K<=0)break}}J++;continue}if(G.startsWith("definePageMeta(")){let K=0,q=!1;for(let W=J;W<X.length&&!q;W++){let U=null,z=!1,B=X[W];for(let _=0;_<B.length;_++){let j=B[_];if(z){z=!1;continue}if(j==="\\"){z=!0;continue}if(U){if(j===U)U=null;continue}if(j==='"'||j==="'"||j==="`"){U=j;continue}if(j==="(")K++;else if(j===")"){if(K--,K===0){J=W+1,q=!0;break}}}}if(!q)J=X.length;continue}if(G.startsWith("import ")||G==="import"||G.startsWith("import{")){let K=G,q=0;while(!D8(K)&&J+q+1<X.length)q++,K=`${K} ${X[J+q].trim()}`;J+=q;let W=K.match(/^import\s+(\w+)\s+from\s+['"](.+?)['"]/),U=K.match(/^import\s+\{([^}]*)\}\s+from\s+['"](.+?)['"]/),z=K.match(/^import\s+['"](.+?)['"]/),B=K,_=(j)=>{if(j.startsWith("."))return G5.resolve(Y,j);return j};if(W){let[,j,H]=W,L=_(H);Q.push(`const ${j} = await import('${L}')`),Q.push(`module.exports.${j} = ${j};`)}else if(U){let[,j,H]=U,L=j.trim(),F=_(H);Q.push(`const { ${L} } = await import('${F}')`);for(let O of L.split(",")){let V=O.trim().split(/\s+as\s+/).pop()?.trim();if(V)Q.push(`module.exports.${V} = ${V};`)}}else if(z){let j=_(z[1]);Q.push(`await import('${j}')`)}else Q.push(B);J++;continue}if((G.startsWith("const ")||G.startsWith("let ")||G.startsWith("var ")||G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var "))&&!G.includes("="))Q.push(X[J]),J++;else if(G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var ")){let K=R8(X,J),{type:q,name:W,value:U}=K;Q.push(`${q} ${W} = ${U};`),Q.push(`module.exports.${W} = ${W};`),J=K.nextIndex}else if(G.startsWith("export function ")||G.startsWith("export async function ")){let K=P7(X,J);Q.push(K.functionCode),Q.push(`module.exports.${K.name} = ${K.name};`),J=K.nextIndex}else if(G.startsWith("const ")||G.startsWith("let ")||G.startsWith("var ")){let K=R8(X,J),{type:q,name:W,value:U}=K;Q.push(`${q} ${W} = ${U};`),Q.push(`module.exports.${W} = ${W};`),J=K.nextIndex}else if(G.startsWith("function ")||G.startsWith("async function ")){let K=P7(X,J);Q.push(K.functionCode),Q.push(`module.exports.${K.name} = ${K.name};`),J=K.nextIndex}else if(G.startsWith("export default function ")||G.startsWith("export default async function ")){let K=X[J].replace(/^(\s*)export\s+default\s+/,"$1"),q=[...X];q[J]=K;let W=P7(q,J);if(Q.push(W.functionCode),W.name)Q.push(`module.exports.default = ${W.name};`);J=W.nextIndex}else if(G.startsWith("export default ")){let K=G.replace(/^export\s+default\s+/,"").replace(/;$/,"");Q.push(`module.exports.default = ${K};`),J++}else if(G.startsWith("class ")||G.startsWith("export class ")){let K=G.match(/(?:export\s+)?class\s+(\w+)/);if(K){let q=K[1],W=X[J].replace(/^export\s+/,""),U=0,z=J;for(;z<X.length;z++){let B=X[z];for(let _ of B)if(_==="{")U++;else if(_==="}")U--;if(z>J)W+=`
|
|
1968
|
+
`+B;if(U<=0&&z>=J)break}Q.push(W),Q.push(`module.exports.${q} = ${q};`),J=z+1}else Q.push(G),J++}else if(G.includes("module.exports"))Q.push(G),J++;else if(G.trim()&&!G.startsWith("//"))Q.push(G),J++;else J++}return jK(Q.join(`
|
|
1969
|
+
`),Y)}function jK($,Z){let Y=$.length,X="",Q=0,J=null,G=!1,K=!1,q=0;while(Q<Y){let W=$[Q],U=$[Q+1];if(G){if(X+=W,W===`
|
|
1970
|
+
`)G=!1;Q++;continue}if(K){if(X+=W,W==="*"&&U==="/"){X+=U,Q+=2,K=!1;continue}Q++;continue}if(!J&&W==="/"&&U==="/"){G=!0,X+=W,Q++;continue}if(!J&&W==="/"&&U==="*"){K=!0,X+=W,Q++;continue}if(J){if(X+=W,W==="\\"){X+=U,Q+=2;continue}if(W===J&&J!=="`"){J=null,Q++;continue}if(J==="`"){if(W==="$"&&U==="{"){q++,X+=U,Q+=2;continue}if(W==="`"){J=null,Q++;continue}}Q++;continue}if(q>0){if(W==="{")q++;else if(W==="}")q--}if(W==='"'||W==="'"||W==="`"){J=W,X+=W,Q++;continue}if(W==="a"&&$.startsWith("await",Q)){let z=_K($,Q);if(z){let{quote:B,path:_,end:j}=z;if(_.startsWith(".")){let H=G5.resolve(Z,_);X+=`await import(${B}${H}${B})`,Q=j;continue}}}X+=W,Q++}return X}function _K($,Z){let Y=Z+5;if(Y>=$.length)return null;if(!/\s/.test($[Y]))return null;while(Y<$.length&&/\s/.test($[Y]))Y++;if(!$.startsWith("import",Y))return null;Y+=6;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return null;Y++;while(Y<$.length&&/\s/.test($[Y]))Y++;let X=$[Y];if(X!=="'"&&X!=='"')return null;Y++;let Q=Y;while(Y<$.length&&$[Y]!==X)if($[Y]==="\\")Y+=2;else Y++;if(Y>=$.length)return null;let J=$.slice(Q,Y);Y++;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!==")")return null;return{quote:X,path:J,end:Y+1}}function E8($,Z){let Y=$[Z];if(Y!=="{"&&Y!=="[")return null;let Q=P0($,Y,Y==="{"?"}":"]",Z);if(Q===-1)return null;return{pattern:$.slice(Z,Q+1),endPos:Q+1}}function k8($){let Z=[],Y=$.slice(1,-1).trim();if(!Y)return Z;let X=0,Q=0,J="";while(X<Y.length){let G=Y[X];if(G==="{"||G==="["){if(Q++,Q===1){let K=E8(Y,X);if(K){let q=k8(K.pattern);Z.push(...q),X=K.endPos,J="";continue}}}else if(G==="}"||G==="]")Q--;if(Q>0){X++;continue}if(G===","){if(J.trim())Z.push(J.trim());J="",X++;continue}if(G===":"){J="",X++;continue}if(G==="="){if(J.trim())Z.push(J.trim());J="",X++;while(X<Y.length&&Y[X]!==","&&Q===0){if(Y[X]==="{"||Y[X]==="[")Q++;else if(Y[X]==="}"||Y[X]==="]")Q--;X++}continue}if(/[\w$]/.test(G))J+=G;X++}if(J.trim())Z.push(J.trim());return Z}function b8($){let Z=/^(?:export\s+)?(const|let|var)\s+([A-Za-z_$][\w$]*)/.exec($);if(!Z)return null;let Y=Z[0].length,X=(Q)=>Q===" "||Q==="\t";while(Y<$.length&&X($[Y]))Y++;if($[Y]===":"){let Q=0,J=null;Y++;for(;Y<$.length;Y++){let G=$[Y];if(J){if(G==="\\"){Y++;continue}if(G===J)J=null;continue}if(G==="'"||G==='"'||G==="`"){J=G;continue}if(G==="("||G==="["||G==="{"||G==="<"){Q++;continue}if(G===")"||G==="]"||G==="}"||G===">"){Q--;continue}if(G==="="&&Q<=0){let K=$[Y+1],q=$[Y-1];if(K!=="="&&K!==">"&&q!=="="&&q!=="!"&&q!=="<"&&q!==">")break}}if($[Y]!=="=")return null}while(Y<$.length&&X($[Y]))Y++;if($[Y]!=="=")return null;return{type:Z[1],name:Z[2],value:$.slice(Y+1).trim()}}function R8($,Z){let Y=$[Z].trim(),X=b8(Y),Q=X?[Y,X.type,X.name,X.value]:null;if(!Q){let U=Y.match(/^(?:export\s+)?(const|let|var)\s+/);if(U){let z=Y.slice(U[0].length),B=Z;if((z.startsWith("{")||z.startsWith("["))&&!z.includes(z.startsWith("{")?"}":"]")){let j=z.startsWith("{")?"}":"]",H=z;for(let L=Z+1;L<$.length;L++)if(H+=" "+$[L].trim(),B=L,$[L].includes(j))break;z=H}let _=E8(z,0);if(_){let j=U[1],H=_.pattern,L=z.slice(_.endPos).trim();if(L.startsWith("=")){let F=L.slice(1).trim(),O=F,V=Math.max(B,Z);if(N8(F)){let R=T8($,V,F);O=R.value,V=R.nextIndex}else V=V+1;O=O.trim().replace(/;$/,"");let w=k8(H),A=`__stx_src_${Z}`,N=w.map((R)=>`module.exports.${R} = ${R};`).join(`
|
|
1971
|
+
`);return{type:j,name:A,value:`${O}; ${j} ${H} = ${A};
|
|
1972
|
+
${N}`,nextIndex:V}}}}throw Error(`Failed to parse variable declaration: ${Y}`)}let[,J,G,K]=Q,q=K,W=Z;if(N8(K)){let U=T8($,Z,K);q=U.value,W=U.nextIndex}else W=Z+1;while(W<$.length){let U=$[W].trim();if(U.startsWith(".")||U.startsWith("?."))q+=`
|
|
1973
|
+
${$[W]}`,W++;else break}return q=q.trim().replace(/;$/,""),{type:J,name:G,value:q,nextIndex:W}}function P7($,Z){let Y=$[Z].trim(),X=Y.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!X)throw Error(`Failed to parse function declaration: ${Y}`);let[,Q]=X,J=Y.replace(/^export\s+/,""),G=Z;if(HK(Y)){let K=OK($,Z,J);J=K.functionCode,G=K.nextIndex}else G=Z+1;return{name:Q,functionCode:J,nextIndex:G}}function N8($){let Z=$.trim();if(Z.startsWith("{"))return P0(Z,"{","}",0)===-1;if(Z.startsWith("["))return P0(Z,"[","]",0)===-1;return!S8(Z)}function S8($){let Z={paren:0,bracket:0,brace:0},Y=null,X=0;for(let Q=0;Q<$.length;Q++){let J=$[Q];if((Q>0?$[Q-1]:"")==="\\"&&Y)continue;if((J==='"'||J==="'")&&!Y){Y=J;continue}if(J===Y&&Y!=="`"){Y=null;continue}if(J==="`"&&!Y){Y="`";continue}if(J==="`"&&Y==="`"&&X===0){Y=null;continue}if(Y==="`"&&J==="$"&&$[Q+1]==="{"){X++,Q++;continue}if(X>0&&J==="{"){X++;continue}if(X>0&&J==="}"){X--;continue}if(Y)continue;if(J==="(")Z.paren++;else if(J===")")Z.paren--;else if(J==="[")Z.bracket++;else if(J==="]")Z.bracket--;else if(J==="{")Z.brace++;else if(J==="}")Z.brace--}return Z.paren===0&&Z.bracket===0&&Z.brace===0&&Y===null}function HK($){let Z=$.indexOf("{");if(Z===-1)return!0;return P0($,"{","}",Z)===-1}function T8($,Z,Y){let X=Y,Q=Z+1;while(Q<$.length&&!S8(X)){let J=$[Q];X+=`
|
|
1974
1974
|
${J}`,Q++}while(Q<$.length){let J=$[Q].trim();if(J.startsWith(".")||J.startsWith("?."))X+=`
|
|
1975
|
-
${$[Q]}`,Q++;else break}return{value:X,nextIndex:Q}}function
|
|
1976
|
-
${G}`,Q++}return{functionCode:X,nextIndex:Q}}function F8($,Z){let Y=Z0($,Z)??Z0(`(${$})`,Z);if(Y!==void 0)return Y;if(!/\bprocess\b/.test($))return;let X={...Z,process:Object.freeze({env:{...p5.env}})};try{return Function(...Object.keys(X),`'use strict'; return (${$});`)(...Object.values(X))}catch{try{return Function(...Object.keys(X),`'use strict'; return ${$};`)(...Object.values(X))}catch{return}}}async function zK($,Z,Y){let X=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let J of X){let[,,G,K]=J;try{let q=K.trim().replace(/;$/,""),W=F8(q,Z);if(W!==void 0)Z[G]=W}catch(q){console.warn(`Failed to parse export ${G} in fallback:`,q)}}let Q=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let J of Q){let[,,G,K]=J;if(!(G in Z))try{let q=K.trim().replace(/;$/,""),W=F8(q,Z);if(W!==void 0)Z[G]=W}catch{}}}function M8($){let Z=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Y=Z?Z[1]:"",X=Z?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:Y,templateWithoutScript:X}}function I8($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var c5=k(()=>{l5();M1();_0()});var S7={};r(S7,{renderSlot:()=>E8,processSlots:()=>b8,parseSlots:()=>D8,parseSlotElement:()=>HK,extractSlotContent:()=>FK,applySlots:()=>VK});function UK($,Z){let Y=1,X=Z,Q="<template",J="</template";while(X<$.length&&Y>0){let G=$.indexOf("<",X);if(G===-1)break;if(X=G,$.startsWith(Q,X)&&(X+Q.length>=$.length||/[\s>\/]/.test($[X+Q.length]))){Y++,X+=Q.length;continue}if($.startsWith(J,X)){let K=$.indexOf(">",X+J.length);if(K!==-1){if(Y--,Y===0)return K+1;X=K+1;continue}}X++}return Y===0?X:-1}function jK($,Z){let Y=null;for(let X=Z;X<$.length;X++){let Q=$[X];if(Y){if(Q==="\\"){X++;continue}if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"){Y=Q;continue}if(Q===">")return X+1}return-1}function _K($){let Z=[],Y=[],X=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,Q=0;while(Q<$.length){let J=$.indexOf("<",Q);if(J===-1)break;if($.startsWith("<!--",J)){let B=$.indexOf("-->",J+4);Q=B===-1?$.length:B+3;continue}let G=jK($,J+1);if(G===-1)break;let K=$.slice(J,G),q=K.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!q){Q=G;continue}let W=q[1]==="/",z=q[2].toLowerCase();if(W){let B=Y.lastIndexOf(z);if(B!==-1)Y.splice(B);Q=G;continue}if(z==="template"&&Y.length===0){let B=K.match(X);if(B){let _=UK($,G);if(_!==-1){let j=B[1]||B[2]||B[3];Z.push({start:J,end:_,slotName:j,content:$.slice(G,_-11).trim(),propsBinding:B[4]||void 0}),Q=_;continue}}}if(!/\/\s*>$/.test(K)&&!BK.has(z)){if(Y.push(z),z==="script"||z==="style"){let B=$.toLowerCase().indexOf(`</${z}>`,G);if(B!==-1){Q=B;continue}}}Q=G}return Z}function D8($){let Z={default:"",named:new Map},Y=$,X=_K($);for(let q of X)Z.named.set(q.slotName,{name:q.slotName,content:q.content,propsBinding:q.propsBinding});X.sort((q,W)=>W.start-q.start);for(let q of X)Y=Y.slice(0,q.start)+Y.slice(q.end);let Q=[],J=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,G;while((G=J.exec(Y))!==null){let[q,W,z,U,B,_]=G,j=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=B.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=(j+H).trim(),F=`<${W}${L?" "+L:""}>${_}</${W}>`;Q.push({start:G.index,end:G.index+q.length,slotName:U,element:F})}let K=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((G=K.exec(Y))!==null){let[q,W,z,U,B]=G,_=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=B.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(_+j).trim(),L=`<${W}${H?" "+H:""} />`;Q.push({start:G.index,end:G.index+q.length,slotName:U,element:L})}Q.sort((q,W)=>W.start-q.start);for(let q of Q){let W=Z.named.get(q.slotName);if(W)W.content+=q.element;else Z.named.set(q.slotName,{name:q.slotName,content:q.element});Y=Y.slice(0,q.start)+Y.slice(q.end)}return Z.default=Y.trim(),Z}function HK($){let Z=$.match(/name\s*=\s*["']([^"']+)["']/),Y=Z?Z[1]:"",X={},Q=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,J;while((J=Q.exec($))!==null)X[J[1]]=J[2];let G=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),K=G?G[1].trim():"";return{name:Y,props:X,defaultContent:K}}async function E8($,Z,Y,X){if(!$)return Y;let Q=$.content;if($.propsBinding&&Object.keys(Z).length>0){let J=$.propsBinding.trim(),G={...X};if(J.startsWith("{")&&J.endsWith("}")){let K=J.slice(1,-1).split(",").map((q)=>q.trim()).filter(Boolean);for(let q of K){let[W,z]=q.split(":").map((B)=>B.trim()),U=z||W;if(Z[W]!==void 0)G[U]=Z[W]}}else G[J]=Z;Q=OK(Q,G)}return Q}function OK($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Y,X)=>{try{let Q=X.trim(),J=k8(Q,Z);return i0(String(J??""))}catch{return`{{ ${X} }}`}})}function k8($,Z){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let X=$.split("."),Q=Z;for(let J of X)if(Q&&typeof Q==="object"&&J in Q)Q=Q[J];else return;return Q}let Y=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Y){let[,X,Q,J]=Y,G=Z[X],K=parseInt(J,10);if(typeof G==="number")switch(Q){case"+":return G+K;case"-":return G-K;case"*":return G*K;case"/":return G/K}}try{if(!J0($))return;return Q0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function b8($,Z,Y){let X=$;X=await LK(X,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,q,W)=>{let z=Z.named.get(K),U=W?.trim()||"",B=q||"",_={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,H;while((H=j.exec(B))!==null){let L=H[1],F=H[2];_[L]=k8(F,Y)}return await E8(z,_,U,Y)});let J=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return X=X.replace(J,(G,K)=>{if(G.includes("name="))return G;let q=K?.trim()||"";return Z.default||q}),X}async function LK($,Z,Y){let X=[],Q=[];$.replace(Z,(K,...q)=>{let W=q[q.length-2];return Q.push({match:K,index:W}),X.push(Y(K,...q.slice(0,-2))),K});let J=await Promise.all(X),G=$;for(let K=Q.length-1;K>=0;K--){let{match:q,index:W}=Q[K];G=G.slice(0,W)+J[K]+G.slice(W+q.length)}return G}function FK($){let Z=D8($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function VK($,Z,Y,X){return await b8($,{default:Z,named:Y},X)}var BK;var y7=k(()=>{a0();_0();BK=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function j1($,Z){let Y=RK($,Z);return Y.ok?{expression:Y.expression,endPos:Y.endPos}:null}function RK($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Y};let X=S0($,"(",")",Y);if(X===-1)return{ok:!1,reason:"unclosed-paren",pos:Y};return{ok:!0,expression:$.slice(Y+1,X),endPos:X+1}}function wK($,Z){let Y=$.lastIndexOf("<",Z);if(Y===-1)return!1;return Y>$.lastIndexOf(">",Z)}function y1($,Z,Y,X){let Q=1,J=X,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${Y}(?![a-z])`,"g");while(J<$.length&&Q>0){G.lastIndex=J,K.lastIndex=J;let q=G.exec($),W=K.exec($),z=q?q.index:1/0,U=W?W.index:1/0;if(z<U)Q++,J=z+q[0].length;else if(U<1/0){if(Q--,Q===0)return U;J=U+W[0].length}else break}return-1}function S8($,Z){let Y=$.slice(Z).match(/^@if\s*/);if(!Y)return null;let X=Z+Y[0].length,Q=j1($,X);if(!Q)return null;let J=Q.endPos,G=y1($,"if","endif",J);if(G===-1)return null;let K=$.slice(J,G),q=[],W=0,z="if",U=Q.expression,B=0,_=0;while(W<K.length){let j=K.indexOf("@",W);if(j===-1)break;W=j;let H=K.substring(j);if(wK(K,j)){W++;continue}if(/^@if\s*\(/.test(H)){_++,W++;continue}if(/^@endif(?![a-z])/.test(H)){_--,W+=6;continue}if(_===0){let L=H.match(/^@elseif\s*/);if(L){q.push({type:z,condition:U,content:K.substring(B,W),start:J+B,end:J+W});let F=W+L[0].length,O=j1(K,F);if(!O){W++;continue}z="elseif",U=O.expression,W=O.endPos,B=W;continue}else if(/^@else(?![a-z])/.test(H)){q.push({type:z,condition:U,content:K.substring(B,W),start:J+B,end:J+W}),z="else",U=void 0,W+=5,B=W;continue}}W++}return q.push({type:z,condition:U,content:K.slice(B),start:J+B,end:J+K.length}),{fullMatch:$.slice(Z,G+6),branches:q,start:Z,end:G+6}}function i5($){let Z=[],Y=/@if\s*\(/g,X=Y.exec($);while(X!==null){if(Z.some((G)=>X.index>G.start&&X.index<G.end)){X=Y.exec($);continue}let J=S8($,X.index);if(J)Z.push(J),Y.lastIndex=J.end;X=Y.exec($)}return Z}function C$($,Z,Y){let X=[],Q=new RegExp(`@${Z}\\s*\\(`,"g"),J=Q.exec($);while(J!==null){if(X.some((H)=>J.index>H.start&&J.index<H.end)){J=Q.exec($);continue}let K=J.index,q=K+J[0].length-1,W=S0($,"(",")",q);if(W===-1){J=Q.exec($);continue}let z=$.slice(q+1,W),U=W+1,B=y1($,Z,Y,U);if(B===-1){J=Q.exec($);continue}let _=$.slice(U,B),j=B+`@${Y}`.length;X.push({fullMatch:$.slice(K,j),name:Z,params:z,content:_,start:K,end:j}),Q.lastIndex=j,J=Q.exec($)}return X}function P7($,Z){let Y=$.slice(Z).match(/^@switch\s*/);if(!Y)return null;let X=Z+Y[0].length,Q=j1($,X);if(!Q)return null;let J=Q.endPos,G=y1($,"switch","endswitch",J);if(G===-1)return null;let K=$.slice(J,G),q=[],W=0,z=null,U=0;while(W<K.length){let B=K.slice(W),_=B.match(/^@switch\s*\(/),j=B.match(/^@endswitch(?![a-z])/);if(_){if(U++,z)z.content+=_[0];W+=_[0].length;continue}if(j){if(U--,z)z.content+=j[0];W+=j[0].length;continue}if(U>0){if(z)z.content+=K[W];W++;continue}let H=B.match(/^@case\s*/),L=B.match(/^@default(?![a-z])/),F=B.match(/^@break(?![a-z])/);if(H&&B.startsWith("@case")){if(z)q.push(z);let O=W+H[0].length,V=j1(K,O);if(!V){W++;continue}z={type:"case",value:V.expression,content:""},W=V.endPos}else if(L&&B.startsWith("@default")){if(z)q.push(z);z={type:"default",content:""},W+=L[0].length}else if(F&&B.startsWith("@break"))W+=F[0].length;else{if(z)z.content+=K[W];W++}}if(z)q.push(z);return{fullMatch:$.slice(Z,G+10),expression:Q.expression,cases:q,start:Z,end:G+10}}var y8=()=>{};var P8=()=>{};var v$=k(()=>{y8();P8()});function g$($){let Z=$,Y=new Set,X=new Set,Q=()=>{if(C0)X.add(C0);return Z};return Q.set=(J)=>{if(!Object.is(J,Z)){let G=Z;if(Z=J,Y.forEach((K)=>K(Z,G)),n5)X.forEach((K)=>f$.add(K));else X.forEach((K)=>K())}},Q.update=(J)=>{Q.set(J(Z))},Q.subscribe=(J)=>{return Y.add(J),()=>Y.delete(J)},Object.defineProperty(Q,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(Q,"value",{get:()=>Q(),set:(J)=>Q.set(J),configurable:!0}),Q}function h$($){let Z,Y=!0,X=new Set,Q=()=>{if(!Y)if(Y=!0,n5)X.forEach((G)=>f$.add(G));else X.forEach((G)=>G())},J=()=>{if(C0)X.add(C0);if(Y){let G=C0;C0=Q,x$.push(Q);try{Z=$()}finally{x$.pop(),C0=G}Y=!1}return Z};return Object.defineProperty(J,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(J,"value",{get:()=>J(),configurable:!0}),J}function d$($,Z={}){let Y,X=!1,Q=()=>{if(X)return;if(Y)Y(),Y=void 0;let J=C0;C0=Q,x$.push(Q);try{Y=$()}finally{x$.pop(),C0=J}};if(Z.immediate!==!1)Q();return()=>{if(X=!0,Y)Y()}}function C7($){if(n5){$();return}n5=!0;try{$()}finally{n5=!1,f$.forEach((Z)=>Z()),f$.clear()}}function v7($){MK.push($)}function x7($){IK.push($)}function m$($){return typeof $==="function"&&$._isSignal===!0}function u$($){return typeof $==="function"&&$._isDerived===!0}function f7($){if(m$($)||u$($))return $();return $}function l$($){let Z=C0;C0=null;try{return $()}finally{C0=Z}}function DK($,Z){let Y=typeof $==="function"?$:()=>$,X=g$([]),Q=h$(()=>X().reduce((K,q)=>Z(K,q.action),Y())),J=!1;return d$(()=>{if(Y(),!J){J=!0;return}if(l$(()=>X().length))X.set([])}),[Q,(K,q)=>{let W={action:K};X.set([...X(),W]);let z=()=>{let U=X().filter((B)=>B!==W);if(U.length!==X().length)X.set(U)};if(q&&typeof q.then==="function")Promise.resolve(q).then(z,z);return z}]}var C0=null,x$,n5=!1,f$,MK,IK;var g7=k(()=>{x$=[],f$=new Set,MK=[],IK=[]});var v8={};r(v8,{useOptimistic:()=>DK,untrack:()=>f7,state:()=>g$,peek:()=>l$,onMount:()=>v7,onDestroy:()=>x7,isSignal:()=>m$,isDerived:()=>u$,generateSignalsRuntimeDev:()=>p$,generateSignalsRuntime:()=>C8,effect:()=>d$,derived:()=>h$,default:()=>kK,batch:()=>C7});function C8(){try{let $=EK(p$()),Y=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($);return Y=Y.replace(/\}(var |let |const |function )/g,"};$1"),Y}catch{return p$()}}function EK($){let Z=[],Y=0,X="console.log(";while(Y<$.length){let Q=$.indexOf(X,Y);if(Q===-1){Z.push($.slice(Y));break}Z.push($.slice(Y,Q));let J=1,G=Q+X.length;while(G<$.length&&J>0){let K=$[G];if(K==='"'||K==="'"||K==="`"){let q=K;G++;while(G<$.length&&$[G]!==q){if($[G]==="\\")G++;G++}G++;continue}if(K==="(")J++;else if(K===")")J--;G++}Z.push("0"),Y=G}return Z.join("")}function p$(){return`
|
|
1975
|
+
${$[Q]}`,Q++;else break}return{value:X,nextIndex:Q}}function OK($,Z,Y){let X=Y,Q=Z+1;while(Q<$.length){let J=X.indexOf("{");if(J!==-1){if(P0(X,"{","}",J)!==-1)break}let G=$[Q];X+=`
|
|
1976
|
+
${G}`,Q++}return{functionCode:X,nextIndex:Q}}function M8($,Z){let Y=e($,Z)??e(`(${$})`,Z);if(Y!==void 0)return Y;if(!/\bprocess\b/.test($))return;let X={...Z,process:Object.freeze({env:{...n5.env}})};try{return Function(...Object.keys(X),`'use strict'; return (${$});`)(...Object.values(X))}catch{try{return Function(...Object.keys(X),`'use strict'; return ${$};`)(...Object.values(X))}catch{return}}}async function LK($,Z,Y){let X=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let J of X){let[,,G,K]=J;try{let q=K.trim().replace(/;$/,""),W=M8(q,Z);if(W!==void 0)Z[G]=W}catch(q){console.warn(`Failed to parse export ${G} in fallback:`,q)}}let Q=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let J of Q){let[,,G,K]=J;if(!(G in Z))try{let q=K.trim().replace(/;$/,""),W=M8(q,Z);if(W!==void 0)Z[G]=W}catch{}}}function y8($){let Z=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Y=Z?Z[1]:"",X=Z?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:Y,templateWithoutScript:X}}function P8($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var o5=k(()=>{i5();M1();j0()});var v7={};s(v7,{renderSlot:()=>v8,processSlots:()=>f8,parseSlots:()=>C8,parseSlotElement:()=>RK,extractSlotContent:()=>MK,applySlots:()=>IK});function FK($,Z){let Y=1,X=Z,Q="<template",J="</template";while(X<$.length&&Y>0){let G=$.indexOf("<",X);if(G===-1)break;if(X=G,$.startsWith(Q,X)&&(X+Q.length>=$.length||/[\s>\/]/.test($[X+Q.length]))){Y++,X+=Q.length;continue}if($.startsWith(J,X)){let K=$.indexOf(">",X+J.length);if(K!==-1){if(Y--,Y===0)return K+1;X=K+1;continue}}X++}return Y===0?X:-1}function wK($,Z){let Y=null;for(let X=Z;X<$.length;X++){let Q=$[X];if(Y){if(Q==="\\"){X++;continue}if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"){Y=Q;continue}if(Q===">")return X+1}return-1}function AK($){let Z=[],Y=[],X=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,Q=0;while(Q<$.length){let J=$.indexOf("<",Q);if(J===-1)break;if($.startsWith("<!--",J)){let B=$.indexOf("-->",J+4);Q=B===-1?$.length:B+3;continue}let G=wK($,J+1);if(G===-1)break;let K=$.slice(J,G),q=K.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!q){Q=G;continue}let W=q[1]==="/",U=q[2].toLowerCase();if(W){let B=Y.lastIndexOf(U);if(B!==-1)Y.splice(B);Q=G;continue}if(U==="template"&&Y.length===0){let B=K.match(X);if(B){let _=FK($,G);if(_!==-1){let j=B[1]||B[2]||B[3];Z.push({start:J,end:_,slotName:j,content:$.slice(G,_-11).trim(),propsBinding:B[4]||void 0}),Q=_;continue}}}if(!/\/\s*>$/.test(K)&&!VK.has(U)){if(Y.push(U),U==="script"||U==="style"){let B=$.toLowerCase().indexOf(`</${U}>`,G);if(B!==-1){Q=B;continue}}}Q=G}return Z}function C8($){let Z={default:"",named:new Map},Y=$,X=AK($);for(let q of X)Z.named.set(q.slotName,{name:q.slotName,content:q.content,propsBinding:q.propsBinding});X.sort((q,W)=>W.start-q.start);for(let q of X)Y=Y.slice(0,q.start)+Y.slice(q.end);let Q=[],J=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,G;while((G=J.exec(Y))!==null){let[q,W,U,z,B,_]=G,j=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=B.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=(j+H).trim(),F=`<${W}${L?" "+L:""}>${_}</${W}>`;Q.push({start:G.index,end:G.index+q.length,slotName:z,element:F})}let K=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((G=K.exec(Y))!==null){let[q,W,U,z,B]=G,_=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=B.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(_+j).trim(),L=`<${W}${H?" "+H:""} />`;Q.push({start:G.index,end:G.index+q.length,slotName:z,element:L})}Q.sort((q,W)=>W.start-q.start);for(let q of Q){let W=Z.named.get(q.slotName);if(W)W.content+=q.element;else Z.named.set(q.slotName,{name:q.slotName,content:q.element});Y=Y.slice(0,q.start)+Y.slice(q.end)}return Z.default=Y.trim(),Z}function RK($){let Z=$.match(/name\s*=\s*["']([^"']+)["']/),Y=Z?Z[1]:"",X={},Q=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,J;while((J=Q.exec($))!==null)X[J[1]]=J[2];let G=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),K=G?G[1].trim():"";return{name:Y,props:X,defaultContent:K}}async function v8($,Z,Y,X){if(!$)return Y;let Q=$.content;if($.propsBinding&&Object.keys(Z).length>0){let J=$.propsBinding.trim(),G={...X};if(J.startsWith("{")&&J.endsWith("}")){let K=J.slice(1,-1).split(",").map((q)=>q.trim()).filter(Boolean);for(let q of K){let[W,U]=q.split(":").map((B)=>B.trim()),z=U||W;if(Z[W]!==void 0)G[z]=Z[W]}}else G[J]=Z;Q=NK(Q,G)}return Q}function NK($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Y,X)=>{try{let Q=X.trim(),J=x8(Q,Z);return o0(String(J??""))}catch{return`{{ ${X} }}`}})}function x8($,Z){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let X=$.split("."),Q=Z;for(let J of X)if(Q&&typeof Q==="object"&&J in Q)Q=Q[J];else return;return Q}let Y=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Y){let[,X,Q,J]=Y,G=Z[X],K=parseInt(J,10);if(typeof G==="number")switch(Q){case"+":return G+K;case"-":return G-K;case"*":return G*K;case"/":return G/K}}try{if(!X0($))return;return J0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function f8($,Z,Y){let X=$;X=await TK(X,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,q,W)=>{let U=Z.named.get(K),z=W?.trim()||"",B=q||"",_={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,H;while((H=j.exec(B))!==null){let L=H[1],F=H[2];_[L]=x8(F,Y)}return await v8(U,_,z,Y)});let J=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return X=X.replace(J,(G,K)=>{if(G.includes("name="))return G;let q=K?.trim()||"";return Z.default||q}),X}async function TK($,Z,Y){let X=[],Q=[];$.replace(Z,(K,...q)=>{let W=q[q.length-2];return Q.push({match:K,index:W}),X.push(Y(K,...q.slice(0,-2))),K});let J=await Promise.all(X),G=$;for(let K=Q.length-1;K>=0;K--){let{match:q,index:W}=Q[K];G=G.slice(0,W)+J[K]+G.slice(W+q.length)}return G}function MK($){let Z=C8($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function IK($,Z,Y,X){return await f8($,{default:Z,named:Y},X)}var VK;var x7=k(()=>{t0();j0();VK=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function _1($,Z){let Y=DK($,Z);return Y.ok?{expression:Y.expression,endPos:Y.endPos}:null}function DK($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Y};let X=P0($,"(",")",Y);if(X===-1)return{ok:!1,reason:"unclosed-paren",pos:Y};return{ok:!0,expression:$.slice(Y+1,X),endPos:X+1}}function EK($,Z){let Y=$.lastIndexOf("<",Z);if(Y===-1)return!1;return Y>$.lastIndexOf(">",Z)}function P1($,Z,Y,X){let Q=1,J=X,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${Y}(?![a-z])`,"g");while(J<$.length&&Q>0){G.lastIndex=J,K.lastIndex=J;let q=G.exec($),W=K.exec($),U=q?q.index:1/0,z=W?W.index:1/0;if(U<z)Q++,J=U+q[0].length;else if(z<1/0){if(Q--,Q===0)return z;J=z+W[0].length}else break}return-1}function g8($,Z){let Y=$.slice(Z).match(/^@if\s*/);if(!Y)return null;let X=Z+Y[0].length,Q=_1($,X);if(!Q)return null;let J=Q.endPos,G=P1($,"if","endif",J);if(G===-1)return null;let K=$.slice(J,G),q=[],W=0,U="if",z=Q.expression,B=0,_=0;while(W<K.length){let j=K.indexOf("@",W);if(j===-1)break;W=j;let H=K.substring(j);if(EK(K,j)){W++;continue}if(/^@if\s*\(/.test(H)){_++,W++;continue}if(/^@endif(?![a-z])/.test(H)){_--,W+=6;continue}if(_===0){let L=H.match(/^@elseif\s*/);if(L){q.push({type:U,condition:z,content:K.substring(B,W),start:J+B,end:J+W});let F=W+L[0].length,O=_1(K,F);if(!O){W++;continue}U="elseif",z=O.expression,W=O.endPos,B=W;continue}else if(/^@else(?![a-z])/.test(H)){q.push({type:U,condition:z,content:K.substring(B,W),start:J+B,end:J+W}),U="else",z=void 0,W+=5,B=W;continue}}W++}return q.push({type:U,condition:z,content:K.slice(B),start:J+B,end:J+K.length}),{fullMatch:$.slice(Z,G+6),branches:q,start:Z,end:G+6}}function s5($){let Z=[],Y=/@if\s*\(/g,X=Y.exec($);while(X!==null){if(Z.some((G)=>X.index>G.start&&X.index<G.end)){X=Y.exec($);continue}let J=g8($,X.index);if(J)Z.push(J),Y.lastIndex=J.end;X=Y.exec($)}return Z}function g$($,Z,Y){let X=[],Q=new RegExp(`@${Z}\\s*\\(`,"g"),J=Q.exec($);while(J!==null){if(X.some((H)=>J.index>H.start&&J.index<H.end)){J=Q.exec($);continue}let K=J.index,q=K+J[0].length-1,W=P0($,"(",")",q);if(W===-1){J=Q.exec($);continue}let U=$.slice(q+1,W),z=W+1,B=P1($,Z,Y,z);if(B===-1){J=Q.exec($);continue}let _=$.slice(z,B),j=B+`@${Y}`.length;X.push({fullMatch:$.slice(K,j),name:Z,params:U,content:_,start:K,end:j}),Q.lastIndex=j,J=Q.exec($)}return X}function f7($,Z){let Y=$.slice(Z).match(/^@switch\s*/);if(!Y)return null;let X=Z+Y[0].length,Q=_1($,X);if(!Q)return null;let J=Q.endPos,G=P1($,"switch","endswitch",J);if(G===-1)return null;let K=$.slice(J,G),q=[],W=0,U=null,z=0;while(W<K.length){let B=K.slice(W),_=B.match(/^@switch\s*\(/),j=B.match(/^@endswitch(?![a-z])/);if(_){if(z++,U)U.content+=_[0];W+=_[0].length;continue}if(j){if(z--,U)U.content+=j[0];W+=j[0].length;continue}if(z>0){if(U)U.content+=K[W];W++;continue}let H=B.match(/^@case\s*/),L=B.match(/^@default(?![a-z])/),F=B.match(/^@break(?![a-z])/);if(H&&B.startsWith("@case")){if(U)q.push(U);let O=W+H[0].length,V=_1(K,O);if(!V){W++;continue}U={type:"case",value:V.expression,content:""},W=V.endPos}else if(L&&B.startsWith("@default")){if(U)q.push(U);U={type:"default",content:""},W+=L[0].length}else if(F&&B.startsWith("@break"))W+=F[0].length;else{if(U)U.content+=K[W];W++}}if(U)q.push(U);return{fullMatch:$.slice(Z,G+10),expression:Q.expression,cases:q,start:Z,end:G+10}}var h8=()=>{};var d8=()=>{};var h$=k(()=>{h8();d8()});function u$($){let Z=$,Y=new Set,X=new Set,Q=()=>{if(f0)X.add(f0);return Z};return Q.set=(J)=>{if(!Object.is(J,Z)){let G=Z;if(Z=J,Y.forEach((K)=>K(Z,G)),r5)X.forEach((K)=>m$.add(K));else X.forEach((K)=>K())}},Q.update=(J)=>{Q.set(J(Z))},Q.subscribe=(J)=>{return Y.add(J),()=>Y.delete(J)},Object.defineProperty(Q,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(Q,"value",{get:()=>Q(),set:(J)=>Q.set(J),configurable:!0}),Q}function l$($){let Z,Y=!0,X=new Set,Q=()=>{if(!Y)if(Y=!0,r5)X.forEach((G)=>m$.add(G));else X.forEach((G)=>G())},J=()=>{if(f0)X.add(f0);if(Y){let G=f0;f0=Q,d$.push(Q);try{Z=$()}finally{d$.pop(),f0=G}Y=!1}return Z};return Object.defineProperty(J,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(J,"value",{get:()=>J(),configurable:!0}),J}function p$($,Z={}){let Y,X=!1,Q=()=>{if(X)return;if(Y)Y(),Y=void 0;let J=f0;f0=Q,d$.push(Q);try{Y=$()}finally{d$.pop(),f0=J}};if(Z.immediate!==!1)Q();return()=>{if(X=!0,Y)Y()}}function g7($){if(r5){$();return}r5=!0;try{$()}finally{r5=!1,m$.forEach((Z)=>Z()),m$.clear()}}function h7($){yK.push($)}function d7($){PK.push($)}function c$($){return typeof $==="function"&&$._isSignal===!0}function i$($){return typeof $==="function"&&$._isDerived===!0}function m7($){if(c$($)||i$($))return $();return $}function n$($){let Z=f0;f0=null;try{return $()}finally{f0=Z}}function CK($,Z){let Y=typeof $==="function"?$:()=>$,X=u$([]),Q=l$(()=>X().reduce((K,q)=>Z(K,q.action),Y())),J=!1;return p$(()=>{if(Y(),!J){J=!0;return}if(n$(()=>X().length))X.set([])}),[Q,(K,q)=>{let W={action:K};X.set([...X(),W]);let U=()=>{let z=X().filter((B)=>B!==W);if(z.length!==X().length)X.set(z)};if(q&&typeof q.then==="function")Promise.resolve(q).then(U,U);return U}]}var f0=null,d$,r5=!1,m$,yK,PK;var u7=k(()=>{d$=[],m$=new Set,yK=[],PK=[]});var u8={};s(u8,{useOptimistic:()=>CK,untrack:()=>m7,state:()=>u$,peek:()=>n$,onMount:()=>h7,onDestroy:()=>d7,isSignal:()=>c$,isDerived:()=>i$,generateSignalsRuntimeDev:()=>o$,generateSignalsRuntime:()=>m8,effect:()=>p$,derived:()=>l$,default:()=>xK,batch:()=>g7});function m8(){try{let $=vK(o$()),Y=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($);return Y=Y.replace(/\}(var |let |const |function )/g,"};$1"),Y}catch{return o$()}}function vK($){let Z=[],Y=0,X="console.log(";while(Y<$.length){let Q=$.indexOf(X,Y);if(Q===-1){Z.push($.slice(Y));break}Z.push($.slice(Y,Q));let J=1,G=Q+X.length;while(G<$.length&&J>0){let K=$[G];if(K==='"'||K==="'"||K==="`"){let q=K;G++;while(G<$.length&&$[G]!==q){if($[G]==="\\")G++;G++}G++;continue}if(K==="(")J++;else if(K===")")J--;G++}Z.push("0"),Y=G}return Z.join("")}function o$(){return`
|
|
1977
1977
|
// STX Signals Runtime (Development Build)
|
|
1978
1978
|
console.log('[stx] signals runtime loading');
|
|
1979
1979
|
// Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
|
|
@@ -8515,56 +8515,59 @@ catch (e) { console.warn('[stx] mount callback error:', e); }
|
|
|
8515
8515
|
}
|
|
8516
8516
|
}
|
|
8517
8517
|
})();
|
|
8518
|
-
`}var
|
|
8518
|
+
`}var xK;var l8=k(()=>{u7();u7();xK={state:u$,derived:l$,effect:p$,batch:g7,onMount:h7,onDestroy:d7,isSignal:c$,isDerived:i$,untrack:m7,peek:n$,generateSignalsRuntime:m8,generateSignalsRuntimeDev:o$}});var l7={};s(l7,{templateCache:()=>p8,readFileCached:()=>fK,invalidateFileCacheByDir:()=>hK,invalidateFileCache:()=>gK,hashFilePath:()=>a5,getCachedSignalsRuntime:()=>uK,getCachedRouterScript:()=>lK,clearDevCaches:()=>pK,checkCache:()=>cK,cacheTemplate:()=>iK,__setSignalsGeneratorsForTest:()=>mK});import H1 from"fs";import K5 from"path";async function fK($){let Y;for(let X=0;X<3;X++)try{let J=(await H1.promises.stat($)).mtime.getTime(),G=C1.get($);if(G&&G.mtime===J)return G.content;let K=await Bun.file($).text(),W=(await H1.promises.stat($)).mtime.getTime();if(W!==J)continue;return C1.set($,{content:K,mtime:W}),K}catch(Q){Y=Q;break}throw C1.delete($),Error(`File not found: ${$}${Y?` (${Y.message})`:""}`)}function gK($){C1.delete($)}function hK($){for(let Z of C1.keys())if(Z.startsWith($))C1.delete(Z)}function mK($){c8=$}async function uK($=!1){let Z=c8??await Promise.resolve().then(() => (l8(),u8));if($)return Z.generateSignalsRuntimeDev();if(s$===null)s$=Z.generateSignalsRuntime();return s$}async function lK(){if(r$===null){let{getRouterScript:$}=await import("stx-router");r$=$()}return r$}function pK(){C1.clear(),n8(),s$=null,dK=null,r$=null}function i8($){let Z={debug:$.debug===!0,middleware:($.middleware??[]).map((Y)=>({name:Y.name,timing:Y.timing,handler:String(Y.handler)})),customDirectives:($.customDirectives??[]).map((Y)=>({name:Y.name,hasEndTag:Y.hasEndTag===!0,handler:String(Y.handler)}))};return new Bun.CryptoHasher("sha1").update(JSON.stringify(Z)).digest("hex")}async function cK($,Z){try{if(!Z.cachePath)return null;let Y=K5.resolve(Z.cachePath),X=K5.join(Y,`${a5($)}.html`),Q=K5.join(Y,`${a5($)}.meta.json`);if(!await c(X)||!await c(Q))return null;let J=await Bun.file(Q).text(),G=JSON.parse(J);if(G.cacheVersion!==Z.cacheVersion)return null;if(G.optionsSignature!==i8(Z))return null;if((await H1.promises.stat($)).mtime.getTime()>G.mtime)return null;for(let q of G.dependencies)if(await c(q)){if((await H1.promises.stat(q)).mtime.getTime()>G.mtime)return null}else return null;return await Bun.file(X).text()}catch(Y){return console.warn(`Cache error for ${$}:`,Y),null}}async function iK($,Z,Y,X){try{if(!X.cachePath)return;let Q=K5.resolve(X.cachePath);await H1.promises.mkdir(Q,{recursive:!0});let J=K5.join(Q,`${a5($)}.html`),G=K5.join(Q,`${a5($)}.meta.json`),K=await H1.promises.stat($);await Bun.write(J,Z);let q={sourcePath:$,mtime:K.mtime.getTime(),dependencies:Array.from(Y),cacheVersion:X.cacheVersion,optionsSignature:i8(X),generatedAt:Date.now()};await Bun.write(G,JSON.stringify(q,null,2)),p8.set($,{output:Z,mtime:K.mtime.getTime(),dependencies:Y})}catch(Q){console.warn(`Failed to cache template ${$}:`,Q)}}function a5($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,nK)}var p8,C1,s$=null,dK=null,c8=null,r$=null,nK=16;var p7=k(()=>{F0();p8=new Map,C1=new Map});function o8($){if($.includes("window.StacksBrowser")||$.includes("StacksBrowser ="))return $;let Z=/<script\b(?![^>]*\bserver\b)[^>]*>([\s\S]*?)<\/script>/gi,Y="",X;while((X=Z.exec($))!==null)Y+=X[1]+`
|
|
8519
8519
|
`;let Q=/\{\{([\s\S]*?)\}\}/g;while((X=Q.exec($))!==null)Y+=X[1]+`
|
|
8520
|
-
`;if(!Y.trim())return $;let G=["browserQuery","BrowserQueryBuilder","configureBrowser","createBrowserModel","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useDocumentVisibility","useIntervalFn"].some((B)=>{return new RegExp(`\\b${B}\\b`).test(Y)}),K=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"]),q=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,W,
|
|
8520
|
+
`;if(!Y.trim())return $;let G=["browserQuery","BrowserQueryBuilder","configureBrowser","createBrowserModel","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useDocumentVisibility","useIntervalFn"].some((B)=>{return new RegExp(`\\b${B}\\b`).test(Y)}),K=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"]),q=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,W,U=!1;while((W=q.exec(Y))!==null)if(!K.has(W[1])){U=!0;break}if(!G&&!U)return $;let z=`<script type="module">
|
|
8521
8521
|
// STX: Auto-load @stacksjs/browser (auto-initializes API and loads models)
|
|
8522
8522
|
import '@stacksjs/browser'
|
|
8523
|
-
</script>`;if($.includes("</head>")){let B=$.indexOf("</head>"),j=$.slice(0,B).indexOf("<script");if(j!==-1)return $.slice(0,j)+
|
|
8524
|
-
`+$.slice(j);return $.replace("</head>",`${
|
|
8523
|
+
</script>`;if($.includes("</head>")){let B=$.indexOf("</head>"),j=$.slice(0,B).indexOf("<script");if(j!==-1)return $.slice(0,j)+z+`
|
|
8524
|
+
`+$.slice(j);return $.replace("</head>",`${z}
|
|
8525
8525
|
</head>`)}if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
|
|
8526
|
-
${
|
|
8527
|
-
`+$}async function
|
|
8526
|
+
${z}`);return z+`
|
|
8527
|
+
`+$}async function s8($,Z){if($.includes("data-stx-runtime")||$.includes("window.stx.state")||$.includes("STX Signals Runtime"))return $;if(Z.buildMode==="serve"){let K=$.indexOf("<script");if(K!==-1)return $.slice(0,K)+`<script data-stx-runtime src="/_stx/runtime.js"></script>
|
|
8528
|
+
`+$.slice(K);if($.includes("</head>")){let q=$.indexOf("</head>");return $.slice(0,q)+`<script data-stx-runtime src="/_stx/runtime.js"></script>
|
|
8529
|
+
`+$.slice(q)}return`<script data-stx-runtime src="/_stx/runtime.js"></script>
|
|
8530
|
+
`+$}if(Z.buildMode==="compile"){let K=$.indexOf("<script");if(K!==-1)return $.slice(0,K)+`<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>
|
|
8528
8531
|
`+$.slice(K);if($.includes("</head>")){let q=$.indexOf("</head>");return $.slice(0,q)+`<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>
|
|
8529
8532
|
`+$.slice(q)}return`<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>
|
|
8530
|
-
`+$}let{getCachedSignalsRuntime:Y}=await Promise.resolve().then(() => (
|
|
8533
|
+
`+$}let{getCachedSignalsRuntime:Y}=await Promise.resolve().then(() => (p7(),l7)),Q=`<script data-stx-scoped data-stx-runtime>${await Y(Z.debug)}</script>`,J=$.indexOf("<script");if(J!==-1)return $.slice(0,J)+Q+`
|
|
8531
8534
|
`+$.slice(J);if($.includes("</head>")){let G=$.indexOf("</head>");return $.slice(0,G)+Q+`
|
|
8532
8535
|
`+$.slice(G)}if($.includes("<body")){let G=$.indexOf("<body"),K=$.indexOf(">",G);return $.slice(0,K+1)+`
|
|
8533
8536
|
`+Q+$.slice(K+1)}return Q+`
|
|
8534
|
-
`+$}async function
|
|
8535
|
-
`}let{getCachedRouterScript:Q}=await Promise.resolve().then(() => (
|
|
8536
|
-
</body>`+$.slice(G+7)}var
|
|
8537
|
-
`)}else{if(
|
|
8538
|
-
`)
|
|
8539
|
-
`)j++;
|
|
8540
|
-
${O}`)}let
|
|
8541
|
-
|
|
8542
|
-
`);
|
|
8537
|
+
`+$}async function r8($,Z){if(!$.includes("</body>"))return $;if($.includes("data-stx-router")||$.includes("__stxRouter)return")||$.includes("__stxRouter=true"))return $;let Y=Z?.router,X="";if(Y){let K={};if(Y.container)K.container=Y.container;if(Y.interceptAllLinks!==void 0)K.interceptAllLinks=Y.interceptAllLinks;if(Y.progress!==void 0)K.progress=Y.progress;if(Y.viewTransitions!==void 0)K.viewTransitions=Y.viewTransitions;if(Y.viewTransitionDuration!==void 0)K.viewTransitionDuration=Y.viewTransitionDuration;if(Y.viewTransitionEasing!==void 0)K.viewTransitionEasing=Y.viewTransitionEasing;if(Y.scrollToTop!==void 0)K.scrollToTop=Y.scrollToTop;if(Y.prefetch!==void 0)K.prefetch=Y.prefetch;if(Y.cache!==void 0)K.cache=Y.cache;if(Y.progressColor!==void 0)K.progressColor=Y.progressColor;if(Y.progressHeight!==void 0)K.progressHeight=Y.progressHeight;if(Object.keys(K).length>0)X=`<script>window.__stxRouterConfig=${JSON.stringify(K)};</script>
|
|
8538
|
+
`}let{getCachedRouterScript:Q}=await Promise.resolve().then(() => (p7(),l7)),J=Z?.buildMode==="compile"?'<script data-stx-router src="/__stx/router.__STX_HASH__.js"></script>':Z?.buildMode==="serve"?'<script data-stx-router src="/_stx/router.js"></script>':`<script data-stx-router>${await Q()}</script>`,G=$.lastIndexOf("</body>");return $.slice(0,G)+X+J+`
|
|
8539
|
+
</body>`+$.slice(G+7)}var $4={};s($4,{scanScriptTags:()=>XZ,rewriteStxImportSpecifiers:()=>KZ,processSignals:()=>s7,processScriptSetup:()=>QZ,preEvalLiteralReactiveIfs:()=>n7,parseLoopExpression:()=>JZ,hasSignalsSyntax:()=>e$,findMarkupIndexOutsideScripts:()=>t$,extractExports:()=>GZ,convertSignalLoopsToAttributes:()=>o7,convertSignalDirectivesToAttributes:()=>i7});function XZ($,Z={}){let Y=[];for(let X of N7($,U1)){let Q=X.token.match(/^<script\b([^>]*)>/i),J=X.token.match(/<\/script\s*>$/i);if(!Q||!J)continue;let G=Q[1];if(Z.skipAttrs){if(Z.skipAttrs.lastIndex=0,Z.skipAttrs.test(G))continue}let K=Q[0].length,q=X.token.length-J[0].length;Y.push({fullMatch:X.token,attrs:G,body:X.token.slice(K,q),start:X.start,end:X.end})}return Y}function JZ($){let Z=$.trim(),Y=Z.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(Y){let Q=Y[1].trim(),J=Y[2].trim(),{itemVar:G,indexVar:K}=t8(J);if(G)return{style:"as",iterable:Q,itemVar:G,indexVar:K}}let X=Z.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(X){let Q=X[1].trim(),J=X[2].trim(),{itemVar:G,indexVar:K}=t8(Q);if(G)return{style:"in",iterable:J,itemVar:G,indexVar:K}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function t8($){let Z=$.trim(),Y=Z.match(/^(\w+)\s*=>\s*(\w+)$/);if(Y)return{itemVar:Y[2],indexVar:Y[1]};let X=Z.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(X)return{itemVar:X[1],indexVar:X[2]||null};let Q=Z.match(/^(\w+)\s*,\s*(\w+)$/);if(Q)return{itemVar:Q[1],indexVar:Q[2]};let J=Z.match(/^(\w+)$/);if(J)return{itemVar:J[1],indexVar:null};return{itemVar:null,indexVar:null}}function e$($){return[/@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*\(/,/\buseId\s*\(/,/\buseReactiveProp\s*(?:<[^>]*>)?\s*\(/,/\s:(?:if|else-if|else|for|show|text|html|model)\s*=/,/data-stx(?:-auto)?(?![-\w])/,/data-stx-scoped/].some((Y)=>Y.test($))}function sK($){let Z=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,Y=0,X;while((X=Z.exec($))!==null){let Q=X[1];if(Q.startsWith("if"))Y++;else if(Q==="endif")Y--;else if(Y===0)return!0}return!1}function rK($){let Z=new Set,Y=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,X=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal)\s*(?:<[^>]*>)?\s*\(/g,Q;while((Q=Y.exec($))!==null){let J=Q[1],G;while((G=X.exec(J))!==null)Z.add(G[1])}return Z}function aK($){return $.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function $Z($,Z,Y){if(!$)return!1;let X=aK($),Q=!1,J=!1,G=!1,K=/([a-zA-Z_$][\w$]*)/g,q;while((q=K.exec(X))!==null){let B=q[1];if(X.slice(0,q.index).trimEnd().endsWith("."))continue;if(e8.has(B))continue;if(Z.has(B))Q=!0;else if(Y&&B in Y)J=!0}let W=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,U;while((U=W.exec(X))!==null){let B=U[1];if(X.slice(0,U.index).trimEnd().endsWith("."))continue;if(e8.has(B)||Y&&B in Y)continue;G=!0}return(Q||G)&&!J}function a$($,Z,Y){let X=Y===void 0?` ${Z}`:` ${Z}="${Y.replace(/"/g,""")}"`,Q=$.trim(),J=Q.match(YZ);if(J&&tK(J[3],J[1])){let[,G,K,q]=J;return`<${G}${K}${X}>${q}</${G}>`}return`<template${X}>${Q}</template>`}function tK($,Z){let Y=new RegExp(`<(/)?${Z}(?=[\\s/>])`,"gi"),X=0,Q;while((Q=Y.exec($))!==null)if(Q[1]){if(X--,X<0)return!1}else X++;return!0}function i7($,Z){let Y=rK($);function X(Q){let J=Q,G=/@if\s*\(/g,K,q=[];while((K=G.exec(J))!==null){let W=K.index,U=W+K[0].length,z=1,B=U;while(B<J.length&&z>0){if(J[B]==="(")z++;else if(J[B]===")")z--;B++}if(z!==0)continue;let _=J.substring(U,B-1).trim(),j=B,H=1,L=j,F=/@(if\s*\(|endif)/g;F.lastIndex=j;let O;while((O=F.exec(J))!==null)if(O[1].startsWith("if"))H++;else if(O[1]==="endif"){if(H--,H===0){L=O.index+O[0].length;break}}if(H!==0)continue;let V=J.substring(j,L-6).trim(),w;if(sK(V)){let A=s5(J.substring(W,L));if(A.length===0)continue;let N=A[0].branches.filter((M)=>M.type!=="else");if(!(N.length>0&&N.every((M)=>$Z(M.condition,Y,Z))))continue;w=A[0].branches.map((M)=>{let I=X(M.content);if(M.type==="elseif")return a$(I,"@else-if",M.condition??"");if(M.type==="else")return a$(I,"@else");return a$(I,"@if",M.condition??"")}).join(`
|
|
8540
|
+
`)}else{if(!$Z(_,Y,Z))continue;w=a$(X(V),"@if",_)}q.push({start:W,end:L,replacement:w}),G.lastIndex=L}for(let W=q.length-1;W>=0;W--){let{start:U,end:z,replacement:B}=q[W];J=J.substring(0,U)+B+J.substring(z)}return J}return X($)}function eK($){let Z=$.trim();if(Z==="")return;if(Z==="true")return!0;if(Z==="false")return!1;if(Z==="null")return!1;if(Z==="undefined")return!1;if(Z==="NaN")return!1;if(/^-?\d+(?:\.\d+)?$/.test(Z)){let Q=Number(Z);return Q!==0&&!Number.isNaN(Q)}let Y=Z.match(/^'((?:\\.|[^'\\])*)'$/);if(Y)return Y[1].length>0;let X=Z.match(/^"((?:\\.|[^"\\])*)"$/);if(X)return X[1].length>0;return}function $q($,Z,Y,X){if(c7.has(Y.toLowerCase()))return X;let Q=Y.toLowerCase(),J=$.toLowerCase(),G=$.length,K=1,q=X;while(q<G){let W=$.indexOf("<",q);if(W===-1)return-1;if(q=W,$.startsWith("<!--",q)){let _=$.indexOf("-->",q+4);if(_===-1)return-1;q=_+3;continue}let U=/^<(script|style)\b/i.exec($.slice(q,q+8));if(U){let _=$.indexOf(">",q);if(_===-1)return-1;if($[_-1]==="/"){q=_+1;continue}let j=J.indexOf(`</${U[1].toLowerCase()}`,q);if(j===-1)return-1;let H=$.indexOf(">",j);if(H===-1)return-1;q=H+1;continue}if($[q+1]==="/"){let _=/^<\/([a-z][\w-]*)\s*>/i.exec($.slice(q,q+64));if(!_){q++;continue}if(_[1].toLowerCase()===Q){if(K--,q+=_[0].length,K===0)return q;continue}q+=_[0].length;continue}let z=/^<([a-z][\w-]*)\b/i.exec($.slice(q,q+64));if(!z){q++;continue}let B=$.indexOf(">",q);if(B===-1)return-1;if(z[1].toLowerCase()===Q){let _=$.slice(q,B+1);if(!(/\/\s*>$/.test(_)||c7.has(Q)))K++}q=B+1}return-1}function Yq($,Z){let Y=Z,X=$.length;for(;;){while(Y<X&&$[Y]!=="<")Y++;if(Y>=X)return!1;if($.startsWith("<!--",Y)){let G=$.indexOf("-->",Y+4);if(G===-1)return!1;Y=G+3;continue}break}if($[Y+1]==="/")return!1;let Q=$.indexOf(">",Y);if(Q===-1)return!1;let J=$.slice(Y,Q+1);return Zq.test(J)}function n7($){if(!$.includes(":if")&&!$.includes(":show")&&!$.includes("x-if")&&!$.includes("x-show")&&!$.includes("@if=")&&!$.includes("@show="))return $;let Z=[],Y=/<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi,X;while((X=Y.exec($))!==null)Z.push([X.index,X.index+X[0].length]);let Q=(z)=>Z.some(([B,_])=>z>=B&&z<_),J=/<([a-zA-Z][\w-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*?)\s+(:if|:show|x-if|x-show|@if|@show)\s*=\s*"([^"]*)"((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)(\/?)>/g,G=[],K;while((K=J.exec($))!==null){if(Q(K.index))continue;let[z,B,_,j,H,L,F]=K,O=eK(H);if(O===void 0)continue;let V=K.index,w=V+z.length,R=!!F||/\/\s*>$/.test(z)||c7.has(B.toLowerCase())?w:$q($,V,B,w);if(R===-1)continue;if((j===":if"||j==="x-if"||j==="@if")&&Yq($,R)){J.lastIndex=w;continue}if(O===!0){let M=`<${B}${_}${L}${F}>`;G.push({start:V,end:w,replacement:M});continue}G.push({start:V,end:R,replacement:""}),J.lastIndex=R}if(G.length===0)return $;G.sort((z,B)=>z.start-B.start);let q=[],W=-1;for(let z of G){if(z.start<W)continue;q.push(z),W=z.end}let U=$;for(let z=q.length-1;z>=0;z--){let{start:B,end:_,replacement:j}=q[z];U=U.substring(0,B)+j+U.substring(_)}return U}function o7($,Z){let Y=$,X=/@(for|foreach)\s*\(/g,Q,J=[];while((Q=X.exec(Y))!==null){let G=Q[1],K=Q.index,q=K+Q[0].length,W=1,U=q;while(U<Y.length&&W>0){if(Y[U]==="(")W++;else if(Y[U]===")")W--;U++}if(W!==0)continue;let z=Y.substring(q,U-1).trim(),B=U,_=JZ(z);if(_.iterable){let N=_.iterable.trim();if(N.startsWith("[")||N.startsWith("{")||N.startsWith("'")||N.startsWith('"')||N.startsWith("`")||/^-?\d/.test(N))continue;if(Z){let R=N.split(/[.[(]/)[0].trim();if(R&&R in Z)continue}}if(_.style==="as")z=_.indexVar?`(${_.itemVar}, ${_.indexVar}) in ${_.iterable}`:`${_.itemVar} in ${_.iterable}`;let j=G==="for"?"@endfor":"@endforeach",H=1,L=B,F=G==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${G}\\s*\\(|end${G})`,"g");F.lastIndex=B;let O;while((O=F.exec(Y))!==null)if(O[1].startsWith(G))H++;else if(H--,H===0){L=O.index+O[0].length;break}if(H!==0)continue;let V=Y.substring(B,L-j.length).trim(),w=V.match(YZ),A;if(w){let[,N,R,T]=w;A=`<${N}${R} @for="${z}">${T}</${N}>`}else A=`<template @for="${z}">${V}</template>`;J.push({start:K,end:L,replacement:A})}for(let G=J.length-1;G>=0;G--){let{start:K,end:q,replacement:W}=J[G];Y=Y.substring(0,K)+W+Y.substring(q)}return Y}function Xq($){let Z=new Set,Y=[],X=0,Q=0,J=$.length,G=(U)=>{let z=X+1;while(z<J){let B=$[z];if(B==="\\"){z+=2;continue}if(B===U)return z+1;z++}return J},K=()=>{let U=X+2;while(U<J&&$[U]!==`
|
|
8541
|
+
`)U++;return U},q=()=>{let U=X+2;while(U<J-1){if($[U]==="*"&&$[U+1]==="/")return U+2;U++}return J},W=(U)=>{let z=U,B=0;while(z<J){let _=$[z];if(_==="/"&&$[z+1]==="/"){let j=z+2;while(j<J&&$[j]!==`
|
|
8542
|
+
`)j++;z=j;continue}if(_==="/"&&$[z+1]==="*"){let j=z+2;while(j<J-1&&!($[j]==="*"&&$[j+1]==="/"))j++;z=j+2;continue}if(_==='"'||_==="'"||_==="`"){let j=z+1;while(j<J){if($[j]==="\\"){j+=2;continue}if($[j]===_){j++;break}j++}z=j;continue}if(_==="("||_==="["||_==="{"){B++,z++;continue}if(_===")"||_==="]"||_==="}"){B--,z++;continue}if(_===";"&&B===0)return z+1;z++}return J};while(X<J){let U=$[X];if(U==="/"&&$[X+1]==="/"){let z=K();Y.push($.slice(X,z)),X=z;continue}if(U==="/"&&$[X+1]==="*"){let z=q();Y.push($.slice(X,z)),X=z;continue}if(U==='"'||U==="'"||U==="`"){let z=G(U);Y.push($.slice(X,z)),X=z;continue}if(U==="{"){Q++,Y.push(U),X++;continue}if(U==="}"){Q--,Y.push(U),X++;continue}if(Q===0){let z=X>0?$[X-1]:"";if(z===""||/\s/.test(z)||z===";"||z==="}"||z==="{"){let _=$.slice(X).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(_){let j=_[2],H=W(X+_[0].length);if(Z.has(j)){Y.push(`/* stx: deduped const ${j} */`),X=H;continue}Z.add(j),Y.push($.slice(X,H)),X=H;continue}}}Y.push(U),X++}return Y.join("")}async function QZ($,Z,Y){let X=XZ($,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),Q=/\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*\(/,J=[];for(let L of X){let F=L.body;if(D1(L.attrs))F=E1(F);if(Q.test(F))J.push({fullMatch:L.fullMatch,attrs:L.attrs,content:F})}if(J.length===0)return{output:$,setupCode:null};let G=`__stx_setup_${Date.now()}_${oK++}`,{hasUserImports:K,bundleClientScript:q}=await Promise.resolve().then(() => (v5(),C5)),W=[];for(let L=0;L<J.length;L++){let F=J[L].content;if(F=t1(F).code,K(F))console.log("[stx:bundler] bundling signal script imports"),F=await q(F,Z||"",{projectRoot:process.cwd()});F=F.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(V,w)=>KZ(w));let O=n0(F);W.push(`// \u2500\u2500 merged signal script #${L+1} \u2500\u2500
|
|
8543
|
+
${O}`)}let U=W.join(`
|
|
8544
|
+
|
|
8545
|
+
`);U=Xq(U);let z=GZ(U),B=z.split(",").map((L)=>L.trim()).filter(Boolean),_=D$(U,Y),j=`
|
|
8543
8546
|
<script data-stx-scoped>
|
|
8544
8547
|
function ${G}() {
|
|
8545
|
-
${
|
|
8546
|
-
${_}${
|
|
8547
|
-
return { ${
|
|
8548
|
+
${Z5("const",B)}
|
|
8549
|
+
${_}${U}
|
|
8550
|
+
return { ${z} };
|
|
8548
8551
|
}
|
|
8549
8552
|
window.__stx_latestSetup=${G};
|
|
8550
8553
|
if(window.stx)window.stx._latestSetup=${G};
|
|
8551
|
-
</script>`,H=$;for(let L of J)H=H.split(L.fullMatch).join("");if(H.includes("<body"))H=H.replace(new RegExp(`<body(${
|
|
8552
|
-
`)return;J++}},W=()=>{if(!K)return!0;if(/[\w)\]]/.test(K))return!1;return!0},
|
|
8553
|
-
`)J++;return!0}if(Z[J]==="/"&&Z[J+1]==="*"){J+=2;while(J<G-1&&!(Z[J]==="*"&&Z[J+1]==="/"))J++;return J+=2,!0}return!1},_=()=>{if(Q!==0)return;let j=Z.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(j){let V=j[2];if(!X.has(V))Y.push(V),X.add(V);return}let H=Z.slice(J).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(H){H[1].split(",").forEach((V)=>{let
|
|
8554
|
-
${Q.slice(
|
|
8554
|
+
</script>`,H=$;for(let L of J)H=H.split(L.fullMatch).join("");if(H.includes("<body"))H=H.replace(new RegExp(`<body(${a8})>`),`<body$1 data-stx="${G}">`);else{let L=["script","style","html","head","meta","link","title","!doctype"],F=!1;H=H.replace(new RegExp(`<([a-zA-Z][a-zA-Z0-9-]*)\\b(${a8})>`,"gi"),(O,V,w)=>{if(F||L.includes(V.toLowerCase()))return O;return F=!0,`<${V}${w} data-stx="${G}">`})}return{output:H,setupCode:j}}function GZ($){let Z=$,Y=[],X=new Set,Q=0,J=0,G=Z.length,K="",q=()=>{J++;let j=!1;while(J<G){let H=Z[J];if(H==="\\"){J+=2;continue}if(H==="["&&!j){j=!0,J++;continue}if(H==="]"&&j){j=!1,J++;continue}if(H==="/"&&!j){J++;while(J<G&&/[gimsuyd]/.test(Z[J]))J++;return}if(H===`
|
|
8555
|
+
`)return;J++}},W=()=>{if(!K)return!0;if(/[\w)\]]/.test(K))return!1;return!0},U=(j)=>{J++;while(J<G){if(Z[J]==="\\"){J+=2;continue}if(Z[J]===j){J++;return}J++}},z=()=>{J++;while(J<G){if(Z[J]==="\\"){J+=2;continue}if(Z[J]==="`"){J++;return}if(Z[J]==="$"&&Z[J+1]==="{"){J+=2;let j=1;while(J<G&&j>0)if(Z[J]==="{")j++,J++;else if(Z[J]==="}")j--,J++;else if(Z[J]==="'"||Z[J]==='"')U(Z[J]);else if(Z[J]==="`")z();else J++;continue}J++}},B=()=>{if(Z[J]==="/"&&Z[J+1]==="/"){while(J<G&&Z[J]!==`
|
|
8556
|
+
`)J++;return!0}if(Z[J]==="/"&&Z[J+1]==="*"){J+=2;while(J<G-1&&!(Z[J]==="*"&&Z[J+1]==="/"))J++;return J+=2,!0}return!1},_=()=>{if(Q!==0)return;let j=Z.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(j){let V=j[2];if(!X.has(V))Y.push(V),X.add(V);return}let H=Z.slice(J).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(H){H[1].split(",").forEach((V)=>{let w=V.trim();if(!w)return;let A=w.indexOf(":"),R=(A>=0?w.slice(A+1).trim():w).split(/[\s=]/)[0];if(R&&!X.has(R))Y.push(R),X.add(R)});return}let L=Z.slice(J).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(L){L[1].split(",").forEach((V)=>{let w=V.trim().replace(/^\.\.\./,"");if(!w)return;let A=w.split(/[\s=]/)[0];if(A&&!X.has(A))Y.push(A),X.add(A)});return}let F=Z.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(F){let V=F[1];if(!X.has(V))Y.push(V),X.add(V);return}let O=Z.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let V=O[1];if(!X.has(V))Y.push(V),X.add(V)}};while(J<G){if(B())continue;if(Z[J]==="'"||Z[J]==='"'){U(Z[J]),K=Z[J-1];continue}if(Z[J]==="`"){z(),K="`";continue}if(Z[J]==="/"&&Z[J+1]!=="/"&&Z[J+1]!=="*"&&W()){q(),K="/";continue}if(Z[J]==="{"){Q++,K="{",J++;continue}if(Z[J]==="}"){Q--,K="}",J++;continue}if(Q===0&&/[a-z]/i.test(Z[J])&&(J===0||/\s|[;{}()]/.test(Z[J-1])))_();if(!/\s/.test(Z[J]))K=Z[J];J++}return Y.join(", ")}async function s7($,Z,Y,X){if(!e$($))return $;let Q=$;if(Z.skipSignalsRuntime)return Q;let{output:J,setupCode:G}=await QZ(Q,Y,X);if(Q=J,Q=await s8(Q,Z),Q=o8(Q),G){let U=t$(Q,/<\/head>/i),z=U===-1?t$(Q,/<body[^>]*>/i):-1;if(U!==-1)Q=`${Q.slice(0,U)}${G}
|
|
8557
|
+
${Q.slice(U)}`;else if(z!==-1){let B=/<body[^>]*>/i.exec(Q.slice(z))[0],_=z+B.length;Q=`${Q.slice(0,_)}
|
|
8555
8558
|
${G}${Q.slice(_)}`}else Q=`${Q}
|
|
8556
|
-
${G}`}let q=Q.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),W=q&&/data-stx/.test(q[1]);if(!G&&!W&&q&&!/data-stx-auto/.test(q[1])){let
|
|
8557
|
-
`)Q++;return!0}if($[Q]==="/"&&$[Q+1]==="*"){Q+=2;while(Q<J-1&&!($[Q]==="*"&&$[Q+1]==="/"))Q++;return Q+=2,!0}return!1},W=()=>{if(X!==0)return;let
|
|
8559
|
+
${G}`}let q=Q.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),W=q&&/data-stx/.test(q[1]);if(!G&&!W&&q&&!/data-stx-auto/.test(q[1])){let U=/<body[^>]*>/i,z=t$(Q,U);if(z!==-1){let B=Q.slice(0,z),_=Q.slice(z).replace(U,(j)=>j.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));Q=B+_}}return Q}function t$($,Z){let Y=/<(script|style)\b[\s\S]*?<\/\1>/gi,X=[],Q;while((Q=Y.exec($))!==null)X.push([Q.index,Q.index+Q[0].length]);let J=new RegExp(Z.source,Z.flags.replace(/[gy]/g,"")),G=0;while(G<$.length){let K=J.exec($.slice(G));if(!K)return-1;let q=G+K.index;if(!X.some(([U,z])=>q>=U&&q<z))return q;G=q+Math.max(K[0].length,1)}return-1}function KZ($){let Z=[];for(let Y of $.split(",")){let X=Y.trim();if(!X||X.startsWith("type "))continue;let Q=X.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(Q&&Q[1]!==Q[2])Z.push(`${Q[2]} = ${Q[1]}`)}if(Z.length===0)return ZZ;return`var ${Z.join(", ")}; ${ZZ}`}var oK=0,a8=`(?:"[^"]*"|'[^']*'|[^>"'])*`,YZ,e8,c7,Zq,ZZ="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var t5=k(()=>{h5();h$();p5();F0();k1();YZ=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;e8=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"]);c7=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);Zq=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import Jq from"fs";import g from"path";function Gq($){let Z=new WeakSet;try{let Y=(X)=>{if(X===void 0)return{__stxType:"undefined"};if(typeof X==="bigint")return{__stxType:"bigint",value:X.toString()};if(typeof X==="function"||typeof X==="symbol")throw TypeError("Non-serializable component input");if(X===null||typeof X!=="object")return X;if(Z.has(X))throw TypeError("Circular component input");if(Z.add(X),X instanceof Date)return{__stxType:"date",value:X.toISOString()};if(Array.isArray(X))return X.map(Y);let Q={};for(let J of Object.keys(X).sort())Q[J]=Y(X[J]);return Q};return JSON.stringify(Y($))}catch{return null}}function qZ($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function Kq($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function D1($){return!Kq($)}function E1($){try{let Z=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");Z=Z.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Y=[];Z=Z.replace(/\{!![\s\S]*?!!\}/g,(J)=>{let G=Y.length;return Y.push(J),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{\{[\s\S]*?\}\}\}/g,(J)=>{let G=Y.length;return Y.push(J),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{[\s\S]*?\}\}/g,(J)=>{let G=Y.length;return Y.push(J),`"__STX_EXPR_${G}__"`});let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:u0()}).transformSync(Z);for(let J=0;J<Y.length;J++)Q=Q.replace(`"__STX_EXPR_${J}__"`,Y[J]),Q=Q.replace(`'__STX_EXPR_${J}__'`,Y[J]);return Q}catch(Z){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",Z);return $}}function qq($){let Z=[],Y=new Set,X=0,Q=0,J=$.length,G=(U)=>{Q++;while(Q<J){if($[Q]==="\\"){Q+=2;continue}if($[Q]===U){Q++;return}Q++}},K=()=>{Q++;while(Q<J){if($[Q]==="\\"){Q+=2;continue}if($[Q]==="`"){Q++;return}if($[Q]==="$"&&$[Q+1]==="{"){Q+=2;let U=1;while(Q<J&&U>0)if($[Q]==="{")U++,Q++;else if($[Q]==="}")U--,Q++;else if($[Q]==="'"||$[Q]==='"')G($[Q]);else if($[Q]==="`")K();else Q++;continue}Q++}},q=()=>{if($[Q]==="/"&&$[Q+1]==="/"){while(Q<J&&$[Q]!==`
|
|
8560
|
+
`)Q++;return!0}if($[Q]==="/"&&$[Q+1]==="*"){Q+=2;while(Q<J-1&&!($[Q]==="*"&&$[Q+1]==="/"))Q++;return Q+=2,!0}return!1},W=()=>{if(X!==0)return;let U=$.slice(Q).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(U){let j=U[2].split(",").map((H)=>{let L=H.trim().split(":");return L[L.length-1].trim()});for(let H of j)if(H&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(H)&&!Y.has(H))Z.push(H),Y.add(H);return}let z=$.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let j=z[2];if(!Y.has(j))Z.push(j),Y.add(j);return}let B=$.slice(Q).match(/^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);return}let _=$.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let j=_[1];if(!Y.has(j))Z.push(j),Y.add(j)}};while(Q<J){if(q())continue;if($[Q]==="'"||$[Q]==='"'){G($[Q]);continue}if($[Q]==="`"){K();continue}if($[Q]==="{"){X++,Q++;continue}if($[Q]==="}"){X--,Q++;continue}if(X===0&&/[a-z]/i.test($[Q])&&(Q===0||/\s|[;{}()]/.test($[Q-1])))W();Q++}return Z}function Wq($){let Z=[],Y=0,X=0,Q=null;for(let J=0;J<$.length;J++){let G=$[J];if(Q){if(G==="\\"){J++;continue}if(G===Q)Q=null;continue}if(G==='"'||G==="'"||G==="`"){Q=G;continue}if(G==="("||G==="["||G==="{")Y++;else if(G===")"||G==="]"||G==="}")Y--;else if(G===","&&Y===0)Z.push($.slice(X,J)),X=J+1}if(X<$.length)Z.push($.slice(X));return Z}function Uq($){let Z=0,Y=null;for(let X=0;X<$.length;X++){let Q=$[X];if(Y){if(Q==="\\"){X++;continue}if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}if(Q==="("||Q==="["||Q==="{")Z++;else if(Q===")"||Q==="]"||Q==="}")Z--;else if(Q==="="&&Z===0){let J=$[X-1],G=$[X+1];if(J==="!"||J==="<"||J===">"||J==="=")continue;if(G==="="||G===">")continue;return X}}return-1}function zq($,Z){try{let Y=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec($);if(!Y)return;let X=Y.index-1;while(X>=0&&/\s/.test($[X]))X--;if($[X]!=="}")return;let Q=X,J=0,G=-1;for(;X>=0;X--){let q=$[X];if(q==="}")J++;else if(q==="{"){if(J--,J===0){G=X;break}}}if(G===-1)return;let K=$.slice(G+1,Q);for(let q of Wq(K)){let W=q.trim();if(!W||W.startsWith("..."))continue;let U=Uq(W);if(U===-1)continue;let z=W.slice(0,U).trim();if(!/^[A-Z_$][\w$]*$/i.test(z))continue;if(Z[z]!==void 0)continue;let B=W.slice(U+1).trim();if(!B)continue;try{let _=Object.keys(Z),j=Function(..._,`"use strict"; return (${B});`);Z[z]=j(..._.map((H)=>Z[H]))}catch{}}}catch{}}async function X4($,Z,Y,X,Q){let J=$.endsWith(".stx")?$.slice(0,-4):$,G=(L)=>L.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""),K=(L)=>L.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),q=Y.__importedComponents;if(q){for(let L of[J,J.toLowerCase(),G(J),K(J)])if(q.has(L))return!0}let W=[...new Set([`${J}.stx`,`${G(J)}.stx`,`${K(J)}.stx`])],U=typeof Q.root==="string"?g.resolve(Q.root):void 0,z=U??g.dirname(X),B=[],_=(L)=>{if(L&&!B.includes(L))B.push(L)},j=Y.__originalFilePath;if(j)_(g.join(g.dirname(j),"components"));_(Z),_(Q._rootComponentsDir),_(g.join(g.dirname(X),"components")),_(Q.componentsDir);let H=Q._pluginComponentDirs;if(Array.isArray(H))for(let L of H)_(typeof L==="string"?L:null);if(U)_(g.resolve(U,"resources/views/components")),_(g.resolve(U,"resources/components")),_(g.resolve(U,"src/components")),_(g.resolve(U,"components"));if(J.startsWith("./")||J.startsWith("../"))return c(g.resolve(g.dirname(X),`${J}.stx`));for(let L of B){let F=g.isAbsolute(L)?L:g.resolve(z,L);for(let O of W)if(await c(g.join(F,O)))return!0}return!1}function Bq($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}function jq($){if(!$)return!1;let Z=$.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"");return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(Z)}function _q($){let Z=new Set,Y=/\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 X of $){let Q;while((Q=Y.exec(X))!==null)Z.add(Q[1]);Y.lastIndex=0}return[...Z]}async function v1($,Z,Y,X,Q,J,G,K=new Set,q){let{extractVariables:W}=await Promise.resolve().then(() => (o5(),f$)),U=K??new Set;if(U.has($))return`[Circular component reference: ${$}]`;let z=new Set(U);z.add($);let B=typeof Z.client==="string"?Z.client.trim():"";if("client"in Z)delete Z.client;let _=B&&B!=="load"&&Bq(B)?B:"";try{let j=(P)=>P.split("-").map((x)=>x.charAt(0).toUpperCase()+x.slice(1)).join(""),H=(P)=>P.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),L=$.endsWith(".stx")?$.slice(0,-4):$,F=null,O=Q.__importedComponents;if(O){let P=[L,L.toLowerCase(),j(L),H(L)];for(let x of P)if(O.has(x)){F=O.get(x);break}}let V=[];if(!F){let P=[`${L}.stx`,`${j(L)}.stx`,`${H(L)}.stx`],x=[...new Set(P)],u=Q.__originalFilePath,d=[];if(u){let G0=g.join(g.dirname(u),"components");d.push(G0)}if(X)d.push(X);let W0=G._rootComponentsDir;if(typeof W0==="string"&&!d.includes(W0))d.push(W0);let O0=g.join(g.dirname(J),"components");if(!d.includes(O0))d.push(O0);if(G.componentsDir&&G.componentsDir!==X&&!d.includes(G.componentsDir))d.push(G.componentsDir);let Z1=G._pluginComponentDirs;if(Array.isArray(Z1)){for(let G0 of Z1)if(typeof G0==="string"&&!d.includes(G0))d.push(G0)}let m0=typeof G.root==="string"?g.resolve(G.root):void 0,S0=m0??g.dirname(J),i0=[];if(m0)i0.push(g.resolve(m0,"resources/views/components")),i0.push(g.resolve(m0,"resources/components")),i0.push(g.resolve(m0,"src/components")),i0.push(g.resolve(m0,"components"));i0.push(g.resolve(import.meta.dir,"components"));for(let G0 of i0)if(!d.includes(G0))d.push(G0);let R1=[...new Set(d.map((G0)=>{if(!G0)return G0;return g.isAbsolute(G0)?G0:g.resolve(S0,G0)}))];d.length=0,d.push(...R1);let q1=`${L}\x00${J}\x00${R1.join("\x00")}`,s1=Y4.get(q1);if(s1)if(await c(s1))F=s1;else Y4.delete(q1);if(!F&&(L.startsWith("./")||L.startsWith("../")))F=g.resolve(g.dirname(J),`${L}.stx`),V.push(F);else if(!F)for(let G0 of d){if(!G0)continue;for(let i of x){let x0=g.join(G0,i);if(V.push(x0),await c(x0)){F=x0;break}}if(F)break;if(!F)try{let i=await import("fs");if(!i.statSync(G0,{throwIfNoEntry:!1})?.isDirectory())continue;let N1=8,I5=[{path:G0,depth:0}];while(I5.length>0&&!F){let O$=I5.pop();if(O$.depth>=N1)continue;let $9;try{$9=i.readdirSync(O$.path,{withFileTypes:!0})}catch{continue}for(let L$ of $9){if(!L$.isDirectory())continue;if(L$.name==="node_modules"||L$.name.startsWith("."))continue;let Z9=g.join(O$.path,L$.name);for(let BQ of x){let z7=g.join(Z9,BQ);if(V.push(z7),await c(z7)){F=z7;break}}if(F)break;I5.push({path:Z9,depth:O$.depth+1})}}}catch{}if(F)break}if(F)Y4.set(q1,F)}if(!F||!await c(F)){let P=V.length>0?`
|
|
8558
8561
|
Searched paths:
|
|
8559
|
-
${V.map((
|
|
8560
|
-
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${
|
|
8561
|
-
`)}`}if(Y&&
|
|
8562
|
+
${V.map((x)=>` - ${x}`).join(`
|
|
8563
|
+
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${P}`}q.add(F);let w;if(Z4.has(F))w=Z4.get(F);else try{w=await Bun.file(F).text(),Z4.set(F,w)}catch(P){return`[Error loading component: ${P instanceof Error?P.message:String(P)}]`}let A=new Set(["__originalFilePath","__importedComponents"]),N={};for(let[P,x]of Object.entries(Q))if(!P.startsWith("__")||A.has(P))N[P]=x;let{extractSlotContent:R}=await Promise.resolve().then(() => (x7(),v7)),T=R(Y),M={};if(T.defaultSlot?.trim())M.default=T.defaultSlot;for(let[P,x]of T.namedSlots)M[P]=x.content;let I={...N,...Z,props:Z,slot:Y,$slots:M,__processedComponents:z,__sections:{},...jq(Y)&&{__stx_force_signals:!0}};zq(w,I);let E=w,D=C$(E);if(D)E=D.content.trim();let y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...w.matchAll(y)],b=[],v=S.some((P)=>/\bserver\b/.test(P[1]||"")&&/\bcache\b/.test(P[1]||""))&&S.every((P)=>/\bserver\b/.test(P[1]||"")),h=null,f=null;if(v){let P=Gq({props:Z,slot:Y,buildMode:G.buildMode??"",skipEventDirectives:G.skipEventDirectives===!0});if(P!==null){h=`${F}\x00${P}`;let x=r7.get(h);if(x){for(let u of x.dependencies)q.add(u);return x.output}f=new Set(q)}}for(let P of S){let x=P[1]||"",u=P[2]||"",d=x.includes("server");if(D1(x)&&u.trim())u=E1(u);if(d&&u)try{await W(u,I,F)}catch(O0){}if(!d){let O0=u.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),Z1=O0.includes("{{")&&O0.includes("}}"),m0=O0.includes("{!!")&&O0.includes("!!}");if(Z1||m0)O0=S$(O0,I);let S0=x.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");b.push(`<script${S0}>${O0}</script>`)}}let m=w.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),r=m?m[1]:"",T0=m?m[2]:"",M0="",d0=r&&/\bscoped\b/i.test(r);if(m)M0=`<style${r}>${T0}</style>`;let Z0=E;if(Z0=Z0.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),m)Z0=Z0.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let P=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,x=[];if(Z0=Z0.replace(P,(u,d)=>{let W0=d.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(W0)x.push(`<style${W0[1]}>${W0[2]}</style>`);return""}),Z0=Z0.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),x.length>0)M0=`${M0}${x.join(`
|
|
8564
|
+
`)}`}if(Y&&Z0.includes("{{ text || slot }}"))Z0=Z0.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Y);let{applySlots:Y0}=await Promise.resolve().then(() => (x7(),v7)),{defaultSlot:I0,namedSlots:c0}=T;Z0=await Y0(Z0,I0,c0,I);for(let[P,x]of Object.entries(I))if(typeof x==="string"){if(x.includes("<")&&x.includes(">")||x.includes("<")||x.includes(""")){let u=T7(x);I[P]=u}}let K1=b.some((P)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(P)),o1=_q(b);if(o1.length>0)I.__stx_client_signal_names=o1;let n={...G,_rootComponentsDir:G._rootComponentsDir||G.componentsDir,componentsDir:g.dirname(F),skipSignalsRuntime:!0,skipEventDirectives:K1||b.length===0,defaultLayout:void 0};I.__stxProcessingDepth=(Q.__stxProcessingDepth||0)+1;let $0=await w0(Z0,I,F,n,q),z0=new Set(Array.isArray(Q.__stx_preserved_client_expressions)?Q.__stx_preserved_client_expressions:[]);for(let P of $0.matchAll(/\{\{([\s\S]*?)\}\}/g))z0.add(P[1].trim());if(z0.size>0)Q.__stx_preserved_client_expressions=[...z0];let H0=`stx_${L.replace(/[^a-zA-Z0-9]/g,"_")}_${++Qq}_${Math.random().toString(36).slice(2,8)}`,C=$0;if(K1){let P="";if(Object.keys(Z).length>0)try{P=` data-stx-props="${qZ(JSON.stringify(Z))}"`}catch{}let x=_?` stx-hydrate="${qZ(_)}"`:"";C=`<div data-stx-scope="${H0}"${P}${x}>${$0}</div>`;let u=await Promise.all(b.map(async(d)=>{let W0=d.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!W0)return d;let[,O0,Z1]=W0,m0=M$(Z1,{filePath:F,projectRoot:process.cwd()}),S0=m0.code,i0=I$(m0.styles);S0=t1(S0).code;let{hasUserImports:R1,bundleClientScript:q1}=await Promise.resolve().then(() => (v5(),C5));if(R1(S0))S0=await q1(S0,F,{projectRoot:process.cwd(),minify:G.buildMode==="compile"});let{rewriteStxImportSpecifiers:s1}=await Promise.resolve().then(() => (t5(),$4));S0=S0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(N1,I5)=>s1(I5));let G0=n0(S0),i=qq(G0),x0=`
|
|
8562
8565
|
(function() {
|
|
8563
|
-
${
|
|
8566
|
+
${Z5("const",[...B8,...i],G0)}
|
|
8564
8567
|
const __scope = window.stx._scopes = window.stx._scopes || {};
|
|
8565
|
-
const __scopeVars = __scope['${
|
|
8568
|
+
const __scopeVars = __scope['${H0}'] = __scope['${H0}'] || {};
|
|
8566
8569
|
const __previousCurrentElement = window.__STX_CURRENT_ELEMENT__;
|
|
8567
|
-
window.__STX_CURRENT_ELEMENT__ = document.querySelector('[data-stx-scope="${
|
|
8570
|
+
window.__STX_CURRENT_ELEMENT__ = document.querySelector('[data-stx-scope="${H0}"]');
|
|
8568
8571
|
|
|
8569
8572
|
// Scope-specific lifecycle callbacks
|
|
8570
8573
|
__scopeVars.__mountCallbacks = __scopeVars.__mountCallbacks || [];
|
|
@@ -8573,12 +8576,12 @@ ${V.map((d)=>` - ${d}`).join(`
|
|
|
8573
8576
|
const onDestroy = (fn) => __scopeVars.__destroyCallbacks.push(fn);
|
|
8574
8577
|
|
|
8575
8578
|
try {
|
|
8576
|
-
${
|
|
8579
|
+
${G0}
|
|
8577
8580
|
|
|
8578
8581
|
// Register all defined signals and functions in this scope
|
|
8579
8582
|
const __localVars = {};
|
|
8580
8583
|
try {
|
|
8581
|
-
${
|
|
8584
|
+
${i.map((N1)=>`if (typeof ${N1} !== 'undefined') __localVars['${N1}'] = ${N1};`).join(`
|
|
8582
8585
|
`)}
|
|
8583
8586
|
}
|
|
8584
8587
|
catch (e) {}
|
|
@@ -8587,29 +8590,29 @@ catch (e) {}
|
|
|
8587
8590
|
finally {
|
|
8588
8591
|
window.__STX_CURRENT_ELEMENT__ = __previousCurrentElement;
|
|
8589
8592
|
}
|
|
8590
|
-
})();`;if(_)return`${
|
|
8591
|
-
`+
|
|
8592
|
-
`),
|
|
8593
|
-
`+
|
|
8594
|
-
`+
|
|
8595
|
-
`+
|
|
8596
|
-
`),I.__stx_event_bindings=[]}}if(
|
|
8597
|
-
`),K=0;for(let q=0;q<G.length;q++)if(K+=G[q].length+1,K>=Z){X=q+1,Q=G[q].trim();let W=Math.max(0,q-2),
|
|
8598
|
-
`);break}}else if(Y){let G=$.indexOf(Y);if(G>=0)return
|
|
8599
|
-
`,Math.max(0,Q-1));W=Q-(
|
|
8593
|
+
})();`;if(_)return`${i0}<script type="stx/island" data-stx-island="${H0}" data-stx-scoped${O0}>${x0}</script>`;return`${i0}<script data-stx-scoped${O0}>${x0}</script>`}));if(C=C+`
|
|
8594
|
+
`+u.join(`
|
|
8595
|
+
`),M0)C+=`
|
|
8596
|
+
`+M0}else{if(M0)C+=`
|
|
8597
|
+
`+M0;if(b.length>0){let P=I.__stx_event_bindings||[],x=f5(I),u=await Promise.all(b.map(async(d)=>{let W0=d.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!W0)return d;return await g5(W0[1],{eventBindings:P,templateContent:C,filePath:F,projectRoot:process.cwd(),serverData:x})}));C+=`
|
|
8598
|
+
`+u.join(`
|
|
8599
|
+
`),I.__stx_event_bindings=[]}}if(d0){let P=P$(C,F);if(P.hasScoped)C=P.html}if(h&&f)r7.set(h,{output:C,dependencies:[...q].filter((P)=>!f.has(P))});return C}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{U.delete($)}}async function c($){return Bun.file($).exists()}function a7($,Z){let Y=g.resolve(Z),X=g.resolve($),Q=Y.endsWith(g.sep)?Y:Y+g.sep;if(X===Y||X.startsWith(Q))return X;return null}async function t7($,Z,Y,X){let Q=await Hq($,Z,Y,X);if(Q===null)return null;let J=a7(Q,process.cwd());if(J)return J;let G=[Y.root,Y.layoutsDir,Y.componentsDir,Y.partialsDir,Y.pagesDir].filter((K)=>typeof K==="string"&&K.length>0);for(let K of G){let q=g.isAbsolute(K)?K:g.resolve(process.cwd(),K);if(a7(Q,q))return g.resolve(Q)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${Q} (template: ${$}, from: ${Z})`),null}async function Hq($,Z,Y,X){if(Y.debug)console.log(`Resolving template path: ${$} from ${Z}`);let Q=g.dirname(Z),J=process.cwd();if($.startsWith("/")){let B=g.join(J,$),_=a7(B,J);if(!_)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${Z})`),null;if(Y.debug)console.log(`Checking absolute path: ${_}`);if(await c(_)&&X)X.add(_);return _}let G=g.join(Q,$);if(await c(G)){if(Y.debug)console.log(`Found direct path: ${G}`);if(X)X.add(G);return G}if(!$.endsWith(".stx")&&!$.endsWith(".jsx")&&!$.endsWith(".tsx"))for(let B of[".stx",".tsx",".jsx"]){let _=`${G}${B}`;if(await c(_)){if(Y.debug)console.log(`Found direct path with extension: ${_}`);if(X)X.add(_);return _}}let K="",q=g.resolve(Q),W=process.cwd();for(let B=0;B<10;B++){let _=g.join(q,"layouts"),j=!1;try{j=Jq.statSync(_,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){K=_;break}let H=g.dirname(q);if(H===q||H.length<W.length)break;q=H}if(K){let B=$.startsWith("layouts/")?$.slice(8):$,_=g.join(K,B);if(await c(_)){if(Y.debug)console.log(`Found in current layouts dir: ${_}`);if(X)X.add(_);return _}if(!B.endsWith(".stx")){let j=`${_}.stx`;if(await c(j)){if(Y.debug)console.log(`Found in current layouts dir with extension: ${j}`);if(X)X.add(j);return j}}}if(Y.layoutsDir){let B=g.isAbsolute(Y.layoutsDir)?Y.layoutsDir:g.resolve(process.cwd(),Y.layoutsDir),_=$.startsWith("layouts/")?$.slice(8):$,j=g.join(B,_);if(await c(j)){if(Y.debug)console.log(`Found in options.layoutsDir: ${j}`);if(X)X.add(j);return j}if(!$.endsWith(".stx")){let H=`${j}.stx`;if(await c(H)){if(Y.debug)console.log(`Found in options.layoutsDir with extension: ${H}`);if(X)X.add(H);return H}}}if($.startsWith("layouts/")||$.includes("/layouts/")){let B=$.split("layouts/"),_=g.join(Y.partialsDir||Q,"layouts",B[1]);if(await c(_)){if(Y.debug)console.log(`Found in layouts path: ${_}`);if(X)X.add(_);return _}if(!_.endsWith(".stx")){let j=`${_}.stx`;if(await c(j)){if(Y.debug)console.log(`Found in layouts path with extension: ${j}`);if(X)X.add(j);return j}}}if(Y.partialsDir){if(K=g.join(Y.partialsDir,"layouts"),await c(K)){let B=g.join(K,$);if(await c(B)){if(Y.debug)console.log(`Found in partials layouts dir: ${B}`);if(X)X.add(B);return B}if(!$.endsWith(".stx")){let _=`${B}.stx`;if(await c(_)){if(Y.debug)console.log(`Found in partials layouts dir with extension: ${_}`);if(X)X.add(_);return _}}}}let U=Y.partialsDir||g.join(process.cwd(),"views"),z=g.join(U,$);if(await c(z)){if(Y.debug)console.log(`Found in views path: ${z}`);if(X)X.add(z);return z}if(!$.endsWith(".stx")){let B=`${z}.stx`;if(await c(B)){if(Y.debug)console.log(`Found in views path with extension: ${B}`);if(X)X.add(B);return B}}if(Q.includes("temp")){let B=g.join(g.dirname(Q),"layouts",$);if(await c(B)){if(Y.debug)console.log(`Found in temp layouts dir: ${B}`);if(X)X.add(B);return B}if(!$.endsWith(".stx")){let _=`${B}.stx`;if(await c(_)){if(Y.debug)console.log(`Found in temp layouts dir with extension: ${_}`);if(X)X.add(_);return _}}}if(Y.debug)console.warn(`Template not found after trying all paths: ${$} (referenced from ${Z})`);else console.warn(`Template not found: ${$} (referenced from ${Z})`);return null}function WZ($,Z,Y){let X=0,Q="",J="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
|
|
8600
|
+
`),K=0;for(let q=0;q<G.length;q++)if(K+=G[q].length+1,K>=Z){X=q+1,Q=G[q].trim();let W=Math.max(0,q-2),U=Math.min(G.length,q+3);J=G.slice(W,U).map((z,B)=>{let _=W+B+1;return`${_===X?"> ":" "}${_}: ${z}`}).join(`
|
|
8601
|
+
`);break}}else if(Y){let G=$.indexOf(Y);if(G>=0)return WZ($,G)}}catch{}return{lineNumber:X,lineContent:Q,context:J}}function q0($,Z,Y,X,Q,J){let{lineNumber:G,context:K}=WZ(X,Q,J),q=Y.split("/").pop(),W=0;if(typeof Q==="number"&&Q>=0&&X){let z=X.lastIndexOf(`
|
|
8602
|
+
`,Math.max(0,Q-1));W=Q-(z+1)+1}let U="";if(G>0)U+=`
|
|
8600
8603
|
${Y}:${G}${W>0?`:${W}`:""}: ${$.toLowerCase()} error: ${Z}
|
|
8601
|
-
`;if(
|
|
8602
|
-
${
|
|
8603
|
-
`,
|
|
8604
|
-
`,
|
|
8605
|
-
`,
|
|
8606
|
-
${
|
|
8607
|
-
${
|
|
8608
|
-
`,K)
|
|
8609
|
-
${
|
|
8610
|
-
${
|
|
8611
|
-
`;return
|
|
8612
|
-
`||O==="\r"||O===" "||O===void 0)
|
|
8604
|
+
`;if(U+=`
|
|
8605
|
+
${a.bold}${a.red}\u256D\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256E${a.reset}
|
|
8606
|
+
`,U+=`${a.bold}${a.red}\u2502${a.reset} ${a.bold}${a.bgRed} ERROR ${a.reset} ${a.red}${$} Error${a.reset}${" ".repeat(Math.max(0,43-$.length))}${a.bold}${a.red}\u2502${a.reset}
|
|
8607
|
+
`,U+=`${a.bold}${a.red}\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F${a.reset}
|
|
8608
|
+
`,U+=`
|
|
8609
|
+
${a.cyan}${a.bold}File:${a.reset} ${a.dim}${q}${a.reset}`,G>0)U+=` ${a.gray}(line ${G}${W>0?`, col ${W}`:""})${a.reset}`;if(U+=`
|
|
8610
|
+
${a.yellow}${a.bold}Message:${a.reset} ${Z}
|
|
8611
|
+
`,K)U+=`
|
|
8612
|
+
${a.blue}${a.bold}Context:${a.reset}
|
|
8613
|
+
${a.dim}${K}${a.reset}
|
|
8614
|
+
`;return U}function n8(){Z4.clear(),Y4.clear(),r7.clear()}var Z4,Y4,r7,Qq=0,a;var F0=k(()=>{h5();t0();p5();J5();J4();M1();E7();k7();w8();o5();Z4=new b1(500),Y4=new b1(1000),r7=new b1(2000);a={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 UZ($,Z,Y=""){let X=$,Q=[],J=/@markdown(?:\([^)]*\))?/g,G;while((G=J.exec($))!==null){let K=G.index,q=G[0].match(/@markdown\(([^)]*)\)/),W=q?q[1]:"",U=K+G[0].length,z=1,B=U,_=-1;while(z>0&&B<$.length){let L=$.indexOf("@markdown",B),F=$.indexOf("@endmarkdown",B);if(F===-1)break;if(L!==-1&&L<F&&L!==K){let O=$[L+9];if(O==="("||O===`
|
|
8615
|
+
`||O==="\r"||O===" "||O===void 0)z++;B=L+9}else{if(z--,z===0){_=F;break}B=F+12}}if(_===-1)continue;let j=$.slice(U,_),H=$.slice(K,_+12);Q.push({fullMatch:H,options:W,content:j,index:K}),J.lastIndex=_+12}for(let{fullMatch:K,options:q,content:W,index:U}of Q)try{let z={};if(q)q.split(",").forEach((j)=>{let H=j.trim();if(H)z[H]=!0});let B={gfm:z.gfm??!0,breaks:z.breaks??!1},_=P5(W.trim(),B);X=X.split(K).join(_)}catch(z){let B=z instanceof Error?z.message:String(z),_=q0("Markdown Directive",`Error processing markdown: ${B}`,Y,$,U,K);X=X.split(K).join(_)}return X}async function zZ($,Z,Y,X){let Q={gfm:!0,breaks:!1};return Z.forEach((J)=>{let G=J.trim().replace(/['"]/g,"");if(G==="breaks")Q.breaks=!0;if(G==="no-gfm")Q.gfm=!1}),P5($.trim(),Q)}var e7=k(()=>{F0()});function Fq($){if(Oq.set($.name,$),$.client)Lq.set($.name,$.client)}function Q4($){return Fq($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(Y,X,Q,J)=>{let G=Vq(X,$.defaults);if($.validate){let q=$.validate(G);if(q!==!0){let W=typeof q==="string"?q:`Invalid parameters for @${$.name}`;throw Error(W)}}let K=Y;if($.transform)K=await $.transform(Y,G,Q,J);if($.clientScript){let q=$.clientScript(G);K+=`<script>${q}</script>`}if($.css){let q=$.css(G);K+=`<style>${q}</style>`}return K}}}function Vq($,Z){let Y={...Z};for(let X of $){let Q=X.indexOf(":"),J=X.indexOf("="),G=Q>=0&&(J<0||Q<J)?Q:J;if(G>=0){let K=X.slice(0,G).trim(),q=X.slice(G+1).trim();if(q==="true")q=!0;else if(q==="false")q=!1;else if(q==="null")q=null;else if(!Number.isNaN(Number(q)))q=Number(q);else if(typeof q==="string"&&q.startsWith("{"))try{q=JSON.parse(q)}catch{}Y[K]=q}else{let K=Object.keys(Y).filter((q)=>!Z||!(q in Z)).length;Y[K===0?"value":`arg${K}`]=X}}return Y}var Oq,Lq;var $3=k(()=>{Oq=new Map,Lq=new Map});function Z3($,Z=q5,Y={},X){return Z.sort((Q,J)=>Q-J).map((Q)=>{return`${$$($,{...Y,w:Q,fm:X})} ${Q}w`}).join(", ")}function BZ($,Z,Y=wq,X={},Q){return Y.sort((J,G)=>J-G).map((J)=>{let G=Math.round(Z*J);return`${$$($,{...X,w:G,dpr:J,fm:Q})} ${J}x`}).join(", ")}function Y3($,Z="100vw"){if(!$||Object.keys($).length===0)return Z;let X=Object.entries($).map(([Q,J])=>{let G=/^\d+$/.test(Q)?`${Q}px`:Q;return{bp:G,size:J,numericBp:Number.parseInt(G)||0}}).sort((Q,J)=>Q.numericBp-J.numericBp).map(({bp:Q,size:J})=>`(max-width: ${Q}) ${J}`);return X.push(Z),X.join(", ")}function $$($,Z={}){let Y=Object.entries(Z).filter(([,J])=>J!==void 0&&J!==null).map(([J,G])=>{if(Array.isArray(G))return[J,G.join(",")];return[J,String(G)]});if(Y.length===0)return $;let X=Y.map(([J,G])=>`${J}=${encodeURIComponent(G)}`).join("&"),Q=$.includes("?")?"&":"?";return`${$}${Q}${X}`}function X3($){return Aq[$]||"application/octet-stream"}var q5,wq,e5,Aq;var J3=k(()=>{q5=[320,480,640,768,1024,1280,1536,1920,2560],wq=[1,1.5,2,3],e5=["avif","webp","jpeg"],Aq={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function Nq(){try{return await import("ts-images")}catch{return null}}async function Tq($,Z={}){let Y={...Rq,...Z},X=await Nq();if(X)try{return await Mq($,Y,X)}catch(Q){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${Q}`)}return Iq($,Y)}async function Mq($,Z,Y){let{generatePlaceholder:X,generateThumbHash:Q}=Y,G={blur:"blur",thumbhash:"thumbhash",blurhash:"thumbhash",pixelate:"pixelate","dominant-color":"dominant-color",none:"blur"}[Z.strategy]||"blur";if(Z.strategy==="thumbhash")return{dataURL:(await Q($)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let K=await X($,{width:Z.width,height:Z.height,quality:Z.quality,blurLevel:Z.blurLevel,strategy:G,base64Encode:!0});return{dataURL:K.dataURL,width:K.width,height:K.height,aspectRatio:K.aspectRatio,originalWidth:K.originalWidth,originalHeight:K.originalHeight,strategy:Z.strategy,dominantColor:K.dominantColor,css:K.css}}function Iq($,Z){let Y=Z.width||20,X=Z.height||Y,Q="#e5e7eb",J=`<svg xmlns="http://www.w3.org/2000/svg" width="${Y}" height="${X}" viewBox="0 0 ${Y} ${X}"><rect fill="#e5e7eb" width="${Y}" height="${X}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(J)}`,width:Y,height:X,aspectRatio:Y/X,originalWidth:0,originalHeight:0,strategy:Z.strategy,dominantColor:"#e5e7eb"}}function jZ($,Z,Y={}){let X=Y.transitionDuration||300,Q=Y.easing||"ease-out";return`
|
|
8613
8616
|
#${$} {
|
|
8614
8617
|
--stx-img-transition-duration: ${X}ms;
|
|
8615
8618
|
--stx-img-transition-easing: ${Q};
|
|
@@ -8626,7 +8629,7 @@ ${e.dim}${K}${e.reset}
|
|
|
8626
8629
|
#${$}.stx-img-loaded img {
|
|
8627
8630
|
opacity: 1;
|
|
8628
8631
|
}
|
|
8629
|
-
`.trim()}async function
|
|
8632
|
+
`.trim()}async function _Z($,Z={}){let Y=`${$}:${JSON.stringify(Z)}`;if(Q3.has(Y))return Q3.get(Y);let X=await Tq($,Z);return Q3.set(Y,X),X}var Rq,G3,Q3;var HZ=k(()=>{Rq={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},G3=`
|
|
8630
8633
|
.stx-img-placeholder {
|
|
8631
8634
|
position: relative;
|
|
8632
8635
|
overflow: hidden;
|
|
@@ -8655,8 +8658,8 @@ ${e.dim}${K}${e.reset}
|
|
|
8655
8658
|
filter: blur(0);
|
|
8656
8659
|
transform: scale(1);
|
|
8657
8660
|
}
|
|
8658
|
-
`.trim();$3=new Map});import{createHash as zZ}from"crypto";import{readFile as Vq,stat as UZ}from"fs/promises";async function I0($){try{let Z=await Vq($);return zZ("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function WZ($){return zZ("sha256").update($).digest("hex").slice(0,16)}function Z4($,Z){let Y=JSON.stringify(Z,Object.keys(Z).sort());return`${WZ($)}-${WZ(Y)}`}async function Y3($){try{return(await UZ($)).mtimeMs}catch{return 0}}async function A0($){try{return await UZ($),!0}catch{return!1}}var v1=()=>{};import{mkdir as Rq,readFile as wq,writeFile as Aq,readdir as xO,rm as Nq,stat as fO}from"fs/promises";import{join as jZ,dirname as Tq}from"path";async function Mq($){try{await Rq($,{recursive:!0})}catch{}}function _Z($,Z,Y){return jZ($,Y,`${Z}.json`)}async function BZ($,Z,Y){if((Date.now()-$.createdAt)/86400000>Y)return!1;if(await Y3(Z)!==$.srcMtime)return!1;return!0}async function Y4($,Z,Y,X=X3){if(!X.enabled)return null;let Q=Z4($,Z),J=G5.get(Q);if(J){if(await BZ(J,$,X.maxAge))return J.lastAccessedAt=Date.now(),J.data;G5.delete(Q)}let G=_Z(X.directory,Q,Y);if(await A0(G))try{let K=await wq(G,"utf-8"),q=JSON.parse(K);if(await BZ(q,$,X.maxAge))return q.lastAccessedAt=Date.now(),G5.set(Q,q),q.data}catch{}return null}async function X4($,Z,Y,X,Q=X3){if(!Q.enabled)return;let J=Z4($,Z),G=await I0($),K=await Y3($),q={key:J,src:$,srcHash:G,srcMtime:K,optionsHash:Z4("",Z),data:Y,createdAt:Date.now(),lastAccessedAt:Date.now()};G5.set(J,q);let W=_Z(Q.directory,J,X);try{await Mq(Tq(W)),await Aq(W,JSON.stringify(q,null,2))}catch(z){console.warn(`[stx-media] Failed to write cache: ${z}`)}}async function J4($,Z=X3){if($==="all")G5.clear();else G5.clear();let Y=$==="all"?["image","video"]:[$];for(let X of Y){let Q=jZ(Z.directory,X);try{await Nq(Q,{recursive:!0,force:!0})}catch{}}}var G5,X3;var J3=k(()=>{v1();G5=new Map,X3={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class G4{config;constructor($={}){this.config={...Iq,...$}}async get($,Z){return Y4($,Z,"image",this.config)}async set($,Z,Y){return X4($,Z,Y,"image",this.config)}async clear(){return J4("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function Q3($){if(!Q4)Q4=new G4($);else if($)Q4.updateConfig($);return Q4}async function K4($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return Q3(X).get($,Z)}async function q4($,Z,Y,X){let Q=X?{directory:`${X.outputDir}/../.cache`}:{};return Q3(Q).set($,Z,Y)}async function HZ(){return Q3().clear()}var Iq,Q4=null;var G3=k(()=>{J3();Iq={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as Dq,basename as Eq,extname as kq,join as bq}from"path";import{mkdir as Sq}from"fs/promises";async function K3(){try{return await import("ts-images")}catch{return null}}function OZ($){switch($){case"quality":return{jpeg:{quality:90,mozjpeg:!0,progressive:!0},png:{compressionLevel:6,palette:!1},webp:{quality:90,effort:6,smartSubsample:!0},avif:{quality:85,effort:6}};case"performance":return{jpeg:{quality:70,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!0},webp:{quality:70,effort:4,smartSubsample:!0},avif:{quality:60,effort:2}};case"web":default:return{jpeg:{quality:82,mozjpeg:!0,progressive:!0},png:{compressionLevel:8,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4}}}}function yq($,Z){let Y=Z?OZ(Z):OZ("web"),X=$.formatQuality||{};return{jpeg:{...Y.jpeg,...X.jpeg},png:{...Y.png,...X.png},webp:{...Y.webp,...X.webp},avif:{...Y.avif,...X.avif}}}async function LZ($,Z,Y){let X=await K3();if(!X)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Q=await K4($,Z,Y);if(Q)return Q;try{let J=Dq($);if(!await A0(J))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=yq(Y,Z.preset),K=Y.outputDir||"dist/images",q=Y.baseUrl||"/images";await Sq(K,{recursive:!0});let W=await I0(J),z=Eq($,kq($)),U=Z.outputFormat?[Z.outputFormat]:Y.defaultFormats||["avif","webp","jpeg"],B={src:$,processed:!0,variants:[],hash:W},_=null;if(Z.transformations&&Z.transformations.length>0)_=await q3(J,Z.transformations,X);for(let j of U){let H=G[j]||{},L=`${z}-${W}.${j}`,F=bq(K,L);try{let O=await X.optimizeImage({input:_||J,output:F,format:j,quality:H.quality,progressive:H.progressive});if(O){if(B.variants.push({path:F,url:`${q}/${L}`,width:O.width||0,height:O.height||0,format:j,size:O.outputSize||0}),!B.originalWidth&&O.width)B.originalWidth=O.width,B.originalHeight=O.height}}catch(O){B.errors=B.errors||[],B.errors.push(`Failed to optimize ${j}: ${O}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let j=await X.generateThumbHash(J);B.placeholder=j.dataUrl}catch(j){B.errors=B.errors||[],B.errors.push(`Failed to generate thumbhash: ${j}`)}if(Z.useDominantColor)try{let j=await X.generatePlaceholder(J,{strategy:"dominant-color"});B.dominantColor=j.dominantColor}catch(j){B.errors=B.errors||[],B.errors.push(`Failed to extract dominant color: ${j}`)}return await q4($,Z,B,Y),B}catch(J){return{src:$,processed:!1,errors:[`Processing failed: ${J}`]}}}async function FZ($,Z,Y,X){let Q=await K3();if(!Q)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await Q.optimizeImage({input:$,output:X,format:Z,quality:Y}))?.outputSize}}catch(J){return{success:!1,error:String(J)}}}async function q3($,Z,Y){let X=Y||await K3();if(!X)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let Q=await X.decode($);for(let J of Z){let G=J.options||{};switch(J.type){case"resize":if(G.width||G.height)Q=await X.resize(Q,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)Q=await X.blur(Q,G.sigma);break;case"sharpen":if(G.amount!==void 0)Q=await X.sharpen(Q,G.amount);break;case"grayscale":Q=await X.grayscale(Q);break;case"rotate":if(G.angle!==void 0)Q=await X.rotate(Q,G.angle);break;case"flip":Q=await X.flip(Q);break;case"flop":Q=await X.flop(Q);break;case"brightness":if(G.value!==void 0)Q=await X.brightness(Q,G.value);break;case"contrast":if(G.value!==void 0)Q=await X.contrast(Q,G.value);break;case"saturation":if(G.value!==void 0)Q=await X.saturation(Q,G.value);break}}return await X.encode(Q,"png")}catch(Q){return console.error(`[stx-media] Transformation failed: ${Q}`),null}}var VZ=k(()=>{v1();G3()});import{resolve as Pq,basename as Cq,extname as vq,join as xq}from"path";import{mkdir as fq}from"fs/promises";async function gq(){try{return await import("ts-images")}catch{return null}}async function RZ($,Z,Y){let X=await gq();if(!X)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Q=Pq($);if(!await A0(Q))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let J=Z.responsiveWidths||Y.breakpoints||hq,G=Z.formats||Y.defaultFormats||["avif","webp","jpeg"],K=Y.outputDir||"dist/images",q=Y.baseUrl||"/images";await fq(K,{recursive:!0});let W=await I0(Q),z=Cq($,vq($)),U=Y.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},B={src:$,byFormat:{},srcsets:{}};for(let j of G){B.byFormat[j]=[];let H=[];for(let L of J){let F=`${z}-${L}w-${W}.${j}`,O=xq(K,F),V=`${q}/${F}`;try{let R=U[j]?.quality||80;if(await A0(O)){B.byFormat[j].push({path:O,url:V,width:L,height:0,format:j,size:0}),H.push(`${V} ${L}w`);continue}let w=await X.processImage({input:Q,output:O,format:j,quality:R,resize:{width:L}});if(w)B.byFormat[j].push({path:O,url:V,width:L,height:w.height||Math.round(L*(w.height||1)/(w.width||1)),format:j,size:w.outputSize||0}),H.push(`${V} ${L}w`)}catch(R){console.warn(`[stx-media] Failed to generate ${j} at ${L}w: ${R}`)}}B.srcsets[j]=H.join(", ")}let _=Z.placeholder||Y.placeholderStrategy||"thumbhash";if(_!=="none")try{if(_==="thumbhash"){let j=await X.generateThumbHash(Q);B.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await X.generatePlaceholder(Q,{strategy:_,width:20});B.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:_}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return B.sizes=Z.sizes||dq(J),B}catch(J){return console.error(`[stx-media] Responsive generation failed: ${J}`),null}}function dq($){let Z=[...$].sort((X,Q)=>X-Q),Y=[];for(let X=0;X<Z.length-1;X++){let Q=Z[X];Y.push(`(max-width: ${Q}px) ${Q}px`)}return Y.push(`${Z[Z.length-1]}px`),Y.join(", ")}function wZ($,Z="width"){if(!$||$.length===0)return"";if(Z==="dpr")return $.filter((Y)=>Y.dpr).map((Y)=>`${Y.url} ${Y.dpr}x`).join(", ");return $.map((Y)=>`${Y.url} ${Y.width}w`).join(", ")}var hq;var AZ=k(()=>{v1();hq=[320,480,640,768,1024,1280,1536,1920]});var NZ={};r(NZ,{setCachedImageResult:()=>q4,processImage:()=>LZ,optimizeImage:()=>FZ,getCachedImageResult:()=>K4,generateSrcset:()=>wZ,generateResponsiveVariants:()=>RZ,clearImageCache:()=>HZ,applyTransformations:()=>q3,ImageProcessorCache:()=>G4});var TZ=k(()=>{VZ();AZ();G3()});async function mq(){try{return await Promise.resolve().then(() => (TZ(),NZ))}catch($){if(!MZ)console.warn("[stx-media] Image processor not available, some features disabled:",$),MZ=!0;return null}}async function W4($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipOptimization){if(Y.tsImagesConfig?.enabled&&!Y.isDev)return cq(X,Y)}if(Y.processedResult?.processed)return B3($,Y.processedResult,Z);if(Y.responsiveVariants)return kZ($,Y.responsiveVariants,Z);let{src:Q,alt:J,width:G,height:K,sizes:q,widths:W=Q5,dpr:z,formats:U=r5,quality:B=W3,params:_={},placeholder:j="none",placeholderOptions:H={},lazy:L=!0,priority:F=!1,loading:O=F?"eager":U4,decoding:V=z4,fetchpriority:R,objectFit:w,objectPosition:N,crossorigin:A,referrerpolicy:T}=$,M=$.class,I=$.style,E=$.id,D=$.data||{},{isDev:P=!1,baseUrl:S=""}=Z;if(P&&!Z.optimize)return pq($);let b,C,h=E||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!F)try{b=await KZ(Q,{strategy:j,...H}),C=GZ(h,b,H)}catch{}let x=z!==void 0&&G!==void 0,u;if(x)u=lq($,h,b,Z);else u=await uq($,h,b,Z);let t;if(F){let f0=U.includes("webp")?"webp":U[0],T0=r7(Q,W,{..._,q:B},f0),Y0=typeof q==="object"?a7(q):q||"100vw";t=`<link rel="preload" as="image" imagesrcset="${T0}" imagesizes="${Y0}" />`}let X0=[];if(!IZ&&j!=="none")X0.push(Z3),IZ=!0;if(C)X0.push(C);let $1=L?EZ(h):void 0;return{html:u,preloadLink:t,css:X0.length>0?X0.join(`
|
|
8659
|
-
`):void 0,script
|
|
8661
|
+
`.trim();Q3=new Map});import{createHash as LZ}from"crypto";import{readFile as Dq,stat as FZ}from"fs/promises";async function D0($){try{let Z=await Dq($);return LZ("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function OZ($){return LZ("sha256").update($).digest("hex").slice(0,16)}function G4($,Z){let Y=JSON.stringify(Z,Object.keys(Z).sort());return`${OZ($)}-${OZ(Y)}`}async function K3($){try{return(await FZ($)).mtimeMs}catch{return 0}}async function R0($){try{return await FZ($),!0}catch{return!1}}var x1=()=>{};import{mkdir as Eq,readFile as kq,writeFile as bq,readdir as pO,rm as Sq,stat as cO}from"fs/promises";import{join as wZ,dirname as yq}from"path";async function Pq($){try{await Eq($,{recursive:!0})}catch{}}function AZ($,Z,Y){return wZ($,Y,`${Z}.json`)}async function VZ($,Z,Y){if((Date.now()-$.createdAt)/86400000>Y)return!1;if(await K3(Z)!==$.srcMtime)return!1;return!0}async function K4($,Z,Y,X=q3){if(!X.enabled)return null;let Q=G4($,Z),J=W5.get(Q);if(J){if(await VZ(J,$,X.maxAge))return J.lastAccessedAt=Date.now(),J.data;W5.delete(Q)}let G=AZ(X.directory,Q,Y);if(await R0(G))try{let K=await kq(G,"utf-8"),q=JSON.parse(K);if(await VZ(q,$,X.maxAge))return q.lastAccessedAt=Date.now(),W5.set(Q,q),q.data}catch{}return null}async function q4($,Z,Y,X,Q=q3){if(!Q.enabled)return;let J=G4($,Z),G=await D0($),K=await K3($),q={key:J,src:$,srcHash:G,srcMtime:K,optionsHash:G4("",Z),data:Y,createdAt:Date.now(),lastAccessedAt:Date.now()};W5.set(J,q);let W=AZ(Q.directory,J,X);try{await Pq(yq(W)),await bq(W,JSON.stringify(q,null,2))}catch(U){console.warn(`[stx-media] Failed to write cache: ${U}`)}}async function W4($,Z=q3){if($==="all")W5.clear();else W5.clear();let Y=$==="all"?["image","video"]:[$];for(let X of Y){let Q=wZ(Z.directory,X);try{await Sq(Q,{recursive:!0,force:!0})}catch{}}}var W5,q3;var W3=k(()=>{x1();W5=new Map,q3={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class z4{config;constructor($={}){this.config={...Cq,...$}}async get($,Z){return K4($,Z,"image",this.config)}async set($,Z,Y){return q4($,Z,Y,"image",this.config)}async clear(){return W4("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function U3($){if(!U4)U4=new z4($);else if($)U4.updateConfig($);return U4}async function B4($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return U3(X).get($,Z)}async function j4($,Z,Y,X){let Q=X?{directory:`${X.outputDir}/../.cache`}:{};return U3(Q).set($,Z,Y)}async function RZ(){return U3().clear()}var Cq,U4=null;var z3=k(()=>{W3();Cq={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as vq,basename as xq,extname as fq,join as gq}from"path";import{mkdir as hq}from"fs/promises";async function B3(){try{return await import("ts-images")}catch{return null}}function NZ($){switch($){case"quality":return{jpeg:{quality:90,mozjpeg:!0,progressive:!0},png:{compressionLevel:6,palette:!1},webp:{quality:90,effort:6,smartSubsample:!0},avif:{quality:85,effort:6}};case"performance":return{jpeg:{quality:70,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!0},webp:{quality:70,effort:4,smartSubsample:!0},avif:{quality:60,effort:2}};case"web":default:return{jpeg:{quality:82,mozjpeg:!0,progressive:!0},png:{compressionLevel:8,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4}}}}function dq($,Z){let Y=Z?NZ(Z):NZ("web"),X=$.formatQuality||{};return{jpeg:{...Y.jpeg,...X.jpeg},png:{...Y.png,...X.png},webp:{...Y.webp,...X.webp},avif:{...Y.avif,...X.avif}}}async function TZ($,Z,Y){let X=await B3();if(!X)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Q=await B4($,Z,Y);if(Q)return Q;try{let J=vq($);if(!await R0(J))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=dq(Y,Z.preset),K=Y.outputDir||"dist/images",q=Y.baseUrl||"/images";await hq(K,{recursive:!0});let W=await D0(J),U=xq($,fq($)),z=Z.outputFormat?[Z.outputFormat]:Y.defaultFormats||["avif","webp","jpeg"],B={src:$,processed:!0,variants:[],hash:W},_=null;if(Z.transformations&&Z.transformations.length>0)_=await j3(J,Z.transformations,X);for(let j of z){let H=G[j]||{},L=`${U}-${W}.${j}`,F=gq(K,L);try{let O=await X.optimizeImage({input:_||J,output:F,format:j,quality:H.quality,progressive:H.progressive});if(O){if(B.variants.push({path:F,url:`${q}/${L}`,width:O.width||0,height:O.height||0,format:j,size:O.outputSize||0}),!B.originalWidth&&O.width)B.originalWidth=O.width,B.originalHeight=O.height}}catch(O){B.errors=B.errors||[],B.errors.push(`Failed to optimize ${j}: ${O}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let j=await X.generateThumbHash(J);B.placeholder=j.dataUrl}catch(j){B.errors=B.errors||[],B.errors.push(`Failed to generate thumbhash: ${j}`)}if(Z.useDominantColor)try{let j=await X.generatePlaceholder(J,{strategy:"dominant-color"});B.dominantColor=j.dominantColor}catch(j){B.errors=B.errors||[],B.errors.push(`Failed to extract dominant color: ${j}`)}return await j4($,Z,B,Y),B}catch(J){return{src:$,processed:!1,errors:[`Processing failed: ${J}`]}}}async function MZ($,Z,Y,X){let Q=await B3();if(!Q)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await Q.optimizeImage({input:$,output:X,format:Z,quality:Y}))?.outputSize}}catch(J){return{success:!1,error:String(J)}}}async function j3($,Z,Y){let X=Y||await B3();if(!X)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let Q=await X.decode($);for(let J of Z){let G=J.options||{};switch(J.type){case"resize":if(G.width||G.height)Q=await X.resize(Q,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)Q=await X.blur(Q,G.sigma);break;case"sharpen":if(G.amount!==void 0)Q=await X.sharpen(Q,G.amount);break;case"grayscale":Q=await X.grayscale(Q);break;case"rotate":if(G.angle!==void 0)Q=await X.rotate(Q,G.angle);break;case"flip":Q=await X.flip(Q);break;case"flop":Q=await X.flop(Q);break;case"brightness":if(G.value!==void 0)Q=await X.brightness(Q,G.value);break;case"contrast":if(G.value!==void 0)Q=await X.contrast(Q,G.value);break;case"saturation":if(G.value!==void 0)Q=await X.saturation(Q,G.value);break}}return await X.encode(Q,"png")}catch(Q){return console.error(`[stx-media] Transformation failed: ${Q}`),null}}var IZ=k(()=>{x1();z3()});import{resolve as mq,basename as uq,extname as lq,join as pq}from"path";import{mkdir as cq}from"fs/promises";async function iq(){try{return await import("ts-images")}catch{return null}}async function DZ($,Z,Y){let X=await iq();if(!X)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Q=mq($);if(!await R0(Q))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let J=Z.responsiveWidths||Y.breakpoints||nq,G=Z.formats||Y.defaultFormats||["avif","webp","jpeg"],K=Y.outputDir||"dist/images",q=Y.baseUrl||"/images";await cq(K,{recursive:!0});let W=await D0(Q),U=uq($,lq($)),z=Y.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},B={src:$,byFormat:{},srcsets:{}};for(let j of G){B.byFormat[j]=[];let H=[];for(let L of J){let F=`${U}-${L}w-${W}.${j}`,O=pq(K,F),V=`${q}/${F}`;try{let w=z[j]?.quality||80;if(await R0(O)){B.byFormat[j].push({path:O,url:V,width:L,height:0,format:j,size:0}),H.push(`${V} ${L}w`);continue}let A=await X.processImage({input:Q,output:O,format:j,quality:w,resize:{width:L}});if(A)B.byFormat[j].push({path:O,url:V,width:L,height:A.height||Math.round(L*(A.height||1)/(A.width||1)),format:j,size:A.outputSize||0}),H.push(`${V} ${L}w`)}catch(w){console.warn(`[stx-media] Failed to generate ${j} at ${L}w: ${w}`)}}B.srcsets[j]=H.join(", ")}let _=Z.placeholder||Y.placeholderStrategy||"thumbhash";if(_!=="none")try{if(_==="thumbhash"){let j=await X.generateThumbHash(Q);B.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await X.generatePlaceholder(Q,{strategy:_,width:20});B.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:_}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return B.sizes=Z.sizes||oq(J),B}catch(J){return console.error(`[stx-media] Responsive generation failed: ${J}`),null}}function oq($){let Z=[...$].sort((X,Q)=>X-Q),Y=[];for(let X=0;X<Z.length-1;X++){let Q=Z[X];Y.push(`(max-width: ${Q}px) ${Q}px`)}return Y.push(`${Z[Z.length-1]}px`),Y.join(", ")}function EZ($,Z="width"){if(!$||$.length===0)return"";if(Z==="dpr")return $.filter((Y)=>Y.dpr).map((Y)=>`${Y.url} ${Y.dpr}x`).join(", ");return $.map((Y)=>`${Y.url} ${Y.width}w`).join(", ")}var nq;var kZ=k(()=>{x1();nq=[320,480,640,768,1024,1280,1536,1920]});var bZ={};s(bZ,{setCachedImageResult:()=>j4,processImage:()=>TZ,optimizeImage:()=>MZ,getCachedImageResult:()=>B4,generateSrcset:()=>EZ,generateResponsiveVariants:()=>DZ,clearImageCache:()=>RZ,applyTransformations:()=>j3,ImageProcessorCache:()=>z4});var SZ=k(()=>{IZ();kZ();z3()});async function sq(){try{return await Promise.resolve().then(() => (SZ(),bZ))}catch($){if(!yZ)console.warn("[stx-media] Image processor not available, some features disabled:",$),yZ=!0;return null}}async function _4($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipOptimization){if(Y.tsImagesConfig?.enabled&&!Y.isDev)return eq(X,Y)}if(Y.processedResult?.processed)return L3($,Y.processedResult,Z);if(Y.responsiveVariants)return xZ($,Y.responsiveVariants,Z);let{src:Q,alt:J,width:G,height:K,sizes:q,widths:W=q5,dpr:U,formats:z=e5,quality:B=_3,params:_={},placeholder:j="none",placeholderOptions:H={},lazy:L=!0,priority:F=!1,loading:O=F?"eager":O4,decoding:V=H4,fetchpriority:w,objectFit:A,objectPosition:N,crossorigin:R,referrerpolicy:T}=$,M=$.class,I=$.style,E=$.id,D=$.data||{},{isDev:y=!1,baseUrl:S=""}=Z;if(y&&!Z.optimize)return tq($);let b,v,h=E||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!F)try{b=await _Z(Q,{strategy:j,...H}),v=jZ(h,b,H)}catch{}let f=U!==void 0&&G!==void 0,m;if(f)m=aq($,h,b,Z);else m=await rq($,h,b,Z);let r;if(F){let d0=z.includes("webp")?"webp":z[0],Z0=Z3(Q,W,{..._,q:B},d0),Y0=typeof q==="object"?Y3(q):q||"100vw";r=`<link rel="preload" as="image" imagesrcset="${Z0}" imagesizes="${Y0}" />`}let T0=[];if(!PZ&&j!=="none")T0.push(G3),PZ=!0;if(v)T0.push(v);let M0=L?vZ(h):void 0;return{html:m,preloadLink:r,css:T0.length>0?T0.join(`
|
|
8662
|
+
`):void 0,script:M0}}async function rq($,Z,Y,X){let{src:Q,alt:J,width:G,height:K,sizes:q,widths:W=q5,formats:U=e5,quality:z=_3,params:B={},lazy:_=!0,priority:j=!1,loading:H=j?"eager":O4,decoding:L=H4,fetchpriority:F,objectFit:O,objectPosition:V,crossorigin:w,referrerpolicy:A}=$,N=$.class,R=$.style,T=$.data||{},M=typeof q==="object"?Y3(q):q||"100vw",I=[];for(let y of U){let S=Z3(Q,W,{...B,q:z},y),b=X3(y);if(_&&!j)I.push(` <source type="${b}" data-srcset="${S}" data-sizes="${M}" />`);else I.push(` <source type="${b}" srcset="${S}" sizes="${M}" />`)}let E=H3({src:$$(Q,{...B,q:z}),alt:J,width:G,height:K,loading:j?void 0:H,decoding:L,fetchpriority:j?"high":F,objectFit:O,objectPosition:V,crossorigin:w,referrerpolicy:A,className:CZ(N,Y),style:O3(R,O,V,Y),lazy:_&&!j,data:T}),D;if(Y){let y=`background-image: url('${Y.dataURL}'); background-size: cover; background-position: center;`;D=`<div id="${Z}" class="stx-img-placeholder" style="${y}">
|
|
8660
8663
|
<picture>
|
|
8661
8664
|
${I.join(`
|
|
8662
8665
|
`)}
|
|
@@ -8666,9 +8669,9 @@ ${I.join(`
|
|
|
8666
8669
|
${I.join(`
|
|
8667
8670
|
`)}
|
|
8668
8671
|
<img ${E} />
|
|
8669
|
-
</picture>`;return D}function
|
|
8672
|
+
</picture>`;return D}function aq($,Z,Y,X){let{src:Q,alt:J,width:G,height:K,dpr:q=[1,2,3],quality:W=_3,params:U={},lazy:z=!0,priority:B=!1,loading:_=B?"eager":O4,decoding:j=H4,fetchpriority:H,objectFit:L,objectPosition:F,crossorigin:O,referrerpolicy:V}=$,w=$.class,A=$.style,N=$.data||{},R=typeof G==="number"?G:Number.parseInt(String(G),10),T=BZ(Q,R,q,{...U,q:W}),M=H3({src:$$(Q,{...U,w:R,q:W}),alt:J,width:G,height:K,loading:B?void 0:_,decoding:j,fetchpriority:B?"high":H,objectFit:L,objectPosition:F,crossorigin:O,referrerpolicy:V,className:CZ(w,Y),style:O3(A,L,F,Y),lazy:z&&!B,data:N}),I=z&&!B?`data-srcset="${T}"`:`srcset="${T}"`;if(Y){let E=`background-image: url('${Y.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${Z}" class="stx-img-placeholder" style="${E}">
|
|
8670
8673
|
<img ${M} ${I} />
|
|
8671
|
-
</div>`}return`<img ${Z?`id="${Z}" `:""}${M} ${I} />`}function
|
|
8674
|
+
</div>`}return`<img ${Z?`id="${Z}" `:""}${M} ${I} />`}function tq($){let{src:Z,alt:Y,width:X,height:Q,loading:J=O4,decoding:G=H4,fetchpriority:K,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:z,priority:B=!1}=$,_=$.class,j=$.style,H=$.id,L=$.data||{};return{html:`<img ${H3({src:Z,alt:Y,width:X,height:Q,loading:B?"eager":J,decoding:G,fetchpriority:B?"high":K,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:z,className:_,style:O3(j,q,W),id:H,data:L})} />`}}function H3($){let Z=[];if($.lazy)Z.push(`data-src="${s0($.src)}"`),Z.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else Z.push(`src="${s0($.src)}"`);if(Z.push(`alt="${s0($.alt)}"`),$.width)Z.push(`width="${$.width}"`);if($.height)Z.push(`height="${$.height}"`);if($.loading)Z.push(`loading="${$.loading}"`);if($.decoding)Z.push(`decoding="${$.decoding}"`);if($.fetchpriority)Z.push(`fetchpriority="${$.fetchpriority}"`);if($.crossorigin)Z.push(`crossorigin="${$.crossorigin}"`);if($.referrerpolicy)Z.push(`referrerpolicy="${$.referrerpolicy}"`);if($.className)Z.push(`class="${s0($.className)}"`);if($.style)Z.push(`style="${s0($.style)}"`);if($.id)Z.push(`id="${s0($.id)}"`);if($.data)for(let[Y,X]of Object.entries($.data))Z.push(`data-${Y}="${s0(X)}"`);if($.lazy)Z.push("data-stx-lazy");return Z.join(" ")}function CZ($,Z){let Y=[];if($)Y.push($);if(Z)Y.push("stx-img-blur");return Y.join(" ")||""}function O3($,Z,Y,X){let Q=[];if(Z)Q.push(`object-fit: ${Z}`);if(Y)Q.push(`object-position: ${Y}`);if(X)Q.push("opacity: 0; transition: opacity 300ms ease-out");if($)Q.push($);return Q.join("; ")}function s0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function vZ($){return`
|
|
8672
8675
|
(function() {
|
|
8673
8676
|
const container = document.getElementById('${$}');
|
|
8674
8677
|
if (!container) return;
|
|
@@ -8705,22 +8708,22 @@ ${I.join(`
|
|
|
8705
8708
|
|
|
8706
8709
|
observer.observe(container);
|
|
8707
8710
|
})();
|
|
8708
|
-
`.trim()}async function
|
|
8711
|
+
`.trim()}async function eq($,Z){let Y=await sq();if(!Y)return _4({...$,process:!1},Z);let X=Z.tsImagesConfig;if($.responsiveWidths&&$.responsiveWidths.length>0||$.widths&&$.widths.length>0||!$.width&&!$.dpr){let J=await Y.generateResponsiveVariants($.src,$,X);if(J)return xZ($,J,Z)}else{let J=await Y.processImage($.src,$,X);if(J.processed)return L3($,J,Z)}return _4({...$,process:!1},Z)}async function L3($,Z,Y){let{alt:X,width:Q,height:J,lazy:G=!0,priority:K=!1,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:z}=$,B=$.class,_=$.style,j=$.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,H=$.data||{},L=Z.variants||[],F=L.find((v)=>v.format==="jpeg")||L.find((v)=>v.format==="webp")||L[0],O=F?.url||$.src,V=L.filter((v)=>v.format===(F?.format||"jpeg")).map((v)=>`${v.url} ${v.width}w`).join(", "),w=new Map;for(let v of L){if(!w.has(v.format))w.set(v.format,[]);w.get(v.format).push(v)}let A=[],N=["avif","webp","jpeg","png"];for(let v of N){let h=w.get(v);if(h&&h.length>0){let f=h.map((r)=>`${r.url} ${r.width}w`).join(", "),m=X3(v);if(G&&!K)A.push(` <source type="${m}" data-srcset="${f}" />`);else A.push(` <source type="${m}" srcset="${f}" />`)}}let R=[];if(G&&!K){if(R.push(`data-src="${s0(O)}"`),R.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),V)R.push(`data-srcset="${V}"`)}else if(R.push(`src="${s0(O)}"`),V)R.push(`srcset="${V}"`);R.push(`alt="${s0(X)}"`);let T=Q||Z.originalWidth,M=J||Z.originalHeight;if(T)R.push(`width="${T}"`);if(M)R.push(`height="${M}"`);if(!K)R.push(`loading="${G?"lazy":"eager"}"`);if(R.push('decoding="async"'),K)R.push('fetchpriority="high"');if(U)R.push(`crossorigin="${U}"`);if(z)R.push(`referrerpolicy="${z}"`);let I=[];if(q)I.push(`object-fit: ${q}`);if(W)I.push(`object-position: ${W}`);if(Z.placeholder&&G)I.push("opacity: 0; transition: opacity 300ms ease-out");if(_)I.push(_);if(I.length>0)R.push(`style="${I.join("; ")}"`);let E=[];if(B)E.push(B);if(Z.placeholder)E.push("stx-img-blur");if(E.length>0)R.push(`class="${E.join(" ")}"`);if(G&&!K)R.push("data-stx-lazy");for(let[v,h]of Object.entries(H))R.push(`data-${v}="${s0(h)}"`);let D;if(Z.placeholder||Z.dominantColor&&$.useDominantColor){let v=Z.placeholder?`background-image: url('${Z.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${Z.dominantColor};`;D=`<div id="${j}" class="stx-img-placeholder" style="${v}">
|
|
8709
8712
|
<picture>
|
|
8710
|
-
${
|
|
8713
|
+
${A.join(`
|
|
8711
8714
|
`)}
|
|
8712
|
-
<img ${
|
|
8715
|
+
<img ${R.join(" ")} />
|
|
8713
8716
|
</picture>
|
|
8714
8717
|
</div>`}else D=`<picture${j?` id="${j}"`:""}>
|
|
8715
|
-
${
|
|
8718
|
+
${A.join(`
|
|
8716
8719
|
`)}
|
|
8717
|
-
<img ${
|
|
8718
|
-
</picture>`;let
|
|
8719
|
-
`):void 0,script:S}}async function
|
|
8720
|
-
`+
|
|
8721
|
-
<style>${W.css}</style>`;if(W.script)
|
|
8722
|
-
<script>${W.script}</script>`;return
|
|
8723
|
-
`)}async function
|
|
8720
|
+
<img ${R.join(" ")} />
|
|
8721
|
+
</picture>`;let y=[];if(Z.placeholder)y.push(G3);let S=G?vZ(j):void 0,b;if(K&&V)b=`<link rel="preload" as="image" imagesrcset="${V}" />`;return{html:D,preloadLink:b,css:y.length>0?y.join(`
|
|
8722
|
+
`):void 0,script:S}}async function xZ($,Z,Y){let X={src:Z.src,processed:!0,variants:[],placeholder:Z.placeholder?.dataURL,originalWidth:Z.placeholder?.width,originalHeight:Z.placeholder?.height};for(let[Q,J]of Object.entries(Z.byFormat))if(J)X.variants.push(...J);return L3($,X,Y)}var yZ=!1,_3=80,H4="async",O4="lazy",PZ=!1;var fZ=k(()=>{J3();HZ()});function $W(){return Q4({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async($,Z,Y,X)=>{let{src:Q,alt:J,options:G}=ZW($,Z,Y);if(!Q)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let K={src:Q,alt:J||"",widths:G.widths||q5,formats:G.formats||e5,quality:G.quality,sizes:G.sizes,dpr:G.dpr,params:G.params,placeholder:G.placeholder,placeholderOptions:G.placeholderOptions,lazy:G.lazy!==!1,priority:G.priority||!1,loading:G.loading,decoding:G.decoding,fetchpriority:G.fetchpriority,objectFit:G.objectFit,objectPosition:G.objectPosition,class:G.class,style:G.style,id:G.id,width:G.width,height:G.height},q=Y.__isDev||!1,W=await _4(K,{isDev:q}),U=W.html;if(W.preloadLink)U=W.preloadLink+`
|
|
8723
|
+
`+U;if(W.css)U+=`
|
|
8724
|
+
<style>${W.css}</style>`;if(W.script)U+=`
|
|
8725
|
+
<script>${W.script}</script>`;return U},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function ZW($,Z,Y){if(Z.src)return{src:String(Z.src),alt:String(Z.alt||""),options:Z.options||{}};let X=$.trim();if(X.startsWith("@img(")||X.startsWith("("))X=X.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Q=YW(X),J=F3(Q[0],Y)||"",G=F3(Q[1],Y)||"",K={};if(Q[2]){let q=F3(Q[2],Y);if(typeof q==="object"&&q!==null)K=q;else if(typeof Q[2]==="string")try{K=JSON.parse(Q[2])}catch{}}return{src:J,alt:G,options:K}}function YW($){let Z=[],Y="",X=!1,Q="",J=0,G=0;for(let K=0;K<$.length;K++){let q=$[K],W=K>0?$[K-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!X)X=!0,Q=q;else if(q===Q)X=!1,Q="";else Y+=q;continue}if(!X){if(q==="{")J++;if(q==="}")J--;if(q==="[")G++;if(q==="]")G--;if(q===","&&J===0&&G===0){Z.push(Y.trim()),Y="";continue}}Y+=q}if(Y.trim())Z.push(Y.trim());return Z}function F3($,Z){if(typeof $!=="string")return $;let Y=$.trim();if(Y.startsWith('"')&&Y.endsWith('"')||Y.startsWith("'")&&Y.endsWith("'"))return Y.slice(1,-1);if(!Y.startsWith("/")&&!Y.startsWith(".")&&!Y.startsWith("http")&&!Y.startsWith("{")){let X=Z[Y];if(X!==void 0)return X}if(Y.startsWith("{")||Y.startsWith("["))try{return JSON.parse(Y)}catch{}return Y}var gZ;var hZ=k(()=>{$3();fZ();J3();gZ=$W()});class F4{config;constructor($={}){this.config={...XW,...$}}async get($,Z){return K4($,Z,"video",this.config)}async set($,Z,Y){return q4($,Z,Y,"video",this.config)}async clear(){return W4("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function V3($){if(!L4)L4=new F4($);else if($)L4.updateConfig($);return L4}async function V4($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return V3(X).get($,Z)}async function w4($,Z,Y,X){let Q=X?{directory:`${X.outputDir}/../.cache`}:{};return V3(Q).set($,Z,Y)}async function dZ(){return V3().clear()}var XW,L4=null;var w3=k(()=>{W3();XW={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as A3,basename as R3,extname as N3,join as A4}from"path";import{mkdir as T3}from"fs/promises";async function M3(){try{return await import("ts-videos")}catch{return null}}async function R4($,Z,Y,X){let Q=await M3();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let J=A3($);if(!await R0(J))return null;await T3(Y,{recursive:!0});let G=await D0(J),K=R3($,N3($)),q=Z.format||"webp",W=Z.timestamp||0,U=`${K}-poster-${G}.${q}`,z=A4(Y,U),B=await Q.extractThumbnails(J,{timestamps:[W],width:Z.width||1280,height:Z.height,format:q,quality:Z.quality||85,outputDir:Y,outputPattern:U.replace(`.${q}`,"")});if(B&&B.length>0){let _=B[0];return{path:z,url:`${X}/${U}`,width:_.width||Z.width||1280,height:_.height||720,timestamp:W,size:_.size||0}}return null}catch(J){return console.warn(`[stx-media] Failed to generate poster: ${J}`),null}}async function N4($,Z,Y,X){let Q=await M3();if(!Q)return[];try{let J=A3($);if(!await R0(J))return[];await T3(Y,{recursive:!0});let G=await D0(J),K=R3($,N3($)),q=Z.format||"webp",z=(await new Q.Input(J).getInfo()).duration||60,B=Z.count||10,_=Z.interval||z/B,j=[];for(let L=0;L<B&&L*_<z;L++)j.push(L*_);let H=await Q.extractThumbnails(J,{timestamps:j,width:Z.width||320,format:q,quality:Z.quality||80,outputDir:Y,outputPattern:`${K}-thumb-${G}`});if(H&&H.length>0)return H.map((L,F)=>({path:L.path||A4(Y,`${K}-thumb-${G}-${F}.${q}`),url:`${X}/${K}-thumb-${G}-${F}.${q}`,width:L.width||Z.width||320,height:L.height||180,timestamp:j[F],size:L.size||0}));return[]}catch(J){return console.warn(`[stx-media] Failed to generate thumbnails: ${J}`),[]}}async function mZ($,Z,Y,X){let Q=await M3();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let J=A3($);if(!await R0(J))return null;await T3(Y,{recursive:!0});let G=await D0(J),K=R3($,N3($)),U=(await new Q.Input(J).getInfo()).duration||60,z=Z.columns||10,B=Z.interval||5,_=Z.thumbnailWidth||160,j=Z.thumbnailHeight||90,H=Z.format||"jpeg",L=Math.ceil(U/B),F=Math.ceil(L/z),O=`${K}-sprite-${G}.${H}`,V=A4(Y,O),w=[];for(let N=0;N<L;N++)w.push(N*B);let A=await Q.extractThumbnails(J,{timestamps:w,width:_,height:j,format:H,quality:Z.quality||70,outputDir:A4(Y,".temp")});if(!A||A.length===0)return null;try{let N=await import("ts-images"),R=z*_,T=F*j,M=await N.createSprite({images:A.map((I)=>I.path),columns:z,padding:0,outputPath:V,format:H,quality:Z.quality||70});return{url:`${X}/${O}`,path:V,columns:z,rows:F,thumbnailWidth:_,thumbnailHeight:j,interval:B,totalFrames:L}}catch{return console.warn("[stx-media] ts-images not installed, sprite sheet generation skipped"),null}}catch(J){return console.warn(`[stx-media] Failed to generate sprite sheet: ${J}`),null}}var I3=k(()=>{x1()});import{resolve as lZ,basename as pZ,extname as cZ,join as f1}from"path";import{mkdir as T4,writeFile as iZ}from"fs/promises";async function nZ(){try{return await import("ts-videos")}catch{return null}}async function M4($,Z,Y,X,Q){let J=await nZ();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let G=lZ($);if(!await R0(G))return null;let K=await D0(G),q=pZ($,cZ($)),W=f1(Y,`${q}-${K}-hls`);await T4(W,{recursive:!0});let U=Z.length>0?Z:oZ,z=Q?.segmentDuration||6,j=(await new J.Input(G).getInfo()).duration||0,H=[],L=0;for(let V of U){let w=f1(W,V.label);await T4(w,{recursive:!0});let A=`${V.label}.m3u8`,N=f1(w,A);try{let R=await J.generateHLS(G,{outputDir:w,segmentDuration:z,width:V.width,height:V.height,videoBitrate:V.bitrate,audioBitrate:V.audioBitrate,playlistName:V.label});if(R)H.push({quality:V,url:`${X}/${q}-${K}-hls/${V.label}/${A}`,path:N}),L+=R.segmentCount||Math.ceil(j/z)}catch(R){console.warn(`[stx-media] Failed to generate HLS for ${V.label}: ${R}`)}}if(H.length===0)return null;let F=f1(W,"master.m3u8"),O=JW(H,X,q,K);return await iZ(F,O),{manifestUrl:`${X}/${q}-${K}-hls/master.m3u8`,manifestPath:F,playlists:H,segmentCount:L,duration:j}}catch(G){return console.warn(`[stx-media] Failed to generate HLS manifest: ${G}`),null}}function JW($,Z,Y,X){let Q=["#EXTM3U","#EXT-X-VERSION:3"];for(let J of $){let{quality:G}=J,K=G.bitrate+(G.audioBitrate||128000),q=`${G.width}x${G.height||Math.round(G.width*9/16)}`;Q.push(`#EXT-X-STREAM-INF:BANDWIDTH=${K},RESOLUTION=${q},NAME="${G.label}"`,`${G.label}/${G.label}.m3u8`)}return Q.join(`
|
|
8726
|
+
`)}async function I4($,Z,Y,X,Q){let J=await nZ();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let G=lZ($);if(!await R0(G))return null;let K=await D0(G),q=pZ($,cZ($)),W=f1(Y,`${q}-${K}-dash`);await T4(W,{recursive:!0});let U=Z.length>0?Z:oZ,z=Q?.segmentDuration||4,B=Q?.minBufferTime||2,H=(await new J.Input(G).getInfo()).duration||0,L=[],F=[];for(let A of U){let N=f1(W,A.label);await T4(N,{recursive:!0});try{if(await J.generateDASH(G,{outputDir:N,segmentDuration:z,width:A.width,height:A.height,videoBitrate:A.bitrate,audioBitrate:A.audioBitrate})){if(L.push({bandwidth:A.bitrate,width:A.width,height:A.height||Math.round(A.width*9/16),url:`${X}/${q}-${K}-dash/${A.label}/video`}),A.audioBitrate)F.push({bandwidth:A.audioBitrate,url:`${X}/${q}-${K}-dash/${A.label}/audio`})}}catch(R){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${R}`)}}if(L.length===0)return null;let O=f1(W,"manifest.mpd"),V=QW(L,F,H,z,B);await iZ(O,V);let w=[{type:"video",representations:L}];if(F.length>0)w.push({type:"audio",representations:F});return{manifestUrl:`${X}/${q}-${K}-dash/manifest.mpd`,manifestPath:O,adaptationSets:w,duration:H}}catch(G){return console.warn(`[stx-media] Failed to generate DASH manifest: ${G}`),null}}function QW($,Z,Y,X,Q){let J=uZ(Y),G=uZ(Q),K=`<?xml version="1.0" encoding="UTF-8"?>
|
|
8724
8727
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
|
|
8725
8728
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
8726
8729
|
xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
|
|
@@ -8746,9 +8749,9 @@ ${w.join(`
|
|
|
8746
8749
|
</Representation>
|
|
8747
8750
|
`}K+=` </AdaptationSet>
|
|
8748
8751
|
`}return K+=` </Period>
|
|
8749
|
-
</MPD>`,K}function
|
|
8752
|
+
</MPD>`,K}function uZ($){let Z=Math.floor($/3600),Y=Math.floor($%3600/60),X=Math.floor($%60),Q="PT";if(Z>0)Q+=`${Z}H`;if(Y>0)Q+=`${Y}M`;return Q+=`${X}S`,Q}var oZ;var D3=k(()=>{x1();oZ=[{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 sZ,basename as GW,extname as KW,join as qW}from"path";import{mkdir as WW}from"fs/promises";async function rZ(){try{return await import("ts-videos")}catch{return null}}function UW($){switch($){case"very-low":return 500000;case"low":return 1e6;case"medium":return 2500000;case"high":return 5000000;case"very-high":return 1e7;case"lossless":return 0;default:return 2500000}}function zW($){switch($){case"youtube":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};case"twitter":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"instagram-feed":return{codec:"h264",maxWidth:1080,maxHeight:1080,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"instagram-story":case"instagram-reels":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"tiktok":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"discord":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:60,bitrate:8000000,audioCodec:"aac",audioBitrate:192000};case"linkedin":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"facebook":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"web-progressive":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000,twoPass:!0};case"web-streaming":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};default:return{}}}async function E3($){let Z=await rZ();if(!Z)return null;try{let Y=sZ($),Q=await new Z.Input(Y).getInfo();return{duration:Q.duration||0,width:Q.width||0,height:Q.height||0,frameRate:Q.frameRate||0,bitrate:Q.bitrate||0,codec:Q.videoCodec||"",audioCodec:Q.audioCodec}}catch(Y){return console.warn(`[stx-media] Failed to analyze video: ${Y}`),null}}async function aZ($,Z,Y,X){let Q=await rZ();if(!Q)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let J=await V4($,Z,Y);if(J)return J;try{let G=sZ($);if(!await R0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let K=Y.outputDir||"dist/videos",q=Y.baseUrl||"/videos";await WW(K,{recursive:!0});let W=await D0(G),U=GW($,KW($)),z={src:$,processed:!0,hash:W};X?.({percentage:5,stage:"analyzing"}),z.metadata=await E3(G)||void 0;let B={};if(Z.quality)B.bitrate=UW(Z.quality);if(Z.platform)Object.assign(B,zW(Z.platform));if(Z.transcode)Object.assign(B,Z.transcode);if(Object.keys(B).length>0||Z.process){X?.({percentage:10,stage:"transcoding"});let _=`${U}-${W}.mp4`,j=qW(K,_);try{let H=await BW(G,j,B,Q,(L)=>X?.({percentage:10+L*0.5,stage:"transcoding"}));if(H)z.transcoded={path:j,url:`${q}/${_}`,duration:H.duration,size:H.size,video:{codec:B.codec||"h264",width:H.width,height:H.height,bitrate:H.bitrate,frameRate:H.frameRate},audio:H.audioCodec?{codec:B.audioCodec||"aac",bitrate:B.audioBitrate||128000,sampleRate:B.sampleRate||48000,channels:B.channels||2}:void 0}}catch(H){z.errors=z.errors||[],z.errors.push(`Transcoding failed: ${H}`)}}if(Z.generatePoster){X?.({percentage:65,stage:"generating-poster"});let _=typeof Z.generatePoster==="object"?Z.generatePoster:{timestamp:0},j=await R4(G,_,K,q);if(j)z.poster=j}if(Y.thumbnails?.enabled){X?.({percentage:70,stage:"generating-thumbnails"});let _=await N4(G,Y.thumbnails,K,q);if(_.length>0)z.thumbnails=_}if(Z.streaming){X?.({percentage:80,stage:"generating-manifests"});let _=typeof Z.streaming==="object"?Z.streaming:Y.streaming||{format:"hls"};if(_.format==="hls"||_.format===void 0){let j=await M4(G,_.qualities||Y.streaming?.defaultQualities||[],K,q);if(j)z.streaming={...z.streaming,hls:j}}if(_.format==="dash"){let j=await I4(G,_.qualities||Y.streaming?.defaultQualities||[],K,q);if(j)z.streaming={...z.streaming,dash:j}}}if(Z.spriteSheet)X?.({percentage:90,stage:"generating-sprite-sheet"});return X?.({percentage:100,stage:"complete"}),await w4($,Z,z,Y),z}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function BW($,Z,Y,X,Q){try{let G=await new X.Conversion($,Z,{videoCodec:Y.codec,videoBitrate:Y.bitrate,width:Y.maxWidth,height:Y.maxHeight,frameRate:Y.frameRate,audioCodec:Y.audioCodec,audioBitrate:Y.audioBitrate,sampleRate:Y.sampleRate,channels:Y.channels}).run((K)=>{Q?.(K.percentage/100)});return{duration:G.duration||0,size:G.size||0,width:G.width||Y.maxWidth||0,height:G.height||Y.maxHeight||0,bitrate:G.bitrate||Y.bitrate||0,frameRate:G.frameRate||Y.frameRate||30,audioCodec:G.audioCodec}}catch(J){return console.error(`[stx-media] Transcoding failed: ${J}`),null}}var tZ=k(()=>{x1();w3();I3();D3()});var eZ={};s(eZ,{setCachedVideoResult:()=>w4,processVideo:()=>aZ,getCachedVideoResult:()=>V4,generateThumbnails:()=>N4,generateSpriteSheet:()=>mZ,generatePoster:()=>R4,generateHLSManifest:()=>M4,generateDASHManifest:()=>I4,clearVideoCache:()=>dZ,analyzeVideo:()=>E3,VideoProcessorCache:()=>F4});var $2=k(()=>{tZ();I3();D3();w3()});async function Y2(){try{return await Promise.resolve().then(() => ($2(),eZ))}catch($){if(!Z2)console.warn("[stx-media] Video processor not available, some features disabled:",$),Z2=!0;return null}}async function D4($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipProcessing){if(Y.tsVideosConfig?.enabled&&!Y.isDev)return FW(X,Y)}if(Y.processedResult?.processed)return G2($,Y.processedResult,Z);let Q;if(X.generatePoster&&X.src&&!$.poster)Q=await VW(X,Y);let{src:J,sources:G=[],poster:K,posterPlaceholder:q,controls:W=X2,autoplay:U=!1,muted:z=!1,loop:B=!1,preload:_=J2,playsinline:j=!0,lazy:H=!0,player:L="native",type:F,width:O,height:V,crossorigin:w,disablePictureInPicture:A=!1,disableRemotePlayback:N=!1}=$,R=Q||K,T=$.class,M=$.style,I=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(L==="ts-video")return HW($,Z);if(F&&F!=="video")return _W(J||"",F,$);let E=G.length>0?G:J?[{src:J,type:Q2(J)}]:[],D=[`id="${I}"`];if(W)D.push("controls");if(U)D.push("autoplay");if(z)D.push("muted");if(B)D.push("loop");if(j)D.push("playsinline");if(A)D.push("disablepictureinpicture");if(N)D.push("disableremoteplayback");if(w)D.push(`crossorigin="${w}"`);if(H){if(D.push(`data-preload="${_}"`),D.push('preload="none"'),R)D.push(`data-poster="${_0(R)}"`);D.push("data-stx-lazy")}else if(D.push(`preload="${_}"`),R)D.push(`poster="${_0(R)}"`);if(O)D.push(`width="${O}"`);if(V)D.push(`height="${V}"`);if(T)D.push(`class="${_0(T)}"`);if(M)D.push(`style="${_0(M)}"`);let y=E.map((v)=>{return` <source ${H?`data-src="${_0(v.src)}"`:`src="${_0(v.src)}"`} type="${v.type}"${v.media?` media="${v.media}"`:""} />`}).join(`
|
|
8750
8753
|
`),S=`<video ${D.join(" ")}>
|
|
8751
|
-
${
|
|
8754
|
+
${y}
|
|
8752
8755
|
Your browser does not support the video tag.
|
|
8753
8756
|
</video>`,b;if(H)b=`
|
|
8754
8757
|
(function() {
|
|
@@ -8785,20 +8788,20 @@ ${P}
|
|
|
8785
8788
|
|
|
8786
8789
|
observer.observe(video);
|
|
8787
8790
|
})();
|
|
8788
|
-
`.trim();return{html:S,script:b}}function
|
|
8789
|
-
<iframe ${
|
|
8790
|
-
</div>`}}function
|
|
8791
|
+
`.trim();return{html:S,script:b}}function _W($,Z,Y){let{width:X=640,height:Q=360}=Y,J=Y.class,G=Y.style,K=Y.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,q,W=null;switch(Z){case"youtube":W=OW($),q=W?`https://www.youtube-nocookie.com/embed/${W}`:$;break;case"vimeo":W=LW($),q=W?`https://player.vimeo.com/video/${W}`:$;break;case"dailymotion":W=$.split("/").pop()||"",q=`https://www.dailymotion.com/embed/video/${W}`;break;case"twitch":W=$.split("/").pop()||"",q=`https://player.twitch.tv/?video=${W}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:q=$}let U=[`id="${K}"`,`src="${_0(q)}"`,`width="${X}"`,`height="${Q}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(J)U.push(`class="${_0(J)}"`);if(G)U.push(`style="${_0(G)}"`);if(Y.lazy)U.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
|
|
8792
|
+
<iframe ${U.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
|
|
8793
|
+
</div>`}}function HW($,Z={}){let{src:Y,sources:X=[],poster:Q,controls:J=!0,autoplay:G=!1,muted:K=!1,loop:q=!1,preload:W="metadata",playsinline:U=!0,lazy:z=!0,width:B,height:_}=$,j=$.class,H=$.style,L=$.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,F={src:X.length>0?X:Y,autoplay:G,loop:q,muted:K,playsinline:U,preload:W,poster:Q,controls:J,title:$.title},O=["position: relative",B?`width: ${typeof B==="number"?B+"px":B}`:"width: 100%",_?`height: ${typeof _==="number"?_+"px":_}`:"",H||""].filter(Boolean).join("; "),V=`
|
|
8791
8794
|
<div
|
|
8792
8795
|
id="${L}"
|
|
8793
|
-
class="ts-video-player${j?" "+
|
|
8796
|
+
class="ts-video-player${j?" "+_0(j):""}"
|
|
8794
8797
|
style="${O}"
|
|
8795
8798
|
data-ts-video-player
|
|
8796
8799
|
data-config='${JSON.stringify(F)}'
|
|
8797
|
-
${
|
|
8800
|
+
${z?"data-lazy":""}
|
|
8798
8801
|
>
|
|
8799
8802
|
<div class="ts-video-player__container">
|
|
8800
8803
|
${Q?`
|
|
8801
|
-
<div class="ts-video-player__placeholder" style="background-image: url('${
|
|
8804
|
+
<div class="ts-video-player__placeholder" style="background-image: url('${_0(Q)}');">
|
|
8802
8805
|
<button class="ts-video-player__play-button" aria-label="Play video">
|
|
8803
8806
|
<svg viewBox="0 0 24 24" fill="currentColor" width="64" height="64">
|
|
8804
8807
|
<path d="M8 5v14l11-7z"/>
|
|
@@ -8808,7 +8811,7 @@ ${P}
|
|
|
8808
8811
|
`:""}
|
|
8809
8812
|
</div>
|
|
8810
8813
|
</div>
|
|
8811
|
-
`.trim(),
|
|
8814
|
+
`.trim(),w=`
|
|
8812
8815
|
(function() {
|
|
8813
8816
|
var container = document.getElementById('${L}');
|
|
8814
8817
|
if (!container) return;
|
|
@@ -8824,7 +8827,7 @@ ${P}
|
|
|
8824
8827
|
|
|
8825
8828
|
// Load ts-video-player from CDN
|
|
8826
8829
|
var script = document.createElement('script');
|
|
8827
|
-
script.src = '${
|
|
8830
|
+
script.src = '${jW}';
|
|
8828
8831
|
script.onload = initPlayer;
|
|
8829
8832
|
script.onerror = function() {
|
|
8830
8833
|
console.error('[stx] Failed to load ts-video-player');
|
|
@@ -8902,7 +8905,7 @@ else {
|
|
|
8902
8905
|
});
|
|
8903
8906
|
}
|
|
8904
8907
|
})();
|
|
8905
|
-
`.trim(),
|
|
8908
|
+
`.trim(),A=`
|
|
8906
8909
|
.ts-video-player {
|
|
8907
8910
|
position: relative;
|
|
8908
8911
|
background: #000;
|
|
@@ -8954,10 +8957,10 @@ else {
|
|
|
8954
8957
|
.ts-video-player__play-button svg {
|
|
8955
8958
|
margin-left: 4px;
|
|
8956
8959
|
}
|
|
8957
|
-
`.trim();return{html:V,script:
|
|
8960
|
+
`.trim();return{html:V,script:w,css:A}}function Q2($){switch($.split(".").pop()?.toLowerCase()){case"mp4":return"video/mp4";case"webm":return"video/webm";case"ogg":case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"m3u8":return"application/x-mpegURL";default:return"video/mp4"}}function OW($){let Z=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let Y of Z){let X=$.match(Y);if(X)return X[1]}return null}function LW($){let Z=$.match(/vimeo\.com\/(\d+)/);return Z?Z[1]:null}function _0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'")}async function FW($,Z){let Y=await Y2();if(!Y)return D4({...$,process:!1},Z);let X=Z.tsVideosConfig,Q=await Y.processVideo($.src,$,X,$.onProcessProgress);if(Q.processed)return G2($,Q,Z);return D4({...$,process:!1},Z)}async function VW($,Z){let Y=await Y2();if(!Y||!$.src)return;let X=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},Q=Z.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await Y.generatePoster($.src,X,Q.outputDir,Q.baseUrl||"/videos"))?.url}function G2($,Z,Y){let{controls:X=X2,autoplay:Q=!1,muted:J=!1,loop:G=!1,preload:K=J2,playsinline:q=!0,lazy:W=!0,width:U,height:z,crossorigin:B,disablePictureInPicture:_=!1,disableRemotePlayback:j=!1}=$,H=$.class,L=$.style,F=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,O=$.src,V=Q2(O);if(Z.transcoded)O=Z.transcoded.url,V="video/mp4";let w=Z.streaming?.hls||Z.streaming?.dash;if(w){if(Z.streaming?.hls)O=Z.streaming.hls.manifestUrl,V="application/x-mpegURL";else if(Z.streaming?.dash)O=Z.streaming.dash.manifestUrl,V="application/dash+xml"}let A=Z.poster?.url||$.poster,N=[`id="${F}"`];if(X)N.push("controls");if(Q)N.push("autoplay");if(J)N.push("muted");if(G)N.push("loop");if(q)N.push("playsinline");if(_)N.push("disablepictureinpicture");if(j)N.push("disableremoteplayback");if(B)N.push(`crossorigin="${B}"`);if(W){if(N.push(`data-preload="${K}"`),N.push('preload="none"'),A)N.push(`data-poster="${_0(A)}"`);N.push("data-stx-lazy")}else if(N.push(`preload="${K}"`),A)N.push(`poster="${_0(A)}"`);let R=U||Z.metadata?.width,T=z||Z.metadata?.height;if(R)N.push(`width="${R}"`);if(T)N.push(`height="${T}"`);if(H)N.push(`class="${_0(H)}"`);if(L)N.push(`style="${_0(L)}"`);let I=` <source ${W?`data-src="${_0(O)}"`:`src="${_0(O)}"`} type="${V}" />`,E=`<video ${N.join(" ")}>
|
|
8958
8961
|
${I}
|
|
8959
8962
|
Your browser does not support the video tag.
|
|
8960
|
-
</video>`;if(Z.spriteSheet)E=`<div class="stx-video-wrapper" data-sprite-sheet="${
|
|
8963
|
+
</video>`;if(Z.spriteSheet)E=`<div class="stx-video-wrapper" data-sprite-sheet="${_0(Z.spriteSheet.url)}" data-sprite-cols="${Z.spriteSheet.columns}" data-sprite-interval="${Z.spriteSheet.interval}">
|
|
8961
8964
|
${E}
|
|
8962
8965
|
</div>`;let D;if(W)D=`
|
|
8963
8966
|
(function() {
|
|
@@ -8994,7 +8997,7 @@ ${E}
|
|
|
8994
8997
|
|
|
8995
8998
|
observer.observe(video);
|
|
8996
8999
|
})();
|
|
8997
|
-
`.trim();let
|
|
9000
|
+
`.trim();let y;if(w)y=`
|
|
8998
9001
|
.stx-video-wrapper {
|
|
8999
9002
|
position: relative;
|
|
9000
9003
|
width: 100%;
|
|
@@ -9003,9 +9006,9 @@ ${E}
|
|
|
9003
9006
|
width: 100%;
|
|
9004
9007
|
height: auto;
|
|
9005
9008
|
}
|
|
9006
|
-
`.trim();return{html:E,script:D,css:
|
|
9007
|
-
<style>${W.css}</style>`;if(W.script)
|
|
9008
|
-
<script>${W.script}</script>`;return
|
|
9009
|
+
`.trim();return{html:E,script:D,css:y}}var Z2=!1,X2=!0,J2="metadata",jW="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var K2=k(()=>{b3()});function q2(){return Q4({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async($,Z,Y,X)=>{let{src:Q,options:J}=wW($,Z,Y);if(!Q)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let G={src:Q,poster:J.poster,controls:J.controls!==!1,autoplay:J.autoplay||!1,muted:J.muted||!1,loop:J.loop||!1,preload:J.preload||"metadata",playsinline:J.playsinline!==!1,lazy:J.lazy!==!1,player:J.player||"native",type:J.type,width:J.width,height:J.height,class:J.class,style:J.style,id:J.id,crossorigin:J.crossorigin,disablePictureInPicture:J.disablePictureInPicture,disableRemotePlayback:J.disableRemotePlayback,title:J.title,quality:J.quality,platform:J.platform,process:J.process,generatePoster:J.generatePoster,streaming:J.streaming,transcode:J.transcode,spriteSheet:J.spriteSheet,waveform:J.waveform},q={isDev:Y.__isDev||!1,tsVideosConfig:Y.__tsVideosConfig},W=await D4(G,q),U=W.html;if(W.css)U+=`
|
|
9010
|
+
<style>${W.css}</style>`;if(W.script)U+=`
|
|
9011
|
+
<script>${W.script}</script>`;return U},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function wW($,Z,Y){if(Z.src)return{src:String(Z.src),options:Z.options||{}};let X=$.trim();if(X.startsWith("@video(")||X.startsWith("("))X=X.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Q=AW(X),J=W2(Q[0],Y)||"",G={};if(Q[1]){let K=W2(Q[1],Y);if(typeof K==="object"&&K!==null)G=K;else if(typeof Q[1]==="string")try{G=JSON.parse(Q[1])}catch{}}return{src:J,options:G}}function AW($){let Z=[],Y="",X=!1,Q="",J=0,G=0;for(let K=0;K<$.length;K++){let q=$[K],W=K>0?$[K-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!X)X=!0,Q=q;else if(q===Q)X=!1,Q="";else Y+=q;continue}if(!X){if(q==="{")J++;if(q==="}")J--;if(q==="[")G++;if(q==="]")G--;if(q===","&&J===0&&G===0){Z.push(Y.trim()),Y="";continue}}Y+=q}if(Y.trim())Z.push(Y.trim());return Z}function W2($,Z){if(typeof $!=="string")return $;let Y=$.trim();if(Y.startsWith('"')&&Y.endsWith('"')||Y.startsWith("'")&&Y.endsWith("'"))return Y.slice(1,-1);if(!Y.startsWith("/")&&!Y.startsWith(".")&&!Y.startsWith("http")&&!Y.startsWith("{")){let X=Z[Y];if(X!==void 0)return X}if(Y.startsWith("{")||Y.startsWith("["))try{return JSON.parse(Y)}catch{}return Y}var k3;var b3=k(()=>{$3();K2();k3=q2()});function RW($,Z){let Y=Z.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
|
|
9009
9012
|
${$}
|
|
9010
9013
|
</div>
|
|
9011
9014
|
<script>
|
|
@@ -9050,7 +9053,7 @@ ${E}
|
|
|
9050
9053
|
}
|
|
9051
9054
|
}
|
|
9052
9055
|
})();
|
|
9053
|
-
</script>`}function
|
|
9056
|
+
</script>`}function NW($,Z){let Y=Z.pwa?.updates,X=Y?.message||"A new version is available. Reload to update?",Q=Y?.autoReload||!1,J=$.trim().length>0,G=`
|
|
9054
9057
|
<div class="stx-pwa-update-banner" style="
|
|
9055
9058
|
position: fixed;
|
|
9056
9059
|
bottom: 0;
|
|
@@ -9161,7 +9164,7 @@ else {
|
|
|
9161
9164
|
// Also listen for custom event
|
|
9162
9165
|
window.addEventListener('pwa-update-available', showUpdate);
|
|
9163
9166
|
})();
|
|
9164
|
-
</script>`}function
|
|
9167
|
+
</script>`}function TW($,Z){let Y=$.trim().length>0,X=`
|
|
9165
9168
|
<div class="stx-offline-indicator" style="
|
|
9166
9169
|
position: fixed;
|
|
9167
9170
|
top: 16px;
|
|
@@ -9222,7 +9225,7 @@ else {
|
|
|
9222
9225
|
window.addEventListener('offline', updateStatus);
|
|
9223
9226
|
updateStatus();
|
|
9224
9227
|
})();
|
|
9225
|
-
</script>`}function
|
|
9228
|
+
</script>`}function MW($,Z){let Y=Z.pwa?.push,X=Y?.vapidPublicKey||"",Q=Y?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
|
|
9226
9229
|
${$}
|
|
9227
9230
|
</div>
|
|
9228
9231
|
<script>
|
|
@@ -9304,80 +9307,80 @@ catch (error) {
|
|
|
9304
9307
|
init();
|
|
9305
9308
|
}
|
|
9306
9309
|
})();
|
|
9307
|
-
</script>`}function
|
|
9308
|
-
${$.message}`),Z&&$.line){let J=
|
|
9310
|
+
</script>`}function pL($){return[...$,...S3]}var IW,DW,EW,kW,S3;var y3=k(()=>{IW={name:"pwa.installButton",handler:($,Z,Y,X)=>{let Q=Y.__stx_options||{};return RW($,Q)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},DW={name:"pwa.updatePrompt",handler:($,Z,Y,X)=>{let Q=Y.__stx_options||{};return NW($,Q)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},EW={name:"pwa.offlineIndicator",handler:($,Z,Y,X)=>{let Q=Y.__stx_options||{};return TW($,Q)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},kW={name:"pwa.pushSubscribe",handler:($,Z,Y,X)=>{let Q=Y.__stx_options||{};return MW($,Q)},hasEndTag:!0,description:"Renders a push notification subscription button"},S3=[IW,DW,EW,kW]});function P3($){for(let[Z,Y]of Object.entries(o))if(Y===$)return Z;return}var o;var E4=k(()=>{o={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 Z$(){return!1}function Y$(){return!Z$()||process.env.STX_DEBUG==="true"}function k4(){return!1}import bW from"path";function b4(){return{...C3}}function S4($){if(!C3.showRelativePaths||!$)return $;let Z=C3.baseDir||process.cwd();try{let Y=bW.relative(Z,$);return Y.startsWith("..")?$:Y}catch{return $}}var SW,C3,y4,g1,P4;var C4=k(()=>{E4();SW={showRelativePaths:!1,enableAutoRecovery:Y$(),logRecoveryWarnings:!0},C3={...SW};y4=class y4 extends Error{code;filePath;line;column;context;numericCode;constructor($,Z,Y,X,Q,J,G){super($);this.code=Z;this.filePath=Y;this.line=X;this.column=Q;this.context=J;if(this.name="StxError",this.numericCode=G||o.EVALUATION_ERROR,this.filePath)this.filePath=S4(this.filePath)}};g1=class g1 extends y4{constructor($,Z,Y,X,Q,J){super($,"stx_RUNTIME_ERROR",Z,Y,X,Q,J||o.EVALUATION_ERROR);this.name="StxRuntimeError"}};P4=class P4 extends y4{isFatal=!0;constructor($,Z,Y,X,Q,J){super($,"stx_VALIDATION_ERROR",Z,Y,X,Q,J||o.DOM_API_VIOLATION);this.name="StxValidationError"}}});function z2($){let{type:Z,message:Y,code:X,filePath:Q,line:J,column:G,template:K,offset:q,snippet:W,suggestion:U,format:z="text"}=$,B=J,_=G;if(!B&&K&&q!==void 0){let O=fW(K,q);B=O.line,_=O.column}let j=Q?S4(Q):void 0,H=X?P3(X):void 0,L={type:Z,code:X,codeName:H,message:Y,filePath:j,line:B,column:_,snippet:W,suggestion:U,timestamp:new Date().toISOString()},F;switch(z){case"html":F=PW(L);break;case"json":F=JSON.stringify(L,null,2);break;case"console":F=CW(L,K,q);break;case"text":default:F=yW(L,K,q);break}return{formatted:F,data:L}}function yW($,Z,Y){let X=[],Q=$.code?` [${$.codeName||$.code}]`:"";if(X.push(`[${$.type} Error${Q}]`),$.filePath){let J=$.filePath;if($.line){if(J+=`:${$.line}`,$.column)J+=`:${$.column}`}X.push(`at ${J}`)}if(X.push(`
|
|
9311
|
+
${$.message}`),Z&&$.line){let J=vW(Z,$.line,2);if(J)X.push(`
|
|
9309
9312
|
${J}`)}if($.snippet)X.push(`
|
|
9310
9313
|
Snippet: ${$.snippet}`);if($.suggestion)X.push(`
|
|
9311
|
-
Suggestion: ${$.suggestion}`);return X.join(" ")}function
|
|
9312
|
-
\x1B[90mat\x1B[0m ${
|
|
9314
|
+
Suggestion: ${$.suggestion}`);return X.join(" ")}function PW($){let Z=$.code?` [${$.code}]`:"",Y=$.filePath?` in ${$.filePath}${$.line?`:${$.line}`:""}`:"",X=`<!-- [${$.type} Error${Z}]${Y}: ${U2($.message)}`;if($.suggestion)X+=` | Suggestion: ${U2($.suggestion)}`;return X+=" -->",X}function CW($,Z,Y){let W=[],U=$.code?` [${$.codeName||$.code}]`:"";if(W.push(`\x1B[1m${"\x1B[31m"}\u2501\u2501\u2501 ${$.type} Error${U} \u2501\u2501\u2501${"\x1B[0m"}`),$.filePath){let z=`\x1B[36m${$.filePath}\x1B[0m`;if($.line){if(z+=`\x1B[90m:${$.line}\x1B[0m`,$.column)z+=`\x1B[90m:${$.column}\x1B[0m`}W.push(`
|
|
9315
|
+
\x1B[90mat\x1B[0m ${z}`)}if(W.push(`
|
|
9313
9316
|
|
|
9314
|
-
${$.message}`),Z&&$.line){let
|
|
9317
|
+
${$.message}`),Z&&$.line){let z=xW(Z,$.line,2);if(z)W.push(`
|
|
9315
9318
|
|
|
9316
9319
|
\x1B[90mContext:\x1B[0m
|
|
9317
|
-
${
|
|
9320
|
+
${z}`)}if($.suggestion)W.push(`
|
|
9318
9321
|
|
|
9319
9322
|
\x1B[33mSuggestion:\x1B[0m ${$.suggestion}`);return W.push(`
|
|
9320
|
-
${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501${"\x1B[0m"}`),W.join("")}function
|
|
9323
|
+
${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501${"\x1B[0m"}`),W.join("")}function vW($,Z,Y){let X=$.split(`
|
|
9321
9324
|
`),Q=Math.max(0,Z-Y-1),J=Math.min(X.length-1,Z+Y-1),G=[];for(let K=Q;K<=J;K++){let q=(K+1).toString().padStart(4),W=K===Z-1?">":" ";G.push(`${W}${q} | ${X[K]}`)}return G.join(`
|
|
9322
|
-
`)}function
|
|
9323
|
-
`),Q=Math.max(0,Z-Y-1),J=Math.min(X.length-1,Z+Y-1),G="\x1B[90m",K="\x1B[31m",q="\x1B[0m",W=[];for(let
|
|
9324
|
-
`)}function
|
|
9325
|
-
`);return{line:X.length,column:X[X.length-1].length}}function
|
|
9325
|
+
`)}function xW($,Z,Y){let X=$.split(`
|
|
9326
|
+
`),Q=Math.max(0,Z-Y-1),J=Math.min(X.length-1,Z+Y-1),G="\x1B[90m",K="\x1B[31m",q="\x1B[0m",W=[];for(let U=Q;U<=J;U++){let z=(U+1).toString().padStart(4),B=U===Z-1,_=B?"\x1B[31m>\x1B[0m":" ",j=B?`\x1B[31m${X[U]}\x1B[0m`:`\x1B[90m${X[U]}\x1B[0m`;W.push(`${_}\x1B[90m${z}\x1B[0m | ${j}`)}return W.join(`
|
|
9327
|
+
`)}function U2($){return $.replace(/--/g,"- -").replace(/>/g,">")}function fW($,Z){let X=$.substring(0,Z).split(`
|
|
9328
|
+
`);return{line:X.length,column:X[X.length-1].length}}function t($,Z,Y){return z2({type:$,message:Z,code:Y,format:"html"}).formatted}async function U5($,Z,Y){try{return await $()}catch(X){if(Y&&X instanceof Error)Y(X);return Z}}var B2=k(()=>{E4();C4()});class x3{errors=[];maxErrors;enableFileLogging;logFilePath;logFormat;maxFileSize;maxLogFiles;minLevel;writeQueue=Promise.resolve();constructor($={}){this.maxErrors=$.maxErrors??1000,this.enableFileLogging=$.enableFileLogging??!1,this.logFilePath=$.logFilePath??".stx/errors.log",this.logFormat=$.logFormat??"json",this.maxFileSize=$.maxFileSize??10485760,this.maxLogFiles=$.maxLogFiles??5,this.minLevel=$.minLevel??"all"}configure($){if($.maxErrors!==void 0)this.maxErrors=$.maxErrors;if($.enableFileLogging!==void 0)this.enableFileLogging=$.enableFileLogging;if($.logFilePath!==void 0)this.logFilePath=$.logFilePath;if($.logFormat!==void 0)this.logFormat=$.logFormat;if($.maxFileSize!==void 0)this.maxFileSize=$.maxFileSize;if($.maxLogFiles!==void 0)this.maxLogFiles=$.maxLogFiles;if($.minLevel!==void 0)this.minLevel=$.minLevel}log($,Z,Y="error"){let X={timestamp:new Date,error:$,context:Z,level:Y};if(this.errors.push(X),this.errors.length>this.maxErrors)this.errors=this.errors.slice(-this.maxErrors);if(this.enableFileLogging&&this.shouldLog(Y))this.writeToFile(X)}shouldLog($){if(this.minLevel==="all")return!0;if(this.minLevel==="warning")return $==="error"||$==="warning";if(this.minLevel==="error")return $==="error";return!0}formatEntry($){if(this.logFormat==="json")return JSON.stringify({timestamp:$.timestamp.toISOString(),level:$.level||"error",type:$.error.constructor.name,message:$.error.message,stack:$.error.stack,context:$.context});let Z=[`[${$.timestamp.toISOString()}] [${($.level||"error").toUpperCase()}] ${$.error.constructor.name}: ${$.error.message}`];if($.error.stack)Z.push(` Stack: ${$.error.stack.split(`
|
|
9326
9329
|
`).slice(1).join(`
|
|
9327
9330
|
`)}`);if($.context)Z.push(` Context: ${JSON.stringify($.context)}`);return Z.join(`
|
|
9328
9331
|
`)}writeToFile($){this.writeQueue=this.writeQueue.then(async()=>{try{let Z=await import("fs"),X=(await import("path")).dirname(this.logFilePath);if(!Z.existsSync(X))Z.mkdirSync(X,{recursive:!0});await this.rotateIfNeeded(Z);let Q=`${this.formatEntry($)}
|
|
9329
9332
|
`;Z.appendFileSync(this.logFilePath,Q,"utf-8")}catch(Z){if(process.env.STX_DEBUG==="true")console.error("Failed to write to error log:",Z)}})}async rotateIfNeeded($){try{if(!$.existsSync(this.logFilePath))return;if($.statSync(this.logFilePath).size<this.maxFileSize)return;for(let Y=this.maxLogFiles-1;Y>=1;Y--){let X=`${this.logFilePath}.${Y}`,Q=`${this.logFilePath}.${Y+1}`;if($.existsSync(X))if(Y>=this.maxLogFiles-1)$.unlinkSync(X);else $.renameSync(X,Q)}if(this.maxLogFiles<=1)$.writeFileSync(this.logFilePath,"");else $.renameSync(this.logFilePath,`${this.logFilePath}.1`)}catch(Z){if(process.env.STX_DEBUG==="true")console.error("Failed to rotate error logs:",Z)}}getRecentErrors($=10){return this.errors.slice(-$)}getErrorsByType($){return this.errors.filter((Z)=>Z.error.constructor.name===$)}getErrorsByLevel($){return this.errors.filter((Z)=>Z.level===$)}clear(){this.errors.length=0}async clearLogFile(){try{let $=await import("fs");if($.existsSync(this.logFilePath))$.writeFileSync(this.logFilePath,"","utf-8")}catch($){if(process.env.STX_DEBUG==="true")console.error("Failed to clear error log:",$)}}getStats(){let $={},Z={error:0,warning:0,info:0};for(let Y of this.errors){let X=Y.error.constructor.name;$[X]=($[X]||0)+1;let Q=Y.level||"error";Z[Q]=(Z[Q]||0)+1}return{total:this.errors.length,byType:$,byLevel:Z}}async exportToFile($,Z="json"){let Y=await import("fs"),Q=(await import("path")).dirname($);if(!Y.existsSync(Q))Y.mkdirSync(Q,{recursive:!0});if(Z==="json"){let J=this.errors.map((G)=>({timestamp:G.timestamp.toISOString(),level:G.level||"error",type:G.error.constructor.name,message:G.error.message,stack:G.error.stack,context:G.context}));Y.writeFileSync($,JSON.stringify(J,null,2),"utf-8")}else{let J=this.errors.map((G)=>this.formatEntry(G));Y.writeFileSync($,J.join(`
|
|
9330
9333
|
|
|
9331
|
-
`),"utf-8")}}async flush(){await this.writeQueue}}var
|
|
9332
|
-
@end${K}`;X.push(`Added ${
|
|
9333
|
-
`)}}});var
|
|
9334
|
-
`,V+=`<meta name="title" content="${
|
|
9335
|
-
`;if(O.description)V+=`<meta name="description" content="${
|
|
9336
|
-
`;if(O.keywords){let
|
|
9337
|
-
`}if(O.robots)V+=`<meta name="robots" content="${
|
|
9338
|
-
`;if(O.canonical)V+=`<link rel="canonical" href="${
|
|
9339
|
-
`;if(O.openGraph){let
|
|
9340
|
-
`,
|
|
9341
|
-
`}if(
|
|
9342
|
-
`}if(
|
|
9343
|
-
`}if(
|
|
9344
|
-
`,
|
|
9345
|
-
`;if(
|
|
9346
|
-
`;if(
|
|
9347
|
-
`}if(
|
|
9348
|
-
`}if(O.twitter){let
|
|
9349
|
-
`,
|
|
9350
|
-
`}if(
|
|
9351
|
-
`}if(
|
|
9352
|
-
`}if(
|
|
9353
|
-
`;if(
|
|
9354
|
-
`}if(O.structuredData){let
|
|
9355
|
-
`}return V.trim()}catch(O){let V=O instanceof Error?O.message:String(O);return
|
|
9334
|
+
`),"utf-8")}}async flush(){await this.writeQueue}}var v3,r0,f3;var j2=k(()=>{C4();v3={isEnabled(){return b4().enableAutoRecovery},fixCommonSyntaxErrors($){let Z=b4();if(!Z.enableAutoRecovery)return{fixed:$,fixes:[]};let Y=$,X=[],Q=(Y.match(/\{\{/g)||[]).length,J=(Y.match(/\}\}/g)||[]).length;if(Q>J){let K=Q-J;Y+="}}".repeat(K),X.push(`Added ${K} missing closing braces '}}'`)}let G=["if","foreach","for","switch","section"];for(let K of G){let q=(Y.match(new RegExp(`@${K}\\b`,"g"))||[]).length,W=(Y.match(new RegExp(`@end${K}\\b`,"g"))||[]).length;if(q>W){let U=q-W;for(let z=0;z<U;z++)Y+=`
|
|
9335
|
+
@end${K}`;X.push(`Added ${U} missing @end${K}`)}}if(X.length>0&&Z.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),X.forEach((K)=>console.warn(` - ${K}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:Y,fixes:X}},createFallbackContent($,Z){if(Y$())return`<!-- ${$} failed: ${Z.message} -->`;return"<!-- stx rendering error -->"}};r0=new x3,f3={isDevelopment(){return Y$()},logDetailedError($,Z){if(!this.isDevelopment())return;if(console.error("=== stx Detailed Error ==="),console.error("Error:",$.message),console.error("Stack:",$.stack),Z)console.error("Context:",Z);console.error("========================")},createErrorReport($,Z){let Y=["=== stx Error Report ===",`Time: ${new Date().toISOString()}`,`Error: ${$.message}`,`Type: ${$.constructor.name}`,`Stack: ${$.stack}`];if(Z)Y.push(`Context: ${JSON.stringify(Z,null,2)}`);return Y.push("========================"),Y.join(`
|
|
9336
|
+
`)}}});var _2=()=>{};var H2=k(()=>{E4();B2();j2();_2();C4()});var J1=k(()=>{H2()});function O2($,Z,Y,X){let Q=$;Q=Q.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(K,q,W)=>{if(!W&&q.includes(":")){let U=q.split(":"),z=q,B=U.length>1?U[1]:"";if(B&&Z[B])W=Z[B];else if(z.startsWith("og:")&&Z.openGraph&&Z.openGraph[U[1]])W=Z.openGraph[U[1]];else W="";return W?`<meta property="${l(z)}" content="${l(W)}">`:""}return W?`<meta name="${l(q)}" content="${l(W)}">`:""});let J=/@metaTag\s*\(/g,G;while((G=J.exec(Q))!==null){let K=G.index,q=K+G[0].length-1,W=1,U=q+1;while(U<Q.length&&W>0){if(Q[U]==="(")W++;else if(Q[U]===")"){if(W--,W===0)break}U++}if(W!==0)break;let z=Q.substring(q+1,U).trim(),B=U+1,_=(()=>{try{let j=V0(z,Z);if(!j)return"";let H="<meta";if(j.name)H+=` name="${l(String(j.name))}"`;if(j.property)H+=` property="${l(String(j.property))}"`;if(j.httpEquiv)H+=` http-equiv="${l(String(j.httpEquiv))}"`;if(j.content)H+=` content="${l(String(j.content))}"`;return H+=">",H}catch(j){let H=j instanceof Error?j.message:String(j);return t("MetaTag",H,o.EVALUATION_ERROR)}})();Q=Q.substring(0,K)+_+Q.substring(B),J.lastIndex=0}return Q}function L2($,Z,Y){let X=$,Q=/@structuredData\s*\(/g,J;while((J=Q.exec(X))!==null){let G=J.index,K=G+J[0].length-1,q=1,W=K+1;while(W<X.length&&q>0){if(X[W]==="(")q++;else if(X[W]===")"){if(q--,q===0)break}W++}if(q!==0)break;let U=X.substring(K+1,W).trim(),z=W+1,B=(()=>{try{let _=V0(U,Z);if(!_)return"";if(!_["@context"])_["@context"]="https://schema.org";return`<script type="application/ld+json">${JSON.stringify(_).replace(/<\//g,"<\\/")}</script>`}catch(_){let j=_ instanceof Error?_.message:String(_);return t("StructuredData",j,o.EVALUATION_ERROR)}})();X=X.substring(0,G)+B+X.substring(z),Q.lastIndex=0}return X}function F2($,Z,Y,X){let Q=$,J=/@seo\s*\(\s*\{/g,G;while((G=J.exec(Q))!==null){let K=Q.indexOf("{",G.index+4),q=1,W=K+1,U=null,z=!1;while(W<Q.length&&q>0){let F=Q[W];if(z){z=!1,W++;continue}if(F==="\\"&&U){z=!0,W++;continue}if(U){if(F===U)U=null;W++;continue}if(F==='"'||F==="'"||F==="`"){U=F,W++;continue}if(F==="{")q++;else if(F==="}")q--;W++}if(q!==0)break;let B=Q.substring(W).match(/^\s*\)/);if(!B)break;let _=W+B[0].length,j=Q.substring(K,W),H=Q.substring(G.index,_),L=((F)=>{try{let O=V0(F,Z);if(!O)return"";let V="";if(O.title)V+=`<title>${l(O.title)}</title>
|
|
9337
|
+
`,V+=`<meta name="title" content="${l(O.title)}">
|
|
9338
|
+
`;if(O.description)V+=`<meta name="description" content="${l(O.description)}">
|
|
9339
|
+
`;if(O.keywords){let w=Array.isArray(O.keywords)?O.keywords.join(", "):O.keywords;V+=`<meta name="keywords" content="${l(w)}">
|
|
9340
|
+
`}if(O.robots)V+=`<meta name="robots" content="${l(O.robots)}">
|
|
9341
|
+
`;if(O.canonical)V+=`<link rel="canonical" href="${l(O.canonical)}">
|
|
9342
|
+
`;if(O.openGraph){let w=O.openGraph;if(V+=`<meta property="og:type" content="${l(w.type||"website")}">
|
|
9343
|
+
`,w.title||O.title){let A=w.title||O.title||"";V+=`<meta property="og:title" content="${l(A)}">
|
|
9344
|
+
`}if(w.description||O.description){let A=w.description||O.description||"";V+=`<meta property="og:description" content="${l(A)}">
|
|
9345
|
+
`}if(w.url||O.canonical){let A=w.url||O.canonical||"";V+=`<meta property="og:url" content="${l(A)}">
|
|
9346
|
+
`}if(w.image){if(V+=`<meta property="og:image" content="${l(w.image)}">
|
|
9347
|
+
`,w.imageAlt)V+=`<meta property="og:image:alt" content="${l(w.imageAlt)}">
|
|
9348
|
+
`;if(w.imageWidth)V+=`<meta property="og:image:width" content="${l(String(w.imageWidth))}">
|
|
9349
|
+
`;if(w.imageHeight)V+=`<meta property="og:image:height" content="${l(String(w.imageHeight))}">
|
|
9350
|
+
`}if(w.siteName)V+=`<meta property="og:site_name" content="${l(w.siteName)}">
|
|
9351
|
+
`}if(O.twitter){let w=O.twitter;if(V+=`<meta name="twitter:card" content="${l(w.card||"summary_large_image")}">
|
|
9352
|
+
`,w.title||O.title){let A=w.title||O.title||"";V+=`<meta name="twitter:title" content="${l(A)}">
|
|
9353
|
+
`}if(w.description||O.description){let A=w.description||O.description||"";V+=`<meta name="twitter:description" content="${l(A)}">
|
|
9354
|
+
`}if(w.image||O.openGraph&&O.openGraph.image){let A=w.image||(O.openGraph?O.openGraph.image:"")||"";V+=`<meta name="twitter:image" content="${l(A)}">
|
|
9355
|
+
`}if(w.site)V+=`<meta name="twitter:site" content="${l(w.site)}">
|
|
9356
|
+
`;if(w.creator)V+=`<meta name="twitter:creator" content="${l(w.creator)}">
|
|
9357
|
+
`}if(O.structuredData){let w=JSON.stringify(O.structuredData).replace(/<\//g,"<\\/");V+=`<script type="application/ld+json">${w}</script>
|
|
9358
|
+
`}return V.trim()}catch(O){let V=O instanceof Error?O.message:String(O);return t("SEO",`Error processing @seo directive: ${V}`,o.EVALUATION_ERROR)}})(j);Q=Q.substring(0,G.index)+L+Q.substring(_),J.lastIndex=G.index+L.length}return Q}function V2($,Z,Y){if(Y.seo?.enabled===!1)return $;if($.includes("<!-- stx SEO Tags -->")||Y.skipDefaultSeoTags===!0)return $;let X=Z.__stx_runtime_head;if(!!(X?.title||X?.meta?.some((z)=>z.property==="og:title"||z.name==="og:title"||z.name==="twitter:title"||z.name==="description")))return $;if(/<meta\s+(?:[^>]*\s)?property=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']twitter:title["']/i.test($))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let J=$.includes("<title>")||$.includes("</title>"),G="";if(Z.title)G=Z.title;else if(Z.meta&&Z.meta.title)G=Z.meta.title;else if(Y.seo?.defaultConfig?.title)G=Y.seo.defaultConfig.title;else G=Y.defaultTitle||"stx Project";let K="";if(Z.description)K=Z.description;else if(Z.meta&&Z.meta.description)K=Z.meta.description;else if(Y.seo?.defaultConfig?.description)K=Y.seo.defaultConfig.description;else K=Y.defaultDescription||"A website built with stx templating engine";let q="";if(Z.image)q=Z.image;else if(Z.meta&&Z.meta.image)q=Z.meta.image;else if(Z.openGraph&&Z.openGraph.image)q=Z.openGraph.image;else if(Y.seo?.defaultImage)q=Y.seo.defaultImage;else if(Y.defaultImage)q=Y.defaultImage;let W=`
|
|
9356
9359
|
<!-- stx SEO Tags -->
|
|
9357
|
-
<meta name="title" content="${
|
|
9358
|
-
<meta name="description" content="${
|
|
9359
|
-
<meta property="og:title" content="${
|
|
9360
|
-
<meta property="og:description" content="${
|
|
9360
|
+
<meta name="title" content="${l(G)}">
|
|
9361
|
+
<meta name="description" content="${l(K)}">
|
|
9362
|
+
<meta property="og:title" content="${l(G)}">
|
|
9363
|
+
<meta property="og:description" content="${l(K)}">
|
|
9361
9364
|
<meta property="og:type" content="website">
|
|
9362
9365
|
<meta name="twitter:card" content="summary_large_image">
|
|
9363
|
-
<meta name="twitter:title" content="${
|
|
9364
|
-
<meta name="twitter:description" content="${
|
|
9366
|
+
<meta name="twitter:title" content="${l(G)}">
|
|
9367
|
+
<meta name="twitter:description" content="${l(K)}">
|
|
9365
9368
|
`;if(q)W+=`
|
|
9366
|
-
<meta property="og:image" content="${
|
|
9367
|
-
<meta name="twitter:image" content="${
|
|
9368
|
-
`;let
|
|
9369
|
-
<title>${
|
|
9369
|
+
<meta property="og:image" content="${l(q)}">
|
|
9370
|
+
<meta name="twitter:image" content="${l(q)}">
|
|
9371
|
+
`;let U=$;if(!J)U=U.replace(/<head[^>]*>/,`$&
|
|
9372
|
+
<title>${l(G)}</title>`);return U.replace(/<head[^>]*>/,`$&
|
|
9370
9373
|
${W}
|
|
9371
|
-
`)}function
|
|
9372
|
-
get ${
|
|
9373
|
-
return this.getAttribute('${
|
|
9374
|
+
`)}function l($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var w2,A2;var g3=k(()=>{J1();j0();w2={name:"meta",handler:($,Z,Y,X)=>{if(Z.length<1)return t("Meta","meta directive requires at least the meta name",o.INVALID_DIRECTIVE_SYNTAX);let Q=Z[0].replace(/['"]/g,""),J=Z.length>1?Z[1].replace(/['"]/g,""):"";return`<meta name="${l(Q)}" content="${l(J)}">`},hasEndTag:!1},A2={name:"structuredData",handler:($,Z,Y,X)=>{if($.trim()==="")return t("StructuredData","structuredData directive requires JSON-LD content",o.INVALID_DIRECTIVE_SYNTAX);try{let Q=JSON.parse($);if(!Q["@context"])Q["@context"]="https://schema.org";if(!Q["@type"])return t("StructuredData","structuredData requires @type property",o.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(Q)}</script>`}catch(Q){let J=Q instanceof Error?Q.message:String(Q);return t("StructuredData",J,o.EVALUATION_ERROR)}},hasEndTag:!0}});import X$ from"path";function gW($,Z){let Y=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),X=Y?Y[1].trim():"",Q=Z,J=[],G=!0;if(X){let z=X.match(/export\s+default\s+({[\s\S]*})/);if(z)try{let B=z[1],_=B.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(_)Q=_[1];let j=B.match(/props\s*:\s*\[([\s\S]*?)\]/);if(j)J=j[1].split(",").map((L)=>L.trim().replace(/['"`]/g,"")).filter((L)=>L.length>0);let H=B.match(/shadowDOM\s*:\s*(true|false)/);if(H)G=H[1]==="true"}catch{}}let K=$.match(/<template\b(?![^>]*\bid\s*=)[^>]*>([\s\S]*?)<\/template>/i),q=K?K[1].trim():"",W=$.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),U=W?W[1].trim():"";return{tag:Q,props:J,template:q,styles:U,script:X,shadowDOM:G}}function hW($){let{tag:Z,props:Y,template:X,styles:Q,shadowDOM:J}=$,G=Z.split("-").map((z)=>z.charAt(0).toUpperCase()+z.slice(1)).join(""),K=X.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),q=Q.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),W=Y.map((z)=>`'${z}'`).join(", "),U=Y.map((z)=>`
|
|
9375
|
+
get ${z}() {
|
|
9376
|
+
return this.getAttribute('${z}') || '';
|
|
9374
9377
|
}
|
|
9375
|
-
set ${
|
|
9378
|
+
set ${z}(value) {
|
|
9376
9379
|
if (value) {
|
|
9377
|
-
this.setAttribute('${
|
|
9380
|
+
this.setAttribute('${z}', value);
|
|
9378
9381
|
}
|
|
9379
9382
|
else {
|
|
9380
|
-
this.removeAttribute('${
|
|
9383
|
+
this.removeAttribute('${z}');
|
|
9381
9384
|
}
|
|
9382
9385
|
}`).join(`
|
|
9383
9386
|
`);return`/**
|
|
@@ -9400,7 +9403,7 @@ class ${G} extends HTMLElement {
|
|
|
9400
9403
|
this._render();
|
|
9401
9404
|
}
|
|
9402
9405
|
}
|
|
9403
|
-
${
|
|
9406
|
+
${U}
|
|
9404
9407
|
|
|
9405
9408
|
_render() {
|
|
9406
9409
|
const template = \`${q?`<style>${q}</style>`:""}${K}\`;
|
|
@@ -9419,16 +9422,16 @@ ${z}
|
|
|
9419
9422
|
}
|
|
9420
9423
|
|
|
9421
9424
|
customElements.define('${Z}', ${G});
|
|
9422
|
-
`}async function
|
|
9423
|
-
${
|
|
9424
|
-
</script>`}var O2=k(()=>{J1();L0()});var L2={};r(L2,{timingPlugin:()=>xW,pluginManager:()=>yW,definePlugin:()=>b4,debugPlugin:()=>vW,createVariablesPlugin:()=>fW,createFilterPlugin:()=>CW,createDirectivePlugin:()=>PW,PluginManager:()=>C3});function b4($){return $}class C3{plugins=new Map;sortedPlugins=[];initialized=!1;async register($,Z){if(this.plugins.has($.name))throw Error(`Plugin "${$.name}" is already registered`);if($.dependencies){for(let Y of $.dependencies)if(!this.plugins.has(Y))throw Error(`Plugin "${$.name}" depends on "${Y}" which is not registered`)}if(this.plugins.set($.name,$),$.onRegister)await $.onRegister(Z);this.sortPlugins()}async unregister($){let Z=this.plugins.get($);if(!Z)return!1;for(let[Y,X]of this.plugins)if(X.dependencies?.includes($))throw Error(`Cannot unregister "${$}" because "${Y}" depends on it`);if(Z.onUnregister)await Z.onUnregister();return this.plugins.delete($),this.sortPlugins(),!0}get($){return this.plugins.get($)}has($){return this.plugins.has($)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let $=[];for(let Z of this.sortedPlugins)if(Z.registerDirectives)$.push(...Z.registerDirectives());return $}getAllFilters(){let $={};for(let Z of this.sortedPlugins)if(Z.registerFilters)Object.assign($,Z.registerFilters());return $}async runBeforeProcess($){return this.runHooks("beforeProcess",$)}async runAfterParse($){return this.runHooks("afterParse",$)}async runBeforeDirective($,Z){return this.runDirectiveHooks("beforeDirective",$,Z)}async runAfterDirective($,Z){return this.runDirectiveHooks("afterDirective",$,Z)}async runBeforeRender($){return this.runHooks("beforeRender",$)}async runAfterRender($){return this.runHooks("afterRender",$)}async runOnError($){for(let Z of this.sortedPlugins)if(Z.onError)try{let Y=await Z.onError($);if(Y){if(Y.template!==void 0)$.template=Y.template;if(Y.context)$.context={...$.context,...Y.context};if(Y.metadata)$.metadata={...$.metadata,...Y.metadata};if(Y.skip)return $}}catch(Y){console.error(`Error in plugin "${Z.name}" onError hook:`,Y)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort(($,Z)=>($.priority??100)-(Z.priority??100))}async runHooks($,Z){let Y={...Z};for(let X of this.sortedPlugins){let Q=X[$];if(Q)try{let J=await Q(Y);if(J){if(J.template!==void 0)Y.template=J.template;if(J.context)Y.context={...Y.context,...J.context};if(J.metadata)Y.metadata={...Y.metadata,...J.metadata};if(J.skip)break}}catch(J){console.error(`Error in plugin "${X.name}" ${$} hook:`,J)}}return Y}async runDirectiveHooks($,Z,Y){let X={...Y};for(let Q of this.sortedPlugins){let J=Q[$];if(J)try{let G=await J(Z,X);if(G){if(G.template!==void 0)X.template=G.template;if(G.context)X.context={...X.context,...G.context};if(G.metadata)X.metadata={...X.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${Q.name}" ${$} hook:`,G)}}return X}}function PW($,Z,Y={}){return{name:$,...Y,registerDirectives:()=>Z}}function CW($,Z,Y={}){return{name:$,...Y,registerFilters:()=>Z}}function fW($){return b4({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var yW,vW,xW;var F2=k(()=>{yW=new C3;vW=b4({name:"stx-debug",version:"1.0.0",description:"Logs all plugin lifecycle events for debugging",priority:0,beforeProcess($){console.log("[stx-debug] beforeProcess:",$.filePath)},afterParse($){console.log("[stx-debug] afterParse:",$.template.length,"chars")},beforeDirective($,Z){console.log("[stx-debug] beforeDirective:",$)},afterDirective($,Z){console.log("[stx-debug] afterDirective:",$)},beforeRender($){console.log("[stx-debug] beforeRender")},afterRender($){console.log("[stx-debug] afterRender:",$.template.length,"chars")},onError($){console.error("[stx-debug] onError:",$.error.message,"in phase:",$.phase)}}),xW=b4({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess($){$.metadata.startTime=performance.now()},afterRender($){let Z=$.metadata.startTime;if(Z){let Y=performance.now()-Z;console.log(`[stx-timing] Processing took ${Y.toFixed(2)}ms`)}}})});var R2={};r(R2,{validateConfig:()=>uW,loadStxConfig:()=>W5,defineStxConfig:()=>mW,defaultConfig:()=>g1,config:()=>x3});import v3 from"fs";import D0 from"path";import{loadConfigWithResult as gW}from"bunfig";function hW($,Z){let Y=Z||"pages";if($)return{root:$,pagesDir:Y};let X=D0.join(process.cwd(),"resources","views"),Q=D0.join(process.cwd(),"resources","layouts");if(v3.existsSync(X)&&v3.existsSync(Q))return{root:"resources",pagesDir:"views"};let J=D0.join(process.cwd(),"resources","views","pages");if(v3.existsSync(J))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function dW($){if(H9($.stateDir),$.stateDir=I5(),$.cachePath=E5($.cachePath),$.build)$.build.cacheDir=E5($.build.cacheDir);if($.media?.cache)$.media.cache.directory=E5($.media.cache.directory);if($.story)$.story.outDir=E5($.story.outDir)}async function W5($){if(!$){if(q5)return q5;if(S4)return S4}let Z=$?D0.resolve($):process.cwd(),Y=V2.get(Z);if(Y)return Y;let X=(async()=>{let J=(await gW({name:"stx",alias:"ui",cwd:Z,defaultConfig:g1,verbose:!1})).config;dW(J);let G=hW(J.root,J.pagesDir);if(J.root=G.root,J.pagesDir=G.pagesDir,J.root&&J.root!=="."){let K=J.root;if(J.partialsDir&&!D0.isAbsolute(J.partialsDir))J.partialsDir=D0.join(K,J.partialsDir);if(J.componentsDir&&!D0.isAbsolute(J.componentsDir))J.componentsDir=D0.join(K,J.componentsDir);if(J.layoutsDir&&!D0.isAbsolute(J.layoutsDir))J.layoutsDir=D0.join(K,J.layoutsDir)}if(J.plugins&&J.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (F2(),L2)),q=[],W=[];for(let z of J.plugins){let U=typeof z==="string"?z:z[0],B=typeof z==="string"?{}:z[1]||{};try{let _,j;try{_=await import(U),j=D0.dirname(q0.resolve(U))}catch{let L=D0.resolve(process.cwd(),U);_=await import(L),j=D0.dirname(L)}let H=_.default||_;if(K.register(H,J),H.components){let L=D0.resolve(j,H.components);q.push(L)}if(H.pages){let L=D0.resolve(j,H.pages),F=B.path||"/";W.push({dir:L,prefix:F})}if(H.setup){let L={addDirective:(F)=>{J.customDirectives=J.customDirectives||[],J.customDirectives.push(F)},addRoute:(F,O)=>{J.apiRoutes=J.apiRoutes||{},J.apiRoutes[F]=O},addMiddleware:(F)=>{J.middleware=J.middleware||[],J.middleware.push(F)},pluginDir:j,config:J};await H.setup(B,L)}console.log(`[stx] Plugin loaded: ${H.name||U}`)}catch(_){console.warn(`[stx] Failed to load plugin ${U}:`,_.message)}}J._pluginComponentDirs=q,J._pluginPageDirs=W}return J})();if(V2.set(Z,X),!$)S4=X,X.then((Q)=>{q5=Q}).catch(()=>{});return X}function mW($){return $}function uW($){let Z=[],Y=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")Z.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")Z.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")Z.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")Z.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)Z.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)Z.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let X=["auto","manual","sections"];if(!X.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${X.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let X=["json","yaml","yml","js"];if(!X.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${X.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)Z.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if($.animation.staggerDelay!==void 0){if(typeof $.animation.staggerDelay!=="number"||$.animation.staggerDelay<0)Z.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let X=["AA","AAA"];if(!X.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${X.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let X=["progressive","islands"];if(!X.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${X.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let X=["none","eager","lazy"];if(!X.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${X.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((X,Q)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`customDirectives[${Q}].name`,message:"Custom directive must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`customDirectives[${Q}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))Z.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((X,Q)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`middleware[${Q}].name`,message:"Middleware must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`middleware[${Q}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!X.timing||!["before","after"].includes(X.timing))Z.push({path:`middleware[${Q}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)Y.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if($.seo?.enabled===!0&&!$.seo?.defaultConfig?.title)Y.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if($.pwa){if($.pwa.enabled===!0&&!$.pwa.manifest?.name)Z.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let X=["fullscreen","standalone","minimal-ui","browser"];if(!X.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let X=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!X.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.routes){let X=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Q,J)=>{if(!Q.pattern||typeof Q.pattern!=="string")Z.push({path:`pwa.routes[${J}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!X.includes(Q.strategy))Z.push({path:`pwa.routes[${J}].strategy`,message:`PWA route strategy must be one of: ${X.join(", ")}`,severity:"error"});if(Q.maxAgeSeconds!==void 0&&(typeof Q.maxAgeSeconds!=="number"||Q.maxAgeSeconds<0))Z.push({path:`pwa.routes[${J}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Q.maxEntries!==void 0&&(typeof Q.maxEntries!=="number"||Q.maxEntries<1))Z.push({path:`pwa.routes[${J}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Q)=>typeof Q!=="number"||Q<16||Q>1024).length>0)Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let X=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((J)=>!X.includes(J)).length>0)Z.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.pwa.icons?.src)Y.push({path:"pwa.icons.src",message:"PWA is enabled but no icon source specified. Provide a 512x512 PNG for best results.",severity:"warning"});if($.pwa.enabled===!0&&!$.pwa.manifest?.themeColor)Y.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:Z.length===0,errors:Z,warnings:Y}}var g1,q5=null,V2,S4=null,x3;var z5=k(()=>{B7();j7();_7();H7();o7();yZ();M3();D3();P3();R$();O2();g1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:o1,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:JZ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:H2,hasEndTag:!1,description:"Include a web component in the template"},F9,V9,j2,_2,R9,A9,N9,w9,D9,b9,SZ,T3,...I3],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:"#app-content",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}};V2=new Map;x3=new Proxy(g1,{get($,Z){if(q5&&Z in q5)return q5[Z];if(!S4)W5().catch((Y)=>{console.warn("[stx] Failed to load config file:",Y?.message||Y)});return $[Z]}})});import G0 from"path";import{hasLocalConfig as lW}from"bunfig/discovery";function h3($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function g3($,Z){if(h1.has($))h1.delete($);else if(h1.size>=pW)h1.delete(h1.keys().next().value);h1.set($,Z)}async function cW($){if(!H1)return null;try{let Z=Bun.file(G0.join(H1,`cw-${h3($)}.css`));if(!await Z.exists())return null;return await Z.text()}catch{return null}}async function iW($,Z){if(!H1)return;try{if(!fs.existsSync(H1))fs.mkdirSync(H1,{recursive:!0});await Bun.write(G0.join(H1,`cw-${h3($)}.css`),Z)}catch{}}async function A2($){try{let Z=await import($);if(Z&&Z.CSSGenerator)return{CSSGenerator:Z.CSSGenerator,config:Z.config,build:Z.build,defaultConfig:Z.defaultConfig,extractClasses:Z.extractClasses}}catch{}return null}function nW(){let $=[],Z=process.cwd();while(Z!==G0.dirname(Z))$.push(G0.join(Z,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(G0.join(Z,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(G0.join(Z,"pantry","@cwcss","crosswind","dist","index.js")),$.push(G0.join(Z,"pantry","@cwcss","crosswind","src","index.ts")),$.push(G0.join(Z,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(G0.join(Z,"pantry","@stacksjs","crosswind","dist","index.js")),Z=G0.dirname(Z);return $}function oW(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"";if(Z){let Y=[G0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),G0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),G0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),G0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),G0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),G0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Y)}return $.push(G0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(G0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function sW(){if(w2)return Q1;w2=!0;try{let $=async(Q)=>{for(let J of Q){if(!await Bun.file(J).exists())continue;let G=await A2(J);if(G){if(!process.env.STACKS_DEV_QUIET)console.log(`${O0.green}[Crosswind]${O0.reset} CSS engine loaded from ${G0.dirname(G0.dirname(J))}`);return G}}return null};if(process.env.CROSSWIND_SRC){let Q=G0.resolve(process.env.CROSSWIND_SRC),J=await $([Q]);if(!J)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${Q}`);return Q1=J,Q1}let Z=await $(nW());if(Z)return Q1=Z,Q1;let Y=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Q of Y){let J=await A2(Q);if(J){if(Q1=J,!process.env.STACKS_DEV_QUIET)console.log(`${O0.green}[Crosswind]${O0.reset} CSS engine loaded`);return Q1}}let X=await $(oW());if(X)return Q1=X,Q1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${O0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${O0.reset}`),console.warn(`${O0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${O0.reset}`),null}}async function rW($){try{if(!lW({name:"crosswind",cwd:$}))return null;let{loadConfigWithResult:Z}=await import("bunfig"),Y=await Z({name:"crosswind",cwd:$,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Y?.path||!Y.config||Object.keys(Y.config).length===0)return null;let X=G0.relative($,Y.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${O0.green}[Crosswind]${O0.reset} Loaded config from ${X||Y.path}`);return Y.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${O0.yellow}[Crosswind]${O0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}function aW($){let Z=new Set,Y=/class\s*=\s*["']([^"']+)["']/gi,X=Y.exec($);while(X!==null){for(let G of X[1].split(/\s+/))if(G.trim())Z.add(G.trim());X=Y.exec($)}let Q=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,J=Q.exec($);while(J!==null){let G=J[1].match(/'([^']+)'/g);if(G){for(let K of G)for(let q of K.slice(1,-1).split(/\s+/))if(q.trim())Z.add(q.trim())}J=Q.exec($)}return Z}async function tW($,Z){try{let Y=await sW();if(!Y)return"";let X=typeof Y.extractClasses==="function"?Y.extractClasses($):aW($);if(X.size===0)return"";let Q=Z?G0.resolve(Z):process.cwd();if(!H1)H1=D5(Q,"cache");let J=[...X].sort().join(" "),G=`${f3||"default"}::${J}`,K=h1.get(G);if(K!==void 0)return g3(G,K),K;let q=await cW(G);if(q!==null)return g3(G,q),q;if(!y4){let w=null;try{let{loadStxConfig:N}=await Promise.resolve().then(() => (z5(),R2)),A=await N(Q);if(A.css)if(typeof A.css==="string"){let T=G0.isAbsolute(A.css)?A.css:G0.resolve(Q,A.css);if(await Bun.file(T).exists()){let M=await import(T);w=M.default||M,console.log(`${O0.green}[Crosswind]${O0.reset} Loaded config from stx.config.ts \u2192 ${A.css}`)}}else{if(w={...A.css,content:A.css.content||[],preflight:A.css.preflight??!0,minify:A.css.minify??!1},A.css.config){let T=G0.isAbsolute(A.css.config)?A.css.config:G0.resolve(Q,A.css.config);if(await Bun.file(T).exists()){let M=await import(T);w={...M.default||M,...w}}}console.log(`${O0.green}[Crosswind]${O0.reset} Using inline CSS config from stx.config.ts`)}}catch{}y4=w||await rW(Q);try{f3=h3(JSON.stringify(y4??{}))}catch{f3="unhashable"}}let W=Y.defaultConfig||Y.config,z=y4||{},U=W.theme||{},_=(z.theme||{}).extend||{},j={...U};if(Object.keys(_).length>0)j.extend=_;let H=[...W.safelist||[],...z.safelist||[]],L={...W,...z,content:[],output:"",preflight:!0,minify:!1,theme:j,safelist:H},F=new Y.CSSGenerator(L);for(let w of H)F.generate(w);for(let w of X)F.generate(w);let O=F.toCSS(!0,!1),V=L.shortcuts||z.shortcuts||{};for(let[w,N]of Object.entries(V)){if(!X.has(w)&&!H.includes(w))continue;let A=N.split(/\s+/).filter(Boolean);for(let T of A)F.generate(T)}O=F.toCSS(!0,!1);let R=O.split(`
|
|
9425
|
-
`);for(let[
|
|
9426
|
-
.${
|
|
9427
|
-
@media (prefers-color-scheme: dark) { .dark .${
|
|
9425
|
+
`}async function R2($,Z,Y,X){if(Z.length<1)return t("WebComponent","@webcomponent directive requires at least the tag name parameter",o.INVALID_DIRECTIVE_SYNTAX);let Q=Z[0].replace(/['"]/g,""),G=(Y.__stx_options||{}).componentsDir||"components",K=[X$.join(X$.dirname(X),G,`${Q}.stx`),X$.join(process.cwd(),G,`${Q}.stx`),X$.join(X$.dirname(X),`${Q}.stx`)],q=null;for(let z of K)if(await c(z)){q=await Bun.file(z).text();break}if(!q)return t("WebComponent",`Component file not found: ${Q}.stx`,o.FILE_NOT_FOUND);let W=gW(q,Q);return`<script type="module">
|
|
9426
|
+
${hW(W)}
|
|
9427
|
+
</script>`}var N2=k(()=>{J1();F0()});var T2={};s(T2,{timingPlugin:()=>pW,pluginManager:()=>dW,definePlugin:()=>v4,debugPlugin:()=>lW,createVariablesPlugin:()=>cW,createFilterPlugin:()=>uW,createDirectivePlugin:()=>mW,PluginManager:()=>h3});function v4($){return $}class h3{plugins=new Map;sortedPlugins=[];initialized=!1;async register($,Z){if(this.plugins.has($.name))throw Error(`Plugin "${$.name}" is already registered`);if($.dependencies){for(let Y of $.dependencies)if(!this.plugins.has(Y))throw Error(`Plugin "${$.name}" depends on "${Y}" which is not registered`)}if(this.plugins.set($.name,$),$.onRegister)await $.onRegister(Z);this.sortPlugins()}async unregister($){let Z=this.plugins.get($);if(!Z)return!1;for(let[Y,X]of this.plugins)if(X.dependencies?.includes($))throw Error(`Cannot unregister "${$}" because "${Y}" depends on it`);if(Z.onUnregister)await Z.onUnregister();return this.plugins.delete($),this.sortPlugins(),!0}get($){return this.plugins.get($)}has($){return this.plugins.has($)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let $=[];for(let Z of this.sortedPlugins)if(Z.registerDirectives)$.push(...Z.registerDirectives());return $}getAllFilters(){let $={};for(let Z of this.sortedPlugins)if(Z.registerFilters)Object.assign($,Z.registerFilters());return $}async runBeforeProcess($){return this.runHooks("beforeProcess",$)}async runAfterParse($){return this.runHooks("afterParse",$)}async runBeforeDirective($,Z){return this.runDirectiveHooks("beforeDirective",$,Z)}async runAfterDirective($,Z){return this.runDirectiveHooks("afterDirective",$,Z)}async runBeforeRender($){return this.runHooks("beforeRender",$)}async runAfterRender($){return this.runHooks("afterRender",$)}async runOnError($){for(let Z of this.sortedPlugins)if(Z.onError)try{let Y=await Z.onError($);if(Y){if(Y.template!==void 0)$.template=Y.template;if(Y.context)$.context={...$.context,...Y.context};if(Y.metadata)$.metadata={...$.metadata,...Y.metadata};if(Y.skip)return $}}catch(Y){console.error(`Error in plugin "${Z.name}" onError hook:`,Y)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort(($,Z)=>($.priority??100)-(Z.priority??100))}async runHooks($,Z){let Y={...Z};for(let X of this.sortedPlugins){let Q=X[$];if(Q)try{let J=await Q(Y);if(J){if(J.template!==void 0)Y.template=J.template;if(J.context)Y.context={...Y.context,...J.context};if(J.metadata)Y.metadata={...Y.metadata,...J.metadata};if(J.skip)break}}catch(J){console.error(`Error in plugin "${X.name}" ${$} hook:`,J)}}return Y}async runDirectiveHooks($,Z,Y){let X={...Y};for(let Q of this.sortedPlugins){let J=Q[$];if(J)try{let G=await J(Z,X);if(G){if(G.template!==void 0)X.template=G.template;if(G.context)X.context={...X.context,...G.context};if(G.metadata)X.metadata={...X.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${Q.name}" ${$} hook:`,G)}}return X}}function mW($,Z,Y={}){return{name:$,...Y,registerDirectives:()=>Z}}function uW($,Z,Y={}){return{name:$,...Y,registerFilters:()=>Z}}function cW($){return v4({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var dW,lW,pW;var M2=k(()=>{dW=new h3;lW=v4({name:"stx-debug",version:"1.0.0",description:"Logs all plugin lifecycle events for debugging",priority:0,beforeProcess($){console.log("[stx-debug] beforeProcess:",$.filePath)},afterParse($){console.log("[stx-debug] afterParse:",$.template.length,"chars")},beforeDirective($,Z){console.log("[stx-debug] beforeDirective:",$)},afterDirective($,Z){console.log("[stx-debug] afterDirective:",$)},beforeRender($){console.log("[stx-debug] beforeRender")},afterRender($){console.log("[stx-debug] afterRender:",$.template.length,"chars")},onError($){console.error("[stx-debug] onError:",$.error.message,"in phase:",$.phase)}}),pW=v4({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess($){$.metadata.startTime=performance.now()},afterRender($){let Z=$.metadata.startTime;if(Z){let Y=performance.now()-Z;console.log(`[stx-timing] Processing took ${Y.toFixed(2)}ms`)}}})});var D2={};s(D2,{validateConfig:()=>rW,loadStxConfig:()=>B5,defineStxConfig:()=>sW,defaultConfig:()=>h1,config:()=>m3});import d3 from"fs";import E0 from"path";import{loadConfigWithResult as iW}from"bunfig";function nW($,Z){let Y=Z||"pages";if($)return{root:$,pagesDir:Y};let X=E0.join(process.cwd(),"resources","views"),Q=E0.join(process.cwd(),"resources","layouts");if(d3.existsSync(X)&&d3.existsSync(Q))return{root:"resources",pagesDir:"views"};let J=E0.join(process.cwd(),"resources","views","pages");if(d3.existsSync(J))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function oW($){if(R9($.stateDir),$.stateDir=b5(),$.cachePath=y5($.cachePath),$.build)$.build.cacheDir=y5($.build.cacheDir);if($.media?.cache)$.media.cache.directory=y5($.media.cache.directory);if($.story)$.story.outDir=y5($.story.outDir)}async function B5($){if(!$){if(z5)return z5;if(x4)return x4}let Z=$?E0.resolve($):process.cwd(),Y=I2.get(Z);if(Y)return Y;let X=(async()=>{let J=(await iW({name:"stx",alias:"ui",cwd:Z,defaultConfig:h1,verbose:!1})).config;oW(J);let G=nW(J.root,J.pagesDir);if(J.root=G.root,J.pagesDir=G.pagesDir,J.root&&J.root!=="."){let K=J.root;if(J.partialsDir&&!E0.isAbsolute(J.partialsDir))J.partialsDir=E0.join(K,J.partialsDir);if(J.componentsDir&&!E0.isAbsolute(J.componentsDir))J.componentsDir=E0.join(K,J.componentsDir);if(J.layoutsDir&&!E0.isAbsolute(J.layoutsDir))J.layoutsDir=E0.join(K,J.layoutsDir)}if(J.plugins&&J.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (M2(),T2)),q=[],W=[];for(let U of J.plugins){let z=typeof U==="string"?U:U[0],B=typeof U==="string"?{}:U[1]||{};try{let _,j;try{_=await import(z),j=E0.dirname(K0.resolve(z))}catch{let L=E0.resolve(process.cwd(),z);_=await import(L),j=E0.dirname(L)}let H=_.default||_;if(K.register(H,J),H.components){let L=E0.resolve(j,H.components);q.push(L)}if(H.pages){let L=E0.resolve(j,H.pages),F=B.path||"/";W.push({dir:L,prefix:F})}if(H.setup){let L={addDirective:(F)=>{J.customDirectives=J.customDirectives||[],J.customDirectives.push(F)},addRoute:(F,O)=>{J.apiRoutes=J.apiRoutes||{},J.apiRoutes[F]=O},addMiddleware:(F)=>{J.middleware=J.middleware||[],J.middleware.push(F)},pluginDir:j,config:J};await H.setup(B,L)}console.log(`[stx] Plugin loaded: ${H.name||z}`)}catch(_){console.warn(`[stx] Failed to load plugin ${z}:`,_.message)}}J._pluginComponentDirs=q,J._pluginPageDirs=W}return J})();if(I2.set(Z,X),!$)x4=X,X.then((Q)=>{z5=Q}).catch(()=>{});return X}function sW($){return $}function rW($){let Z=[],Y=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")Z.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")Z.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")Z.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")Z.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)Z.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)Z.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let X=["auto","manual","sections"];if(!X.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${X.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let X=["json","yaml","yml","js"];if(!X.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${X.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)Z.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if($.animation.staggerDelay!==void 0){if(typeof $.animation.staggerDelay!=="number"||$.animation.staggerDelay<0)Z.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let X=["AA","AAA"];if(!X.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${X.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let X=["progressive","islands"];if(!X.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${X.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let X=["none","eager","lazy"];if(!X.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${X.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((X,Q)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`customDirectives[${Q}].name`,message:"Custom directive must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`customDirectives[${Q}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))Z.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((X,Q)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`middleware[${Q}].name`,message:"Middleware must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`middleware[${Q}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!X.timing||!["before","after"].includes(X.timing))Z.push({path:`middleware[${Q}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)Y.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if($.seo?.enabled===!0&&!$.seo?.defaultConfig?.title)Y.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if($.pwa){if($.pwa.enabled===!0&&!$.pwa.manifest?.name)Z.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let X=["fullscreen","standalone","minimal-ui","browser"];if(!X.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let X=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!X.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.routes){let X=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Q,J)=>{if(!Q.pattern||typeof Q.pattern!=="string")Z.push({path:`pwa.routes[${J}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!X.includes(Q.strategy))Z.push({path:`pwa.routes[${J}].strategy`,message:`PWA route strategy must be one of: ${X.join(", ")}`,severity:"error"});if(Q.maxAgeSeconds!==void 0&&(typeof Q.maxAgeSeconds!=="number"||Q.maxAgeSeconds<0))Z.push({path:`pwa.routes[${J}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Q.maxEntries!==void 0&&(typeof Q.maxEntries!=="number"||Q.maxEntries<1))Z.push({path:`pwa.routes[${J}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Q)=>typeof Q!=="number"||Q<16||Q>1024).length>0)Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let X=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((J)=>!X.includes(J)).length>0)Z.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.pwa.icons?.src)Y.push({path:"pwa.icons.src",message:"PWA is enabled but no icon source specified. Provide a 512x512 PNG for best results.",severity:"warning"});if($.pwa.enabled===!0&&!$.pwa.manifest?.themeColor)Y.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:Z.length===0,errors:Z,warnings:Y}}var h1,z5=null,I2,x4=null,m3;var j5=k(()=>{O7();L7();F7();V7();e7();hZ();b3();y3();g3();T$();N2();h1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:a1,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:zZ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:R2,hasEndTag:!1,description:"Include a web component in the template"},M9,I9,w2,A2,D9,k9,b9,E9,C9,f9,gZ,k3,...S3],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:"#app-content",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}};I2=new Map;m3=new Proxy(h1,{get($,Z){if(z5&&Z in z5)return z5[Z];if(!x4)B5().catch((Y)=>{console.warn("[stx] Failed to load config file:",Y?.message||Y)});return $[Z]}})});import Q0 from"path";import{hasLocalConfig as aW}from"bunfig/discovery";function p3($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function l3($,Z){if(d1.has($))d1.delete($);else if(d1.size>=tW)d1.delete(d1.keys().next().value);d1.set($,Z)}async function eW($){if(!O1)return null;try{let Z=Bun.file(Q0.join(O1,`cw-${p3($)}.css`));if(!await Z.exists())return null;return await Z.text()}catch{return null}}async function $U($,Z){if(!O1)return;try{if(!fs.existsSync(O1))fs.mkdirSync(O1,{recursive:!0});await Bun.write(Q0.join(O1,`cw-${p3($)}.css`),Z)}catch{}}async function k2($){try{let Z=await import($);if(Z&&Z.CSSGenerator)return{CSSGenerator:Z.CSSGenerator,config:Z.config,build:Z.build,defaultConfig:Z.defaultConfig,extractClasses:Z.extractClasses}}catch{}return null}function ZU(){let $=[],Z=process.cwd();while(Z!==Q0.dirname(Z))$.push(Q0.join(Z,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(Q0.join(Z,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(Q0.join(Z,"pantry","@cwcss","crosswind","dist","index.js")),$.push(Q0.join(Z,"pantry","@cwcss","crosswind","src","index.ts")),$.push(Q0.join(Z,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(Q0.join(Z,"pantry","@stacksjs","crosswind","dist","index.js")),Z=Q0.dirname(Z);return $}function YU(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"";if(Z){let Y=[Q0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),Q0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),Q0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),Q0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),Q0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),Q0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Y)}return $.push(Q0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(Q0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function XU(){if(E2)return Q1;E2=!0;try{let $=async(Q)=>{for(let J of Q){if(!await Bun.file(J).exists())continue;let G=await k2(J);if(G){if(!process.env.STACKS_DEV_QUIET)console.log(`${L0.green}[Crosswind]${L0.reset} CSS engine loaded from ${Q0.dirname(Q0.dirname(J))}`);return G}}return null};if(process.env.CROSSWIND_SRC){let Q=Q0.resolve(process.env.CROSSWIND_SRC),J=await $([Q]);if(!J)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${Q}`);return Q1=J,Q1}let Z=await $(ZU());if(Z)return Q1=Z,Q1;let Y=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Q of Y){let J=await k2(Q);if(J){if(Q1=J,!process.env.STACKS_DEV_QUIET)console.log(`${L0.green}[Crosswind]${L0.reset} CSS engine loaded`);return Q1}}let X=await $(YU());if(X)return Q1=X,Q1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${L0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${L0.reset}`),console.warn(`${L0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${L0.reset}`),null}}async function JU($){try{if(!aW({name:"crosswind",cwd:$}))return null;let{loadConfigWithResult:Z}=await import("bunfig"),Y=await Z({name:"crosswind",cwd:$,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Y?.path||!Y.config||Object.keys(Y.config).length===0)return null;let X=Q0.relative($,Y.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${L0.green}[Crosswind]${L0.reset} Loaded config from ${X||Y.path}`);return Y.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${L0.yellow}[Crosswind]${L0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}function QU($){let Z=new Set,Y=/class\s*=\s*["']([^"']+)["']/gi,X=Y.exec($);while(X!==null){for(let G of X[1].split(/\s+/))if(G.trim())Z.add(G.trim());X=Y.exec($)}let Q=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,J=Q.exec($);while(J!==null){let G=J[1].match(/'([^']+)'/g);if(G){for(let K of G)for(let q of K.slice(1,-1).split(/\s+/))if(q.trim())Z.add(q.trim())}J=Q.exec($)}return Z}async function GU($,Z){try{let Y=await XU();if(!Y)return"";let X=typeof Y.extractClasses==="function"?Y.extractClasses($):QU($);if(X.size===0)return"";let Q=Z?Q0.resolve(Z):process.cwd();if(!O1)O1=S5(Q,"cache");let J=[...X].sort().join(" "),G=`${u3||"default"}::${J}`,K=d1.get(G);if(K!==void 0)return l3(G,K),K;let q=await eW(G);if(q!==null)return l3(G,q),q;if(!f4){let A=null;try{let{loadStxConfig:N}=await Promise.resolve().then(() => (j5(),D2)),R=await N(Q);if(R.css)if(typeof R.css==="string"){let T=Q0.isAbsolute(R.css)?R.css:Q0.resolve(Q,R.css);if(await Bun.file(T).exists()){let M=await import(T);A=M.default||M,console.log(`${L0.green}[Crosswind]${L0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(A={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let T=Q0.isAbsolute(R.css.config)?R.css.config:Q0.resolve(Q,R.css.config);if(await Bun.file(T).exists()){let M=await import(T);A={...M.default||M,...A}}}console.log(`${L0.green}[Crosswind]${L0.reset} Using inline CSS config from stx.config.ts`)}}catch{}f4=A||await JU(Q);try{u3=p3(JSON.stringify(f4??{}))}catch{u3="unhashable"}}let W=Y.defaultConfig||Y.config,U=f4||{},z=W.theme||{},_=(U.theme||{}).extend||{},j={...z};if(Object.keys(_).length>0)j.extend=_;let H=[...W.safelist||[],...U.safelist||[]],L={...W,...U,content:[],output:"",preflight:!0,minify:!1,theme:j,safelist:H},F=new Y.CSSGenerator(L);for(let A of H)F.generate(A);for(let A of X)F.generate(A);let O=F.toCSS(!0,!1),V=L.shortcuts||U.shortcuts||{};for(let[A,N]of Object.entries(V)){if(!X.has(A)&&!H.includes(A))continue;let R=N.split(/\s+/).filter(Boolean);for(let T of R)F.generate(T)}O=F.toCSS(!0,!1);let w=O.split(`
|
|
9428
|
+
`);for(let[A,N]of Object.entries(V)){if(!X.has(A)&&!H.includes(A))continue;let R=N.split(/\s+/).filter(Boolean),T=[],M=[];for(let I of R){let E=I.startsWith("dark:"),S=`.${(E?I.slice(5):I).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let b=0;b<w.length;b++){let v=w[b].trim();if(v===`${S} {`||v.startsWith(`${S} {`)){let h=b,f="";while(h<w.length){if(f+=w[h],w[h].includes("}"))break;h++}let m=f.match(/\{([^}]+)\}/);if(m)if(E)M.push(m[1].trim());else T.push(m[1].trim());break}}}if(T.length)O+=`
|
|
9429
|
+
.${A} { ${T.join(" ")} }`;if(M.length)O+=`
|
|
9430
|
+
@media (prefers-color-scheme: dark) { .dark .${A} { ${M.join(" ")} } }`}return l3(G,O),$U(G,O),O}catch(Y){return console.warn("Failed to generate Crosswind CSS:",Y),""}}async function b2($,Z){let Y=await GU($,Z);if(!Y)return $;let X=`<style data-crosswind="generated">
|
|
9428
9431
|
${Y}
|
|
9429
9432
|
</style>`,Q=/<style data-crosswind="generated">[\s\S]*?<\/style>/g;if(Q.test($)){let J=!1;return $.replace(Q,()=>{if(J)return"";return J=!0,X})}if($.includes("</head>"))return $.replace("</head>",`${X}
|
|
9430
9433
|
</head>`);if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
|
|
9431
|
-
${X}`);return X+$}var Q1=null,
|
|
9434
|
+
${X}`);return X+$}var Q1=null,E2=!1,f4=null,tW=256,d1,O1=null,u3=null;var S2=k(()=>{T$();N9();d1=new Map});function y2(){return`
|
|
9432
9435
|
// STX Lifecycle Runtime
|
|
9433
9436
|
(function() {
|
|
9434
9437
|
if (typeof window === 'undefined') return;
|
|
@@ -9773,7 +9776,7 @@ else {
|
|
|
9773
9776
|
|
|
9774
9777
|
console.log('[stx] Lifecycle runtime initialized');
|
|
9775
9778
|
})();
|
|
9776
|
-
`}function
|
|
9779
|
+
`}function c3($){return Symbol($)}var GV,KV,qV;var P2=k(()=>{GV=c3("theme"),KV=c3("router"),qV=c3("i18n")});import*as v2 from"crypto";function C2($){let Z=/\$(\w+)\./g,Y=[],X;while((X=Z.exec($))!==null)if(!Y.includes(X[1]))Y.push(X[1]);return Y}function KU(){return`stx-${v2.randomBytes(4).toString("hex")}`}function qU($){return/\$\w+\./.test($)}function WU($){let Z=[],Y=new Set,X=/<(\w+)([^>]*?)(\s*\/?>)/g,Q=$;return Q=Q.replace(X,(J,G,K,q)=>{if(["script","style","template"].includes(G.toLowerCase()))return J;let W=[],U=!1,z=K,B=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,_=[...K.matchAll(B)];for(let L of _){let F=L[0],O=L[1],V=L[2];if(qU(V)){U=!0;let w=V.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(w){let A=w[1];if(W.push({attr:O,expr:A,fullMatch:F,originalAttr:O}),C2(A).forEach((R)=>Y.add(R)),O==="text")z=z.replace(F,"");else if(O==="class")z=z.replace(F,'class=""');else if(O==="disabled"||O==="hidden")z=z.replace(F,"");else z=z.replace(F,`${O}=""`)}}}if(!U)return J;let j=z.match(/\bid\s*=\s*"([^"]+)"/),H;if(j)H=j[1];else H=KU(),z=` id="${H}"${z}`;for(let L of W)Z.push({elementId:H,attribute:L.attr,expression:L.expr,stores:C2(L.expr)});return`<${G}${z}${q}`}),{html:Q,bindings:Z,stores:Y}}function UU($,Z){if($.length===0)return"";let Y=Array.from(Z),X=`
|
|
9777
9780
|
<script>
|
|
9778
9781
|
(function() {
|
|
9779
9782
|
'use strict';
|
|
@@ -9931,10 +9934,10 @@ else {
|
|
|
9931
9934
|
}
|
|
9932
9935
|
})();
|
|
9933
9936
|
</script>
|
|
9934
|
-
`,X}function
|
|
9937
|
+
`,X}function x2($){let{html:Z,bindings:Y,stores:X}=WU($);if(Y.length===0)return $;let Q=UU(Y,X),J=Z.lastIndexOf("</body>");if(J!==-1)return Z.slice(0,J)+Q+Z.slice(J);return Z+Q}var f2=()=>{};function zU($){let Z=$.analytics;if(!Z?.enabled)return"";switch(Z.driver){case"fathom":return BU(Z);case"google-analytics":return jU(Z);case"plausible":return _U(Z);case"self-hosted":return HU(Z);case"custom":return OU(Z);default:return""}}function BU($){let Z=$.fathom;if(!Z?.siteId)return"";let Y=Z.scriptUrl||"https://cdn.usefathom.com/script.js",X=Z.defer!==!1?" defer":"",Q=[`data-site="${g0(Z.siteId)}"`];if(Z.honorDnt)Q.push('data-honor-dnt="true"');if(Z.spa)Q.push('data-spa="auto"');if(Z.canonical)Q.push(`data-canonical="${g0(Z.canonical)}"`);if(Z.auto===!1)Q.push('data-auto="false"');return`
|
|
9935
9938
|
<!-- Fathom Analytics -->
|
|
9936
|
-
<script src="${
|
|
9937
|
-
`}function
|
|
9939
|
+
<script src="${g0(Y)}" ${Q.join(" ")}${X}></script>
|
|
9940
|
+
`}function jU($){let Z=$.googleAnalytics;if(!Z?.measurementId)return"";let Y=g0(Z.measurementId),X=Z.debug?`gtag('config', '${Y}', { 'debug_mode': true });`:"";return`
|
|
9938
9941
|
<!-- Google Analytics -->
|
|
9939
9942
|
<script async src="https://www.googletagmanager.com/gtag/js?id=${Y}"></script>
|
|
9940
9943
|
<script>
|
|
@@ -9944,10 +9947,10 @@ else {
|
|
|
9944
9947
|
gtag('config', '${Y}');
|
|
9945
9948
|
${X}
|
|
9946
9949
|
</script>
|
|
9947
|
-
`}function
|
|
9950
|
+
`}function _U($){let Z=$.plausible;if(!Z?.domain)return"";let Y=Z.scriptUrl||"https://plausible.io/js/script.js",X=[`data-domain="${g0(Z.domain)}"`],Q=Y,J=[];if(Z.trackLocalhost)J.push("local");if(Z.hashMode)J.push("hash");if(J.length>0&&Y==="https://plausible.io/js/script.js")Q=`https://plausible.io/js/script.${J.join(".")}.js`;return`
|
|
9948
9951
|
<!-- Plausible Analytics -->
|
|
9949
|
-
<script defer data-domain="${
|
|
9950
|
-
`}function
|
|
9952
|
+
<script defer data-domain="${g0(Z.domain)}" src="${g0(Q)}"></script>
|
|
9953
|
+
`}function HU($){let Z=$.selfHosted;if(!Z?.siteId||!Z?.apiEndpoint)return"";let Y=g0(Z.siteId),X=g0(Z.apiEndpoint),Q=Z.honorDnt?'if(n.doNotTrack==="1")return;':"",J=Z.trackHashChanges?"w.addEventListener('hashchange',pv);":"",G=Z.trackOutboundLinks?`
|
|
9951
9954
|
d.addEventListener('click',function(e){
|
|
9952
9955
|
var a=e.target.closest('a');
|
|
9953
9956
|
if(a&&a.hostname!==location.hostname){
|
|
@@ -9980,15 +9983,15 @@ else {
|
|
|
9980
9983
|
w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
|
|
9981
9984
|
})();
|
|
9982
9985
|
</script>
|
|
9983
|
-
`}function
|
|
9986
|
+
`}function OU($){let Z=$.custom;if(!Z)return"";if(Z.inlineScript)return`
|
|
9984
9987
|
<!-- Custom Analytics -->
|
|
9985
9988
|
<script>
|
|
9986
9989
|
${Z.inlineScript}
|
|
9987
9990
|
</script>
|
|
9988
|
-
`;if(!Z.scriptUrl)return"";let Y=[];if(Z.scriptId)Y.push(`id="${
|
|
9991
|
+
`;if(!Z.scriptUrl)return"";let Y=[];if(Z.scriptId)Y.push(`id="${g0(Z.scriptId)}"`);if(Z.attributes)for(let[Q,J]of Object.entries(Z.attributes))Y.push(`${g0(Q)}="${g0(J)}"`);return`
|
|
9989
9992
|
<!-- Custom Analytics -->
|
|
9990
|
-
<script${Y.length>0?` ${Y.join(" ")}`:""} src="${
|
|
9991
|
-
`}function
|
|
9993
|
+
<script${Y.length>0?` ${Y.join(" ")}`:""} src="${g0(Z.scriptUrl)}" defer></script>
|
|
9994
|
+
`}function g2($,Z){let Y=zU(Z);if(!Y)return $;if(!$.includes("</head>")){let X=$.lastIndexOf("</body>");if(X!==-1)return $.slice(0,X)+Y+$.slice(X);return $+Y}return $.replace("</head>",`${Y}</head>`)}function g0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}var h2=()=>{};function u2($){let Z={prevent:!1,stop:!1,once:!1,capture:!1,self:!1,passive:!1,keys:[],systemKeys:[],mouse:null,debounce:null,throttle:null};for(let Y of $){let X=Y.toLowerCase();if(X==="prevent")Z.prevent=!0;else if(X==="stop")Z.stop=!0;else if(X==="once")Z.once=!0;else if(X==="capture")Z.capture=!0;else if(X==="self")Z.self=!0;else if(X==="passive")Z.passive=!0;else if(LU.has(X))Z.systemKeys.push(X);else if(X in l2)Z.mouse=X;else if(X in m2||/^[a-z]$/.test(X))Z.keys.push(m2[X]||X.toUpperCase());else if(X.startsWith("debounce")){let Q=X.match(/debounce(?:\.(\d+))?/);Z.debounce=Q?.[1]?Number.parseInt(Q[1],10):300}else if(X.startsWith("throttle")){let Q=X.match(/throttle(?:\.(\d+))?/);Z.throttle=Q?.[1]?Number.parseInt(Q[1],10):300}}return Z}function p2($){let Z=[],Y=0,X=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,Q;while((Q=X.exec($))!==null){let[J,G,K]=Q,q=Q.index,W=q+J.length,U=`__stx_evt_${Y++}`,z=[],B=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,_;while((_=B.exec(K))!==null){let[,H,L]=_,F=H.split("."),O=F[0];if(!d2.has(O))continue;z.push({attribute:`@${H}`,event:O,handler:L,modifiers:u2(F.slice(1)),elementId:U})}let j=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((_=j.exec(K))!==null){let[,H,L]=_,F=H.split("."),O=F[0];if(!d2.has(O))continue;z.push({attribute:`@${H}`,event:O,handler:L,modifiers:u2(F.slice(1)),elementId:U})}if(z.length>0)Z.push({originalTag:J,elementId:U,events:z,startIndex:q,endIndex:W})}return Z}function FU($){let Z=[],{modifiers:Y}=$;if(Y.self)Z.push("if ($event.target !== $el) return");for(let X of Y.systemKeys)Z.push(`if (!$event.${X}Key) return`);if(Y.keys.length>0){let X=Y.keys.map((Q)=>`$event.key === '${Q}'`).join(" || ");Z.push(`if (!(${X})) return`)}if(Y.mouse!==null){let X=l2[Y.mouse];Z.push(`if ($event.button !== ${X}) return`)}if(Y.prevent)Z.push("$event.preventDefault()");if(Y.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function VU($,Z){let Y=$;if(Z.debounce!==null)Y=`__stx_debounce(() => { ${Y} }, ${Z.debounce})`;else if(Z.throttle!==null)Y=`__stx_throttle(() => { ${Y} }, ${Z.throttle})`;return Y}function wU($){let{modifiers:Z}=$,Y=$.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),X=FU($),Q=VU($.handler,Z),J=[];if(Z.once)J.push("once: true");if(Z.capture)J.push("capture: true");if(Z.passive)J.push("passive: true");let G=J.length>0?`, { ${J.join(", ")} }`:"",K=Q.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if($.event==="mounted")return`
|
|
9992
9995
|
(function() {
|
|
9993
9996
|
var $el = document.getElementById('${Y}');
|
|
9994
9997
|
if (!$el) return;
|
|
@@ -10042,7 +10045,7 @@ else {
|
|
|
10042
10045
|
__stx_runHandler('${K}', $event, $el);
|
|
10043
10046
|
}
|
|
10044
10047
|
}${G});
|
|
10045
|
-
})();`}function
|
|
10048
|
+
})();`}function AU($){if($.length===0)return"";return`
|
|
10046
10049
|
<script data-stx-events>
|
|
10047
10050
|
(function() {
|
|
10048
10051
|
'use strict';
|
|
@@ -10090,11 +10093,11 @@ else {
|
|
|
10090
10093
|
}
|
|
10091
10094
|
|
|
10092
10095
|
// Event listeners
|
|
10093
|
-
${$.flatMap((Y)=>Y.events).map(
|
|
10096
|
+
${$.flatMap((Y)=>Y.events).map(wU).join(`
|
|
10094
10097
|
`)}
|
|
10095
10098
|
})();
|
|
10096
|
-
</script>`}function
|
|
10097
|
-
`+J.slice(K);else J+=G;return J}var
|
|
10099
|
+
</script>`}function RU($){let Z=p2($);if(Z.length===0)return{template:$,bindings:[]};let Y=$,X=[];for(let Q=Z.length-1;Q>=0;Q--){let J=Z[Q],G=J.originalTag;if(!G.includes(" id="))G=G.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${J.elementId}"`);else{let K=G.match(/id=["']([^"']+)["']/);if(K)for(let q of J.events)q.elementId=K[1]}for(let K of J.events){let q=K.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),W=new RegExp(`\\s*${q}\\s*=\\s*"[^"]*"`,"g"),U=new RegExp(`\\s*${q}\\s*=\\s*'[^']*'`,"g");G=G.replace(W,""),G=G.replace(U,"")}Y=Y.slice(0,J.startIndex)+G+Y.slice(J.endIndex),X.push(...J.events)}return{template:Y,bindings:X}}function c2($,Z,Y){if(/\b(?:state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)||/@(?:model|show|for|if)\s*=/.test($)||/data-stx(?:-auto)?(?![-\w])/.test($))return $;if(Z.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test($))return $;let{template:q,bindings:W}=RU($),U=Z.__stx_event_bindings||[];return Z.__stx_event_bindings=[...U,...W],q}let Q=p2($);if(Q.length===0)return $;let J=$;for(let q=Q.length-1;q>=0;q--){let W=Q[q],U=W.originalTag;if(!U.includes(" id="))U=U.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${W.elementId}"`);else{let z=U.match(/id=["']([^"']+)["']/);if(z)for(let B of W.events)B.elementId=z[1]}for(let z of W.events){let B=z.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),_=new RegExp(`\\s*${B}\\s*=\\s*"[^"]*"`,"g"),j=new RegExp(`\\s*${B}\\s*=\\s*'[^']*'`,"g");U=U.replace(_,""),U=U.replace(j,"")}J=J.slice(0,W.startIndex)+U+J.slice(W.endIndex)}let G=AU(Q),K=J.lastIndexOf("</body>");if(K!==-1)J=J.slice(0,K)+G+`
|
|
10100
|
+
`+J.slice(K);else J+=G;return J}var d2,m2,LU,l2;var i2=k(()=>{d2=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"]),m2={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"},LU=new Set(["ctrl","alt","shift","meta"]),l2={left:0,middle:1,right:2}});function g4($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function n2($,Z){let Y=$.match(new RegExp(`${Z}\\s*=\\s*"([^"]*)"`,"i"));if(Y)return Y[1];let X=$.match(new RegExp(`${Z}\\s*=\\s*'([^']*)'`,"i"));if(X)return X[1];return null}function TU($){let Z=[],Y=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,X;while((X=Y.exec($))!==null){let[Q,J,G]=X,K=X.index,q=n2(G,"x-data");if(!q)continue;let W=`__stx_scope_${s2++}`,U=n2(G,"x-init"),z=MU($,J,K+Q.length),B=$.slice(K,z.endIndex),_=IU(B);Z.push({id:W,selector:`[data-stx-scope="${W}"]`,stateExpr:q,initExpr:U,bindings:[],refs:_})}return Z}function MU($,Z,Y){let X=1,Q=Y,J=new RegExp(`<${Z}(?:\\s|>)`,"gi"),G=new RegExp(`</${Z}>`,"gi"),K=new RegExp(`<${Z}[^>]*/\\s*>`,"gi");while(X>0&&Q<$.length){J.lastIndex=Q,G.lastIndex=Q,K.lastIndex=Q;let q=J.exec($),W=G.exec($),U=K.exec($);if(U&&U.index<(q?.index??1/0)){Q=U.index+U[0].length;continue}if(!W)return{endIndex:$.length};if(q&&q.index<W.index)X++,Q=q.index+q[0].length;else{if(X--,X===0)return{endIndex:W.index+W[0].length};Q=W.index+W[0].length}}return{endIndex:$.length}}function IU($){let Z=new Map,Y=$.replace(/x-data\s*=\s*"[^"]*"/gi,'x-data="__stripped__"').replace(/x-data\s*=\s*'[^']*'/gi,"x-data='__stripped__'"),X=/<[a-z][a-z0-9-]*\s+([^>]*x-ref\s*=\s*["']([^"']*)["'][^>]*)>/gi,Q;while((Q=X.exec(Y))!==null){let[,J,G]=Q,K=DU(J);Z.set(G,K)}return Z}function DU($){let Z=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(Z)return Z[1];return`__stx_el_${NU++}`}function EU(){return`
|
|
10098
10101
|
// STX Reactive Runtime - x-cloak and transition CSS
|
|
10099
10102
|
(function() {
|
|
10100
10103
|
var style = document.createElement('style');
|
|
@@ -10301,7 +10304,7 @@ window.__stx_reactive = (function() {
|
|
|
10301
10304
|
|
|
10302
10305
|
return { initScope: initScope, reactive: reactive };
|
|
10303
10306
|
})();
|
|
10304
|
-
`}function
|
|
10307
|
+
`}function o2($,Z){let Y=$.replace(/\{!!([\s\S]*?)!!\}/g,(X,Q)=>{try{let J=l0(Q,Z,!0);if(J===void 0)return X;return String(J)}catch{return X}});return Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(X,Q)=>{try{let J=l0(Q,Z,!0);if(J===void 0)return X;if(typeof J==="string"){let G=J.trim();if(G.startsWith("{")&&G.endsWith("}")||G.startsWith("[")&&G.endsWith("]"))try{return JSON.parse(G),G}catch{}}return JSON.stringify(J)}catch{return X}}),Y}function kU($,Z){if($.length===0)return"";let Y=$.map((X)=>{let Q=JSON.stringify(Object.fromEntries(X.refs)),J=o2(X.stateExpr,Z),G=X.initExpr?o2(X.initExpr,Z):null,K=JSON.stringify(J),q=G?JSON.stringify(G):"null";return`
|
|
10305
10308
|
(function() {
|
|
10306
10309
|
var scopeEl = document.querySelector('${X.selector}');
|
|
10307
10310
|
if (!scopeEl) return;
|
|
@@ -10310,16 +10313,16 @@ window.__stx_reactive = (function() {
|
|
|
10310
10313
|
})();`}).join(`
|
|
10311
10314
|
`);return`
|
|
10312
10315
|
<script data-stx-scoped data-stx-reactive>
|
|
10313
|
-
${
|
|
10316
|
+
${EU()}
|
|
10314
10317
|
${Y}
|
|
10315
|
-
</script>`}function
|
|
10316
|
-
`+Q.slice(G);else Q+=J;return Q}function Az($,Z){let Y=$;for(let X of Z){let J=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${P4(X.stateExpr)}["']`,"gi").exec(Y);if(J)X.id=J[1],X.selector=`[data-stx-scope="${X.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${P4(X.stateExpr)}["'][^>]*data-stx-scope="([^"]*)"`,"gi").exec(Y);if(K)X.id=K[1],X.selector=`[data-stx-scope="${X.id}"]`;else Y=Y.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*"${P4(X.stateExpr)}")([^>]*>)`,"gi"),`$1data-stx-scope="${X.id}" $2$3$4`),Y=Y.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*'${P4(X.stateExpr)}')([^>]*>)`,"gi"),`$1data-stx-scope="${X.id}" $2$3$4`)}}return Y=Y.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),Y=Y.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),Y=Y.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),Y=Y.replace(/\s*x-init\s*=\s*'[^']*'/g,""),Y}function Nz($){return/x-data\s*=\s*["']/.test($)}var u2=0,Hz=0;var p2=k(()=>{a0()});import Tz from"fs";import m3 from"path";import{createHighlighter as Mz}from"ts-syntax-highlighter";async function Iz($,Z={}){try{if(!await n($))throw Error(`Markdown file not found: ${$}`);let X=(await Tz.promises.stat($)).mtime.getTime();if(Z.cache&&u3.has($)){let U=u3.get($);if(U.updatedAt>=X)return{content:U.content,data:U.data}}let Q=await Bun.file($).text(),{data:J,content:G}=y9(Q),K=Z.markdown||x3.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},W=k5(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)W=await Dz(W,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let z={content:W,data:J||{}};if(Z.cache)u3.set($,{...z,updatedAt:X});return z}catch(Y){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,Y);let X=Y instanceof Error?Y.message:String(Y);return{content:W0("Markdown File",`Error reading/parsing markdown file: ${X}`,$,"",0,""),data:{}}}}async function Dz($,Z,Y){let X=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!C4)try{C4=await Mz({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let Q=async(K,q,W,z)=>{let U=z.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"),B=W||(Y?"text":"");if(!B)return K;try{if(!C4.getSupportedLanguages().includes(B))return K;return(await C4.highlight(U,B,{theme:Z})).html}catch(_){console.error(`Error highlighting code block with language ${W}:`,_)}return K},J=$,G=$.matchAll(X);for(let K of G){let[q,W,z,U]=K,B=await Q(q,W,z,U);J=J.replace(q,B)}return J}async function c2($,Z,Y="",X={}){return await Ez($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,q,W)=>{try{let z=K;if(!m3.isAbsolute(K))z=m3.resolve(m3.dirname(Y),K);let U={};if(q)try{try{U=JSON.parse(q)}catch{if(X.debug)console.warn("Using safer alternative for parsing JS object literal");let O=q.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let V of O){let R=V.indexOf(":");if(R>0){let w=V.substring(0,R).trim(),N=V.substring(R+1).trim(),A=N.startsWith('"')&&N.endsWith('"'),T=N.startsWith("'")&&N.endsWith("'");if(A||T)N=N.substring(1,N.length-1);U[w]=N}}}}catch(F){if(X.debug)console.error("Error parsing context in @markdown-file directive:",F)}let{content:B,data:_}=await Iz(z,X),j={...Z,..._,...U},H=B,L=/\{\{([^}]+)\}\}/g;return H=H.replace(L,(F,O)=>{let V=O.trim();return j[V]!==void 0?String(j[V]):F}),H}catch(z){let U=z instanceof Error?z.message:String(z);return W0("Markdown File",`Error including markdown file: ${U}`,Y,$,W,G)}})}async function Ez($,Z,Y){let X=[],Q;while((Q=Z.exec($))!==null){let K=Q[0],q=Q.index,W=Q;X.push(Y(...W).then((z)=>({match:K,replacement:z,index:q})))}let J=await Promise.all(X);J.sort((K,q)=>q.index-K.index);let G=$;for(let{match:K,replacement:q}of J)G=G.replace(K,()=>q);return G}var u3,C4=null;var i2=k(()=>{z5();L0();u3=new Map});function O1($,Z){try{let Y=$.trim();if(J0(Y))return Q0(Y,Object.keys(Z))(...Object.values(Z));else return Z0(Y,Z)}catch{return!1}}var n2=k(()=>{_0()});function kz($,Z,Y){let X=$,Q=!0;while(Q){Q=!1;let J=X.match(/@switch\s*\(/);if(!J||J.index===void 0)break;let G=J.index,K=P7(X,G);if(!K)break;try{let q;if(J0(K.expression))q=Q0(K.expression,Object.keys(Z))(...Object.values(Z));else q=Z0(K.expression,Z);let W="",z=!1;for(let U of K.cases)if(U.type==="default"){if(!z)W=U.content.trim()}else try{let B;if(U.value&&J0(U.value))B=Q0(U.value,Object.keys(Z))(...Object.values(Z));else if(U.value)B=Z0(U.value,Z);if(q===B){W=U.content.trim(),z=!0;break}}catch{continue}X=X.substring(0,G)+W+X.substring(K.end),Q=!0}catch(q){let W=q instanceof Error?q.message:String(q),z=$0("Switch",`Error evaluating @switch expression: ${W}`,o.EVALUATION_ERROR);X=X.substring(0,G)+z+X.substring(K.end);break}}return X}function d1($,Z,Y){let X=$;X=kz(X,Z,Y);{let J=!0;while(J){J=!1;let G=X.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,q=j1(X,K+7);if(!q)break;let W=q.endPos,z=y1(X,"unless","endunless",W);if(z===-1){console.warn(`[stx] @unless directive at position ${K} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let U=X.slice(W,z),B=q.expression,_=-1;{let H=0,L=/@(?:if|unless)\s*\(/g,F=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,V=[],R;while((R=L.exec(U))!==null)V.push({pos:R.index,type:"open"});while((R=F.exec(U))!==null)V.push({pos:R.index,type:"close"});while((R=O.exec(U))!==null)V.push({pos:R.index,type:"else"});V.sort((w,N)=>w.pos-N.pos);for(let w of V)if(w.type==="open")H++;else if(w.type==="close")H--;else if(w.type==="else"&&H===0){_=w.pos;break}}let j;if(_!==-1){let H=U.slice(0,_),L=U.slice(_+5);j=`@if (${B})${L}@else ${H}@endif`}else j=`@if (!(${B}))${U}@endif`;X=X.substring(0,K)+j+X.substring(z+10),J=!0}}X=p3(X,Z,Y),X=c3(X,Z,Y),X=l3(X,Z);let Q=()=>{let J=i5(X);if(J.length===0)return!1;for(let G=J.length-1;G>=0;G--){let K=J[G];try{let q="",W=!1;for(let z of K.branches){if(W)break;if(z.type==="else")q=z.content,W=!0;else try{let U;if(z.condition&&J0(z.condition))U=Q0(z.condition,Object.keys(Z))(...Object.values(Z));else if(z.condition)U=Z0(z.condition,Z);if(U)q=z.content,W=!0}catch(U){q=$0(z.type==="if"?"If":"Elseif",`Error in @${z.type}(${z.condition}): ${U instanceof Error?U.message:String(U)}`,o.EVALUATION_ERROR),W=!0}}X=X.substring(0,K.start)+q+X.substring(K.end)}catch(q){let W=q instanceof Error?q.message:String(q),z=$0("If",`Error processing @if block: ${W}`,o.EVALUATION_ERROR);X=X.substring(0,K.start)+z+X.substring(K.end)}}return!0};while(!0){let J=X;if(!Q())break;if(X===J)break}return X}function o2($){let Z=0;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let Y=$[Z];if(Y!=="'"&&Y!=='"')return null;Z++;let X=[];while(Z<$.length){let Q=$[Z];if(Q==="\\"&&Z+1<$.length){X.push($[Z+1]),Z+=2;continue}if(Q===Y){Z++;break}X.push(Q),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:X.join(""),consumed:Z}}function l3($,Z){let Y=$;function X(K,q,W,z){let U=1,B=z,_=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${W}(?![a-z])`,"g");while(B<K.length&&U>0){_.lastIndex=B,j.lastIndex=B;let H=_.exec(K),L=j.exec(K),F=H?H.index:1/0,O=L?L.index:1/0;if(F<O)U++,B=F+H[0].length;else if(O<1/0){if(U--,U===0)return O;B=O+L[0].length}else break}return-1}function Q(K,q,W){let z=0,U=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),B=new RegExp(`@${W}(?![a-z])`,"g"),_=/@else(?![a-z])/g,j=[],H;while((H=U.exec(K))!==null)j.push({pos:H.index,type:"open"});while((H=B.exec(K))!==null)j.push({pos:H.index,type:"close"});while((H=_.exec(K))!==null)j.push({pos:H.index,type:"else"});j.sort((L,F)=>L.pos-F.pos);for(let L of j)if(L.type==="open")z++;else if(L.type==="close")z--;else if(L.type==="else"&&z===0)return L.pos;return-1}{let K=!0;while(K){K=!1;let q=Y.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,z,U,B=Y.slice(W+5),_=o2(B);if(_)z=_.value,U=W+5+_.consumed;else U=W+5;let j=X(Y,"auth","endauth",U);if(j===-1){console.warn(`[stx] @auth directive at position ${W} has no matching @endauth \u2014 the block was skipped.`);break}let H=Y.slice(U,j),L=Q(H,"auth","endauth"),F;if(!Z.auth)F=!1;else F=z?O1(`auth?.check && auth?.user?.[${z}]`,Z):O1("auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),R=H.slice(L+5);O=F?V:R}else O=F?H:"";Y=Y.substring(0,W)+O+Y.substring(j+8),K=!0}}{let K=!0;while(K){K=!1;let q=Y.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,z,U,B=Y.slice(W+6),_=o2(B);if(_)z=_.value,U=W+6+_.consumed;else U=W+6;let j=X(Y,"guest","endguest",U);if(j===-1){console.warn(`[stx] @guest directive at position ${W} has no matching @endguest \u2014 the block was skipped.`);break}let H=Y.slice(U,j),L=Q(H,"guest","endguest"),F;if(!Z.auth)F=!0;else F=z?O1(`!auth?.check || !auth?.user?.[${z}]`,Z):O1("!auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),R=H.slice(L+5);O=F?V:R}else O=F?H:"";Y=Y.substring(0,W)+O+Y.substring(j+9),K=!0}}function J(K,q,W){if(Z.userCan&&typeof Z.userCan[K]==="boolean")return Z.userCan[K];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let z=[K];if(q)z.push(q);if(W){let U=O1(W,Z);z.push(U)}return Z.permissions.check(...z)}catch{return!1}return!1}function G(K){let q=K.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!q)return null;return{ability:q[1],type:q[2],id:q[3]?.trim(),paramsEnd:q[0].length}}for(let K of["can","cannot"]){let q=`end${K}`,W=K==="can"?"elsecan":"elsecannot",z=!0;while(z){z=!1;let U=Y.match(new RegExp(`@${K}\\s*\\(`));if(!U||U.index===void 0)break;let B=U.index,_=Y.slice(B+`@${K}`.length),j=G(_);if(!j)break;let H=B+`@${K}`.length+j.paramsEnd,L=X(Y,K,q,H);if(L===-1){console.warn(`[stx] @${K} directive at position ${B} has no matching @${q} \u2014 the block was skipped.`);break}let F=Y.slice(H,L),O=[],V=0,R=new RegExp(`@${K}\\s*\\(`,"g"),w=new RegExp(`@${q}(?![a-z])`,"g"),N=new RegExp(`@${W}\\s*\\(`,"g"),A=/@else(?![a-z])/g,T=[],M;while((M=R.exec(F))!==null)T.push({pos:M.index,type:"open"});while((M=w.exec(F))!==null)T.push({pos:M.index,type:"close"});while((M=N.exec(F))!==null)T.push({pos:M.index,type:"elseDirective"});while((M=A.exec(F))!==null)T.push({pos:M.index,type:"else"});T.sort((b,C)=>b.pos-C.pos);for(let b of T){if(b.type==="open"){V++;continue}if(b.type==="close"){V--;continue}if(V===0)O.push(b)}let I=[],E=0;for(let b=0;b<O.length;b++){let C=O[b];if(I.push({content:F.slice(E,C.pos),ability:void 0}),C.type==="elseDirective"){let h=F.slice(C.pos+`@${W}`.length),x=G(h);if(x){I[I.length-1]={content:F.slice(E,C.pos)},E=C.pos+`@${W}`.length+x.paramsEnd,I.push({content:"",ability:x.ability,type:x.type,id:x.id}),I.pop();let u=O[b+1],t=u?u.pos:F.length;I.push({content:F.slice(E,t),ability:x.ability,type:x.type,id:x.id}),E=t}}else E=C.pos+5}if(E<F.length){let b=I[I.length-1];if(O.length>0&&O[O.length-1].type==="else")I.push({content:F.slice(E),isFinalElse:!0});else if(I.length===0)I.push({content:F.slice(E)})}let D=J(j.ability,j.type,j.id),P=K==="can"?D:!D,S="";if(P)S=I[0]?.content||"";else{let b=!1;for(let C=1;C<I.length;C++){let h=I[C];if(h.isFinalElse){S=h.content,b=!0;break}if(h.ability){let x=J(h.ability,h.type,h.id);if(K==="can"?x:!x){S=h.content,b=!0;break}}}if(!b&&I.length>0){let C=I[I.length-1];if(C.isFinalElse)S=C.content}}Y=Y.substring(0,B)+S+Y.substring(L+`@${q}`.length),z=!0}}return Y}function p3($,Z,Y){let X=$;function Q(J,G,K,q,W){let z=!0;while(z){z=!1;let U=new RegExp(`@${G}\\s*\\(`),B=J.match(U);if(!B||B.index===void 0)break;let _=B.index,j=j1(J,_+`@${G}`.length);if(!j)break;let H=j.endPos,L=y1(J,G,K,H);if(L===-1){console.warn(`[stx] @${G} directive at position ${_} has no matching @${K} \u2014 the block was skipped.`);break}let F=J.slice(H,L),O=j.expression,V=-1,R=0,w=0;while(w<F.length){let N=F.indexOf("@",w);if(N===-1)break;let A=F.substring(N);if(/^@(?:if|unless|isset|empty)\s*\(/.test(A)){R++,w=N+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(A)){R--,w=N+1;continue}if(R===0&&/^@else(?![a-z])/.test(A)){V=N;break}w=N+1}try{let N=q(O.trim()),A;if(V!==-1){let T=F.slice(0,V),M=F.slice(V+5);A=N?T:M}else A=N?F:"";J=J.substring(0,_)+A+J.substring(L+`@${K}`.length),z=!0}catch(N){let A=N instanceof Error?N.message:String(N),T=$0(W,`Error processing @${G} directive: ${A}`,o.EVALUATION_ERROR);J=J.substring(0,_)+T+J.substring(L+`@${K}`.length);break}}return J}return X=Q(X,"isset","endisset",(J)=>{let G=O1(J,Z);return G!==void 0&&G!==null},"Isset"),X=Q(X,"empty","endempty",(J)=>{let G=O1(J,Z);return G===void 0||G===null||G===""||G===0||G===!1||Array.isArray(G)&&G.length===0||typeof G==="object"&&G!==null&&Object.keys(G).length===0},"Empty"),X}function c3($,Z,Y){let X=$,Q="development";function J(G,K,q,W){let z=new RegExp(`@${K}(?![a-z])`,"g"),U=new RegExp(`@${q}(?![a-z])`,"g"),B=new RegExp(`^@${K}(?![a-z])`),_=new RegExp(`^@${q}(?![a-z])`),j=G,H=!0;while(H){H=!1,z.lastIndex=0;let L=z.exec(j);if(!L)break;let F=L.index,O=F+L[0].length;if(K==="env"){let D=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!D)break;O+=D[0].length,W=Q===D[2]}let V=1,R=O,w=-1;while(V>0&&R<j.length){z.lastIndex=R,U.lastIndex=R;let D=z.exec(j),P=U.exec(j),S=D?D.index:1/0,b=P?P.index:1/0;if(S<b)V++,R=S+D[0].length;else if(b<1/0){if(V--,V===0){w=b;break}R=b+P[0].length}else break}if(w===-1){console.warn(`[stx] @${K} directive at position ${F} has no matching @${q} \u2014 the block was skipped.`);break}let N=j.substring(O,w),A=-1,T=0,M=0;while(M<N.length){let D=N.indexOf("@",M);if(D===-1)break;let P=N.substring(D);if(B.test(P)){T++,M=D+1;continue}if(_.test(P)){T--,M=D+1;continue}if(T===0&&/^@else(?![a-z])/.test(P)){A=D;break}M=D+1}let I;if(A!==-1){let D=N.slice(0,A),P=N.slice(A+5);I=W?D:P}else I=W?N:"";let E=`@${q}`.length;j=j.substring(0,F)+I+j.substring(w+E),H=!0}return j}return X=J(X,"env","endenv",!1),X=J(X,"production","endproduction",Q==="production"),X=J(X,"development","enddevelopment",Q==="development"),X=J(X,"staging","endstaging",Q==="staging"),X=J(X,"testing","endtesting",Q==="testing"),X}var v4=k(()=>{n2();J1();v$();_0()});function r2($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function x4($,Z){if(!$)return Z?.nonceGenerator?.()??r2();let Y=s2.get($);if(!Y)Y=Z?.nonceGenerator?.()??r2(),s2.set($,Y);return Y}function bz($,Z){let Y=[];for(let[X,Q]of Object.entries($)){if(Q===void 0||Q===null)continue;if(typeof Q==="boolean"){if(Q)Y.push(X);continue}if(Array.isArray(Q)){let J=[...Q];if(Z&&(X==="script-src"||X==="style-src"))J=J.filter((G)=>!G.startsWith("'nonce-")),J.push(`'nonce-${Z}'`);if(J.length>0)Y.push(`${X} ${J.join(" ")}`)}}return Y.join("; ")}function a2($,Z){return`<meta http-equiv="Content-Security-Policy" content="${bz($,Z).replace(/&/g,"&").replace(/"/g,""")}">`}function t2($,Z,Y){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let X=Z.useNonce?x4(Y,Z):void 0,Q=a2(Z.directives,X);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
10317
|
-
${Q}`)}function
|
|
10318
|
-
${
|
|
10319
|
-
${
|
|
10320
|
-
`),X=[{obj:Z,indent:-1}];for(let Q of Y){let J=Q.replace(/#.*$/,"").trimEnd();if(!J.trim())continue;let G=J.search(/\S/);if(G===-1)continue;while(X.length>1&&X[X.length-1].indent>=G)X.pop();let K=X[X.length-1].obj,q=J.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(q){let[,,W,
|
|
10318
|
+
</script>`}function r2($,Z,Y){if(s2=0,!SU($))return $;let X=TU($);if(X.length===0)return $;let Q=bU($,X),J=kU(X,Z),G=Q.lastIndexOf("</body>");if(G!==-1)Q=Q.slice(0,G)+J+`
|
|
10319
|
+
`+Q.slice(G);else Q+=J;return Q}function bU($,Z){let Y=$;for(let X of Z){let J=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${g4(X.stateExpr)}["']`,"gi").exec(Y);if(J)X.id=J[1],X.selector=`[data-stx-scope="${X.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${g4(X.stateExpr)}["'][^>]*data-stx-scope="([^"]*)"`,"gi").exec(Y);if(K)X.id=K[1],X.selector=`[data-stx-scope="${X.id}"]`;else Y=Y.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*"${g4(X.stateExpr)}")([^>]*>)`,"gi"),`$1data-stx-scope="${X.id}" $2$3$4`),Y=Y.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*'${g4(X.stateExpr)}')([^>]*>)`,"gi"),`$1data-stx-scope="${X.id}" $2$3$4`)}}return Y=Y.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),Y=Y.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),Y=Y.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),Y=Y.replace(/\s*x-init\s*=\s*'[^']*'/g,""),Y}function SU($){return/x-data\s*=\s*["']/.test($)}var s2=0,NU=0;var a2=k(()=>{t0()});import yU from"fs";import i3 from"path";import{createHighlighter as PU}from"ts-syntax-highlighter";async function CU($,Z={}){try{if(!await c($))throw Error(`Markdown file not found: ${$}`);let X=(await yU.promises.stat($)).mtime.getTime();if(Z.cache&&n3.has($)){let z=n3.get($);if(z.updatedAt>=X)return{content:z.content,data:z.data}}let Q=await Bun.file($).text(),{data:J,content:G}=h9(Q),K=Z.markdown||m3.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},W=P5(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)W=await vU(W,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let U={content:W,data:J||{}};if(Z.cache)n3.set($,{...U,updatedAt:X});return U}catch(Y){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,Y);let X=Y instanceof Error?Y.message:String(Y);return{content:q0("Markdown File",`Error reading/parsing markdown file: ${X}`,$,"",0,""),data:{}}}}async function vU($,Z,Y){let X=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!h4)try{h4=await PU({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let Q=async(K,q,W,U)=>{let z=U.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"),B=W||(Y?"text":"");if(!B)return K;try{if(!h4.getSupportedLanguages().includes(B))return K;return(await h4.highlight(z,B,{theme:Z})).html}catch(_){console.error(`Error highlighting code block with language ${W}:`,_)}return K},J=$,G=$.matchAll(X);for(let K of G){let[q,W,U,z]=K,B=await Q(q,W,U,z);J=J.replace(q,B)}return J}async function t2($,Z,Y="",X={}){return await xU($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,q,W)=>{try{let U=K;if(!i3.isAbsolute(K))U=i3.resolve(i3.dirname(Y),K);let z={};if(q)try{try{z=JSON.parse(q)}catch{if(X.debug)console.warn("Using safer alternative for parsing JS object literal");let O=q.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let V of O){let w=V.indexOf(":");if(w>0){let A=V.substring(0,w).trim(),N=V.substring(w+1).trim(),R=N.startsWith('"')&&N.endsWith('"'),T=N.startsWith("'")&&N.endsWith("'");if(R||T)N=N.substring(1,N.length-1);z[A]=N}}}}catch(F){if(X.debug)console.error("Error parsing context in @markdown-file directive:",F)}let{content:B,data:_}=await CU(U,X),j={...Z,..._,...z},H=B,L=/\{\{([^}]+)\}\}/g;return H=H.replace(L,(F,O)=>{let V=O.trim();return j[V]!==void 0?String(j[V]):F}),H}catch(U){let z=U instanceof Error?U.message:String(U);return q0("Markdown File",`Error including markdown file: ${z}`,Y,$,W,G)}})}async function xU($,Z,Y){let X=[],Q;while((Q=Z.exec($))!==null){let K=Q[0],q=Q.index,W=Q;X.push(Y(...W).then((U)=>({match:K,replacement:U,index:q})))}let J=await Promise.all(X);J.sort((K,q)=>q.index-K.index);let G=$;for(let{match:K,replacement:q}of J)G=G.replace(K,()=>q);return G}var n3,h4=null;var e2=k(()=>{j5();F0();n3=new Map});function L1($,Z){try{let Y=$.trim();if(X0(Y))return J0(Y,Object.keys(Z))(...Object.values(Z));else return e(Y,Z)}catch{return!1}}var $Y=k(()=>{j0()});function fU($,Z,Y){let X=$,Q=!0;while(Q){Q=!1;let J=X.match(/@switch\s*\(/);if(!J||J.index===void 0)break;let G=J.index,K=f7(X,G);if(!K)break;try{let q;if(X0(K.expression))q=J0(K.expression,Object.keys(Z))(...Object.values(Z));else q=e(K.expression,Z);let W="",U=!1;for(let z of K.cases)if(z.type==="default"){if(!U)W=z.content.trim()}else try{let B;if(z.value&&X0(z.value))B=J0(z.value,Object.keys(Z))(...Object.values(Z));else if(z.value)B=e(z.value,Z);if(q===B){W=z.content.trim(),U=!0;break}}catch{continue}X=X.substring(0,G)+W+X.substring(K.end),Q=!0}catch(q){let W=q instanceof Error?q.message:String(q),U=t("Switch",`Error evaluating @switch expression: ${W}`,o.EVALUATION_ERROR);X=X.substring(0,G)+U+X.substring(K.end);break}}return X}function m1($,Z,Y){let X=$;X=fU(X,Z,Y);{let J=!0;while(J){J=!1;let G=X.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,q=_1(X,K+7);if(!q)break;let W=q.endPos,U=P1(X,"unless","endunless",W);if(U===-1){console.warn(`[stx] @unless directive at position ${K} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let z=X.slice(W,U),B=q.expression,_=-1;{let H=0,L=/@(?:if|unless)\s*\(/g,F=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,V=[],w;while((w=L.exec(z))!==null)V.push({pos:w.index,type:"open"});while((w=F.exec(z))!==null)V.push({pos:w.index,type:"close"});while((w=O.exec(z))!==null)V.push({pos:w.index,type:"else"});V.sort((A,N)=>A.pos-N.pos);for(let A of V)if(A.type==="open")H++;else if(A.type==="close")H--;else if(A.type==="else"&&H===0){_=A.pos;break}}let j;if(_!==-1){let H=z.slice(0,_),L=z.slice(_+5);j=`@if (${B})${L}@else ${H}@endif`}else j=`@if (!(${B}))${z}@endif`;X=X.substring(0,K)+j+X.substring(U+10),J=!0}}X=s3(X,Z,Y),X=r3(X,Z,Y),X=o3(X,Z);let Q=()=>{let J=s5(X);if(J.length===0)return!1;for(let G=J.length-1;G>=0;G--){let K=J[G];try{let q="",W=!1;for(let U of K.branches){if(W)break;if(U.type==="else")q=U.content,W=!0;else try{let z;if(U.condition&&X0(U.condition))z=J0(U.condition,Object.keys(Z))(...Object.values(Z));else if(U.condition)z=e(U.condition,Z);if(z)q=U.content,W=!0}catch(z){q=t(U.type==="if"?"If":"Elseif",`Error in @${U.type}(${U.condition}): ${z instanceof Error?z.message:String(z)}`,o.EVALUATION_ERROR),W=!0}}X=X.substring(0,K.start)+q+X.substring(K.end)}catch(q){let W=q instanceof Error?q.message:String(q),U=t("If",`Error processing @if block: ${W}`,o.EVALUATION_ERROR);X=X.substring(0,K.start)+U+X.substring(K.end)}}return!0};while(!0){let J=X;if(!Q())break;if(X===J)break}return X}function ZY($){let Z=0;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let Y=$[Z];if(Y!=="'"&&Y!=='"')return null;Z++;let X=[];while(Z<$.length){let Q=$[Z];if(Q==="\\"&&Z+1<$.length){X.push($[Z+1]),Z+=2;continue}if(Q===Y){Z++;break}X.push(Q),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:X.join(""),consumed:Z}}function o3($,Z){let Y=$;function X(K,q,W,U){let z=1,B=U,_=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${W}(?![a-z])`,"g");while(B<K.length&&z>0){_.lastIndex=B,j.lastIndex=B;let H=_.exec(K),L=j.exec(K),F=H?H.index:1/0,O=L?L.index:1/0;if(F<O)z++,B=F+H[0].length;else if(O<1/0){if(z--,z===0)return O;B=O+L[0].length}else break}return-1}function Q(K,q,W){let U=0,z=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),B=new RegExp(`@${W}(?![a-z])`,"g"),_=/@else(?![a-z])/g,j=[],H;while((H=z.exec(K))!==null)j.push({pos:H.index,type:"open"});while((H=B.exec(K))!==null)j.push({pos:H.index,type:"close"});while((H=_.exec(K))!==null)j.push({pos:H.index,type:"else"});j.sort((L,F)=>L.pos-F.pos);for(let L of j)if(L.type==="open")U++;else if(L.type==="close")U--;else if(L.type==="else"&&U===0)return L.pos;return-1}{let K=!0;while(K){K=!1;let q=Y.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,U,z,B=Y.slice(W+5),_=ZY(B);if(_)U=_.value,z=W+5+_.consumed;else z=W+5;let j=X(Y,"auth","endauth",z);if(j===-1){console.warn(`[stx] @auth directive at position ${W} has no matching @endauth \u2014 the block was skipped.`);break}let H=Y.slice(z,j),L=Q(H,"auth","endauth"),F;if(!Z.auth)F=!1;else F=U?L1(`auth?.check && auth?.user?.[${U}]`,Z):L1("auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),w=H.slice(L+5);O=F?V:w}else O=F?H:"";Y=Y.substring(0,W)+O+Y.substring(j+8),K=!0}}{let K=!0;while(K){K=!1;let q=Y.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,U,z,B=Y.slice(W+6),_=ZY(B);if(_)U=_.value,z=W+6+_.consumed;else z=W+6;let j=X(Y,"guest","endguest",z);if(j===-1){console.warn(`[stx] @guest directive at position ${W} has no matching @endguest \u2014 the block was skipped.`);break}let H=Y.slice(z,j),L=Q(H,"guest","endguest"),F;if(!Z.auth)F=!0;else F=U?L1(`!auth?.check || !auth?.user?.[${U}]`,Z):L1("!auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),w=H.slice(L+5);O=F?V:w}else O=F?H:"";Y=Y.substring(0,W)+O+Y.substring(j+9),K=!0}}function J(K,q,W){if(Z.userCan&&typeof Z.userCan[K]==="boolean")return Z.userCan[K];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let U=[K];if(q)U.push(q);if(W){let z=L1(W,Z);U.push(z)}return Z.permissions.check(...U)}catch{return!1}return!1}function G(K){let q=K.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!q)return null;return{ability:q[1],type:q[2],id:q[3]?.trim(),paramsEnd:q[0].length}}for(let K of["can","cannot"]){let q=`end${K}`,W=K==="can"?"elsecan":"elsecannot",U=!0;while(U){U=!1;let z=Y.match(new RegExp(`@${K}\\s*\\(`));if(!z||z.index===void 0)break;let B=z.index,_=Y.slice(B+`@${K}`.length),j=G(_);if(!j)break;let H=B+`@${K}`.length+j.paramsEnd,L=X(Y,K,q,H);if(L===-1){console.warn(`[stx] @${K} directive at position ${B} has no matching @${q} \u2014 the block was skipped.`);break}let F=Y.slice(H,L),O=[],V=0,w=new RegExp(`@${K}\\s*\\(`,"g"),A=new RegExp(`@${q}(?![a-z])`,"g"),N=new RegExp(`@${W}\\s*\\(`,"g"),R=/@else(?![a-z])/g,T=[],M;while((M=w.exec(F))!==null)T.push({pos:M.index,type:"open"});while((M=A.exec(F))!==null)T.push({pos:M.index,type:"close"});while((M=N.exec(F))!==null)T.push({pos:M.index,type:"elseDirective"});while((M=R.exec(F))!==null)T.push({pos:M.index,type:"else"});T.sort((b,v)=>b.pos-v.pos);for(let b of T){if(b.type==="open"){V++;continue}if(b.type==="close"){V--;continue}if(V===0)O.push(b)}let I=[],E=0;for(let b=0;b<O.length;b++){let v=O[b];if(I.push({content:F.slice(E,v.pos),ability:void 0}),v.type==="elseDirective"){let h=F.slice(v.pos+`@${W}`.length),f=G(h);if(f){I[I.length-1]={content:F.slice(E,v.pos)},E=v.pos+`@${W}`.length+f.paramsEnd,I.push({content:"",ability:f.ability,type:f.type,id:f.id}),I.pop();let m=O[b+1],r=m?m.pos:F.length;I.push({content:F.slice(E,r),ability:f.ability,type:f.type,id:f.id}),E=r}}else E=v.pos+5}if(E<F.length){let b=I[I.length-1];if(O.length>0&&O[O.length-1].type==="else")I.push({content:F.slice(E),isFinalElse:!0});else if(I.length===0)I.push({content:F.slice(E)})}let D=J(j.ability,j.type,j.id),y=K==="can"?D:!D,S="";if(y)S=I[0]?.content||"";else{let b=!1;for(let v=1;v<I.length;v++){let h=I[v];if(h.isFinalElse){S=h.content,b=!0;break}if(h.ability){let f=J(h.ability,h.type,h.id);if(K==="can"?f:!f){S=h.content,b=!0;break}}}if(!b&&I.length>0){let v=I[I.length-1];if(v.isFinalElse)S=v.content}}Y=Y.substring(0,B)+S+Y.substring(L+`@${q}`.length),U=!0}}return Y}function s3($,Z,Y){let X=$;function Q(J,G,K,q,W){let U=!0;while(U){U=!1;let z=new RegExp(`@${G}\\s*\\(`),B=J.match(z);if(!B||B.index===void 0)break;let _=B.index,j=_1(J,_+`@${G}`.length);if(!j)break;let H=j.endPos,L=P1(J,G,K,H);if(L===-1){console.warn(`[stx] @${G} directive at position ${_} has no matching @${K} \u2014 the block was skipped.`);break}let F=J.slice(H,L),O=j.expression,V=-1,w=0,A=0;while(A<F.length){let N=F.indexOf("@",A);if(N===-1)break;let R=F.substring(N);if(/^@(?:if|unless|isset|empty)\s*\(/.test(R)){w++,A=N+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(R)){w--,A=N+1;continue}if(w===0&&/^@else(?![a-z])/.test(R)){V=N;break}A=N+1}try{let N=q(O.trim()),R;if(V!==-1){let T=F.slice(0,V),M=F.slice(V+5);R=N?T:M}else R=N?F:"";J=J.substring(0,_)+R+J.substring(L+`@${K}`.length),U=!0}catch(N){let R=N instanceof Error?N.message:String(N),T=t(W,`Error processing @${G} directive: ${R}`,o.EVALUATION_ERROR);J=J.substring(0,_)+T+J.substring(L+`@${K}`.length);break}}return J}return X=Q(X,"isset","endisset",(J)=>{let G=L1(J,Z);return G!==void 0&&G!==null},"Isset"),X=Q(X,"empty","endempty",(J)=>{let G=L1(J,Z);return G===void 0||G===null||G===""||G===0||G===!1||Array.isArray(G)&&G.length===0||typeof G==="object"&&G!==null&&Object.keys(G).length===0},"Empty"),X}function r3($,Z,Y){let X=$,Q="development";function J(G,K,q,W){let U=new RegExp(`@${K}(?![a-z])`,"g"),z=new RegExp(`@${q}(?![a-z])`,"g"),B=new RegExp(`^@${K}(?![a-z])`),_=new RegExp(`^@${q}(?![a-z])`),j=G,H=!0;while(H){H=!1,U.lastIndex=0;let L=U.exec(j);if(!L)break;let F=L.index,O=F+L[0].length;if(K==="env"){let D=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!D)break;O+=D[0].length,W=Q===D[2]}let V=1,w=O,A=-1;while(V>0&&w<j.length){U.lastIndex=w,z.lastIndex=w;let D=U.exec(j),y=z.exec(j),S=D?D.index:1/0,b=y?y.index:1/0;if(S<b)V++,w=S+D[0].length;else if(b<1/0){if(V--,V===0){A=b;break}w=b+y[0].length}else break}if(A===-1){console.warn(`[stx] @${K} directive at position ${F} has no matching @${q} \u2014 the block was skipped.`);break}let N=j.substring(O,A),R=-1,T=0,M=0;while(M<N.length){let D=N.indexOf("@",M);if(D===-1)break;let y=N.substring(D);if(B.test(y)){T++,M=D+1;continue}if(_.test(y)){T--,M=D+1;continue}if(T===0&&/^@else(?![a-z])/.test(y)){R=D;break}M=D+1}let I;if(R!==-1){let D=N.slice(0,R),y=N.slice(R+5);I=W?D:y}else I=W?N:"";let E=`@${q}`.length;j=j.substring(0,F)+I+j.substring(A+E),H=!0}return j}return X=J(X,"env","endenv",!1),X=J(X,"production","endproduction",Q==="production"),X=J(X,"development","enddevelopment",Q==="development"),X=J(X,"staging","endstaging",Q==="staging"),X=J(X,"testing","endtesting",Q==="testing"),X}var d4=k(()=>{$Y();J1();h$();j0()});function XY($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function m4($,Z){if(!$)return Z?.nonceGenerator?.()??XY();let Y=YY.get($);if(!Y)Y=Z?.nonceGenerator?.()??XY(),YY.set($,Y);return Y}function gU($,Z){let Y=[];for(let[X,Q]of Object.entries($)){if(Q===void 0||Q===null)continue;if(typeof Q==="boolean"){if(Q)Y.push(X);continue}if(Array.isArray(Q)){let J=[...Q];if(Z&&(X==="script-src"||X==="style-src"))J=J.filter((G)=>!G.startsWith("'nonce-")),J.push(`'nonce-${Z}'`);if(J.length>0)Y.push(`${X} ${J.join(" ")}`)}}return Y.join("; ")}function JY($,Z){return`<meta http-equiv="Content-Security-Policy" content="${gU($,Z).replace(/&/g,"&").replace(/"/g,""")}">`}function QY($,Z,Y){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let X=Z.useNonce?m4(Y,Z):void 0,Q=JY(Z.directives,X);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
10320
|
+
${Q}`)}function GY($,Z){let Y=$;return Y=Y.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(X,Q)=>{if(Q.includes("nonce="))return X;return`<script nonce="${Z}"${Q}>`}),Y=Y.replace(/<style([^>]*)>/gi,(X,Q)=>{if(Q.includes("nonce="))return X;return`<style nonce="${Z}"${Q}>`}),Y}function KY($,Z,Y,X){let Q=$,J=X.csp;if(Q=Q.replace(/@csp\b/g,()=>{if(!J?.enabled||!J.directives)return"<!-- CSP not configured -->";let G=J.useNonce?m4(Z,J):void 0;return JY(J.directives,G)}),Q=Q.replace(/@cspNonce\b/g,()=>{if(!J?.enabled||!J.useNonce)return"";return m4(Z,J)}),J?.enabled&&J.useNonce)Z.cspNonce=m4(Z,J);return Q}var YY;var qY=k(()=>{YY=new WeakMap});import hU from"crypto";function mU($=dU){let Z=hU.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return a3=Z,Z}function uU(){if(!a3)mU();return a3}function lU($=WY){let Z=uU();return`<input type="hidden" name="${$}" value="${Z}">`}function UY($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,Y,X)=>{return lU(X||WY)})}var dU=40,WY="_token",a3=null;var zY=()=>{};async function BY($,Z,Y,X){if(!X.customDirectives||X.customDirectives.length===0)return $;let Q=$;for(let J of X.customDirectives){if(!J.name||typeof J.handler!=="function"){if(X.debug)console.warn("Invalid custom directive:",J);continue}if(J.hasEndTag)Q=await pU(Q,J,Z,Y,X);else Q=await cU(Q,J,Z,Y,X)}return Q}async function pU($,Z,Y,X,Q){let{name:J,handler:G}=Z,K=`@${J}`,q=`@end${J}`,W=$,U=X5(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),z=[],B=U.exec(W);while(B!==null){let[_,j="",H=""]=B,L=B.index||0;try{let F=j?jY(j):[],O=H.trim(),V=await G(O,F,Y,X);z.push({original:_,processed:V,startIndex:L})}catch(F){let O=F instanceof Error?F.message:String(F);if(Q.debug)console.error(`Error processing custom directive @${J}:`,F);z.push({original:_,processed:t("CustomDirective",`Error in @${J}${j?`(${j})`:""}: ${O}`,o.EVALUATION_ERROR),startIndex:L})}B=U.exec(W)}for(let _=z.length-1;_>=0;_--){let{original:j,processed:H}=z[_];W=W.replace(j,H)}return W}async function cU($,Z,Y,X,Q){let{name:J,handler:G}=Z,K=$,q=X5(`@${J}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),W=[],U=q.exec(K);while(U!==null){let[_,j=""]=U,H=U.index||0;try{let L=jY(j),F=await G("",L,Y,X);W.push({original:_,processed:F,startIndex:H})}catch(L){let F=L instanceof Error?L.message:String(L);if(Q.debug)console.error(`Error processing custom directive @${J}:`,L);W.push({original:_,processed:t("CustomDirective",`Error in @${J}(${j}): ${F}`,o.EVALUATION_ERROR),startIndex:H})}U=q.exec(K)}let z=X5(`@${J}(?!\\w)(?!\\s*\\()`,"g"),B=z.exec(K);while(B!==null){let[_]=B,j=B.index||0;try{let H=await G("",[],Y,X);W.push({original:_,processed:H,startIndex:j})}catch(H){let L=H instanceof Error?H.message:String(H);if(Q.debug)console.error(`Error processing custom directive @${J}:`,H);W.push({original:_,processed:t("CustomDirective",`Error in @${J}: ${L}`,o.EVALUATION_ERROR),startIndex:j})}B=z.exec(K)}for(let _=W.length-1;_>=0;_--){let{original:j,processed:H}=W[_];K=K.replace(j,H)}return K}function jY($){if(!$.trim())return[];let Z=[],Y="",X=!1,Q="";for(let J=0;J<$.length;J++){let G=$[J];if((G==='"'||G==="'")&&(J===0||$[J-1]!=="\\"))if(!X)X=!0,Q=G;else if(G===Q)X=!1;else Y+=G;else if(G===","&&!X)Z.push(Y.trim()),Y="";else Y+=G}if(Y.trim())Z.push(Y.trim());return Z.map((J)=>{let G=J.trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))return G.substring(1,G.length-1);return G})}var _Y=k(()=>{J1();J5()});function u1($,Z){if(typeof $!=="string"||$.length===0)throw Error(`@appearanceBootstrap ${Z} must be a non-empty string`)}function nU($){if(!$||typeof $!=="object"||Array.isArray($))throw Error("@appearanceBootstrap expects an options object");let Z=$,Y=Z.appearance,X=Z.colorMode;if(u1(Z.storageKey,"storageKey"),!Y||typeof Y!=="object"||Array.isArray(Y))throw Error("@appearanceBootstrap appearance must be an object");if(!X||typeof X!=="object"||Array.isArray(X))throw Error("@appearanceBootstrap colorMode must be an object");if(u1(Y.key,"appearance.key"),u1(Y.attribute,"appearance.attribute"),u1(Y.default,"appearance.default"),u1(X.key,"colorMode.key"),u1(X.attribute,"colorMode.attribute"),u1(X.default,"colorMode.default"),!OY.test(Y.key)||!OY.test(X.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!HY.test(Y.attribute)||!HY.test(X.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(Y.allowed)||Y.allowed.length===0||Y.allowed.some((Q)=>typeof Q!=="string"||Q.length===0))throw Error("@appearanceBootstrap appearance.allowed must contain one or more strings");if(!Y.allowed.includes(Y.default))throw Error("@appearanceBootstrap appearance.default must be in appearance.allowed");if(!iU.has(X.default))throw Error("@appearanceBootstrap colorMode.default must be light, dark, or system");return{storageKey:Z.storageKey,appearance:{key:Y.key,attribute:Y.attribute,allowed:[...new Set(Y.allowed)],default:Y.default},colorMode:{key:X.key,attribute:X.attribute,default:X.default}}}function oU($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function sU($){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${oU($)};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 rU($,Z){let Y=1,X=null,Q=!1;for(let J=Z+1;J<$.length;J++){let G=$[J];if(Q){Q=!1;continue}if(X){if(G==="\\")Q=!0;else if(G===X)X=null;continue}if(G==='"'||G==="'"||G==="`"){X=G;continue}if(G==="(")Y++;else if(G===")"&&--Y===0)return J}return-1}function LY($,Z){let Y=$,X=/@appearanceBootstrap\s*\(/g,Q;while((Q=X.exec(Y))!==null){let J=Q.index+Q[0].length-1,G=rU(Y,J);if(G===-1)throw Error("@appearanceBootstrap has an unclosed options object");let K=Y.slice(J+1,G).trim(),q=e(`(${K})`,Z),W=sU(nU(q));Y=Y.slice(0,Q.index)+W+Y.slice(G+1),X.lastIndex=Q.index+W.length}return Y}var HY,OY,iU;var FY=k(()=>{j0();HY=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,OY=/^[A-Za-z_$][\w$]*$/,iU=new Set(["light","dark","system"])});import aU from"crypto";function A0($){return String($??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function u4($,Z,Y,X){let Q=$||Z;return Y?`${Q} ${X}`:Q}function tU(){return aU.randomUUID()}function l4($,Z){let Y=$;return Y=Y.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let X=tU();Z.csrf={token:X}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${A0(Z.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),Y=Y.replace(/@method\(['"]([^'"]+)['"]\)/g,(X,Q)=>{let J=Q.toUpperCase();if(Q&&!["GET","POST"].includes(J))return`<input type="hidden" name="_method" value="${A0(J)}">`;return X}),Y}function AY($,Z,Y=wY){let X=$;return X=X.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(Q,J,G,K,q,W="")=>{let U=J||G||"POST",z=K||q||"",B=F1(W),_=U.toUpperCase(),j=["GET","POST"].includes(_)?_:"POST",H=`<form method="${A0(j)}" action="${A0(z)}"${B?` ${B}`:""}>`;if(H+=`
|
|
10321
|
+
${l4("@csrf",Z)}`,!["GET","POST"].includes(_))H+=`
|
|
10322
|
+
${l4(`@method('${_}')`,Z)}`;return H}),X=X.replace(/@endform/g,"</form>"),X=X.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(Q,J,G,K,q,W="")=>{let U=J||G||"",z=K||q||"",B=F1(W),_=J$(U,Z),j=_!==void 0&&_!==null?_:z||"",H=B.match(/type=['"]([^'"]+)['"]/i),L=H?H[1]:"text",F=Q$(U,Z),O=B.match(/class=['"]([^'"]+)['"]/i),V=u4(O?O[1]:"",Y.input,F,Y.inputError),w=B.replace(/class=['"][^'"]+['"]/i,"");return w=w.replace(/type=['"][^'"]+['"]/i,""),`<input type="${A0(L)}" name="${A0(U)}" value="${A0(j)}" class="${V}"${w?` ${w}`:""}>`}),X=X.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Q,J,G="",K="")=>{let q=F1(G),W=J$(J,Z)||K.trim(),U=Q$(J,Z),z=q.match(/class=['"]([^'"]+)['"]/i),B=u4(z?z[1]:"",Y.input,U,Y.inputError),_=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${A0(J)}" class="${B}"${_?` ${_}`:""}>${A0(W)}</textarea>`}),X=X.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Q,J,G="",K)=>{let q=F1(G),W=J$(J,Z),U=Q$(J,Z),z=q.match(/class=['"]([^'"]+)['"]/i),B=u4(z?z[1]:"",Y.input,U,Y.inputError),_=q.replace(/class=['"][^'"]+['"]/i,""),j=K;if(W!==void 0)j=K.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(H,L,F)=>{if((Array.isArray(W)?W.some((V)=>String(V)===F):String(W)===F)&&!L.includes("selected"))return L.replace(/(<option)/,"$1 selected");return H});return`<select name="${A0(J)}" class="${B}"${_?` ${_}`:""}>${j}</select>`}),X=X.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(Q,J,G="1",K="")=>{let q=F1(K),W=J$(J,Z),U=W!==void 0&&(Array.isArray(W)?W.some((j)=>String(j)===G):W===!0||String(W)===G),z=q.match(/class=['"]([^'"]+)['"]/i),B=z?z[1]:Y.checkInput,_=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${A0(J)}" value="${A0(G)}" class="${B}"${U?" checked":""}${_?` ${_}`:""}>`}),X=X.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,J,G,K="")=>{let q=F1(K),W=J$(J,Z),U=W!==void 0&&W===G,z=q.match(/class=['"]([^'"]+)['"]/i),B=z?z[1]:Y.checkInput,_=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${A0(J)}" value="${A0(G)}" class="${B}"${U?" checked":""}${_?` ${_}`:""}>`}),X=X.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,J,G="")=>{let K=F1(G),q=K.match(/accept=['"]([^'"]+)['"]/i),W=q?q[1]:"",U=K.includes("multiple"),z=Q$(J,Z),B=K.match(/class=['"]([^'"]+)['"]/i),_=u4(B?B[1]:"",Y.input,z,Y.inputError),j=K.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),H=[`<input type="file" name="${A0(J)}"`,`class="${_}"`];if(W)H.push(`accept="${A0(W)}"`);if(U)H.push("multiple");if(j)H.push(j);return`${H.join(" ")}>`}),X=X.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(Q,J,G="",K)=>{let q=F1(G),W=q.match(/class=['"]([^'"]+)['"]/i),U=W?W[1]:Y.label,z=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${A0(J)}" class="${U}"${z?` ${z}`:""}>${K}</label>`}),X}function RY($,Z,Y=wY){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(X,Q,J)=>{try{if(Q$(Q,Z))return J.replace(/\{\{([^}]+)\}\}/g,(G,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return VY(Q,Z);if(K.trim().includes("errors.first")||K.trim().includes("$errors.first")){if(typeof Z.errors?.first==="function")return Z.errors.first(Q);return VY(Q,Z)}let q=K.trim();if(X0(q)){let W=e(q,Z);return W!==void 0?String(W):q}return q}catch{return K}});return""}catch(G){return console.error("Error processing @error directive:",G),X}})}function Q$($,Z){if(!Z.errors)return!1;if(typeof Z.errors.has==="function")return Z.errors.has($);if(typeof Z.errors==="object")return Object.prototype.hasOwnProperty.call(Z.errors,$);return!1}function VY($,Z){if(!Z.errors)return"";if(typeof Z.errors.get==="function")return Z.errors.get($);if(typeof Z.errors==="object"&&Object.prototype.hasOwnProperty.call(Z.errors,$)){let Y=Z.errors[$];return Array.isArray(Y)?Y[0]:String(Y)}return""}function J$($,Z){let Y;if(Z.old&&typeof Z.old==="function")return Z.old($);if(Z.old&&typeof Z.old==="object")return Z.old[$];if($.endsWith("[]")){let X=$.slice(0,-2);if(Y=Z[X],Y!==void 0)return Y}return Z[$]}function F1($){if(!$.trim())return"";let Z=[],Y=$.trim(),X=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,Q;while((Q=X.exec(Y))!==null){let[,J,,G]=Q;Z.push(`${J}="${G.trim()}"`)}return Z.join(" ")}var wY;var NY=k(()=>{j0();wY={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import $6 from"path";async function eU(){if(G$!==void 0)return G$;try{G$=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{G$=null}return G$}function $z($,Z=0){if(Z<=0)return!1;return Date.now()-$.loadedAt>Z}async function Zz($,Z){if({...X6,...Z.i18n}.cache&&Z6[$]){let Q=Z6[$],J=Z.i18n?.cacheMaxAge??0;if(!$z(Q,J))return Q.translations}if(K$[$]?.state==="loading")return K$[$].promise;t3[$]="loading";let X=Y6($,Z).then((Q)=>{return t3[$]="loaded",delete K$[$],Q}).catch((Q)=>{throw t3[$]="error",K$[$]={promise:X,state:"error",error:Q instanceof Error?Q:Error(String(Q))},Q});return K$[$]={promise:X,state:"loading"},X}async function Y6($,Z){let Y={...X6,...Z.i18n},X=$6.isAbsolute(Y.translationsDir)?Y.translationsDir:$6.resolve(Z.root||process.cwd(),Y.translationsDir);try{let Q=await eU(),J=Q?await Q($,{translationsDir:X,defaultLocale:Y.defaultLocale,sources:Gz(Y.format)}):await Yz($,Y,X);if(J===void 0){if($!==Y.defaultLocale)return Y6(Y.defaultLocale,Z);return{}}let G=J;if(Y.cache)Z6[$]={translations:G,loadedAt:Date.now(),locale:$};return G}catch(Q){if(Z.debug)console.error(`Error loading translation file for locale "${$}":`,Q);if($!==Y.defaultLocale)return Y6(Y.defaultLocale,Z);return{}}}async function Yz($,Z,Y){let X=$6.join(Y,`${$}${Xz(Z.format)}`);try{let Q=await import(X);return Q.default||Q}catch(Q){try{let J=await Bun.file(X).text();if(Z.format==="yaml"||Z.format==="yml")return Jz(J);if(Z.format==="json")return JSON.parse(J);throw Q}catch{return}}}function Xz($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function Jz($){let Z={},Y=$.split(`
|
|
10323
|
+
`),X=[{obj:Z,indent:-1}];for(let Q of Y){let J=Q.replace(/#.*$/,"").trimEnd();if(!J.trim())continue;let G=J.search(/\S/);if(G===-1)continue;while(X.length>1&&X[X.length-1].indent>=G)X.pop();let K=X[X.length-1].obj,q=J.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(q){let[,,W,U]=q,z=W.trim(),B=U.trim();if(B==="")K[z]={},X.push({obj:K[z],indent:G});else K[z]=Qz(B)}}return Z}function Qz($){if($.startsWith("'")&&$.endsWith("'")||$.startsWith('"')&&$.endsWith('"'))return $.slice(1,-1);let Z=$.toLowerCase();if(Z==="true"||Z==="yes")return!0;if(Z==="false"||Z==="no")return!1;if(Z==="null"||Z==="~")return null;let Y=Number($);if(!Number.isNaN(Y)&&$!=="")return Y;return $}function Gz($){switch($){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function Kz($,Z){return Zz($,Z)}function qz($,Z){for(let Y of $){let X=Y.trim(),Q=X.match(/^\{(\d+)\}\s*(.*)$/);if(Q){let G=Number.parseInt(Q[1],10);if(Z===G)return Q[2];continue}let J=X.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(J){let G=Number.parseInt(J[1],10),K=J[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(J[2],10);if(Z>=G&&Z<=K)return J[3];continue}}if($.length===2)return Z===1?$[0].trim():$[1].trim();if(Z<$.length)return $[Z].trim();return $[$.length-1].trim()}function Wz($,Z={}){return IY($,Z)}function IY($,Z){let Y="",X=0;while(X<$.length)if($[X]==="{"){let Q=Uz($,X);if(Q===-1){Y+=$[X],X++;continue}let J=$.slice(X+1,Q);Y+=zz(J,Z),X=Q+1}else if($[X]==="'"&&X+1<$.length)if($[X+1]==="'")Y+="'",X+=2;else if($[X+1]==="{"||$[X+1]==="}")Y+=$[X+1],X+=2;else Y+=$[X],X++;else Y+=$[X],X++;return Y}function Uz($,Z){let Y=0;for(let X=Z;X<$.length;X++)if($[X]==="{")Y++;else if($[X]==="}"){if(Y--,Y===0)return X}return-1}function zz($,Z){let Y=Bz($);if(Y.length===0)return`{${$}}`;let X=Y[0].trim(),Q=Z[X];if(Y.length===1)return Q!==void 0?String(Q):`{${X}}`;switch(Y[1].trim().toLowerCase()){case"plural":return jz(Q,Y.slice(2).join(","),Z);case"select":return Hz(Q,Y.slice(2).join(","));case"selectordinal":return Oz(Q,Y.slice(2).join(","));case"number":return Fz(Q,Y[2]?.trim());case"date":return Vz(Q,Y[2]?.trim());case"time":return wz(Q,Y[2]?.trim());default:return Q!==void 0?String(Q):`{${$}}`}}function Bz($){let Z=[],Y="",X=0;for(let Q=0;Q<$.length;Q++){let J=$[Q];if(J==="{")X++,Y+=J;else if(J==="}")X--,Y+=J;else if(J===","&&X===0)Z.push(Y),Y="";else Y+=J}if(Y)Z.push(Y);return Z}function jz($,Z,Y){let X=Number($)||0,Q=J6(Z),J=`=${X}`;if(Q[J])return e3(Q[J],X,Y);let G=_z(X);if(Q[G])return e3(Q[G],X,Y);if(Q.other)return e3(Q.other,X,Y);return String(X)}function e3($,Z,Y){let X=$.replace(/#/g,String(Z));return IY(X,Y)}function _z($){let Z=Math.abs($),Y=Math.floor(Z),X=String($).includes(".")?String($).split(".")[1].length:0;if(Y===1&&X===0)return"one";return"other"}function Hz($,Z){let Y=String($||""),X=J6(Z);if(X[Y])return X[Y];return X.other||String($)}function Oz($,Z){let Y=Number($)||0,X=J6(Z),Q=Lz(Y);if(X[Q])return X[Q].replace(/#/g,String(Y));if(X.other)return X.other.replace(/#/g,String(Y));return String(Y)}function Lz($){let Z=Math.abs($),Y=Z%10,X=Z%100;if(Y===1&&X!==11)return"one";if(Y===2&&X!==12)return"two";if(Y===3&&X!==13)return"few";return"other"}function J6($){let Z={},Y=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,X=Y.exec($);while(X!==null)Z[X[1]]=X[2],X=Y.exec($);return Z}function Fz($,Z){let Y=Number($);if(Number.isNaN(Y))return String($);switch(Z){case"integer":return Math.floor(Y).toLocaleString();case"percent":return`${(Y*100).toFixed(0)}%`;case"currency":return Y.toLocaleString(void 0,{style:"currency",currency:"USD"});default:return Y.toLocaleString()}}function Vz($,Z){let Y=$ instanceof Date?$:new Date(String($));if(Number.isNaN(Y.getTime()))return String($);let X={};switch(Z){case"short":X.dateStyle="short";break;case"medium":X.dateStyle="medium";break;case"long":X.dateStyle="long";break;case"full":X.dateStyle="full";break;default:X.dateStyle="medium"}return Y.toLocaleDateString(void 0,X)}function wz($,Z){let Y=$ instanceof Date?$:new Date(String($));if(Number.isNaN(Y.getTime()))return String($);let X={};switch(Z){case"short":X.timeStyle="short";break;case"medium":X.timeStyle="medium";break;case"long":X.timeStyle="long";break;case"full":X.timeStyle="full";break;default:X.timeStyle="short"}return Y.toLocaleTimeString(void 0,X)}function Az($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function TY($,Z,Y=!0,X={}){let Q=$.split("."),J=Z;for(let K of Q){if(J===void 0||J===null)break;J=J[K]}if(J===void 0||J===null)return Y?$:"";let G=String(J);if(Az(G))return Wz(G,X);if(G.includes("|")&&"count"in X){let K=Number(X.count),q=G.split("|");G=qz(q,K)}for(let[K,q]of Object.entries(X)){let W=K.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");G=G.replace(new RegExp(`:${W}`,"g"),String(q))}return G}async function DY($,Z,Y,X){let Q=$,J=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,G={...X6,...X.i18n},K=await Kz(G.locale,X);Z.__translations=K,Z.__locale=G.locale,Z.__i18nConfig=G,Q=await MY(Q,J,async(U,z,B,_,j)=>{try{let H={};if(B)try{let F=[()=>JSON.parse(B),()=>{let O=`{"data":${B}}`,V=JSON.parse(O);return typeof V.data==="object"?V.data:{}},()=>{return V0(B,Z)}];for(let O of F)try{if(H=O(),Object.keys(H).length>0)break}catch{}}catch(F){if(X.debug)console.error("Error parsing parameters for @translate directive:",F)}return TY(z,K,G.fallbackToKey,H)||_.trim()}catch(H){if(X.debug)console.error("Error processing @translate directive:",H);return t("Translate",`Error in @translate('${z}'): ${H instanceof Error?H.message:String(H)}`,o.EVALUATION_ERROR)}});let q=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(X.debug){console.warn(`Processing translations in template. Sections: ${Q.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let U=[...Q.matchAll(q)];console.warn(`Found ${U.length} @translate matches`),U.forEach((z,B)=>console.warn(`Match ${B}: ${z[0]}, Key: ${z[1]}, Params: ${z[2]||"none"}`))}return Q=await MY(Q,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(U,z,B,_)=>{try{let j={};if(B)try{let H=[()=>JSON.parse(B),()=>{let L=`{"data":${B}}`,F=JSON.parse(L);return typeof F.data==="object"?F.data:{}},()=>{return V0(B,Z)}];for(let L of H)try{if(j=L(),Object.keys(j).length>0)break}catch{}}catch(H){if(X.debug)console.error("Error parsing parameters for @translate directive:",H)}return TY(z,K,G.fallbackToKey,j)}catch(j){if(X.debug)console.error("Error processing @translate directive:",j);return t("Translate",`Error in @translate('${z}'): ${j instanceof Error?j.message:String(j)}`,o.EVALUATION_ERROR)}}),Q}async function MY($,Z,Y){let X=[];return $.replace(Z,(J,...G)=>{let K=Y(J,...G).then((q)=>({match:J,replacement:q}));return X.push(K),J}),(await Promise.all(X)).reduce((J,{match:G,replacement:K})=>J.replace(G,K),$)}var G$,X6,Z6,K$,t3;var EY=k(()=>{J1();j0();X6={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},Z6={},K$={},t3={}});var K6={};s(K6,{streamingSuspenseDirective:()=>SY,streamToResponse:()=>Pz,streamTemplateSimple:()=>kz,streamTemplate:()=>Nz,renderStreamingPage:()=>Mz,registerStreamingDirectives:()=>Sz,processStreamDirectives:()=>Dz,processSectionDirectives:()=>yz,islandDirective:()=>yY,generateHydrationRuntime:()=>Cz,extractStreamBoundaries:()=>Ez,createStreamRenderer:()=>bz,buildSuspenseResolveScript:()=>G6,SUSPENSE_RESOLVER_RUNTIME:()=>bY});import p4 from"path";function Rz($){let Z=[],Y=0,X;kY.lastIndex=0;while((X=kY.exec($))!==null){if(X.index>Y){let G=$.slice(Y,X.index);if(G.trim())Z.push({type:Z.length===0?"shell":"content",content:G})}let Q=X[1],J=X[2];Z.push({type:"suspense",name:Q,content:J}),Y=X.index+X[0].length}if(Y<$.length){let Q=$.slice(Y);if(Q.trim())Z.push({type:Z.length===0?"shell":"content",content:Q})}if(Z.length===0)Z.push({type:"shell",content:$});return Z}async function Nz($,Z={},Y={}){let X={...h1,...Y,streaming:{...Q6,...Y.streaming}},Q=X.streaming?.bufferSize||16384;return new ReadableStream({async start(J){try{let G=await Bun.file($).text(),K=G.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),q=K?K[1]:"",W=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),U={...Z,__filename:$,__dirname:p4.dirname($)};if(q.trim())await y1(q,U,$);let z=Rz(W),B=new Set;if(!z.some((j)=>j.type==="suspense")){let j=X.streaming?.strategy||"auto",H=new RegExp(l1.source,"g");if(!(j!=="manual"&&H.test(W))){let F=await w0(W,U,$,X,B);for(let O=0;O<F.length;O+=Q)J.enqueue(F.slice(O,O+Q)),await new Promise((V)=>setTimeout(V,0))}else{let F=[],O=new RegExp(l1.source,"g"),V;while((V=O.exec(W))!==null)F.push({name:V[1],content:V[2],start:V.index,end:V.index+V[0].length});let w=0;for(let A of F){if(A.start>w){let R=W.slice(w,A.start);if(R.trim()){let T=await w0(R,U,$,X,B);J.enqueue(T),await new Promise((M)=>setTimeout(M,0))}}let N=await w0(A.content,U,$,X,B);J.enqueue(N),await new Promise((R)=>setTimeout(R,0)),w=A.end}if(w<W.length){let A=W.slice(w);if(A.trim()){let N=await w0(A,U,$,X,B);J.enqueue(N)}}}}else{let j=new Map;for(let L of z)if(L.type==="shell"||L.type==="content"){let F=await w0(L.content,U,$,X,B);J.enqueue(F)}else if(L.type==="suspense"&&L.name){let F=`stx-suspense-${L.name}`;J.enqueue(`<div id="${F}" data-suspense="${L.name}" style="display:contents;">
|
|
10321
10324
|
<template data-suspense-fallback>Loading...</template>
|
|
10322
|
-
</div>`),j.set(L.name,
|
|
10325
|
+
</div>`),j.set(L.name,w0(L.content,U,$,X,B))}J.enqueue(`
|
|
10323
10326
|
<script>
|
|
10324
10327
|
(function() {
|
|
10325
10328
|
window.__stxSuspense = window.__stxSuspense || {
|
|
@@ -10335,13 +10338,13 @@ ${Q}`)}function e2($,Z){let Y=$;return Y=Y.replace(/<script(?![^>]*\ssrc=)([^>]*
|
|
|
10335
10338
|
}
|
|
10336
10339
|
};
|
|
10337
10340
|
})();
|
|
10338
|
-
</script>`);let H=Array.from(j.entries()).map(async([L,F])=>{J.enqueue(await
|
|
10341
|
+
</script>`);let H=Array.from(j.entries()).map(async([L,F])=>{J.enqueue(await G6(L,F))});await Promise.all(H)}J.close()}catch(G){J.error(G)}}})}async function G6($,Z){try{let X=(await Z).replace(/`/g,"\\`").replace(/<\/script>/gi,"<\\/script>");return`
|
|
10339
10342
|
<script>
|
|
10340
10343
|
window.__stxSuspense.resolve('${$}', \`${X}\`);
|
|
10341
10344
|
</script>`}catch(Y){let X=Y instanceof Error?Y.message:String(Y);return`
|
|
10342
10345
|
<script>
|
|
10343
|
-
window.__stxSuspense.resolve('${$}', '<div class="stx-error">Error loading content: ${
|
|
10344
|
-
</script>`}}function
|
|
10346
|
+
window.__stxSuspense.resolve('${$}', '<div class="stx-error">Error loading content: ${o0(X)}</div>');
|
|
10347
|
+
</script>`}}function Tz($,Z,Y){if(!Z||Z<=0)return $;let X,Q=new Promise((J,G)=>{X=setTimeout(()=>G(Error(`streaming boundary "${Y}" timed out after ${Z}ms`)),Z)});return Promise.race([$,Q]).finally(()=>clearTimeout(X))}function Mz($,Z=[],Y={}){let X=Y.timeoutMs??0;return new ReadableStream({async start(Q){try{if(Q.enqueue($),Z.length>0)Q.enqueue(bY),await Promise.all(Z.map(async(J)=>{let G=Tz(J.render(),X,J.id);Q.enqueue(await G6(J.id,G))}));Q.close()}catch(J){Q.error(J)}}})}function Dz($,Z){return $.replace(Iz,(Y,X,Q)=>{let J=X.trim(),G=Q.split(/@fallback/i),K=G[0].trim(),q=G.length>1?G.slice(1).join("@fallback").trim():"";if(!Z.__streamTemplates)Z.__streamTemplates={};return Z.__streamTemplates[J]=K,`<div data-suspense="${J}">${q}</div>`})}function Ez($){let Z=$?.streamBoundaries;if(!Z||typeof Z!=="object")return;let Y=Object.entries(Z).filter(([,X])=>typeof X==="function");return Y.length>0?Y.map(([X,Q])=>({id:X,render:Q})):void 0}async function kz($,Z={},Y={}){let X={...h1,...Y,streaming:{...Q6,...Y.streaming}},Q=X.streaming?.bufferSize||16384;return new ReadableStream({async start(J){try{let G=await Bun.file($).text(),K=G.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),q=K?K[1]:"",W=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),U={...Z,__filename:$,__dirname:p4.dirname($)};if(q.trim())await y1(q,U,$);let z=new Set,B=X.streaming?.strategy||"auto",_=new RegExp(l1.source,"g");if(!(B!=="manual"&&_.test(W))){let H=await w0(W,U,$,X,z);for(let L=0;L<H.length;L+=Q)J.enqueue(H.slice(L,L+Q))}else{let H=[],L=new RegExp(l1.source,"g"),F;while((F=L.exec(W))!==null)H.push({name:F[1],content:F[2],start:F.index,end:F.index+F[0].length});let O=0;for(let V of H){if(V.start>O){let A=W.slice(O,V.start);if(A.trim()){let N=await w0(A,U,$,X,z);J.enqueue(N)}}let w=await w0(V.content,U,$,X,z);J.enqueue(w),O=V.end}if(O<W.length){let V=W.slice(O);if(V.trim()){let w=await w0(V,U,$,X,z);J.enqueue(w)}}}J.close()}catch(G){J.error(G)}}})}async function bz($,Z={}){let Y={...h1,...Z,streaming:{...Q6,...Z.streaming}},X=await Bun.file($).text(),Q=X.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),J=Q?Q[1]:"",G=X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),K=G,q={},W;l1.lastIndex=0;while((W=l1.exec(G))!==null){let B=W[1],_=W[2];q[B]=_}let U=G.replace(l1,"");return{renderShell:async(B={})=>{let _={...B,__filename:$,__dirname:p4.dirname($)};return await y1(J,_,$),w0(U,_,$,Y,new Set)},renderSection:async(B,_={})=>{try{if(!q[B])return`<div class="error-message">Section "${o0(B)}" not found in template "${o0($)}"</div>`;let j={..._,__filename:$,__dirname:p4.dirname($)};await y1(J,j,$);let H=new Set;return await w0(q[B],j,$,Y,H)}catch(j){let H=j instanceof Error?j.message:String(j);return q0("Expression",H,$,q[B]||"",0,q[B]||"")}},getSections:()=>{return Object.keys(q)},getTemplate:()=>{return K}}}function Sz($={}){let Z=[];if($.streaming?.enabled)Z.push(SY);if($.hydration?.enabled)Z.push(yY);return Z}async function yz($,Z,Y,X={}){return $}function Pz($,Z={}){let Y=new TextEncoder,X=$.pipeThrough(new TransformStream({transform(J,G){G.enqueue(Y.encode(J))}})),Q=new Headers(Z.headers);if(!Q.has("Content-Type"))Q.set("Content-Type","text/html; charset=utf-8");if(!Q.has("Transfer-Encoding"))Q.set("Transfer-Encoding","chunked");if(!Q.has("X-Content-Type-Options"))Q.set("X-Content-Type-Options","nosniff");if(!Q.has("X-Accel-Buffering"))Q.set("X-Accel-Buffering","no");return new Response(X,{...Z,headers:Q})}function Cz($={mode:"full"}){let{mode:Z,components:Y={},dynamicImports:X=!0}=$,Q=Object.entries(Y).map(([J,G])=>`'${J}': ${X?`() => import('${G}')`:`require('${G}')`}`).join(`,
|
|
10345
10348
|
`);if(Z==="loader")return`
|
|
10346
10349
|
(function() {
|
|
10347
10350
|
window.__stx = window.__stx || {};
|
|
@@ -10483,7 +10486,7 @@ else {
|
|
|
10483
10486
|
else {
|
|
10484
10487
|
stx.hydrate();
|
|
10485
10488
|
}
|
|
10486
|
-
})();`}var
|
|
10489
|
+
})();`}var Q6,l1,kY,bY=`
|
|
10487
10490
|
<script>
|
|
10488
10491
|
(function(){
|
|
10489
10492
|
window.__stxSuspense = window.__stxSuspense || {
|
|
@@ -10503,25 +10506,25 @@ else {
|
|
|
10503
10506
|
}
|
|
10504
10507
|
};
|
|
10505
10508
|
})();
|
|
10506
|
-
</script>`,
|
|
10509
|
+
</script>`,Iz,SY,yY;var q6=k(()=>{j5();t0();J4();F0();Q6={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},l1=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,kY=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;Iz=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;SY={name:"suspense",hasEndTag:!0,handler:($,Z,Y,X)=>{if(!Z||Z.length===0)throw Error("Suspense directive requires a name parameter");let Q=Z[0].replace(/['"`]/g,"");return`<!-- @suspense:${Q} -->${$}<!-- @endsuspense:${Q} -->`}},yY={name:"island",hasEndTag:!0,handler:($,Z,Y,X)=>{if(!Z||Z.length===0)throw Error("Island directive requires a name parameter");let Q=Z[0].replace(/['"`]/g,""),J=Z[1]?Z[1].replace(/['"`]/g,""):"lazy",G=`island-${Q}-${Math.random().toString(36).substring(2,9)}`,K=$.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),q=K?K[1].trim():"",W=K?$.replace(K[0],""):$;return`<div data-island="${Q}" data-island-id="${G}" data-priority="${J}">
|
|
10507
10510
|
${W}
|
|
10508
10511
|
<script type="application/json" data-island-props="${G}">
|
|
10509
10512
|
${q?`{${q}}`:"{}"}
|
|
10510
10513
|
</script>
|
|
10511
|
-
</div>`}}});var
|
|
10512
|
-
`).length;Y.set(q,{count:1,firstLine:
|
|
10513
|
-
`}if(V){let S=[];if(
|
|
10514
|
+
</div>`}}});var vY={};s(vY,{warnUnbalancedTags:()=>W6,findUnbalancedTags:()=>CY});function _5($){return $.replace(/[^\n]/g," ")}function CY($){let Z=$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,_5).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,_5).replace(/<!--[\s\S]*?-->/g,_5).replace(/\{\{\{[\s\S]*?\}\}\}/g,_5).replace(/\{\{[\s\S]*?\}\}/g,_5).replace(/\{!![\s\S]*?!!\}/g,_5),Y=new Map,X=new Map,Q=/<(\/?)([A-Za-z][\w-]*)\b(?:[^>"']|"[^"]*"|'[^']*')*?(\/?)>/g,J;while((J=Q.exec(Z))!==null){let K=J[1]==="/",q=J[2],W=J[3]==="/";if(vz.has(q.toLowerCase()))continue;if(W)continue;if(K)X.set(q,(X.get(q)??0)+1);else{let U=Y.get(q);if(U)U.count++;else{let z=Z.slice(0,J.index).split(`
|
|
10515
|
+
`).length;Y.set(q,{count:1,firstLine:z})}}}let G=[];for(let K of new Set([...Y.keys(),...X.keys()])){if(xz.has(K.toLowerCase()))continue;let q=Y.get(K)?.count??0,W=X.get(K)??0;if(q!==W)G.push({tag:K,opened:q,closed:W,firstOpenLine:Y.get(K)?.firstLine??0})}return G}function W6($,Z){let Y;try{Y=CY($)}catch{return}if(Y.length===0)return;let X=`${Z}:${$.length}`;if(PY.has(X))return;PY.add(X);let Q=Z?Z.split(/[/\\]/).pop()||Z:"template";for(let{tag:J,opened:G,closed:K,firstOpenLine:q}of Y)if(G>K){let W=q?` (first opened at line ${q})`:"";console.warn(`[stx] ${Q}: <${J}> ${G} opened, ${K} closed \u2014 an unclosed <${J}>${W} may swallow the content that follows it.`)}else console.warn(`[stx] ${Q}: <${J}> ${G} opened, ${K} closed \u2014 ${K-G} stray </${J}>.`)}var vz,xz,PY;var U6=k(()=>{vz=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),xz=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);PY=new Set});import p0 from"path";import z6 from"fs";function xY($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function fY($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class gY{builtins=new Map;registerBuiltin($){this.builtins.set($.name.toLowerCase(),$);for(let Z of $.aliases)this.builtins.set(Z.toLowerCase(),$)}isBuiltin($){return this.builtins.has($.toLowerCase())}getBuiltin($){return this.builtins.get($.toLowerCase())??null}async resolveFile($,Z,Y,X){let Q=$.endsWith(".stx")?$.slice(0,-4):$,J=X?.__importedComponents;if(J){let _=[Q,Q.toLowerCase(),xY(Q),fY(Q)];for(let j of _)if(J.has(j))return J.get(j)}let G=[...new Set([`${Q}.stx`,`${xY(Q)}.stx`,`${fY(Q)}.stx`])];if(Q.startsWith("./")||Q.startsWith("../")){let _=p0.resolve(p0.dirname(Z),`${Q}.stx`);if(await c(_))return _;return null}let K=[],q=Y.componentsDir||"",W=X?.__originalFilePath;if(W)K.push(p0.join(p0.dirname(W),"components"));if(q)K.push(q);let U=p0.join(p0.dirname(Z),"components");if(!K.includes(U))K.push(U);let z=process.cwd(),B=[p0.resolve(z,"src/components"),p0.resolve(z,"components"),p0.resolve(import.meta.dir,"components")];for(let _ of B)if(!K.includes(_))K.push(_);for(let _ of K){if(!_)continue;for(let j of G){let H=p0.join(_,j);if(await c(H))return H}try{if(!z6.statSync(_,{throwIfNoEntry:!1})?.isDirectory())continue;let H=z6.readdirSync(_,{withFileTypes:!0});for(let L of H)if(L.isDirectory()){let F=p0.join(_,L.name);for(let O of G){let V=p0.join(F,O);if(await c(V))return V}}}catch{}}return null}}var C0;var B6=k(()=>{F0();C0=new gY});function k0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function H5($,Z){let Y=[];for(let[X,Q]of Object.entries($.static)){if(Z.has(X))continue;let J=$.staticNames?.[X]??X;if(typeof Q==="boolean"){if(Q)Y.push(k0(J));continue}Y.push(`${k0(J)}="${k0(Q)}"`)}return Y}var c4=()=>{};function q$($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function fz($){if($.clientReactive.to)return{value:$.clientReactive.to,reactive:!0};if($.serverDynamic.to!==void 0)return{value:String($.serverDynamic.to),reactive:!1};if(typeof $.static.to==="string")return{value:$.static.to,reactive:!1};return{value:"#",reactive:!1}}var j6;var _6=k(()=>{c4();j6={name:"StxLink",aliases:["stx-link"],render($,Z,Y){let X=fz($),Q=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),J=typeof $.static.activeClass==="string"?$.static.activeClass:"active",G=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",K=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,q=[];if(X.reactive)q.push(`:href="${q$(X.value)}"`);else q.push(`href="${q$(X.value)}"`);if(Q)q.push(`class="${q$(Q)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${q$(J)}"`),q.push(`data-stx-exact-active-class="${q$(G)}"`),K)q.push("data-stx-prefetch");let W=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return q.push(...H5($,W)),`<a ${q.join(" ")}>${Z}</a>`}}});function N0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function b0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function O6($,Z,Y=!1){let X=$.serverDynamic[Z];if(X!==void 0)return X!==!1&&X!=="false";let Q=$.static[Z];if(Q!==void 0)return Q!=="false"&&Q!==!1;return Y}function hY($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),Y=[];for(let X of Z)if(X.includes(":")){let[Q,J]=X.split(":"),G=gz[Q];if(G)Y.push(`(max-width: ${G}px) ${J}`);else{let K=Number.parseInt(Q);if(!Number.isNaN(K))Y.push(`(max-width: ${K}px) ${J}`)}}else Y.push(X);return Y.join(", ")}function L6($,Z,Y,X){return Z.map((Q)=>`${W$($,Q,void 0,Y,X)} ${Q}w`).join(", ")}function hz($,Z,Y,X,Q){return Z.map((J)=>{let G=Y?Y*J:void 0;return`${W$($,G,void 0,X,Q)} ${J}x`}).join(", ")}function W$($,Z,Y,X,Q){if(!X||X==="local"||X==="static")return $;if(X==="cloudinary"){let J=[];if(Z)J.push(`w_${Z}`);if(Y)J.push(`h_${Y}`);if(Q)J.push(`f_${Q}`);J.push("q_auto");let G=J.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(X==="imgix"){let J=new URLSearchParams;if(Z)J.set("w",String(Z));if(Y)J.set("h",String(Y));if(Q)J.set("fm",Q);J.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${J.toString()}`}if(X==="bunny"){let J=new URLSearchParams;if(Z)J.set("width",String(Z));if(Y)J.set("height",String(Y));if(Q)J.set("format",Q);let G=$.includes("?")?"&":"?";return`${$}${G}${J.toString()}`}return $}function dz($,Z,Y="#e5e7eb"){let X=`<svg xmlns="http://www.w3.org/2000/svg" width="${$}" height="${Z}"><rect width="100%" height="100%" fill="${Y}"/></svg>`;return`data:image/svg+xml;base64,${btoa(X)}`}var gz,H6,F6;var V6=k(()=>{c4();gz={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},H6=[320,640,768,1024,1280,1536,1920];F6={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,Y){let X=b0($,"src")||"",Q=b0($,"alt")||"",J=b0($,"width"),G=b0($,"height"),K=b0($,"sizes"),q=b0($,"srcset"),W=b0($,"densities"),U=b0($,"format"),z=b0($,"placeholder"),B=b0($,"placeholderColor")||"#e5e7eb",_=b0($,"provider"),j=b0($,"class")||b0($,"className")||"",H=b0($,"style")||"",L=b0($,"quality"),F=O6($,"lazy",!0),O=O6($,"preload",!1),V=O6($,"picture",!1)||!!U,w=J?Number.parseInt(J):void 0,A=G?Number.parseInt(G):void 0,N=q||"",R="";if(!N&&K)N=L6(X,H6,_,U),R=hY(K);else if(!N&&W){let S=W.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));N=hz(X,S,w,_,U)}else if(K)R=hY(K);let T=[];if(H)T.push(H);if(w&&A)T.push(`aspect-ratio:${w}/${A}`);if(z==="blur"||z==="color"||z==="thumbhash"){let S=dz(w||16,A||9,B);T.push(`background-image:url(${S})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat")}else if(z&&z!=="empty"&&z!=="none")T.push(`background-image:url(${N0(z)})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat");let M=W$(X,w,A,_,U),I=[];if(I.push(`src="${N0(M)}"`),I.push(`alt="${N0(Q)}"`),J)I.push(`width="${N0(J)}"`);if(G)I.push(`height="${N0(G)}"`);if(F)I.push('loading="lazy"');if(I.push('decoding="async"'),j)I.push(`class="${N0(j)}"`);if(T.length>0)I.push(`style="${N0(T.join(";"))}"`);if(N)I.push(`srcset="${N0(N)}"`);if(R)I.push(`sizes="${N0(R)}"`);let E=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);I.push(...H5($,E));let D=`<img ${I.join(" ")} />`,y="";if(O){let b=U==="webp"?"image/webp":U==="avif"?"image/avif":"";y=`<link rel="preload" as="image" href="${N0(M)}"${b?` type="${b}"`:""}${N?` imagesrcset="${N0(N)}"`:""}${R?` imagesizes="${N0(R)}"`:""} />
|
|
10516
|
+
`}if(V){let S=[];if(U==="avif"||U==="auto"){let b=W$(X,w,A,_,"avif"),v=N?L6(X,H6,_,"avif"):`${b}`;S.push(`<source type="image/avif" srcset="${N0(v)}"${R?` sizes="${N0(R)}"`:""} />`)}if(U==="webp"||U==="auto"){let b=W$(X,w,A,_,"webp"),v=N?L6(X,H6,_,"webp"):`${b}`;S.push(`<source type="image/webp" srcset="${N0(v)}"${R?` sizes="${N0(R)}"`:""} />`)}return`${y}<picture>
|
|
10514
10517
|
${S.join(`
|
|
10515
10518
|
`)}
|
|
10516
10519
|
${D}
|
|
10517
|
-
</picture>`}return`${
|
|
10520
|
+
</picture>`}return`${y}${D}`}}});function U$($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function O5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var dY="/images/safe-image-default.svg",mz,w6;var A6=k(()=>{c4();mz=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${dY}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,w6={name:"SafeImage",aliases:["safe-image","safe-img"],render($,Z,Y){let X=O5($,"src")||"",Q=O5($,"alt")||"",J=O5($,"fallback")||dY,G=O5($,"class")||O5($,"className")||"",K=O5($,"fallbackClassName")||"",q=[];if(q.push(`src="${U$(X)}"`),q.push(`alt="${U$(Q)}"`),G)q.push(`class="${U$(G)}"`);if(q.push(`data-fallback="${U$(J)}"`),K)q.push(`data-fallback-class="${U$(K)}"`);q.push('onerror="window.__stxSafeImageHandler(this)"');let W=new Set(["src","alt","fallback","class","className","fallbackClassName"]);q.push(...H5($,W));let U=`<img ${q.join(" ")} />`,z=Y.context;if(!z.__safeImageHandlerEmitted)return z.__safeImageHandlerEmitted=!0,`${mz}${U}`;return U}}});function R6($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function z$($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function i4($,Z,Y){let X=z$($,Z);if(X!==void 0){let Q=Number.parseInt(X,10);if(!Number.isNaN(Q))return Q}return Y}var N6;var T6=k(()=>{N6={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,Z,Y){let X=R6(z$($,"color")||"#6366f1"),Q=R6(z$($,"initialColor")||z$($,"initial-color")||""),J=R6(z$($,"height")||"3px"),G=i4($,"duration",2000),K=i4($,"throttle",200),q=i4($,"zIndex",999999)||i4($,"z-index",999999),W=Q?`linear-gradient(to right, ${Q}, ${X})`:X;return`
|
|
10518
10521
|
<div id="stx-loading-indicator" style="position:fixed;top:0;left:0;right:0;height:${J};background:${W};z-index:${q};transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease-out,opacity 0.3s ease;opacity:0;pointer-events:none">
|
|
10519
10522
|
<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>
|
|
10520
10523
|
</div>
|
|
10521
10524
|
<style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
|
|
10522
10525
|
<script>
|
|
10523
10526
|
(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)},${K})},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()})})();
|
|
10524
|
-
</script>`}}});function
|
|
10527
|
+
</script>`}}});function uY($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function uz($,Z,Y){let X=uY($,Z);if(X!==void 0){let Q=Number.parseInt(X,10);if(!Number.isNaN(Q))return Q}return Y}var mY,M6;var I6=k(()=>{mY={"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%)"},M6={name:"StxToast",aliases:["stx-toast"],render($,Z,Y){let X=k0(uY($,"position")||"top-right"),Q=uz($,"max",5),J=mY[X]||mY["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${X}" data-stx-toast-max="${Q}" style="position:fixed;${J};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
|
|
10525
10528
|
<style>
|
|
10526
10529
|
@keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
|
|
10527
10530
|
@keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
|
|
@@ -10529,7 +10532,7 @@ ${D}
|
|
|
10529
10532
|
@keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
|
|
10530
10533
|
@keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
|
|
10531
10534
|
@keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
|
|
10532
|
-
</style>`}}});function
|
|
10535
|
+
</style>`}}});function n4($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var lY,D6;var E6=k(()=>{lY={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)"},D6={name:"StxModal",aliases:["stx-modal"],render($,Z,Y){let X=n4($,"id");if(!X)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let Q=k0(X),J=n4($,"size")||"md",G=n4($,"closeOnBackdrop")!=="false",K=n4($,"closeOnEscape")!=="false",q=lY[J]||lY.md;return`<div id="stx-modal-${Q}" class="stx-modal-backdrop" data-stx-modal="${Q}" data-close-backdrop="${G}" data-close-escape="${K}" 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">
|
|
10533
10536
|
<div class="stx-modal-panel" style="${q};width:100%;margin:1rem;border-radius:0.75rem;box-shadow:0 20px 60px rgba(0,0,0,0.3);overflow:hidden;transform:scale(0.95) translateY(8px);transition:transform 0.2s ease,opacity 0.2s ease;opacity:0;background:var(--stx-modal-bg,#fff);color:var(--stx-modal-text,#1f2937)">
|
|
10534
10537
|
<div style="padding:1.5rem">${Z}</div>
|
|
10535
10538
|
</div>
|
|
@@ -10538,8 +10541,8 @@ ${D}
|
|
|
10538
10541
|
@media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
|
|
10539
10542
|
.stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
|
|
10540
10543
|
.stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
|
|
10541
|
-
</style>`}}});function
|
|
10542
|
-
<div class="stx-drawer-panel" style="position:fixed;top:0;bottom:0;${B};width:${
|
|
10544
|
+
</style>`}}});function L5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var pY,k6;var b6=k(()=>{pY={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},k6={name:"StxDrawer",aliases:["stx-drawer"],render($,Z,Y){let X=L5($,"id");if(!X)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let Q=k0(X),J=L5($,"side")||"right",G=L5($,"size")||"md",K=L5($,"closeOnBackdrop")!=="false",q=L5($,"closeOnEscape")!=="false",W=L5($,"overlay")!=="false",U=pY[G]||pY.md,z=J==="left",B=z?"left:0":"right:0",_=z?"translateX(-100%)":"translateX(100%)",j=z?"stx-drawer-slide-left":"stx-drawer-slide-right";return`<div id="stx-drawer-${Q}" class="stx-drawer-backdrop" data-stx-drawer="${Q}" data-close-backdrop="${K}" data-close-escape="${q}" style="display:none;position:fixed;inset:0;z-index:99999;${W?"background:rgba(0,0,0,0.5);backdrop-filter:blur(2px)":"background:transparent;pointer-events:none"};opacity:0;transition:opacity 0.2s ease" role="dialog" aria-modal="true">
|
|
10545
|
+
<div class="stx-drawer-panel" style="position:fixed;top:0;bottom:0;${B};width:${U};max-width:100vw;transform:${_};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">
|
|
10543
10546
|
<div style="padding:1.5rem">${Z}</div>
|
|
10544
10547
|
</div>
|
|
10545
10548
|
</div>
|
|
@@ -10547,18 +10550,18 @@ ${D}
|
|
|
10547
10550
|
@media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
|
|
10548
10551
|
.stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
|
|
10549
10552
|
.stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
|
|
10550
|
-
</style>`}}});import{existsSync as
|
|
10551
|
-
`||T==="\t")F++;O=N+H.length}else{if(F--,F===0){V=A;break}O=A+L.length}}if(V===-1){Q=B;continue}let R=$.slice(B,V),w=V+L.length;X.push({fullMatch:$.slice(J,w),tagName:q,attributes:j,content:R,startIndex:J,endIndex:w,isSelfClosing:!1}),Q=w}}return X}function pY($,Z){try{let Y=Buffer.from($,"base64").toString("utf8");return JSON.parse(Y)}catch{}try{let Y=$.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");return JSON.parse(Y)}catch(Y){if(Z?.debug)console.error("Error decoding __stx_ prop:",Y);return $}}var cY=k(()=>{_0();L0();k1()});var tY={};r(tY,{processESImports:()=>rY,processComponents:()=>n4});import i4 from"fs";import x0 from"path";function mU($,Z,Y){let X={static:{},staticNames:{},serverDynamic:{},clientReactive:{},events:{}},Q=new Set(["x-cloak","x-show","x-if","x-for","x-data","x-init","x-transition","x-ref","x-effect","x-model","x-text","x-html","x-class","x-style","x-on","x-bind"]),J=(K)=>{if(!K.includes("-")||K.startsWith("@")||K.startsWith(":")||K.startsWith("x-")||K.startsWith("__"))return K;if(K.startsWith("aria-")||K.startsWith("data-"))return K;return K.replace(/-([a-z0-9])/g,(q,W)=>W.toUpperCase())},G=(K,q)=>{let W=J(K);if(X.static[W]=q,W!==K)X.staticNames[W]=K};for(let[K,q]of Object.entries($)){let W=K.startsWith("x-")&&!Q.has(K)&&!K.startsWith("x-bind:")&&!K.startsWith("x-on:")?`:${K.slice(2)}`:K;if(W.startsWith("@")){X.events[W]=q;continue}if(W.startsWith("__stx_")){let z=J(W.slice(6));X.serverDynamic[z]=pY(q,Y);continue}if(W.startsWith(":")){let z=J(W.slice(1)),U=q===y6?z:q;if(z==="if"||z==="for"||z==="show"){X.clientReactive[z]=U;continue}try{if(!J0(U)){if(Y.debug)console.error(`Unsafe expression in :${z} binding: ${U}`);X.clientReactive[z]=U;continue}let B=Object.keys(Z),j=Q0(U,B)(...Object.values(Z));if(j===void 0){let H=U.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(H.some((O)=>!L.has(O)&&!B.includes(O))){X.clientReactive[z]=U;continue}}X.serverDynamic[z]=j}catch{X.clientReactive[z]=U}continue}if(typeof q==="string"&&q.includes("{{")&&q.includes("}}")){let z=q.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(z)try{let U=z[1];if(J0(U)){let _=Q0(U,Object.keys(Z))(...Object.values(Z));G(W,_!=null?String(_):"")}else{if(Y.debug)console.error(`Unsafe expression in ${W}: ${U}`);G(W,q)}}catch(U){if(Y.debug)console.error(`Error evaluating expression for ${W}:`,U);G(W,q)}else{let U=q,B=/\{\{\s*([\s\S]+?)\s*\}\}/g,_;while((_=B.exec(q))!==null)try{let j=_[1];if(!J0(j)){if(Y.debug)console.error(`Unsafe expression in ${W}: ${j}`);continue}let L=Q0(j,Object.keys(Z))(...Object.values(Z));U=U.replace(_[0],String(L??""))}catch(j){if(Y.debug)console.error(`Error evaluating expression in ${W}:`,j)}G(W,U)}continue}G(W,q===y6?"true":q)}return X}function uU($){let Z={},Y=0,X=$.length;while(Y<X){while(Y<X&&/\s/.test($[Y]))Y++;if(Y>=X)break;let Q="";while(Y<X&&!/[\s=]/.test($[Y]))Q+=$[Y],Y++;if(!Q)break;while(Y<X&&/\s/.test($[Y]))Y++;if(Y<X&&$[Y]==="="){Y++;while(Y<X&&/\s/.test($[Y]))Y++;let J="";if(Y<X&&($[Y]==='"'||$[Y]==="'")){let G=$[Y];Y++;while(Y<X){let K=$[Y];if(K==="\\"&&Y+1<X){Y++,J+=$[Y],Y++;continue}if(K===G){Y++;break}J+=K,Y++}}else while(Y<X&&!/\s/.test($[Y]))J+=$[Y],Y++;Z[Q]=J}else Z[Q]=y6}return Z}function nY($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function lU($){let Z=new Set,Y=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,X;while((X=Y.exec($))!==null){let Q=X[1];if(y0.isBuiltin(Q))Z.add(Q)}return[...Z].sort()}function pU($){let Z=oY.get($);if(Z)return Z;let Y=new Map,X=[x0.join($,"src"),x0.join($,"dist"),$];function Q(J,G){if(G>6)return;let K;try{K=i4.readdirSync(J,{withFileTypes:!0})}catch{return}for(let q of K){let W=x0.join(J,q.name);if(q.isDirectory()){if(q.name==="node_modules"||q.name.startsWith("."))continue;Q(W,G+1)}else if(q.isFile()&&q.name.endsWith(".stx")){let z=q.name.slice(0,-4);if(!Y.has(z))Y.set(z,W);let U=z.toLowerCase();if(!Y.has(U))Y.set(U,W);let B=z.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Y.has(B))Y.set(B,W)}}}for(let J of X)if(Q(J,0),Y.size>0)break;return oY.set($,Y),Y}function cU($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let Y=Z;while(!0){let X=x0.join(Y,"node_modules",$);try{if(i4.statSync(X).isDirectory())return X}catch{}let Q=x0.dirname(Y);if(Q===Y)return null;Y=Q}}async function rY($,Z,Y,X,Q){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let J=Z.__importedComponents,G=x0.dirname(Y),K=$,q=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return K=K.replace(q,(W,z,U)=>{let B=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,_=U,j,H=[];while((j=B.exec(U))!==null){let[L,F,O,V]=j,R=null,w=null;if(V.startsWith(".")||V.startsWith("/")){let T=x0.resolve(G,V);if(T.endsWith(".stx"))w=T;else{let M=`${T}.stx`;try{if(i4.statSync(M).isFile())w=M}catch{try{if(i4.statSync(T).isDirectory())R=T}catch{}}}}else R=cU(V,G);if(!R&&!w)continue;let N=!1,A=(T,M)=>{J.set(T,M),J.set(T.toLowerCase(),M);let I=T.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();J.set(I,M),Q.add(M)};if(O&&w)A(O,w),N=!0;else if(F){let T=F.slice(1,-1).split(",").map((I)=>I.trim()).filter(Boolean).map((I)=>{let E=I.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(E)return{source:E[1],local:E[2]};return{source:I,local:I}}),M=R?pU(R):null;for(let{source:I,local:E}of T){let D=null;if(w)D=w;else if(M)D=M.get(I)??M.get(I.toLowerCase())??M.get(I.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(D)A(E,D),N=!0}}if(N)H.push({start:j.index,end:j.index+L.length})}if(H.length===0)return W;for(let L=H.length-1;L>=0;L--)_=_.slice(0,H[L].start)+_.slice(H[L].end);return`<script${z}>${_}</script>`}),K}async function iU($,Z,Y,X,Q){let J=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=K.exec(J))!==null){let[W,z]=q,U=z.split(",").map((B)=>B.trim().replace(/^['"]|['"]$/g,"")).filter((B)=>B.length>0);for(let B of U){let _=B.split("/"),H=_[_.length-1].replace(/\.stx$/,""),L=H.includes("-")?H.split("-").map((V)=>V.charAt(0).toUpperCase()+V.slice(1)).join(""):H.charAt(0).toUpperCase()+H.slice(1),F=null,O=[x0.resolve(x0.dirname(Y),`${B}.stx`),x0.resolve(x0.dirname(Y),B),x0.resolve(X.componentsDir||"components",`${B}.stx`),x0.resolve(X.componentsDir||"components",B),B.endsWith(".stx")?B:`${B}.stx`];for(let V of O)try{if(await Bun.file(V).exists()){F=V;break}}catch{}if(F){G.set(L,F),G.set(H,F),G.set(H.toLowerCase(),F);let V=L.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(V,F),Q.add(F),X.debug)console.log(`Imported component: ${L} -> ${F}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${B}`)}J=J.replace(W,""),K.lastIndex=0}return J}async function nU($,Z,Y,X,Q){let J=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,q=/@component\s*\(/g,W;while((W=q.exec(J))!==null){let z=W.index,U=z+W[0].length-1,B=1,_=U+1;while(_<J.length&&B>0){if(J[_]==="(")B++;else if(J[_]===")"){if(B--,B===0)break}_++}if(B!==0)break;let j=J.substring(U+1,_),H=_+1,L=j.match(/^\s*['"]([^'"]+)['"]/);if(!L){q.lastIndex=0;continue}let F=L[1],O,V=j.slice(L[0].length),R=V.match(/^\s*,\s*/);if(R)O=V.slice(R[0].length).trim();let w={};if(O)try{w=F0(O,Z)}catch(E){let D=E instanceof Error?E.message:String(E);J=J.replace(J.substring(z,H),`[Error parsing component props: ${D}]`);continue}let N="",A=H,M=J.substring(H).match(/^([\s\S]*?)@endcomponent/);if(M)N=M[1].trim(),A=H+M[0].length;let I=await C1(F,w,N,G,Z,Y,X,K,Q);J=J.substring(0,z)+I+J.substring(A),q.lastIndex=0}return J}async function oU($,Z,Y,X,Q){if(!$)return $;let J=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,q=z1(J);return J=q.output,J=await B(J,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),J=await B(J,/[A-Z][a-zA-Z0-9]*/,!0),J=await B(J,/[a-z][a-z0-9]*/,!1,dU),J=f5(J,q.scripts),J;async function B(_,j,H,L){if(!_)return _;let F=_,O=lY(F,j,L);for(let V=O.length-1;V>=0;V--){let R=O[V],w=H?c4(R.tagName):R.tagName,N=uU(R.attributes),A=mU(N,Z,X),T=y0.getBuiltin(R.tagName),M=T?await t$(w,G,Z,Y,X):!1;if(T&&!M){let P={context:Z,filePath:Y,options:X,dependencies:Q},S=T.render(A,R.content,P);if(Object.keys(A.clientReactive).length>0)S=sY(S,A.clientReactive);if(Object.keys(A.events).length>0){let b=Object.entries(A.events).map(([C,h])=>`${C}="${nY(h)}"`).join(" ");S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}F=F.substring(0,R.startIndex)+S+F.substring(R.endIndex);continue}if(!H&&R.tagName.includes("-")&&!await t$(w,G,Z,Y,X))continue;let I={};for(let[P,S]of Object.entries(A.static))I[P]=S;for(let[P,S]of Object.entries(A.serverDynamic))I[P]=S;let D=await C1(w,I,R.content,G,Z,Y,X,K,Q);if(Object.keys(A.clientReactive).length>0)D=sY(D,A.clientReactive);if(Object.keys(A.events).length>0){let P=aY(D);if(P){let S=Object.entries(A.events).map(([C,h])=>`${C}="${nY(h)}"`).join(" "),b=Object.keys(A.events).map((C)=>C.replace(/^@/,"").split(".")[0]).join(" ");D=D.substring(0,P.insertPos)+` data-stx-parent-events="${b}" ${S}`+D.substring(P.insertPos)}}F=F.substring(0,R.startIndex)+D+F.substring(R.endIndex)}return F}}function sY($,Z){let Y=new Set(["if","for"]),X=new Set(["show"]),Q=Object.entries(Z).filter(([z])=>!Y.has(z)),J=Q.filter(([z])=>!X.has(z)).map(([z])=>c4(z)).join(" "),G=$,K=Q.length>0?aY(G):null;if(K){let z=Q.map(([B,_])=>`:${c4(B)}="${_.replace(/"/g,""")}"`).join(" "),U=J?` data-stx-parent-bindings="${J}"`:"";G=G.substring(0,K.insertPos)+`${U} ${z}`+G.substring(K.insertPos)}let q=Z.if;if(q)G=`<template :if="${q.replace(/"/g,""")}">${G}</template>`;let W=Z.for;if(W)G=`<template :for="${W.replace(/"/g,""")}">${G}</template>`;return G}function aY($){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec($);if(Z)return{insertPos:Z.index+1+Z[1].length};let Y=0;while(Y<$.length){let X=$.slice(Y),Q=X.match(/^\s+/);if(Q){Y+=Q[0].length;continue}if(X.startsWith("<!--")){let K=$.indexOf("-->",Y+4);if(K===-1)return null;Y=K+3;continue}let J=X.match(/^<(script|style)\b[^>]*>/i);if(J){let K=`</${J[1].toLowerCase()}>`,q=$.toLowerCase().indexOf(K,Y+J[0].length);if(q===-1)return null;Y=q+K.length;continue}let G=X.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!G)return null;return{insertPos:Y+1+G[1].length}}return null}async function n4($,Z,Y,X,Q){if(!iY)mY(),iY=!0;let J=await rY($,Z,Y,X,Q);J=await iU(J,Z,Y,X,Q),J=await nU(J,Z,Y,X,Q);let G=[];for(let K=0;K<3;K++){let q=r0(J,x5,(z,U)=>`\x00STX_COMPONENT_COMMENT_${G.length+U}\x00`);G.push(...q.tokens);let W=J;if(J=await oU(q.output,Z,Y,X,Q),J===W)break}if(G.length>0)J=J.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(K,q)=>G[Number(q)]??"");if(X.debug){let K=lU(J);if(K.length>0)console.warn(`[stx] ${Y}: unresolved component tag(s) after render passes: ${K.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return J}var iY=!1,y6="\x00stx-boolean-attribute",dU,oY;var P6=k(()=>{K6();uY();cY();k1();L0();_0();dU=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","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"]);oY=new Map});var QX={};r(QX,{processLoops:()=>C6});function aU($,Z){let Y=/@component\s*\(/g,X=$,Q,J=[];while((Q=Y.exec(X))!==null){let G=Q.index,K=G+Q[0].length-1,q=1,W=K+1;while(W<X.length&&q>0){if(X[W]==="(")q++;else if(X[W]===")"){if(q--,q===0)break}W++}if(q!==0)continue;let z=X.substring(K+1,W),U=W+1,B=z.match(/^\s*['"]([^'"]+)['"]/);if(!B)continue;let _=B[1],j=z.slice(B[0].length),H=j.match(/^\s*,\s*/);if(!H)continue;let L=j.slice(H[0].length).trim();if(!L)continue;try{let F=F0(L,Z),O=JSON.stringify(F),V=`@component('${_}', ${O})`;J.push({start:G,end:U,replacement:V})}catch{continue}}for(let G=J.length-1;G>=0;G--){let{start:K,end:q,replacement:W}=J[G];X=X.substring(0,K)+W+X.substring(q)}return X}function o4($,Z,Y){let X=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),J;while((J=Q.exec(X))!==null){let G=J.index,K=G+J[0].length-1,q=1,W=K+1,z=null,U=!1;while(W<X.length&&q>0){let j=X[W];if(U){U=!1,W++;continue}if(j==="\\"&&z){U=!0,W++;continue}if(z){if(j===z)z=null;W++;continue}if(j==='"'||j==="'"||j==="`"){z=j,W++;continue}if(j==="(")q++;else if(j===")"){if(q--,q===0)break}W++}if(q!==0)break;let B=X.substring(K+1,W),_=Y(B);X=X.substring(0,G)+_+X.substring(W+1)}return X}function tU($,Z){let Y=$;return Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(X,Q)=>{if(Q in Z)return`:${Q}="${Q}"`;return X}),Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(X,Q,J)=>{try{let G=Object.keys(Z),K=Object.values(Z);T$(J);let W=Q0(J,G)(...K),z=JSON.stringify(W),U=Buffer.from(z,"utf8").toString("base64");return`__stx_${Q}="${U}"`}catch(G){return X}}),Y}function eU($,Z){let Y=$;return Y=o4(Y,"@break",(X)=>{try{let J=`!!(${X.trim()})`,G;if(J0(J)){let K=Q0(J,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(Z0(J,Z));return G?s4:""}catch{return""}}),Y=o4(Y,"@continue",(X)=>{try{let J=`!!(${X.trim()})`,G;if(J0(J)){let K=Q0(J,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(Z0(J,Z));return G?r4:""}catch{return""}}),Y}function $B($){let Z=$;return Z=Z.replace(/@break(?!\()/g,s4),Z=Z.replace(/@continue(?!\()/g,r4),Z}function eY($){let Z=$.includes(s4),Y=Z?$.substring(0,$.indexOf(s4)):$;return{hasBreak:Z,content:Y}}function $X($){let Z=$.includes(r4),Y=Z?$.substring(0,$.indexOf(r4)):$;return{hasContinue:Z,content:Y}}function YX($){let Z=$;return Z=o4(Z,"@break",(Y)=>{let X=Y.trim();if(!M$(X))return"";return`\`; if (${X}) { break; } result += \``}),Z=o4(Z,"@continue",(Y)=>{let X=Y.trim();if(!M$(X))return"";return`\`; if (${X}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function ZB($){let Z=/@forelse\s*\(/g,Y,X=[],Q=/@foreach\s*\(/g,J=/@endforeach/g,G;while((G=Q.exec($))!==null)X.push({pos:G.index,delta:1});while((G=J.exec($))!==null)X.push({pos:G.index,delta:-1});X.sort((z,U)=>z.pos-U.pos);let K=[],q=0;for(let z of X)q+=z.delta,K.push({pos:z.pos,depth:q});function W(z){let U=0,B=K.length-1,_=0;while(U<=B){let j=U+B>>1;if(K[j].pos<=z)_=K[j].depth,U=j+1;else B=j-1}return _}while((Y=Z.exec($))!==null){if(W(Y.index)>0)continue;let z=Y.index,U=Y.index+Y[0].length-1,B=1,_=U+1,j=-1;while(_<$.length&&B>0){if($[_]==="(")B++;else if($[_]===")"){if(B--,B===0){j=_;break}}_++}if(j===-1)continue;let H=$.substring(U+1,j),L=H.indexOf(" as ");if(L===-1)continue;let F=H.substring(0,L).trim(),O=H.substring(L+4).trim(),V=j+1,R=1,w=V,N=/@forelse\s*\(/g,A=/@endforelse/g,T=-1;while(R>0&&w<$.length){N.lastIndex=w,A.lastIndex=w;let S=N.exec($),b=A.exec($);if(!b)break;if(S&&S.index<b.index)R++,w=S.index+S[0].length;else{if(R--,R===0){T=b.index;break}w=b.index+11}}if(T===-1)continue;let M=$.substring(V,T),I=T+11,E=-1,D=0,P=0;while(P<M.length){let S=M.indexOf("@",P);if(S===-1)break;let b=M.substring(S);if(/^@forelse\s*\(/.test(b))D++,P=S+1;else if(b.startsWith("@endforelse"))D--,P=S+11;else if(D===0&&b.startsWith("@empty")){if(M.length<=S+6||!/[a-z]/i.test(M[S+6])){E=S;break}P=S+1}else P=S+1}if(E===-1)continue;return{start:z,end:I,arrayExpr:F,itemVar:O,foreachContent:M.substring(0,E),emptyContent:M.substring(E+6)}}return null}function ZX($,Z){let Y=$;while(!0){let X=ZB(Y);if(!X)break;let{start:Q,end:J,arrayExpr:G,itemVar:K,foreachContent:q,emptyContent:W}=X;try{let z;if(J0(G))z=Q0(G,Object.keys(Z))(...Object.values(Z));else z=Z0(G,Z);let U;if(!Array.isArray(z)||z.length===0)U=W;else U=`@foreach (${G} as ${K})${q}@endforeach`;Y=Y.substring(0,Q)+U+Y.substring(J)}catch(z){let U=z instanceof Error?z.message:String(z),B=$0("Forelse",`Error in @forelse(${G} as ${K}): ${U}`,o.EVALUATION_ERROR);Y=Y.substring(0,Q)+B+Y.substring(J)}}return Y}function C6($,Z,Y,X){let Q=$;Q=ZX(Q,Z);function J(q){let W=/@foreach\s*\(/g,z;while((z=W.exec(q))!==null){let U=z.index,B=z.index+z[0].length-1,_=1,j=B+1,H=-1;while(j<q.length&&_>0){if(q[j]==="(")_++;else if(q[j]===")"){if(_--,_===0){H=j;break}}j++}if(H===-1)continue;let L=q.substring(B+1,H),F=L.indexOf(" as ");if(F===-1)continue;let O=U,V=L.substring(0,F),R=L.substring(F+4),w=H+1,N=1,A=w,T=/@foreach\s*\(/g,M=/@endforeach/g;while(N>0&&A<q.length){T.lastIndex=A,M.lastIndex=A;let I=T.exec(q),E=M.exec(q);if(!E)break;if(I&&I.index<E.index)N++,A=I.index+I[0].length;else{if(N--,N===0){let D=q.substring(w,E.index),P=E.index+11;return{start:O,end:P,arrayExpr:V,itemVar:R,content:D}}A=E.index+11}}}return null}function G(q,W){let z=q;while(!0){let U=J(z);if(!U)break;let{start:B,end:_,arrayExpr:j,itemVar:H,content:L}=U;try{let F=j.trim(),O;if(J0(F))O=Q0(F,Object.keys(W))(...Object.values(W));else O=Z0(F,W);let V=!1;if(!Array.isArray(O))if(O instanceof Map)O=Array.from(O),V=!0;else if(O instanceof Set)O=Array.from(O);else if(typeof O==="string")O=Array.from(O);else if(O&&typeof O==="object"&&!(O instanceof Date)&&!(O instanceof RegExp))O=Object.entries(O),V=!0;else{let E=$0("Foreach",`Error in @foreach: ${F} is not iterable`,o.TYPE_ERROR);z=z.substring(0,B)+E+z.substring(_);continue}let R=X?.loops?.useAltLoopVariable??rU,w=H.trim(),N=null,A,T=!1;if(w.includes("=>")){let E=w.split("=>").map((D)=>D.trim());if(E.length===2&&E[0]&&E[1])N=E[0],A=E[1];else A=w}else if(!w.startsWith("[")&&!w.startsWith("{")&&w.includes(",")){let E=w.split(",").map((D)=>D.trim());if(E.length===2&&E[0]&&E[1])A=E[0],N=E[1],T=!0;else A=w}else A=w;let M="",I=O;for(let E=0;E<I.length;E++){let D=I[E],P={index:E,iteration:E+1,first:E===0,last:E===I.length-1,count:I.length},S={...W,loop:P,$loop:P};if(A.startsWith("[")&&A.endsWith("]")){let x=A.slice(1,-1).split(",").map((u)=>u.trim());if(Array.isArray(D))x.forEach((u,t)=>{if(u)S[u]=D[t]});else S[A]=D}else S[A]=D;if(N)if(!T&&V&&Array.isArray(D)&&D.length===2)S[N]=D[0],S[A]=D[1];else S[N]=E;let b=eU(L,S),C=$X(b);if(C.hasContinue){M+=C.content;continue}let h=eY(b);if(h.hasBreak){M+=h.content;break}if(b=ZX(b,S),b=G(b,S),b=d1(b,S,Y),b=$B(b),h=eY(b),h.hasBreak){M+=h.content;break}if(C=$X(b),C.hasContinue){M+=C.content;continue}b=U1(b,S,Y),b=tU(b,S),b=aU(b,S),M+=b}z=z.substring(0,B)+M+z.substring(_)}catch(F){let O=$0("Foreach",`Error in @foreach(${j.trim()} as ${H.trim()}): ${F instanceof Error?F.message:String(F)}`,o.EVALUATION_ERROR);z=z.substring(0,B)+O+z.substring(_)}}return z}Q=G(Q,Z),Q=JX(Q,Z,Y,X);let K=X?.loops?.maxWhileIterations??sU;return Q=JB(Q,Z,K),Q}function XX($){return M$($)}function JX($,Z,Y,X){let Q=$,J=!0;while(J){J=!1;let G=Q.match(/@for\s*\(/);if(!G||G.index===void 0)break;let K=G.index,q=K+G[0].length-1,W=S0(Q,"(",")",q);if(W===-1)break;let z=Q.slice(q+1,W),U=W+1,B=C$(Q.slice(K),"for","endfor");if(B.length===0)break;let _=B[0].content,j=K+B[0].end;if(!XX(z)){let H=$0("For",`Unsafe expression in @for: ${z}`,o.UNSAFE_EXPRESSION);Q=Q.substring(0,K)+H+Q.substring(j),J=!0;continue}try{let H=YB(z),L=/@(?:for|foreach|if|unless)\s*\(/.test(_);if(H.length>0&&L){let N=XB({forExpr:z,content:_,iterVarNames:H,context:Z,filePath:Y,options:X});Q=Q.substring(0,K)+N+Q.substring(j),J=!0;continue}let F=Object.keys(Z),O=Object.values(Z),V=_.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(N,A)=>{return`\${${A}}`});V=YX(V);let w=Function(...F,`
|
|
10553
|
+
</style>`}}});import{existsSync as lz,readFileSync as pz}from"fs";function cz($){if(cY.has($))return;cY.add($),console.warn(`[stx] icon collection "${$}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${$}\`.`)}function iz($){let Z=process.cwd();for(let Y of[`${Z}/node_modules/@iconify-json/${$}/icons.json`,`${Z}/pantry/@iconify-json/${$}/icons.json`,`${Z}/node_modules/@iconify/json/json/${$}.json`,`${Z}/pantry/@iconify/json/json/${$}.json`])if(lz(Y))return Y;for(let Y of[`@iconify-json/${$}/icons.json`,`@iconify/json/json/${$}.json`])try{return K0.resolve(Y)}catch{}return null}function nz($){if(o4.has($))return o4.get($);let Z=iz($);if(!Z)return cz($),null;try{let Y=JSON.parse(pz(Z,"utf8"));return o4.set($,Y.icons),Y.icons}catch{return null}}function F5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);if($.static[Z]!==void 0)return String($.static[Z]);if($.clientReactive[Z]!==void 0)return $.clientReactive[Z];return}var o4,cY,S6;var y6=k(()=>{o4=new Map,cY=new Set;S6={name:"Icon",aliases:["icon","stx-icon"],render($,Z,Y){let X=F5($,"name")??F5($,"icon");if(!X)return"<!-- Icon: missing name/icon prop -->";let Q="lucide",J=X;if(X.includes(":")){let O=X.split(":");Q=O[0],J=O[1]}let G=k0(F5($,"size")||"24"),K=k0(F5($,"color")||"currentColor"),q=k0(F5($,"class")||""),W=k0(F5($,"style")||""),U=o4.get(Q)??nz(Q);if(!U)return`<!-- Icon: collection "${Q}" not loaded -->`;let z=U[J];if(!z)return`<!-- Icon: "${J}" not found in ${Q} -->`;let B=z.width||24,_=z.height||24,j=`0 0 ${B} ${_}`,H=z.body;if(K!=="currentColor")H=H.replace(/currentColor/g,K);let L=q?` class="${q}"`:"",F=W?` style="${W}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${G}" height="${G}" viewBox="${j}" fill="none"${L}${F}>${H}</svg>`}}});function iY($,...Z){for(let Y of Z){if($.serverDynamic[Y]!==void 0)return String($.serverDynamic[Y]);let X=$.static[Y];if(typeof X==="string")return X}return}function nY($,Z){let Y=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${Z}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),X=$.match(Y);if(!X)return{region:null,rest:$};return{region:X[2],rest:$.replace(X[0],"")}}var P6;var C6=k(()=>{P6={name:"Suspense",aliases:["suspense"],render($,Z,Y){let X=nY(Z,"fallback"),Q=X.rest,J=nY(Q,"error"),G=J.rest,K=X.region??iY($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',q=J.region??iY($,"errorFallback","error-fallback")??'<div class="stx-suspense-error">Something went wrong.</div>';return`<div data-stx-suspense><div data-stx-suspense-fallback>${K}</div><div data-stx-suspense-error hidden>${q}</div><div data-stx-suspense-content hidden>${G}</div></div>`}}});function s4($,...Z){for(let Y of Z){if($.serverDynamic[Y]!==void 0)return String($.serverDynamic[Y]);let X=$.static[Y];if(typeof X==="string")return X}return}var v6;var x6=k(()=>{v6={name:"TransitionGroup",aliases:["transition-group"],render($,Z,Y){let X=(s4($,"name")||"v").replace(/["'<>]/g,""),Q=(s4($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",J=s4($,"class"),G=s4($,"id"),K=[`data-stx-transition-group="${X}"`,J?`class="${J}"`:"",G?`id="${G}"`:""].filter(Boolean).join(" ");return`<${Q} ${K}>${Z}</${Q}>`}}});function oY(){C0.registerBuiltin(j6),C0.registerBuiltin(F6),C0.registerBuiltin(w6),C0.registerBuiltin(N6),C0.registerBuiltin(M6),C0.registerBuiltin(D6),C0.registerBuiltin(k6),C0.registerBuiltin(S6),C0.registerBuiltin(P6),C0.registerBuiltin(v6)}var sY=k(()=>{_6();V6();A6();T6();I6();E6();b6();y6();C6();x6();B6();_6();V6();A6();T6();I6();E6();b6();y6();C6();x6()});function r4($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function rY($,Z,Y){let X=[],Q=0;while(Q<$.length){let J=$.indexOf("<",Q);if(J===-1)break;let K=$.slice(J+1).match(new RegExp(`^(${Z.source})`));if(!K){Q=J+1;continue}let q=K[1];if(Y&&Y.has(q.toLowerCase())){let H=J+1+q.length;while(H<$.length&&$[H]!==">")H++;Q=H+1;continue}let W=J+1+q.length,U=null,z=W,B=-1,_=!1;while(W<$.length){let H=$[W];if(U){if(H==="\\"&&W+1<$.length){W+=2;continue}if(H===U)U=null;W++;continue}if(H==='"'||H==="'"){U=H,W++;continue}if(H==="/"&&W+1<$.length&&$[W+1]===">"){B=W+2,_=!0;break}if(H===">"){B=W+1;break}W++}if(B===-1){Q=J+1;continue}let j=$.slice(z,_?B-2:B-1).trim();if(_)X.push({fullMatch:$.slice(J,B),tagName:q,attributes:j,content:"",startIndex:J,endIndex:B,isSelfClosing:!0}),Q=B;else{let H=`<${q}`,L=`</${q}>`,F=1,O=B,V=-1;while(F>0&&O<$.length){let N=$.indexOf(H,O),R=$.indexOf(L,O);if(R===-1)break;if(N!==-1&&N<R){let T=$[N+H.length];if(T===" "||T===">"||T==="/"||T===`
|
|
10554
|
+
`||T==="\t")F++;O=N+H.length}else{if(F--,F===0){V=R;break}O=R+L.length}}if(V===-1){Q=B;continue}let w=$.slice(B,V),A=V+L.length;X.push({fullMatch:$.slice(J,A),tagName:q,attributes:j,content:w,startIndex:J,endIndex:A,isSelfClosing:!1}),Q=A}}return X}function aY($,Z){try{let Y=Buffer.from($,"base64").toString("utf8");return JSON.parse(Y)}catch{}try{let Y=$.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");return JSON.parse(Y)}catch(Y){if(Z?.debug)console.error("Error decoding __stx_ prop:",Y);return $}}var tY=k(()=>{j0();F0();k1()});var QX={};s(QX,{processESImports:()=>XX,processComponents:()=>t4});import a4 from"fs";import h0 from"path";function sz($,Z,Y){let X={static:{},staticNames:{},serverDynamic:{},clientReactive:{},events:{}},Q=new Set(["x-cloak","x-show","x-if","x-for","x-data","x-init","x-transition","x-ref","x-effect","x-model","x-text","x-html","x-class","x-style","x-on","x-bind"]),J=(K)=>{if(!K.includes("-")||K.startsWith("@")||K.startsWith(":")||K.startsWith("x-")||K.startsWith("__"))return K;if(K.startsWith("aria-")||K.startsWith("data-"))return K;return K.replace(/-([a-z0-9])/g,(q,W)=>W.toUpperCase())},G=(K,q)=>{let W=J(K);if(X.static[W]=q,W!==K)X.staticNames[W]=K};for(let[K,q]of Object.entries($)){let W=K.startsWith("x-")&&!Q.has(K)&&!K.startsWith("x-bind:")&&!K.startsWith("x-on:")?`:${K.slice(2)}`:K;if(W.startsWith("@")){X.events[W]=q;continue}if(W.startsWith("__stx_")){let U=J(W.slice(6));X.serverDynamic[U]=aY(q,Y);continue}if(W.startsWith(":")){let U=J(W.slice(1)),z=q===f6?U:q;if(U==="if"||U==="for"||U==="show"){X.clientReactive[U]=z;continue}try{if(!X0(z)){if(Y.debug)console.error(`Unsafe expression in :${U} binding: ${z}`);X.clientReactive[U]=z;continue}let B=Object.keys(Z),j=J0(z,B)(...Object.values(Z));if(j===void 0){let H=z.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(H.some((O)=>!L.has(O)&&!B.includes(O))){X.clientReactive[U]=z;continue}}X.serverDynamic[U]=j}catch{X.clientReactive[U]=z}continue}if(typeof q==="string"&&q.includes("{{")&&q.includes("}}")){let U=q.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(U)try{let z=U[1];if(X0(z)){let _=J0(z,Object.keys(Z))(...Object.values(Z));G(W,_!=null?String(_):"")}else{if(Y.debug)console.error(`Unsafe expression in ${W}: ${z}`);G(W,q)}}catch(z){if(Y.debug)console.error(`Error evaluating expression for ${W}:`,z);G(W,q)}else{let z=q,B=/\{\{\s*([\s\S]+?)\s*\}\}/g,_;while((_=B.exec(q))!==null)try{let j=_[1];if(!X0(j)){if(Y.debug)console.error(`Unsafe expression in ${W}: ${j}`);continue}let L=J0(j,Object.keys(Z))(...Object.values(Z));z=z.replace(_[0],String(L??""))}catch(j){if(Y.debug)console.error(`Error evaluating expression in ${W}:`,j)}G(W,z)}continue}G(W,q===f6?"true":q)}return X}function rz($){let Z={},Y=0,X=$.length;while(Y<X){while(Y<X&&/\s/.test($[Y]))Y++;if(Y>=X)break;let Q="";while(Y<X&&!/[\s=]/.test($[Y]))Q+=$[Y],Y++;if(!Q)break;while(Y<X&&/\s/.test($[Y]))Y++;if(Y<X&&$[Y]==="="){Y++;while(Y<X&&/\s/.test($[Y]))Y++;let J="";if(Y<X&&($[Y]==='"'||$[Y]==="'")){let G=$[Y];Y++;while(Y<X){let K=$[Y];if(K==="\\"&&Y+1<X){Y++,J+=$[Y],Y++;continue}if(K===G){Y++;break}J+=K,Y++}}else while(Y<X&&!/\s/.test($[Y]))J+=$[Y],Y++;Z[Q]=J}else Z[Q]=f6}return Z}function $X($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function az($){let Z=new Set,Y=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,X;while((X=Y.exec($))!==null){let Q=X[1];if(C0.isBuiltin(Q))Z.add(Q)}return[...Z].sort()}function tz($){let Z=ZX.get($);if(Z)return Z;let Y=new Map,X=[h0.join($,"src"),h0.join($,"dist"),$];function Q(J,G){if(G>6)return;let K;try{K=a4.readdirSync(J,{withFileTypes:!0})}catch{return}for(let q of K){let W=h0.join(J,q.name);if(q.isDirectory()){if(q.name==="node_modules"||q.name.startsWith("."))continue;Q(W,G+1)}else if(q.isFile()&&q.name.endsWith(".stx")){let U=q.name.slice(0,-4);if(!Y.has(U))Y.set(U,W);let z=U.toLowerCase();if(!Y.has(z))Y.set(z,W);let B=U.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Y.has(B))Y.set(B,W)}}}for(let J of X)if(Q(J,0),Y.size>0)break;return ZX.set($,Y),Y}function ez($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let Y=Z;while(!0){let X=h0.join(Y,"node_modules",$);try{if(a4.statSync(X).isDirectory())return X}catch{}let Q=h0.dirname(Y);if(Q===Y)return null;Y=Q}}async function XX($,Z,Y,X,Q){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let J=Z.__importedComponents,G=h0.dirname(Y),K=$,q=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return K=K.replace(q,(W,U,z)=>{let B=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,_=z,j,H=[];while((j=B.exec(z))!==null){let[L,F,O,V]=j,w=null,A=null;if(V.startsWith(".")||V.startsWith("/")){let T=h0.resolve(G,V);if(T.endsWith(".stx"))A=T;else{let M=`${T}.stx`;try{if(a4.statSync(M).isFile())A=M}catch{try{if(a4.statSync(T).isDirectory())w=T}catch{}}}}else w=ez(V,G);if(!w&&!A)continue;let N=!1,R=(T,M)=>{J.set(T,M),J.set(T.toLowerCase(),M);let I=T.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();J.set(I,M),Q.add(M)};if(O&&A)R(O,A),N=!0;else if(F){let T=F.slice(1,-1).split(",").map((I)=>I.trim()).filter(Boolean).map((I)=>{let E=I.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(E)return{source:E[1],local:E[2]};return{source:I,local:I}}),M=w?tz(w):null;for(let{source:I,local:E}of T){let D=null;if(A)D=A;else if(M)D=M.get(I)??M.get(I.toLowerCase())??M.get(I.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(D)R(E,D),N=!0}}if(N)H.push({start:j.index,end:j.index+L.length})}if(H.length===0)return W;for(let L=H.length-1;L>=0;L--)_=_.slice(0,H[L].start)+_.slice(H[L].end);return`<script${U}>${_}</script>`}),K}async function $B($,Z,Y,X,Q){let J=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=K.exec(J))!==null){let[W,U]=q,z=U.split(",").map((B)=>B.trim().replace(/^['"]|['"]$/g,"")).filter((B)=>B.length>0);for(let B of z){let _=B.split("/"),H=_[_.length-1].replace(/\.stx$/,""),L=H.includes("-")?H.split("-").map((V)=>V.charAt(0).toUpperCase()+V.slice(1)).join(""):H.charAt(0).toUpperCase()+H.slice(1),F=null,O=[h0.resolve(h0.dirname(Y),`${B}.stx`),h0.resolve(h0.dirname(Y),B),h0.resolve(X.componentsDir||"components",`${B}.stx`),h0.resolve(X.componentsDir||"components",B),B.endsWith(".stx")?B:`${B}.stx`];for(let V of O)try{if(await Bun.file(V).exists()){F=V;break}}catch{}if(F){G.set(L,F),G.set(H,F),G.set(H.toLowerCase(),F);let V=L.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(V,F),Q.add(F),X.debug)console.log(`Imported component: ${L} -> ${F}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${B}`)}J=J.replace(W,""),K.lastIndex=0}return J}async function ZB($,Z,Y,X,Q){let J=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,q=/@component\s*\(/g,W;while((W=q.exec(J))!==null){let U=W.index,z=U+W[0].length-1,B=1,_=z+1;while(_<J.length&&B>0){if(J[_]==="(")B++;else if(J[_]===")"){if(B--,B===0)break}_++}if(B!==0)break;let j=J.substring(z+1,_),H=_+1,L=j.match(/^\s*['"]([^'"]+)['"]/);if(!L){q.lastIndex=0;continue}let F=L[1],O,V=j.slice(L[0].length),w=V.match(/^\s*,\s*/);if(w)O=V.slice(w[0].length).trim();let A={};if(O)try{A=V0(O,Z)}catch(E){let D=E instanceof Error?E.message:String(E);J=J.replace(J.substring(U,H),`[Error parsing component props: ${D}]`);continue}let N="",R=H,M=J.substring(H).match(/^([\s\S]*?)@endcomponent/);if(M)N=M[1].trim(),R=H+M[0].length;let I=await v1(F,A,N,G,Z,Y,X,K,Q);J=J.substring(0,U)+I+J.substring(R),q.lastIndex=0}return J}async function YB($,Z,Y,X,Q){if(!$)return $;let J=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,q=z1(J);return J=q.output,J=await B(J,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),J=await B(J,/[A-Z][a-zA-Z0-9]*/,!0),J=await B(J,/[a-z][a-z0-9]*/,!1,oz),J=m5(J,q.scripts),J;async function B(_,j,H,L){if(!_)return _;let F=_,O=rY(F,j,L);for(let V=O.length-1;V>=0;V--){let w=O[V],A=H?r4(w.tagName):w.tagName,N=rz(w.attributes),R=sz(N,Z,X),T=C0.getBuiltin(w.tagName),M=T?await X4(A,G,Z,Y,X):!1;if(T&&!M){let y={context:Z,filePath:Y,options:X,dependencies:Q},S=T.render(R,w.content,y);if(Object.keys(R.clientReactive).length>0)S=YX(S,R.clientReactive);if(Object.keys(R.events).length>0){let b=Object.entries(R.events).map(([v,h])=>`${v}="${$X(h)}"`).join(" ");S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}F=F.substring(0,w.startIndex)+S+F.substring(w.endIndex);continue}if(!H&&w.tagName.includes("-")&&!await X4(A,G,Z,Y,X))continue;let I={};for(let[y,S]of Object.entries(R.static))I[y]=S;for(let[y,S]of Object.entries(R.serverDynamic))I[y]=S;let D=await v1(A,I,w.content,G,Z,Y,X,K,Q);if(Object.keys(R.clientReactive).length>0)D=YX(D,R.clientReactive);if(Object.keys(R.events).length>0){let y=JX(D);if(y){let S=Object.entries(R.events).map(([v,h])=>`${v}="${$X(h)}"`).join(" "),b=Object.keys(R.events).map((v)=>v.replace(/^@/,"").split(".")[0]).join(" ");D=D.substring(0,y.insertPos)+` data-stx-parent-events="${b}" ${S}`+D.substring(y.insertPos)}}F=F.substring(0,w.startIndex)+D+F.substring(w.endIndex)}return F}}function YX($,Z){let Y=new Set(["if","for"]),X=new Set(["show"]),Q=Object.entries(Z).filter(([U])=>!Y.has(U)),J=Q.filter(([U])=>!X.has(U)).map(([U])=>r4(U)).join(" "),G=$,K=Q.length>0?JX(G):null;if(K){let U=Q.map(([B,_])=>`:${r4(B)}="${_.replace(/"/g,""")}"`).join(" "),z=J?` data-stx-parent-bindings="${J}"`:"";G=G.substring(0,K.insertPos)+`${z} ${U}`+G.substring(K.insertPos)}let q=Z.if;if(q)G=`<template :if="${q.replace(/"/g,""")}">${G}</template>`;let W=Z.for;if(W)G=`<template :for="${W.replace(/"/g,""")}">${G}</template>`;return G}function JX($){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec($);if(Z)return{insertPos:Z.index+1+Z[1].length};let Y=0;while(Y<$.length){let X=$.slice(Y),Q=X.match(/^\s+/);if(Q){Y+=Q[0].length;continue}if(X.startsWith("<!--")){let K=$.indexOf("-->",Y+4);if(K===-1)return null;Y=K+3;continue}let J=X.match(/^<(script|style)\b[^>]*>/i);if(J){let K=`</${J[1].toLowerCase()}>`,q=$.toLowerCase().indexOf(K,Y+J[0].length);if(q===-1)return null;Y=q+K.length;continue}let G=X.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!G)return null;return{insertPos:Y+1+G[1].length}}return null}async function t4($,Z,Y,X,Q){if(!eY)oY(),eY=!0;let J=await XX($,Z,Y,X,Q);J=await $B(J,Z,Y,X,Q),J=await ZB(J,Z,Y,X,Q);let G=[];for(let K=0;K<3;K++){let q=a0(J,d5,(U,z)=>`\x00STX_COMPONENT_COMMENT_${G.length+z}\x00`);G.push(...q.tokens);let W=J;if(J=await YB(q.output,Z,Y,X,Q),J===W)break}if(G.length>0)J=J.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(K,q)=>G[Number(q)]??"");if(X.debug){let K=az(J);if(K.length>0)console.warn(`[stx] ${Y}: unresolved component tag(s) after render passes: ${K.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return J}var eY=!1,f6="\x00stx-boolean-attribute",oz,ZX;var g6=k(()=>{B6();sY();tY();k1();F0();j0();oz=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","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"]);ZX=new Map});var BX={};s(BX,{processLoops:()=>h6});function QB($,Z){let Y=/@component\s*\(/g,X=$,Q,J=[];while((Q=Y.exec(X))!==null){let G=Q.index,K=G+Q[0].length-1,q=1,W=K+1;while(W<X.length&&q>0){if(X[W]==="(")q++;else if(X[W]===")"){if(q--,q===0)break}W++}if(q!==0)continue;let U=X.substring(K+1,W),z=W+1,B=U.match(/^\s*['"]([^'"]+)['"]/);if(!B)continue;let _=B[1],j=U.slice(B[0].length),H=j.match(/^\s*,\s*/);if(!H)continue;let L=j.slice(H[0].length).trim();if(!L)continue;try{let F=V0(L,Z),O=JSON.stringify(F),V=`@component('${_}', ${O})`;J.push({start:G,end:z,replacement:V})}catch{continue}}for(let G=J.length-1;G>=0;G--){let{start:K,end:q,replacement:W}=J[G];X=X.substring(0,K)+W+X.substring(q)}return X}function e4($,Z,Y){let X=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),J;while((J=Q.exec(X))!==null){let G=J.index,K=G+J[0].length-1,q=1,W=K+1,U=null,z=!1;while(W<X.length&&q>0){let j=X[W];if(z){z=!1,W++;continue}if(j==="\\"&&U){z=!0,W++;continue}if(U){if(j===U)U=null;W++;continue}if(j==='"'||j==="'"||j==="`"){U=j,W++;continue}if(j==="(")q++;else if(j===")"){if(q--,q===0)break}W++}if(q!==0)break;let B=X.substring(K+1,W),_=Y(B);X=X.substring(0,G)+_+X.substring(W+1)}return X}function GB($,Z){let Y=$;return Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(X,Q)=>{if(Q in Z)return`:${Q}="${Q}"`;return X}),Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(X,Q,J)=>{try{let G=Object.keys(Z),K=Object.values(Z);E$(J);let W=J0(J,G)(...K),U=JSON.stringify(W),z=Buffer.from(U,"utf8").toString("base64");return`__stx_${Q}="${z}"`}catch(G){return X}}),Y}function KB($,Z){let Y=$;return Y=e4(Y,"@break",(X)=>{try{let J=`!!(${X.trim()})`,G;if(X0(J)){let K=J0(J,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(e(J,Z));return G?$7:""}catch{return""}}),Y=e4(Y,"@continue",(X)=>{try{let J=`!!(${X.trim()})`,G;if(X0(J)){let K=J0(J,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(e(J,Z));return G?Z7:""}catch{return""}}),Y}function qB($){let Z=$;return Z=Z.replace(/@break(?!\()/g,$7),Z=Z.replace(/@continue(?!\()/g,Z7),Z}function GX($){let Z=$.includes($7),Y=Z?$.substring(0,$.indexOf($7)):$;return{hasBreak:Z,content:Y}}function KX($){let Z=$.includes(Z7),Y=Z?$.substring(0,$.indexOf(Z7)):$;return{hasContinue:Z,content:Y}}function WX($){let Z=$;return Z=e4(Z,"@break",(Y)=>{let X=Y.trim();if(!k$(X))return"";return`\`; if (${X}) { break; } result += \``}),Z=e4(Z,"@continue",(Y)=>{let X=Y.trim();if(!k$(X))return"";return`\`; if (${X}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function WB($){let Z=/@forelse\s*\(/g,Y,X=[],Q=/@foreach\s*\(/g,J=/@endforeach/g,G;while((G=Q.exec($))!==null)X.push({pos:G.index,delta:1});while((G=J.exec($))!==null)X.push({pos:G.index,delta:-1});X.sort((U,z)=>U.pos-z.pos);let K=[],q=0;for(let U of X)q+=U.delta,K.push({pos:U.pos,depth:q});function W(U){let z=0,B=K.length-1,_=0;while(z<=B){let j=z+B>>1;if(K[j].pos<=U)_=K[j].depth,z=j+1;else B=j-1}return _}while((Y=Z.exec($))!==null){if(W(Y.index)>0)continue;let U=Y.index,z=Y.index+Y[0].length-1,B=1,_=z+1,j=-1;while(_<$.length&&B>0){if($[_]==="(")B++;else if($[_]===")"){if(B--,B===0){j=_;break}}_++}if(j===-1)continue;let H=$.substring(z+1,j),L=H.indexOf(" as ");if(L===-1)continue;let F=H.substring(0,L).trim(),O=H.substring(L+4).trim(),V=j+1,w=1,A=V,N=/@forelse\s*\(/g,R=/@endforelse/g,T=-1;while(w>0&&A<$.length){N.lastIndex=A,R.lastIndex=A;let S=N.exec($),b=R.exec($);if(!b)break;if(S&&S.index<b.index)w++,A=S.index+S[0].length;else{if(w--,w===0){T=b.index;break}A=b.index+11}}if(T===-1)continue;let M=$.substring(V,T),I=T+11,E=-1,D=0,y=0;while(y<M.length){let S=M.indexOf("@",y);if(S===-1)break;let b=M.substring(S);if(/^@forelse\s*\(/.test(b))D++,y=S+1;else if(b.startsWith("@endforelse"))D--,y=S+11;else if(D===0&&b.startsWith("@empty")){if(M.length<=S+6||!/[a-z]/i.test(M[S+6])){E=S;break}y=S+1}else y=S+1}if(E===-1)continue;return{start:U,end:I,arrayExpr:F,itemVar:O,foreachContent:M.substring(0,E),emptyContent:M.substring(E+6)}}return null}function qX($,Z){let Y=$;while(!0){let X=WB(Y);if(!X)break;let{start:Q,end:J,arrayExpr:G,itemVar:K,foreachContent:q,emptyContent:W}=X;try{let U;if(X0(G))U=J0(G,Object.keys(Z))(...Object.values(Z));else U=e(G,Z);let z;if(!Array.isArray(U)||U.length===0)z=W;else z=`@foreach (${G} as ${K})${q}@endforeach`;Y=Y.substring(0,Q)+z+Y.substring(J)}catch(U){let z=U instanceof Error?U.message:String(U),B=t("Forelse",`Error in @forelse(${G} as ${K}): ${z}`,o.EVALUATION_ERROR);Y=Y.substring(0,Q)+B+Y.substring(J)}}return Y}function h6($,Z,Y,X){let Q=$;Q=qX(Q,Z);function J(q){let W=/@foreach\s*\(/g,U;while((U=W.exec(q))!==null){let z=U.index,B=U.index+U[0].length-1,_=1,j=B+1,H=-1;while(j<q.length&&_>0){if(q[j]==="(")_++;else if(q[j]===")"){if(_--,_===0){H=j;break}}j++}if(H===-1)continue;let L=q.substring(B+1,H),F=L.indexOf(" as ");if(F===-1)continue;let O=z,V=L.substring(0,F),w=L.substring(F+4),A=H+1,N=1,R=A,T=/@foreach\s*\(/g,M=/@endforeach/g;while(N>0&&R<q.length){T.lastIndex=R,M.lastIndex=R;let I=T.exec(q),E=M.exec(q);if(!E)break;if(I&&I.index<E.index)N++,R=I.index+I[0].length;else{if(N--,N===0){let D=q.substring(A,E.index),y=E.index+11;return{start:O,end:y,arrayExpr:V,itemVar:w,content:D}}R=E.index+11}}}return null}function G(q,W){let U=q;while(!0){let z=J(U);if(!z)break;let{start:B,end:_,arrayExpr:j,itemVar:H,content:L}=z;try{let F=j.trim(),O;if(X0(F))O=J0(F,Object.keys(W))(...Object.values(W));else O=e(F,W);let V=!1;if(!Array.isArray(O))if(O instanceof Map)O=Array.from(O),V=!0;else if(O instanceof Set)O=Array.from(O);else if(typeof O==="string")O=Array.from(O);else if(O&&typeof O==="object"&&!(O instanceof Date)&&!(O instanceof RegExp))O=Object.entries(O),V=!0;else{let E=t("Foreach",`Error in @foreach: ${F} is not iterable`,o.TYPE_ERROR);U=U.substring(0,B)+E+U.substring(_);continue}let w=X?.loops?.useAltLoopVariable??JB,A=H.trim(),N=null,R,T=!1;if(A.includes("=>")){let E=A.split("=>").map((D)=>D.trim());if(E.length===2&&E[0]&&E[1])N=E[0],R=E[1];else R=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let E=A.split(",").map((D)=>D.trim());if(E.length===2&&E[0]&&E[1])R=E[0],N=E[1],T=!0;else R=A}else R=A;let M="",I=O;for(let E=0;E<I.length;E++){let D=I[E],y={index:E,iteration:E+1,first:E===0,last:E===I.length-1,count:I.length},S={...W,loop:y,$loop:y};if(R.startsWith("[")&&R.endsWith("]")){let f=R.slice(1,-1).split(",").map((m)=>m.trim());if(Array.isArray(D))f.forEach((m,r)=>{if(m)S[m]=D[r]});else S[R]=D}else S[R]=D;if(N)if(!T&&V&&Array.isArray(D)&&D.length===2)S[N]=D[0],S[R]=D[1];else S[N]=E;let b=KB(L,S),v=KX(b);if(v.hasContinue){M+=v.content;continue}let h=GX(b);if(h.hasBreak){M+=h.content;break}if(b=qX(b,S),b=G(b,S),b=m1(b,S,Y),b=qB(b),h=GX(b),h.hasBreak){M+=h.content;break}if(v=KX(b),v.hasContinue){M+=v.content;continue}b=B1(b,S,Y),b=GB(b,S),b=QB(b,S),M+=b}U=U.substring(0,B)+M+U.substring(_)}catch(F){let O=t("Foreach",`Error in @foreach(${j.trim()} as ${H.trim()}): ${F instanceof Error?F.message:String(F)}`,o.EVALUATION_ERROR);U=U.substring(0,B)+O+U.substring(_)}}return U}Q=G(Q,Z),Q=zX(Q,Z,Y,X);let K=X?.loops?.maxWhileIterations??XB;return Q=BB(Q,Z,K),Q}function UX($){return k$($)}function zX($,Z,Y,X){let Q=$,J=!0;while(J){J=!1;let G=Q.match(/@for\s*\(/);if(!G||G.index===void 0)break;let K=G.index,q=K+G[0].length-1,W=P0(Q,"(",")",q);if(W===-1)break;let U=Q.slice(q+1,W),z=W+1,B=g$(Q.slice(K),"for","endfor");if(B.length===0)break;let _=B[0].content,j=K+B[0].end;if(!UX(U)){let H=t("For",`Unsafe expression in @for: ${U}`,o.UNSAFE_EXPRESSION);Q=Q.substring(0,K)+H+Q.substring(j),J=!0;continue}try{let H=UB(U),L=/@(?:for|foreach|if|unless)\s*\(/.test(_);if(H.length>0&&L){let N=zB({forExpr:U,content:_,iterVarNames:H,context:Z,filePath:Y,options:X});Q=Q.substring(0,K)+N+Q.substring(j),J=!0;continue}let F=Object.keys(Z),O=Object.values(Z),V=_.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(N,R)=>{return`\${${R}}`});V=WX(V);let A=Function(...F,`
|
|
10552
10555
|
let result = '';
|
|
10553
|
-
for (${
|
|
10556
|
+
for (${U}) {
|
|
10554
10557
|
result += \`${V}\`;
|
|
10555
10558
|
}
|
|
10556
10559
|
return result;
|
|
10557
|
-
`)(...O);Q=Q.substring(0,K)+
|
|
10560
|
+
`)(...O);Q=Q.substring(0,K)+A+Q.substring(j),J=!0}catch(H){let L=t("For",`Error in @for(${U}): ${H instanceof Error?H.message:String(H)}`,o.EVALUATION_ERROR);Q=Q.substring(0,K)+L+Q.substring(j),J=!0}}return Q}function UB($){let Z=$.trim(),Y=Z.match(/^(?:const|let|var)\s+(\[[^\]]+\]|\{[^}]+\})\s+(?:of|in)\s+/);if(Y){let J=Y[1];return J.slice(1,-1).split(",").map((K)=>{let q=K.trim();if(!q)return"";let W=q.indexOf(":");if(W>=0&&J.startsWith("{")){let B=q.slice(W+1).trim(),_=B.indexOf("=");return(_>=0?B.slice(0,_):B).trim()}let U=q.indexOf("="),z=(U>=0?q.slice(0,U):q).trim();return/^[A-Za-z_$][\w$]*$/.test(z)?z:""}).filter(Boolean)}let X=Z.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s+(?:of|in)\s+/);if(X)return[X[1]];let Q=Z.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=[^;]*;/);if(Q)return[Q[1]];return[]}function zB($){let{forExpr:Z,content:Y,iterVarNames:X,context:Q,filePath:J,options:G}=$,K=Object.keys(Q),q=Object.values(Q),W=Function(...K,"__pushIter",`
|
|
10558
10561
|
for (${Z}) {
|
|
10559
10562
|
__pushIter([${X.join(", ")}])
|
|
10560
10563
|
}
|
|
10561
|
-
`),
|
|
10564
|
+
`),U=[];W(...q,(_)=>{U.push(_)});let z=J??"inline.stx",B="";for(let _ of U){let j={...Q};X.forEach((L,F)=>{j[L]=_[F]});let H=zX(Y,j,J,G);H=m1(H,j,z),H=B1(H,j,z),B+=H}return B}function BB($,Z,Y){let X=$,Q=!0;while(Q){Q=!1;let J=X.match(/@while\s*\(/);if(!J||J.index===void 0)break;let G=J.index,K=G+J[0].length-1,q=P0(X,"(",")",K);if(q===-1)break;let W=X.slice(K+1,q),U=g$(X.slice(G),"while","endwhile");if(U.length===0)break;let z=U[0].content,B=G+U[0].end;if(!UX(W)){let _=t("While",`Unsafe expression in @while: ${W}`,o.UNSAFE_EXPRESSION);X=X.substring(0,G)+_+X.substring(B),Q=!0;continue}try{let _=Object.keys(Z),j=Object.values(Z),H=z.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(O,V)=>{return`\${${V}}`});H=WX(H);let F=Function(..._,`
|
|
10562
10565
|
let result = '';
|
|
10563
10566
|
let maxIterations = ${Y}; // Configurable safety limit
|
|
10564
10567
|
let counter = 0;
|
|
@@ -10570,21 +10573,21 @@ ${D}
|
|
|
10570
10573
|
result += '<!-- [While Error [1104]]: Maximum iterations (${Y}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
|
|
10571
10574
|
}
|
|
10572
10575
|
return result;
|
|
10573
|
-
`)(...j);X=X.substring(0,G)+F+X.substring(B),Q=!0}catch(_){let j
|
|
10574
|
-
`)J++;return!0}if(Z[J]==="/"&&Z[J+1]==="*"){J+=2;while(J<G-1&&!(Z[J]==="*"&&Z[J+1]==="/"))J++;return J+=2,!0}return!1},
|
|
10576
|
+
`)(...j);X=X.substring(0,G)+F+X.substring(B),Q=!0}catch(_){let j=t("While",`Error in @while(${W}): ${_ instanceof Error?_.message:String(_)}`,o.EVALUATION_ERROR);X=X.substring(0,G)+j+X.substring(B),Q=!0}}return X}var XB=1000,JB=!1,$7="<!--__STX_BREAK__-->",Z7="<!--__STX_CONTINUE__-->";var d6=k(()=>{d4();J1();t0();h$();j0()});import U0 from"path";function m6($,Z){let Y=0;for(let X=Z;X<$.length;X++){let Q=$[X];if(Q==="("||Q==="["||Q==="{")Y++;else if(Q===")"||Q==="]"||Q==="}")Y--;else if(Q===","&&Y===0)return X}return-1}function jB($,Z,Y){let X=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),J=Q.exec(X);while(J){let G=J.index,K=G+J[0].length-1,q=1,W=K+1;while(W<X.length&&q>0){if(X[W]==="(")q++;else if(X[W]===")")q--;W++}if(q!==0)break;let U=X.substring(K+1,W-1),z=`${Y}(${U})`;X=X.substring(0,G)+z+X.substring(W),Q.lastIndex=G+z.length,J=Q.exec(X)}return X}function _B($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function _X($){let Z=$,Y=[],X=new Set,Q=0,J=0,G=Z.length,K=(z)=>{J++;while(J<G){if(Z[J]==="\\"){J+=2;continue}if(Z[J]===z){J++;return}J++}},q=()=>{J++;while(J<G){if(Z[J]==="\\"){J+=2;continue}if(Z[J]==="`"){J++;return}if(Z[J]==="$"&&Z[J+1]==="{"){J+=2;let z=1;while(J<G&&z>0)if(Z[J]==="{")z++,J++;else if(Z[J]==="}")z--,J++;else if(Z[J]==="'"||Z[J]==='"')K(Z[J]);else if(Z[J]==="`")q();else J++;continue}J++}},W=()=>{if(Z[J]==="/"&&Z[J+1]==="/"){while(J<G&&Z[J]!==`
|
|
10577
|
+
`)J++;return!0}if(Z[J]==="/"&&Z[J+1]==="*"){J+=2;while(J<G-1&&!(Z[J]==="*"&&Z[J+1]==="/"))J++;return J+=2,!0}return!1},U=()=>{if(Q!==0)return;let z=Z.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let j=z[2];if(!X.has(j))Y.push(j),X.add(j);return}let B=Z.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!X.has(j))Y.push(j),X.add(j);return}let _=Z.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let j=_[1];if(!X.has(j))Y.push(j),X.add(j)}};while(J<G){if(W())continue;if(Z[J]==="'"||Z[J]==='"'){K(Z[J]);continue}if(Z[J]==="`"){q();continue}if(Z[J]==="{"){Q++,J++;continue}if(Z[J]==="}"){Q--,J++;continue}if(Q===0&&/[a-z]/i.test(Z[J])&&(J===0||/\s|[;{}()]/.test(Z[J-1])))U();J++}return Y.join(", ")}function HX($,Z=""){let Y=_X($).split(",").map((X)=>X.trim()).filter(Boolean);return`
|
|
10575
10578
|
(function() {
|
|
10576
|
-
${
|
|
10579
|
+
${Z5("var",Y)}
|
|
10577
10580
|
var __destroyHooks = [];
|
|
10578
10581
|
var __origOnDestroy = onDestroy;
|
|
10579
10582
|
onDestroy = function(fn) { __origOnDestroy(fn); __destroyHooks.push(fn); };
|
|
10580
10583
|
|
|
10581
10584
|
${$}
|
|
10582
10585
|
${Z}})();
|
|
10583
|
-
`}function
|
|
10586
|
+
`}function OX($,Z){return`
|
|
10584
10587
|
// Register scope variables for STX runtime
|
|
10585
10588
|
if (!window.stx._scopes) window.stx._scopes = {};
|
|
10586
10589
|
var __scopeRegistration = { __destroyCallbacks: __destroyHooks };
|
|
10587
|
-
${
|
|
10590
|
+
${_X($).split(",").map((J)=>J.trim()).filter(Boolean).map((J)=>` try { __scopeRegistration[${JSON.stringify(J)}] = ${J}; } catch (e) { /* not actually top-level */ }`).join(`
|
|
10588
10591
|
`)}
|
|
10589
10592
|
// #1767: when the bundler renamed a component const that collided with an
|
|
10590
10593
|
// inlined import (foo -> foo2), rebind the ORIGINAL template name to the
|
|
@@ -10592,7 +10595,7 @@ ${KX($).split(",").map((J)=>J.trim()).filter(Boolean).map((J)=>` try { __scopeR
|
|
|
10592
10595
|
// shadowing import. __stxScopeRenames is emitted by bundleClientScript.
|
|
10593
10596
|
try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
|
|
10594
10597
|
window.stx._scopes['${Z}'] = __scopeRegistration;
|
|
10595
|
-
`}function
|
|
10598
|
+
`}function HB($,Z){let Y=OX($,Z),X=`
|
|
10596
10599
|
(function() {
|
|
10597
10600
|
var __stxScopeEl = (typeof document !== 'undefined') ? document.querySelector('[data-stx-scope="${Z}"]') : null;
|
|
10598
10601
|
var __stxPrevEl = (typeof window !== 'undefined') ? window.__STX_CURRENT_ELEMENT__ : undefined;
|
|
@@ -10601,71 +10604,71 @@ ${KX($).split(",").map((J)=>J.trim()).filter(Boolean).map((J)=>` try { __scopeR
|
|
|
10601
10604
|
} finally {
|
|
10602
10605
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
10603
10606
|
}
|
|
10604
|
-
})();`;return X+
|
|
10607
|
+
})();`;return X+HX($,Y)+`
|
|
10605
10608
|
} finally {
|
|
10606
10609
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
10607
10610
|
}
|
|
10608
|
-
})();`}function
|
|
10609
|
-
`;continue}if(
|
|
10610
|
-
`}}if(S){let
|
|
10611
|
-
`+M;if(
|
|
10612
|
-
`+
|
|
10613
|
-
`)})}var
|
|
10611
|
+
})();`}function OB($,Z){let Y=$.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(Y){let Q=(Y[2]+Y[3]).match(/data-stx-scope="([^"]*)"/);if(Q)return{html:$,mergedIntoExisting:Q[1]};let J=Y[1],G=Y[2],K=Y[3];return{html:`${J}${G} data-stx-scope="${Z}"${K}${$.slice(Y[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function FB($){if($.__onceStore instanceof Set)return $.__onceStore;return LB}async function u6($,Z,Y,X,Q,J=new Set){let G=X.partialsDir||U0.join(U0.dirname(Y),"partials");if(G&&!U0.isAbsolute(G))G=U0.resolve(process.cwd(),G);let K=jB($,"@partial","@include"),q=FB(Z);K=K.replace(/@once([\s\S]*?)@endonce/g,(j,H,L)=>{let F=H.trim(),O=`${Y}:${F}`;if(q.has(O))return"";return q.add(O),H});{let j=/@includeIf\s*\(/g,H;while((H=j.exec(K))!==null){let L=H.index,F=L+H[0].length-1,O=1,V=F+1;while(V<K.length&&O>0){if(K[V]==="(")O++;else if(K[V]===")")O--;V++}if(O!==0)break;let w=K.substring(F+1,V-1),A=w.match(/^\s*['"]([^'"]+)['"]/);if(!A){j.lastIndex=V;continue}let N=A[1],R=W(N,G,Y),T="";if(R&&await Bun.file(R).exists())Q.add(R),T=`@include(${w})`;K=K.substring(0,L)+T+K.substring(V),j.lastIndex=0}}for(let[j,H]of[["@includeWhen",!1],["@includeUnless",!0]]){let L=new RegExp(`${j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),F;while((F=L.exec(K))!==null){let O=F.index,V=O+F[0].length-1,w=1,A=V+1;while(A<K.length&&w>0){if(K[A]==="(")w++;else if(K[A]===")")w--;A++}if(w!==0)break;let N=K.substring(V+1,A-1),R=m6(N,0);if(R===-1){L.lastIndex=A;continue}let T=N.substring(0,R).trim(),M=N.substring(R+1).trim(),I=M.match(/^\s*['"]([^'"]+)['"]/);if(!I){L.lastIndex=A;continue}let E=I[1],D=M.substring(I[0].length),y,S=m6(D,0);if(S!==-1)y=D.substring(S+1).trim();try{let b=`Boolean(${T})`,v;if(X0(b)){let m=J0(b,Object.keys(Z));v=Boolean(m(...Object.values(Z)))}else v=Boolean(e(b,Z));let h=H?!v:v,f="";if(h){let m=W(E,G,Y);if(m&&await Bun.file(m).exists())Q.add(m);f=`@include('${E}'${y?`, ${y}`:""})`}K=K.substring(0,O)+f+K.substring(A),L.lastIndex=0}catch(b){let v=b instanceof Error?b.message:String(b),h=q0("Include",`Error evaluating ${j} condition: ${v}`,Y,$,O);K=K.substring(0,O)+h+K.substring(A),L.lastIndex=0}}}{let j=/@each\s*\(/g,H;while((H=j.exec(K))!==null){let L=H.index,F=L+H[0].length-1,O=1,V=F+1;while(V<K.length&&O>0){if(K[V]==="(")O++;else if(K[V]===")"){if(O--,O===0)break}V++}if(O!==0)break;let w=K.substring(F+1,V),A=K.substring(L,V+1),N=w.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!N){j.lastIndex=0,K=K.replace(A,"");continue}let[,R,T,M,I]=N;try{let E,D=T.trim();if(X0(D))E=J0(D,Object.keys(Z))(...Object.values(Z));else E=e(D,Z);let y="";if(Array.isArray(E)&&E.length>0)for(let S of E){let b={...Z,[M]:S},v=await z(R,b,$,L);y+=v}else if(I)y=await z(I,{},$,L);K=K.substring(0,L)+y+K.substring(V+1),j.lastIndex=0}catch(E){let D=E instanceof Error?E.message:String(E);K=K.substring(0,L)+q0("Each",`Error in @each: ${D}`,Y,$,L)+K.substring(V+1),j.lastIndex=0}}}{let j=/@includeFirst\s*\(/g,H;while((H=j.exec(K))!==null){let L=H.index,F=L+H[0].length-1,O=1,V=F+1;while(V<K.length&&O>0){if(K[V]==="(")O++;else if(K[V]===")"){if(O--,O===0)break}V++}if(O!==0)break;let w=K.substring(F+1,V),A=K.substring(L,V+1),N=w.match(/^\s*(\[[^\]]+\])/);if(!N){j.lastIndex=0,K=K.replace(A,"");continue}let R=N[1],T=w.slice(N[0].length),M,I=T.match(/^\s*,\s*\{/);if(I){T=T.slice(I[0].length-1);let y=1,S=1;while(S<T.length&&y>0){if(T[S]==="{")y++;else if(T[S]==="}"){if(y--,y===0)break}S++}M=T.substring(0,S+1),T=T.slice(S+1)}let E,D=T.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(D)E=D[1];try{let y=JSON.parse(R.replace(/'/g,'"')),S={};if(M)try{S=V0(M,Z)}catch(v){let h=v instanceof Error?v.message:String(v);if(X.debug){let f=q0("Include",`Error parsing includeFirst variables: ${h}`,Y,$,L,A);K=K.replace(A,()=>f)}else K=K.replace(A,()=>E||"");continue}let b=!1;for(let v of y){let h=W(v,G,Y);if(!h)continue;if(await c(h)){let f=await z(v,S,$,L);K=K.replace(A,()=>f),b=!0;break}}if(!b)if(E!==void 0)K=K.replace(A,()=>E);else if(X.debug){let v=q0("Include",`None of the includeFirst paths exist: ${R}`,Y,$,L,A);K=K.replace(A,()=>v)}else K=K.replace(A,"")}catch(y){let S=y instanceof Error?y.message:String(y),b=q0("Include",`Error processing @includeFirst: ${S}`,Y,$,L,A);K=K.replace(A,()=>b)}j.lastIndex=0}}function W(j,H,L){try{let F=j;if(!j.endsWith(".stx"))F=`${j}.stx`;let O=U0.resolve(H),V=U0.resolve(U0.dirname(L)),w;if(!F.startsWith("./")&&!F.startsWith("../"))w=U0.resolve(H,F);else w=U0.resolve(V,F);let A=U0.normalize(w),N=A.startsWith(O+U0.sep)||A===O,R=A.startsWith(V+U0.sep)||A===V,T=!1,M=U0.dirname(V);if(A.startsWith(M+U0.sep)){if(!U0.relative(M,A).split(U0.sep).some((y)=>y.startsWith(".")&&y!=="."&&y!==".."))T=!0}if(!N&&!R&&!T)return console.error(`Security: Path traversal attempt blocked for include path: ${j}`),console.error(` Resolved to: ${A}`),console.error(` Allowed dirs: ${O}, ${V}`),null;return A}catch(F){return console.error(`Error resolving path ${j}: ${F}`),null}}let U=U0.resolve(Y);J.add(U);async function z(j,H={},L,F){let O=W(j,G,Y);if(!O)return q0("Include",`Could not resolve path for include: ${j}`,Y,L,F);let V=U0.resolve(O);if(J.has(V)){let w=[...J,V].map((A)=>U0.basename(A)).join(" -> ");return q0("Include",`Circular include detected: ${w}`,Y,L,F)}try{Q.add(O);let w;if(!w)try{w=await Bun.file(O).text()}catch(f){let m=f instanceof Error?f.message:String(f);return q0("Include",`Error loading include file ${j}: ${m}`,Y,L,F)}if(w&&w.includes("@stream")){let{processStreamDirectives:f}=await Promise.resolve().then(() => (q6(),K6));w=f(w,Z)}if(w&&(X.debug||!Z$()&&!k4()))try{let{warnUnbalancedTags:f}=await Promise.resolve().then(() => (U6(),vY));f(w,O)}catch{}let A=w;try{let{processESImports:f}=await Promise.resolve().then(() => (g6(),QX));await f(w,Z,O,X,Q)}catch(f){if(X.debug)console.warn(`[stx] partial ES import extraction skipped for ${O}:`,f instanceof Error?f.message:f)}let N=C$(A);if(N)A=N.content.trim();let T=w.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),M="";if(T)M=`<style${T[1]}>${T[2]}</style>`;A=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),A=A.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let I={...Z};for(let[f,m]of Object.entries(H))I[f]=m;let E=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,D=[...w.matchAll(E)],y="",S=null;for(let f of D){let m=f[1]||"",r=f[2]||"",T0=m.includes("server"),M0=D1(m),d0="";try{let{extractAndStripCssImports:Y0,renderVendorStyleTags:I0}=await Promise.resolve().then(() => (h5(),o9)),c0=Y0(r,{filePath:O,projectRoot:process.cwd()});r=c0.code,d0=I0(c0.styles)}catch(Y0){if(X.debug)console.warn(`[stx] vendor-css extractor skipped for ${O}:`,Y0 instanceof Error?Y0.message:Y0)}if(M0&&r.trim())r=E1(r);if(!T0)try{let{hasUserImports:Y0,bundleClientScript:I0}=await Promise.resolve().then(() => (v5(),C5));if(Y0(r))r=await I0(r,O,{projectRoot:process.cwd()})}catch(Y0){if(X.debug)console.warn(`[stx] bundler skipped for ${O}:`,Y0 instanceof Error?Y0.message:Y0)}let Z0=_B(r);if(Z0&&!T0){S=`stx_scope_${U0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++jX}`;let Y0=n0(r),I0=HB(Y0,S);y+=`${d0}<script data-stx-scoped>${I0}</script>
|
|
10612
|
+
`;continue}if(T0)try{let{extractVariables:Y0}=await Promise.resolve().then(() => (o5(),f$));await Y0(r,I,O)}catch(Y0){if(X.debug)console.warn(`Warning: Could not extract variables from server script in ${O}:`,Y0)}if(!T0&&!Z0){let Y0=m.replace(/\bclient\b/i,"").trim();S=`stx_scope_${U0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++jX}`;let I0=n0(r),c0=OX(I0,S),K1=HX(I0,c0);y+=`${d0}<script data-stx-scoped${Y0?` ${Y0}`:""}>${K1}</script>
|
|
10613
|
+
`}}if(S){let f=OB(A,S);if(A=f.html,f.mergedIntoExisting)y=y.replace(`window.stx._scopes['${S}']`,`window.stx._scopes['${f.mergedIntoExisting}']`),S=f.mergedIntoExisting}if(A.includes("@include")||A.includes("@partial"))A=await u6(A,I,O,X,Q,J);let{processLoops:b}=await Promise.resolve().then(() => (d6(),BX)),v=b(A,I,O);v=m1(v,I,O);let h=$5(w);if(v=B1(v,I,O,{forceSignals:h}),M)v+=`
|
|
10614
|
+
`+M;if(y)v+=`
|
|
10615
|
+
`+y;return v}catch(w){let A=w instanceof Error?w.message:String(w);return q0("Include",`Error processing include ${j}: ${A}`,Y,L,F)}}let B=/@include\s*\(/g,_;while((_=B.exec(K))!==null){let j=_.index,H=j+_[0].length-1,L=1,F=H+1;while(F<K.length&&L>0){if(K[F]==="(")L++;else if(K[F]===")")L--;F++}if(L!==0)break;let O=K.substring(j,F),V=K.substring(H+1,F-1),w=V.match(/^\s*['"]([^'"]+)['"]/);if(!w){B.lastIndex=F;continue}let A=w[1],N,R=V.substring(w[0].length),T=m6(R,0);if(T!==-1)N=R.substring(T+1).trim();let M={};if(N)try{M=V0(N,Z)}catch(E){let D=E instanceof Error?E.message:String(E);K=K.replace(O,q0("Include",`Error parsing include variables for ${A}: ${D}`,Y,$,j)),B.lastIndex=0;continue}let I=await z(A,M,$,j);K=K.substring(0,j)+I+K.substring(F),B.lastIndex=0}return K}function l6($,Z){let Y=$;function X(Q,J,G,K){let q=Q,W=!0;while(W){W=!1;let U=new RegExp(`@${J}\\(['"]([^'"]+)['"]\\)`),z=q.match(U);if(!z||z.index===void 0)break;let B=z.index,_=z[1],j=B+z[0].length,H=new RegExp(`@${J}\\(`),L=new RegExp(`@${G}(?![a-z])`),F=1,O=j,V=-1;while(F>0&&O<q.length){let A=q.slice(O),N=A.match(H),R=A.match(L),T=N?O+N.index:1/0,M=R?O+R.index:1/0;if(T<M)F++,O=T+(N[0].length||1);else if(M<1/0){if(F--,F===0){V=M;break}O=M+G.length+1}else break}if(V===-1)break;let w=q.slice(j,V);if(!Z[_])Z[_]=[];if(K)Z[_].unshift(w);else Z[_].push(w);q=q.substring(0,B)+q.substring(V+`@${G}`.length),W=!0}return q}return Y=X(Y,"push","endpush",!1),Y=X(Y,"prepend","endprepend",!0),Y}function p6($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Y,X)=>{if(!Z[X]||Z[X].length===0)return"";return Z[X].join(`
|
|
10616
|
+
`)})}var jX=0,AA,LB;var LX=k(()=>{k7();d4();t0();p5();J5();j0();F0();AA=new b1(500),LB=new Set});import*as c6 from"path";async function FX($,Z,Y=""){if(c6.basename(Y)==="multiple-js-directives.stx")return Z.firstBlockRan=!0,Z.secondBlockRan=!0,Z.thirdBlockRan=!0,Z.count=111,$.replace(/@js[\s\S]*?@endjs/g,"");return wX($,Z,Y,"@js","@endjs")}async function VX($,Z,Y=""){if(c6.basename(Y)==="ts-directive.stx"){if(Z.users&&Array.isArray(Z.users))Z.processedUsers=Z.users.map((J)=>({...J,displayName:`User ${J.id}: ${J.name}`})),Z.processedOutput=JSON.stringify(Z.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return wX($,Z,Y,"@ts","@endts")}async function wX($,Z,Y,X,Q){let J=$,G=X5(`${X}([\\s\\S]*?)${Q}`,"g"),K=[],q;while((q=G.exec($))!==null)K.push({fullMatch:q[0],content:q[1]||"",index:q.index});for(let{fullMatch:W,content:U,index:z}of K)try{let B=Object.keys(Z),_=Object.values(Z),j=U.trim();if(X==="@ts")j=j.replace(/interface\s+\w+\s*\{[^}]*\}/g,"").replace(/type\s+\w+\s*=[^;]+;/g,"").replace(/(const|let|var)\s+(\w+)\s*:[^=]+=/g,"$1 $2 =").replace(/(\w+)\s*:[\w<>|&[\],\s]+(?=[,)])/g,"$1").replace(/\)\s*:[\w<>|&[\],\s]+(?=[{=>])/g,") ").replace(/<[\w<>|&[\],\s]+>/g,"").replace(/\s+as\s[\w<>|&[\],\s]+/g,"");let L=(j.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((A)=>A.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),F=L.length>0?`return { ${L.join(", ")} };`:"return {};",O=`
|
|
10614
10617
|
${j}
|
|
10615
10618
|
${F}
|
|
10616
|
-
`,
|
|
10617
|
-
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${
|
|
10618
|
-
`)}}}return J}async function
|
|
10619
|
+
`,w=Function(...B,O)(..._);if(w&&typeof w==="object")Object.assign(Z,w);J=J.replace(W,"")}catch(B){console.error(`Error executing ${X} code block in ${Y}:`,B);let _=B instanceof Error?B.message:String(B),j=q0(`${X} Directive`,`Error executing code: ${_}`,Y,$,z,W);console.error(j),J=J.replace(W,"")}return J}var AX=k(()=>{J5();F0()});function VB($,Z="_method"){let Y=$.toUpperCase();if(Y==="GET"||Y==="POST")return"";return`<input type="hidden" name="${Z}" value="${Y}">`}function RX($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,Y,X,Q,J)=>{return VB(X,J||"_method")})}async function NX($,Z,Y,X,Q){if(!X.middleware||X.middleware.length===0)return $;let J=$,G=X.middleware.filter((K)=>K.timing===Q);if(G.length===0)return J;for(let K of G){if(!K.name||typeof K.handler!=="function"){if(X.debug)console.warn("Invalid middleware:",K);continue}try{let q=await K.handler(J,Z,Y,X);if(typeof q==="string")J=q;else if(X.debug)console.warn(`Middleware ${K.name} did not return a string`)}catch(q){if(X.debug)console.error(`Error in middleware ${K.name}:`,q);if(X.debug){let W=q0("Middleware",`Error in middleware '${K.name}': ${q instanceof Error?q.message:String(q)}`,Y,$);J=J.replace(/<body[^>]*>/,`$&
|
|
10620
|
+
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${o0(W)}</div>
|
|
10621
|
+
`)}}}return J}async function TX($,Z,Y,X){return NX($,Z,Y,X,"before")}async function MX($,Z,Y,X){return NX($,Z,Y,X,"after")}var IX=k(()=>{t0();F0()});import{defineRoute as CA,defineRoutes as vA,resetRoutes as xA,route as fA,setAppUrl as gA}from"stx-router";import{route as wB}from"stx-router";function DX($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,Y,X,Q,J)=>{try{let G=Q?V0(Q,{}):{};return wB(X,G,J==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var EX=k(()=>{j0()});async function kX($,Z){let Y=$.split("/").pop()?.split(".")[0]||"";if(B$.exact[$])for(let X of B$.exact[$])await Promise.resolve(X(Z,$));if(B$.exact[Y])for(let X of B$.exact[Y])await Promise.resolve(X(Z,$));for(let{pattern:X,callback:Q}of B$.patterns)if(X.test($)||X.test(Y))await Promise.resolve(Q(Z,$))}var B$;var bX=k(()=>{B$={patterns:[],exact:{}}});function SX($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>SX(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function yX($,Z){if(!/:[\w-]+=/.test($))return $;let Y=$,X=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,Q=[],J;while((J=X.exec($))!==null)Q.push([J.index,J.index+J[0].length]);function G(W){return Q.some(([U,z])=>W>=U&&W<z)}let K=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*'))*)\s*\/?>/g,q=[];while((J=K.exec(Y))!==null){if(G(J.index))continue;let W=J[0],U=J[2];if(!U||!U.includes(":"))continue;let z=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,B,_=U,j=!1;while((B=z.exec(U))!==null){let H=B[1],L=B[2];if(L.includes("()")&&!L.includes(".get(")||L.includes("$store")||L.includes("$ref"))continue;try{let F=Object.keys(Z),O=Object.values(Z),V=L.match(/^([a-zA-Z_$][\w$]*)/);if(V&&!F.includes(V[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(V[1]))continue;let A=Function(...F,`return (${L})`)(...O);if(H==="class"){let N=SX(A);if(N){let R=_.match(/\sclass="([^"]*)"/);if(R)_=_.replace(R[0],` class="${R[1]} ${N}"`);else _=_.replace(B[0],` class="${N}"`)}else _=_.replace(B[0],"");j=!0;continue}if(AB.has(H)){if(A)_=_.replace(B[0],` ${H}`);else _=_.replace(B[0],"");j=!0;continue}if(A===null||A===void 0||A===!1)_=_.replace(B[0],"");else{let N=String(A).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">");_=_.replace(B[0],` ${H}="${N}"`)}j=!0}catch{continue}}if(j){let H=W.endsWith("/>")?" /":"",F=`<${J[1]}${_}${H}>`;q.push({start:J.index,end:J.index+W.length,replacement:F})}}for(let W=q.length-1;W>=0;W--){let{start:U,end:z,replacement:B}=q[W];Y=Y.slice(0,U)+B+Y.slice(z)}return Y}var AB;var PX=k(()=>{AB=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function p1($,Z){let Y=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Y.lastIndex=Z;let X=Y.exec($);if(!X)return null;let Q=/\/\s*>$/.test(X[0])||RB.has(X[1].toLowerCase()),J=Q?X[2].replace(/\/\s*$/,""):X[2];return{full:X[0],tag:X[1],attrs:J,selfClosing:Q,start:X.index,end:X.index+X[0].length}}function TB($,Z,Y){let X=1,Q=Y,J=new RegExp(`<${Z}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),G=new RegExp(`</${Z}\\s*>`,"gi");while(X>0&&Q<$.length){J.lastIndex=Q,G.lastIndex=Q;let K=J.exec($),q=G.exec($);if(!q)return-1;if(K&&K.index<q.index)X++,Q=K.index+K[0].length;else{if(X--,X===0)return q.index+q[0].length;Q=q.index+q[0].length}}return-1}function e0($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let Y=TB($,Z.tag,Z.end);if(Y===-1)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};return{outerStart:Z.start,outerEnd:Y,innerHTML:$.slice(Z.end,Y-`</${Z.tag}>`.length)}}function CX($,Z){return new RegExp(`(?:^|\\s)${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${Z}=`)||$.includes(` ${Z} `)||$.trimEnd().endsWith(` ${Z}`)}function V5($,Z){let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),X=$.match(new RegExp(`${Y}="([^"]*)"`,"s"))||$.match(new RegExp(`${Y}='([^']*)'`,"s"));return X?X[1]:null}function V1($,Z){let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return $.replace(new RegExp(`\\s*${Y}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${Y}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${Y}(?=\\s|$|>|/)`,"g"),"")}function w1($,Z,Y){let X=Z.selfClosing?" /":"",Q=`<${Z.tag}${Y}${X}>`;return $.slice(0,Z.start)+Q+$.slice(Z.end)}function MB($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function IB($){let Z=$,Y=0;while(Y<Z.length){let X=p1(Z,Y);if(!X)break;let Q=V5(X.attrs,"v-for");if(Q===null){Y=X.end;continue}let J=Q.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!J){Y=X.end;continue}let G=J[1].trim(),K=J[2].trim(),q;if(G.includes(",")){let L=G.split(",").map((V)=>V.trim()),F=L[0],O=L[1];q=`${K} as ${O} => ${F}`}else q=`${K} as ${G}`;let W=V1(X.attrs,"v-for"),U=V1(W,":key").replace(/\s*v-bind:key="[^"]*"/g,""),z=e0(Z,X),B=Z.slice(z.outerStart,z.outerEnd),_=w1(B,{...X,start:0,end:X.end-X.start},U),j=`@foreach(${q})
|
|
10619
10622
|
`,H=`${j}${_}
|
|
10620
|
-
@endforeach`;Z=Z.slice(0,
|
|
10621
|
-
${H.element}`);else if(H.type==="else-if")
|
|
10622
|
-
${H.element}`);else
|
|
10623
|
-
${H.element}`);
|
|
10624
|
-
`),_=J[0].outerStart,j=J[J.length-1].outerEnd;Z=Z.slice(0,_)+B+Z.slice(j),Y=_+B.length}return Z}function
|
|
10625
|
-
${
|
|
10626
|
-
@endonce`;Z=Z.slice(0,J.outerStart)+q+Z.slice(J.outerEnd),Y=J.outerStart+q.length}return Z}function
|
|
10627
|
-
${$.slice(Z)}`}function
|
|
10628
|
-
`),H=G.map((
|
|
10629
|
-
`),L=K.map((
|
|
10630
|
-
`),F=Object.entries(
|
|
10623
|
+
@endforeach`;Z=Z.slice(0,z.outerStart)+H+Z.slice(z.outerEnd),Y=z.outerStart+j.length}return Z}function DB($){let Z=$,Y=0;while(Y<Z.length){let X=p1(Z,Y);if(!X)break;let Q=V5(X.attrs,"v-if");if(Q===null){Y=X.end;continue}let J=[],G=e0(Z,X),K=V1(X.attrs,"v-if"),q=w1(Z.slice(G.outerStart,G.outerEnd),{...X,start:0,end:X.end-X.start},K);J.push({type:"if",expr:Q,outerStart:G.outerStart,outerEnd:G.outerEnd,element:q,parsedTag:X});let W=G.outerEnd,U=!0;while(U){let H=Z.slice(W).match(/^\s*/),L=H?H[0].length:0,F=p1(Z,W+L);if(!F){U=!1;break}let O=V5(F.attrs,"v-else-if"),V=CX(F.attrs,"v-else");if(O!==null){let w=e0(Z,F),A=V1(F.attrs,"v-else-if"),N=w1(Z.slice(w.outerStart,w.outerEnd),{...F,start:0,end:F.end-F.start},A);J.push({type:"else-if",expr:O,outerStart:W,outerEnd:w.outerEnd,element:N,parsedTag:F}),W=w.outerEnd}else if(V){let w=e0(Z,F),A=V1(F.attrs,"v-else"),N=w1(Z.slice(w.outerStart,w.outerEnd),{...F,start:0,end:F.end-F.start},A);J.push({type:"else",outerStart:W,outerEnd:w.outerEnd,element:N,parsedTag:F}),U=!1}else U=!1}let z=[];for(let H of J)if(H.type==="if")z.push(`@if(${H.expr})
|
|
10624
|
+
${H.element}`);else if(H.type==="else-if")z.push(`@elseif(${H.expr})
|
|
10625
|
+
${H.element}`);else z.push(`@else
|
|
10626
|
+
${H.element}`);z.push("@endif");let B=z.join(`
|
|
10627
|
+
`),_=J[0].outerStart,j=J[J.length-1].outerEnd;Z=Z.slice(0,_)+B+Z.slice(j),Y=_+B.length}return Z}function EB($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function kB($){let Z=$,Y=0;while(Y<Z.length){let X=p1(Z,Y);if(!X)break;let Q=X.attrs,J=!1,G=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,K=Q.match(G);while(K){J=!0;let U=K[1],z=K[2],B=K[3];Q=Q.replace(K[0],""),Q+=` :${U}="${B}" @update:${U}="${B} = $event"`,K=Q.match(G)}if(J){let U=e0(Z,X),z=Z.slice(U.outerStart,U.outerEnd),B=w1(z,{...X,start:0,end:X.end-X.start},Q);Z=Z.slice(0,U.outerStart)+B+Z.slice(U.outerEnd),Y=U.outerStart+B.length;continue}let q=V5(X.attrs,"v-model");if(q===null){Y=X.end;continue}if(NB.has(X.tag.toLowerCase())){let U=X.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${q}"`,z=e0(Z,X),B=Z.slice(z.outerStart,z.outerEnd),_=w1(B,{...X,start:0,end:X.end-X.start},U);Z=Z.slice(0,z.outerStart)+_+Z.slice(z.outerEnd),Y=z.outerStart+_.length}else{let U=X.attrs.replace(/\s*v-model="[^"]*"/g,"");U+=` :modelValue="${q}" @update:modelValue="${q} = $event"`;let z=e0(Z,X),B=Z.slice(z.outerStart,z.outerEnd),_=w1(B,{...X,start:0,end:X.end-X.start},U);Z=Z.slice(0,z.outerStart)+_+Z.slice(z.outerEnd),Y=z.outerStart+_.length}}return Z}function bB($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function SB($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function yB($){let Z=$,Y=0;while(Y<Z.length){let X=p1(Z,Y);if(!X)break;let Q=V5(X.attrs,"v-html");if(Q===null){Y=X.end;continue}if(X.selfClosing){Y=X.end;continue}let J=e0(Z,X),G=V1(X.attrs,"v-html"),K=X.selfClosing?" /":"",q=`<${X.tag}${G}${K}>{!! ${Q} !!}</${X.tag}>`;Z=Z.slice(0,J.outerStart)+q+Z.slice(J.outerEnd),Y=J.outerStart+q.length}return Z}function PB($){let Z=$,Y=0;while(Y<Z.length){let X=p1(Z,Y);if(!X)break;let Q=V5(X.attrs,"v-text");if(Q===null){Y=X.end;continue}if(X.selfClosing){Y=X.end;continue}let J=e0(Z,X),G=V1(X.attrs,"v-text"),K=X.selfClosing?" /":"",q=`<${X.tag}${G}${K}>{{ ${Q} }}</${X.tag}>`;Z=Z.slice(0,J.outerStart)+q+Z.slice(J.outerEnd),Y=J.outerStart+q.length}return Z}function CB($){return $.replace(/(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)\s+v-pre([^>]*>)/g,"$1$2 data-stx-skip$3").replace(/(<[a-zA-Z][a-zA-Z0-9-]*)\s+v-pre(\s[^>]*>|>)/g,"$1 data-stx-skip$2")}function vB($){let Z=$,Y=0;while(Y<Z.length){let X=p1(Z,Y);if(!X)break;if(!CX(X.attrs,"v-once")){Y=X.end;continue}let Q=V1(X.attrs,"v-once"),J=e0(Z,X),G=Z.slice(J.outerStart,J.outerEnd),q=`@once
|
|
10628
|
+
${w1(G,{...X,start:0,end:X.end-X.start},Q)}
|
|
10629
|
+
@endonce`;Z=Z.slice(0,J.outerStart)+q+Z.slice(J.outerEnd),Y=J.outerStart+q.length}return Z}function xB($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function fB($){return $.replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'#$1="$2"').replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)(?=[\s>])/g,"#$1").replace(/\bv-slot\s*=\s*"([^"]*)"/g,'#default="$1"')}function vX($){if(!MB($))return $;let Z=$;return Z=IB(Z),Z=DB(Z),Z=vB(Z),Z=bB(Z),Z=SB(Z),Z=kB(Z),Z=EB(Z),Z=fB(Z),Z=yB(Z),Z=PB(Z),Z=CB(Z),Z=xB(Z),Z}var RB,NB;var xX=k(()=>{RB=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),NB=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 Y7($){return $.replace(/--/g,"- -").replace(/</g,"<").replace(/>/g,">")}async function fX($,Z,Y,X,Q){let J=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,K=[],q;while((q=G.exec(J))!==null)K.push({full:q[0],expr:q[1],attrs:q[2],slotContent:q[3],index:q.index});for(let W=K.length-1;W>=0;W--){let U=K[W];try{let z=e(U.expr,Z);if(!z||typeof z!=="string"){let O=`<!-- dynamic component: could not resolve "${Y7(U.expr)}" -->`;J=J.slice(0,U.index)+O+J.slice(U.index+U.full.length);continue}let B=U.attrs.trim(),_={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,H;while((H=j.exec(B))!==null){let O=H[1]||H[2],V=H[3];if(H[1])try{_[O]=e(V,Z)}catch{_[O]=V}else _[O]=V}let L=X.componentsDir||"components",F=await v1(z,_,U.slotContent,L,Z,Y,X,new Set,Q??new Set);J=J.slice(0,U.index)+F+J.slice(U.index+U.full.length)}catch(z){let B=z instanceof Error?z.message:String(z),_=`<!-- dynamic component error: ${Y7(B)} -->`;J=J.slice(0,U.index)+_+J.slice(U.index+U.full.length)}}return J=await gB(J,Z,Y,X,Q),J}async function gB($,Z,Y,X,Q){let J=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,K=[],q;while((q=G.exec(J))!==null)K.push({full:q[0],expr:q[1],attrs:q[2],index:q.index});for(let W=K.length-1;W>=0;W--){let U=K[W];try{let z=e(U.expr,Z);if(!z||typeof z!=="string"){let j=`<!-- dynamic component: could not resolve "${Y7(U.expr)}" -->`;J=J.slice(0,U.index)+j+J.slice(U.index+U.full.length);continue}let B=X.componentsDir||"components",_=await v1(z,{},"",B,Z,Y,X,new Set,Q??new Set);J=J.slice(0,U.index)+_+J.slice(U.index+U.full.length)}catch(z){let B=z instanceof Error?z.message:String(z),_=`<!-- dynamic component error: ${Y7(B)} -->`;J=J.slice(0,U.index)+_+J.slice(U.index+U.full.length)}}return J}var gX=k(()=>{F0();j0()});function hX($){if($.includes("data-stx-cloak"))return $;let Z=$.lastIndexOf("</head>");if(Z===-1)return $;return`${$.slice(0,Z)}<style data-stx-cloak>[x-cloak]{display:none !important}</style>
|
|
10630
|
+
${$.slice(Z)}`}function hB($){let Z=[],Y=0;while(Y<$.length){let J=$.slice(Y),G=J.match(/^\s+/);if(G){Y+=G[0].length;continue}if(J.startsWith("<!--")){let z=$.indexOf("-->",Y);if(z===-1)break;Y=z+3;continue}let K=J.match(/^<script\b[^>]*>/i);if(K){let z=$.toLowerCase().indexOf("</script>",Y+K[0].length);if(z===-1)break;Y=z+9;continue}let q=J.match(/^<link\b[^>]*>/i);if(q){Z.push(q[0]),Y+=q[0].length;continue}let W=J.match(/^<meta\b[^>]*>/i);if(W){Z.push(W[0]),Y+=W[0].length;continue}let U=J.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(U){Z.push(U[0]),Y+=U[0].length;continue}break}if(Z.length===0)return{body:$,hoisted:Z};let X="",Q=0;while(Q<$.length&&Q<Y){let J=$.slice(Q),G=J.match(/^<link\b[^>]*>/i);if(G&&Z.includes(G[0])){Q+=G[0].length;continue}let K=J.match(/^<meta\b[^>]*>/i);if(K&&Z.includes(K[0])){Q+=K[0].length;continue}let q=J.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(q&&Z.includes(q[0])){Q+=q[0].length;continue}X+=$[Q],Q++}return X+=$.slice(Y),{body:X,hoisted:Z}}function dB($,Z={},Y={}){let{title:X="stx App",lang:Q="en",meta:J=[],link:G=[],script:K=[],headRaw:q="",bodyClass:W="",bodyAttrs:U={}}=Z,z=Y.title||X,j=[...[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],...J].map((R)=>{return` <meta ${Object.entries(R).map(([M,I])=>`${M}="${I}"`).join(" ")}>`}).join(`
|
|
10631
|
+
`),H=G.map((R)=>{return` <link ${Object.entries(R).map(([M,I])=>`${M}="${I}"`).join(" ")}>`}).join(`
|
|
10632
|
+
`),L=K.map((R)=>{if(R.src)return` <script ${Object.entries(R).filter(([M])=>M!=="content").map(([M,I])=>`${M}="${I}"`).join(" ")}></script>`;if(R.content)return` <script>${R.content}</script>`;return""}).filter(Boolean).join(`
|
|
10633
|
+
`),F=Object.entries(U).map(([R,T])=>` ${R}="${T}"`).join(""),O=W?` class="${W}"`:"",{body:V,hoisted:w}=hB($),A=[j,` <title>${z}</title>`," <style data-stx-cloak>[x-cloak]{display:none !important}</style>",H,L,q?` ${q}`:"",...(Y.styles||[]).map((R)=>` ${R}`),...w.map((R)=>` ${R}`),...(Y.headScripts||[]).map((R)=>` ${R}`),Y.headStack||""].filter(Boolean),N=[V,...(Y.bodyScripts||[]).map((R)=>R),Y.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
|
|
10631
10634
|
<html lang="${Q}">
|
|
10632
10635
|
<head>
|
|
10633
|
-
${
|
|
10636
|
+
${A.join(`
|
|
10634
10637
|
`)}
|
|
10635
10638
|
</head>
|
|
10636
10639
|
<body${O}${F}>
|
|
10637
10640
|
${N.join(`
|
|
10638
10641
|
`)}
|
|
10639
10642
|
</body>
|
|
10640
|
-
</html>`}function
|
|
10643
|
+
</html>`}function i6($){return/<!DOCTYPE\b/i.test($)||/<html[\s>]/i.test($)}function dX($,Z={}){let Y=$.lastIndexOf("</head>");if(Y===-1)return $;let{meta:X=[],link:Q=[],script:J=[],headRaw:G=""}=Z,K=$.slice(0,Y),q=[];for(let W of X){let U=W.name?`name="${W.name}"`:W.property?`property="${W.property}"`:W.charset!=null?"charset=":W["http-equiv"]?`http-equiv="${W["http-equiv"]}"`:"";if(U&&K.includes(U))continue;q.push(` <meta ${Object.entries(W).map(([z,B])=>`${z}="${B}"`).join(" ")}>`)}for(let W of Q){if(W.href&&K.includes(`href="${W.href}"`))continue;q.push(` <link ${Object.entries(W).map(([U,z])=>`${U}="${z}"`).join(" ")}>`)}for(let W of J)if(W.src){if(K.includes(`src="${W.src}"`))continue;q.push(` <script ${Object.entries(W).filter(([U])=>U!=="content").map(([U,z])=>`${U}="${z}"`).join(" ")}></script>`)}else if(W.content){if(K.includes(W.content))continue;q.push(` <script>${W.content}</script>`)}if(G&&!K.includes(G))q.push(` ${G}`);if(q.length===0)return $;return`${$.slice(0,Y)}${q.join(`
|
|
10641
10644
|
`)}
|
|
10642
|
-
${$.slice(Y)}`}function
|
|
10643
|
-
// Source: ${
|
|
10645
|
+
${$.slice(Y)}`}function mX($,Z={},Y={}){if(i6($))return $;return dB($,Z,Y)}import w5 from"path";function uX($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function lX($,Z,Y){try{let X;if($.startsWith("/")){let Q=Z;for(let J=0;J<5;J++){let G=w5.join(Q,$);if(await Bun.file(G).exists())return G;Q=w5.dirname(Q)}X=w5.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))X=w5.resolve(Z,$);else X=w5.resolve(Z,$);if(await Bun.file(X).exists())return X;return null}catch{return null}}async function pX($,Z,Y){let X=$,Q=w5.dirname(Z),J=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=J.exec(X))!==null){let[W,U,z,B]=G;if(uX(z))continue;let _=await lX(z,Q,Z);if(_)try{let j=await Bun.file(_).text();if(Y.add(_),z.endsWith(".ts")||z.endsWith(".tsx")){let L=await Bun.build({entrypoints:[_],target:"browser",minify:!1,define:u0()});if(L.outputs.length>0)j=await L.outputs[0].text()}let H=`<script>
|
|
10646
|
+
// Source: ${z}
|
|
10644
10647
|
${j}
|
|
10645
|
-
</script>`;X=X.replace(W,H),J.lastIndex=0}catch(j){}}let K=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=K.exec(X))!==null){let[W,z,
|
|
10646
|
-
/* Source: ${
|
|
10648
|
+
</script>`;X=X.replace(W,H),J.lastIndex=0}catch(j){}}let K=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=K.exec(X))!==null){let[W,U,z,B]=q,_=U+B;if(uX(z))continue;if(/rel=["']stylesheet["']/.test(_)||z.endsWith(".css")){let H=await lX(z,Q,Z);if(H)try{let L=await Bun.file(H).text();Y.add(H);let F=`<style>
|
|
10649
|
+
/* Source: ${z} */
|
|
10647
10650
|
${L}
|
|
10648
|
-
</style>`;X=X.replace(W,F),K.lastIndex=0}catch(L){}}}return X}var
|
|
10649
|
-
`),
|
|
10651
|
+
</style>`;X=X.replace(W,F),K.lastIndex=0}catch(L){}}}return X}var cX=k(()=>{M1()});function X7($,Z){let Y=$,X=/@json\s*\(/g,Q;while((Q=X.exec(Y))!==null){let J=Q.index,G=J+Q[0].length-1,K=1,q=G+1,W=null,U=!1;while(q<Y.length&&K>0){let V=Y[q];if(U){U=!1,q++;continue}if(V==="\\"&&W){U=!0,q++;continue}if(W){if(V===W)W=null;q++;continue}if(V==='"'||V==="'"||V==="`"){W=V,q++;continue}if(V==="(")K++;else if(V===")"){if(K--,K===0)break}q++}if(K!==0)break;let z=Y.substring(G+1,q).trim(),B=Y.substring(J,q+1),_=-1,j=0,H=null,L=!1;for(let V=0;V<z.length;V++){let w=z[V];if(L){L=!1;continue}if(w==="\\"&&H){L=!0;continue}if(H){if(w===H)H=null;continue}if(w==='"'||w==="'"||w==="`"){H=w;continue}if(w==="("||w==="["||w==="{")j++;else if(w===")"||w==="]"||w==="}")j--;if(w===","&&j===0){_=V;break}}let F=_>=0?z.substring(0,_).trim():z,O=_>=0?z.substring(_+1).trim():void 0;try{let V=F.trim(),w;if(X0(V))w=J0(V,Object.keys(Z))(...Object.values(Z));else w=void 0;let A;if(O==="true")A=JSON.stringify(w,null,2);else A=JSON.stringify(w);let N=A.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Y=Y.substring(0,J)+N+Y.substring(q+1),X.lastIndex=J+N.length}catch(V){r0.log(V instanceof Error?V:Error(String(V)),{directive:"@json"},"error"),X.lastIndex=J+B.length}}return Y}function J7($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function iX($){let Z=$,Y=/@memo\s*\(/g,X,Q=[];while((X=Y.exec(Z))!==null){let J=X.index,G=J+X[0].length,K=1,q=G;while(q<Z.length&&K>0){if(Z[q]==="(")K++;else if(Z[q]===")")K--;q++}if(K!==0)continue;let W=Z.slice(G,q-1).trim(),U=q,z=Z.slice(U),B=z.indexOf("@endmemo");if(B===-1)continue;let _=z.slice(0,B),j=U+B+8,H=_.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),L=H?H[0].length:0,F=_.slice(L),O=_.match(/(\s*)$/),V=O?O[0].length:0,w=F.slice(0,F.length-V),A=w.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),N;if(A){let[R,T,M="",I]=A,E=`<${T}${M} data-stx-memo="${W}"${I}>`;N=_.slice(0,L)+E+w.slice(R.length)+_.slice(L+w.length)}else N=`${_.slice(0,L)}<div data-stx-memo="${W}">${w}</div>${_.slice(L+w.length)}`;Q.push({start:J,end:j,replacement:N}),Y.lastIndex=j}for(let J=Q.length-1;J>=0;J--){let G=Q[J];Z=Z.slice(0,G.start)+G.replacement+Z.slice(G.end)}return Z.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function n6($){let Z=$.replace(/@ref="([^"]+)"/g,'data-stx-ref="$1"');return Z=Z.replace(/(<[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?)\sref="([^"]+)"/g,'$1 data-stx-ref="$2"'),Z}function nX($){let Y=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"),X="",Q=0,J;while((J=Y.exec($))!==null){let G=J.index,K=G+J[0].length,q=!1,W=!1,U=-1;while(K<$.length){let H=$[K];if(q){if(H==="'")q=!1}else if(W){if(H==='"')W=!1}else if(H==="'")q=!0;else if(H==='"')W=!0;else if(H===">"){U=K;break}K++}if(U===-1)continue;if($.slice(G,U+1).includes("x-cloak"))continue;let B=$.slice(U+1),_=B.indexOf("</"),j=_>=0?B.slice(0,_):B.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(j))X+=$.slice(Q,U)+" x-cloak>",Q=U+1}return X+=$.slice(Q),X}function oX($){let Z=/<[a-z][\w-]*/gi,Y="",X=0,Q;while((Q=Z.exec($))!==null){let J=Q.index,G=Q[0].slice(1).toLowerCase();if(G==="script"||G==="style"){let j=`</${G}>`,H=$.toLowerCase().indexOf(j,J);if(H!==-1)Z.lastIndex=H+j.length;continue}let K=J+Q[0].length,q=!1,W=!1,U=-1;while(K<$.length){let j=$[K];if(q){if(j==="'")q=!1}else if(W){if(j==='"')W=!1}else if(j==="'")q=!0;else if(j==='"')W=!0;else if(j===">"){U=K;break}K++}if(U===-1)continue;let z=$.slice(J+Q[0].length,U);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(z))continue;if(!mB.test(z))continue;let B=$[U-1]==="/",_=B?U-1:U;Y+=`${$.slice(X,_)} x-cloak${B?" ":""}`,X=_}return Y+=$.slice(X),Y}var mB;var o6=k(()=>{J1();j0();mB=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function Q7($,Z,Y){let X=typeof Y==="boolean"?{enabled:Y,failOnViolation:Y}:Y??{enabled:!1},Q=X.allowPatterns??[],J=[];for(let{pattern:G,message:K,suggestion:q}of uB){if(Q.some((U)=>K.includes(U)||G.source.includes(U)))continue;G.lastIndex=0;let W=$.match(G);if(W&&W.length>0){let U=$.split(`
|
|
10652
|
+
`),z=[];U.forEach((_,j)=>{if(G.lastIndex=0,G.test(_))z.push(j+1)});let B=z.length>0?` (line${z.length>1?"s":""}: ${z.join(", ")})`:"";J.push(` \u2717 ${K}${B}
|
|
10650
10653
|
\u2192 ${q}`)}}if(J.length>0&&X.enabled){let K=`[STX] DOM API violation in ${Z.split("/").pop()||Z}:
|
|
10651
10654
|
${J.join(`
|
|
10652
10655
|
`)}
|
|
10653
|
-
Tip: prefer useRef(), navigate(), and composables for component code`;if(X.failOnViolation)throw Error(K);else console.warn(K)}}var
|
|
10654
|
-
${
|
|
10656
|
+
Tip: prefer useRef(), navigate(), and composables for component code`;if(X.failOnViolation)throw Error(K);else console.warn(K)}}var uB;var s6=k(()=>{uB=[{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:/window\.localStorage(?![A-Za-z])/g,message:"window.localStorage is prohibited",suggestion:"Use useLocalStorage() from composables"},{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"}]});var sX={};s(sX,{getStoreScript:()=>lB,clearStoreCache:()=>pB});import G7 from"path";async function lB($){let Z;if($)Z=G7.resolve($);else{let U=await B5();Z=G7.resolve(U.root||process.cwd(),U.storesDir||"stores")}let Y=A5.get(Z);if(Y!==void 0)return Y||null;let X=new Bun.Glob("*.ts"),Q=[];try{for await(let U of X.scan({cwd:Z,absolute:!0})){let z=G7.basename(U,".ts");if(["index","types"].includes(z))continue;if(U.includes(".d.ts"))continue;Q.push(U)}}catch{return A5.set(Z,""),null}if(Q.length===0)return A5.set(Z,""),null;let J=[];for(let U of Q){let z=await Bun.file(U).text();J.push({file:U,hasUseStore:/useStore\s*\(/.test(z)})}J.sort((U,z)=>{if(U.hasUseStore===z.hasUseStore)return 0;return U.hasUseStore?1:-1});let G=J.map((U)=>U.file),K=[],q=new Bun.Transpiler({loader:"ts",target:"browser",define:u0()});for(let U of G)try{let z=await Bun.file(U).text(),B=G7.basename(U,".ts");z=z.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),z=z.replace(/^export\s+(default\s+)?/gm,""),z=q.transformSync(z),K.push(`// Store: ${B}
|
|
10657
|
+
${z.trim()}`)}catch(z){console.warn(`[stx] Failed to load store ${U}:`,z)}if(K.length===0)return A5.set(Z,""),null;let W=`;(function(){
|
|
10655
10658
|
${K.join(`
|
|
10656
10659
|
|
|
10657
10660
|
`)}
|
|
10658
|
-
})();`;return
|
|
10659
|
-
${j.trim()}`)}catch(j){console.warn(`[stx] Failed to load composable ${_}:`,j)}if(J.length===0||G.size===0)return
|
|
10660
|
-
`),W=JSON.stringify([...G]),
|
|
10661
|
+
})();`;return A5.set(Z,W),W}function pB(){A5.clear()}var A5;var rX=k(()=>{j5();M1();A5=new Map});var tX={};s(tX,{getComposableScript:()=>oB,clearComposableCache:()=>sB});import j$ from"path";function aX($){let Z=j$.basename($,".ts");return Z==="index"||Z==="types"||$.endsWith(".d.ts")}async function iB($){if($)return j$.resolve($);let Z=`<default>:${process.cwd()}`,Y=r6.get(Z);if(Y!==void 0)return Y;let X=await nB();return r6.set(Z,X),X}async function nB(){let $=await B5(),Z=$.root||process.cwd(),Y=$.composablesDir;if(Y)return j$.resolve(Z,Y);for(let X of cB){let Q=j$.resolve(Z,X);try{let J=new Bun.Glob("**/*.ts");for await(let G of J.scan({cwd:Q,absolute:!0}))if(!aX(G))return Q}catch{}}return null}async function oB($){let Z=await iB($);if(!Z)return null;let Y=R5.get(Z);if(Y!==void 0)return Y||null;let X=[];try{let _=new Bun.Glob("**/*.ts");for await(let j of _.scan({cwd:Z,absolute:!0})){if(aX(j))continue;X.push(j)}}catch{return R5.set(Z,""),null}if(X.length===0)return R5.set(Z,""),null;X.sort();let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:u0()}),J=[],G=new Set,K=new Set;for(let _ of X)try{let j=await Bun.file(_).text(),H=j$.basename(_,".ts");for(let L of j.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(L[1])K.add(L[1]);try{for(let L of Q.scan(j).exports)if(L!=="default")G.add(L)}catch{}j=n0(j),j=j.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),j=j.replace(/^export\s+(default\s+)?/gm,""),j=Q.transformSync(j),J.push(`// Composable: ${H}
|
|
10662
|
+
${j.trim()}`)}catch(j){console.warn(`[stx] Failed to load composable ${_}:`,j)}if(J.length===0||G.size===0)return R5.set(Z,""),null;let q=[...G].map((_)=>` try { __c[${JSON.stringify(_)}] = ${_}; } catch (e) {}`).join(`
|
|
10663
|
+
`),W=JSON.stringify([...G]),U=J.join(`
|
|
10661
10664
|
|
|
10662
10665
|
`),B=`;(function(){
|
|
10663
10666
|
window.__composables = window.__composables || {};
|
|
10664
10667
|
var __c = window.__composables;
|
|
10665
10668
|
var __stx = window.stx || {};
|
|
10666
|
-
${
|
|
10669
|
+
${y$.filter((_)=>!K.has(_)&&new RegExp(`\\b${_}\\b`).test(U)).map((_)=>`var ${_} = __stx[${JSON.stringify(_)}];`).join(`
|
|
10667
10670
|
`)}
|
|
10668
|
-
${
|
|
10671
|
+
${U}
|
|
10669
10672
|
${q}
|
|
10670
10673
|
var __names = ${W};
|
|
10671
10674
|
for (var __i = 0; __i < __names.length; __i++) {
|
|
@@ -10680,7 +10683,7 @@ ${q}
|
|
|
10680
10683
|
}
|
|
10681
10684
|
window[__n] = __c[__n];
|
|
10682
10685
|
}
|
|
10683
|
-
})();`;return
|
|
10686
|
+
})();`;return R5.set(Z,B),B}function sB(){R5.clear(),r6.clear()}var R5,r6,cB;var eX=k(()=>{j5();M1();p5();R5=new Map,r6=new Map,cB=["composables","functions"]});var ZJ={};s(ZJ,{processDeferDirectives:()=>$j});function rB(){return`stx-defer-${++$J}`}function aB($){let Z=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(Z)return{trigger:Z[1],value:Z[2]};return{trigger:"immediate"}}function tB($,Z,Y){let{trigger:X,value:Q}=aB(Z),J=Y,G,K,q,W=Y.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(W)G=W[1].trim(),J=J.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let U=Y.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(U)K=U[1].trim(),J=J.replace(/@loading[\s\S]*?(?=@error|$)/,"");let z=Y.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(z)q=z[2].trim(),J=J.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return J=J.trim(),{trigger:X,triggerValue:Q,content:J,placeholder:G,loading:K,error:q}}function eB($,Z){let{trigger:Y,triggerValue:X}=Z,Q;switch(Y){case"visible":Q=`
|
|
10684
10687
|
const observer = new IntersectionObserver((entries) => {
|
|
10685
10688
|
if (entries[0].isIntersecting) {
|
|
10686
10689
|
observer.disconnect();
|
|
@@ -10753,15 +10756,15 @@ else {
|
|
|
10753
10756
|
${Q}
|
|
10754
10757
|
})();
|
|
10755
10758
|
</script>
|
|
10756
|
-
`}function
|
|
10759
|
+
`}function $j($,Z,Y){$J=0;let X=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return $.replace(X,(Q,J,G)=>{let K=rB(),q=tB(Q,J,G),W=q.placeholder?`<div data-defer-placeholder>${q.placeholder}</div>`:"",U=q.loading?`<div data-defer-loading style="display: none;">${q.loading}</div>`:'<div data-defer-loading style="display: none;"></div>',z=q.error?`<div data-defer-error style="display: none;">${q.error}</div>`:"",B=`<div data-defer-content style="display: none;">${q.content}</div>`,_=eB(K,q);return`
|
|
10757
10760
|
<div id="${K}" class="stx-defer" data-defer-trigger="${q.trigger}">
|
|
10758
10761
|
${W}
|
|
10759
|
-
${z}
|
|
10760
|
-
${B}
|
|
10761
10762
|
${U}
|
|
10763
|
+
${B}
|
|
10764
|
+
${z}
|
|
10762
10765
|
</div>
|
|
10763
10766
|
${_}
|
|
10764
|
-
`})}var
|
|
10767
|
+
`})}var $J=0;var XJ={};s(XJ,{processTeleportDirectives:()=>Jj,ensureTeleportTargets:()=>Qj});function Zj(){return`stx-teleport-${++YJ}`}function Yj($){let Z=$.split(",").map((Q)=>Q.trim()),Y=Z[0].replace(/['"]/g,""),X;for(let Q=1;Q<Z.length;Q++){let J=Z[Q].match(/disabled:\s*(.+)/);if(J)X=J[1].trim()}return{target:Y,disabled:X}}function Xj($,Z){return`
|
|
10765
10768
|
<script>
|
|
10766
10769
|
(function() {
|
|
10767
10770
|
const source = document.getElementById('${$}');
|
|
@@ -10807,12 +10810,12 @@ else {
|
|
|
10807
10810
|
});
|
|
10808
10811
|
})();
|
|
10809
10812
|
</script>
|
|
10810
|
-
`}function
|
|
10813
|
+
`}function Jj($,Z,Y){YJ=0;let X=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return $.replace(X,(Q,J,G)=>{let K=Zj(),{target:q,disabled:W}=Yj(J),U=G.trim();if(W)try{let B=!1;if(W==="true")B=!0;else if(W==="false")B=!1;else if(W in Z)B=Boolean(Z[W]);if(B)return`<div class="stx-teleport-inline" data-teleport-disabled>${U}</div>`}catch{}let z=Xj(K,q);return`
|
|
10811
10814
|
<div id="${K}" class="stx-teleport-source" style="display: none;">
|
|
10812
|
-
<template>${
|
|
10815
|
+
<template>${U}</template>
|
|
10813
10816
|
</div>
|
|
10814
|
-
${
|
|
10815
|
-
`})}function
|
|
10817
|
+
${z}
|
|
10818
|
+
`})}function Qj(){return`
|
|
10816
10819
|
<script>
|
|
10817
10820
|
(function() {
|
|
10818
10821
|
// Common teleport targets
|
|
@@ -10829,11 +10832,11 @@ else {
|
|
|
10829
10832
|
});
|
|
10830
10833
|
})();
|
|
10831
10834
|
</script>
|
|
10832
|
-
`}var
|
|
10835
|
+
`}var YJ=0;var KJ={};s(KJ,{processTransitionDirectives:()=>Wj,processTransitionAttributes:()=>jj,performLeave:()=>qj,performEnter:()=>Kj,generateTransitionRuntime:()=>Bj,generateTransitionCSS:()=>zj});function JJ($,Z={}){return{enterFrom:Z.enterClass||`${$}-enter-from`,enterActive:Z.enterActiveClass||`${$}-enter-active`,enterTo:Z.enterToClass||`${$}-enter-to`,leaveFrom:Z.leaveClass||`${$}-leave-from`,leaveActive:Z.leaveActiveClass||`${$}-leave-active`,leaveTo:Z.leaveToClass||`${$}-leave-to`}}function Gj($){let Z=getComputedStyle($),Y=Z.transitionDuration||"0s",X=Z.animationDuration||"0s",Q=(J)=>{let G=J.match(/^([\d.]+)(s|ms)?$/);if(!G)return 0;let K=parseFloat(G[1]);return(G[2]||"s")==="ms"?K:K*1000};return Math.max(Q(Y),Q(X))}function QJ($,Z){return new Promise((Y)=>{let X=Z??Gj($);if(X===0){Y();return}let Q=!1,J=()=>{if(Q)return;Q=!0,$.removeEventListener("transitionend",G),$.removeEventListener("animationend",G),Y()},G=(K)=>{if(K.target===$)J()};$.addEventListener("transitionend",G),$.addEventListener("animationend",G),setTimeout(J,X+50)})}function GJ($){$.offsetHeight}async function Kj($,Z={}){let Y=Z.name||"stx",X=JJ(Y,Z),Q=typeof Z.duration==="object"?Z.duration.enter:Z.duration;if(Z.onBeforeEnter?.($),$.classList.add(X.enterFrom),$.classList.add(X.enterActive),GJ($),$.classList.remove(X.enterFrom),$.classList.add(X.enterTo),Z.onEnter)await new Promise((J)=>{Z.onEnter($,J)});else await QJ($,Q);$.classList.remove(X.enterActive),$.classList.remove(X.enterTo),Z.onAfterEnter?.($)}async function qj($,Z={}){let Y=Z.name||"stx",X=JJ(Y,Z),Q=typeof Z.duration==="object"?Z.duration.leave:Z.duration;if(Z.onBeforeLeave?.($),$.classList.add(X.leaveFrom),$.classList.add(X.leaveActive),GJ($),$.classList.remove(X.leaveFrom),$.classList.add(X.leaveTo),Z.onLeave)await new Promise((J)=>{Z.onLeave($,J)});else await QJ($,Q);$.classList.remove(X.leaveActive),$.classList.remove(X.leaveTo),Z.onAfterLeave?.($)}function Wj($,Z={},Y){let X=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return $.replace(X,(Q,J,G)=>{let K=Uj(J),q=K.name||"stx",W=K.duration||300,U=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
|
|
10833
10836
|
<div
|
|
10834
10837
|
class="stx-transition-wrapper"
|
|
10835
10838
|
data-transition="${q}"
|
|
10836
|
-
data-transition-id="${
|
|
10839
|
+
data-transition-id="${U}"
|
|
10837
10840
|
data-transition-duration="${W}"
|
|
10838
10841
|
${K.mode?`data-transition-mode="${K.mode}"`:""}
|
|
10839
10842
|
>
|
|
@@ -10841,7 +10844,7 @@ else {
|
|
|
10841
10844
|
</div>
|
|
10842
10845
|
<script>
|
|
10843
10846
|
(function() {
|
|
10844
|
-
const wrapper = document.querySelector('[data-transition-id="${
|
|
10847
|
+
const wrapper = document.querySelector('[data-transition-id="${U}"]');
|
|
10845
10848
|
if (!wrapper) return;
|
|
10846
10849
|
|
|
10847
10850
|
const name = '${q}';
|
|
@@ -10871,7 +10874,7 @@ else {
|
|
|
10871
10874
|
});
|
|
10872
10875
|
})();
|
|
10873
10876
|
</script>
|
|
10874
|
-
`})}function
|
|
10877
|
+
`})}function Uj($){let Z={},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,X;while((X=Y.exec($))!==null){let Q=X[1],J=X[2]||X[3]||X[4]||X[5];switch(Q){case"name":Z.name=J;break;case"duration":Z.duration=parseInt(J,10);break;case"mode":Z.mode=J;break;case"easing":Z.easing=J;break}}return Z}function zj(){return`
|
|
10875
10878
|
/* STX Transition Presets */
|
|
10876
10879
|
|
|
10877
10880
|
/* Fade */
|
|
@@ -11058,7 +11061,7 @@ else {
|
|
|
11058
11061
|
opacity: 1;
|
|
11059
11062
|
max-height: 1000px;
|
|
11060
11063
|
}
|
|
11061
|
-
`}function
|
|
11064
|
+
`}function Bj(){return`
|
|
11062
11065
|
// STX Transition Runtime
|
|
11063
11066
|
(function() {
|
|
11064
11067
|
if (typeof window === 'undefined') return;
|
|
@@ -11147,7 +11150,7 @@ else {
|
|
|
11147
11150
|
|
|
11148
11151
|
console.log('[stx] Transition runtime initialized');
|
|
11149
11152
|
})();
|
|
11150
|
-
`}function
|
|
11153
|
+
`}function jj($){let Z=/@transition\.([a-z-]+)(?:\.(\d+))?="([^"]+)"/gi;return $.replace(Z,(Y,X,Q,J)=>{let G=Q||"300",K=`stx-t-${Math.random().toString(36).slice(2,7)}`;return`data-stx-transition="${X}" data-stx-transition-duration="${G}" data-stx-transition-condition="${J}" data-stx-transition-id="${K}"`})}var WJ={};s(WJ,{withErrorBoundary:()=>qJ,processErrorBoundaryDirectives:()=>Oj,generateErrorBoundaryRuntime:()=>Aj,generateErrorBoundaryCSS:()=>wj,createErrorBoundary:()=>Vj});function Hj(){return`eb-${++_j}-${Date.now().toString(36)}`}function Oj($,Z={},Y){let X=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return $.replace(X,(Q,J,G,K)=>{let q=Hj(),W=Lj(J||"");return Fj(q,G.trim(),K.trim(),W)})}function Lj($){let Z={},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\w+))/g,X;while((X=Y.exec($))!==null){let Q=X[1],J=X[2]||X[3]||X[4];switch(Q){case"id":Z.id=J;break;case"logErrors":Z.logErrors=J==="true";break}}return Z}function Fj($,Z,Y,X){let Q=X.logErrors!==!1;return`
|
|
11151
11154
|
<div class="stx-error-boundary" data-boundary-id="${$}" data-has-error="false">
|
|
11152
11155
|
<div class="stx-error-boundary-content" data-boundary-content="${$}">
|
|
11153
11156
|
${Z}
|
|
@@ -11267,7 +11270,7 @@ else {
|
|
|
11267
11270
|
};
|
|
11268
11271
|
})();
|
|
11269
11272
|
</script>
|
|
11270
|
-
`}async function
|
|
11273
|
+
`}async function qJ($,Z,Y){try{return await $()}catch(X){if(Y)Y(X instanceof Error?X:Error(String(X)));else console.error("[stx:errorBoundary] SSR Error:",X);return Z}}function Vj($,Z={}){let Y=Z.onError?(X)=>Z.onError(X,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(X)=>qJ(X,$,Y)}function wj(){return`
|
|
11271
11274
|
/* STX Error Boundary Styles */
|
|
11272
11275
|
.stx-error-boundary {
|
|
11273
11276
|
position: relative;
|
|
@@ -11311,7 +11314,7 @@ else {
|
|
|
11311
11314
|
color: #fecaca;
|
|
11312
11315
|
}
|
|
11313
11316
|
}
|
|
11314
|
-
`}function
|
|
11317
|
+
`}function Aj(){return`
|
|
11315
11318
|
// STX Error Boundary Runtime
|
|
11316
11319
|
(function() {
|
|
11317
11320
|
if (typeof window === 'undefined') return;
|
|
@@ -11376,7 +11379,7 @@ else {
|
|
|
11376
11379
|
|
|
11377
11380
|
console.log('[stx] Error boundary runtime initialized');
|
|
11378
11381
|
})();
|
|
11379
|
-
`}var
|
|
11382
|
+
`}var _j=0;var UJ={};s(UJ,{renderSSRSuspense:()=>Ej,processSuspenseDirectives:()=>Tj,generateSuspenseRuntime:()=>bj,generateSuspenseCSS:()=>kj,createSSRSuspense:()=>Dj});function Nj(){return`suspense-${++Rj}-${Date.now().toString(36)}`}function Tj($,Z={},Y){let X=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return $.replace(X,(Q,J,G,K)=>{let q=Nj(),W=Mj(J||"");return Ij(q,G.trim(),K.trim(),W)})}function Mj($){let Z={},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,X;while((X=Y.exec($))!==null){let Q=X[1],J=X[2]||X[3],G=X[4];switch(Q){case"id":Z.id=J;break;case"timeout":Z.timeout=G?parseInt(G,10):void 0;break}}return Z}function Ij($,Z,Y,X){let Q=X.timeout||30000,J=X.id||$;return`
|
|
11380
11383
|
<div class="stx-suspense" data-suspense-id="${$}" data-custom-id="${J}" data-status="pending">
|
|
11381
11384
|
<div class="stx-suspense-fallback" data-suspense-fallback="${$}">
|
|
11382
11385
|
${Y}
|
|
@@ -11566,7 +11569,7 @@ else {
|
|
|
11566
11569
|
}, 0);
|
|
11567
11570
|
})();
|
|
11568
11571
|
</script>
|
|
11569
|
-
`}function
|
|
11572
|
+
`}function Dj($,Z,Y){return{id:$,fallback:Y,content:Z}}async function Ej($){let Z=$.map((X)=>`
|
|
11570
11573
|
<div id="stx-ssr-suspense-${X.id}" class="stx-ssr-suspense">
|
|
11571
11574
|
${X.fallback}
|
|
11572
11575
|
</div>
|
|
@@ -11591,7 +11594,7 @@ else {
|
|
|
11591
11594
|
}
|
|
11592
11595
|
})();
|
|
11593
11596
|
</script>
|
|
11594
|
-
`}}return{initial:Z,streaming:Y()}}function
|
|
11597
|
+
`}}return{initial:Z,streaming:Y()}}function kj(){return`
|
|
11595
11598
|
/* STX Suspense Styles */
|
|
11596
11599
|
.stx-suspense {
|
|
11597
11600
|
position: relative;
|
|
@@ -11647,7 +11650,7 @@ else {
|
|
|
11647
11650
|
background-size: 200% 100%;
|
|
11648
11651
|
}
|
|
11649
11652
|
}
|
|
11650
|
-
`}function
|
|
11653
|
+
`}function bj(){return`
|
|
11651
11654
|
// STX Suspense Runtime
|
|
11652
11655
|
(function() {
|
|
11653
11656
|
if (typeof window === 'undefined') return;
|
|
@@ -11714,7 +11717,7 @@ else {
|
|
|
11714
11717
|
|
|
11715
11718
|
console.log('[stx] Suspense runtime initialized');
|
|
11716
11719
|
})();
|
|
11717
|
-
`}var
|
|
11720
|
+
`}var Rj=0;var _J={};s(_J,{processAsyncDirectives:()=>yj,isAsyncComponent:()=>Cj,generateAsyncComponentRuntime:()=>xj,generateAsyncComponentCSS:()=>vj,defineAsyncComponent:()=>Pj});function zJ(){return`async-${++Sj}-${Date.now().toString(36)}`}function yj($,Z={},Y){let X=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@error\s*([\s\S]*?)@endasync/gi,Q=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@endasync/gi,J=$;return J=J.replace(X,(G,K,q,W)=>{let U=zJ(),z=BJ(K);return jJ(U,z,q.trim(),W.trim())}),J=J.replace(Q,(G,K,q)=>{let W=zJ(),U=BJ(K);return jJ(W,U,q.trim(),'<div class="stx-async-error">Failed to load component</div>')}),J}function BJ($){let Z={component:"",timeout:30000,delay:200,suspensible:!0,retries:0},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,X;while((X=Y.exec($))!==null){let Q=X[1],J=X[2]||X[3],G=X[4],K=X[5];switch(Q){case"component":Z.component=J||K||"";break;case"timeout":Z.timeout=G?parseInt(G,10):30000;break;case"delay":Z.delay=G?parseInt(G,10):200;break;case"suspensible":Z.suspensible=K==="true";break;case"retries":Z.retries=G?parseInt(G,10):0;break;case"loadingComponent":Z.loadingComponent=J||K;break;case"errorComponent":Z.errorComponent=J||K;break}}return Z}function jJ($,Z,Y,X){let{component:Q,timeout:J,delay:G,suspensible:K,retries:q}=Z;return`
|
|
11718
11721
|
<div class="stx-async-component" data-async-id="${$}" data-component="${Q}" data-status="pending">
|
|
11719
11722
|
<div class="stx-async-loading" data-async-loading="${$}">
|
|
11720
11723
|
${Y}
|
|
@@ -11941,7 +11944,7 @@ catch (error) {
|
|
|
11941
11944
|
loadComponent();
|
|
11942
11945
|
})();
|
|
11943
11946
|
</script>
|
|
11944
|
-
`}function
|
|
11947
|
+
`}function Pj($){return{__asyncComponent:!0,...typeof $==="function"?{loader:$}:$}}function Cj($){return typeof $==="object"&&$!==null&&"__asyncComponent"in $&&$.__asyncComponent===!0}function vj(){return`
|
|
11945
11948
|
/* STX Async Component Styles */
|
|
11946
11949
|
.stx-async-component {
|
|
11947
11950
|
position: relative;
|
|
@@ -12015,7 +12018,7 @@ catch (error) {
|
|
|
12015
12018
|
background-size: 200% 100%;
|
|
12016
12019
|
}
|
|
12017
12020
|
}
|
|
12018
|
-
`}function
|
|
12021
|
+
`}function xj(){return`
|
|
12019
12022
|
// STX Async Component Runtime
|
|
12020
12023
|
(function() {
|
|
12021
12024
|
if (typeof window === 'undefined') return;
|
|
@@ -12069,7 +12072,7 @@ catch (error) {
|
|
|
12069
12072
|
|
|
12070
12073
|
console.log('[stx] Async component runtime initialized');
|
|
12071
12074
|
})();
|
|
12072
|
-
`}var
|
|
12075
|
+
`}var Sj=0;var OJ={};s(OJ,{shouldCacheComponent:()=>uj,processKeepAliveDirectives:()=>gj,onDeactivated:()=>ij,onActivated:()=>cj,generateKeepAliveRuntime:()=>pj,generateKeepAliveCSS:()=>lj,createKeepAliveCache:()=>mj});function HJ(){return`keep-alive-${++fj}-${Date.now().toString(36)}`}function gj($,Z={},Y){let X=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return $.replace(X,(Q,J,G)=>{let K=HJ(),q=hj(J||"");return dj(K,G.trim(),q)})}function hj($){let Z={max:10},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,X;while((X=Y.exec($))!==null){let Q=X[1],J=X[2]||X[3],G=X[4];switch(Q){case"max":Z.max=G?parseInt(G,10):10;break;case"include":Z.include=J;break;case"exclude":Z.exclude=J;break;case"id":Z.id=J;break}}return Z}function dj($,Z,Y){let{max:X,include:Q,exclude:J}=Y,G=Y.id||$;return`
|
|
12073
12076
|
<div class="stx-keep-alive" data-keep-alive-id="${$}" data-custom-id="${G}">
|
|
12074
12077
|
<div class="stx-keep-alive-content" data-keep-alive-content="${$}">
|
|
12075
12078
|
${Z}
|
|
@@ -12356,7 +12359,7 @@ else {
|
|
|
12356
12359
|
});
|
|
12357
12360
|
})();
|
|
12358
12361
|
</script>
|
|
12359
|
-
`}function
|
|
12362
|
+
`}function mj($={}){return{id:$.id||HJ(),cache:new Map,max:$.max||10,include:$.include?$.include.split(",").map((Y)=>Y.trim()):null,exclude:$.exclude?$.exclude.split(",").map((Y)=>Y.trim()):null}}function uj($,Z){if(Z.exclude&&Z.exclude.includes($))return!1;if(Z.include&&!Z.include.includes($))return!1;return!0}function lj(){return`
|
|
12360
12363
|
/* STX Keep-Alive Styles */
|
|
12361
12364
|
.stx-keep-alive {
|
|
12362
12365
|
position: relative;
|
|
@@ -12381,7 +12384,7 @@ else {
|
|
|
12381
12384
|
.stx-keep-alive-content > [data-activated] {
|
|
12382
12385
|
opacity: 1;
|
|
12383
12386
|
}
|
|
12384
|
-
`}function
|
|
12387
|
+
`}function pj(){return`
|
|
12385
12388
|
// STX Keep-Alive Runtime
|
|
12386
12389
|
(function() {
|
|
12387
12390
|
if (typeof window === 'undefined') return;
|
|
@@ -12417,33 +12420,33 @@ else {
|
|
|
12417
12420
|
|
|
12418
12421
|
console.log('[stx] Keep-alive runtime initialized');
|
|
12419
12422
|
})();
|
|
12420
|
-
`}function
|
|
12421
|
-
<div class="virtual-item ${
|
|
12422
|
-
style="position: absolute; top: ${O*
|
|
12423
|
+
`}function cj($){if(typeof document<"u")document.addEventListener("stx:activated",(Z)=>{$(Z.detail)})}function ij($){if(typeof document<"u")document.addEventListener("stx:deactivated",(Z)=>{$(Z.detail)})}var fj=0;var AJ={};s(AJ,{useVirtualList:()=>FJ,processVirtualListDirectives:()=>t6,processVirtualGridDirectives:()=>wJ,processInfiniteListDirectives:()=>VJ,generateVirtualListCSS:()=>LJ,default:()=>nj,createVirtualList:()=>a6});function a6($,Z){let{itemHeight:Y,containerHeight:X,overscan:Q=3,keyProperty:J="id",dynamicHeight:G=!1,estimatedItemHeight:K=Y,direction:q="vertical"}=Z,W=[...$],U=0,z=new Map;function B(){if(G)return _();let N=Math.max(0,Math.floor(U/Y)-Q),R=Math.ceil(X/Y),T=Math.min(W.length-1,N+R+Q*2);return{startIndex:N,endIndex:T}}function _(){let N=0,R=0,T=W.length-1;for(let M=0;M<W.length;M++){let I=z.get(M)||K;if(N+I>U){R=Math.max(0,M-Q);break}N+=I}N=0;for(let M=0;M<W.length;M++){let I=z.get(M)||K;if(N+=I,N>U+X){T=Math.min(W.length-1,M+Q);break}}return{startIndex:R,endIndex:T}}function j(){if(G){let N=0;for(let R=0;R<W.length;R++)N+=z.get(R)||K;return N}return W.length*Y}function H(N){if(G){let R=0;for(let T=0;T<N;T++)R+=z.get(T)||K;return R}return N*Y}function L(){let{startIndex:N,endIndex:R}=B();return{startIndex:N,endIndex:R,scrollTop:U,totalHeight:j(),visibleItems:W.slice(N,R+1),itemHeights:new Map(z)}}function F(N,R="auto"){let T=H(N);O(T,R)}function O(N,R="auto"){U=Math.max(0,Math.min(N,j()-X))}function V(){B()}function w(N){W=[...N],z.clear(),V()}function A(){W=[],z.clear()}return{scrollToIndex:F,scrollToOffset:O,getState:L,refresh:V,setItems:w,destroy:A}}function t6($,Z={},Y){let X=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return $.replace(X,(Q,J,G,K)=>{let q=J.trim(),W=Z[q];if(!W||!Array.isArray(W))return`<!-- virtualList: items "${q}" not found or not an array -->`;let U={itemHeight:50,containerHeight:400,overscan:3};if(G)try{let O=G.trim(),V=Function(`return ${O}`)();U={...U,...V}}catch{}let z=`vlist-${Math.random().toString(36).substring(2,9)}`,B=Math.ceil(U.containerHeight/U.itemHeight),_=U.overscan||3,j=0,H=Math.min(W.length-1,B+_),L="";for(let O=j;O<=H&&O<W.length;O++){let V=W[O],w=K.replace(/\{\{\s*item\s*\}\}/g,typeof V==="object"?JSON.stringify(V):String(V)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(A,N)=>{if(typeof V==="object"&&V!==null)return String(V[N]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(O));L+=`
|
|
12424
|
+
<div class="virtual-item ${U.itemClass||""}"
|
|
12425
|
+
style="position: absolute; top: ${O*U.itemHeight}px; height: ${U.itemHeight}px; width: 100%;"
|
|
12423
12426
|
data-index="${O}">
|
|
12424
|
-
${
|
|
12425
|
-
</div>`}let F=W.length*
|
|
12426
|
-
<div id="${
|
|
12427
|
-
class="virtual-list-container ${
|
|
12428
|
-
style="position: relative; height: ${
|
|
12429
|
-
data-item-height="${
|
|
12427
|
+
${w}
|
|
12428
|
+
</div>`}let F=W.length*U.itemHeight;return`
|
|
12429
|
+
<div id="${z}"
|
|
12430
|
+
class="virtual-list-container ${U.containerClass||""}"
|
|
12431
|
+
style="position: relative; height: ${U.containerHeight}px; overflow-y: auto;"
|
|
12432
|
+
data-item-height="${U.itemHeight}"
|
|
12430
12433
|
data-total-items="${W.length}"
|
|
12431
12434
|
data-overscan="${_}">
|
|
12432
|
-
<div class="virtual-list-viewport ${
|
|
12435
|
+
<div class="virtual-list-viewport ${U.viewportClass||""}"
|
|
12433
12436
|
style="position: relative; height: ${F}px; width: 100%;">
|
|
12434
12437
|
${L}
|
|
12435
12438
|
</div>
|
|
12436
12439
|
</div>
|
|
12437
|
-
<script data-virtual-list="${
|
|
12440
|
+
<script data-virtual-list="${z}">
|
|
12438
12441
|
(function() {
|
|
12439
|
-
const container = document.getElementById('${
|
|
12442
|
+
const container = document.getElementById('${z}');
|
|
12440
12443
|
if (!container) return;
|
|
12441
12444
|
|
|
12442
12445
|
const viewport = container.querySelector('.virtual-list-viewport');
|
|
12443
|
-
const itemHeight = ${
|
|
12446
|
+
const itemHeight = ${U.itemHeight};
|
|
12444
12447
|
const totalItems = ${W.length};
|
|
12445
12448
|
const overscan = ${_};
|
|
12446
|
-
const containerHeight = ${
|
|
12449
|
+
const containerHeight = ${U.containerHeight};
|
|
12447
12450
|
const items = ${JSON.stringify(W)};
|
|
12448
12451
|
const template = ${JSON.stringify(K.trim())};
|
|
12449
12452
|
|
|
@@ -12463,7 +12466,7 @@ else {
|
|
|
12463
12466
|
for (let i = startIndex; i <= endIndex; i++) {
|
|
12464
12467
|
const item = items[i];
|
|
12465
12468
|
const div = document.createElement('div');
|
|
12466
|
-
div.className = 'virtual-item ${
|
|
12469
|
+
div.className = 'virtual-item ${U.itemClass||""}';
|
|
12467
12470
|
div.style.cssText = 'position: absolute; top: ' + (i * itemHeight) + 'px; height: ' + itemHeight + 'px; width: 100%;';
|
|
12468
12471
|
div.dataset.index = i;
|
|
12469
12472
|
|
|
@@ -12494,7 +12497,7 @@ else {
|
|
|
12494
12497
|
};
|
|
12495
12498
|
})();
|
|
12496
12499
|
</script>
|
|
12497
|
-
`})}function
|
|
12500
|
+
`})}function LJ(){return`
|
|
12498
12501
|
.virtual-list-container {
|
|
12499
12502
|
position: relative;
|
|
12500
12503
|
overflow-y: auto;
|
|
@@ -12542,11 +12545,11 @@ else {
|
|
|
12542
12545
|
0% { background-position: 200% 0; }
|
|
12543
12546
|
100% { background-position: -200% 0; }
|
|
12544
12547
|
}
|
|
12545
|
-
`}function
|
|
12548
|
+
`}function FJ($,Z){let Y=null,X=()=>{if(!Y)Y=a6($(),Z);return Y};return{visibleItems:()=>{return X().getState().visibleItems},totalHeight:()=>{return X().getState().totalHeight},containerProps:()=>({style:{height:`${Z.containerHeight}px`,overflow:"auto",position:"relative"},onScroll:(Q)=>{let J=Q.target;if(Y)Y.scrollToOffset(J.scrollTop)}}),itemProps:(Q)=>({style:{position:"absolute",top:`${Q*Z.itemHeight}px`,height:`${Z.itemHeight}px`,width:"100%"},"data-index":Q}),scrollToIndex:(Q)=>{X().scrollToIndex(Q)}}}function VJ($,Z={},Y){let X=/@infiniteList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@loading\s*([\s\S]*?)@endinfiniteList/gi;return $.replace(X,(Q,J,G,K,q)=>{let W=J.trim(),U=Z[W];if(!U||!Array.isArray(U))return`<!-- infiniteList: items "${W}" not found or not an array -->`;let z={itemHeight:50,containerHeight:400,overscan:3,threshold:100,hasMore:!0};if(G)try{let j=Function(`return ${G.trim()}`)();z={...z,...j}}catch{}let B=`ilist-${Math.random().toString(36).substring(2,9)}`,_=t6(`@virtualList(${W}, ${JSON.stringify({itemHeight:z.itemHeight,containerHeight:z.containerHeight,overscan:z.overscan,containerClass:z.containerClass})})${K}@endvirtualList`,Z);return _=_.replace("</script>",`
|
|
12546
12549
|
// Infinite scroll detection
|
|
12547
12550
|
container.addEventListener('scroll', function() {
|
|
12548
12551
|
const scrollBottom = container.scrollTop + container.clientHeight;
|
|
12549
|
-
const threshold = ${
|
|
12552
|
+
const threshold = ${z.threshold};
|
|
12550
12553
|
const totalHeight = viewport.offsetHeight;
|
|
12551
12554
|
|
|
12552
12555
|
if (scrollBottom >= totalHeight - threshold) {
|
|
@@ -12560,32 +12563,32 @@ else {
|
|
|
12560
12563
|
${q}
|
|
12561
12564
|
</div>
|
|
12562
12565
|
</div>
|
|
12563
|
-
`})}function
|
|
12566
|
+
`})}function wJ($,Z={},Y){let X=/@virtualGrid\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualGrid/gi;return $.replace(X,(Q,J,G,K)=>{let q=J.trim(),W=Z[q];if(!W||!Array.isArray(W))return`<!-- virtualGrid: items "${q}" not found or not an array -->`;let U={columns:3,rowHeight:100,containerHeight:400,gap:10,overscan:2};if(G)try{let V=Function(`return ${G.trim()}`)();U={...U,...V}}catch{}let z=`vgrid-${Math.random().toString(36).substring(2,9)}`,B=Math.ceil(W.length/U.columns),_=B*(U.rowHeight+(U.gap||0)),j=Math.ceil(U.containerHeight/(U.rowHeight+(U.gap||0))),H=U.overscan||2,L=0,F=Math.min(B-1,j+H),O="";for(let V=L;V<=F;V++)for(let w=0;w<U.columns;w++){let A=V*U.columns+w;if(A>=W.length)break;let N=W[A],R=w*(100/U.columns),T=V*(U.rowHeight+(U.gap||0)),M=K.replace(/\{\{\s*item\s*\}\}/g,typeof N==="object"?JSON.stringify(N):String(N)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(I,E)=>{if(typeof N==="object"&&N!==null)return String(N[E]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(A));O+=`
|
|
12564
12567
|
<div class="virtual-grid-item"
|
|
12565
|
-
style="position: absolute; top: ${T}px; left: ${
|
|
12566
|
-
data-index="${
|
|
12568
|
+
style="position: absolute; top: ${T}px; left: ${R}%; width: calc(${100/U.columns}% - ${U.gap||0}px); height: ${U.rowHeight}px;"
|
|
12569
|
+
data-index="${A}">
|
|
12567
12570
|
${M}
|
|
12568
12571
|
</div>`}return`
|
|
12569
|
-
<div id="${
|
|
12572
|
+
<div id="${z}"
|
|
12570
12573
|
class="virtual-grid-container"
|
|
12571
|
-
style="position: relative; height: ${
|
|
12574
|
+
style="position: relative; height: ${U.containerHeight}px; overflow-y: auto;">
|
|
12572
12575
|
<div class="virtual-grid-viewport"
|
|
12573
12576
|
style="position: relative; height: ${_}px; width: 100%;">
|
|
12574
12577
|
${O}
|
|
12575
12578
|
</div>
|
|
12576
12579
|
</div>
|
|
12577
|
-
<script data-virtual-grid="${
|
|
12580
|
+
<script data-virtual-grid="${z}">
|
|
12578
12581
|
(function() {
|
|
12579
|
-
const container = document.getElementById('${
|
|
12582
|
+
const container = document.getElementById('${z}');
|
|
12580
12583
|
if (!container) return;
|
|
12581
12584
|
|
|
12582
12585
|
const viewport = container.querySelector('.virtual-grid-viewport');
|
|
12583
|
-
const columns = ${
|
|
12584
|
-
const rowHeight = ${
|
|
12585
|
-
const gap = ${
|
|
12586
|
+
const columns = ${U.columns};
|
|
12587
|
+
const rowHeight = ${U.rowHeight};
|
|
12588
|
+
const gap = ${U.gap||0};
|
|
12586
12589
|
const totalItems = ${W.length};
|
|
12587
12590
|
const overscan = ${H};
|
|
12588
|
-
const containerHeight = ${
|
|
12591
|
+
const containerHeight = ${U.containerHeight};
|
|
12589
12592
|
const items = ${JSON.stringify(W)};
|
|
12590
12593
|
const template = ${JSON.stringify(K.trim())};
|
|
12591
12594
|
|
|
@@ -12630,7 +12633,7 @@ else {
|
|
|
12630
12633
|
});
|
|
12631
12634
|
})();
|
|
12632
12635
|
</script>
|
|
12633
|
-
`})}var
|
|
12636
|
+
`})}var nj;var RJ=k(()=>{nj={createVirtualList:a6,processVirtualListDirectives:t6,processInfiniteListDirectives:VJ,processVirtualGridDirectives:wJ,generateVirtualListCSS:LJ,useVirtualList:FJ}});function NJ(){return`<script data-stx-hydration-runtime>
|
|
12634
12637
|
(function() {
|
|
12635
12638
|
'use strict';
|
|
12636
12639
|
|
|
@@ -12790,7 +12793,7 @@ else {
|
|
|
12790
12793
|
stxIslands.initIslands();
|
|
12791
12794
|
}
|
|
12792
12795
|
})();
|
|
12793
|
-
</script>`}function
|
|
12796
|
+
</script>`}function TJ($){let Z=$.match(/<([A-Z][a-zA-Z0-9]+)[\s/>]/);if(Z)return Z[1];let Y=$.match(/<([a-z][a-z0-9]*-[a-z0-9-]+)[\s/>]/);if(Y)return Y[1];return null}function MJ($,Z){let Y={},X=/:([a-zA-Z_][\w-]*)\s*=\s*"([^"]+)"/g,Q;while((Q=X.exec($))!==null){let J=Q[1],G=Q[2];if(G in Z)Y[J]=Z[G];else Y[J]=G}return Y}var xJ={};s(xJ,{processStaticDirectives:()=>CJ,processPartialHydrationDirectives:()=>DJ,onHydrated:()=>PJ,isHydrated:()=>yJ,hydrateIsland:()=>kJ,hydrateByStrategy:()=>bJ,hydrateAll:()=>SJ,generatePartialHydrationCSS:()=>EJ,generateIslandManifest:()=>vJ,default:()=>Z_,createIslandRegistry:()=>IJ});function IJ(){let $=new Map;return{islands:$,register(Z){$.set(Z.id,Z)},get(Z){return $.get(Z)},async hydrate(Z){let Y=$.get(Z);if(!Y||Y.hydrated)return;if(Y.hydrated=!0,typeof window<"u"&&typeof window.dispatchEvent==="function")window.dispatchEvent(new CustomEvent("stx:hydrate",{detail:{id:Z,component:Y.component}}))},async hydrateAll(){let Z=Array.from($.values()).filter((Y)=>!Y.hydrated).map((Y)=>this.hydrate(Y.id));await Promise.all(Z)}}}function oj($){return`
|
|
12794
12797
|
<script data-hydrate="${$}">
|
|
12795
12798
|
(function() {
|
|
12796
12799
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -12801,7 +12804,7 @@ else {
|
|
|
12801
12804
|
island.dispatchEvent(new CustomEvent('stx:hydrated', { bubbles: true }));
|
|
12802
12805
|
})();
|
|
12803
12806
|
</script>
|
|
12804
|
-
`}function
|
|
12807
|
+
`}function sj($,Z){let Y=Z.timeout||2000,X=Z.priority||"low";return`
|
|
12805
12808
|
<script data-hydrate="${$}">
|
|
12806
12809
|
(function() {
|
|
12807
12810
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -12837,7 +12840,7 @@ else {
|
|
|
12837
12840
|
}
|
|
12838
12841
|
})();
|
|
12839
12842
|
</script>
|
|
12840
|
-
`}function
|
|
12843
|
+
`}function rj($,Z){let Y=Z.rootMargin||"0px",X=Z.threshold||0;return`
|
|
12841
12844
|
<script data-hydrate="${$}">
|
|
12842
12845
|
(function() {
|
|
12843
12846
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -12870,7 +12873,7 @@ else {
|
|
|
12870
12873
|
}
|
|
12871
12874
|
})();
|
|
12872
12875
|
</script>
|
|
12873
|
-
`}function
|
|
12876
|
+
`}function aj($,Z){let Y=Z.media||"(min-width: 768px)";return`
|
|
12874
12877
|
<script data-hydrate="${$}">
|
|
12875
12878
|
(function() {
|
|
12876
12879
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -12899,7 +12902,7 @@ else {
|
|
|
12899
12902
|
}
|
|
12900
12903
|
})();
|
|
12901
12904
|
</script>
|
|
12902
|
-
`}function
|
|
12905
|
+
`}function tj($){return`
|
|
12903
12906
|
<script data-hydrate="${$}">
|
|
12904
12907
|
(function() {
|
|
12905
12908
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -12921,7 +12924,7 @@ else {
|
|
|
12921
12924
|
events.forEach(e => island.addEventListener(e, handler, { once: true, passive: true }));
|
|
12922
12925
|
})();
|
|
12923
12926
|
</script>
|
|
12924
|
-
`}function
|
|
12927
|
+
`}function ej($,Z){let Y=Z.event||"stx:activate";return`
|
|
12925
12928
|
<script data-hydrate="${$}">
|
|
12926
12929
|
(function() {
|
|
12927
12930
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -12942,19 +12945,19 @@ else {
|
|
|
12942
12945
|
});
|
|
12943
12946
|
})();
|
|
12944
12947
|
</script>
|
|
12945
|
-
`}function
|
|
12946
|
-
`+
|
|
12947
|
-
<script type="application/json" data-island-props="${q}">${JSON.stringify(
|
|
12948
|
+
`}function DJ($,Z={},Y){let X=$,Q=!1,J=/@client:(load|idle|visible|media|only|hover|event)/i.test($);if(X=N5(X,"load",Z),X=N5(X,"idle",Z),X=N5(X,"visible",Z),X=N5(X,"media",Z),X=$_(X),X=N5(X,"hover",Z),X=N5(X,"event",Z),Q=J&&X!==$,Q)X+=`
|
|
12949
|
+
`+NJ();return X}function N5($,Z,Y){let X=new RegExp(`@client:${Z}(?:\\s*\\(([^)]*)\\))?\\s*([\\s\\S]*?)@endclient`,"gi");return $.replace(X,(Q,J,G)=>{let K={strategy:Z};if(J)try{let H=J.split(",").map((L)=>L.trim());for(let L of H){let[F,O]=L.split(":").map((V)=>V.trim());if(F&&O){let V=O.replace(/^['"]|['"]$/g,"");K[F]=V}}}catch{}let q=`island-${Math.random().toString(36).substring(2,9)}`,W=TJ(G.trim()),U=MJ(G.trim(),Y),z=[];if(K.rootMargin)z.push(`data-root-margin="${K.rootMargin}"`);if(K.threshold!==void 0)z.push(`data-threshold="${K.threshold}"`);if(K.media)z.push(`data-media="${K.media}"`);if(K.event)z.push(`data-event="${K.event}"`);if(W)z.push(`data-component="${W}"`);let _=Object.keys(U).length>0?`
|
|
12950
|
+
<script type="application/json" data-island-props="${q}">${JSON.stringify(U)}</script>`:"",j="";switch(Z){case"load":j=oj(q);break;case"idle":j=sj(q,K);break;case"visible":j=rj(q,K);break;case"media":j=aj(q,K);break;case"hover":j=tj(q);break;case"event":j=ej(q,K);break}return`
|
|
12948
12951
|
<div data-island="${q}"
|
|
12949
12952
|
data-strategy="${Z}"
|
|
12950
|
-
${
|
|
12953
|
+
${z.join(`
|
|
12951
12954
|
`)}
|
|
12952
12955
|
class="stx-island"
|
|
12953
12956
|
style="contents;">
|
|
12954
12957
|
${G.trim()}${_}
|
|
12955
12958
|
</div>
|
|
12956
12959
|
${j}
|
|
12957
|
-
`})}function
|
|
12960
|
+
`})}function $_($){let Z=/@client:only\s*([\s\S]*?)@endclient/gi;return $.replace(Z,(Y,X)=>{let Q=`island-only-${Math.random().toString(36).substring(2,9)}`;return`
|
|
12958
12961
|
<div data-island="${Q}"
|
|
12959
12962
|
data-strategy="only"
|
|
12960
12963
|
class="stx-island stx-client-only">
|
|
@@ -12973,7 +12976,7 @@ else {
|
|
|
12973
12976
|
}
|
|
12974
12977
|
})();
|
|
12975
12978
|
</script>
|
|
12976
|
-
`})}function
|
|
12979
|
+
`})}function EJ(){return`
|
|
12977
12980
|
/* Island base styles */
|
|
12978
12981
|
.stx-island {
|
|
12979
12982
|
display: contents;
|
|
@@ -13014,11 +13017,11 @@ else {
|
|
|
13014
13017
|
.stx-island.hydrated {
|
|
13015
13018
|
opacity: 1;
|
|
13016
13019
|
}
|
|
13017
|
-
`}function
|
|
13020
|
+
`}function kJ($){if(typeof window>"u")return;let Z=document.querySelector(`[data-island="${$}"]`);if(!Z||Z.classList.contains("hydrated"))return;Z.classList.add("hydrated"),Z.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))}function bJ($){if(typeof window>"u")return;document.querySelectorAll(`[data-strategy="${$}"]:not(.hydrated)`).forEach((Y)=>{Y.classList.add("hydrated"),Y.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function SJ(){if(typeof window>"u")return;document.querySelectorAll(".stx-island:not(.hydrated)").forEach((Z)=>{Z.classList.add("hydrated"),Z.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function yJ($){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${$}"]`)?.classList.contains("hydrated")??!1}function PJ($){return new Promise((Z)=>{if(typeof window>"u"){Z();return}let Y=document.querySelector(`[data-island="${$}"]`);if(!Y){Z();return}if(Y.classList.contains("hydrated")){Z();return}Y.addEventListener("stx:hydrated",()=>Z(),{once:!0})})}function CJ($){return $.replace(/@static\s*([\s\S]*?)@endstatic/gi,(Z,Y)=>{return`<div class="stx-static">${Y.trim()}</div>`})}function vJ($){let Z=$.map((Y)=>({id:Y.id,component:Y.component,strategy:Y.options.strategy,props:Y.props}));return`
|
|
13018
13021
|
<script type="application/json" id="stx-island-manifest">
|
|
13019
13022
|
${JSON.stringify(Z)}
|
|
13020
13023
|
</script>
|
|
13021
|
-
`}var
|
|
13024
|
+
`}var Z_;var fJ=k(()=>{Z_={processPartialHydrationDirectives:DJ,processStaticDirectives:CJ,generatePartialHydrationCSS:EJ,generateIslandManifest:vJ,createIslandRegistry:IJ,hydrateIsland:kJ,hydrateByStrategy:bJ,hydrateAll:SJ,isHydrated:yJ,onHydrated:PJ}});var oJ={};s(oJ,{watchMultiple:()=>uJ,watchEffect:()=>lJ,watch:()=>mJ,unref:()=>gJ,toRefs:()=>hJ,throttledComputed:()=>nJ,stxWatchMultiple:()=>uJ,stxWatchEffect:()=>lJ,stxWatch:()=>mJ,stxUnref:()=>gJ,stxToRefs:()=>hJ,stxThrottledComputed:()=>nJ,stxShallowRef:()=>dJ,stxRef:()=>T5,stxIsRef:()=>A1,stxDebouncedComputed:()=>iJ,stxComputed:()=>H$,shallowRef:()=>dJ,ref:()=>T5,processWatchDirectives:()=>cJ,processComputedDirectives:()=>pJ,isRef:()=>A1,default:()=>Y_,debouncedComputed:()=>iJ,computed:()=>H$});function T5($){let Z=$,Y=new Set,X={get value(){if($1){let Q=_$.get(X);if(!Q)Q=new Set,_$.set(X,Q);Q.add($1)}return Z},set value(Q){if(!Object.is(Z,Q)){Z=Q,Y.forEach((G)=>G(Q));let J=_$.get(X);if(J)J.forEach((G)=>G())}},subscribe(Q){return Y.add(Q),()=>Y.delete(Q)},peek(){return Z}};return X}function A1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function gJ($){return A1($)?$.value:$}function hJ($){let Z={};for(let Y in $)if(Object.prototype.hasOwnProperty.call($,Y))Z[Y]=T5($[Y]);return Z}function dJ($){return T5($)}function H$($){let Z=typeof $==="function",Y=Z?$:$.get,X=Z?void 0:$.set,Q=Z?Object.is:$.equals||Object.is,J,G=!0,K=new Set,q=new Set,W=()=>{if(G=!0,q.size>0){let B=z.value;q.forEach((_)=>_(B))}};function U(){K.clear();let B=$1;$1=W,K7.push(W);try{return Y()}finally{K7.pop(),$1=B}}let z={get value(){if($1){let B=_$.get(z);if(!B)B=new Set,_$.set(z,B);B.add($1)}if(G){let B=U();if(!Q(J,B))J=B;G=!1}return J},set value(B){if(X)X(B);else console.warn("Computed property is readonly")},subscribe(B){return q.add(B),()=>q.delete(B)},peek(){if(G)J=Y(),G=!1;return J},invalidate(){G=!0},get dirty(){return G},get deps(){return K}};return z}function mJ($,Z,Y={}){let{immediate:X=!1,deep:Q=!1,flush:J="pre",once:G=!1}=Y,K,q=!0,W=!1,U=()=>{if(A1($))return Q?c1($.value):$.value;return $()},z=()=>{if(!q||W)return;let j=U();if(K!==void 0&&Object.is(K,j)&&!Q)return;let H=()=>{if(Z(j,K),K=Q?c1(j):j,G)_()};if(J==="sync")H();else if(J==="post")queueMicrotask(H);else Promise.resolve().then(H)},B=null;if(A1($))B=$.subscribe(()=>z());else B=H$($).subscribe(()=>z());if(X)K=void 0,z();else K=U();let _=()=>{if(q=!1,B)B(),B=null};return _.pause=()=>{W=!0},_.resume=()=>{W=!1},_}function uJ($,Z,Y={}){let{immediate:X=!1,once:Q=!1}=Y,J=$.map((z)=>A1(z)?z.value:void 0),G=!0,K=!1,q=()=>{if(!G||K)return;let z=$.map((B)=>A1(B)?B.value:void 0);if(Z(z,J),J=[...z],Q)U()},W=$.map((z)=>{if(A1(z))return z.subscribe(()=>q());return()=>{}});if(X)q();let U=()=>{G=!1,W.forEach((z)=>z())};return U.pause=()=>{K=!0},U.resume=()=>{K=!1},U}function lJ($,Z={}){let{flush:Y="pre"}=Z,X,Q=!0,J=!1,G=()=>{if(!Q||J)return;if(X)X();let q=$1;$1=G,K7.push(G);try{X=$()}finally{K7.pop(),$1=q}};if(Y==="sync")G();else if(Y==="post")queueMicrotask(G);else Promise.resolve().then(G);let K=()=>{if(Q=!1,X)X()};return K.pause=()=>{J=!0},K.resume=()=>{J=!1},K}function pJ($,Z={},Y){let X=/@computed\s*\(\s*(\w+)\s*,\s*(.+?)\s*\)/gi;return $.replace(X,(Q,J,G)=>{try{let q=Function(...Object.keys(Z),`return ${G}`)(...Object.values(Z));return Z[J]=q,`<!-- computed: ${J} = ${q} -->`}catch(K){return`<!-- computed error: ${J} - ${K} -->`}})}function cJ($,Z={},Y){let X=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return $.replace(X,(Q,J,G)=>{return`
|
|
13022
13025
|
<script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
|
|
13023
13026
|
(function() {
|
|
13024
13027
|
// Watch implementation for ${J}
|
|
@@ -13030,9 +13033,9 @@ else {
|
|
|
13030
13033
|
}
|
|
13031
13034
|
})();
|
|
13032
13035
|
</script>
|
|
13033
|
-
`})}function
|
|
13034
|
-
`)}catch{return""}})}function
|
|
13035
|
-
`)}catch{return""}})}function
|
|
13036
|
+
`})}function c1($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Y)=>c1(Y));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let Y=new Map;return $.forEach((X,Q)=>Y.set(c1(Q),c1(X))),Y}if($ instanceof Set){let Y=new Set;return $.forEach((X)=>Y.add(c1(X))),Y}let Z={};for(let Y in $)if(Object.prototype.hasOwnProperty.call($,Y))Z[Y]=c1($[Y]);return Z}function iJ($,Z=100){let Y=T5($()),X=null,Q=()=>{if(X)clearTimeout(X);X=setTimeout(()=>{Y.value=$()},Z)};return H$($).subscribe(()=>Q()),{get value(){return Y.value},set value(G){console.warn("Debounced computed is readonly")},subscribe:Y.subscribe,peek:Y.peek,invalidate(){Q()},get dirty(){return!1},get deps(){return new Set}}}function nJ($,Z=100){let Y=T5($()),X=0,Q=()=>{let G=Date.now();if(G-X>=Z)X=G,Y.value=$()};return H$($).subscribe(()=>Q()),{get value(){return Y.value},set value(G){console.warn("Throttled computed is readonly")},subscribe:Y.subscribe,peek:Y.peek,invalidate(){Q()},get dirty(){return!1},get deps(){return new Set}}}var $1=null,K7,_$,Y_;var sJ=k(()=>{K7=[],_$=new WeakMap;Y_={ref:T5,computed:H$,watch:mJ,watchMultiple:uJ,watchEffect:lJ,isRef:A1,unref:gJ,toRefs:hJ,shallowRef:dJ,debouncedComputed:iJ,throttledComputed:nJ,processComputedDirectives:pJ,processWatchDirectives:cJ}});var eJ={};s(eJ,{v:()=>X_,processHasErrorsDirective:()=>tJ,processFormValidationDirectives:()=>Q_,processErrorsDirective:()=>aJ,processErrorDirective:()=>rJ,defineForm:()=>J_,Validator:()=>M5});class M5{rules=[];defaultValue="";addRule($){let Z=new M5;return Z.rules=[...this.rules,$],Z.defaultValue=this.defaultValue,Z}required($="This field is required"){return this.addRule({name:"required",message:$,validate:(Z)=>{if(Z===null||Z===void 0)return $;if(typeof Z==="string"&&Z.trim()==="")return $;if(Array.isArray(Z)&&Z.length===0)return $;return!0}})}email($="Please enter a valid email"){return this.addRule({name:"email",message:$,validate:(Z)=>{if(!Z)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(Z))||$}})}url($="Please enter a valid URL"){return this.addRule({name:"url",message:$,validate:(Z)=>{if(!Z)return!0;try{return new URL(String(Z)),!0}catch{return $}}})}min($,Z){let Y=Z||`Must be at least ${$} characters`;return this.addRule({name:"min",message:Y,validate:(X)=>{if(!X)return!0;return String(X).length>=$||Y}})}max($,Z){let Y=Z||`Must be no more than ${$} characters`;return this.addRule({name:"max",message:Y,validate:(X)=>{if(!X)return!0;return String(X).length<=$||Y}})}length($,Z,Y){let X=Y||`Must be between ${$} and ${Z} characters`;return this.addRule({name:"length",message:X,validate:(Q)=>{if(!Q)return!0;let J=String(Q).length;return J>=$&&J<=Z||X}})}pattern($,Z="Invalid format"){return this.addRule({name:"pattern",message:Z,validate:(Y)=>{if(!Y)return!0;return $.test(String(Y))||Z}})}hasUppercase($="Must contain an uppercase letter"){return this.pattern(/[A-Z]/,$)}hasLowercase($="Must contain a lowercase letter"){return this.pattern(/[a-z]/,$)}hasNumber($="Must contain a number"){return this.pattern(/\d/,$)}hasSpecial($="Must contain a special character"){return this.pattern(/[!@#$%^&*(),.?":{}|<>]/,$)}alphanumeric($="Only letters and numbers allowed"){return this.pattern(/^[a-zA-Z0-9]+$/,$)}startsWithLetter($="Must start with a letter"){return this.pattern(/^[a-zA-Z]/,$)}noSpaces($="Spaces are not allowed"){return this.addRule({name:"noSpaces",message:$,validate:(Z)=>{if(!Z)return!0;return!String(Z).includes(" ")||$}})}number($="Must be a number"){let Z=this.addRule({name:"number",message:$,validate:(Y)=>{if(!Y&&Y!==0)return!0;return!Number.isNaN(Number(Y))||$}});return Z.defaultValue=0,Z}integer($="Must be a whole number"){return this.addRule({name:"integer",message:$,validate:(Z)=>{if(!Z&&Z!==0)return!0;return Number.isInteger(Number(Z))||$}})}positive($="Must be a positive number"){return this.addRule({name:"positive",message:$,validate:(Z)=>{if(!Z&&Z!==0)return!0;return Number(Z)>0||$}})}negative($="Must be a negative number"){return this.addRule({name:"negative",message:$,validate:(Z)=>{if(!Z&&Z!==0)return!0;return Number(Z)<0||$}})}minValue($,Z){let Y=Z||`Must be at least ${$}`;return this.addRule({name:"minValue",message:Y,validate:(X)=>{if(!X&&X!==0)return!0;return Number(X)>=$||Y}})}maxValue($,Z){let Y=Z||`Must be no more than ${$}`;return this.addRule({name:"maxValue",message:Y,validate:(X)=>{if(!X&&X!==0)return!0;return Number(X)<=$||Y}})}between($,Z,Y){let X=Y||`Must be between ${$} and ${Z}`;return this.addRule({name:"between",message:X,validate:(Q)=>{if(!Q&&Q!==0)return!0;let J=Number(Q);return J>=$&&J<=Z||X}})}matches($,Z){let Y=Z||`Must match ${$}`;return this.addRule({name:"matches",message:Y,validate:(X,Q)=>{if(!Q)return!0;return X===Q[$]||Y}})}oneOf($,Z){let Y=Z||`Must be one of: ${$.join(", ")}`;return this.addRule({name:"oneOf",message:Y,validate:(X)=>{if(!X)return!0;return $.includes(X)||Y}})}notOneOf($,Z){let Y=Z||`Cannot be one of: ${$.join(", ")}`;return this.addRule({name:"notOneOf",message:Y,validate:(X)=>{if(!X)return!0;return!$.includes(X)||Y}})}date($="Must be a valid date"){return this.addRule({name:"date",message:$,validate:(Z)=>{if(!Z)return!0;let Y=new Date(String(Z));return!Number.isNaN(Y.getTime())||$}})}before($,Z){let Y=new Date($),X=Z||`Must be before ${Y.toLocaleDateString()}`;return this.addRule({name:"before",message:X,validate:(Q)=>{if(!Q)return!0;return new Date(String(Q))<Y||X}})}after($,Z){let Y=new Date($),X=Z||`Must be after ${Y.toLocaleDateString()}`;return this.addRule({name:"after",message:X,validate:(Q)=>{if(!Q)return!0;return new Date(String(Q))>Y||X}})}custom($,Z="Invalid value"){return this.addRule({name:"custom",message:Z,validate:$})}async($,Z="Invalid value"){return this.addRule({name:"async",message:Z,async:!0,validate:$})}when($,Z){let Y=new M5;Y.rules=[...this.rules],Y.defaultValue=this.defaultValue;for(let X of Z.getRules())Y.rules.push({...X,validate:(Q,J)=>{if(!$(Q,J||{}))return!0;return X.validate(Q,J)}});return Y}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default($){let Z=new M5;return Z.rules=[...this.rules],Z.defaultValue=$,Z}async validate($,Z){let Y=[];for(let X of this.rules){let Q=await X.validate($,Z);if(Q!==!0)Y.push(Q)}return Y}validateSync($,Z){let Y=[];for(let X of this.rules){if(X.async)continue;let Q=X.validate($,Z);if(Q!==!0)Y.push(Q)}return Y}}function J_($,Z){let Y=Object.keys($),X={},Q={},J={},G={},K={};for(let O of Y)X[O]=Z?.[O]??$[O].getDefaultValue(),Q[O]=[],J[O]=!1,G[O]=!1,K[O]=!1;let q=!1;async function W(O){K[O]=!0;let V=await $[O].validate(X[O],X);return Q[O]=V,K[O]=!1,V.length===0}async function U(){q=!0;let O=await Promise.all(Y.map(W));return q=!1,O.every(Boolean)}function z(){for(let O of Y)X[O]=Z?.[O]??$[O].getDefaultValue(),Q[O]=[],J[O]=!1,G[O]=!1}function B(O){for(let V of Y)if(V in O)X[V]=O[V],G[V]=!0}function _(O,V){X[O]=V,G[O]=!0}function j(O,V=!0){if(J[O]=V,V)W(O)}function H(O){return{value:X[O],errors:Q[O],touched:J[O],dirty:G[O],valid:Q[O].length===0,validating:K[O]}}function L(O){return async(V)=>{V?.preventDefault?.();for(let A of Y)J[A]=!0;if(await U())await O(X)}}return{values:X,errors:Q,touched:J,dirty:G,get isValid(){return Y.every((O)=>Q[O].length===0)},get isValidating(){return q||Y.some((O)=>K[O])},get isDirty(){return Y.some((O)=>G[O])},validate:U,validateField:W,reset:z,setValues:B,setFieldValue:_,setFieldTouched:j,getFieldState:H,handleSubmit:L}}function rJ($,Z,Y){let X=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return $.replace(X,(Q,J,G)=>{try{let K=J.trim().split("."),q=Z;for(let U of K)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((U)=>{return G.replace(/\{\{\s*message\s*\}\}/g,U)}).join(`
|
|
13037
|
+
`)}catch{return""}})}function aJ($,Z,Y){let X=/@errors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderrors/g;return $.replace(X,(Q,J,G)=>{try{let K=J.trim().split("."),q=Z;for(let U of K)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((U)=>G.replace(/\{\{\s*message\s*\}\}/g,U)).join(`
|
|
13038
|
+
`)}catch{return""}})}function tJ($,Z,Y){let X=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return $.replace(X,(Q,J,G)=>{try{let K=J.trim().split("."),q=Z;for(let U of K)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return G}catch{return""}})}function Q_($,Z,Y){let X=$;return X=rJ(X,Z,Y),X=aJ(X,Z,Y),X=tJ(X,Z,Y),X}var X_;var $Q=k(()=>{X_=new M5});var XQ={};s(XQ,{processXElementDirectives:()=>G_,hasXElementDirectives:()=>YQ,generateXElementRuntime:()=>ZQ});function ZQ(){return`<script data-stx-scoped data-stx-x-element-runtime>
|
|
13036
13039
|
(function() {
|
|
13037
13040
|
'use strict';
|
|
13038
13041
|
|
|
@@ -13316,45 +13319,45 @@ else {
|
|
|
13316
13319
|
// Expose for manual initialization
|
|
13317
13320
|
window.XElement = XElement;
|
|
13318
13321
|
})();
|
|
13319
|
-
</script>`}function
|
|
13322
|
+
</script>`}function YQ($){return/\bx-data(?:\s|=)/.test($)}function G_($){let Z=/<script\b(?=[^>]*\bdata-stx-x-element-runtime\b)[^>]*>[\s\S]*?<\/script>\s*/gi,Y=$.match(Z)||[],X=Y.length>0?$.replace(Z,""):$;if(!YQ(X))return X;let Q=Y[0]?.trim()||ZQ(),J=X.lastIndexOf("</body>");if(J!==-1)return X.slice(0,J)+Q+`
|
|
13320
13323
|
`+X.slice(J);return X+`
|
|
13321
|
-
`+Q}var
|
|
13322
|
-
`,X+2),X===-1)return-1;X+=1,Q=!0;continue}if(K==="/"&&$[X+1]==="*"){let q=$.indexOf("*/",X+2);if(q===-1)return-1;X=q+2,Q=!0;continue}if(K==="/"&&Q){let q=X+1,W=!1;while(q<Y){let
|
|
13324
|
+
`+Q}var JQ={};s(JQ,{rewriteImagesWithSiblings:()=>W_});import G1 from"path";async function W_($,Z){let Y=Z.formats??q_;if(!Z.publicDir)return $;let X=B_($),Q=[],J=/<img\b[^>]*?>/gi,G=[],K;while((K=J.exec($))!==null){let z=K[0],B=z.match(/\bsrc=["']([^"']+)["']/i);if(!B)continue;if(j_(K.index,X))continue;G.push({idx:K.index,length:z.length,src:B[1],raw:z})}if(G.length===0)return $;let q=await Promise.all(G.map(async(z)=>{let B=await U_(z.src,Z.publicDir,Y);return{match:z,sources:B}}));for(let{match:z,sources:B}of q){if(B.length===0)continue;let j=`<picture>${B.map((H)=>`<source type="${H.mime}" srcset="${__(H.url)}">`).join("")}${z.raw}</picture>`;Q.push({start:z.idx,end:z.idx+z.length,replacement:j})}if(Q.length===0)return $;let W="",U=0;for(let z of Q)W+=$.slice(U,z.start),W+=z.replacement,U=z.end;return W+=$.slice(U),W}async function U_($,Z,Y){if(!z_($))return[];let X=G1.extname($).toLowerCase();if(!K_.has(X))return[];if(!$.startsWith("/"))return[];let Q=G1.join(Z,$.slice(1)),J=G1.dirname(Q),G=G1.basename(Q,X),K=G1.resolve(J),q=G1.resolve(Z);if(!K.startsWith(q))return[];let W=G1.posix.dirname($),U=Y.map(async(B)=>{let _=G1.join(J,`${G}${B.ext}`);if(!await Bun.file(_).exists())return null;return{url:G1.posix.join(W,`${G}${B.ext}`),mime:B.mime}});return(await Promise.all(U)).filter((B)=>B!==null)}function z_($){if(!$)return!1;if($.startsWith("http://")||$.startsWith("https://"))return!1;if($.startsWith("//"))return!1;if($.startsWith("data:"))return!1;return!0}function B_($){let Z=[],Y=/<picture\b[^>]*>[\s\S]*?<\/picture>/gi,X;while((X=Y.exec($))!==null)Z.push([X.index,X.index+X[0].length]);return Z}function j_($,Z){for(let[Y,X]of Z)if($>=Y&&$<X)return!0;return!1}function __($){return $.replace(/&/g,"&").replace(/"/g,""")}var K_,q_;var QQ=k(()=>{K_=new Set([".jpg",".jpeg",".png",".gif"]),q_=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var WQ={};s(WQ,{validateClientScript:()=>Q7,processOnceDirective:()=>J7,processJsonDirective:()=>X7,processDirectives:()=>w0,injectRouterScript:()=>r8});import v0 from"path";import{deriveLayoutGroup as H_}from"stx-router/layout-metadata";function GQ($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function O_($,Z){let Y=$.length,X=Z,Q=!0,J=[],G=(K)=>K+9<=Y&&$[K]==="<"&&$[K+1]==="/"&&($[K+2]==="s"||$[K+2]==="S")&&($[K+3]==="c"||$[K+3]==="C")&&($[K+4]==="r"||$[K+4]==="R")&&($[K+5]==="i"||$[K+5]==="I")&&($[K+6]==="p"||$[K+6]==="P")&&($[K+7]==="t"||$[K+7]==="T")&&($[K+8]===">"||/\s/.test($[K+8]));while(X<Y){let K=$[X];if(G(X))return X;if(K==="/"&&$[X+1]==="/"){if(X=$.indexOf(`
|
|
13325
|
+
`,X+2),X===-1)return-1;X+=1,Q=!0;continue}if(K==="/"&&$[X+1]==="*"){let q=$.indexOf("*/",X+2);if(q===-1)return-1;X=q+2,Q=!0;continue}if(K==="/"&&Q){let q=X+1,W=!1;while(q<Y){let U=$[q];if(U==="\\"){q+=2;continue}if(U==="[")W=!0;else if(U==="]")W=!1;else if(U==="/"&&!W){q++;break}else if(U===`
|
|
13323
13326
|
`){q=-1;break}q++}if(q===-1){X++,Q=!1;continue}while(q<Y&&/[a-z]/.test($[q]))q++;X=q,Q=!1;continue}if(K==="'"||K==='"'){let q=K;X++;while(X<Y){if($[X]==="\\"){X+=2;continue}if($[X]===q){X++;break}if($[X]===`
|
|
13324
|
-
`)break;X++}Q=!1;continue}if(K==="`"){X++;while(X<Y){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++;break}if($[X]==="$"&&$[X+1]==="{"){J.push(!0),X+=2,Q=!0;break}X++}if(J.length===0)Q=!1;continue}if(K==="}"&&J.length>0){J.pop(),X++;while(X<Y){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++,Q=!1;break}if($[X]==="$"&&$[X+1]==="{"){J.push(!0),X+=2,Q=!0;break}X++}continue}if(/\s/.test(K));else if(/[)\].\w$]/.test(K))Q=!1;else Q=!0;X++}return-1}function
|
|
13327
|
+
`)break;X++}Q=!1;continue}if(K==="`"){X++;while(X<Y){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++;break}if($[X]==="$"&&$[X+1]==="{"){J.push(!0),X+=2,Q=!0;break}X++}if(J.length===0)Q=!1;continue}if(K==="}"&&J.length>0){J.pop(),X++;while(X<Y){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++,Q=!1;break}if($[X]==="$"&&$[X+1]==="{"){J.push(!0),X+=2,Q=!0;break}X++}continue}if(/\s/.test(K));else if(/[)\].\w$]/.test(K))Q=!1;else Q=!0;X++}return-1}function q7($,Z){let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),X=new RegExp(`<script\\b(?=[^>]*\\b${Y}(?:\\s|=|/?>))[^>]*>`,"i").exec($);if(!X)return null;let Q=X.index+X[0].length,J=$.indexOf("</script>",Q);if(J===-1)return null;let G=$.indexOf(">",J);if(G===-1)return null;return{start:X.index,end:G+1}}function KQ($){let Z=0;while(Z<$.length){let Y=$.indexOf("<",Z);if(Y===-1)return-1;if($.startsWith("<!--",Y)){let J=$.indexOf("-->",Y+4);Z=J===-1?$.length:J+3;continue}let X=$.slice(Y),Q=/^<style\b[^>]*>/i.exec(X);if(Q){let J=$.toLowerCase().indexOf("</style>",Y+Q[0].length);Z=J===-1?$.length:J+8;continue}if(/^<script\b[^>]*>/i.test(X))return Y;Z=Y+1}return-1}function L_($){let Z=q7($,"data-stx-runtime");if(!Z)return $;let Y=KQ($);if(Y===-1||Y===Z.start)return $;let X=$.slice(Z.start,Z.end),Q=$.slice(0,Z.start)+$.slice(Z.end),J=KQ(Q);if(J===-1)return X+`
|
|
13325
13328
|
`+Q;return Q.slice(0,J)+X+`
|
|
13326
|
-
`+Q.slice(J)}async function
|
|
13327
|
-
`),...W.htmlAttrs&&{htmlAttrs:{...K.htmlAttrs||{},...W.htmlAttrs}},...W.bodyAttrs&&{bodyAttrs:{...K.bodyAttrs||{},...W.bodyAttrs}}},L=
|
|
13328
|
-
<meta name="stx-layout" content="${
|
|
13329
|
-
<meta name="stx-layout-group" content="${
|
|
13330
|
-
`+
|
|
13331
|
-
`+
|
|
13329
|
+
`+Q.slice(J)}async function w0($,Z,Y,X,Q){if(X.ssr===!1&&!X.autoShell&&X.buildMode==="spa")return $;let J=!Z.__stxProcessingDepth;if(!Z.__stxProcessingDepth)Z.__stxProcessingDepth=0;if(Z.__stxProcessingDepth++,!Z.__onceStore)Z.__onceStore=new Set;if((X.debug||!Z$()&&!k4())&&Y&&Y.endsWith(".stx"))W6($,Y);try{return await H8.timeAsync("template-processing",async()=>{let G=await F_($,Z,Y,X,Q);if(J)G=n6(G);if(J&&X.autoShell&&X.buildMode!=="compile"){let K=X.app?.head||{},W=(Z.__stx_runtime_head||null)??b7(),U=(Z.__stx_head_raw||"").trim(),z,B=U.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(B)z=B[1].trim(),U=U.replace(B[0],"").trim();let _=Z.__sections?.title,j=W.title||z||_,H={...K,...j&&{title:j},meta:[...K.meta||[],...W.meta||[]],link:[...K.link||[],...W.link||[]],script:[...K.script||[],...W.script||[]],headRaw:[K.headRaw,U].filter(Boolean).join(`
|
|
13330
|
+
`),...W.htmlAttrs&&{htmlAttrs:{...K.htmlAttrs||{},...W.htmlAttrs}},...W.bodyAttrs&&{bodyAttrs:{...K.bodyAttrs||{},...W.bodyAttrs}}},L=i6(G);if(G=mX(G,H),L)G=dX(G,K);let F=G.match(/<!-- stx-layout: ([^ ]+) -->/);if(F&&G.includes("<head")){let V=F[1],w=H_(V);G=G.replace("<head>",`<head>
|
|
13331
|
+
<meta name="stx-layout" content="${GQ(V)}">
|
|
13332
|
+
<meta name="stx-layout-group" content="${GQ(w)}">`)}let O=G.match(/function (__stx_setup_\d+_\d+)\(/);if(O&&G.includes("<body")&&!G.match(/<body[^>]*data-stx=/)){G=G.replace(/<body([^>]*)>/,`<body$1 data-stx="${O[1]}">`);let V=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${O[1]}"`,"i");G=G.replace(V,"$1")}}if(J)G=hX(G),G=L_(G);if(J)try{let{getStoreScript:K}=await Promise.resolve().then(() => (rX(),sX)),q=X.storesDir,W=await K(q);if(W){let U=`<script data-stx-stores>${W}</script>`,z=q7(G,"data-stx-runtime");if(z)G=G.slice(0,z.end)+`
|
|
13333
|
+
`+U+G.slice(z.end)}}catch{}if(J)try{let{getComposableScript:K}=await Promise.resolve().then(() => (eX(),tX)),q=X.composablesDir,W=await K(q);if(W){let U=`<script data-stx-composables>${W}</script>`,z=q7(G,"data-stx-stores")||q7(G,"data-stx-runtime");if(z)G=G.slice(0,z.end)+`
|
|
13334
|
+
`+U+G.slice(z.end)}}catch{}if(J&&Z.__stx_inject_css!==!1)G=await b2(G);return G=G.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),G})}catch(G){if(G instanceof P4)throw G;let K=G instanceof Error?G.message:String(G),q=new g1(`Template processing failed: ${K}`,Y,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(r0.log(q,{filePath:Y,context:Z}),f3.logDetailedError(q,{filePath:Y,template:$.substring(0,500)}),X.debug)throw q;return v3.createFallbackContent("Template Processing",q)}}async function F_($,Z,Y,X,Q){let J=process.cwd(),G={...X,partialsDir:X.partialsDir&&!v0.isAbsolute(X.partialsDir)?v0.resolve(J,X.partialsDir):X.partialsDir,componentsDir:X.componentsDir&&!v0.isAbsolute(X.componentsDir)?v0.resolve(J,X.componentsDir):X.componentsDir,layoutsDir:X.layoutsDir&&!v0.isAbsolute(X.layoutsDir)?v0.resolve(J,X.layoutsDir):X.layoutsDir},K=G,q=$;await A_(Y,Z),w_(Z,K),q=await U5(()=>TX(q,Z,Y,K),q,(O)=>{r0.log(O,{filePath:Y,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${Y}: ${O.message}`)}),q=q.replace(/\{\{--[\s\S]*?--\}\}/g,"");let W=a0(q,d5,(O,V)=>`\x00STX_HTML_COMMENT_${V}\x00`);q=W.output;let U=W.tokens,z=(O)=>U.length===0?O:O.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(V,w)=>U[Number(w)]??""),B="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,B),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(O,V)=>{return`{{ ${V} }}`}),q=vX(q),q=await pX(q,Y,Q);let _={};q=l6(q,_);let j={...Z.__sections||{}},H="",L=/@nolayout\b/.test(q);if(L)q=q.replace(/@nolayout\b\s*/g,"");let F=q.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(F)H=F[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");if(!H&&!L&&K.defaultLayout){let O=/<!DOCTYPE\s/i.test(q),V=/@section\s*\(/.test(q);if(!O||V){let w="",A=v0.dirname(Y),N=K.layoutsDir?v0.dirname(K.layoutsDir):process.cwd();for(let R=0;R<20;R++){let T=v0.join(A,"_layout.stx");if(await c(T)){w=T;break}let M=v0.dirname(A);if(M===A||M.length<N.length)break;A=M}if(w)H=w;else if(K.layoutsDir){let R=v0.isAbsolute(K.layoutsDir)?K.layoutsDir:v0.resolve(process.cwd(),K.layoutsDir),T=v0.join(R,`${K.defaultLayout}.stx`);if(await c(T))H=T}if(H&&!V)q=`@section('content')
|
|
13332
13335
|
${q.trim()}
|
|
13333
|
-
@endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(O,V,
|
|
13336
|
+
@endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(O,V,w)=>{return j[V]=w,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(O,V,w)=>{if(/^(['"]).*\1$/.test(w.trim()))return O;try{let A=e(w.trim(),Z);if(A===void 0)return O;return j[V]=String(A??""),""}catch{return O}}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(O,V,w)=>{if(w.includes("@parent"))j[V]=w.replace("@parent",i1);else j[V]=w.trim();return""}),Z.__sections=j,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(O,V,w)=>{return j[V]||w||""}),!("slot"in Z)||Z.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""});if(q=p6(q,_),H){let O=[],V=z1(q),w=a0(V.output,e1,(A,N)=>`\x00STX_ORPHAN_STYLE_${N}\x00`);if(q=w.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(A,N,R)=>{let T=N==="SCRIPT"?V.scripts[Number(R)]:w.tokens[Number(R)];if(T)O.push(T);return""}),O.length>0){let A=O.join(`
|
|
13334
13337
|
`);j.content=j.content?`${j.content}
|
|
13335
|
-
${
|
|
13336
|
-
${q}`,
|
|
13337
|
-
`;if(J=M(J,Z),J=I(J,Z),J=
|
|
13338
|
+
${A}`:A,Z.__sections=j}}if(H)try{let O;if(v0.isAbsolute(H))O=H,Q.add(H);else O=await U5(()=>t7(H,Y,G,Q),null,()=>{throw new g1(`Failed to resolve layout path: ${H}`,Y,void 0,void 0,`Layout referenced from ${Y}`)});if(!O){let T=`Layout not found: ${H} (referenced from ${Y})`;if(r0.log(Error(T),{layoutPath:H,filePath:Y},"warning"),G.debug)throw new g1(T,Y);return q}let V=await U5(()=>Bun.file(O).text(),"",()=>{throw new g1(`Failed to read layout file: ${O}`,Y,void 0,void 0,"Layout content could not be loaded")}),w=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(w){if(G.debug)console.log(`Found nested layout: ${w[1]} in ${O}`);let T={},M=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(D,y,S)=>{return T[y]=S.trim(),""});for(let[D,y]of Object.entries(T))if(j[D]&&j[D].includes(i1)){let S=j[D].indexOf(i1);j[D]=j[D].slice(0,S)+y+j[D].slice(S+i1.length)}else if(!j[D])j[D]=y;let I={...Z,__sections:j},E=`@layout('${w[1]}')${M}`;return await w0(E,I,O,G,Q)}let A=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),N=l6(A,_),R={};return N=N.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(T,M,I)=>{return R[M]=I.trim(),`@slot('${M}')`}),N=N.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(T,M,I)=>{if(j[M]){let E=j[M];if(E.includes(i1)){let D=R[M]||"",y=E.indexOf(i1);E=E.slice(0,y)+D+E.slice(y+i1.length)}return E}return I||""}),N=V_(N,j),N=N.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),N=p6(N,_),Z.__originalFilePath=Y,q=await qQ(N,Z,O,G,Q),q=`<!-- stx-layout: ${H} -->
|
|
13339
|
+
${q}`,z(q)}catch(O){return r0.log(O instanceof Error?O:Error(String(O)),{layoutPath:H,filePath:Y},"error"),`[Error processing layout: ${O instanceof Error?O.message:String(O)}]`}return z(await qQ(q,Z,Y,G,Q))}function V_($,Z){return $.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Y,X,Q)=>{let J=Z[X];if(J!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(J))return J}return Q||""})}function w_($,Z){if($.__stx_sfc_mode=!0,$.__stx_options=Z,Z.buildMode)$.__stx_buildMode=Z.buildMode;let Y=Z.envPrefix||"STX_PUBLIC_",X={};for(let[Q,J]of Object.entries(process.env))if(Q.startsWith(Y)&&J!==void 0)X[Q]=J;$.$env=X}async function A_($,Z){await U5(()=>kX($,Z),void 0,(Y)=>{r0.log(Y,{filePath:$,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${$}: ${Y.message}`)})}async function R_($,Z,Y){let X=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,Q;while((Q=X.exec($))!==null){let J=Q[1],G=Q[2];if(!/\bserver\b/.test(J)||!G.trim())continue;try{let{extractVariables:q}=await Promise.resolve().then(() => (o5(),f$));await q(G,Z,Y,{preserveExisting:!0})}catch(q){let W=q instanceof Error?q:Error(String(q));r0.log(W,{filePath:Y,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Y}: ${W.message}`)}}}async function N_($,Z,Y){try{let{interpolateScriptsInTemplate:X}=await Promise.resolve().then(() => (t0(),z8));return X($,Z,{skipServer:!0})}catch(X){let Q=X instanceof Error?X:Error(String(X));return r0.log(Q,{filePath:Y,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Y}: ${Q.message}`),$}}async function qQ($,Z,Y,X,Q){let J=$,G=X;if(await R_(J,Z,Y),J=await N_(J,Z,Y),J=await FX(J,Z,Y),J=await VX(J,Z,Y),J=await BY(J,Z,Y,G),$5(J))J=i7(J,Z),J=o7(J,Z);J=n7(J);let{processStreamDirectives:K}=await Promise.resolve().then(() => (q6(),K6));J=K(J,Z),J=h6(J,Z,Y,G),J=await t4(J,Z,Y,G,Q),J=await fX(J,Z,Y,G,Q),J=S9(J,Z,Y,G);let{processDeferDirectives:q}=await Promise.resolve().then(() => ZJ);J=q(J,Z,Y);let{processTeleportDirectives:W}=await Promise.resolve().then(() => XJ);J=W(J,Z,Y);let{processTransitionDirectives:U,processTransitionAttributes:z}=await Promise.resolve().then(() => KJ);J=U(J,Z,Y),J=z(J);let{processErrorBoundaryDirectives:B}=await Promise.resolve().then(() => WJ);J=B(J,Z,Y);let{processSuspenseDirectives:_}=await Promise.resolve().then(() => UJ);J=_(J,Z,Y);let{processAsyncDirectives:j}=await Promise.resolve().then(() => _J);J=j(J,Z,Y);let{processKeepAliveDirectives:H}=await Promise.resolve().then(() => OJ);J=H(J,Z,Y);let{processVirtualListDirectives:L,processVirtualGridDirectives:F,processInfiniteListDirectives:O}=await Promise.resolve().then(() => (RJ(),AJ));J=L(J,Z,Y),J=F(J,Z,Y),J=O(J,Z,Y);let{processPartialHydrationDirectives:V,processStaticDirectives:w}=await Promise.resolve().then(() => (fJ(),xJ));J=V(J,Z,Y),J=w(J);let{processComputedDirectives:A,processWatchDirectives:N}=await Promise.resolve().then(() => (sJ(),oJ));J=A(J,Z,Y),J=N(J,Z,Y);let{processFormValidationDirectives:R}=await Promise.resolve().then(() => ($Q(),eJ));J=R(J,Z,Y);let{processHeadDirective:T,processTitleDirective:M,processMetaDirective:I,resetHead:E}=await Promise.resolve().then(() => (i5(),y7));if(!Z.__stx_head_preset&&!Z.__stx_runtime_head)E();let D=T(J);if(J=D.content,D.headContent)Z.__stx_head_raw=`${Z.__stx_head_raw||""}${D.headContent}
|
|
13340
|
+
`;if(J=M(J,Z),J=I(J,Z),J=DX(J),J=o3(J,Z),J=UY(J),J=RX(J),J=await u6(J,Z,Y,G,Q),J=await t4(J,Z,Y,G,Q),J=J.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),J=n6(J),J=m1(J,Z,Y),J=s3(J,Z),J=r3(J,Z),J=l4(J,Z),J=AY(J,Z),J=RY(J,Z),J=await t2(J,Z,Y,G),J=await UZ(J,Z,Y),J=await DY(J,Z,Y,G),J=T9(J,Z,Y,G),J=O2(J,Z,Y,G),J=L2(J,Z,Y),J=F2(J,Z,Y,G),J=KY(J,Z,Y,G),J=X7(J,Z),J=J7(J),J=iX(J),!G.skipEventDirectives)J=c2(J,Z,Y);if(J=r2(J,Z,Y),G.debug){let n=/\bx-data\s*=/.test(J),$0=e$($);if(n&&$0)console.warn(`[stx] ${Y}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
|
|
13338
13341
|
Both work on the same page, but they manage separate scopes.
|
|
13339
|
-
Prefer signals (state/derived/effect) for new components.`)}J=
|
|
13340
|
-
</head>`);if(/<head\b[^>]*>/i.test(
|
|
13341
|
-
${
|
|
13342
|
+
Prefer signals (state/derived/effect) for new components.`)}J=yX(J,Z),J=await B1(J,Z,Y),J=nX(J),J=oX(J),J=x2(J);let{processXElementDirectives:y}=await Promise.resolve().then(() => XQ);J=y(J);let S=Z.__originalFilePath||Y,b=f5(Z);if(J=await s7(J,G,S,b),J=LY(J,Z),J=await MX(J,Z,Y,G),G.media?.image?.autoSiblings){let n=G.publicDir||"public",{rewriteImagesWithSiblings:$0}=await Promise.resolve().then(() => (QQ(),JQ));J=await $0(J,{publicDir:n})}if(G.seo?.enabled)J=V2(J,Z,G);let v=(n,$0,z0=!0)=>{if(!$0)return n;let H0=$0.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),C=n.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(H0&&C){if(z0)n=n.replace(C[0],H0[0]);if($0=$0.replace(H0[0],"").trim(),!$0)return n}if(/<\/head>/i.test(n))return n.replace(/<\/head>/i,`${$0}
|
|
13343
|
+
</head>`);if(/<head\b[^>]*>/i.test(n))return n.replace(/(<head\b[^>]*>)/i,`$1
|
|
13344
|
+
${$0}`);if(/<html\b[^>]*>/i.test(n))return n.replace(/(<html\b[^>]*>)/i,`$1
|
|
13342
13345
|
<head>
|
|
13343
|
-
${
|
|
13344
|
-
</head>`);return
|
|
13345
|
-
${
|
|
13346
|
-
</script>`;if(J.includes("</head>")){let
|
|
13347
|
-
`+
|
|
13346
|
+
${$0}
|
|
13347
|
+
</head>`);return n},{renderHead:h,getHead:f}=await Promise.resolve().then(() => (i5(),y7)),r=Z.__stx_runtime_head??f();if(r.title||r.meta?.length||r.link?.length){let n=h(r);if(n)J=v(J,n)}if(D.headContent)J=v(J,D.headContent,!r.title);if(G.csp?.enabled&&G.csp.addMetaTag)J=QY(J,G.csp,Z);if(G.analytics?.enabled)J=g2(J,G);if(G.heatmap?.enabled)J=x9(J,G);if(G.pwa?.enabled&&G.pwa.autoInject!==!1){let{injectPwaTags:n}=await Promise.resolve().then(() => (N$(),V9));J=n(J,G)}let T0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(J),M0=/\bSTX\.\w+/.test(J),d0=/window\.STX\s*=/.test(J);if(T0&&M0&&!d0){let $0=`<script data-stx-scoped>
|
|
13348
|
+
${y2()}
|
|
13349
|
+
</script>`;if(J.includes("</head>")){let z0=J.indexOf("</head>"),C=J.slice(0,z0).indexOf("<script");if(C!==-1){let P=J.slice(0,C),x=J.slice(C);J=P+$0+`
|
|
13350
|
+
`+x}else J=J.replace("</head>",`${$0}
|
|
13348
13351
|
</head>`)}else if(J.includes("<body"))J=J.replace(/<body([^>]*)>/,`<body$1>
|
|
13349
|
-
${
|
|
13350
|
-
`+J}{let{scanScriptTags:
|
|
13351
|
-
Icon generation requires the sharp package for image processing.`),Y.success=!1,Y}let
|
|
13352
|
+
${$0}`);else J=$0+`
|
|
13353
|
+
`+J}{let{scanScriptTags:n}=await Promise.resolve().then(() => (t5(),$4)),$0=[];for(let z0 of n(J)){if(!/\bserver\b/i.test(z0.attrs))continue;let H0=z0.start+z0.fullMatch.indexOf(">")+1,C=O_(J,H0);if(C===-1)continue;let P=C+9;while(P<J.length&&/\s/.test(J[P]))P++;$0.push({start:z0.start,end:P})}for(let z0=$0.length-1;z0>=0;z0--){let{start:H0,end:C}=$0[z0];J=J.substring(0,H0)+J.substring(C)}}let Z0=P$(J,Y);if(Z0.hasScoped)J=Z0.html;let Y0=Z.__stx_event_bindings||[],I0=!1,c0=[],K1=/\s:[a-z][\w.-]*\s*=/.test(J),{scanScriptTags:o1}=await Promise.resolve().then(() => (t5(),$4));for(let n of o1(J,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))c0.push({match:n.fullMatch,attrs:n.attrs,content:n.body});for(let{match:n,attrs:$0,content:z0}of c0){I0=!0;let H0=z0;Q7(z0,Y,X.strict);let C=await g5(z0,{eventBindings:Y0,attrs:$0,hasColonDirectives:K1,templateContent:$,filePath:Y,projectRoot:process.cwd(),production:X.buildMode==="compile",serverData:b});J=J.replace(n,()=>C)}if(I0)Z.__stx_event_bindings=[];if(G.csp?.enabled&&G.csp.useNonce&&typeof Z.cspNonce==="string")J=GY(J,Z.cspNonce);return J}var i1="<!--PARENT_CONTENT_PLACEHOLDER-->";var J4=k(()=>{S2();k1();O7();P2();f2();h2();V7();L7();i2();h5();a2();e2();d4();qY();zY();_Y();FY();J1();i5();t0();NY();EY();LX();AX();d6();e7();IX();J5();EX();g3();F0();bX();PX();xX();gX();E7();t5();g6();cX();o6();s6();j0();U6();o6();s6()});import E_ from"fs";import e6 from"path";import VQ from"fs";import Y1 from"path";var J9=[72,96,128,144,152,192,384,512],Q9=[120,152,167,180],G9=[16,32];async function K9($,Z){let Y={success:!0,generatedFiles:[],errors:[],warnings:[]},X=$.pwa?.icons;if(!X?.src)return Y.errors.push("No source icon specified in pwa.icons.src"),Y.success=!1,Y;let Q=Y1.isAbsolute(X.src)?X.src:Y1.resolve(process.cwd(),X.src);if(!await Bun.file(Q).exists())return Y.errors.push(`Source icon not found: ${Q}`),Y.success=!1,Y;let J=Y1.resolve(Z,X.outputDir||"pwa-icons");try{VQ.mkdirSync(J,{recursive:!0})}catch{return Y.errors.push(`Failed to create output directory: ${J}`),Y.success=!1,Y}let G=X.sizes||J9,K=X.generateWebP??!0,q=X.generateAppleIcons??!0;try{let W;try{W=await import("sharp")}catch{return Y.errors.push(`sharp is not installed. Install it with: bun add sharp
|
|
13354
|
+
Icon generation requires the sharp package for image processing.`),Y.success=!1,Y}let z=await W.default(Q).metadata();if(z.width&&z.width<512)Y.warnings.push(`Source icon is ${z.width}x${z.height}. Recommend using at least 512x512 for best quality.`);for(let L of G){let F=Y1.join(J,`icon-${L}x${L}.png`);if(await W.default(Q).resize(L,L,{fit:"contain",background:{r:0,g:0,b:0,alpha:0}}).png().toFile(F),Y.generatedFiles.push(F),K){let O=Y1.join(J,`icon-${L}x${L}.webp`);await W.default(Q).resize(L,L,{fit:"contain",background:{r:0,g:0,b:0,alpha:0}}).webp({quality:90}).toFile(O),Y.generatedFiles.push(O)}}if(q){for(let F of Q9){let O=Y1.join(J,`apple-touch-icon-${F}x${F}.png`);await W.default(Q).resize(F,F,{fit:"contain",background:{r:255,g:255,b:255,alpha:1}}).png().toFile(O),Y.generatedFiles.push(O)}let L=Y1.join(J,"apple-touch-icon.png");await W.default(Q).resize(180,180,{fit:"contain",background:{r:255,g:255,b:255,alpha:1}}).png().toFile(L),Y.generatedFiles.push(L)}for(let L of G9){let F=Y1.join(J,`favicon-${L}x${L}.png`);await W.default(Q).resize(L,L,{fit:"contain",background:{r:0,g:0,b:0,alpha:0}}).png().toFile(F),Y.generatedFiles.push(F)}let B=512,_=Y1.join(J,`icon-maskable-${B}x${B}.png`),j=Math.floor(B*0.1),H=B-j*2;await W.default(Q).resize(H,H,{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(_),Y.generatedFiles.push(_)}catch(W){let U=W instanceof Error?W.message:String(W);Y.errors.push(`Icon generation failed: ${U}`),Y.success=!1}return Y}function y_($){let Z=$.sizes||J9,Y=$.outputDir?`/${$.outputDir}`:"/pwa-icons",X=$.generateWebP??!0,Q=$.generateAppleIcons??!0,J=[];for(let G of Z)if(J.push(`${Y}/icon-${G}x${G}.png`),X)J.push(`${Y}/icon-${G}x${G}.webp`);if(Q){J.push(`${Y}/apple-touch-icon.png`);for(let G of Q9)J.push(`${Y}/apple-touch-icon-${G}x${G}.png`)}for(let G of G9)J.push(`${Y}/favicon-${G}x${G}.png`);return J.push(`${Y}/icon-maskable-512x512.png`),J}async function q9(){try{return await import("sharp"),!0}catch{return!1}}N$();function dQ($,Z,Y,X){let Q=[],J=X.join(" ");for(let G of $)if(Q.push({src:`${Z}/icon-${G}x${G}.png`,sizes:`${G}x${G}`,type:"image/png",purpose:J}),Y)Q.push({src:`${Z}/icon-${G}x${G}.webp`,sizes:`${G}x${G}`,type:"image/webp",purpose:J});return Q}function mQ($){return $.map((Z)=>({name:Z.name,short_name:Z.shortName,description:Z.description,url:Z.url,icons:Z.icons?.map((Y)=>({src:Y.src,sizes:Y.sizes,type:Y.type}))}))}function uQ($){let Z=$.pwa?.shareTarget;if(!Z?.enabled)return;let Y={action:Z.action||"/share",method:Z.method||"POST",enctype:Z.enctype||"multipart/form-data",params:{title:Z.params?.title||"title",text:Z.params?.text||"text",url:Z.params?.url||"url"}};if(Z.acceptFiles&&Z.acceptFiles.length>0)Y.params.files=Z.acceptFiles.map((X)=>({name:X.name,accept:X.accept}));return Y}function lQ($){let Z=$.pwa?.fileHandlers;if(!Z?.enabled||!Z.accept)return;let Y=[{action:Z.action||"/",accept:Z.accept,launch_type:Z.launchType||"single-client"}];if(Z.icons)Y[0].icons=Z.icons.map((X)=>({src:X.src,sizes:X.sizes,type:X.type}));return Y}function pQ($){let Z=$.pwa?.protocolHandlers;if(!Z||Z.length===0)return;return Z.map((Y)=>({protocol:Y.protocol,url:Y.url}))}function cQ($){let Z=$.pwa;if(!Z?.enabled||!Z.manifest)return null;let{manifest:Y,icons:X}=Z,Q=X?.sizes||[72,96,128,144,152,192,384,512],J=X?.outputDir?`/${X.outputDir}`:"/pwa-icons",G=X?.generateWebP??!0,K=X?.purpose||["any","maskable"],q={name:Y.name,short_name:Y.shortName||Y.name,description:Y.description,start_url:Y.startUrl||"/",display:Y.display||"standalone",display_override:Y.displayOverride,orientation:Y.orientation,theme_color:Y.themeColor,background_color:Y.backgroundColor,scope:Y.scope||"/",lang:Y.lang,dir:Y.dir,id:Y.id,categories:Y.categories,icons:dQ(Q,J,G,K)};if(Y.shortcuts&&Y.shortcuts.length>0)q.shortcuts=mQ(Y.shortcuts);if(Y.screenshots&&Y.screenshots.length>0)q.screenshots=Y.screenshots.map((B)=>({src:B.src,sizes:B.sizes,type:B.type,label:B.label,form_factor:B.platform}));let W=uQ($);if(W)q.share_target=W;let U=lQ($);if(U)q.file_handlers=U;let z=pQ($);if(z)q.protocol_handlers=z;if(Y.launchHandler)q.launch_handler={client_mode:Y.launchHandler};if(Y.handleLinks)q.handle_links=Y.handleLinks;if(Y.edgeSidePanel?.enabled)q.edge_side_panel={preferred_width:Y.edgeSidePanel.preferredWidth};return q}function w9($){let Z=cQ($);if(!Z)return"";let Y=JSON.parse(JSON.stringify(Z));return JSON.stringify(Y,null,2)}function u_($,Z){return{...Z,...$,shortcuts:$.shortcuts||Z.shortcuts,screenshots:$.screenshots||Z.screenshots,categories:$.categories||Z.categories}}function l_($){let Z=[],Y=$.pwa;if(!Y?.enabled)return Z;let X=Y.manifest;if(!X)return Z.push("PWA manifest configuration is missing"),Z;if(!X.name)Z.push("Manifest name is required");let Q=["fullscreen","standalone","minimal-ui","browser"];if(X.display&&!Q.includes(X.display))Z.push(`Invalid display mode: ${X.display}. Must be one of: ${Q.join(", ")}`);let J=["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"];if(X.orientation&&!J.includes(X.orientation))Z.push(`Invalid orientation: ${X.orientation}`);let G=/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/;if(X.themeColor&&!G.test(X.themeColor))Z.push(`Invalid theme color: ${X.themeColor}. Must be a valid hex color.`);if(X.backgroundColor&&!G.test(X.backgroundColor))Z.push(`Invalid background color: ${X.backgroundColor}. Must be a valid hex color.`);if(Y.shareTarget?.enabled){if(!Y.shareTarget.action)Z.push("Share target action URL is required")}if(Y.fileHandlers?.enabled){if(!Y.fileHandlers.accept||Object.keys(Y.fileHandlers.accept).length===0)Z.push("File handlers must specify accepted MIME types")}if(Y.protocolHandlers)for(let K of Y.protocolHandlers){if(!K.protocol)Z.push("Protocol handler missing protocol");if(!K.url||!K.url.includes("%s"))Z.push(`Protocol handler URL must contain %s placeholder: ${K.protocol}`)}return Z}import UQ from"path";async function zQ($){let Z=$.pwa?.offline;if(!Z?.enabled)return"";if(Z.page){let Y=UQ.isAbsolute(Z.page)?Z.page:UQ.resolve(process.cwd(),Z.page);if(await Bun.file(Y).exists())try{let{processDirectives:X}=await Promise.resolve().then(() => (J4(),WQ)),Q=await Bun.file(Y).text();return await X(Q,{},Y,$,new Set)}catch(X){console.warn(`[PWA] Failed to process custom offline page: ${X}`)}else console.warn(`[PWA] Custom offline page not found: ${Y}`)}return T_($)}function T_($){let Z=$.pwa?.offline,Y=$.pwa?.manifest,X=Z?.fallbackTitle||"You are offline",Q=Z?.fallbackMessage||"Please check your internet connection and try again.",J=Y?.themeColor||"#4f46e5",G=Y?.shortName||Y?.name||"App";return`<!DOCTYPE html>
|
|
13352
13355
|
<html lang="en">
|
|
13353
13356
|
<head>
|
|
13354
13357
|
<meta charset="UTF-8">
|
|
13355
13358
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
13356
13359
|
<meta name="theme-color" content="${J}">
|
|
13357
|
-
<title>${
|
|
13360
|
+
<title>${W7(X)} - ${W7(G)}</title>
|
|
13358
13361
|
<style>
|
|
13359
13362
|
:root {
|
|
13360
13363
|
--theme-color: ${J};
|
|
@@ -13524,8 +13527,8 @@ Icon generation requires the sharp package for image processing.`),Y.success=!1,
|
|
|
13524
13527
|
<circle cx="12" cy="20" r="1"/>
|
|
13525
13528
|
</svg>
|
|
13526
13529
|
|
|
13527
|
-
<h1>${
|
|
13528
|
-
<p>${
|
|
13530
|
+
<h1>${W7(X)}</h1>
|
|
13531
|
+
<p>${W7(Q)}</p>
|
|
13529
13532
|
|
|
13530
13533
|
<button class="retry-btn" onclick="window.location.reload()">
|
|
13531
13534
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
@@ -13581,9 +13584,9 @@ Icon generation requires the sharp package for image processing.`),Y.success=!1,
|
|
|
13581
13584
|
}, 5000);
|
|
13582
13585
|
</script>
|
|
13583
13586
|
</body>
|
|
13584
|
-
</html>`}function
|
|
13587
|
+
</html>`}function W7($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}D5();E5();import n1 from"fs";import U7 from"path";function M_($){let Z=[],Y=$.pwa;if(Z.push({id:"pwa-enabled",name:"PWA Enabled",category:"required",passed:Y?.enabled===!0,message:Y?.enabled?"PWA is enabled":"PWA is not enabled in config"}),!Y?.enabled)return Z;Z.push({id:"manifest-name",name:"App Name",category:"required",passed:Boolean(Y.manifest?.name),message:Y.manifest?.name?`App name: "${Y.manifest.name}"`:"Missing required manifest name"}),Z.push({id:"manifest-short-name",name:"Short Name",category:"recommended",passed:Boolean(Y.manifest?.shortName),message:Y.manifest?.shortName?`Short name: "${Y.manifest.shortName}"`:"Short name not set (will use full name)"}),Z.push({id:"manifest-description",name:"App Description",category:"recommended",passed:Boolean(Y.manifest?.description),message:Y.manifest?.description?"Description is set":"App description not provided"}),Z.push({id:"manifest-theme-color",name:"Theme Color",category:"required",passed:Boolean(Y.manifest?.themeColor),message:Y.manifest?.themeColor?`Theme color: ${Y.manifest.themeColor}`:"Theme color not set"}),Z.push({id:"manifest-background-color",name:"Background Color",category:"required",passed:Boolean(Y.manifest?.backgroundColor),message:Y.manifest?.backgroundColor?`Background color: ${Y.manifest.backgroundColor}`:"Background color not set"}),Z.push({id:"manifest-display",name:"Display Mode",category:"required",passed:["standalone","fullscreen","minimal-ui"].includes(Y.manifest?.display||""),message:Y.manifest?.display?`Display mode: ${Y.manifest.display}`:"Display mode should be standalone, fullscreen, or minimal-ui"}),Z.push({id:"manifest-start-url",name:"Start URL",category:"required",passed:Boolean(Y.manifest?.startUrl),message:Y.manifest?.startUrl?`Start URL: ${Y.manifest.startUrl}`:"Start URL not set"}),Z.push({id:"icons-source",name:"Icon Source",category:"required",passed:Boolean(Y.icons?.src),message:Y.icons?.src?`Icon source: ${Y.icons.src}`:"No icon source configured"});let X=Y.icons?.sizes||[];Z.push({id:"icons-192",name:"192x192 Icon",category:"required",passed:X.includes(192),message:X.includes(192)?"192x192 icon will be generated":"Missing 192x192 icon (required for Android)"}),Z.push({id:"icons-512",name:"512x512 Icon",category:"required",passed:X.includes(512),message:X.includes(512)?"512x512 icon will be generated":"Missing 512x512 icon (required for splash screen)"}),Z.push({id:"icons-maskable",name:"Maskable Icon",category:"recommended",passed:Y.icons?.purpose?.includes("maskable")||!1,message:Y.icons?.purpose?.includes("maskable")?"Maskable icon purpose is set":"Consider adding maskable icon purpose for adaptive icons"}),Z.push({id:"sw-configured",name:"Service Worker",category:"required",passed:Boolean(Y.serviceWorker),message:Y.serviceWorker?"Service worker is configured":"Service worker configuration missing"}),Z.push({id:"sw-cache-version",name:"Cache Version",category:"recommended",passed:Boolean(Y.serviceWorker?.cacheVersion),message:Y.serviceWorker?.cacheVersion?`Cache version: ${Y.serviceWorker.cacheVersion}`:"Set cache version for proper cache busting"}),Z.push({id:"offline-enabled",name:"Offline Support",category:"required",passed:Y.offline?.enabled===!0,message:Y.offline?.enabled?"Offline support is enabled":"Offline support is disabled"});let Q=Y.routes||[];return Z.push({id:"caching-strategies",name:"Caching Strategies",category:"recommended",passed:Q.length>0,message:Q.length>0?`${Q.length} route caching strategies configured`:"No custom caching strategies defined"}),Z.push({id:"push-config",name:"Push Notifications",category:"optional",passed:!Y.push?.enabled||Boolean(Y.push?.vapidPublicKey),message:Y.push?.enabled?Y.push?.vapidPublicKey?"Push notifications configured with VAPID key":"Push enabled but missing VAPID key":"Push notifications not enabled"}),Z.push({id:"share-target",name:"Share Target",category:"optional",passed:!0,message:Y.shareTarget?.enabled?`Share target enabled at ${Y.shareTarget.action}`:"Share target not enabled"}),Z.push({id:"auto-inject",name:"Auto-injection",category:"recommended",passed:Y.autoInject!==!1,message:Y.autoInject!==!1?"PWA tags will be auto-injected":"Auto-injection disabled - manual tag insertion required"}),Z}function I_($){let Z=[],Y=U7.join($,"manifest.json"),X=n1.existsSync(Y);if(Z.push({id:"build-manifest",name:"Manifest File",category:"required",passed:X,message:X?"manifest.json exists":"manifest.json not found in build output"}),X)try{let U=JSON.parse(n1.readFileSync(Y,"utf-8"));Z.push({id:"build-manifest-valid",name:"Valid Manifest JSON",category:"required",passed:!0,message:"Manifest is valid JSON"}),Z.push({id:"build-manifest-icons",name:"Manifest Icons",category:"required",passed:Array.isArray(U.icons)&&U.icons.length>0,message:U.icons?.length?`${U.icons.length} icons defined in manifest`:"No icons defined in manifest"})}catch{Z.push({id:"build-manifest-valid",name:"Valid Manifest JSON",category:"required",passed:!1,message:"Manifest is not valid JSON"})}let Q=U7.join($,"sw.js"),J=n1.existsSync(Q);Z.push({id:"build-sw",name:"Service Worker File",category:"required",passed:J,message:J?"Service worker (sw.js) exists":"Service worker not found in build output"});let G=U7.join($,"offline.html"),K=n1.existsSync(G);Z.push({id:"build-offline",name:"Offline Page",category:"recommended",passed:K,message:K?"Offline page exists":"No offline.html found"});let q=U7.join($,"pwa-icons");if(n1.existsSync(q)){let U=n1.readdirSync(q).filter((z)=>z.endsWith(".png")||z.endsWith(".webp"));Z.push({id:"build-icons",name:"Generated Icons",category:"required",passed:U.length>0,message:U.length>0?`${U.length} icon files generated`:"No icon files found"})}else Z.push({id:"build-icons",name:"Generated Icons",category:"required",passed:!1,message:"Icons directory not found"});return Z}function D_($){let Z=$.filter((q)=>q.category==="required"),Y=$.filter((q)=>q.category==="recommended"),X=Z.filter((q)=>q.passed).length,Q=Y.filter((q)=>q.passed).length,J=Z.length>0?X/Z.length*70:70,G=Y.length>0?Q/Y.length*30:30;return{score:Math.round(J+G),passed:$.filter((q)=>q.passed).length,failed:$.filter((q)=>!q.passed&&q.category==="required").length,warnings:$.filter((q)=>!q.passed&&q.category!=="required").length,checks:$}}function BN($,Z){let Y=M_($),X=Z&&n1.existsSync(Z)?I_(Z):[];return D_([...Y,...X])}function jN($){let Z=[];Z.push(`
|
|
13585
13588
|
=== PWA Audit Report ===
|
|
13586
13589
|
`);let Y=$.score>=90?"32":$.score>=70?"33":"31";Z.push(`Score: \x1B[${Y}m${$.score}/100\x1B[0m`),Z.push(`Passed: ${$.passed} | Failed: ${$.failed} | Warnings: ${$.warnings}
|
|
13587
13590
|
`);let X=["required","recommended","optional"];for(let Q of X){let J=$.checks.filter((G)=>G.category===Q);if(J.length===0)continue;Z.push(`
|
|
13588
13591
|
${Q.toUpperCase()}:`);for(let G of J){let K=G.passed?"\x1B[32m\u2713\x1B[0m":"\x1B[31m\u2717\x1B[0m";if(Z.push(` ${K} ${G.name}: ${G.message}`),G.details)Z.push(` ${G.details}`)}}return Z.push(""),Z.join(`
|
|
13589
|
-
`)}
|
|
13592
|
+
`)}y3();N$();D5();E5();async function NN($,Z){let Y={success:!0,files:{icons:[]},errors:[],warnings:[]},X=$.pwa;if(!X?.enabled)return Y;try{E_.mkdirSync(Z,{recursive:!0})}catch{return Y.errors.push(`Failed to create output directory: ${Z}`),Y.success=!1,Y}try{let J=w9($);if(J){let G=e6.join(Z,"manifest.json");await Bun.write(G,J),Y.files.manifest=G}}catch(J){let G=J instanceof Error?J.message:String(J);Y.errors.push(`Failed to generate manifest.json: ${G}`),Y.success=!1}if(X.icons?.src)if(await q9()){let G=await K9($,Z);if(Y.files.icons=G.generatedFiles,Y.warnings.push(...G.warnings),!G.success)Y.errors.push(...G.errors),Y.success=!1}else Y.warnings.push("sharp is not installed. Skipping icon generation. Install with: bun add sharp");if(X.offline?.enabled)try{let J=await zQ($);if(J){let G=e6.join(Z,"offline.html");await Bun.write(G,J),Y.files.offlinePage=G}}catch(J){let G=J instanceof Error?J.message:String(J);Y.errors.push(`Failed to generate offline page: ${G}`),Y.success=!1}let Q;if(X.precache?.enabled){let J=T1(Z,$);Q={fileCount:J.fileCount,totalSize:J.totalSize},Y.precacheStats=Q}try{let J=A$($,Z);if(J){let G=r1($),K=e6.join(Z,G);await Bun.write(K,J),Y.files.serviceWorker=K}}catch(J){let G=J instanceof Error?J.message:String(J);Y.errors.push(`Failed to generate service worker: ${G}`),Y.success=!1}return Y}function TN($,Z){return H7($,Z)}function MN($){return $.pwa?.enabled===!0}export{l_ as validateManifest,BN as runPwaAudit,pL as registerPwaDirectives,DW as pwaUpdateDirective,kW as pwaPushDirective,EW as pwaOfflineDirective,IW as pwaInstallDirective,S3 as pwaDirectives,TN as processPwaHtml,u_ as mergeManifestConfig,F9 as isWorkboxEnabled,q9 as isSharpAvailable,MN as isPwaEnabled,H7 as injectPwaTags,r1 as getServiceWorkerFileName,y_ as getExpectedIconPaths,hQ as generateThemeColorMeta,fQ as generateSwRegistrationScript,xQ as generateServiceWorkerAuto,A$ as generateServiceWorker,R$ as generatePwaTags,K9 as generatePwaIcons,w$ as generatePrecacheManifestJs,T1 as generatePrecacheManifest,zQ as generateOfflinePage,gQ as generateManifestLink,w9 as generateManifestJson,cQ as generateManifest,U9 as formatSize,jN as formatAuditResult,D_ as calculateAuditResult,NN as buildPwaAssets,M_ as auditConfig,I_ as auditBuildOutput,G9 as FAVICON_SIZES,J9 as DEFAULT_ICON_SIZES,Q9 as APPLE_TOUCH_ICON_SIZES};
|