@stacksjs/stx 0.2.84 → 0.2.85

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.
Files changed (48) hide show
  1. package/dist/app-shell.js +50 -50
  2. package/dist/build-mode-detector.js +95 -95
  3. package/dist/build-views.js +149 -149
  4. package/dist/build.js +37 -37
  5. package/dist/cli.js +51 -51
  6. package/dist/component-processing.js +16 -16
  7. package/dist/component-renderer.js +32 -32
  8. package/dist/components.js +95 -95
  9. package/dist/dev-server/index.js +36 -36
  10. package/dist/dev-server/serve-app.js +50 -50
  11. package/dist/dev-server/serve-file.js +50 -50
  12. package/dist/dev-server/serve-markdown.js +36 -36
  13. package/dist/dev-server/serve-multi.js +49 -49
  14. package/dist/dev-server.js +50 -50
  15. package/dist/docs.js +96 -96
  16. package/dist/dynamic-components.js +32 -32
  17. package/dist/includes.js +32 -32
  18. package/dist/index.js +50 -50
  19. package/dist/interactive.js +96 -96
  20. package/dist/lazy-loader.js +95 -95
  21. package/dist/plugin.js +44 -44
  22. package/dist/process.js +31 -31
  23. package/dist/production-builder.js +31 -31
  24. package/dist/production-server.js +31 -31
  25. package/dist/pwa/index.js +95 -95
  26. package/dist/pwa/offline.js +95 -95
  27. package/dist/pwa.js +84 -84
  28. package/dist/render.js +153 -153
  29. package/dist/serve.js +106 -106
  30. package/dist/site-builder/build.js +97 -97
  31. package/dist/site-builder/index.js +38 -38
  32. package/dist/ssg.js +13 -13
  33. package/dist/ssr.js +83 -83
  34. package/dist/story/cli.js +36 -36
  35. package/dist/story/commands/dev.js +36 -36
  36. package/dist/story/commands/index.js +36 -36
  37. package/dist/story/index.js +36 -36
  38. package/dist/story/renderer.js +96 -96
  39. package/dist/story/server.js +36 -36
  40. package/dist/story/visual-testing.js +96 -96
  41. package/dist/streaming.js +32 -32
  42. package/dist/template-compiler.js +24 -24
  43. package/dist/template-hydrator.js +110 -110
  44. package/dist/testing.js +95 -95
  45. package/dist/utils.js +32 -32
  46. package/dist/variable-extractor.js +11 -11
  47. package/dist/web-components.js +95 -95
  48. package/package.json +5 -5
package/dist/serve.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var{defineProperty:J7,getOwnPropertyNames:UQ,getOwnPropertyDescriptor:WQ}=Object,_Q=Object.prototype.hasOwnProperty;function BQ($){return this[$]}var W9=($)=>{var Z=(U9??=new WeakMap).get($),Y;if(Z)return Z;if(Z=J7({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function"){for(var X of UQ($))if(!_Q.call(Z,X))J7(Z,X,{get:BQ.bind($,X),enumerable:!(Y=WQ($,X))||Y.enumerable})}return U9.set($,Z),Z},U9;var jQ=($)=>$;function HQ($,Z){this[$]=jQ.bind(null,Z)}var p=($,Z)=>{for(var Y in Z)J7($,Y,{get:Z[Y],enumerable:!0,configurable:!0,set:HQ.bind(Z,Y)})};var C=($,Z)=>()=>($&&(Z=$($=0)),Z);var K0=import.meta.require;var RQ={};p(RQ,{screenReaderDirective:()=>W$,scanA11yIssues:()=>FQ,registerA11yDirectives:()=>AQ,processA11yDirectives:()=>Q7,hasDOMSupport:()=>_9,getScreenReaderOnlyStyle:()=>OQ,checkA11y:()=>B9,autoFixA11yFile:()=>H9,autoFixA11yDirectory:()=>wQ,autoFixA11y:()=>j9,a11yDirective:()=>U$});import q$ from"path";function Q7($,Z,Y,X){let J=$;J=J.replace(/@a11y\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(G,K,z)=>{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: ${z||U} -->`});let Q=/@screenReader\(([^@]*)\)@endScreenReader/g;return J=J.replace(Q,(G,K)=>{return`<span class="sr-only">${K.trim()}</span>`}),J=J.replace(/@ariaDescribe\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(G,K,z)=>{return`<span id="${`desc-${K}`}" class="sr-only">${z}</span>`}),J}function OQ(){return`
2
+ var{defineProperty:J7,getOwnPropertyNames:UQ,getOwnPropertyDescriptor:WQ}=Object,_Q=Object.prototype.hasOwnProperty;function BQ($){return this[$]}var W9=($)=>{var Z=(U9??=new WeakMap).get($),Y;if(Z)return Z;if(Z=J7({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function"){for(var X of UQ($))if(!_Q.call(Z,X))J7(Z,X,{get:BQ.bind($,X),enumerable:!(Y=WQ($,X))||Y.enumerable})}return U9.set($,Z),Z},U9;var jQ=($)=>$;function HQ($,Z){this[$]=jQ.bind(null,Z)}var p=($,Z)=>{for(var Y in Z)J7($,Y,{get:Z[Y],enumerable:!0,configurable:!0,set:HQ.bind(Z,Y)})};var P=($,Z)=>()=>($&&(Z=$($=0)),Z);var K0=import.meta.require;var RQ={};p(RQ,{screenReaderDirective:()=>W$,scanA11yIssues:()=>FQ,registerA11yDirectives:()=>AQ,processA11yDirectives:()=>Q7,hasDOMSupport:()=>_9,getScreenReaderOnlyStyle:()=>OQ,checkA11y:()=>B9,autoFixA11yFile:()=>H9,autoFixA11yDirectory:()=>wQ,autoFixA11y:()=>j9,a11yDirective:()=>U$});import q$ from"path";function Q7($,Z,Y,X){let J=$;J=J.replace(/@a11y\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(G,K,z)=>{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: ${z||U} -->`});let Q=/@screenReader\(([^@]*)\)@endScreenReader/g;return J=J.replace(Q,(G,K)=>{return`<span class="sr-only">${K.trim()}</span>`}),J=J.replace(/@ariaDescribe\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(G,K,z)=>{return`<span id="${`desc-${K}`}" class="sr-only">${z}</span>`}),J}function OQ(){return`
3
3
  .sr-only {
4
4
  position: absolute;
5
5
  width: 1px;
@@ -11,7 +11,7 @@ var{defineProperty:J7,getOwnPropertyNames:UQ,getOwnPropertyDescriptor:WQ}=Object
11
11
  white-space: nowrap;
12
12
  border-width: 0;
13
13
  }
14
- `.trim()}function _9(){return typeof globalThis.document<"u"&&typeof globalThis.document.createElement==="function"}function LQ($,Z){let Y=[],X=/<img\s+([^>]*)>/gi,J;J=X.exec($);while(J!==null){let L=J[1];if(!/\balt\s*=/i.test(L))Y.push({type:"missing-alt",element:J[0].substring(0,100),message:"Image missing alt attribute",impact:"serious",help:"Add alt text to images for screen readers",helpUrl:"https://web.dev/learn/accessibility/images/"});J=X.exec($)}let Q=/<button([^>]*)>\s*<\/button>/gi;J=Q.exec($);while(J!==null){let L=J[1];if(!/\baria-label\s*=/i.test(L)&&!/\btitle\s*=/i.test(L))Y.push({type:"missing-accessible-name",element:J[0].substring(0,100),message:"Empty button missing accessible name",impact:"critical",help:"Add text content, aria-label, or title",helpUrl:"https://web.dev/learn/accessibility/aria-html/"});J=Q.exec($)}let G=/<a\s+([^>]*)>\s*<\/a>/gi;J=G.exec($);while(J!==null){let L=J[1];if(!/\baria-label\s*=/i.test(L)&&!/\btitle\s*=/i.test(L))Y.push({type:"link-missing-text",element:J[0].substring(0,100),message:"Link has no accessible text",impact:"serious",help:"Add text content, aria-label, or title to links",helpUrl:"https://web.dev/learn/accessibility/more-html/#links"});J=G.exec($)}let K=/<(input|select|textarea)\s+([^>]*)>/gi;J=K.exec($);while(J!==null){let L=J[2];if(/\btype\s*=\s*["']hidden["']/i.test(L)){J=K.exec($);continue}let F=/\baria-label\s*=/i.test(L)||/\baria-labelledby\s*=/i.test(L),O=L.match(/\bid\s*=\s*["']([^"']+)["']/i);if(!F){let V=O&&new RegExp(`<label[^>]*\\bfor\\s*=\\s*["']${O[1]}["']`,"i").test($),A=J.index,w=$.substring(0,A),R=$.substring(A),N=(w.match(/<label\b/gi)||[]).length,M=(w.match(/<\/label>/gi)||[]).length,T=N>M;if(!V&&!T)Y.push({type:"input-missing-label",element:J[0].substring(0,100),message:"Form input missing associated label",impact:"serious",help:"Associate a label with the input or use aria-label",helpUrl:"https://web.dev/learn/accessibility/forms/"})}J=K.exec($)}let z=/<h([1-6])[^>]*>/gi,q=[];J=z.exec($);while(J!==null)q.push(Number.parseInt(J[1],10)),J=z.exec($);let U=0;for(let L of q){if(U>0&&L>U+1)Y.push({type:"heading-skip",element:`<h${L}>`,message:`Heading level skipped from h${U} to h${L}`,impact:"moderate",help:"Maintain proper heading hierarchy without skipping levels",helpUrl:"https://web.dev/learn/accessibility/structure/"});U=L}if(/<html\b/i.test($)&&!/<html[^>]*\slang\s*=/i.test($))Y.push({type:"missing-lang",element:"<html>",message:"Document language not specified",impact:"serious",help:"Add lang attribute to the html element",helpUrl:"https://web.dev/learn/accessibility/more-html/#language"});let W=/<table[^>]*>([\s\S]*?)<\/table>/gi;J=W.exec($);while(J!==null){let L=J[1];if(!/<th\b/i.test(L))Y.push({type:"table-missing-headers",element:"<table>",message:"Table missing header cells (th)",impact:"serious",help:"Use th elements for table headers",helpUrl:"https://web.dev/learn/accessibility/more-html/#tables"});J=W.exec($)}let _=/<(video|audio)[^>]*\sautoplay\s[^>]*>/gi;J=_.exec($);while(J!==null){if(!/\bmuted\b/i.test(J[0]))Y.push({type:"autoplay-audio",element:`<${J[1]}>`,message:"Auto-playing media may disrupt users",impact:"moderate",help:"Add muted attribute or provide controls to stop playback",helpUrl:"https://web.dev/learn/accessibility/more-html/#multimedia"});J=_.exec($)}let B=/\btabindex\s*=\s*["']([1-9]\d*)["']/gi;J=B.exec($);while(J!==null)Y.push({type:"positive-tabindex",element:`tabindex="${J[1]}"`,message:"Positive tabindex disrupts natural tab order",impact:"moderate",help:'Use tabindex="0" or "-1" instead of positive values',helpUrl:"https://web.dev/learn/accessibility/focus/#tab-index"}),J=B.exec($);let j=/<iframe\s+([^>]*)>/gi;J=j.exec($);while(J!==null){let L=J[1];if(!/\btitle\s*=/i.test(L)&&!/\baria-label\s*=/i.test(L))Y.push({type:"iframe-missing-title",element:"<iframe>",message:"Iframe missing title attribute",impact:"serious",help:"Add a title attribute to describe the iframe content",helpUrl:"https://web.dev/learn/accessibility/more-html/#frames"});J=j.exec($)}let H=/<([a-z]+)\s+([^>]*role\s*=\s*["']button["'][^>]*)>/gi;J=H.exec($);while(J!==null){let L=J[1].toLowerCase(),F=J[2];if(L!=="button"&&!/\btabindex\s*=/i.test(F))Y.push({type:"button-not-focusable",element:J[0].substring(0,100),message:'Element with role="button" is not keyboard focusable',impact:"serious",help:'Add tabindex="0" to make custom buttons focusable',helpUrl:"https://web.dev/learn/accessibility/focus/"});J=H.exec($)}return Y}async function B9($,Z){if(!_9())return LQ($,Z);let Y=[];try{let X=globalThis.document.createElement("div");X.innerHTML=$,X.querySelectorAll("img").forEach((K)=>{if(!K.hasAttribute("alt"))Y.push({type:"missing-alt",element:`<${K.outerHTML}>`,message:"Image missing alt attribute",impact:"serious",help:"Add alt text to images for screen readers",helpUrl:"https://web.dev/learn/accessibility/images/"})}),X.querySelectorAll('button, a, [role="button"]').forEach((K)=>{if(!(K.hasAttribute("aria-label")||K.hasAttribute("aria-labelledby")||K.textContent&&K.textContent.trim().length>0))Y.push({type:"missing-accessible-name",element:`<${K.outerHTML}>`,message:"Interactive element missing accessible name",impact:"critical",help:"Add text content, aria-label, or aria-labelledby",helpUrl:"https://web.dev/learn/accessibility/aria-html/"})}),X.querySelectorAll("input, select, textarea").forEach((K)=>{let z=K.getAttribute("id"),q=z&&X.querySelector(`label[for="${z}"]`),U=K.hasAttribute("aria-label")||K.hasAttribute("aria-labelledby"),W=K.closest("label")!==null;if(!q&&!U&&!W)Y.push({type:"input-missing-label",element:`<${K.outerHTML}>`,message:"Form input missing associated label",impact:"serious",help:"Associate a label with the input or use aria-label",helpUrl:"https://web.dev/learn/accessibility/forms/"})});let J=Array.from(X.querySelectorAll("h1, h2, h3, h4, h5, h6")),Q=0;for(let K of J){let z=Number.parseInt(K.tagName.charAt(1));if(Q>0&&z>Q+1)Y.push({type:"heading-skip",element:`<${K.outerHTML}>`,message:`Heading level skipped from h${Q} to h${z}`,impact:"moderate",help:"Maintain proper heading hierarchy without skipping levels",helpUrl:"https://web.dev/learn/accessibility/structure/"});Q=z}let G=X.querySelector("html");if($.includes("<html")&&G&&!G.hasAttribute("lang"))Y.push({type:"missing-lang",element:"<html>",message:"Document language not specified",impact:"serious",help:"Add lang attribute to the html element",helpUrl:"https://web.dev/learn/accessibility/more-html/#language"});if(X.querySelectorAll("a").forEach((K)=>{let z=K.textContent&&K.textContent.trim().length>0,q=K.hasAttribute("aria-label")||K.hasAttribute("aria-labelledby"),U=K.hasAttribute("title"),W=K.querySelector("img[alt]");if(!z&&!q&&!U&&!W)Y.push({type:"link-missing-text",element:`<${K.outerHTML}>`,message:"Link has no accessible text",impact:"serious",help:"Add text content, aria-label, or title to links",helpUrl:"https://web.dev/learn/accessibility/more-html/#links"})}),$.includes("<nav")||$.includes("<header")){if(!X.querySelector('a[href="#main"], a[href="#content"], .skip-link, [class*="skip"]')&&X.querySelectorAll("a").length>5)Y.push({type:"missing-skip-link",element:"<nav>",message:"Consider adding a skip navigation link",impact:"minor",help:"Add a skip link to allow keyboard users to bypass navigation",helpUrl:"https://web.dev/learn/accessibility/focus/#skip-links"})}if(X.querySelectorAll("table").forEach((K)=>{let z=K.querySelector("caption");if(!K.querySelector("th"))Y.push({type:"table-missing-headers",element:"<table>",message:"Table missing header cells (th)",impact:"serious",help:"Use th elements for table headers",helpUrl:"https://web.dev/learn/accessibility/more-html/#tables"});if(!z&&!K.hasAttribute("aria-label")&&!K.hasAttribute("aria-labelledby"))Y.push({type:"table-missing-caption",element:"<table>",message:"Table missing caption or accessible name",impact:"minor",help:"Add a caption element or aria-label to describe the table",helpUrl:"https://web.dev/learn/accessibility/more-html/#tables"})}),X.querySelectorAll('[style*="color"]').forEach((K)=>{let z=K.getAttribute("style")||"";if(z.includes("color:")&&!z.includes("background"))Y.push({type:"potential-contrast-issue",element:`<${K.tagName.toLowerCase()}>`,message:"Element has inline color style - verify contrast ratio",impact:"minor",help:"Ensure text has sufficient contrast ratio (4.5:1 for normal text)",helpUrl:"https://web.dev/learn/accessibility/color-contrast/"})}),X.querySelectorAll("video[autoplay], audio[autoplay]").forEach((K)=>{if(!K.hasAttribute("muted"))Y.push({type:"autoplay-audio",element:`<${K.tagName.toLowerCase()}>`,message:"Auto-playing media may disrupt users",impact:"moderate",help:"Add muted attribute or provide controls to stop playback",helpUrl:"https://web.dev/learn/accessibility/more-html/#multimedia"})}),X.querySelectorAll("[tabindex]").forEach((K)=>{if(Number.parseInt(K.getAttribute("tabindex")||"0")>0)Y.push({type:"positive-tabindex",element:`<${K.tagName.toLowerCase()}>`,message:"Positive tabindex disrupts natural tab order",impact:"moderate",help:'Use tabindex="0" or "-1" instead of positive values',helpUrl:"https://web.dev/learn/accessibility/focus/#tab-index"})}),X.querySelectorAll('[role="button"]').forEach((K)=>{if(!K.hasAttribute("tabindex"))Y.push({type:"button-not-focusable",element:`<${K.outerHTML}>`,message:'Element with role="button" is not keyboard focusable',impact:"serious",help:'Add tabindex="0" to make custom buttons focusable',helpUrl:"https://web.dev/learn/accessibility/focus/"})}),$.includes("<body")&&!X.querySelector('main, [role="main"]'))Y.push({type:"missing-main-landmark",element:"<body>",message:"Document missing main landmark region",impact:"moderate",help:"Add a main element to identify the primary content",helpUrl:"https://web.dev/learn/accessibility/structure/#landmarks"});X.querySelectorAll("iframe").forEach((K)=>{if(!K.hasAttribute("title")&&!K.hasAttribute("aria-label"))Y.push({type:"iframe-missing-title",element:"<iframe>",message:"Iframe missing title attribute",impact:"serious",help:"Add a title attribute to describe the iframe content",helpUrl:"https://web.dev/learn/accessibility/more-html/#frames"})})}catch(X){console.error(`Error checking accessibility in ${Z}:`,X)}return Y}async function FQ($,Z={}){let Y={},{recursive:X=!0,ignorePaths:J=[]}=Z,Q=q$.join($,X?"**/*.stx":"*.stx"),G=new Bun.Glob(Q),K=[];for await(let z of G.scan())if(!J.some((U)=>z.includes(q$.normalize(U))))K.push(z);for(let z of K)try{let q=await Bun.file(z).text();if(z.endsWith("good-a11y.stx"))continue;let U=await B9(q,z);if(U.length>0)Y[z]=U}catch(q){console.error(`Error scanning ${z}:`,q)}return Y}function j9($,Z={}){let Y={...VQ,...Z},X=[],J=$;if(Y.fixMissingAlt)J=J.replace(/<img([^>]*?)(?<!\balt\s*=\s*["'][^"']*["'])(\s*\/?>)/gi,(Q,G,K)=>{if(/\balt\s*=/i.test(G))return Q;let z=Q,q=`<img${G} alt=""${K}`;return X.push({type:"missing-alt",description:"Added empty alt attribute to image",before:z,after:q}),q});if(Y.fixMissingLabels)J=J.replace(/<button([^>]*)>\s*<\/button>/gi,(Q,G)=>{if(/\baria-label\s*=/i.test(G)||/\btitle\s*=/i.test(G))return Q;let K=Q,z=`<button${G} aria-label="Button"></button>`;return X.push({type:"missing-accessible-name",description:"Added aria-label to empty button",before:K,after:z}),z}),J=J.replace(/<a([^>]*)>\s*(<(?:i|span|svg)[^>]*(?:class="[^"]*icon[^"]*")?[^>]*>.*?<\/(?:i|span|svg)>)?\s*<\/a>/gi,(Q,G,K)=>{if(/\baria-label\s*=/i.test(G)||/\btitle\s*=/i.test(G))return Q;if(!K&&Q.replace(/<a[^>]*>|<\/a>/gi,"").trim())return Q;let z=Q,q=`<a${G} aria-label="Link">${K||""}</a>`;return X.push({type:"missing-accessible-name",description:"Added aria-label to link without text",before:z,after:q}),q});if(Y.fixMissingFormLabels)J=J.replace(/<(input|select|textarea)([^>]*)>/gi,(Q,G,K)=>{if(/\baria-label\s*=/i.test(K)||/\baria-labelledby\s*=/i.test(K))return Q;if(/\btype\s*=\s*["']hidden["']/i.test(K))return Q;let z=K.match(/\bname\s*=\s*["']([^"']+)["']/i),q=K.match(/\bid\s*=\s*["']([^"']+)["']/i),U=z?.[1]||q?.[1]||G,W=Q,_=`<${G}${K} aria-label="${U}">`;return X.push({type:"input-missing-label",description:`Added aria-label to ${G} element`,before:W,after:_}),_});if(Y.fixMissingLang)J=J.replace(/<html([^>]*)>/gi,(Q,G)=>{if(/\blang\s*=/i.test(G))return Q;let K=Q,z=`<html${G} lang="${Y.defaultLang}">`;return X.push({type:"missing-lang",description:`Added lang="${Y.defaultLang}" to html element`,before:K,after:z}),z});if(Y.fixPositiveTabindex)J=J.replace(/\btabindex\s*=\s*["']([1-9]\d*)["']/gi,(Q,G)=>{let K=Q,z='tabindex="0"';return X.push({type:"positive-tabindex",description:`Changed tabindex="${G}" to tabindex="0"`,before:K,after:'tabindex="0"'}),'tabindex="0"'});if(Y.fixButtonFocusable)J=J.replace(/<([a-z]+)(\s[^>]*role\s*=\s*["']button["'][^>]*)>/gi,(Q,G,K)=>{if(/\btabindex\s*=/i.test(K))return Q;if(G.toLowerCase()==="button")return Q;let z=Q,q=`<${G}${K} tabindex="0">`;return X.push({type:"button-not-focusable",description:'Added tabindex="0" to element with role="button"',before:z,after:q}),q});if(Y.fixTableHeaders)J=J.replace(/<th([^>]*)>/gi,(Q,G)=>{if(/\bscope\s*=/i.test(G))return Q;let K=Q,z=`<th${G} scope="col">`;return X.push({type:"table-missing-scope",description:'Added scope="col" to table header',before:K,after:z}),z});return{original:$,fixed:J,fixCount:X.length,fixes:X}}async function H9($,Z={},Y=!1){let X=await Bun.file($).text(),J=j9(X,Z);if(Y&&J.fixCount>0)await Bun.write($,J.fixed);return J}async function wQ($,Z={},Y={}){let X={},{recursive:J=!0,ignorePaths:Q=[],writeBack:G=!1,extensions:K=[".stx",".html",".htm"]}=Y,z=K.length===1?`*${K[0]}`:`*{${K.join(",")}}`,q=q$.join($,J?`**/${z}`:z),U=new Bun.Glob(q);for await(let W of U.scan()){if(Q.some((B)=>W.includes(q$.normalize(B))))continue;try{let B=await H9(W,Z,G);if(B.fixCount>0)X[W]=B}catch(B){console.error(`Error fixing ${W}:`,B)}}return X}function AQ(){return[U$,W$]}var VQ,U$,W$;var G7=C(()=>{VQ={fixMissingAlt:!0,fixMissingLabels:!0,fixMissingFormLabels:!0,fixTableHeaders:!0,fixMissingLang:!0,fixPositiveTabindex:!0,fixButtonFocusable:!0,defaultLang:"en"};U$={name:"a11y",handler:($,Z,Y,X)=>{if(!Z.length)return $;let J=Z[0].replace(/['"]/g,""),Q=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"}[J]||"Make this element accessible";return`<!-- a11y-hint: ${Q||K} -->${$}`},hasEndTag:!1},W$={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function O9($){let Z=$.analytics;if(!Z?.enabled)return"";switch(Z.driver){case"fathom":return NQ(Z);case"google-analytics":return TQ(Z);case"plausible":return MQ(Z);case"self-hosted":return IQ(Z);case"custom":return DQ(Z);default:return""}}function NQ($){let Z=$.fathom;if(!Z?.siteId)return"";let Y=Z.scriptUrl||"https://cdn.usefathom.com/script.js",X=Z.defer!==!1?" defer":"",J=[`data-site="${v0(Z.siteId)}"`];if(Z.honorDnt)J.push('data-honor-dnt="true"');if(Z.spa)J.push('data-spa="auto"');if(Z.canonical)J.push(`data-canonical="${v0(Z.canonical)}"`);if(Z.auto===!1)J.push('data-auto="false"');return`
14
+ `.trim()}function _9(){return typeof globalThis.document<"u"&&typeof globalThis.document.createElement==="function"}function LQ($,Z){let Y=[],X=/<img\s+([^>]*)>/gi,J;J=X.exec($);while(J!==null){let L=J[1];if(!/\balt\s*=/i.test(L))Y.push({type:"missing-alt",element:J[0].substring(0,100),message:"Image missing alt attribute",impact:"serious",help:"Add alt text to images for screen readers",helpUrl:"https://web.dev/learn/accessibility/images/"});J=X.exec($)}let Q=/<button([^>]*)>\s*<\/button>/gi;J=Q.exec($);while(J!==null){let L=J[1];if(!/\baria-label\s*=/i.test(L)&&!/\btitle\s*=/i.test(L))Y.push({type:"missing-accessible-name",element:J[0].substring(0,100),message:"Empty button missing accessible name",impact:"critical",help:"Add text content, aria-label, or title",helpUrl:"https://web.dev/learn/accessibility/aria-html/"});J=Q.exec($)}let G=/<a\s+([^>]*)>\s*<\/a>/gi;J=G.exec($);while(J!==null){let L=J[1];if(!/\baria-label\s*=/i.test(L)&&!/\btitle\s*=/i.test(L))Y.push({type:"link-missing-text",element:J[0].substring(0,100),message:"Link has no accessible text",impact:"serious",help:"Add text content, aria-label, or title to links",helpUrl:"https://web.dev/learn/accessibility/more-html/#links"});J=G.exec($)}let K=/<(input|select|textarea)\s+([^>]*)>/gi;J=K.exec($);while(J!==null){let L=J[2];if(/\btype\s*=\s*["']hidden["']/i.test(L)){J=K.exec($);continue}let F=/\baria-label\s*=/i.test(L)||/\baria-labelledby\s*=/i.test(L),O=L.match(/\bid\s*=\s*["']([^"']+)["']/i);if(!F){let V=O&&new RegExp(`<label[^>]*\\bfor\\s*=\\s*["']${O[1]}["']`,"i").test($),A=J.index,w=$.substring(0,A),R=$.substring(A),N=(w.match(/<label\b/gi)||[]).length,M=(w.match(/<\/label>/gi)||[]).length,T=N>M;if(!V&&!T)Y.push({type:"input-missing-label",element:J[0].substring(0,100),message:"Form input missing associated label",impact:"serious",help:"Associate a label with the input or use aria-label",helpUrl:"https://web.dev/learn/accessibility/forms/"})}J=K.exec($)}let z=/<h([1-6])[^>]*>/gi,q=[];J=z.exec($);while(J!==null)q.push(Number.parseInt(J[1],10)),J=z.exec($);let U=0;for(let L of q){if(U>0&&L>U+1)Y.push({type:"heading-skip",element:`<h${L}>`,message:`Heading level skipped from h${U} to h${L}`,impact:"moderate",help:"Maintain proper heading hierarchy without skipping levels",helpUrl:"https://web.dev/learn/accessibility/structure/"});U=L}if(/<html\b/i.test($)&&!/<html[^>]*\slang\s*=/i.test($))Y.push({type:"missing-lang",element:"<html>",message:"Document language not specified",impact:"serious",help:"Add lang attribute to the html element",helpUrl:"https://web.dev/learn/accessibility/more-html/#language"});let W=/<table[^>]*>([\s\S]*?)<\/table>/gi;J=W.exec($);while(J!==null){let L=J[1];if(!/<th\b/i.test(L))Y.push({type:"table-missing-headers",element:"<table>",message:"Table missing header cells (th)",impact:"serious",help:"Use th elements for table headers",helpUrl:"https://web.dev/learn/accessibility/more-html/#tables"});J=W.exec($)}let _=/<(video|audio)[^>]*\sautoplay\s[^>]*>/gi;J=_.exec($);while(J!==null){if(!/\bmuted\b/i.test(J[0]))Y.push({type:"autoplay-audio",element:`<${J[1]}>`,message:"Auto-playing media may disrupt users",impact:"moderate",help:"Add muted attribute or provide controls to stop playback",helpUrl:"https://web.dev/learn/accessibility/more-html/#multimedia"});J=_.exec($)}let B=/\btabindex\s*=\s*["']([1-9]\d*)["']/gi;J=B.exec($);while(J!==null)Y.push({type:"positive-tabindex",element:`tabindex="${J[1]}"`,message:"Positive tabindex disrupts natural tab order",impact:"moderate",help:'Use tabindex="0" or "-1" instead of positive values',helpUrl:"https://web.dev/learn/accessibility/focus/#tab-index"}),J=B.exec($);let j=/<iframe\s+([^>]*)>/gi;J=j.exec($);while(J!==null){let L=J[1];if(!/\btitle\s*=/i.test(L)&&!/\baria-label\s*=/i.test(L))Y.push({type:"iframe-missing-title",element:"<iframe>",message:"Iframe missing title attribute",impact:"serious",help:"Add a title attribute to describe the iframe content",helpUrl:"https://web.dev/learn/accessibility/more-html/#frames"});J=j.exec($)}let H=/<([a-z]+)\s+([^>]*role\s*=\s*["']button["'][^>]*)>/gi;J=H.exec($);while(J!==null){let L=J[1].toLowerCase(),F=J[2];if(L!=="button"&&!/\btabindex\s*=/i.test(F))Y.push({type:"button-not-focusable",element:J[0].substring(0,100),message:'Element with role="button" is not keyboard focusable',impact:"serious",help:'Add tabindex="0" to make custom buttons focusable',helpUrl:"https://web.dev/learn/accessibility/focus/"});J=H.exec($)}return Y}async function B9($,Z){if(!_9())return LQ($,Z);let Y=[];try{let X=globalThis.document.createElement("div");X.innerHTML=$,X.querySelectorAll("img").forEach((K)=>{if(!K.hasAttribute("alt"))Y.push({type:"missing-alt",element:`<${K.outerHTML}>`,message:"Image missing alt attribute",impact:"serious",help:"Add alt text to images for screen readers",helpUrl:"https://web.dev/learn/accessibility/images/"})}),X.querySelectorAll('button, a, [role="button"]').forEach((K)=>{if(!(K.hasAttribute("aria-label")||K.hasAttribute("aria-labelledby")||K.textContent&&K.textContent.trim().length>0))Y.push({type:"missing-accessible-name",element:`<${K.outerHTML}>`,message:"Interactive element missing accessible name",impact:"critical",help:"Add text content, aria-label, or aria-labelledby",helpUrl:"https://web.dev/learn/accessibility/aria-html/"})}),X.querySelectorAll("input, select, textarea").forEach((K)=>{let z=K.getAttribute("id"),q=z&&X.querySelector(`label[for="${z}"]`),U=K.hasAttribute("aria-label")||K.hasAttribute("aria-labelledby"),W=K.closest("label")!==null;if(!q&&!U&&!W)Y.push({type:"input-missing-label",element:`<${K.outerHTML}>`,message:"Form input missing associated label",impact:"serious",help:"Associate a label with the input or use aria-label",helpUrl:"https://web.dev/learn/accessibility/forms/"})});let J=Array.from(X.querySelectorAll("h1, h2, h3, h4, h5, h6")),Q=0;for(let K of J){let z=Number.parseInt(K.tagName.charAt(1));if(Q>0&&z>Q+1)Y.push({type:"heading-skip",element:`<${K.outerHTML}>`,message:`Heading level skipped from h${Q} to h${z}`,impact:"moderate",help:"Maintain proper heading hierarchy without skipping levels",helpUrl:"https://web.dev/learn/accessibility/structure/"});Q=z}let G=X.querySelector("html");if($.includes("<html")&&G&&!G.hasAttribute("lang"))Y.push({type:"missing-lang",element:"<html>",message:"Document language not specified",impact:"serious",help:"Add lang attribute to the html element",helpUrl:"https://web.dev/learn/accessibility/more-html/#language"});if(X.querySelectorAll("a").forEach((K)=>{let z=K.textContent&&K.textContent.trim().length>0,q=K.hasAttribute("aria-label")||K.hasAttribute("aria-labelledby"),U=K.hasAttribute("title"),W=K.querySelector("img[alt]");if(!z&&!q&&!U&&!W)Y.push({type:"link-missing-text",element:`<${K.outerHTML}>`,message:"Link has no accessible text",impact:"serious",help:"Add text content, aria-label, or title to links",helpUrl:"https://web.dev/learn/accessibility/more-html/#links"})}),$.includes("<nav")||$.includes("<header")){if(!X.querySelector('a[href="#main"], a[href="#content"], .skip-link, [class*="skip"]')&&X.querySelectorAll("a").length>5)Y.push({type:"missing-skip-link",element:"<nav>",message:"Consider adding a skip navigation link",impact:"minor",help:"Add a skip link to allow keyboard users to bypass navigation",helpUrl:"https://web.dev/learn/accessibility/focus/#skip-links"})}if(X.querySelectorAll("table").forEach((K)=>{let z=K.querySelector("caption");if(!K.querySelector("th"))Y.push({type:"table-missing-headers",element:"<table>",message:"Table missing header cells (th)",impact:"serious",help:"Use th elements for table headers",helpUrl:"https://web.dev/learn/accessibility/more-html/#tables"});if(!z&&!K.hasAttribute("aria-label")&&!K.hasAttribute("aria-labelledby"))Y.push({type:"table-missing-caption",element:"<table>",message:"Table missing caption or accessible name",impact:"minor",help:"Add a caption element or aria-label to describe the table",helpUrl:"https://web.dev/learn/accessibility/more-html/#tables"})}),X.querySelectorAll('[style*="color"]').forEach((K)=>{let z=K.getAttribute("style")||"";if(z.includes("color:")&&!z.includes("background"))Y.push({type:"potential-contrast-issue",element:`<${K.tagName.toLowerCase()}>`,message:"Element has inline color style - verify contrast ratio",impact:"minor",help:"Ensure text has sufficient contrast ratio (4.5:1 for normal text)",helpUrl:"https://web.dev/learn/accessibility/color-contrast/"})}),X.querySelectorAll("video[autoplay], audio[autoplay]").forEach((K)=>{if(!K.hasAttribute("muted"))Y.push({type:"autoplay-audio",element:`<${K.tagName.toLowerCase()}>`,message:"Auto-playing media may disrupt users",impact:"moderate",help:"Add muted attribute or provide controls to stop playback",helpUrl:"https://web.dev/learn/accessibility/more-html/#multimedia"})}),X.querySelectorAll("[tabindex]").forEach((K)=>{if(Number.parseInt(K.getAttribute("tabindex")||"0")>0)Y.push({type:"positive-tabindex",element:`<${K.tagName.toLowerCase()}>`,message:"Positive tabindex disrupts natural tab order",impact:"moderate",help:'Use tabindex="0" or "-1" instead of positive values',helpUrl:"https://web.dev/learn/accessibility/focus/#tab-index"})}),X.querySelectorAll('[role="button"]').forEach((K)=>{if(!K.hasAttribute("tabindex"))Y.push({type:"button-not-focusable",element:`<${K.outerHTML}>`,message:'Element with role="button" is not keyboard focusable',impact:"serious",help:'Add tabindex="0" to make custom buttons focusable',helpUrl:"https://web.dev/learn/accessibility/focus/"})}),$.includes("<body")&&!X.querySelector('main, [role="main"]'))Y.push({type:"missing-main-landmark",element:"<body>",message:"Document missing main landmark region",impact:"moderate",help:"Add a main element to identify the primary content",helpUrl:"https://web.dev/learn/accessibility/structure/#landmarks"});X.querySelectorAll("iframe").forEach((K)=>{if(!K.hasAttribute("title")&&!K.hasAttribute("aria-label"))Y.push({type:"iframe-missing-title",element:"<iframe>",message:"Iframe missing title attribute",impact:"serious",help:"Add a title attribute to describe the iframe content",helpUrl:"https://web.dev/learn/accessibility/more-html/#frames"})})}catch(X){console.error(`Error checking accessibility in ${Z}:`,X)}return Y}async function FQ($,Z={}){let Y={},{recursive:X=!0,ignorePaths:J=[]}=Z,Q=q$.join($,X?"**/*.stx":"*.stx"),G=new Bun.Glob(Q),K=[];for await(let z of G.scan())if(!J.some((U)=>z.includes(q$.normalize(U))))K.push(z);for(let z of K)try{let q=await Bun.file(z).text();if(z.endsWith("good-a11y.stx"))continue;let U=await B9(q,z);if(U.length>0)Y[z]=U}catch(q){console.error(`Error scanning ${z}:`,q)}return Y}function j9($,Z={}){let Y={...VQ,...Z},X=[],J=$;if(Y.fixMissingAlt)J=J.replace(/<img([^>]*?)(?<!\balt\s*=\s*["'][^"']*["'])(\s*\/?>)/gi,(Q,G,K)=>{if(/\balt\s*=/i.test(G))return Q;let z=Q,q=`<img${G} alt=""${K}`;return X.push({type:"missing-alt",description:"Added empty alt attribute to image",before:z,after:q}),q});if(Y.fixMissingLabels)J=J.replace(/<button([^>]*)>\s*<\/button>/gi,(Q,G)=>{if(/\baria-label\s*=/i.test(G)||/\btitle\s*=/i.test(G))return Q;let K=Q,z=`<button${G} aria-label="Button"></button>`;return X.push({type:"missing-accessible-name",description:"Added aria-label to empty button",before:K,after:z}),z}),J=J.replace(/<a([^>]*)>\s*(<(?:i|span|svg)[^>]*(?:class="[^"]*icon[^"]*")?[^>]*>.*?<\/(?:i|span|svg)>)?\s*<\/a>/gi,(Q,G,K)=>{if(/\baria-label\s*=/i.test(G)||/\btitle\s*=/i.test(G))return Q;if(!K&&Q.replace(/<a[^>]*>|<\/a>/gi,"").trim())return Q;let z=Q,q=`<a${G} aria-label="Link">${K||""}</a>`;return X.push({type:"missing-accessible-name",description:"Added aria-label to link without text",before:z,after:q}),q});if(Y.fixMissingFormLabels)J=J.replace(/<(input|select|textarea)([^>]*)>/gi,(Q,G,K)=>{if(/\baria-label\s*=/i.test(K)||/\baria-labelledby\s*=/i.test(K))return Q;if(/\btype\s*=\s*["']hidden["']/i.test(K))return Q;let z=K.match(/\bname\s*=\s*["']([^"']+)["']/i),q=K.match(/\bid\s*=\s*["']([^"']+)["']/i),U=z?.[1]||q?.[1]||G,W=Q,_=`<${G}${K} aria-label="${U}">`;return X.push({type:"input-missing-label",description:`Added aria-label to ${G} element`,before:W,after:_}),_});if(Y.fixMissingLang)J=J.replace(/<html([^>]*)>/gi,(Q,G)=>{if(/\blang\s*=/i.test(G))return Q;let K=Q,z=`<html${G} lang="${Y.defaultLang}">`;return X.push({type:"missing-lang",description:`Added lang="${Y.defaultLang}" to html element`,before:K,after:z}),z});if(Y.fixPositiveTabindex)J=J.replace(/\btabindex\s*=\s*["']([1-9]\d*)["']/gi,(Q,G)=>{let K=Q,z='tabindex="0"';return X.push({type:"positive-tabindex",description:`Changed tabindex="${G}" to tabindex="0"`,before:K,after:'tabindex="0"'}),'tabindex="0"'});if(Y.fixButtonFocusable)J=J.replace(/<([a-z]+)(\s[^>]*role\s*=\s*["']button["'][^>]*)>/gi,(Q,G,K)=>{if(/\btabindex\s*=/i.test(K))return Q;if(G.toLowerCase()==="button")return Q;let z=Q,q=`<${G}${K} tabindex="0">`;return X.push({type:"button-not-focusable",description:'Added tabindex="0" to element with role="button"',before:z,after:q}),q});if(Y.fixTableHeaders)J=J.replace(/<th([^>]*)>/gi,(Q,G)=>{if(/\bscope\s*=/i.test(G))return Q;let K=Q,z=`<th${G} scope="col">`;return X.push({type:"table-missing-scope",description:'Added scope="col" to table header',before:K,after:z}),z});return{original:$,fixed:J,fixCount:X.length,fixes:X}}async function H9($,Z={},Y=!1){let X=await Bun.file($).text(),J=j9(X,Z);if(Y&&J.fixCount>0)await Bun.write($,J.fixed);return J}async function wQ($,Z={},Y={}){let X={},{recursive:J=!0,ignorePaths:Q=[],writeBack:G=!1,extensions:K=[".stx",".html",".htm"]}=Y,z=K.length===1?`*${K[0]}`:`*{${K.join(",")}}`,q=q$.join($,J?`**/${z}`:z),U=new Bun.Glob(q);for await(let W of U.scan()){if(Q.some((B)=>W.includes(q$.normalize(B))))continue;try{let B=await H9(W,Z,G);if(B.fixCount>0)X[W]=B}catch(B){console.error(`Error fixing ${W}:`,B)}}return X}function AQ(){return[U$,W$]}var VQ,U$,W$;var G7=P(()=>{VQ={fixMissingAlt:!0,fixMissingLabels:!0,fixMissingFormLabels:!0,fixTableHeaders:!0,fixMissingLang:!0,fixPositiveTabindex:!0,fixButtonFocusable:!0,defaultLang:"en"};U$={name:"a11y",handler:($,Z,Y,X)=>{if(!Z.length)return $;let J=Z[0].replace(/['"]/g,""),Q=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"}[J]||"Make this element accessible";return`<!-- a11y-hint: ${Q||K} -->${$}`},hasEndTag:!1},W$={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function O9($){let Z=$.analytics;if(!Z?.enabled)return"";switch(Z.driver){case"fathom":return NQ(Z);case"google-analytics":return TQ(Z);case"plausible":return MQ(Z);case"self-hosted":return IQ(Z);case"custom":return DQ(Z);default:return""}}function NQ($){let Z=$.fathom;if(!Z?.siteId)return"";let Y=Z.scriptUrl||"https://cdn.usefathom.com/script.js",X=Z.defer!==!1?" defer":"",J=[`data-site="${v0(Z.siteId)}"`];if(Z.honorDnt)J.push('data-honor-dnt="true"');if(Z.spa)J.push('data-spa="auto"');if(Z.canonical)J.push(`data-canonical="${v0(Z.canonical)}"`);if(Z.auto===!1)J.push('data-auto="false"');return`
15
15
  <!-- Fathom Analytics -->
16
16
  <script src="${v0(Y)}" ${J.join(" ")}${X}></script>
17
17
  `}function TQ($){let Z=$.googleAnalytics;if(!Z?.measurementId)return"";let Y=v0(Z.measurementId),X=Z.debug?`gtag('config', '${Y}', { 'debug_mode': true });`:"";return`
@@ -68,7 +68,7 @@ ${Z.inlineScript}
68
68
  `;if(!Z.scriptUrl)return"";let Y=[];if(Z.scriptId)Y.push(`id="${v0(Z.scriptId)}"`);if(Z.attributes)for(let[J,Q]of Object.entries(Z.attributes))Y.push(`${v0(J)}="${v0(Q)}"`);return`
69
69
  <!-- Custom Analytics -->
70
70
  <script${Y.length>0?` ${Y.join(" ")}`:""} src="${v0(Z.scriptUrl)}" defer></script>
71
- `}function L9($,Z){let Y=O9(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 v0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var HH;var F9=C(()=>{HH={name:"analytics",hasEndTag:!1,handler:async($,Z,Y,X)=>{let J=Y.__stx_config||{};return O9(J)}}});function bQ($,Z={}){let{duration:Y,delay:X,ease:J,direction:Q,custom:G}={...Y1,...Z};if($==="custom"&&G)return G;switch($){case"fade":return`${Q==="in"?"opacity: 0; animation: fadeIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":Q==="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);"}
71
+ `}function L9($,Z){let Y=O9(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 v0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var HH;var F9=P(()=>{HH={name:"analytics",hasEndTag:!1,handler:async($,Z,Y,X)=>{let J=Y.__stx_config||{};return O9(J)}}});function bQ($,Z={}){let{duration:Y,delay:X,ease:J,direction:Q,custom:G}={...Y1,...Z};if($==="custom"&&G)return G;switch($){case"fade":return`${Q==="in"?"opacity: 0; animation: fadeIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":Q==="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);"}
72
72
  @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
73
73
  @keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }`;case"slide":return`${Q==="in"?"transform: translateY(20px); opacity: 0; animation: slideIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":Q==="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);"}
74
74
  @keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@@ -439,7 +439,7 @@ else {
439
439
  );
440
440
  }
441
441
  };
442
- </script>`}function AH($){let Z=$.customDirectives||[];return Z.push(K7),Z.push(q7),Z.push(U7),Z.push(z7),Z.push(gQ),Z.push(dQ),Z.push(uQ),{...$,customDirectives:Z}}var EQ,kQ,SQ,Y1,K7,z7,q7,U7,V9,gQ,dQ,uQ;var W7=C(()=>{((G)=>{G.Fade="fade";G.Slide="slide";G.Scale="scale";G.Flip="flip";G.Rotate="rotate";G.Custom="custom"})(EQ||={});((X)=>{X.In="in";X.Out="out";X.Both="both"})(kQ||={});((G)=>{G.Linear="linear";G.Ease="ease";G.EaseIn="ease-in";G.EaseOut="ease-out";G.EaseInOut="ease-in-out";G.Spring="spring"})(SQ||={});Y1={duration:300,delay:0,ease:"ease",direction:"both"};K7={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 J=Z[0],Q=Z.length>1?Number.parseInt(Z[1],10)||Y1.duration:Y1.duration,G=Z.length>2?Z[2]||Y1.ease:Y1.ease,K=Z.length>3?Number.parseInt(Z[3],10)||Y1.delay:Y1.delay,z=Z.length>4?Z[4]||Y1.direction:Y1.direction,q=`stx-transition-${Math.random().toString(36).substr(2,9)}`,U=bQ(J,{duration:Q,delay:K,ease:G,direction:z}),W="stx-transition",_="";if(J==="fade")_="stx-fade";else if(J==="slide")_="stx-slide";else if(J==="scale")_="stx-scale";else if(J==="flip")_="stx-flip";else if(J==="rotate")_="stx-rotate";return`<div id="${q}" class="${W} ${_} ${z==="out"?"stx-out":""}"
442
+ </script>`}function AH($){let Z=$.customDirectives||[];return Z.push(K7),Z.push(q7),Z.push(U7),Z.push(z7),Z.push(gQ),Z.push(dQ),Z.push(uQ),{...$,customDirectives:Z}}var EQ,kQ,SQ,Y1,K7,z7,q7,U7,V9,gQ,dQ,uQ;var W7=P(()=>{((G)=>{G.Fade="fade";G.Slide="slide";G.Scale="scale";G.Flip="flip";G.Rotate="rotate";G.Custom="custom"})(EQ||={});((X)=>{X.In="in";X.Out="out";X.Both="both"})(kQ||={});((G)=>{G.Linear="linear";G.Ease="ease";G.EaseIn="ease-in";G.EaseOut="ease-out";G.EaseInOut="ease-in-out";G.Spring="spring"})(SQ||={});Y1={duration:300,delay:0,ease:"ease",direction:"both"};K7={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 J=Z[0],Q=Z.length>1?Number.parseInt(Z[1],10)||Y1.duration:Y1.duration,G=Z.length>2?Z[2]||Y1.ease:Y1.ease,K=Z.length>3?Number.parseInt(Z[3],10)||Y1.delay:Y1.delay,z=Z.length>4?Z[4]||Y1.direction:Y1.direction,q=`stx-transition-${Math.random().toString(36).substr(2,9)}`,U=bQ(J,{duration:Q,delay:K,ease:G,direction:z}),W="stx-transition",_="";if(J==="fade")_="stx-fade";else if(J==="slide")_="stx-slide";else if(J==="scale")_="stx-scale";else if(J==="flip")_="stx-flip";else if(J==="rotate")_="stx-rotate";return`<div id="${q}" class="${W} ${_} ${z==="out"?"stx-out":""}"
443
443
  style="--stx-transition-duration: ${Q}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${K}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},z7={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 J=Z[0],Q=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,z=Z.length>4?Number.parseInt(Z[4],10)||0:0,q=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,U=`--stx-transition-duration: ${Q}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${z}ms; will-change: opacity, transform;`,W="stx-transition stx-observe stx-out";if(J==="fade")W+=" stx-fade";else if(J==="slide-up"||J==="slide")W+=" stx-from-bottom";else if(J==="slide-down")W+=" stx-from-top";else if(J==="slide-left")W+=" stx-from-right";else if(J==="slide-right")W+=" stx-from-left";else if(J==="scale")W+=" stx-scale";else if(J.includes("-"))W+=` stx-${J}`;else W+=` stx-${J}`;return`<div id="${q}" class="${W}" style="${U}" data-threshold="${K}">${$}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},q7={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 J=Z[0],Q=Z.slice(1).map((q)=>q.startsWith("#")||q.startsWith(".")?q:`#${q}`),G=Y.staggerDelay||50,K=Y.sequence||!0,z=xQ(J,Q,{staggerDelay:G,sequence:K});return`${$}
444
444
  ${z}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},U7={name:"motion",handler:($,Z,Y,X)=>{let J=Z.length>0?Z[0].toLowerCase()==="true":!0,Q=yQ();return`<div data-animate="${J?"auto":"true"}">${$}</div>${Q}`},hasEndTag:!0,description:"Controls motion and animation preferences"};V9={default:{stiffness:100,damping:10,mass:1},gentle:{stiffness:120,damping:14,mass:1},wobbly:{stiffness:180,damping:12,mass:1},stiff:{stiffness:210,damping:20,mass:1},slow:{stiffness:280,damping:60,mass:1},molasses:{stiffness:280,damping:120,mass:1}};gQ={name:"keyframe",hasEndTag:!0,handler:($,Z,Y,X)=>{if(Z.length<1)return`<div class="stx-error">@keyframe requires an animation name</div>${$}`;let J=Z[0].replace(/['"`]/g,""),Q=Z[1]?Number.parseInt(Z[1],10):1000,G=Z[2]?.replace(/['"`]/g,"")||"ease",K=Z[3]||"1",z=Z[4]?.replace(/['"`]/g,"")||"normal",q=Z[5]?.replace(/['"`]/g,"")||"forwards",U=`stx-keyframe-${Math.random().toString(36).slice(2,9)}`,W=`
445
445
  animation-name: ${J};
@@ -463,7 +463,7 @@ ${z}`},hasEndTag:!1,description:"Coordinates multiple animations together as a g
463
463
  --stx-spring-stiffness: ${Q.stiffness};
464
464
  --stx-spring-damping: ${Q.damping};
465
465
  --stx-spring-mass: ${Q.mass};
466
- `.trim().replace(/\s+/g," ");return`<div id="${K}" class="stx-spring" style="${q}">${$}</div>`},description:"Applies spring physics animations to an element"}});var A9={};p(A9,{rewriteImagesWithSiblings:()=>cQ});import X1 from"path";async function cQ($,Z){let Y=Z.formats??pQ;if(!Z.publicDir)return $;let X=oQ($),J=[],Q=/<img\b[^>]*?>/gi,G=[],K;while((K=Q.exec($))!==null){let W=K[0],_=W.match(/\bsrc=["']([^"']+)["']/i);if(!_)continue;if(sQ(K.index,X))continue;G.push({idx:K.index,length:W.length,src:_[1],raw:W})}if(G.length===0)return $;let z=await Promise.all(G.map(async(W)=>{let _=await iQ(W.src,Z.publicDir,Y);return{match:W,sources:_}}));for(let{match:W,sources:_}of z){if(_.length===0)continue;let j=`<picture>${_.map((H)=>`<source type="${H.mime}" srcset="${rQ(H.url)}">`).join("")}${W.raw}</picture>`;J.push({start:W.idx,end:W.idx+W.length,replacement:j})}if(J.length===0)return $;let q="",U=0;for(let W of J)q+=$.slice(U,W.start),q+=W.replacement,U=W.end;return q+=$.slice(U),q}async function iQ($,Z,Y){if(!nQ($))return[];let X=X1.extname($).toLowerCase();if(!lQ.has(X))return[];if(!$.startsWith("/"))return[];let J=X1.join(Z,$.slice(1)),Q=X1.dirname(J),G=X1.basename(J,X),K=X1.resolve(Q),z=X1.resolve(Z);if(!K.startsWith(z))return[];let q=X1.posix.dirname($),U=Y.map(async(_)=>{let B=X1.join(Q,`${G}${_.ext}`);if(!await Bun.file(B).exists())return null;return{url:X1.posix.join(q,`${G}${_.ext}`),mime:_.mime}});return(await Promise.all(U)).filter((_)=>_!==null)}function nQ($){if(!$)return!1;if($.startsWith("http://")||$.startsWith("https://"))return!1;if($.startsWith("//"))return!1;if($.startsWith("data:"))return!1;return!0}function oQ($){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 sQ($,Z){for(let[Y,X]of Z)if($>=Y&&$<X)return!0;return!1}function rQ($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;")}var lQ,pQ;var R9=C(()=>{lQ=new Set([".jpg",".jpeg",".png",".gif"]),pQ=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});function aQ($){if(_$.set($.name,$),$.client)_7.set($.name,$.client)}function TH($){return _$.get($)}function MH(){return Array.from(_$.values())}function IH($){return _7.delete($),_$.delete($)}function O0($){return aQ($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(Y,X,J,Q)=>{let G=tQ(X,$.defaults);if($.validate){let z=$.validate(G);if(z!==!0){let q=typeof z==="string"?z:`Invalid parameters for @${$.name}`;throw Error(q)}}let K=Y;if($.transform)K=await $.transform(Y,G,J,Q);if($.clientScript){let z=$.clientScript(G);K+=`<script>${z}</script>`}if($.css){let z=$.css(G);K+=`<style>${z}</style>`}return K}}}function DH($,Z){let Y=typeof Z==="function"?{mounted:Z}:Z;return _7.set($,Y),Y}function tQ($,Z){let Y={...Z};for(let X of $){let J=X.indexOf(":"),Q=X.indexOf("="),G=J>=0&&(Q<0||J<Q)?J:Q;if(G>=0){let K=X.slice(0,G).trim(),z=X.slice(G+1).trim();if(z==="true")z=!0;else if(z==="false")z=!1;else if(z==="null")z=null;else if(!Number.isNaN(Number(z)))z=Number(z);else if(typeof z==="string"&&z.startsWith("{"))try{z=JSON.parse(z)}catch{}Y[K]=z}else{let K=Object.keys(Y).filter((z)=>!Z||!(z in Z)).length;Y[K===0?"value":`arg${K}`]=X}}return Y}function EH(){return[O0({name:"uppercase",description:"Convert content to uppercase",transform:($)=>$.toUpperCase()}),O0({name:"lowercase",description:"Convert content to lowercase",transform:($)=>$.toLowerCase()}),O0({name:"capitalize",description:"Capitalize first letter of content",transform:($)=>$.charAt(0).toUpperCase()+$.slice(1)}),O0({name:"trim",description:"Remove leading and trailing whitespace",transform:($)=>$.trim()}),O0({name:"truncate",description:"Truncate content to specified length",defaults:{length:100,suffix:"..."},transform:($,{length:Z,suffix:Y})=>$.length>Z?$.slice(0,Z)+Y:$}),O0({name:"highlight",description:"Highlight content with background color",defaults:{color:"yellow"},transform:($,{color:Z})=>`<mark style="background-color: ${Z}; padding: 0.1em 0.2em; border-radius: 0.2em;">${$}</mark>`}),O0({name:"badge",description:"Create a badge/tag",defaults:{variant:"default",color:""},transform:($,{variant:Z,color:Y})=>{let X={default:"background: #e5e7eb; color: #374151;",primary:"background: #3b82f6; color: white;",success:"background: #10b981; color: white;",warning:"background: #f59e0b; color: white;",danger:"background: #ef4444; color: white;",info:"background: #06b6d4; color: white;"};return`<span style="${Y?`background: ${Y}; color: white;`:X[Z]||X.default} padding: 0.25em 0.5em; border-radius: 9999px; font-size: 0.875em; font-weight: 500;">${$}</span>`}}),O0({name:"code",description:"Style content as inline code",transform:($)=>`<code style="background: #f3f4f6; padding: 0.2em 0.4em; border-radius: 0.25em; font-family: ui-monospace, monospace; font-size: 0.875em;">${$}</code>`}),O0({name:"tooltip",description:"Add a tooltip to content",defaults:{text:"",position:"top"},hasEndTag:!0,transform:($,{text:Z,position:Y})=>`<span class="stx-tooltip" data-tooltip="${Z}" data-tooltip-position="${Y}" style="position: relative; cursor: help;">${$}</span>`,css:()=>`
466
+ `.trim().replace(/\s+/g," ");return`<div id="${K}" class="stx-spring" style="${q}">${$}</div>`},description:"Applies spring physics animations to an element"}});var A9={};p(A9,{rewriteImagesWithSiblings:()=>cQ});import X1 from"path";async function cQ($,Z){let Y=Z.formats??pQ;if(!Z.publicDir)return $;let X=oQ($),J=[],Q=/<img\b[^>]*?>/gi,G=[],K;while((K=Q.exec($))!==null){let W=K[0],_=W.match(/\bsrc=["']([^"']+)["']/i);if(!_)continue;if(sQ(K.index,X))continue;G.push({idx:K.index,length:W.length,src:_[1],raw:W})}if(G.length===0)return $;let z=await Promise.all(G.map(async(W)=>{let _=await iQ(W.src,Z.publicDir,Y);return{match:W,sources:_}}));for(let{match:W,sources:_}of z){if(_.length===0)continue;let j=`<picture>${_.map((H)=>`<source type="${H.mime}" srcset="${rQ(H.url)}">`).join("")}${W.raw}</picture>`;J.push({start:W.idx,end:W.idx+W.length,replacement:j})}if(J.length===0)return $;let q="",U=0;for(let W of J)q+=$.slice(U,W.start),q+=W.replacement,U=W.end;return q+=$.slice(U),q}async function iQ($,Z,Y){if(!nQ($))return[];let X=X1.extname($).toLowerCase();if(!lQ.has(X))return[];if(!$.startsWith("/"))return[];let J=X1.join(Z,$.slice(1)),Q=X1.dirname(J),G=X1.basename(J,X),K=X1.resolve(Q),z=X1.resolve(Z);if(!K.startsWith(z))return[];let q=X1.posix.dirname($),U=Y.map(async(_)=>{let B=X1.join(Q,`${G}${_.ext}`);if(!await Bun.file(B).exists())return null;return{url:X1.posix.join(q,`${G}${_.ext}`),mime:_.mime}});return(await Promise.all(U)).filter((_)=>_!==null)}function nQ($){if(!$)return!1;if($.startsWith("http://")||$.startsWith("https://"))return!1;if($.startsWith("//"))return!1;if($.startsWith("data:"))return!1;return!0}function oQ($){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 sQ($,Z){for(let[Y,X]of Z)if($>=Y&&$<X)return!0;return!1}function rQ($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;")}var lQ,pQ;var R9=P(()=>{lQ=new Set([".jpg",".jpeg",".png",".gif"]),pQ=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});function aQ($){if(_$.set($.name,$),$.client)_7.set($.name,$.client)}function TH($){return _$.get($)}function MH(){return Array.from(_$.values())}function IH($){return _7.delete($),_$.delete($)}function O0($){return aQ($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(Y,X,J,Q)=>{let G=tQ(X,$.defaults);if($.validate){let z=$.validate(G);if(z!==!0){let q=typeof z==="string"?z:`Invalid parameters for @${$.name}`;throw Error(q)}}let K=Y;if($.transform)K=await $.transform(Y,G,J,Q);if($.clientScript){let z=$.clientScript(G);K+=`<script>${z}</script>`}if($.css){let z=$.css(G);K+=`<style>${z}</style>`}return K}}}function DH($,Z){let Y=typeof Z==="function"?{mounted:Z}:Z;return _7.set($,Y),Y}function tQ($,Z){let Y={...Z};for(let X of $){let J=X.indexOf(":"),Q=X.indexOf("="),G=J>=0&&(Q<0||J<Q)?J:Q;if(G>=0){let K=X.slice(0,G).trim(),z=X.slice(G+1).trim();if(z==="true")z=!0;else if(z==="false")z=!1;else if(z==="null")z=null;else if(!Number.isNaN(Number(z)))z=Number(z);else if(typeof z==="string"&&z.startsWith("{"))try{z=JSON.parse(z)}catch{}Y[K]=z}else{let K=Object.keys(Y).filter((z)=>!Z||!(z in Z)).length;Y[K===0?"value":`arg${K}`]=X}}return Y}function EH(){return[O0({name:"uppercase",description:"Convert content to uppercase",transform:($)=>$.toUpperCase()}),O0({name:"lowercase",description:"Convert content to lowercase",transform:($)=>$.toLowerCase()}),O0({name:"capitalize",description:"Capitalize first letter of content",transform:($)=>$.charAt(0).toUpperCase()+$.slice(1)}),O0({name:"trim",description:"Remove leading and trailing whitespace",transform:($)=>$.trim()}),O0({name:"truncate",description:"Truncate content to specified length",defaults:{length:100,suffix:"..."},transform:($,{length:Z,suffix:Y})=>$.length>Z?$.slice(0,Z)+Y:$}),O0({name:"highlight",description:"Highlight content with background color",defaults:{color:"yellow"},transform:($,{color:Z})=>`<mark style="background-color: ${Z}; padding: 0.1em 0.2em; border-radius: 0.2em;">${$}</mark>`}),O0({name:"badge",description:"Create a badge/tag",defaults:{variant:"default",color:""},transform:($,{variant:Z,color:Y})=>{let X={default:"background: #e5e7eb; color: #374151;",primary:"background: #3b82f6; color: white;",success:"background: #10b981; color: white;",warning:"background: #f59e0b; color: white;",danger:"background: #ef4444; color: white;",info:"background: #06b6d4; color: white;"};return`<span style="${Y?`background: ${Y}; color: white;`:X[Z]||X.default} padding: 0.25em 0.5em; border-radius: 9999px; font-size: 0.875em; font-weight: 500;">${$}</span>`}}),O0({name:"code",description:"Style content as inline code",transform:($)=>`<code style="background: #f3f4f6; padding: 0.2em 0.4em; border-radius: 0.25em; font-family: ui-monospace, monospace; font-size: 0.875em;">${$}</code>`}),O0({name:"tooltip",description:"Add a tooltip to content",defaults:{text:"",position:"top"},hasEndTag:!0,transform:($,{text:Z,position:Y})=>`<span class="stx-tooltip" data-tooltip="${Z}" data-tooltip-position="${Y}" style="position: relative; cursor: help;">${$}</span>`,css:()=>`
467
467
  .stx-tooltip::after {
468
468
  content: attr(data-tooltip);
469
469
  position: absolute;
@@ -607,13 +607,13 @@ ${z}`},hasEndTag:!1,description:"Coordinates multiple animations together as a g
607
607
 
608
608
  console.log('[stx] Directive runtime initialized');
609
609
  })();
610
- `}function SH($){let Z=/v-(\w+)(?::(\w+))?(?:\.([\w.]+))?="([^"]*)"/g;return $.replace(Z,(Y,X,J,Q,G)=>{let z=(Q?Q.split("."):[]).reduce((q,U)=>{return q[U]=!0,q},{});return`data-stx-directive="${X}:${G}" data-stx-directive-arg="${J||""}" data-stx-directive-modifiers='${JSON.stringify(z)}'`})}var _$,_7;var B7=C(()=>{_$=new Map,_7=new Map});function J1($){let Z=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;$=$.replace(Z,(X,J)=>{return`const { ${J.split(",").map((G)=>G.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
610
+ `}function SH($){let Z=/v-(\w+)(?::(\w+))?(?:\.([\w.]+))?="([^"]*)"/g;return $.replace(Z,(Y,X,J,Q,G)=>{let z=(Q?Q.split("."):[]).reduce((q,U)=>{return q[U]=!0,q},{});return`data-stx-directive="${X}:${G}" data-stx-directive-arg="${J||""}" data-stx-directive-modifiers='${JSON.stringify(z)}'`})}var _$,_7;var B7=P(()=>{_$=new Map,_7=new Map});function J1($){let Z=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;$=$.replace(Z,(X,J)=>{return`const { ${J.split(",").map((G)=>G.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
611
611
  `});let Y=/import\s*\{([^}]+)\}\s*from\s*['"]@composables['"]\s*;?\n?/g;return $=$.replace(Y,(X,J)=>{return`const { ${J.split(",").map((G)=>G.trim()).filter(Boolean).join(", ")} } = window.__composables
612
612
  `}),$}import N9 from"process";function r0($="STX_PUBLIC_"){let Z={},Y={};for(let[X,J]of Object.entries(N9.env)){if(!X.startsWith($)||J===void 0)continue;Z[`import.meta.env.${X}`]=JSON.stringify(J),Y[X]=J}return Z["import.meta.env"]=JSON.stringify(Y),Z}function PH($="STX_PUBLIC_"){let Z={};for(let[Y,X]of Object.entries(N9.env))if(Y.startsWith($)&&X!==void 0)Z[Y]=X;return Z}var r1=()=>{};var B$={};p(B$,{hasUserImports:()=>eQ,bundleClientScript:()=>ZG});import B0 from"path";import g0 from"fs";function eQ($){let Z=/^\s*import\s+(?!type\s)/gm;if(!$.match(Z))return!1;let X=/^\s*import\s+(?!type\s).*?\s+from\s+['"]([^'"]+)['"]/gm,J;while((J=X.exec($))!==null){let G=J[1];if(!T9.some((z)=>z.test(G)))return console.log("[stx:bundler] detected user import:",G),!0}let Q=/^\s*import\s+['"]([^'"]+)['"]/gm;while((J=Q.exec($))!==null){let G=J[1];if(/\.css(?:\?.*)?$/.test(G))continue;if(!T9.some((z)=>z.test(G)))return console.log("[stx:bundler] detected side-effect import:",G),!0}return!1}function $G($,Z,Y,X){let J=(Q,G)=>{let K=Q===Y?Z:B0.dirname(Q),z=B0.resolve(K,G),q=[z,`${z}.ts`,`${z}.tsx`,`${z}.js`,`${z}.mjs`,`${z}.jsx`,B0.join(z,"index.ts"),B0.join(z,"index.tsx"),B0.join(z,"index.js"),B0.join(z,"index.mjs")];for(let U of q)try{if(g0.existsSync(U)&&g0.statSync(U,{throwIfNoEntry:!1})?.isFile())return U}catch{}return z};return{name:"stx-client-bundle",setup(Q){Q.onResolve({filter:/^(stx|@stacksjs\/stx|@stacksjs\/browser)$/},(G)=>({path:G.path,external:!0})),Q.onResolve({filter:/^(@stores|@composables|stx\/stores)$/},(G)=>({path:G.path,external:!0})),Q.onResolve({filter:/^\.\.?\//},(G)=>{let K=J(G.importer,G.path);return X.add(K),{path:K}}),Q.onResolve({filter:/^[@~]\//},(G)=>{let K=B0.resolve($,G.path.slice(2)),z=[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 q of z)if(g0.existsSync(q)&&g0.statSync(q,{throwIfNoEntry:!1})?.isFile())return console.log(`[stx:bundler] resolved ${G.path[0]}/ import:`,G.path,"\u2192",q),X.add(q),{path:q};return console.warn(`[stx:bundler] could not resolve ${G.path[0]}/ import:`,G.path),{path:K}})}}}async function ZG($,Z,Y={}){let X=Y.projectRoot||process.cwd(),J=Y.minify??!1,Q=Y.cacheDir||B0.join(X,".stx","bundle-cache"),G=new Bun.CryptoHasher("md5");G.update($+Z);let K=G.digest("hex").slice(0,12),z=B0.join(Q,`${K}.js`),q=B0.join(Q,`${K}.deps.json`),U=Bun.file(z);if(await U.exists()){let w=Bun.file(q),R=!0;if(await w.exists())try{let N=JSON.parse(await w.text());for(let M of N.files)try{if(g0.statSync(M.path).mtimeMs!==M.mtimeMs){R=!1;break}}catch{R=!1;break}}catch{R=!1}if(R)return console.log("[stx:bundler] cache hit:",K),await U.text();console.log("[stx:bundler] cache invalidated by dep change:",K)}let W=B0.join(X,".stx","bundle-tmp"),_=B0.join(W,`${K}.ts`),B=B0.join(W,"out",K);g0.mkdirSync(W,{recursive:!0}),g0.mkdirSync(B,{recursive:!0});let j=B0.dirname(Z),H=[],L=/^(export\s+)?(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))/gm,F=/^(export\s+)?(?:async\s+)?function\s+(\w+)/gm,O;while((O=L.exec($))!==null){if(O[1])continue;if(O[2])O[2].split(",").forEach((w)=>{let R=w.split(":")[0].trim();if(R)H.push(R)});else if(O[3])H.push(O[3])}while((O=F.exec($))!==null){if(O[1])continue;H.push(O[2])}let V=H.length>0?`
613
613
  export { ${H.join(", ")} }`:"";await Bun.write(_,$+V),console.log("[stx:bundler] bundling:",K,"from:",B0.basename(Z));let A=new Set;try{let w=await Bun.build({entrypoints:[_],outdir:B,target:"browser",format:"esm",minify:J,plugins:[$G(X,j,_,A)],define:{"process.env.NODE_ENV":J?'"production"':'"development"',...r0()},root:X});if(!w.success){let T=w.logs.filter((I)=>I.level==="error").map((I)=>I.message).join(", ");return console.warn("[stx:bundler] build failed:",T),$}let R="";for(let T of w.outputs){R=await T.text();break}let N=[];for(let T of R.matchAll(/^\s*export\s*\{([^}]*)\}\s*;?\s*$/gm))for(let I of T[1].split(",")){let D=I.trim().match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(D&&D[1]!==D[2])N.push([D[2],D[1]])}if(R=R.replace(/^\s*export\s*\{[^}]*\}\s*;?\s*$/gm,"").replace(/^\s*export\s+default\s+.*$/gm,"").trim(),N.length>0){let T=N.map(([I,D])=>`${JSON.stringify(I)}: ${D}`).join(", ");R+=`
614
614
  var __stxScopeRenames = { ${T} };`}console.log("[stx:bundler] bundled:",K,"output:",R.length,"bytes"),g0.mkdirSync(Q,{recursive:!0}),await Bun.write(z,R);let M=Array.from(A).map((T)=>{try{return{path:T,mtimeMs:g0.statSync(T).mtimeMs}}catch{return null}}).filter((T)=>T!==null);return await Bun.write(q,JSON.stringify({files:M})),R}catch(w){let R=w instanceof Error?w.message:String(w),N=w?.errors,M=Array.isArray(N)&&N.length>0?`
615
615
  ${N.map((T)=>`- ${T?.message??T}`).join(`
616
- `)}`:"";return console.warn(`[stx:bundler] error: ${R}${M}`),$}finally{try{g0.rmSync(_,{force:!0}),g0.rmSync(B,{recursive:!0,force:!0})}catch{}}}var T9;var j$=C(()=>{r1();T9=[/^stx$/,/^@stacksjs\/stx$/,/^@stacksjs\/browser$/,/^@stores$/,/^stx\/stores$/,/^@composables$/]});function hH($){a1={...a1,...$}}function dH(){a1={...D9}}function mH(){return{...a1}}function JG($){let Z="",Y=null,X=!1;for(let J=0;J<$.length;J++){let Q=$[J];if(X){X=!1;continue}if(Q==="\\"&&Y){X=!0;continue}if(Y){if(Y==="`"&&Q==="$"&&J+1<$.length&&$[J+1]==="{"){let G=1;J+=2;while(J<$.length&&G>0){if($[J]==="{")G++;else if($[J]==="}")G--;if(G>0)Z+=$[J],J++}continue}if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}Z+=Q}return Z}function QG($,Z){let Y=/[$A-Z_a-z][$\w]*/g,X;while((X=Y.exec($))!==null){let J=X[0],Q=$[X.index-1];if(YG.has(J))throw Error(`Potentially unsafe expression (matched /\\b${J}\\b/; identifier ${J}): ${Z}`);if(Q==="."&&E9.has(J))throw Error(`Potentially unsafe expression (matched /.${J}/; property ${J}): ${Z}`)}}function GG($){let Z=/\[\s*(['"])(.*?)\1\s*\]/g,Y;while((Y=Z.exec($))!==null){let X=Y[2];if(!E9.has(X))continue;let J=$.slice(0,Y.index).match(/\S(?=\s*$)/)?.[0],Q=$.slice(Y.index+Y[0].length).match(/^\s*(\S)/)?.[1];if(!((J==="{"||J===",")&&Q===":"))throw Error(`Potentially unsafe expression (bracket key ${Y[2]}): ${$}`)}}function T5($){let Z=$.trim(),Y=JG(Z);QG(Y,Z),GG(Z);for(let X of H7)if(X.test(Y))throw Error(`Potentially unsafe expression (matched /${X.source}/): ${Z}`);if(!a1.allowBracketNotation&&XG.test(Z))throw Error(`Bracket notation with strings not allowed: ${Z}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return Z}function k9($){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("__")||H7.some((J)=>J.test(Y)))continue;if(X&&typeof X==="object"&&!Array.isArray(X))Z[Y]=j7(X);else Z[Y]=X}return Z}function j7($,Z=0){if(Z>=a1.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((X)=>j7(X,Z+1));if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Error)return $;let Y={};for(let[X,J]of Object.entries($)){if(X.startsWith("__")||X==="constructor"||X==="prototype")continue;if(J&&typeof J==="object")Y[X]=j7(J,Z+1);else Y[X]=J}return Y}function e($,Z){try{let Y=k9(Z),X=Object.keys(Y),J=Object.values(Y);return Z0($,X)(...J)}catch{return}}function $0($){try{return T5($),!0}catch{return!1}}function uH($){try{return T5($),null}catch(Z){return Z instanceof Error?Z.message:String(Z)}}function lH($,Z){try{let Y=e($,Z);return Boolean(Y)}catch{return!1}}function pH($,Z){try{let Y=e($,Z);if(Array.isArray(Y))return Y;if(Y&&typeof Y==="object"&&"length"in Y){let X=Y.length;if(typeof X==="number"&&Number.isFinite(X)&&X>=0&&Number.isInteger(X))return Array.from(Y)}return[]}catch{return[]}}function L0($,Z){try{let Y=e($,Z);if(Y&&typeof Y==="object"&&!Array.isArray(Y))return Y;return{}}catch{return{}}}function Z0($,Z){let Y=T5($),X=/^[A-Za-z_$][\w$]*$/,J=[],Q=[];for(let q=0;q<Z.length;q++){let U=Z[q];if(!X.test(U))continue;if(S9.has(U))continue;J.push(q),Q.push(U)}let G=(q)=>Function(...Q,...q,`
616
+ `)}`:"";return console.warn(`[stx:bundler] error: ${R}${M}`),$}finally{try{g0.rmSync(_,{force:!0}),g0.rmSync(B,{recursive:!0,force:!0})}catch{}}}var T9;var j$=P(()=>{r1();T9=[/^stx$/,/^@stacksjs\/stx$/,/^@stacksjs\/browser$/,/^@stores$/,/^stx\/stores$/,/^@composables$/]});function hH($){a1={...a1,...$}}function dH(){a1={...D9}}function mH(){return{...a1}}function JG($){let Z="",Y=null,X=!1;for(let J=0;J<$.length;J++){let Q=$[J];if(X){X=!1;continue}if(Q==="\\"&&Y){X=!0;continue}if(Y){if(Y==="`"&&Q==="$"&&J+1<$.length&&$[J+1]==="{"){let G=1;J+=2;while(J<$.length&&G>0){if($[J]==="{")G++;else if($[J]==="}")G--;if(G>0)Z+=$[J],J++}continue}if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}Z+=Q}return Z}function QG($,Z){let Y=/[$A-Z_a-z][$\w]*/g,X;while((X=Y.exec($))!==null){let J=X[0],Q=$[X.index-1];if(YG.has(J))throw Error(`Potentially unsafe expression (matched /\\b${J}\\b/; identifier ${J}): ${Z}`);if(Q==="."&&E9.has(J))throw Error(`Potentially unsafe expression (matched /.${J}/; property ${J}): ${Z}`)}}function GG($){let Z=/\[\s*(['"])(.*?)\1\s*\]/g,Y;while((Y=Z.exec($))!==null){let X=Y[2];if(!E9.has(X))continue;let J=$.slice(0,Y.index).match(/\S(?=\s*$)/)?.[0],Q=$.slice(Y.index+Y[0].length).match(/^\s*(\S)/)?.[1];if(!((J==="{"||J===",")&&Q===":"))throw Error(`Potentially unsafe expression (bracket key ${Y[2]}): ${$}`)}}function T5($){let Z=$.trim(),Y=JG(Z);QG(Y,Z),GG(Z);for(let X of H7)if(X.test(Y))throw Error(`Potentially unsafe expression (matched /${X.source}/): ${Z}`);if(!a1.allowBracketNotation&&XG.test(Z))throw Error(`Bracket notation with strings not allowed: ${Z}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return Z}function k9($){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("__")||H7.some((J)=>J.test(Y)))continue;if(X&&typeof X==="object"&&!Array.isArray(X))Z[Y]=j7(X);else Z[Y]=X}return Z}function j7($,Z=0){if(Z>=a1.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((X)=>j7(X,Z+1));if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Error)return $;let Y={};for(let[X,J]of Object.entries($)){if(X.startsWith("__")||X==="constructor"||X==="prototype")continue;if(J&&typeof J==="object")Y[X]=j7(J,Z+1);else Y[X]=J}return Y}function e($,Z){try{let Y=k9(Z),X=Object.keys(Y),J=Object.values(Y);return Z0($,X)(...J)}catch{return}}function $0($){try{return T5($),!0}catch{return!1}}function uH($){try{return T5($),null}catch(Z){return Z instanceof Error?Z.message:String(Z)}}function lH($,Z){try{let Y=e($,Z);return Boolean(Y)}catch{return!1}}function pH($,Z){try{let Y=e($,Z);if(Array.isArray(Y))return Y;if(Y&&typeof Y==="object"&&"length"in Y){let X=Y.length;if(typeof X==="number"&&Number.isFinite(X)&&X>=0&&Number.isInteger(X))return Array.from(Y)}return[]}catch{return[]}}function L0($,Z){try{let Y=e($,Z);if(Y&&typeof Y==="object"&&!Array.isArray(Y))return Y;return{}}catch{return{}}}function Z0($,Z){let Y=T5($),X=/^[A-Za-z_$][\w$]*$/,J=[],Q=[];for(let q=0;q<Z.length;q++){let U=Z[q];if(!X.test(U))continue;if(S9.has(U))continue;J.push(q),Q.push(U)}let G=(q)=>Function(...Q,...q,`
617
617
  'use strict';
618
618
  try {
619
619
  return ${Y};
@@ -655,7 +655,7 @@ catch (e) {
655
655
  }
656
656
  return result;
657
657
  // eslint-disable-next-line pickier/no-unused-vars
658
- `)}var D9,a1,H7,YG,E9,XG,S9,I9=65536;var R0=C(()=>{D9={maxSanitizeDepth:10,allowBracketNotation:!1},a1={...D9};H7=[/\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/],YG=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"]),E9=new Set(["__proto__","constructor","prototype"]),XG=/[\w)\]]\s*\[\s*['"]/;S9=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 oH(){b9=0,H$.clear()}function O$($,Z){let Y=b9++,X=`<!--__STX_${$.toUpperCase()}_${Y}__-->`;return H$.set(X,{type:$,expression:Z}),X}function sH(){let $={};for(let[Z,Y]of H$)$[Z]={type:Y.type,expression:Y.expression};return $}function rH($){let Z={},Y=/<!--__STX_(EXPR|COND|RAW)_(\d+)__-->/g,X;while((X=Y.exec($))!==null){let J=X[0],Q=X[1].toLowerCase(),G=H$.get(J);Z[J]={type:Q,expression:G?.expression||""}}return Z}function aH($,Z){let Y=$;for(let[X,J]of Z)Y=Y.split(X).join(J);return Y}function tH($){return $.includes("<!--__STX_")}var b9=0,H$;var y9=C(()=>{H$=new Map});function C9($,Z,Y,X){Y.lastIndex=Z;let J=Y.exec($);if(!J||J.index!==Z)return-1;X.lastIndex=Y.lastIndex;let Q=X.exec($);if(!Q)return-1;return Q.index+Q[0].length}function L$($,Z){return C9($,Z,KG,zG)}function P9($,Z){return C9($,Z,qG,UG)}function v9($,Z){if(!$.startsWith("<!--",Z))return-1;let Y=$.indexOf("-->",Z+4);if(Y===-1)return-1;return Y+3}function I5($,Z,Y){let X=[],J="",Q=0,G=$.length,K=!1,z=null;while(Q<G){let q=$[Q];if(K){if(J+=q,z){if(q===z)z=null}else if(q==='"'||q==="'")z=q;else if(q===">")K=!1;Q++;continue}if(q==="<"){let U=Z($,Q);if(U>Q){J+=Y($.slice(Q,U),X.length),X.push($.slice(Q,U)),Q=U;continue}if(/^<\/?[a-zA-Z]/.test($.slice(Q,Q+2)))K=!0;J+=q,Q++;continue}J+=q,Q++}return{output:J,tokens:X}}function F$($){let{output:Z,tokens:Y}=I5($,L$,(X,J)=>`\x00STX_SCRIPT_${J}\x00`);return{output:Z,scripts:Y}}function V$($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Y,X)=>Z[+X]??"")}var KG,zG,qG,UG;var w$=C(()=>{KG=/<script\b[^>]*>/iy,zG=/<\/script\s*>/ig,qG=/<style\b[^>]*>/iy,UG=/<\/style\s*>/ig});var L7={};p(L7,{usesSignalsInScript:()=>t1,unescapeHtml:()=>O7,registerFilters:()=>_G,registerFilter:()=>g9,processExpressions:()=>a0,interpolateScriptsInTemplate:()=>jG,interpolateScriptExpressions:()=>d9,getAllFilters:()=>h9,evaluateExpression:()=>h0,escapeHtml:()=>m0,defaultFilters:()=>E5,clearCustomFilters:()=>BG,applyFilters:()=>m9});function WG($){let Z=x9.get($);if(!Z){let Y=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${Y}(?!\\w)`,"g"),x9.set($,Z)}return Z.lastIndex=0,Z}function g9($,Z){if($ in E5)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);D5[$]=Z}function _G($){for(let[Z,Y]of Object.entries($))g9(Z,Y)}function h9(){return{...E5,...D5}}function BG(){for(let $ of Object.keys(D5))delete D5[$]}function m0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function t1($){let Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,Y;while((Y=Z.exec($))!==null){let X=Y[1];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(X))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 f9($,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,""),J="",Q=!1,G=0;for(let q=0;q<X.length;q++){let U=X[q];if(!Q&&U==="`"){Q=!0,G=0;continue}if(Q){if(U==="`"&&G===0){Q=!1;continue}if(U==="$"&&X[q+1]==="{"){G++,q++;continue}if(U==="}"&&G>0){G--;continue}continue}J+=U}X=J;let K=/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,z;while((z=K.exec(X))!==null){let q=z[1];if(!X.substring(0,z.index).trimEnd().endsWith(".")){if(!Y.includes(q)&&!(q in Z))return!1}}return!0}function d9($,Z){let Y=$;return Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(X,J)=>{try{let Q=h0(J,Z);if(Q===void 0)return X;return Q===null?"":String(Q)}catch{return X}}),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(X,J)=>{let Q=J.trim();if(/^__[A-Z_]+__$/.test(Q))return X;try{let G=h0(J,Z);if(G===void 0)return X;return JSON.stringify(G)}catch{return X}}),Y}function jG($,Z,Y={}){return $.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,(X,J,Q)=>{if(/\bsrc\s*=/.test(J))return X;if(/\bdata-raw\b/.test(J))return X;if(/\btype\s*=\s*["']application\/json["']/.test(J))return X;if(Y.skipServer&&/\bserver\b/.test(J))return X;let G=d9(Q,Z);return`<script${J}>${G}</script>`})}function a0($,Z,Y,X){let J=$,Q=(U,W)=>{let _=P9(U,W);if(_===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(U.slice(W,_))?-1:_},G=(U,W,_,B)=>{let j=_.length,{output:H,tokens:L}=I5(U,W,(F,O)=>B(j+O));return _.push(...L),H},K=[];J=G(J,Q,K,(U)=>`<!--__STX_STYLE_${U}__-->`);let z=[];J=G(J,L$,z,(U)=>`<!--__STX_SCRIPT_EXPR_${U}__-->`);let q=X?.forceSignals===!0||t1($);J=J.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(U,W,_)=>{try{let B=h0(W,Z);return B!==void 0&&B!==null?String(B):""}catch(B){let j=B instanceof Error?B.message:String(B);return J0("Expression",`Error evaluating: {{{ ${W.trim()}}}}: ${j}`,Y,$,_,U)}}),J=J.replace(/\{!!([\s\S]*?)!!\}/g,(U,W,_)=>{try{let B=h0(W,Z);if(B===void 0&&Z.__stx_buildMode==="compile")return O$("raw",W.trim());return B!==void 0&&B!==null?String(B):""}catch(B){if(Z.__stx_buildMode==="compile")return O$("raw",W.trim());let j=B instanceof Error?B.message:String(B);return J0("Expression",`Error evaluating: {!! ${W.trim()} !!}: ${j}`,Y,$,_,U)}}),J=G(J,L$,z,(U)=>`<!--__STX_SCRIPT_EXPR_${U}__-->`),J=G(J,Q,K,(U)=>`<!--__STX_STYLE_${U}__-->`),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(U,W,_)=>{let B=W.trim(),j=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],H=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,F=B.match(H)?.[1],O=F&&((F in Z)||j.includes(F)),V=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,A=B.match(V),w=A&&!j.includes(A[1])&&!(A[1]in Z);if(/^__[A-Z_]+__$/.test(B))return"";try{let R=h0(W,Z);if(R===void 0&&q&&!f9(B,Z))return U;if(R===void 0&&Z.__stx_buildMode==="compile"&&!q)return O$("expr",B);return R!==void 0&&R!==null?m0(String(R)):""}catch(R){if(q&&!f9(B,Z))return U;if(w)return U;let N=R instanceof Error?R.message:String(R);return J0("Expression",`Error evaluating: {{ ${B} }}: ${N}`,Y,$,_,U)}});for(let U=0;U<z.length;U++)J=J.replace(`<!--__STX_SCRIPT_EXPR_${U}__-->`,()=>z[U]);for(let U=0;U<K.length;U++)J=J.replace(`<!--__STX_STYLE_${U}__-->`,()=>K[U]);return J}function m9($,Z,Y){if(!Z.trim())return $;let X=$,J=Z.trim();while(J.length>0){let Q=J.match(/^(\w+)/);if(!Q)break;let G=Q[1];J=J.substring(G.length).trim();let K=D5[G]||E5[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(h9()).join(", ")}`);let z=[];if(J.startsWith(":")){let q=J.match(/^:([^|\s]+)/);if(q){let U=q[1].trim();try{let W=Number(U);z=[Number.isNaN(W)?U:W]}catch{z=[U]}J=J.substring(q[0].length).trim()}}else if(J.startsWith("(")){let q=1,U=1;while(q>0&&U<J.length){if(J[U]==="(")q++;if(J[U]===")")q--;U++}if(q===0){let W=J.substring(1,U-1).trim();if(W)try{if(W.startsWith("{")&&W.endsWith("}"))z=[h0(`(${W})`,Y,!0)];else{let _=[],B="",j=null,H=0,L=0,F=0,O=!1;for(let V=0;V<W.length;V++){let A=W[V];if(O){B+=A,O=!1;continue}if(A==="\\"){B+=A,O=!0;continue}if(j){if(B+=A,A===j)j=null;continue}if(A==='"'||A==="'"||A==="`"){j=A,B+=A;continue}if(A==="(")H++;else if(A===")")H--;else if(A==="[")L++;else if(A==="]")L--;else if(A==="{")F++;else if(A==="}")F--;if(A===","&&H===0&&L===0&&F===0){_.push(B),B="";continue}B+=A}if(B)_.push(B);z=_.map((V)=>{let A=V.trim();return h0(A,Y,!0)})}}catch{z=[W]}J=J.substring(U).trim()}}try{X=K(X,Y,...z)}catch(q){let U=q instanceof Error?q.message:String(q);throw Error(`Error applying filter '${G}': ${U}`)}if(J.startsWith("|"))J=J.substring(1).trim();else break}return X}function HG($){let Z=!1,Y="",X=0,J=0,Q=0,G=!1;for(let K=0;K<$.length;K++){let z=$[K],q=$[K+1];if(Z&&G){G=!1;continue}if(Z&&z==="\\"){G=!0;continue}if(G=!1,(z==='"'||z==="'"||z==="`")&&!G){if(!Z)Z=!0,Y=z;else if(z===Y)Z=!1,Y="";continue}if(Z&&Y==="`"&&z==="$"&&q==="{"){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(z==="(")X++;else if(z===")")X--;else if(z==="[")J++;else if(z==="]")J--;else if(z==="{")Q++;else if(z==="}")Q--;if(z==="|"&&X===0&&J===0&&Q===0){if(q==="|"){K++;continue}if(q==="="){K++;continue}return K}}return-1}function h0($,Z,Y=!1){try{let X=$.trim(),J=HG(X);if(J>0){let Q=X.substring(0,J).trim(),G=X.substring(J+1).trim(),K=h0(Q,Z,!0);return m9(K,G,Z)}if(!$0(X)){if(!Y)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${X}`);return e(X,Z)}try{let Q=Object.keys(Z),G=Object.values(Z);return Z0(X,Q)(...G)}catch{return e(X,Z)}}catch(X){if(X instanceof ReferenceError){let J=/(\b\w+)\s+is not defined/.exec(X.message);if(J){let Q=J[1],G=OG(Q,Object.keys(Z));if(G&&G!==Q)X.message=`${X.message} \u2014 did you mean '${G}'?`}}if(!Y)console.error(`Error evaluating expression: ${$}`,X);throw X}}function OG($,Z){let Y=null;for(let J of Z){if(J===$)continue;let Q=LG($,J);if(Y===null||Q<Y.dist)Y={key:J,dist:Q}}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 LG($,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,$],J=Array(Y.length+1),Q=Array(Y.length+1);for(let G=0;G<=Y.length;G++)J[G]=G;for(let G=1;G<=X.length;G++){Q[0]=G;for(let K=1;K<=Y.length;K++){let z=Y[K-1]===X[G-1]?0:1;Q[K]=Math.min(Q[K-1]+1,J[K]+1,J[K-1]+z)}for(let K=0;K<=Y.length;K++)J[K]=Q[K]}return J[Y.length]}function O7($){if(!$)return"";return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var D5,x9,E5;var u0=C(()=>{R0();F0();y9();w$();D5={},x9=new Map;E5={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 m0(String($))},translate:($,Z,Y={})=>{if(!Z||!Z.__translations)return $;let X=Z.__translations,J=Z.__i18nConfig?.fallbackToKey??!0,Q=String($).split("."),G=X;for(let z of Q){if(G===void 0||G===null)break;G=G[z]}if(G===void 0||G===null)return J?$:"";let K=String(G);return Object.entries(Y).forEach(([z,q])=>{K=K.replace(WG(z),String(q))}),K},t:($,Z,Y={})=>{return E5.translate($,Z,Y)},truncate:($,Z,Y=50,X="...")=>{if($===void 0||$===null)return"";let J=String($);if(J.length<=Y)return J;if(Y<=X.length)return X.substring(0,Y);return J.substring(0,Y-X.length)+X},date:($,Z,Y="short",X="en-US")=>{if($===void 0||$===null)return"";try{let J=$ instanceof Date?$:new Date($);if(Number.isNaN(J.getTime()))return String($);let Q={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 J.toISOString();return new Intl.DateTimeFormat(X,Q[Y]||Q.short).format(J)}catch{return String($)}},currency:($,Z,Y="USD",X="en-US")=>{if($===void 0||$===null)return"";try{let J=Number($);if(Number.isNaN(J))return String($);return new Intl.NumberFormat(X,{style:"currency",currency:Y}).format(J)}catch{return String($)}},pluralize:($,Z,Y,X)=>{let J=Number($);if(Number.isNaN(J))return Y;let Q=X||`${Y}s`;return J===1?Y:Q},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 J=Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(J,"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 J=10**Y;return Math.round(X*J)/J}}});class k5{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 k1($,Z){if(Z?.includes("g"))return new RegExp($,Z);let Y=`${$}:${Z||""}`;if(!E1.has(Y)){if(E1.size>=FG){let X=E1.keys().next().value;if(X)E1.delete(X)}E1.set(Y,new RegExp($,Z))}return E1.get(Y)}function QO(){E1.clear()}class VG{cache=new Map;maxSize;ttl;constructor($=1000,Z=300000){this.maxSize=$,this.ttl=Z}get($){let Z=this.cache.get($);if(!Z)return null;if(Date.now()-Z.timestamp>this.ttl)return this.cache.delete($),null;return Z.result}set($,Z,Y=new Set){if(this.cache.size>=this.maxSize){let X=this.cache.keys().next().value;if(X)this.cache.delete(X)}this.cache.set($,{result:Z,timestamp:Date.now(),dependencies:Y})}invalidateDependency($){let Z=0;for(let[Y,X]of this.cache.entries())if(X.dependencies.has($))this.cache.delete(Y),Z++;return Z}clear(){this.cache.clear()}getStats(){return{size:this.cache.size,maxSize:this.maxSize}}}function GO($,Z){let Y;return(...X)=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{$(...X)},Z)}}function KO($,Z){let Y=0,X;return(...J)=>{let Q=Date.now();if(Q-Y>=Z)Y=Q,X=$(...J);return X}}function zO($,Z=100){let Y=new Map;return(...X)=>{let J;try{J=JSON.stringify(X)}catch{return $(...X)}if(Y.has(J))return Y.get(J);if(Y.size>=Z){let G=Y.keys().next().value;if(G)Y.delete(G)}let Q=$(...X);return Y.set(J,Q),Q}}function qO($,Z,Y,X){if(typeof Z==="string"){let J=k1(Z,X);if(typeof Y==="string"&&X?.includes("i")){let Q=Y;return $.replace(J,(G)=>{if(G===G.toUpperCase()&&G!==G.toLowerCase())return Q.toUpperCase();else if(G[0]===G[0].toUpperCase()&&G[0]!==G[0].toLowerCase())return Q[0].toUpperCase()+Q.slice(1).toLowerCase();else return Q.toLowerCase()})}return $.replace(J,Y)}return $.replace(Z,Y)}class u9{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 J=this.fnCache,Q=this.fnCacheMaxSize,G=(...K)=>{return(z)=>{try{let q=`${Y}:${z}`,U=J.get(q);if(!U){if(J.size>=Q){let W=J.keys().next().value;if(W)J.delete(W)}U=Function(...Z,`
658
+ `)}var D9,a1,H7,YG,E9,XG,S9,I9=65536;var R0=P(()=>{D9={maxSanitizeDepth:10,allowBracketNotation:!1},a1={...D9};H7=[/\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/],YG=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"]),E9=new Set(["__proto__","constructor","prototype"]),XG=/[\w)\]]\s*\[\s*['"]/;S9=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 oH(){b9=0,H$.clear()}function O$($,Z){let Y=b9++,X=`<!--__STX_${$.toUpperCase()}_${Y}__-->`;return H$.set(X,{type:$,expression:Z}),X}function sH(){let $={};for(let[Z,Y]of H$)$[Z]={type:Y.type,expression:Y.expression};return $}function rH($){let Z={},Y=/<!--__STX_(EXPR|COND|RAW)_(\d+)__-->/g,X;while((X=Y.exec($))!==null){let J=X[0],Q=X[1].toLowerCase(),G=H$.get(J);Z[J]={type:Q,expression:G?.expression||""}}return Z}function aH($,Z){let Y=$;for(let[X,J]of Z)Y=Y.split(X).join(J);return Y}function tH($){return $.includes("<!--__STX_")}var b9=0,H$;var y9=P(()=>{H$=new Map});function C9($,Z,Y,X){Y.lastIndex=Z;let J=Y.exec($);if(!J||J.index!==Z)return-1;X.lastIndex=Y.lastIndex;let Q=X.exec($);if(!Q)return-1;return Q.index+Q[0].length}function L$($,Z){return C9($,Z,KG,zG)}function P9($,Z){return C9($,Z,qG,UG)}function v9($,Z){if(!$.startsWith("<!--",Z))return-1;let Y=$.indexOf("-->",Z+4);if(Y===-1)return-1;return Y+3}function I5($,Z,Y){let X=[],J="",Q=0,G=$.length,K=!1,z=null;while(Q<G){let q=$[Q];if(K){if(J+=q,z){if(q===z)z=null}else if(q==='"'||q==="'")z=q;else if(q===">")K=!1;Q++;continue}if(q==="<"){let U=Z($,Q);if(U>Q){J+=Y($.slice(Q,U),X.length),X.push($.slice(Q,U)),Q=U;continue}if(/^<\/?[a-zA-Z]/.test($.slice(Q,Q+2)))K=!0;J+=q,Q++;continue}J+=q,Q++}return{output:J,tokens:X}}function F$($){let{output:Z,tokens:Y}=I5($,L$,(X,J)=>`\x00STX_SCRIPT_${J}\x00`);return{output:Z,scripts:Y}}function V$($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Y,X)=>Z[+X]??"")}var KG,zG,qG,UG;var w$=P(()=>{KG=/<script\b[^>]*>/iy,zG=/<\/script\s*>/ig,qG=/<style\b[^>]*>/iy,UG=/<\/style\s*>/ig});var L7={};p(L7,{usesSignalsInScript:()=>t1,unescapeHtml:()=>O7,registerFilters:()=>_G,registerFilter:()=>g9,processExpressions:()=>a0,interpolateScriptsInTemplate:()=>jG,interpolateScriptExpressions:()=>d9,getAllFilters:()=>h9,evaluateExpression:()=>h0,escapeHtml:()=>m0,defaultFilters:()=>E5,clearCustomFilters:()=>BG,applyFilters:()=>m9});function WG($){let Z=x9.get($);if(!Z){let Y=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${Y}(?!\\w)`,"g"),x9.set($,Z)}return Z.lastIndex=0,Z}function g9($,Z){if($ in E5)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);D5[$]=Z}function _G($){for(let[Z,Y]of Object.entries($))g9(Z,Y)}function h9(){return{...E5,...D5}}function BG(){for(let $ of Object.keys(D5))delete D5[$]}function m0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function t1($){let Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,Y;while((Y=Z.exec($))!==null){let X=Y[1];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(X))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 f9($,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,""),J="",Q=!1,G=0;for(let q=0;q<X.length;q++){let U=X[q];if(!Q&&U==="`"){Q=!0,G=0;continue}if(Q){if(U==="`"&&G===0){Q=!1;continue}if(U==="$"&&X[q+1]==="{"){G++,q++;continue}if(U==="}"&&G>0){G--;continue}continue}J+=U}X=J;let K=/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,z;while((z=K.exec(X))!==null){let q=z[1];if(!X.substring(0,z.index).trimEnd().endsWith(".")){if(!Y.includes(q)&&!(q in Z))return!1}}return!0}function d9($,Z){let Y=$;return Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(X,J)=>{try{let Q=h0(J,Z);if(Q===void 0)return X;return Q===null?"":String(Q)}catch{return X}}),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(X,J)=>{let Q=J.trim();if(/^__[A-Z_]+__$/.test(Q))return X;try{let G=h0(J,Z);if(G===void 0)return X;return JSON.stringify(G)}catch{return X}}),Y}function jG($,Z,Y={}){return $.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,(X,J,Q)=>{if(/\bsrc\s*=/.test(J))return X;if(/\bdata-raw\b/.test(J))return X;if(/\btype\s*=\s*["']application\/json["']/.test(J))return X;if(Y.skipServer&&/\bserver\b/.test(J))return X;let G=d9(Q,Z);return`<script${J}>${G}</script>`})}function a0($,Z,Y,X){let J=$,Q=(U,W)=>{let _=P9(U,W);if(_===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(U.slice(W,_))?-1:_},G=(U,W,_,B)=>{let j=_.length,{output:H,tokens:L}=I5(U,W,(F,O)=>B(j+O));return _.push(...L),H},K=[];J=G(J,Q,K,(U)=>`<!--__STX_STYLE_${U}__-->`);let z=[];J=G(J,L$,z,(U)=>`<!--__STX_SCRIPT_EXPR_${U}__-->`);let q=X?.forceSignals===!0||t1($);J=J.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(U,W,_)=>{try{let B=h0(W,Z);return B!==void 0&&B!==null?String(B):""}catch(B){let j=B instanceof Error?B.message:String(B);return J0("Expression",`Error evaluating: {{{ ${W.trim()}}}}: ${j}`,Y,$,_,U)}}),J=J.replace(/\{!!([\s\S]*?)!!\}/g,(U,W,_)=>{try{let B=h0(W,Z);if(B===void 0&&Z.__stx_buildMode==="compile")return O$("raw",W.trim());return B!==void 0&&B!==null?String(B):""}catch(B){if(Z.__stx_buildMode==="compile")return O$("raw",W.trim());let j=B instanceof Error?B.message:String(B);return J0("Expression",`Error evaluating: {!! ${W.trim()} !!}: ${j}`,Y,$,_,U)}}),J=G(J,L$,z,(U)=>`<!--__STX_SCRIPT_EXPR_${U}__-->`),J=G(J,Q,K,(U)=>`<!--__STX_STYLE_${U}__-->`),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(U,W,_)=>{let B=W.trim(),j=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],H=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,F=B.match(H)?.[1],O=F&&((F in Z)||j.includes(F)),V=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,A=B.match(V),w=A&&!j.includes(A[1])&&!(A[1]in Z);if(/^__[A-Z_]+__$/.test(B))return"";try{let R=h0(W,Z);if(R===void 0&&q&&!f9(B,Z))return U;if(R===void 0&&Z.__stx_buildMode==="compile"&&!q)return O$("expr",B);return R!==void 0&&R!==null?m0(String(R)):""}catch(R){if(q&&!f9(B,Z))return U;if(w)return U;let N=R instanceof Error?R.message:String(R);return J0("Expression",`Error evaluating: {{ ${B} }}: ${N}`,Y,$,_,U)}});for(let U=0;U<z.length;U++)J=J.replace(`<!--__STX_SCRIPT_EXPR_${U}__-->`,()=>z[U]);for(let U=0;U<K.length;U++)J=J.replace(`<!--__STX_STYLE_${U}__-->`,()=>K[U]);return J}function m9($,Z,Y){if(!Z.trim())return $;let X=$,J=Z.trim();while(J.length>0){let Q=J.match(/^(\w+)/);if(!Q)break;let G=Q[1];J=J.substring(G.length).trim();let K=D5[G]||E5[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(h9()).join(", ")}`);let z=[];if(J.startsWith(":")){let q=J.match(/^:([^|\s]+)/);if(q){let U=q[1].trim();try{let W=Number(U);z=[Number.isNaN(W)?U:W]}catch{z=[U]}J=J.substring(q[0].length).trim()}}else if(J.startsWith("(")){let q=1,U=1;while(q>0&&U<J.length){if(J[U]==="(")q++;if(J[U]===")")q--;U++}if(q===0){let W=J.substring(1,U-1).trim();if(W)try{if(W.startsWith("{")&&W.endsWith("}"))z=[h0(`(${W})`,Y,!0)];else{let _=[],B="",j=null,H=0,L=0,F=0,O=!1;for(let V=0;V<W.length;V++){let A=W[V];if(O){B+=A,O=!1;continue}if(A==="\\"){B+=A,O=!0;continue}if(j){if(B+=A,A===j)j=null;continue}if(A==='"'||A==="'"||A==="`"){j=A,B+=A;continue}if(A==="(")H++;else if(A===")")H--;else if(A==="[")L++;else if(A==="]")L--;else if(A==="{")F++;else if(A==="}")F--;if(A===","&&H===0&&L===0&&F===0){_.push(B),B="";continue}B+=A}if(B)_.push(B);z=_.map((V)=>{let A=V.trim();return h0(A,Y,!0)})}}catch{z=[W]}J=J.substring(U).trim()}}try{X=K(X,Y,...z)}catch(q){let U=q instanceof Error?q.message:String(q);throw Error(`Error applying filter '${G}': ${U}`)}if(J.startsWith("|"))J=J.substring(1).trim();else break}return X}function HG($){let Z=!1,Y="",X=0,J=0,Q=0,G=!1;for(let K=0;K<$.length;K++){let z=$[K],q=$[K+1];if(Z&&G){G=!1;continue}if(Z&&z==="\\"){G=!0;continue}if(G=!1,(z==='"'||z==="'"||z==="`")&&!G){if(!Z)Z=!0,Y=z;else if(z===Y)Z=!1,Y="";continue}if(Z&&Y==="`"&&z==="$"&&q==="{"){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(z==="(")X++;else if(z===")")X--;else if(z==="[")J++;else if(z==="]")J--;else if(z==="{")Q++;else if(z==="}")Q--;if(z==="|"&&X===0&&J===0&&Q===0){if(q==="|"){K++;continue}if(q==="="){K++;continue}return K}}return-1}function h0($,Z,Y=!1){try{let X=$.trim(),J=HG(X);if(J>0){let Q=X.substring(0,J).trim(),G=X.substring(J+1).trim(),K=h0(Q,Z,!0);return m9(K,G,Z)}if(!$0(X)){if(!Y)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${X}`);return e(X,Z)}try{let Q=Object.keys(Z),G=Object.values(Z);return Z0(X,Q)(...G)}catch{return e(X,Z)}}catch(X){if(X instanceof ReferenceError){let J=/(\b\w+)\s+is not defined/.exec(X.message);if(J){let Q=J[1],G=OG(Q,Object.keys(Z));if(G&&G!==Q)X.message=`${X.message} \u2014 did you mean '${G}'?`}}if(!Y)console.error(`Error evaluating expression: ${$}`,X);throw X}}function OG($,Z){let Y=null;for(let J of Z){if(J===$)continue;let Q=LG($,J);if(Y===null||Q<Y.dist)Y={key:J,dist:Q}}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 LG($,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,$],J=Array(Y.length+1),Q=Array(Y.length+1);for(let G=0;G<=Y.length;G++)J[G]=G;for(let G=1;G<=X.length;G++){Q[0]=G;for(let K=1;K<=Y.length;K++){let z=Y[K-1]===X[G-1]?0:1;Q[K]=Math.min(Q[K-1]+1,J[K]+1,J[K-1]+z)}for(let K=0;K<=Y.length;K++)J[K]=Q[K]}return J[Y.length]}function O7($){if(!$)return"";return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var D5,x9,E5;var u0=P(()=>{R0();F0();y9();w$();D5={},x9=new Map;E5={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 m0(String($))},translate:($,Z,Y={})=>{if(!Z||!Z.__translations)return $;let X=Z.__translations,J=Z.__i18nConfig?.fallbackToKey??!0,Q=String($).split("."),G=X;for(let z of Q){if(G===void 0||G===null)break;G=G[z]}if(G===void 0||G===null)return J?$:"";let K=String(G);return Object.entries(Y).forEach(([z,q])=>{K=K.replace(WG(z),String(q))}),K},t:($,Z,Y={})=>{return E5.translate($,Z,Y)},truncate:($,Z,Y=50,X="...")=>{if($===void 0||$===null)return"";let J=String($);if(J.length<=Y)return J;if(Y<=X.length)return X.substring(0,Y);return J.substring(0,Y-X.length)+X},date:($,Z,Y="short",X="en-US")=>{if($===void 0||$===null)return"";try{let J=$ instanceof Date?$:new Date($);if(Number.isNaN(J.getTime()))return String($);let Q={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 J.toISOString();return new Intl.DateTimeFormat(X,Q[Y]||Q.short).format(J)}catch{return String($)}},currency:($,Z,Y="USD",X="en-US")=>{if($===void 0||$===null)return"";try{let J=Number($);if(Number.isNaN(J))return String($);return new Intl.NumberFormat(X,{style:"currency",currency:Y}).format(J)}catch{return String($)}},pluralize:($,Z,Y,X)=>{let J=Number($);if(Number.isNaN(J))return Y;let Q=X||`${Y}s`;return J===1?Y:Q},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 J=Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(J,"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 J=10**Y;return Math.round(X*J)/J}}});class k5{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 k1($,Z){if(Z?.includes("g"))return new RegExp($,Z);let Y=`${$}:${Z||""}`;if(!E1.has(Y)){if(E1.size>=FG){let X=E1.keys().next().value;if(X)E1.delete(X)}E1.set(Y,new RegExp($,Z))}return E1.get(Y)}function QO(){E1.clear()}class VG{cache=new Map;maxSize;ttl;constructor($=1000,Z=300000){this.maxSize=$,this.ttl=Z}get($){let Z=this.cache.get($);if(!Z)return null;if(Date.now()-Z.timestamp>this.ttl)return this.cache.delete($),null;return Z.result}set($,Z,Y=new Set){if(this.cache.size>=this.maxSize){let X=this.cache.keys().next().value;if(X)this.cache.delete(X)}this.cache.set($,{result:Z,timestamp:Date.now(),dependencies:Y})}invalidateDependency($){let Z=0;for(let[Y,X]of this.cache.entries())if(X.dependencies.has($))this.cache.delete(Y),Z++;return Z}clear(){this.cache.clear()}getStats(){return{size:this.cache.size,maxSize:this.maxSize}}}function GO($,Z){let Y;return(...X)=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{$(...X)},Z)}}function KO($,Z){let Y=0,X;return(...J)=>{let Q=Date.now();if(Q-Y>=Z)Y=Q,X=$(...J);return X}}function zO($,Z=100){let Y=new Map;return(...X)=>{let J;try{J=JSON.stringify(X)}catch{return $(...X)}if(Y.has(J))return Y.get(J);if(Y.size>=Z){let G=Y.keys().next().value;if(G)Y.delete(G)}let Q=$(...X);return Y.set(J,Q),Q}}function qO($,Z,Y,X){if(typeof Z==="string"){let J=k1(Z,X);if(typeof Y==="string"&&X?.includes("i")){let Q=Y;return $.replace(J,(G)=>{if(G===G.toUpperCase()&&G!==G.toLowerCase())return Q.toUpperCase();else if(G[0]===G[0].toUpperCase()&&G[0]!==G[0].toLowerCase())return Q[0].toUpperCase()+Q.slice(1).toLowerCase();else return Q.toLowerCase()})}return $.replace(J,Y)}return $.replace(Z,Y)}class u9{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 J=this.fnCache,Q=this.fnCacheMaxSize,G=(...K)=>{return(z)=>{try{let q=`${Y}:${z}`,U=J.get(q);if(!U){if(J.size>=Q){let W=J.keys().next().value;if(W)J.delete(W)}U=Function(...Z,`
659
659
  'use strict';
660
660
  try {
661
661
  return ${z};
@@ -666,7 +666,7 @@ catch (e) {
666
666
  }
667
667
  throw e;
668
668
  }
669
- `),J.set(q,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 l9{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(),J=performance.now()-Y;return this.recordTime($,J),this.checkBudget($,J),X}async timeAsync($,Z){if(!this.enabled)return Z();let Y=performance.now(),X=await Z(),J=performance.now()-Y;return this.recordTime($,J),this.checkBudget($,J),X}checkBudget($,Z){let Y=this.budgets.get($);if(!Y)return;let X=Z/Y.maxTime*100,J=Y.warnThreshold!==void 0?Z>=Y.maxTime*Y.warnThreshold&&Z<Y.maxTime:!1,Q=Z>=Y.maxTime;if(!J&&!Q)return;let G={label:$,actualTime:Z,budgetTime:Y.maxTime,exceedancePercent:X,timestamp:new Date,isWarning:J};this.violations.push(G);while(this.violations.length>this.maxViolations)this.violations.shift();for(let z of this.violationHandlers)try{z(G)}catch{}let K=J?`[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(Q)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 J=this.budgets.get(Y);Z[Y]={count:X.count,avgTime:X.totalTime/X.count,totalTime:X.totalTime,maxTime:X.maxTime,minTime:X.minTime,budget:J?.maxTime,budgetUtilization:J?X.totalTime/X.count/J.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 p9(){if(!A$)A$=new l9;return A$}function WO($=p9()){$.setBudgets(wG)}function _O(){A$=null}var E1,FG=500,UO,wG,A$=null,c9;var e1=C(()=>{E1=new Map;UO=new u9;wG={processDirectives:{maxTime:500,warnThreshold:0.8,action:"warn"},processTemplate:{maxTime:200,warnThreshold:0.8,action:"warn"},processIncludes:{maxTime:100,warnThreshold:0.8,action:"warn"},processLoops:{maxTime:50,warnThreshold:0.8,action:"warn"},processConditionals:{maxTime:50,warnThreshold:0.8,action:"warn"},processExpressions:{maxTime:100,warnThreshold:0.8,action:"warn"},renderComponent:{maxTime:150,warnThreshold:0.8,action:"warn"},buildWebComponents:{maxTime:1000,warnThreshold:0.8,action:"warn"}};c9=new Proxy({},{get($,Z){return p9()[Z]}})});function S5($,Z){return`${z0[Z]}${$}${z0.reset}`}function jO($){return S5($,"green")}function HO($){return S5($,"yellow")}function OO($){return S5($,"red")}function LO($){return S5($,"cyan")}function FO($){return S5($,"gray")}var z0;var i9=C(()=>{z0={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"}});import{getRouterScript as n9}from"stx-router";var o9=C(()=>{F7()});async function AG($,Z,Y,X){let J=Z[0]?.replace(/['"]/g,"")||"main",Q=n9();if(J!=="main")Q=Q.replace("container:'main'",`container:'${J}'`);return`<script data-stx-router>${Q}</script>`}var s9;var F7=C(()=>{o9();s9={name:"stxRouter",handler:AG,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function r9($){let Z=$.heatmap;if(!Z?.enabled)return"";let Y={...RG,...Z};return`
669
+ `),J.set(q,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 l9{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(),J=performance.now()-Y;return this.recordTime($,J),this.checkBudget($,J),X}async timeAsync($,Z){if(!this.enabled)return Z();let Y=performance.now(),X=await Z(),J=performance.now()-Y;return this.recordTime($,J),this.checkBudget($,J),X}checkBudget($,Z){let Y=this.budgets.get($);if(!Y)return;let X=Z/Y.maxTime*100,J=Y.warnThreshold!==void 0?Z>=Y.maxTime*Y.warnThreshold&&Z<Y.maxTime:!1,Q=Z>=Y.maxTime;if(!J&&!Q)return;let G={label:$,actualTime:Z,budgetTime:Y.maxTime,exceedancePercent:X,timestamp:new Date,isWarning:J};this.violations.push(G);while(this.violations.length>this.maxViolations)this.violations.shift();for(let z of this.violationHandlers)try{z(G)}catch{}let K=J?`[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(Q)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 J=this.budgets.get(Y);Z[Y]={count:X.count,avgTime:X.totalTime/X.count,totalTime:X.totalTime,maxTime:X.maxTime,minTime:X.minTime,budget:J?.maxTime,budgetUtilization:J?X.totalTime/X.count/J.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 p9(){if(!A$)A$=new l9;return A$}function WO($=p9()){$.setBudgets(wG)}function _O(){A$=null}var E1,FG=500,UO,wG,A$=null,c9;var e1=P(()=>{E1=new Map;UO=new u9;wG={processDirectives:{maxTime:500,warnThreshold:0.8,action:"warn"},processTemplate:{maxTime:200,warnThreshold:0.8,action:"warn"},processIncludes:{maxTime:100,warnThreshold:0.8,action:"warn"},processLoops:{maxTime:50,warnThreshold:0.8,action:"warn"},processConditionals:{maxTime:50,warnThreshold:0.8,action:"warn"},processExpressions:{maxTime:100,warnThreshold:0.8,action:"warn"},renderComponent:{maxTime:150,warnThreshold:0.8,action:"warn"},buildWebComponents:{maxTime:1000,warnThreshold:0.8,action:"warn"}};c9=new Proxy({},{get($,Z){return p9()[Z]}})});function S5($,Z){return`${z0[Z]}${$}${z0.reset}`}function jO($){return S5($,"green")}function HO($){return S5($,"yellow")}function OO($){return S5($,"red")}function LO($){return S5($,"cyan")}function FO($){return S5($,"gray")}var z0;var i9=P(()=>{z0={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"}});import{getRouterScript as n9}from"stx-router";var o9=P(()=>{F7()});async function AG($,Z,Y,X){let J=Z[0]?.replace(/['"]/g,"")||"main",Q=n9();if(J!=="main")Q=Q.replace("container:'main'",`container:'${J}'`);return`<script data-stx-router>${Q}</script>`}var s9;var F7=P(()=>{o9();s9={name:"stxRouter",handler:AG,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function r9($){let Z=$.heatmap;if(!Z?.enabled)return"";let Y={...RG,...Z};return`
670
670
  <!-- stx Heatmap - Privacy-Compliant Tracking -->
671
671
  <script>
672
672
  (function() {
@@ -1049,7 +1049,7 @@ else {
1049
1049
  };
1050
1050
  })();
1051
1051
  </script>
1052
- `}function a9($,Z){let Y=r9(Z);if(!Y)return $;let X=$.lastIndexOf("</body>");if(X!==-1)return $.slice(0,X)+Y+$.slice(X);return $+Y}function NG($){let Z={},Y=$.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let X of Y){let[J,Q]=X.split("="),G=Q?.replace(/["']/g,"");switch(J){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}class e9{sessions=new Map;addSession($){let Z=this.sessions.get($.sid);if(Z)Z.points.push(...$.points),Z.lastActivity=Math.max(Z.lastActivity,$.lastActivity);else this.sessions.set($.sid,$)}getPageData($){let Z=[];for(let Y of this.sessions.values())if(Y.page===$)Z.push(...Y.points);return Z}getClickData($){return this.getPageData($).filter((Z)=>Z.type==="click")}getMovementData($){return this.getPageData($).filter((Z)=>Z.type==="move")}getScrollData($){let Z=this.getPageData($).filter((X)=>X.type==="scroll"),Y=new Map;for(let X of Z)if(X.depth!==void 0)Y.set(X.depth,(Y.get(X.depth)||0)+1);return Array.from(Y.entries()).map(([X,J])=>({depth:X,count:J})).sort((X,J)=>X.depth-J.depth)}getZoneStats($){let Z=new Map,Y=this.getPageData($);for(let X of Y)if(X.zone){let J=Z.get(X.zone)||{clicks:0,hovers:0};if(X.type==="click")J.clicks++;else if(X.type==="move")J.hovers++;Z.set(X.zone,J)}return Z}generateGridData($,Z=20){let Y=this.getPageData($),X=[];for(let Q=0;Q<Z;Q++){X[Q]=[];for(let G=0;G<Z;G++)X[Q][G]=0}for(let Q of Y){let G=Math.min(Math.floor(Q.x/100*Z),Z-1),K=Math.min(Math.floor(Q.y/100*Z),Z-1);X[K][G]+=Q.type==="click"?3:1}let J=0;for(let Q of X)for(let G of Q)J=Math.max(J,G);return X.map((Q,G)=>Q.map((K,z)=>({x:z,y:G,intensity:J>0?K/J:0})))}exportJSON(){return JSON.stringify({sessions:Array.from(this.sessions.values()),exportedAt:new Date().toISOString()},null,2)}clear(){this.sessions.clear()}get sessionCount(){return this.sessions.size}get totalPoints(){let $=0;for(let Z of this.sessions.values())$+=Z.points.length;return $}}function MO(){return new e9}var RG,t9;var V7=C(()=>{RG={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};t9={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async($,Z,Y,X)=>{let J=Y.__stx_config||{};if(Z.length>0){let Q=NG(Z.join(" "));J.heatmap={...J.heatmap,...Q,enabled:!0}}return r9(J)}}});function q1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function $8($){let Z=$.trim().toLowerCase();return!Z.startsWith("javascript:")&&!Z.startsWith("vbscript:")&&!Z.startsWith("data:text/html")}function Z8($){let Z=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,Y=$.match(Z);if(!Y)return{data:{},content:$.trim()};let X=Y[1],J=$.slice(Y[0].length),Q={};for(let G of X.split(`
1052
+ `}function a9($,Z){let Y=r9(Z);if(!Y)return $;let X=$.lastIndexOf("</body>");if(X!==-1)return $.slice(0,X)+Y+$.slice(X);return $+Y}function NG($){let Z={},Y=$.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let X of Y){let[J,Q]=X.split("="),G=Q?.replace(/["']/g,"");switch(J){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}class e9{sessions=new Map;addSession($){let Z=this.sessions.get($.sid);if(Z)Z.points.push(...$.points),Z.lastActivity=Math.max(Z.lastActivity,$.lastActivity);else this.sessions.set($.sid,$)}getPageData($){let Z=[];for(let Y of this.sessions.values())if(Y.page===$)Z.push(...Y.points);return Z}getClickData($){return this.getPageData($).filter((Z)=>Z.type==="click")}getMovementData($){return this.getPageData($).filter((Z)=>Z.type==="move")}getScrollData($){let Z=this.getPageData($).filter((X)=>X.type==="scroll"),Y=new Map;for(let X of Z)if(X.depth!==void 0)Y.set(X.depth,(Y.get(X.depth)||0)+1);return Array.from(Y.entries()).map(([X,J])=>({depth:X,count:J})).sort((X,J)=>X.depth-J.depth)}getZoneStats($){let Z=new Map,Y=this.getPageData($);for(let X of Y)if(X.zone){let J=Z.get(X.zone)||{clicks:0,hovers:0};if(X.type==="click")J.clicks++;else if(X.type==="move")J.hovers++;Z.set(X.zone,J)}return Z}generateGridData($,Z=20){let Y=this.getPageData($),X=[];for(let Q=0;Q<Z;Q++){X[Q]=[];for(let G=0;G<Z;G++)X[Q][G]=0}for(let Q of Y){let G=Math.min(Math.floor(Q.x/100*Z),Z-1),K=Math.min(Math.floor(Q.y/100*Z),Z-1);X[K][G]+=Q.type==="click"?3:1}let J=0;for(let Q of X)for(let G of Q)J=Math.max(J,G);return X.map((Q,G)=>Q.map((K,z)=>({x:z,y:G,intensity:J>0?K/J:0})))}exportJSON(){return JSON.stringify({sessions:Array.from(this.sessions.values()),exportedAt:new Date().toISOString()},null,2)}clear(){this.sessions.clear()}get sessionCount(){return this.sessions.size}get totalPoints(){let $=0;for(let Z of this.sessions.values())$+=Z.points.length;return $}}function MO(){return new e9}var RG,t9;var V7=P(()=>{RG={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};t9={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async($,Z,Y,X)=>{let J=Y.__stx_config||{};if(Z.length>0){let Q=NG(Z.join(" "));J.heatmap={...J.heatmap,...Q,enabled:!0}}return r9(J)}}});function q1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function $8($){let Z=$.trim().toLowerCase();return!Z.startsWith("javascript:")&&!Z.startsWith("vbscript:")&&!Z.startsWith("data:text/html")}function Z8($){let Z=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,Y=$.match(Z);if(!Y)return{data:{},content:$.trim()};let X=Y[1],J=$.slice(Y[0].length),Q={};for(let G of X.split(`
1053
1053
  `)){let K=G.trim();if(!K||K.startsWith("#"))continue;let z=K.indexOf(":");if(z===-1)continue;let q=K.slice(0,z).trim(),U=K.slice(z+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)}Q[q]=U}return{data:Q,content:J.trim()}}function b5($,Z={}){let{gfm:Y=!0,breaks:X=!1}=Z,J=$,Q=[];if(J=J.replace(/```(\w*)\n([\s\S]*?)```/g,(U,W,_)=>{let B=Q.length,j=W?` class="language-${q1(W)}"`:"";return Q.push(`<pre><code${j}>${q1(_.trim())}</code></pre>`),`\x00CODEBLOCK${B}\x00`}),J=J.replace(/`([^`]*)`/g,(U,W)=>`<code>${q1(W)}</code>`),J=J.replace(/^######\s+(.*)$/gm,"<h6>$1</h6>"),J=J.replace(/^#####\s+(.*)$/gm,"<h5>$1</h5>"),J=J.replace(/^####\s+(.*)$/gm,"<h4>$1</h4>"),J=J.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),J=J.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),J=J.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),J=J.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),J=J.replace(/___(.+?)___/g,"<strong><em>$1</em></strong>"),J=J.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),J=J.replace(/__(.+?)__/g,"<strong>$1</strong>"),J=J.replace(/\*(.+?)\*/g,"<em>$1</em>"),J=J.replace(/(?<![a-zA-Z0-9])_(.+?)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),Y)J=J.replace(/~~(.+?)~~/g,"<del>$1</del>");if(J=J.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(U,W,_)=>{return`<img src="${$8(_)?q1(_):""}" alt="${q1(W)}" />`}),J=J.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(U,W,_)=>{return`<a href="${$8(_)?q1(_):""}">${W}</a>`}),J=J.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),J=J.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),J=J.replace(/<\/blockquote>\n<blockquote>/g,`
1054
1054
  `),J=J.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),J=J.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),J=J.replace(/<\/ul>\n<ul>/g,""),J=J.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),J=J.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),J=J.replace(/<\/ol>\n<ol>/g,""),J=J.replace(/<li data-ul>/g,"<li>"),J=J.replace(/<li data-ol>/g,"<li>"),Y)J=J.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(U,W,_)=>{let j=`<tr>${W.split("|").map((L)=>L.trim()).filter(Boolean).map((L)=>`<th>${q1(L)}</th>`).join("")}</tr>`,H=_.trim().split(`
1055
1055
  `).map((L)=>{return`<tr>${L.split("|").map((O)=>O.trim()).filter(Boolean).map((O)=>`<td>${q1(O)}</td>`).join("")}</tr>`}).join(`
@@ -1068,8 +1068,8 @@ ${H}
1068
1068
  `)}</p>`);if(J=K.join(`
1069
1069
  `),X)J=J.replace(/\n/g,`<br />
1070
1070
  `);for(let U=0;U<Q.length;U++)J=J.replace(`\x00CODEBLOCK${U}\x00`,Q[U]);return J=J.replace(/<p>\s*<\/p>/g,""),J.trim()}var TG={};p(TG,{processMarkdownDirectives:()=>w7,markdownDirectiveHandler:()=>A7});async function w7($,Z,Y=""){let X=$,J=[],Q=/@markdown(?:\([^)]*\))?/g,G;while((G=Q.exec($))!==null){let K=G.index,z=G[0].match(/@markdown\(([^)]*)\)/),q=z?z[1]:"",U=K+G[0].length,W=1,_=U,B=-1;while(W>0&&_<$.length){let L=$.indexOf("@markdown",_),F=$.indexOf("@endmarkdown",_);if(F===-1)break;if(L!==-1&&L<F&&L!==K){let O=$[L+9];if(O==="("||O===`
1071
- `||O==="\r"||O===" "||O===void 0)W++;_=L+9}else{if(W--,W===0){B=F;break}_=F+12}}if(B===-1)continue;let j=$.slice(U,B),H=$.slice(K,B+12);J.push({fullMatch:H,options:q,content:j,index:K}),Q.lastIndex=B+12}for(let{fullMatch:K,options:z,content:q,index:U}of J)try{let W={};if(z)z.split(",").forEach((j)=>{let H=j.trim();if(H)W[H]=!0});let _={gfm:W.gfm??!0,breaks:W.breaks??!1},B=b5(q.trim(),_);X=X.split(K).join(B)}catch(W){let _=W instanceof Error?W.message:String(W),B=J0("Markdown Directive",`Error processing markdown: ${_}`,Y,$,U,K);X=X.split(K).join(B)}return X}async function A7($,Z,Y,X){let J={gfm:!0,breaks:!1};return Z.forEach((Q)=>{let G=Q.trim().replace(/['"]/g,"");if(G==="breaks")J.breaks=!0;if(G==="no-gfm")J.gfm=!1}),b5($.trim(),J)}var R7=C(()=>{F0()});function y5($,Z=S1,Y={},X){return Z.sort((J,Q)=>J-Q).map((J)=>{return`${U1($,{...Y,w:J,fm:X})} ${J}w`}).join(", ")}function SO($,Z=320,Y=2560,X=0.08,J={},Q){let G=IG(Z,Y,X);return y5($,G,J,Q)}function IG($,Z,Y=0.08){let X=[],J=$;while(J<Z)X.push(Math.round(J)),J*=1+Y*2;if(X[X.length-1]!==Z)X.push(Z);return X}function N7($,Z,Y=Y8,X={},J){return Y.sort((Q,G)=>Q-G).map((Q)=>{let G=Math.round(Z*Q);return`${U1($,{...X,w:G,dpr:Q,fm:J})} ${Q}x`}).join(", ")}function bO($,Z,Y=Y8,X=80,J={},Q){let G={1:X,1.5:Math.round(X*0.9),2:Math.round(X*0.8),3:Math.round(X*0.7),4:Math.round(X*0.6),5:Math.round(X*0.5)};return Y.sort((K,z)=>K-z).map((K)=>{let z=Math.round(Z*K),q=G[K]||Math.round(X*Math.max(0.5,1-K*0.1));return`${U1($,{...J,w:z,q,dpr:K,fm:Q})} ${K}x`}).join(", ")}function T7($,Z="100vw"){if(!$||Object.keys($).length===0)return Z;let X=Object.entries($).map(([J,Q])=>{let G=/^\d+$/.test(J)?`${J}px`:J;return{bp:G,size:Q,numericBp:Number.parseInt(G)||0}}).sort((J,Q)=>J.numericBp-Q.numericBp).map(({bp:J,size:Q})=>`(max-width: ${J}) ${Q}`);return X.push(Z),X.join(", ")}function yO($,Z="100vw"){if(!$||$.length===0)return Z;let X=[...$].sort((J,Q)=>(J.maxWidth||0)-(Q.maxWidth||0)).filter((J)=>J.maxWidth).map((J)=>`(max-width: ${J.maxWidth}px) ${J.imageWidth}`);return X.push(Z),X.join(", ")}function U1($,Z={}){let Y=Object.entries(Z).filter(([,Q])=>Q!==void 0&&Q!==null).map(([Q,G])=>{if(Array.isArray(G))return[Q,G.join(",")];return[Q,String(G)]});if(Y.length===0)return $;let X=Y.map(([Q,G])=>`${Q}=${encodeURIComponent(G)}`).join("&"),J=$.includes("?")?"&":"?";return`${$}${J}${X}`}function PO($){let[Z,Y]=$.split("?"),X={};if(Y)new URLSearchParams(Y).forEach((Q,G)=>{if(/^\d+$/.test(Q))X[G]=Number.parseInt(Q,10);else if(/^\d+\.\d+$/.test(Q))X[G]=Number.parseFloat(Q);else if(Q==="true")X[G]=!0;else if(Q==="false")X[G]=!1;else X[G]=Q});return{src:Z,params:X}}function vO($){let{src:Z,widths:Y,dprValues:X,fixedWidth:J,formats:Q=$5,baseUrl:G="",params:K={}}=$,z=[];for(let q of Q){let U,W;if(J!==void 0&&X)U=N7(Z,J,X,K,q),W=X.map((_)=>({path:"",url:U1(Z,{...K,w:Math.round(J*_),fm:q}),width:Math.round(J*_),height:0,format:q,size:0,dpr:_}));else{let _=Y||S1;U=y5(Z,_,K,q),W=_.map((B)=>({path:"",url:U1(Z,{...K,w:B,fm:q}),width:B,height:0,format:q,size:0}))}z.push({srcset:U,format:q,mimeType:X8[q],variants:W})}return z}function xO($,Z="100vw"){return $.map(({srcset:Y,mimeType:X})=>`<source type="${X}" srcset="${Y}" sizes="${Z}" />`).join(`
1072
- `)}function fO($,Z){if($.length===0)return;let Y=[...$].sort((J,Q)=>J.width-Q.width),X=Y.find((J)=>J.width>=Z);if(X)return X;return Y[Y.length-1]}function gO($,Z){let Y=Z?$.filter((J)=>J.format===Z):$;if(Y.length===0){let J=$.filter((G)=>G.format==="jpeg"),Q=J.length>0?J:$;return Q[Math.floor(Q.length/2)]}let X=Y.sort((J,Q)=>J.width-Q.width);return X[Math.floor(X.length/2)]}function hO($){let Z=new Map;for(let Y of $){let X=Z.get(Y.format)||[];X.push(Y),Z.set(Y.format,X)}return Z}function M7($){return X8[$]||"application/octet-stream"}function dO($){return MG[$]||$}function mO($){switch($.split(".").pop()?.toLowerCase()){case"jpg":case"jpeg":return"jpeg";case"png":return"png";case"webp":return"webp";case"avif":return"avif";case"gif":return"gif";default:return}}var S1,Y8,$5,X8,MG,CO;var I7=C(()=>{S1=[320,480,640,768,1024,1280,1536,1920,2560],Y8=[1,1.5,2,3],$5=["avif","webp","jpeg"],X8={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"},MG={avif:"avif",webp:"webp",jpeg:"jpg",png:"png",gif:"gif"};CO={fullWidth:"100vw",halfDesktop:"(max-width: 768px) 100vw, 50vw",thirdDesktop:"(max-width: 768px) 100vw, 33.33vw",quarterDesktop:"(max-width: 480px) 100vw, (max-width: 768px) 50vw, 25vw",contentWidth:"(max-width: 768px) 100vw, (max-width: 1200px) 80vw, 960px"}});async function E7(){try{return await import("ts-images")}catch{return null}}async function J8($,Z={}){let Y={...DG,...Z},X=await E7();if(X)try{return await EG($,Y,X)}catch(J){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${J}`)}return Q8($,Y)}async function EG($,Z,Y){let{generatePlaceholder:X,generateThumbHash:J}=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 J($)).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 Q8($,Z){let Y=Z.width||20,X=Z.height||Y,J="#e5e7eb",Q=`<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(Q)}`,width:Y,height:X,aspectRatio:Y/X,originalWidth:0,originalHeight:0,strategy:Z.strategy,dominantColor:"#e5e7eb"}}async function lO($){let Z=await E7();if(Z)try{return(await Z.generateThumbHash($)).dataUrl}catch{}return(await Q8($,{strategy:"thumbhash",width:32,height:32})).dataURL}function pO($){let Z=$[0]|$[1]<<8|$[2]<<16,Y=(Z&63)/63,X=(Z>>6&63)/31.5-1,J=(Z>>12&63)/31.5-1,Q=(Z>>18&31)/31,G=Z>>23!==0,K=$[3]|$[4]<<8,z=(K>>3&63)/63,q=(K>>9&63)/63,U=K>>15!==0,W=Math.max(3,U?G?5:7:G?5:7),_=Math.max(3,U?G?5:7:G?5:7),B=32,j=32,H=Math.max(0,Math.min(255,Math.round((Y+X)*255))),L=Math.max(0,Math.min(255,Math.round(Y*255))),F=Math.max(0,Math.min(255,Math.round((Y-X)*255))),O=`<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32">
1071
+ `||O==="\r"||O===" "||O===void 0)W++;_=L+9}else{if(W--,W===0){B=F;break}_=F+12}}if(B===-1)continue;let j=$.slice(U,B),H=$.slice(K,B+12);J.push({fullMatch:H,options:q,content:j,index:K}),Q.lastIndex=B+12}for(let{fullMatch:K,options:z,content:q,index:U}of J)try{let W={};if(z)z.split(",").forEach((j)=>{let H=j.trim();if(H)W[H]=!0});let _={gfm:W.gfm??!0,breaks:W.breaks??!1},B=b5(q.trim(),_);X=X.split(K).join(B)}catch(W){let _=W instanceof Error?W.message:String(W),B=J0("Markdown Directive",`Error processing markdown: ${_}`,Y,$,U,K);X=X.split(K).join(B)}return X}async function A7($,Z,Y,X){let J={gfm:!0,breaks:!1};return Z.forEach((Q)=>{let G=Q.trim().replace(/['"]/g,"");if(G==="breaks")J.breaks=!0;if(G==="no-gfm")J.gfm=!1}),b5($.trim(),J)}var R7=P(()=>{F0()});function y5($,Z=S1,Y={},X){return Z.sort((J,Q)=>J-Q).map((J)=>{return`${U1($,{...Y,w:J,fm:X})} ${J}w`}).join(", ")}function SO($,Z=320,Y=2560,X=0.08,J={},Q){let G=IG(Z,Y,X);return y5($,G,J,Q)}function IG($,Z,Y=0.08){let X=[],J=$;while(J<Z)X.push(Math.round(J)),J*=1+Y*2;if(X[X.length-1]!==Z)X.push(Z);return X}function N7($,Z,Y=Y8,X={},J){return Y.sort((Q,G)=>Q-G).map((Q)=>{let G=Math.round(Z*Q);return`${U1($,{...X,w:G,dpr:Q,fm:J})} ${Q}x`}).join(", ")}function bO($,Z,Y=Y8,X=80,J={},Q){let G={1:X,1.5:Math.round(X*0.9),2:Math.round(X*0.8),3:Math.round(X*0.7),4:Math.round(X*0.6),5:Math.round(X*0.5)};return Y.sort((K,z)=>K-z).map((K)=>{let z=Math.round(Z*K),q=G[K]||Math.round(X*Math.max(0.5,1-K*0.1));return`${U1($,{...J,w:z,q,dpr:K,fm:Q})} ${K}x`}).join(", ")}function T7($,Z="100vw"){if(!$||Object.keys($).length===0)return Z;let X=Object.entries($).map(([J,Q])=>{let G=/^\d+$/.test(J)?`${J}px`:J;return{bp:G,size:Q,numericBp:Number.parseInt(G)||0}}).sort((J,Q)=>J.numericBp-Q.numericBp).map(({bp:J,size:Q})=>`(max-width: ${J}) ${Q}`);return X.push(Z),X.join(", ")}function yO($,Z="100vw"){if(!$||$.length===0)return Z;let X=[...$].sort((J,Q)=>(J.maxWidth||0)-(Q.maxWidth||0)).filter((J)=>J.maxWidth).map((J)=>`(max-width: ${J.maxWidth}px) ${J.imageWidth}`);return X.push(Z),X.join(", ")}function U1($,Z={}){let Y=Object.entries(Z).filter(([,Q])=>Q!==void 0&&Q!==null).map(([Q,G])=>{if(Array.isArray(G))return[Q,G.join(",")];return[Q,String(G)]});if(Y.length===0)return $;let X=Y.map(([Q,G])=>`${Q}=${encodeURIComponent(G)}`).join("&"),J=$.includes("?")?"&":"?";return`${$}${J}${X}`}function PO($){let[Z,Y]=$.split("?"),X={};if(Y)new URLSearchParams(Y).forEach((Q,G)=>{if(/^\d+$/.test(Q))X[G]=Number.parseInt(Q,10);else if(/^\d+\.\d+$/.test(Q))X[G]=Number.parseFloat(Q);else if(Q==="true")X[G]=!0;else if(Q==="false")X[G]=!1;else X[G]=Q});return{src:Z,params:X}}function vO($){let{src:Z,widths:Y,dprValues:X,fixedWidth:J,formats:Q=$5,baseUrl:G="",params:K={}}=$,z=[];for(let q of Q){let U,W;if(J!==void 0&&X)U=N7(Z,J,X,K,q),W=X.map((_)=>({path:"",url:U1(Z,{...K,w:Math.round(J*_),fm:q}),width:Math.round(J*_),height:0,format:q,size:0,dpr:_}));else{let _=Y||S1;U=y5(Z,_,K,q),W=_.map((B)=>({path:"",url:U1(Z,{...K,w:B,fm:q}),width:B,height:0,format:q,size:0}))}z.push({srcset:U,format:q,mimeType:X8[q],variants:W})}return z}function xO($,Z="100vw"){return $.map(({srcset:Y,mimeType:X})=>`<source type="${X}" srcset="${Y}" sizes="${Z}" />`).join(`
1072
+ `)}function fO($,Z){if($.length===0)return;let Y=[...$].sort((J,Q)=>J.width-Q.width),X=Y.find((J)=>J.width>=Z);if(X)return X;return Y[Y.length-1]}function gO($,Z){let Y=Z?$.filter((J)=>J.format===Z):$;if(Y.length===0){let J=$.filter((G)=>G.format==="jpeg"),Q=J.length>0?J:$;return Q[Math.floor(Q.length/2)]}let X=Y.sort((J,Q)=>J.width-Q.width);return X[Math.floor(X.length/2)]}function hO($){let Z=new Map;for(let Y of $){let X=Z.get(Y.format)||[];X.push(Y),Z.set(Y.format,X)}return Z}function M7($){return X8[$]||"application/octet-stream"}function dO($){return MG[$]||$}function mO($){switch($.split(".").pop()?.toLowerCase()){case"jpg":case"jpeg":return"jpeg";case"png":return"png";case"webp":return"webp";case"avif":return"avif";case"gif":return"gif";default:return}}var S1,Y8,$5,X8,MG,CO;var I7=P(()=>{S1=[320,480,640,768,1024,1280,1536,1920,2560],Y8=[1,1.5,2,3],$5=["avif","webp","jpeg"],X8={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"},MG={avif:"avif",webp:"webp",jpeg:"jpg",png:"png",gif:"gif"};CO={fullWidth:"100vw",halfDesktop:"(max-width: 768px) 100vw, 50vw",thirdDesktop:"(max-width: 768px) 100vw, 33.33vw",quarterDesktop:"(max-width: 480px) 100vw, (max-width: 768px) 50vw, 25vw",contentWidth:"(max-width: 768px) 100vw, (max-width: 1200px) 80vw, 960px"}});async function E7(){try{return await import("ts-images")}catch{return null}}async function J8($,Z={}){let Y={...DG,...Z},X=await E7();if(X)try{return await EG($,Y,X)}catch(J){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${J}`)}return Q8($,Y)}async function EG($,Z,Y){let{generatePlaceholder:X,generateThumbHash:J}=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 J($)).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 Q8($,Z){let Y=Z.width||20,X=Z.height||Y,J="#e5e7eb",Q=`<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(Q)}`,width:Y,height:X,aspectRatio:Y/X,originalWidth:0,originalHeight:0,strategy:Z.strategy,dominantColor:"#e5e7eb"}}async function lO($){let Z=await E7();if(Z)try{return(await Z.generateThumbHash($)).dataUrl}catch{}return(await Q8($,{strategy:"thumbhash",width:32,height:32})).dataURL}function pO($){let Z=$[0]|$[1]<<8|$[2]<<16,Y=(Z&63)/63,X=(Z>>6&63)/31.5-1,J=(Z>>12&63)/31.5-1,Q=(Z>>18&31)/31,G=Z>>23!==0,K=$[3]|$[4]<<8,z=(K>>3&63)/63,q=(K>>9&63)/63,U=K>>15!==0,W=Math.max(3,U?G?5:7:G?5:7),_=Math.max(3,U?G?5:7:G?5:7),B=32,j=32,H=Math.max(0,Math.min(255,Math.round((Y+X)*255))),L=Math.max(0,Math.min(255,Math.round(Y*255))),F=Math.max(0,Math.min(255,Math.round((Y-X)*255))),O=`<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32">
1073
1073
  <rect fill="rgb(${H},${L},${F})" width="32" height="32"/>
1074
1074
  </svg>`;return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(O)}`}async function cO($,Z=20,Y=50){return J8($,{strategy:"blur",width:Z,quality:Y,blurLevel:40})}async function iO($){let Z=await E7();if(Z)try{return(await Z.generatePlaceholder($,{strategy:"dominant-color"})).dominantColor||"#e5e7eb"}catch{}return"#e5e7eb"}function nO($,Z=1,Y=1){let X=`<svg xmlns="http://www.w3.org/2000/svg" width="${Z}" height="${Y}"><rect fill="${$}" width="${Z}" height="${Y}"/></svg>`;return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(X)}`}function G8($,Z,Y={}){let X=Y.transitionDuration||300,J=Y.easing||"ease-out";return`
1075
1075
  #${$} {
@@ -1088,7 +1088,7 @@ ${H}
1088
1088
  #${$}.stx-img-loaded img {
1089
1089
  opacity: 1;
1090
1090
  }
1091
- `.trim()}function oO($){return`background-image: url('${$.dataURL}'); background-size: cover; background-position: center;`}async function K8($,Z={}){let Y=`${$}:${JSON.stringify(Z)}`;if(Z5.has(Y))return Z5.get(Y);let X=await J8($,Z);return Z5.set(Y,X),X}function sO(){Z5.clear()}function rO(){return{size:Z5.size,keys:Array.from(Z5.keys())}}var DG,D7,Z5;var z8=C(()=>{DG={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},D7=`
1091
+ `.trim()}function oO($){return`background-image: url('${$.dataURL}'); background-size: cover; background-position: center;`}async function K8($,Z={}){let Y=`${$}:${JSON.stringify(Z)}`;if(Z5.has(Y))return Z5.get(Y);let X=await J8($,Z);return Z5.set(Y,X),X}function sO(){Z5.clear()}function rO(){return{size:Z5.size,keys:Array.from(Z5.keys())}}var DG,D7,Z5;var z8=P(()=>{DG={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},D7=`
1092
1092
  .stx-img-placeholder {
1093
1093
  position: relative;
1094
1094
  overflow: hidden;
@@ -1117,8 +1117,8 @@ ${H}
1117
1117
  filter: blur(0);
1118
1118
  transform: scale(1);
1119
1119
  }
1120
- `.trim();Z5=new Map});import{createHash as k7}from"crypto";import{readFile as kG,stat as U8}from"fs/promises";async function M0($){try{let Z=await kG($);return k7("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function $L($){return k7("sha256").update($).digest("hex").slice(0,16)}function q8($){return k7("sha256").update($).digest("hex").slice(0,16)}function R$($,Z){let Y=JSON.stringify(Z,Object.keys(Z).sort());return`${q8($)}-${q8(Y)}`}async function S7($){try{return(await U8($)).mtimeMs}catch{return 0}}async function T0($){try{return await U8($),!0}catch{return!1}}var b1=()=>{};import{mkdir as SG,readFile as _8,writeFile as bG,readdir as B8,rm as b7,stat as yG}from"fs/promises";import{join as Y5,dirname as CG}from"path";async function PG($){try{await SG($,{recursive:!0})}catch{}}function j8($,Z,Y){return Y5($,Y,`${Z}.json`)}async function W8($,Z,Y){if((Date.now()-$.createdAt)/86400000>Y)return!1;if(await S7(Z)!==$.srcMtime)return!1;return!0}async function N$($,Z,Y,X=X5){if(!X.enabled)return null;let J=R$($,Z),Q=t0.get(J);if(Q){if(await W8(Q,$,X.maxAge))return Q.lastAccessedAt=Date.now(),Q.data;t0.delete(J)}let G=j8(X.directory,J,Y);if(await T0(G))try{let K=await _8(G,"utf-8"),z=JSON.parse(K);if(await W8(z,$,X.maxAge))return z.lastAccessedAt=Date.now(),t0.set(J,z),z.data}catch{}return null}async function T$($,Z,Y,X,J=X5){if(!J.enabled)return;let Q=R$($,Z),G=await M0($),K=await S7($),z={key:Q,src:$,srcHash:G,srcMtime:K,optionsHash:R$("",Z),data:Y,createdAt:Date.now(),lastAccessedAt:Date.now()};t0.set(Q,z);let q=j8(J.directory,Q,X);try{await PG(CG(q)),await bG(q,JSON.stringify(z,null,2))}catch(U){console.warn(`[stx-media] Failed to write cache: ${U}`)}}async function QL($,Z,Y=X5){for(let[X,J]of t0.entries())if(J.src===$)t0.delete(X)}async function M$($,Z=X5){if($==="all")t0.clear();else t0.clear();let Y=$==="all"?["image","video"]:[$];for(let X of Y){let J=Y5(Z.directory,X);try{await b7(J,{recursive:!0,force:!0})}catch{}}}async function GL($=X5){let Z={memoryEntries:t0.size,diskEntries:{image:0,video:0},totalSizeMB:0};for(let Y of["image","video"]){let X=Y5($.directory,Y);try{let J=await B8(X);Z.diskEntries[Y]=J.length;for(let Q of J){let G=Y5(X,Q),K=await yG(G);Z.totalSizeMB+=K.size/1048576}}catch{}}return Z}async function KL($=X5){let Z=0,Y=$.maxAge*24*60*60*1000;for(let X of["image","video"]){let J=Y5($.directory,X);try{let Q=await B8(J);for(let G of Q){let K=Y5(J,G);try{let z=await _8(K,"utf-8"),q=JSON.parse(z);if(Date.now()-q.createdAt>Y)await b7(K),t0.delete(q.key),Z++}catch{await b7(K).catch(()=>{}),Z++}}}catch{}}return Z}var t0,X5;var y7=C(()=>{b1();t0=new Map,X5={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class D${config;constructor($={}){this.config={...vG,...$}}async get($,Z){return N$($,Z,"image",this.config)}async set($,Z,Y){return T$($,Z,Y,"image",this.config)}async clear(){return M$("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function C7($){if(!I$)I$=new D$($);else if($)I$.updateConfig($);return I$}async function E$($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return C7(X).get($,Z)}async function k$($,Z,Y,X){let J=X?{directory:`${X.outputDir}/../.cache`}:{};return C7(J).set($,Z,Y)}async function H8(){return C7().clear()}var vG,I$=null;var P7=C(()=>{y7();vG={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as xG,basename as fG,extname as gG,join as hG}from"path";import{mkdir as dG}from"fs/promises";async function v7(){try{return await import("ts-images")}catch{return null}}function O8($){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 mG($,Z){let Y=Z?O8(Z):O8("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 L8($,Z,Y){let X=await v7();if(!X)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let J=await E$($,Z,Y);if(J)return J;try{let Q=xG($);if(!await T0(Q))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=mG(Y,Z.preset),K=Y.outputDir||"dist/images",z=Y.baseUrl||"/images";await dG(K,{recursive:!0});let q=await M0(Q),U=fG($,gG($)),W=Z.outputFormat?[Z.outputFormat]:Y.defaultFormats||["avif","webp","jpeg"],_={src:$,processed:!0,variants:[],hash:q},B=null;if(Z.transformations&&Z.transformations.length>0)B=await x7(Q,Z.transformations,X);for(let j of W){let H=G[j]||{},L=`${U}-${q}.${j}`,F=hG(K,L);try{let O=await X.optimizeImage({input:B||Q,output:F,format:j,quality:H.quality,progressive:H.progressive});if(O){if(_.variants.push({path:F,url:`${z}/${L}`,width:O.width||0,height:O.height||0,format:j,size:O.outputSize||0}),!_.originalWidth&&O.width)_.originalWidth=O.width,_.originalHeight=O.height}}catch(O){_.errors=_.errors||[],_.errors.push(`Failed to optimize ${j}: ${O}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let j=await X.generateThumbHash(Q);_.placeholder=j.dataUrl}catch(j){_.errors=_.errors||[],_.errors.push(`Failed to generate thumbhash: ${j}`)}if(Z.useDominantColor)try{let j=await X.generatePlaceholder(Q,{strategy:"dominant-color"});_.dominantColor=j.dominantColor}catch(j){_.errors=_.errors||[],_.errors.push(`Failed to extract dominant color: ${j}`)}return await k$($,Z,_,Y),_}catch(Q){return{src:$,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function F8($,Z,Y,X){let J=await v7();if(!J)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await J.optimizeImage({input:$,output:X,format:Z,quality:Y}))?.outputSize}}catch(Q){return{success:!1,error:String(Q)}}}async function x7($,Z,Y){let X=Y||await v7();if(!X)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let J=await X.decode($);for(let Q of Z){let G=Q.options||{};switch(Q.type){case"resize":if(G.width||G.height)J=await X.resize(J,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)J=await X.blur(J,G.sigma);break;case"sharpen":if(G.amount!==void 0)J=await X.sharpen(J,G.amount);break;case"grayscale":J=await X.grayscale(J);break;case"rotate":if(G.angle!==void 0)J=await X.rotate(J,G.angle);break;case"flip":J=await X.flip(J);break;case"flop":J=await X.flop(J);break;case"brightness":if(G.value!==void 0)J=await X.brightness(J,G.value);break;case"contrast":if(G.value!==void 0)J=await X.contrast(J,G.value);break;case"saturation":if(G.value!==void 0)J=await X.saturation(J,G.value);break}}return await X.encode(J,"png")}catch(J){return console.error(`[stx-media] Transformation failed: ${J}`),null}}var V8=C(()=>{b1();P7()});import{resolve as uG,basename as lG,extname as pG,join as cG}from"path";import{mkdir as iG}from"fs/promises";async function nG(){try{return await import("ts-images")}catch{return null}}async function f7($,Z,Y){let X=await nG();if(!X)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=uG($);if(!await T0(J))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let Q=Z.responsiveWidths||Y.breakpoints||oG,G=Z.formats||Y.defaultFormats||["avif","webp","jpeg"],K=Y.outputDir||"dist/images",z=Y.baseUrl||"/images";await iG(K,{recursive:!0});let q=await M0(J),U=lG($,pG($)),W=Y.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},_={src:$,byFormat:{},srcsets:{}};for(let j of G){_.byFormat[j]=[];let H=[];for(let L of Q){let F=`${U}-${L}w-${q}.${j}`,O=cG(K,F),V=`${z}/${F}`;try{let A=W[j]?.quality||80;if(await T0(O)){_.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:J,output:O,format:j,quality:A,resize:{width:L}});if(w)_.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(A){console.warn(`[stx-media] Failed to generate ${j} at ${L}w: ${A}`)}}_.srcsets[j]=H.join(", ")}let B=Z.placeholder||Y.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let j=await X.generateThumbHash(J);_.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await X.generatePlaceholder(J,{strategy:B,width:20});_.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:B}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return _.sizes=Z.sizes||sG(Q),_}catch(Q){return console.error(`[stx-media] Responsive generation failed: ${Q}`),null}}function sG($){let Z=[...$].sort((X,J)=>X-J),Y=[];for(let X=0;X<Z.length-1;X++){let J=Z[X];Y.push(`(max-width: ${J}px) ${J}px`)}return Y.push(`${Z[Z.length-1]}px`),Y.join(", ")}function w8($,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(", ")}async function AL($,Z,Y){let X=[];for(let J of Z){let Q=await f7(J.src,{responsiveWidths:J.widths},Y);if(Q){for(let[G,K]of Object.entries(Q.srcsets))if(K)X.push({media:J.media,srcset:K,type:rG(G)})}}return X}function rG($){switch($){case"avif":return"image/avif";case"webp":return"image/webp";case"jpeg":return"image/jpeg";case"png":return"image/png";case"gif":return"image/gif";default:return"image/jpeg"}}var oG;var A8=C(()=>{b1();oG=[320,480,640,768,1024,1280,1536,1920]});var R8={};p(R8,{setCachedImageResult:()=>k$,processImage:()=>L8,optimizeImage:()=>F8,getCachedImageResult:()=>E$,generateSrcset:()=>w8,generateResponsiveVariants:()=>f7,clearImageCache:()=>H8,applyTransformations:()=>x7,ImageProcessorCache:()=>D$});var N8=C(()=>{V8();A8();P7()});async function aG(){try{return await Promise.resolve().then(() => (N8(),R8))}catch($){if(!T8)console.warn("[stx-media] Image processor not available, some features disabled:",$),T8=!0;return null}}async function C5($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipOptimization){if(Y.tsImagesConfig?.enabled&&!Y.isDev)return YK(X,Y)}if(Y.processedResult?.processed)return m7($,Y.processedResult,Z);if(Y.responsiveVariants)return E8($,Y.responsiveVariants,Z);let{src:J,alt:Q,width:G,height:K,sizes:z,widths:q=S1,dpr:U,formats:W=$5,quality:_=g7,params:B={},placeholder:j="none",placeholderOptions:H={},lazy:L=!0,priority:F=!1,loading:O=F?"eager":b$,decoding:V=S$,fetchpriority:A,objectFit:w,objectPosition:R,crossorigin:N,referrerpolicy:M}=$,T=$.class,I=$.style,D=$.id,E=$.data||{},{isDev:k=!1,baseUrl:S=""}=Z;if(k&&!Z.optimize)return $K($);let b,y,m=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!F)try{b=await K8(J,{strategy:j,...H}),y=G8(m,b,H)}catch{}let x=U!==void 0&&G!==void 0,h;if(x)h=eG($,m,b,Z);else h=await tG($,m,b,Z);let u;if(F){let H0=W.includes("webp")?"webp":W[0],k0=y5(J,q,{...B,q:_},H0),X0=typeof z==="object"?T7(z):z||"100vw";u=`<link rel="preload" as="image" imagesrcset="${k0}" imagesizes="${X0}" />`}let Q0=[];if(!M8&&j!=="none")Q0.push(D7),M8=!0;if(y)Q0.push(y);let E0=L?D8(m):void 0;return{html:h,preloadLink:u,css:Q0.length>0?Q0.join(`
1121
- `):void 0,script:E0}}async function tG($,Z,Y,X){let{src:J,alt:Q,width:G,height:K,sizes:z,widths:q=S1,formats:U=$5,quality:W=g7,params:_={},lazy:B=!0,priority:j=!1,loading:H=j?"eager":b$,decoding:L=S$,fetchpriority:F,objectFit:O,objectPosition:V,crossorigin:A,referrerpolicy:w}=$,R=$.class,N=$.style,M=$.data||{},T=typeof z==="object"?T7(z):z||"100vw",I=[];for(let k of U){let S=y5(J,q,{..._,q:W},k),b=M7(k);if(B&&!j)I.push(` <source type="${b}" data-srcset="${S}" data-sizes="${T}" />`);else I.push(` <source type="${b}" srcset="${S}" sizes="${T}" />`)}let D=h7({src:U1(J,{..._,q:W}),alt:Q,width:G,height:K,loading:j?void 0:H,decoding:L,fetchpriority:j?"high":F,objectFit:O,objectPosition:V,crossorigin:A,referrerpolicy:w,className:I8(R,Y),style:d7(N,O,V,Y),lazy:B&&!j,data:M}),E;if(Y){let k=`background-image: url('${Y.dataURL}'); background-size: cover; background-position: center;`;E=`<div id="${Z}" class="stx-img-placeholder" style="${k}">
1120
+ `.trim();Z5=new Map});import{createHash as k7}from"crypto";import{readFile as kG,stat as U8}from"fs/promises";async function I0($){try{let Z=await kG($);return k7("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function $L($){return k7("sha256").update($).digest("hex").slice(0,16)}function q8($){return k7("sha256").update($).digest("hex").slice(0,16)}function R$($,Z){let Y=JSON.stringify(Z,Object.keys(Z).sort());return`${q8($)}-${q8(Y)}`}async function S7($){try{return(await U8($)).mtimeMs}catch{return 0}}async function T0($){try{return await U8($),!0}catch{return!1}}var b1=()=>{};import{mkdir as SG,readFile as _8,writeFile as bG,readdir as B8,rm as b7,stat as yG}from"fs/promises";import{join as Y5,dirname as CG}from"path";async function PG($){try{await SG($,{recursive:!0})}catch{}}function j8($,Z,Y){return Y5($,Y,`${Z}.json`)}async function W8($,Z,Y){if((Date.now()-$.createdAt)/86400000>Y)return!1;if(await S7(Z)!==$.srcMtime)return!1;return!0}async function N$($,Z,Y,X=X5){if(!X.enabled)return null;let J=R$($,Z),Q=t0.get(J);if(Q){if(await W8(Q,$,X.maxAge))return Q.lastAccessedAt=Date.now(),Q.data;t0.delete(J)}let G=j8(X.directory,J,Y);if(await T0(G))try{let K=await _8(G,"utf-8"),z=JSON.parse(K);if(await W8(z,$,X.maxAge))return z.lastAccessedAt=Date.now(),t0.set(J,z),z.data}catch{}return null}async function T$($,Z,Y,X,J=X5){if(!J.enabled)return;let Q=R$($,Z),G=await I0($),K=await S7($),z={key:Q,src:$,srcHash:G,srcMtime:K,optionsHash:R$("",Z),data:Y,createdAt:Date.now(),lastAccessedAt:Date.now()};t0.set(Q,z);let q=j8(J.directory,Q,X);try{await PG(CG(q)),await bG(q,JSON.stringify(z,null,2))}catch(U){console.warn(`[stx-media] Failed to write cache: ${U}`)}}async function QL($,Z,Y=X5){for(let[X,J]of t0.entries())if(J.src===$)t0.delete(X)}async function M$($,Z=X5){if($==="all")t0.clear();else t0.clear();let Y=$==="all"?["image","video"]:[$];for(let X of Y){let J=Y5(Z.directory,X);try{await b7(J,{recursive:!0,force:!0})}catch{}}}async function GL($=X5){let Z={memoryEntries:t0.size,diskEntries:{image:0,video:0},totalSizeMB:0};for(let Y of["image","video"]){let X=Y5($.directory,Y);try{let J=await B8(X);Z.diskEntries[Y]=J.length;for(let Q of J){let G=Y5(X,Q),K=await yG(G);Z.totalSizeMB+=K.size/1048576}}catch{}}return Z}async function KL($=X5){let Z=0,Y=$.maxAge*24*60*60*1000;for(let X of["image","video"]){let J=Y5($.directory,X);try{let Q=await B8(J);for(let G of Q){let K=Y5(J,G);try{let z=await _8(K,"utf-8"),q=JSON.parse(z);if(Date.now()-q.createdAt>Y)await b7(K),t0.delete(q.key),Z++}catch{await b7(K).catch(()=>{}),Z++}}}catch{}}return Z}var t0,X5;var y7=P(()=>{b1();t0=new Map,X5={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class D${config;constructor($={}){this.config={...vG,...$}}async get($,Z){return N$($,Z,"image",this.config)}async set($,Z,Y){return T$($,Z,Y,"image",this.config)}async clear(){return M$("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function C7($){if(!I$)I$=new D$($);else if($)I$.updateConfig($);return I$}async function E$($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return C7(X).get($,Z)}async function k$($,Z,Y,X){let J=X?{directory:`${X.outputDir}/../.cache`}:{};return C7(J).set($,Z,Y)}async function H8(){return C7().clear()}var vG,I$=null;var P7=P(()=>{y7();vG={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as xG,basename as fG,extname as gG,join as hG}from"path";import{mkdir as dG}from"fs/promises";async function v7(){try{return await import("ts-images")}catch{return null}}function O8($){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 mG($,Z){let Y=Z?O8(Z):O8("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 L8($,Z,Y){let X=await v7();if(!X)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let J=await E$($,Z,Y);if(J)return J;try{let Q=xG($);if(!await T0(Q))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=mG(Y,Z.preset),K=Y.outputDir||"dist/images",z=Y.baseUrl||"/images";await dG(K,{recursive:!0});let q=await I0(Q),U=fG($,gG($)),W=Z.outputFormat?[Z.outputFormat]:Y.defaultFormats||["avif","webp","jpeg"],_={src:$,processed:!0,variants:[],hash:q},B=null;if(Z.transformations&&Z.transformations.length>0)B=await x7(Q,Z.transformations,X);for(let j of W){let H=G[j]||{},L=`${U}-${q}.${j}`,F=hG(K,L);try{let O=await X.optimizeImage({input:B||Q,output:F,format:j,quality:H.quality,progressive:H.progressive});if(O){if(_.variants.push({path:F,url:`${z}/${L}`,width:O.width||0,height:O.height||0,format:j,size:O.outputSize||0}),!_.originalWidth&&O.width)_.originalWidth=O.width,_.originalHeight=O.height}}catch(O){_.errors=_.errors||[],_.errors.push(`Failed to optimize ${j}: ${O}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let j=await X.generateThumbHash(Q);_.placeholder=j.dataUrl}catch(j){_.errors=_.errors||[],_.errors.push(`Failed to generate thumbhash: ${j}`)}if(Z.useDominantColor)try{let j=await X.generatePlaceholder(Q,{strategy:"dominant-color"});_.dominantColor=j.dominantColor}catch(j){_.errors=_.errors||[],_.errors.push(`Failed to extract dominant color: ${j}`)}return await k$($,Z,_,Y),_}catch(Q){return{src:$,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function F8($,Z,Y,X){let J=await v7();if(!J)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await J.optimizeImage({input:$,output:X,format:Z,quality:Y}))?.outputSize}}catch(Q){return{success:!1,error:String(Q)}}}async function x7($,Z,Y){let X=Y||await v7();if(!X)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let J=await X.decode($);for(let Q of Z){let G=Q.options||{};switch(Q.type){case"resize":if(G.width||G.height)J=await X.resize(J,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)J=await X.blur(J,G.sigma);break;case"sharpen":if(G.amount!==void 0)J=await X.sharpen(J,G.amount);break;case"grayscale":J=await X.grayscale(J);break;case"rotate":if(G.angle!==void 0)J=await X.rotate(J,G.angle);break;case"flip":J=await X.flip(J);break;case"flop":J=await X.flop(J);break;case"brightness":if(G.value!==void 0)J=await X.brightness(J,G.value);break;case"contrast":if(G.value!==void 0)J=await X.contrast(J,G.value);break;case"saturation":if(G.value!==void 0)J=await X.saturation(J,G.value);break}}return await X.encode(J,"png")}catch(J){return console.error(`[stx-media] Transformation failed: ${J}`),null}}var V8=P(()=>{b1();P7()});import{resolve as uG,basename as lG,extname as pG,join as cG}from"path";import{mkdir as iG}from"fs/promises";async function nG(){try{return await import("ts-images")}catch{return null}}async function f7($,Z,Y){let X=await nG();if(!X)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=uG($);if(!await T0(J))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let Q=Z.responsiveWidths||Y.breakpoints||oG,G=Z.formats||Y.defaultFormats||["avif","webp","jpeg"],K=Y.outputDir||"dist/images",z=Y.baseUrl||"/images";await iG(K,{recursive:!0});let q=await I0(J),U=lG($,pG($)),W=Y.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},_={src:$,byFormat:{},srcsets:{}};for(let j of G){_.byFormat[j]=[];let H=[];for(let L of Q){let F=`${U}-${L}w-${q}.${j}`,O=cG(K,F),V=`${z}/${F}`;try{let A=W[j]?.quality||80;if(await T0(O)){_.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:J,output:O,format:j,quality:A,resize:{width:L}});if(w)_.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(A){console.warn(`[stx-media] Failed to generate ${j} at ${L}w: ${A}`)}}_.srcsets[j]=H.join(", ")}let B=Z.placeholder||Y.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let j=await X.generateThumbHash(J);_.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await X.generatePlaceholder(J,{strategy:B,width:20});_.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:B}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return _.sizes=Z.sizes||sG(Q),_}catch(Q){return console.error(`[stx-media] Responsive generation failed: ${Q}`),null}}function sG($){let Z=[...$].sort((X,J)=>X-J),Y=[];for(let X=0;X<Z.length-1;X++){let J=Z[X];Y.push(`(max-width: ${J}px) ${J}px`)}return Y.push(`${Z[Z.length-1]}px`),Y.join(", ")}function w8($,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(", ")}async function AL($,Z,Y){let X=[];for(let J of Z){let Q=await f7(J.src,{responsiveWidths:J.widths},Y);if(Q){for(let[G,K]of Object.entries(Q.srcsets))if(K)X.push({media:J.media,srcset:K,type:rG(G)})}}return X}function rG($){switch($){case"avif":return"image/avif";case"webp":return"image/webp";case"jpeg":return"image/jpeg";case"png":return"image/png";case"gif":return"image/gif";default:return"image/jpeg"}}var oG;var A8=P(()=>{b1();oG=[320,480,640,768,1024,1280,1536,1920]});var R8={};p(R8,{setCachedImageResult:()=>k$,processImage:()=>L8,optimizeImage:()=>F8,getCachedImageResult:()=>E$,generateSrcset:()=>w8,generateResponsiveVariants:()=>f7,clearImageCache:()=>H8,applyTransformations:()=>x7,ImageProcessorCache:()=>D$});var N8=P(()=>{V8();A8();P7()});async function aG(){try{return await Promise.resolve().then(() => (N8(),R8))}catch($){if(!T8)console.warn("[stx-media] Image processor not available, some features disabled:",$),T8=!0;return null}}async function C5($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipOptimization){if(Y.tsImagesConfig?.enabled&&!Y.isDev)return YK(X,Y)}if(Y.processedResult?.processed)return m7($,Y.processedResult,Z);if(Y.responsiveVariants)return E8($,Y.responsiveVariants,Z);let{src:J,alt:Q,width:G,height:K,sizes:z,widths:q=S1,dpr:U,formats:W=$5,quality:_=g7,params:B={},placeholder:j="none",placeholderOptions:H={},lazy:L=!0,priority:F=!1,loading:O=F?"eager":b$,decoding:V=S$,fetchpriority:A,objectFit:w,objectPosition:R,crossorigin:N,referrerpolicy:M}=$,T=$.class,I=$.style,D=$.id,E=$.data||{},{isDev:k=!1,baseUrl:S=""}=Z;if(k&&!Z.optimize)return $K($);let b,C,m=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!F)try{b=await K8(J,{strategy:j,...H}),C=G8(m,b,H)}catch{}let f=U!==void 0&&G!==void 0,h;if(f)h=eG($,m,b,Z);else h=await tG($,m,b,Z);let u;if(F){let H0=W.includes("webp")?"webp":W[0],S0=y5(J,q,{...B,q:_},H0),X0=typeof z==="object"?T7(z):z||"100vw";u=`<link rel="preload" as="image" imagesrcset="${S0}" imagesizes="${X0}" />`}let Q0=[];if(!M8&&j!=="none")Q0.push(D7),M8=!0;if(C)Q0.push(C);let k0=L?D8(m):void 0;return{html:h,preloadLink:u,css:Q0.length>0?Q0.join(`
1121
+ `):void 0,script:k0}}async function tG($,Z,Y,X){let{src:J,alt:Q,width:G,height:K,sizes:z,widths:q=S1,formats:U=$5,quality:W=g7,params:_={},lazy:B=!0,priority:j=!1,loading:H=j?"eager":b$,decoding:L=S$,fetchpriority:F,objectFit:O,objectPosition:V,crossorigin:A,referrerpolicy:w}=$,R=$.class,N=$.style,M=$.data||{},T=typeof z==="object"?T7(z):z||"100vw",I=[];for(let k of U){let S=y5(J,q,{..._,q:W},k),b=M7(k);if(B&&!j)I.push(` <source type="${b}" data-srcset="${S}" data-sizes="${T}" />`);else I.push(` <source type="${b}" srcset="${S}" sizes="${T}" />`)}let D=h7({src:U1(J,{..._,q:W}),alt:Q,width:G,height:K,loading:j?void 0:H,decoding:L,fetchpriority:j?"high":F,objectFit:O,objectPosition:V,crossorigin:A,referrerpolicy:w,className:I8(R,Y),style:d7(N,O,V,Y),lazy:B&&!j,data:M}),E;if(Y){let k=`background-image: url('${Y.dataURL}'); background-size: cover; background-position: center;`;E=`<div id="${Z}" class="stx-img-placeholder" style="${k}">
1122
1122
  <picture>
1123
1123
  ${I.join(`
1124
1124
  `)}
@@ -1167,7 +1167,7 @@ ${I.join(`
1167
1167
 
1168
1168
  observer.observe(container);
1169
1169
  })();
1170
- `.trim()}function ZK($){let Z=$.match(/<Img\s+([^>]*?)\/?>/);if(!Z)return null;let Y=Z[1],X={},J=/(:?)(\w+)(?:=(?:"([^"]*)"|'([^']*)'|\{([^}]+)\}))?/g,Q;while((Q=J.exec(Y))!==null){let[,G,K,z,q,U]=Q,W=z??q??U??!0;if(G===":"&&typeof W==="string")try{X[K]=JSON.parse(W)}catch{X[K]=W}else switch(K){case"src":X.src=String(W);break;case"alt":X.alt=String(W);break;case"width":X.width=Number(W)||W;break;case"height":X.height=Number(W)||W;break;case"sizes":X.sizes=String(W);break;case"quality":X.quality=Number(W);break;case"placeholder":X.placeholder=W;break;case"lazy":X.lazy=W===!0||W==="true";break;case"priority":X.priority=W===!0||W==="true";break;case"class":X.class=String(W);break;case"style":X.style=String(W);break;case"id":X.id=String(W);break;case"loading":X.loading=W;break;case"decoding":X.decoding=W;break;case"fetchpriority":X.fetchpriority=W;break;case"objectFit":X.objectFit=W;break;case"objectPosition":X.objectPosition=String(W);break;case"crossorigin":X.crossorigin=W;break}}if(!X.src||!X.alt)return null;return X}async function EL($,Z={}){let Y=/<Img\s+[^>]*?\/?>/g,X=[],J=[],Q=[],G=$,K=[],z;while((z=Y.exec($))!==null)K.push({match:z[0],index:z.index});for(let q=K.length-1;q>=0;q--){let{match:U}=K[q],W=ZK(U);if(W){let _=await C5(W,Z);if(G=G.replace(U,_.html),_.preloadLink)X.push(_.preloadLink);if(_.css)J.push(_.css);if(_.script)Q.push(_.script)}}return{html:G,preloadLinks:X,styles:J,scripts:Q}}async function YK($,Z){let Y=await aG();if(!Y)return C5({...$,process:!1},Z);let X=Z.tsImagesConfig;if($.responsiveWidths&&$.responsiveWidths.length>0||$.widths&&$.widths.length>0||!$.width&&!$.dpr){let Q=await Y.generateResponsiveVariants($.src,$,X);if(Q)return E8($,Q,Z)}else{let Q=await Y.processImage($.src,$,X);if(Q.processed)return m7($,Q,Z)}return C5({...$,process:!1},Z)}async function m7($,Z,Y){let{alt:X,width:J,height:Q,lazy:G=!0,priority:K=!1,objectFit:z,objectPosition:q,crossorigin:U,referrerpolicy:W}=$,_=$.class,B=$.style,j=$.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,H=$.data||{},L=Z.variants||[],F=L.find((y)=>y.format==="jpeg")||L.find((y)=>y.format==="webp")||L[0],O=F?.url||$.src,V=L.filter((y)=>y.format===(F?.format||"jpeg")).map((y)=>`${y.url} ${y.width}w`).join(", "),A=new Map;for(let y of L){if(!A.has(y.format))A.set(y.format,[]);A.get(y.format).push(y)}let w=[],R=["avif","webp","jpeg","png"];for(let y of R){let m=A.get(y);if(m&&m.length>0){let x=m.map((u)=>`${u.url} ${u.width}w`).join(", "),h=M7(y);if(G&&!K)w.push(` <source type="${h}" data-srcset="${x}" />`);else w.push(` <source type="${h}" srcset="${x}" />`)}}let N=[];if(G&&!K){if(N.push(`data-src="${l0(O)}"`),N.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),V)N.push(`data-srcset="${V}"`)}else if(N.push(`src="${l0(O)}"`),V)N.push(`srcset="${V}"`);N.push(`alt="${l0(X)}"`);let M=J||Z.originalWidth,T=Q||Z.originalHeight;if(M)N.push(`width="${M}"`);if(T)N.push(`height="${T}"`);if(!K)N.push(`loading="${G?"lazy":"eager"}"`);if(N.push('decoding="async"'),K)N.push('fetchpriority="high"');if(U)N.push(`crossorigin="${U}"`);if(W)N.push(`referrerpolicy="${W}"`);let I=[];if(z)I.push(`object-fit: ${z}`);if(q)I.push(`object-position: ${q}`);if(Z.placeholder&&G)I.push("opacity: 0; transition: opacity 300ms ease-out");if(B)I.push(B);if(I.length>0)N.push(`style="${I.join("; ")}"`);let D=[];if(_)D.push(_);if(Z.placeholder)D.push("stx-img-blur");if(D.length>0)N.push(`class="${D.join(" ")}"`);if(G&&!K)N.push("data-stx-lazy");for(let[y,m]of Object.entries(H))N.push(`data-${y}="${l0(m)}"`);let E;if(Z.placeholder||Z.dominantColor&&$.useDominantColor){let y=Z.placeholder?`background-image: url('${Z.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${Z.dominantColor};`;E=`<div id="${j}" class="stx-img-placeholder" style="${y}">
1170
+ `.trim()}function ZK($){let Z=$.match(/<Img\s+([^>]*?)\/?>/);if(!Z)return null;let Y=Z[1],X={},J=/(:?)(\w+)(?:=(?:"([^"]*)"|'([^']*)'|\{([^}]+)\}))?/g,Q;while((Q=J.exec(Y))!==null){let[,G,K,z,q,U]=Q,W=z??q??U??!0;if(G===":"&&typeof W==="string")try{X[K]=JSON.parse(W)}catch{X[K]=W}else switch(K){case"src":X.src=String(W);break;case"alt":X.alt=String(W);break;case"width":X.width=Number(W)||W;break;case"height":X.height=Number(W)||W;break;case"sizes":X.sizes=String(W);break;case"quality":X.quality=Number(W);break;case"placeholder":X.placeholder=W;break;case"lazy":X.lazy=W===!0||W==="true";break;case"priority":X.priority=W===!0||W==="true";break;case"class":X.class=String(W);break;case"style":X.style=String(W);break;case"id":X.id=String(W);break;case"loading":X.loading=W;break;case"decoding":X.decoding=W;break;case"fetchpriority":X.fetchpriority=W;break;case"objectFit":X.objectFit=W;break;case"objectPosition":X.objectPosition=String(W);break;case"crossorigin":X.crossorigin=W;break}}if(!X.src||!X.alt)return null;return X}async function EL($,Z={}){let Y=/<Img\s+[^>]*?\/?>/g,X=[],J=[],Q=[],G=$,K=[],z;while((z=Y.exec($))!==null)K.push({match:z[0],index:z.index});for(let q=K.length-1;q>=0;q--){let{match:U}=K[q],W=ZK(U);if(W){let _=await C5(W,Z);if(G=G.replace(U,_.html),_.preloadLink)X.push(_.preloadLink);if(_.css)J.push(_.css);if(_.script)Q.push(_.script)}}return{html:G,preloadLinks:X,styles:J,scripts:Q}}async function YK($,Z){let Y=await aG();if(!Y)return C5({...$,process:!1},Z);let X=Z.tsImagesConfig;if($.responsiveWidths&&$.responsiveWidths.length>0||$.widths&&$.widths.length>0||!$.width&&!$.dpr){let Q=await Y.generateResponsiveVariants($.src,$,X);if(Q)return E8($,Q,Z)}else{let Q=await Y.processImage($.src,$,X);if(Q.processed)return m7($,Q,Z)}return C5({...$,process:!1},Z)}async function m7($,Z,Y){let{alt:X,width:J,height:Q,lazy:G=!0,priority:K=!1,objectFit:z,objectPosition:q,crossorigin:U,referrerpolicy:W}=$,_=$.class,B=$.style,j=$.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,H=$.data||{},L=Z.variants||[],F=L.find((C)=>C.format==="jpeg")||L.find((C)=>C.format==="webp")||L[0],O=F?.url||$.src,V=L.filter((C)=>C.format===(F?.format||"jpeg")).map((C)=>`${C.url} ${C.width}w`).join(", "),A=new Map;for(let C of L){if(!A.has(C.format))A.set(C.format,[]);A.get(C.format).push(C)}let w=[],R=["avif","webp","jpeg","png"];for(let C of R){let m=A.get(C);if(m&&m.length>0){let f=m.map((u)=>`${u.url} ${u.width}w`).join(", "),h=M7(C);if(G&&!K)w.push(` <source type="${h}" data-srcset="${f}" />`);else w.push(` <source type="${h}" srcset="${f}" />`)}}let N=[];if(G&&!K){if(N.push(`data-src="${l0(O)}"`),N.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),V)N.push(`data-srcset="${V}"`)}else if(N.push(`src="${l0(O)}"`),V)N.push(`srcset="${V}"`);N.push(`alt="${l0(X)}"`);let M=J||Z.originalWidth,T=Q||Z.originalHeight;if(M)N.push(`width="${M}"`);if(T)N.push(`height="${T}"`);if(!K)N.push(`loading="${G?"lazy":"eager"}"`);if(N.push('decoding="async"'),K)N.push('fetchpriority="high"');if(U)N.push(`crossorigin="${U}"`);if(W)N.push(`referrerpolicy="${W}"`);let I=[];if(z)I.push(`object-fit: ${z}`);if(q)I.push(`object-position: ${q}`);if(Z.placeholder&&G)I.push("opacity: 0; transition: opacity 300ms ease-out");if(B)I.push(B);if(I.length>0)N.push(`style="${I.join("; ")}"`);let D=[];if(_)D.push(_);if(Z.placeholder)D.push("stx-img-blur");if(D.length>0)N.push(`class="${D.join(" ")}"`);if(G&&!K)N.push("data-stx-lazy");for(let[C,m]of Object.entries(H))N.push(`data-${C}="${l0(m)}"`);let E;if(Z.placeholder||Z.dominantColor&&$.useDominantColor){let C=Z.placeholder?`background-image: url('${Z.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${Z.dominantColor};`;E=`<div id="${j}" class="stx-img-placeholder" style="${C}">
1171
1171
  <picture>
1172
1172
  ${w.join(`
1173
1173
  `)}
@@ -1178,11 +1178,11 @@ ${w.join(`
1178
1178
  `)}
1179
1179
  <img ${N.join(" ")} />
1180
1180
  </picture>`;let k=[];if(Z.placeholder)k.push(D7);let S=G?D8(j):void 0,b;if(K&&V)b=`<link rel="preload" as="image" imagesrcset="${V}" />`;return{html:E,preloadLink:b,css:k.length>0?k.join(`
1181
- `):void 0,script:S}}async function E8($,Z,Y){let X={src:Z.src,processed:!0,variants:[],placeholder:Z.placeholder?.dataURL,originalWidth:Z.placeholder?.width,originalHeight:Z.placeholder?.height};for(let[J,Q]of Object.entries(Z.byFormat))if(Q)X.variants.push(...Q);return m7($,X,Y)}var T8=!1,g7=80,S$="async",b$="lazy",M8=!1;var k8=C(()=>{I7();z8()});function XK(){return O0({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async($,Z,Y,X)=>{let{src:J,alt:Q,options:G}=JK($,Z,Y);if(!J)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let K={src:J,alt:Q||"",widths:G.widths||S1,formats:G.formats||$5,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},z=Y.__isDev||!1,q=await C5(K,{isDev:z}),U=q.html;if(q.preloadLink)U=q.preloadLink+`
1181
+ `):void 0,script:S}}async function E8($,Z,Y){let X={src:Z.src,processed:!0,variants:[],placeholder:Z.placeholder?.dataURL,originalWidth:Z.placeholder?.width,originalHeight:Z.placeholder?.height};for(let[J,Q]of Object.entries(Z.byFormat))if(Q)X.variants.push(...Q);return m7($,X,Y)}var T8=!1,g7=80,S$="async",b$="lazy",M8=!1;var k8=P(()=>{I7();z8()});function XK(){return O0({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async($,Z,Y,X)=>{let{src:J,alt:Q,options:G}=JK($,Z,Y);if(!J)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let K={src:J,alt:Q||"",widths:G.widths||S1,formats:G.formats||$5,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},z=Y.__isDev||!1,q=await C5(K,{isDev:z}),U=q.html;if(q.preloadLink)U=q.preloadLink+`
1182
1182
  `+U;if(q.css)U+=`
1183
1183
  <style>${q.css}</style>`;if(q.script)U+=`
1184
- <script>${q.script}</script>`;return U},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function JK($,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 J=QK(X),Q=u7(J[0],Y)||"",G=u7(J[1],Y)||"",K={};if(J[2]){let z=u7(J[2],Y);if(typeof z==="object"&&z!==null)K=z;else if(typeof J[2]==="string")try{K=JSON.parse(J[2])}catch{}}return{src:Q,alt:G,options:K}}function QK($){let Z=[],Y="",X=!1,J="",Q=0,G=0;for(let K=0;K<$.length;K++){let z=$[K],q=K>0?$[K-1]:"";if((z==='"'||z==="'"||z==="`")&&q!=="\\"){if(!X)X=!0,J=z;else if(z===J)X=!1,J="";else Y+=z;continue}if(!X){if(z==="{")Q++;if(z==="}")Q--;if(z==="[")G++;if(z==="]")G--;if(z===","&&Q===0&&G===0){Z.push(Y.trim()),Y="";continue}}Y+=z}if(Y.trim())Z.push(Y.trim());return Z}function u7($,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 S8;var b8=C(()=>{B7();k8();I7();S8=XK()});class C${config;constructor($={}){this.config={...GK,...$}}async get($,Z){return N$($,Z,"video",this.config)}async set($,Z,Y){return T$($,Z,Y,"video",this.config)}async clear(){return M$("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function l7($){if(!y$)y$=new C$($);else if($)y$.updateConfig($);return y$}async function P$($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return l7(X).get($,Z)}async function v$($,Z,Y,X){let J=X?{directory:`${X.outputDir}/../.cache`}:{};return l7(J).set($,Z,Y)}async function y8(){return l7().clear()}var GK,y$=null;var p7=C(()=>{y7();GK={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as c7,basename as i7,extname as n7,join as x$}from"path";import{mkdir as o7}from"fs/promises";async function s7(){try{return await import("ts-videos")}catch{return null}}async function f$($,Z,Y,X){let J=await s7();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let Q=c7($);if(!await T0(Q))return null;await o7(Y,{recursive:!0});let G=await M0(Q),K=i7($,n7($)),z=Z.format||"webp",q=Z.timestamp||0,U=`${K}-poster-${G}.${z}`,W=x$(Y,U),_=await J.extractThumbnails(Q,{timestamps:[q],width:Z.width||1280,height:Z.height,format:z,quality:Z.quality||85,outputDir:Y,outputPattern:U.replace(`.${z}`,"")});if(_&&_.length>0){let B=_[0];return{path:W,url:`${X}/${U}`,width:B.width||Z.width||1280,height:B.height||720,timestamp:q,size:B.size||0}}return null}catch(Q){return console.warn(`[stx-media] Failed to generate poster: ${Q}`),null}}async function g$($,Z,Y,X){let J=await s7();if(!J)return[];try{let Q=c7($);if(!await T0(Q))return[];await o7(Y,{recursive:!0});let G=await M0(Q),K=i7($,n7($)),z=Z.format||"webp",W=(await new J.Input(Q).getInfo()).duration||60,_=Z.count||10,B=Z.interval||W/_,j=[];for(let L=0;L<_&&L*B<W;L++)j.push(L*B);let H=await J.extractThumbnails(Q,{timestamps:j,width:Z.width||320,format:z,quality:Z.quality||80,outputDir:Y,outputPattern:`${K}-thumb-${G}`});if(H&&H.length>0)return H.map((L,F)=>({path:L.path||x$(Y,`${K}-thumb-${G}-${F}.${z}`),url:`${X}/${K}-thumb-${G}-${F}.${z}`,width:L.width||Z.width||320,height:L.height||180,timestamp:j[F],size:L.size||0}));return[]}catch(Q){return console.warn(`[stx-media] Failed to generate thumbnails: ${Q}`),[]}}async function C8($,Z,Y,X){let J=await s7();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let Q=c7($);if(!await T0(Q))return null;await o7(Y,{recursive:!0});let G=await M0(Q),K=i7($,n7($)),U=(await new J.Input(Q).getInfo()).duration||60,W=Z.columns||10,_=Z.interval||5,B=Z.thumbnailWidth||160,j=Z.thumbnailHeight||90,H=Z.format||"jpeg",L=Math.ceil(U/_),F=Math.ceil(L/W),O=`${K}-sprite-${G}.${H}`,V=x$(Y,O),A=[];for(let R=0;R<L;R++)A.push(R*_);let w=await J.extractThumbnails(Q,{timestamps:A,width:B,height:j,format:H,quality:Z.quality||70,outputDir:x$(Y,".temp")});if(!w||w.length===0)return null;try{let R=await import("ts-images"),N=W*B,M=F*j,T=await R.createSprite({images:w.map((I)=>I.path),columns:W,padding:0,outputPath:V,format:H,quality:Z.quality||70});return{url:`${X}/${O}`,path:V,columns:W,rows:F,thumbnailWidth:B,thumbnailHeight:j,interval:_,totalFrames:L}}catch{return console.warn("[stx-media] ts-images not installed, sprite sheet generation skipped"),null}}catch(Q){return console.warn(`[stx-media] Failed to generate sprite sheet: ${Q}`),null}}var r7=C(()=>{b1()});import{resolve as v8,basename as x8,extname as f8,join as y1}from"path";import{mkdir as h$,writeFile as g8}from"fs/promises";async function h8(){try{return await import("ts-videos")}catch{return null}}async function d$($,Z,Y,X,J){let Q=await h8();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let G=v8($);if(!await T0(G))return null;let K=await M0(G),z=x8($,f8($)),q=y1(Y,`${z}-${K}-hls`);await h$(q,{recursive:!0});let U=Z.length>0?Z:d8,W=J?.segmentDuration||6,j=(await new Q.Input(G).getInfo()).duration||0,H=[],L=0;for(let V of U){let A=y1(q,V.label);await h$(A,{recursive:!0});let w=`${V.label}.m3u8`,R=y1(A,w);try{let N=await Q.generateHLS(G,{outputDir:A,segmentDuration:W,width:V.width,height:V.height,videoBitrate:V.bitrate,audioBitrate:V.audioBitrate,playlistName:V.label});if(N)H.push({quality:V,url:`${X}/${z}-${K}-hls/${V.label}/${w}`,path:R}),L+=N.segmentCount||Math.ceil(j/W)}catch(N){console.warn(`[stx-media] Failed to generate HLS for ${V.label}: ${N}`)}}if(H.length===0)return null;let F=y1(q,"master.m3u8"),O=KK(H,X,z,K);return await g8(F,O),{manifestUrl:`${X}/${z}-${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 KK($,Z,Y,X){let J=["#EXTM3U","#EXT-X-VERSION:3"];for(let Q of $){let{quality:G}=Q,K=G.bitrate+(G.audioBitrate||128000),z=`${G.width}x${G.height||Math.round(G.width*9/16)}`;J.push(`#EXT-X-STREAM-INF:BANDWIDTH=${K},RESOLUTION=${z},NAME="${G.label}"`,`${G.label}/${G.label}.m3u8`)}return J.join(`
1185
- `)}async function m$($,Z,Y,X,J){let Q=await h8();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let G=v8($);if(!await T0(G))return null;let K=await M0(G),z=x8($,f8($)),q=y1(Y,`${z}-${K}-dash`);await h$(q,{recursive:!0});let U=Z.length>0?Z:d8,W=J?.segmentDuration||4,_=J?.minBufferTime||2,H=(await new Q.Input(G).getInfo()).duration||0,L=[],F=[];for(let w of U){let R=y1(q,w.label);await h$(R,{recursive:!0});try{if(await Q.generateDASH(G,{outputDir:R,segmentDuration:W,width:w.width,height:w.height,videoBitrate:w.bitrate,audioBitrate:w.audioBitrate})){if(L.push({bandwidth:w.bitrate,width:w.width,height:w.height||Math.round(w.width*9/16),url:`${X}/${z}-${K}-dash/${w.label}/video`}),w.audioBitrate)F.push({bandwidth:w.audioBitrate,url:`${X}/${z}-${K}-dash/${w.label}/audio`})}}catch(N){console.warn(`[stx-media] Failed to generate DASH for ${w.label}: ${N}`)}}if(L.length===0)return null;let O=y1(q,"manifest.mpd"),V=zK(L,F,H,W,_);await g8(O,V);let A=[{type:"video",representations:L}];if(F.length>0)A.push({type:"audio",representations:F});return{manifestUrl:`${X}/${z}-${K}-dash/manifest.mpd`,manifestPath:O,adaptationSets:A,duration:H}}catch(G){return console.warn(`[stx-media] Failed to generate DASH manifest: ${G}`),null}}function zK($,Z,Y,X,J){let Q=P8(Y),G=P8(J),K=`<?xml version="1.0" encoding="UTF-8"?>
1184
+ <script>${q.script}</script>`;return U},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function JK($,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 J=QK(X),Q=u7(J[0],Y)||"",G=u7(J[1],Y)||"",K={};if(J[2]){let z=u7(J[2],Y);if(typeof z==="object"&&z!==null)K=z;else if(typeof J[2]==="string")try{K=JSON.parse(J[2])}catch{}}return{src:Q,alt:G,options:K}}function QK($){let Z=[],Y="",X=!1,J="",Q=0,G=0;for(let K=0;K<$.length;K++){let z=$[K],q=K>0?$[K-1]:"";if((z==='"'||z==="'"||z==="`")&&q!=="\\"){if(!X)X=!0,J=z;else if(z===J)X=!1,J="";else Y+=z;continue}if(!X){if(z==="{")Q++;if(z==="}")Q--;if(z==="[")G++;if(z==="]")G--;if(z===","&&Q===0&&G===0){Z.push(Y.trim()),Y="";continue}}Y+=z}if(Y.trim())Z.push(Y.trim());return Z}function u7($,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 S8;var b8=P(()=>{B7();k8();I7();S8=XK()});class C${config;constructor($={}){this.config={...GK,...$}}async get($,Z){return N$($,Z,"video",this.config)}async set($,Z,Y){return T$($,Z,Y,"video",this.config)}async clear(){return M$("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function l7($){if(!y$)y$=new C$($);else if($)y$.updateConfig($);return y$}async function P$($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return l7(X).get($,Z)}async function v$($,Z,Y,X){let J=X?{directory:`${X.outputDir}/../.cache`}:{};return l7(J).set($,Z,Y)}async function y8(){return l7().clear()}var GK,y$=null;var p7=P(()=>{y7();GK={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as c7,basename as i7,extname as n7,join as x$}from"path";import{mkdir as o7}from"fs/promises";async function s7(){try{return await import("ts-videos")}catch{return null}}async function f$($,Z,Y,X){let J=await s7();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let Q=c7($);if(!await T0(Q))return null;await o7(Y,{recursive:!0});let G=await I0(Q),K=i7($,n7($)),z=Z.format||"webp",q=Z.timestamp||0,U=`${K}-poster-${G}.${z}`,W=x$(Y,U),_=await J.extractThumbnails(Q,{timestamps:[q],width:Z.width||1280,height:Z.height,format:z,quality:Z.quality||85,outputDir:Y,outputPattern:U.replace(`.${z}`,"")});if(_&&_.length>0){let B=_[0];return{path:W,url:`${X}/${U}`,width:B.width||Z.width||1280,height:B.height||720,timestamp:q,size:B.size||0}}return null}catch(Q){return console.warn(`[stx-media] Failed to generate poster: ${Q}`),null}}async function g$($,Z,Y,X){let J=await s7();if(!J)return[];try{let Q=c7($);if(!await T0(Q))return[];await o7(Y,{recursive:!0});let G=await I0(Q),K=i7($,n7($)),z=Z.format||"webp",W=(await new J.Input(Q).getInfo()).duration||60,_=Z.count||10,B=Z.interval||W/_,j=[];for(let L=0;L<_&&L*B<W;L++)j.push(L*B);let H=await J.extractThumbnails(Q,{timestamps:j,width:Z.width||320,format:z,quality:Z.quality||80,outputDir:Y,outputPattern:`${K}-thumb-${G}`});if(H&&H.length>0)return H.map((L,F)=>({path:L.path||x$(Y,`${K}-thumb-${G}-${F}.${z}`),url:`${X}/${K}-thumb-${G}-${F}.${z}`,width:L.width||Z.width||320,height:L.height||180,timestamp:j[F],size:L.size||0}));return[]}catch(Q){return console.warn(`[stx-media] Failed to generate thumbnails: ${Q}`),[]}}async function C8($,Z,Y,X){let J=await s7();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let Q=c7($);if(!await T0(Q))return null;await o7(Y,{recursive:!0});let G=await I0(Q),K=i7($,n7($)),U=(await new J.Input(Q).getInfo()).duration||60,W=Z.columns||10,_=Z.interval||5,B=Z.thumbnailWidth||160,j=Z.thumbnailHeight||90,H=Z.format||"jpeg",L=Math.ceil(U/_),F=Math.ceil(L/W),O=`${K}-sprite-${G}.${H}`,V=x$(Y,O),A=[];for(let R=0;R<L;R++)A.push(R*_);let w=await J.extractThumbnails(Q,{timestamps:A,width:B,height:j,format:H,quality:Z.quality||70,outputDir:x$(Y,".temp")});if(!w||w.length===0)return null;try{let R=await import("ts-images"),N=W*B,M=F*j,T=await R.createSprite({images:w.map((I)=>I.path),columns:W,padding:0,outputPath:V,format:H,quality:Z.quality||70});return{url:`${X}/${O}`,path:V,columns:W,rows:F,thumbnailWidth:B,thumbnailHeight:j,interval:_,totalFrames:L}}catch{return console.warn("[stx-media] ts-images not installed, sprite sheet generation skipped"),null}}catch(Q){return console.warn(`[stx-media] Failed to generate sprite sheet: ${Q}`),null}}var r7=P(()=>{b1()});import{resolve as v8,basename as x8,extname as f8,join as y1}from"path";import{mkdir as h$,writeFile as g8}from"fs/promises";async function h8(){try{return await import("ts-videos")}catch{return null}}async function d$($,Z,Y,X,J){let Q=await h8();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let G=v8($);if(!await T0(G))return null;let K=await I0(G),z=x8($,f8($)),q=y1(Y,`${z}-${K}-hls`);await h$(q,{recursive:!0});let U=Z.length>0?Z:d8,W=J?.segmentDuration||6,j=(await new Q.Input(G).getInfo()).duration||0,H=[],L=0;for(let V of U){let A=y1(q,V.label);await h$(A,{recursive:!0});let w=`${V.label}.m3u8`,R=y1(A,w);try{let N=await Q.generateHLS(G,{outputDir:A,segmentDuration:W,width:V.width,height:V.height,videoBitrate:V.bitrate,audioBitrate:V.audioBitrate,playlistName:V.label});if(N)H.push({quality:V,url:`${X}/${z}-${K}-hls/${V.label}/${w}`,path:R}),L+=N.segmentCount||Math.ceil(j/W)}catch(N){console.warn(`[stx-media] Failed to generate HLS for ${V.label}: ${N}`)}}if(H.length===0)return null;let F=y1(q,"master.m3u8"),O=KK(H,X,z,K);return await g8(F,O),{manifestUrl:`${X}/${z}-${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 KK($,Z,Y,X){let J=["#EXTM3U","#EXT-X-VERSION:3"];for(let Q of $){let{quality:G}=Q,K=G.bitrate+(G.audioBitrate||128000),z=`${G.width}x${G.height||Math.round(G.width*9/16)}`;J.push(`#EXT-X-STREAM-INF:BANDWIDTH=${K},RESOLUTION=${z},NAME="${G.label}"`,`${G.label}/${G.label}.m3u8`)}return J.join(`
1185
+ `)}async function m$($,Z,Y,X,J){let Q=await h8();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let G=v8($);if(!await T0(G))return null;let K=await I0(G),z=x8($,f8($)),q=y1(Y,`${z}-${K}-dash`);await h$(q,{recursive:!0});let U=Z.length>0?Z:d8,W=J?.segmentDuration||4,_=J?.minBufferTime||2,H=(await new Q.Input(G).getInfo()).duration||0,L=[],F=[];for(let w of U){let R=y1(q,w.label);await h$(R,{recursive:!0});try{if(await Q.generateDASH(G,{outputDir:R,segmentDuration:W,width:w.width,height:w.height,videoBitrate:w.bitrate,audioBitrate:w.audioBitrate})){if(L.push({bandwidth:w.bitrate,width:w.width,height:w.height||Math.round(w.width*9/16),url:`${X}/${z}-${K}-dash/${w.label}/video`}),w.audioBitrate)F.push({bandwidth:w.audioBitrate,url:`${X}/${z}-${K}-dash/${w.label}/audio`})}}catch(N){console.warn(`[stx-media] Failed to generate DASH for ${w.label}: ${N}`)}}if(L.length===0)return null;let O=y1(q,"manifest.mpd"),V=zK(L,F,H,W,_);await g8(O,V);let A=[{type:"video",representations:L}];if(F.length>0)A.push({type:"audio",representations:F});return{manifestUrl:`${X}/${z}-${K}-dash/manifest.mpd`,manifestPath:O,adaptationSets:A,duration:H}}catch(G){return console.warn(`[stx-media] Failed to generate DASH manifest: ${G}`),null}}function zK($,Z,Y,X,J){let Q=P8(Y),G=P8(J),K=`<?xml version="1.0" encoding="UTF-8"?>
1186
1186
  <MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
1187
1187
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1188
1188
  xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
@@ -1208,7 +1208,7 @@ ${w.join(`
1208
1208
  </Representation>
1209
1209
  `}K+=` </AdaptationSet>
1210
1210
  `}return K+=` </Period>
1211
- </MPD>`,K}function P8($){let Z=Math.floor($/3600),Y=Math.floor($%3600/60),X=Math.floor($%60),J="PT";if(Z>0)J+=`${Z}H`;if(Y>0)J+=`${Y}M`;return J+=`${X}S`,J}var d8;var a7=C(()=>{b1();d8=[{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 m8,basename as qK,extname as UK,join as WK}from"path";import{mkdir as _K}from"fs/promises";async function u8(){try{return await import("ts-videos")}catch{return null}}function BK($){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 jK($){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 t7($){let Z=await u8();if(!Z)return null;try{let Y=m8($),J=await new Z.Input(Y).getInfo();return{duration:J.duration||0,width:J.width||0,height:J.height||0,frameRate:J.frameRate||0,bitrate:J.bitrate||0,codec:J.videoCodec||"",audioCodec:J.audioCodec}}catch(Y){return console.warn(`[stx-media] Failed to analyze video: ${Y}`),null}}async function l8($,Z,Y,X){let J=await u8();if(!J)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let Q=await P$($,Z,Y);if(Q)return Q;try{let G=m8($);if(!await T0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let K=Y.outputDir||"dist/videos",z=Y.baseUrl||"/videos";await _K(K,{recursive:!0});let q=await M0(G),U=qK($,UK($)),W={src:$,processed:!0,hash:q};X?.({percentage:5,stage:"analyzing"}),W.metadata=await t7(G)||void 0;let _={};if(Z.quality)_.bitrate=BK(Z.quality);if(Z.platform)Object.assign(_,jK(Z.platform));if(Z.transcode)Object.assign(_,Z.transcode);if(Object.keys(_).length>0||Z.process){X?.({percentage:10,stage:"transcoding"});let B=`${U}-${q}.mp4`,j=WK(K,B);try{let H=await HK(G,j,_,J,(L)=>X?.({percentage:10+L*0.5,stage:"transcoding"}));if(H)W.transcoded={path:j,url:`${z}/${B}`,duration:H.duration,size:H.size,video:{codec:_.codec||"h264",width:H.width,height:H.height,bitrate:H.bitrate,frameRate:H.frameRate},audio:H.audioCodec?{codec:_.audioCodec||"aac",bitrate:_.audioBitrate||128000,sampleRate:_.sampleRate||48000,channels:_.channels||2}:void 0}}catch(H){W.errors=W.errors||[],W.errors.push(`Transcoding failed: ${H}`)}}if(Z.generatePoster){X?.({percentage:65,stage:"generating-poster"});let B=typeof Z.generatePoster==="object"?Z.generatePoster:{timestamp:0},j=await f$(G,B,K,z);if(j)W.poster=j}if(Y.thumbnails?.enabled){X?.({percentage:70,stage:"generating-thumbnails"});let B=await g$(G,Y.thumbnails,K,z);if(B.length>0)W.thumbnails=B}if(Z.streaming){X?.({percentage:80,stage:"generating-manifests"});let B=typeof Z.streaming==="object"?Z.streaming:Y.streaming||{format:"hls"};if(B.format==="hls"||B.format===void 0){let j=await d$(G,B.qualities||Y.streaming?.defaultQualities||[],K,z);if(j)W.streaming={...W.streaming,hls:j}}if(B.format==="dash"){let j=await m$(G,B.qualities||Y.streaming?.defaultQualities||[],K,z);if(j)W.streaming={...W.streaming,dash:j}}}if(Z.spriteSheet)X?.({percentage:90,stage:"generating-sprite-sheet"});return X?.({percentage:100,stage:"complete"}),await v$($,Z,W,Y),W}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function HK($,Z,Y,X,J){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)=>{J?.(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(Q){return console.error(`[stx-media] Transcoding failed: ${Q}`),null}}var p8=C(()=>{b1();p7();r7();a7()});var c8={};p(c8,{setCachedVideoResult:()=>v$,processVideo:()=>l8,getCachedVideoResult:()=>P$,generateThumbnails:()=>g$,generateSpriteSheet:()=>C8,generatePoster:()=>f$,generateHLSManifest:()=>d$,generateDASHManifest:()=>m$,clearVideoCache:()=>y8,analyzeVideo:()=>t7,VideoProcessorCache:()=>C$});var i8=C(()=>{p8();r7();a7();p7()});async function o8(){try{return await Promise.resolve().then(() => (i8(),c8))}catch($){if(!n8)console.warn("[stx-media] Video processor not available, some features disabled:",$),n8=!0;return null}}async function u$($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipProcessing){if(Y.tsVideosConfig?.enabled&&!Y.isDev)return AK(X,Y)}if(Y.processedResult?.processed)return t8($,Y.processedResult,Z);let J;if(X.generatePoster&&X.src&&!$.poster)J=await RK(X,Y);let{src:Q,sources:G=[],poster:K,posterPlaceholder:z,controls:q=s8,autoplay:U=!1,muted:W=!1,loop:_=!1,preload:B=r8,playsinline:j=!0,lazy:H=!0,player:L="native",type:F,width:O,height:V,crossorigin:A,disablePictureInPicture:w=!1,disableRemotePlayback:R=!1}=$,N=J||K,M=$.class,T=$.style,I=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(L==="ts-video")return FK($,Z);if(F&&F!=="video")return LK(Q||"",F,$);let D=G.length>0?G:Q?[{src:Q,type:a8(Q)}]:[],E=[`id="${I}"`];if(q)E.push("controls");if(U)E.push("autoplay");if(W)E.push("muted");if(_)E.push("loop");if(j)E.push("playsinline");if(w)E.push("disablepictureinpicture");if(R)E.push("disableremoteplayback");if(A)E.push(`crossorigin="${A}"`);if(H){if(E.push(`data-preload="${B}"`),E.push('preload="none"'),N)E.push(`data-poster="${V0(N)}"`);E.push("data-stx-lazy")}else if(E.push(`preload="${B}"`),N)E.push(`poster="${V0(N)}"`);if(O)E.push(`width="${O}"`);if(V)E.push(`height="${V}"`);if(M)E.push(`class="${V0(M)}"`);if(T)E.push(`style="${V0(T)}"`);let k=D.map((y)=>{return` <source ${H?`data-src="${V0(y.src)}"`:`src="${V0(y.src)}"`} type="${y.type}"${y.media?` media="${y.media}"`:""} />`}).join(`
1211
+ </MPD>`,K}function P8($){let Z=Math.floor($/3600),Y=Math.floor($%3600/60),X=Math.floor($%60),J="PT";if(Z>0)J+=`${Z}H`;if(Y>0)J+=`${Y}M`;return J+=`${X}S`,J}var d8;var a7=P(()=>{b1();d8=[{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 m8,basename as qK,extname as UK,join as WK}from"path";import{mkdir as _K}from"fs/promises";async function u8(){try{return await import("ts-videos")}catch{return null}}function BK($){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 jK($){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 t7($){let Z=await u8();if(!Z)return null;try{let Y=m8($),J=await new Z.Input(Y).getInfo();return{duration:J.duration||0,width:J.width||0,height:J.height||0,frameRate:J.frameRate||0,bitrate:J.bitrate||0,codec:J.videoCodec||"",audioCodec:J.audioCodec}}catch(Y){return console.warn(`[stx-media] Failed to analyze video: ${Y}`),null}}async function l8($,Z,Y,X){let J=await u8();if(!J)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let Q=await P$($,Z,Y);if(Q)return Q;try{let G=m8($);if(!await T0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let K=Y.outputDir||"dist/videos",z=Y.baseUrl||"/videos";await _K(K,{recursive:!0});let q=await I0(G),U=qK($,UK($)),W={src:$,processed:!0,hash:q};X?.({percentage:5,stage:"analyzing"}),W.metadata=await t7(G)||void 0;let _={};if(Z.quality)_.bitrate=BK(Z.quality);if(Z.platform)Object.assign(_,jK(Z.platform));if(Z.transcode)Object.assign(_,Z.transcode);if(Object.keys(_).length>0||Z.process){X?.({percentage:10,stage:"transcoding"});let B=`${U}-${q}.mp4`,j=WK(K,B);try{let H=await HK(G,j,_,J,(L)=>X?.({percentage:10+L*0.5,stage:"transcoding"}));if(H)W.transcoded={path:j,url:`${z}/${B}`,duration:H.duration,size:H.size,video:{codec:_.codec||"h264",width:H.width,height:H.height,bitrate:H.bitrate,frameRate:H.frameRate},audio:H.audioCodec?{codec:_.audioCodec||"aac",bitrate:_.audioBitrate||128000,sampleRate:_.sampleRate||48000,channels:_.channels||2}:void 0}}catch(H){W.errors=W.errors||[],W.errors.push(`Transcoding failed: ${H}`)}}if(Z.generatePoster){X?.({percentage:65,stage:"generating-poster"});let B=typeof Z.generatePoster==="object"?Z.generatePoster:{timestamp:0},j=await f$(G,B,K,z);if(j)W.poster=j}if(Y.thumbnails?.enabled){X?.({percentage:70,stage:"generating-thumbnails"});let B=await g$(G,Y.thumbnails,K,z);if(B.length>0)W.thumbnails=B}if(Z.streaming){X?.({percentage:80,stage:"generating-manifests"});let B=typeof Z.streaming==="object"?Z.streaming:Y.streaming||{format:"hls"};if(B.format==="hls"||B.format===void 0){let j=await d$(G,B.qualities||Y.streaming?.defaultQualities||[],K,z);if(j)W.streaming={...W.streaming,hls:j}}if(B.format==="dash"){let j=await m$(G,B.qualities||Y.streaming?.defaultQualities||[],K,z);if(j)W.streaming={...W.streaming,dash:j}}}if(Z.spriteSheet)X?.({percentage:90,stage:"generating-sprite-sheet"});return X?.({percentage:100,stage:"complete"}),await v$($,Z,W,Y),W}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function HK($,Z,Y,X,J){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)=>{J?.(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(Q){return console.error(`[stx-media] Transcoding failed: ${Q}`),null}}var p8=P(()=>{b1();p7();r7();a7()});var c8={};p(c8,{setCachedVideoResult:()=>v$,processVideo:()=>l8,getCachedVideoResult:()=>P$,generateThumbnails:()=>g$,generateSpriteSheet:()=>C8,generatePoster:()=>f$,generateHLSManifest:()=>d$,generateDASHManifest:()=>m$,clearVideoCache:()=>y8,analyzeVideo:()=>t7,VideoProcessorCache:()=>C$});var i8=P(()=>{p8();r7();a7();p7()});async function o8(){try{return await Promise.resolve().then(() => (i8(),c8))}catch($){if(!n8)console.warn("[stx-media] Video processor not available, some features disabled:",$),n8=!0;return null}}async function u$($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipProcessing){if(Y.tsVideosConfig?.enabled&&!Y.isDev)return AK(X,Y)}if(Y.processedResult?.processed)return t8($,Y.processedResult,Z);let J;if(X.generatePoster&&X.src&&!$.poster)J=await RK(X,Y);let{src:Q,sources:G=[],poster:K,posterPlaceholder:z,controls:q=s8,autoplay:U=!1,muted:W=!1,loop:_=!1,preload:B=r8,playsinline:j=!0,lazy:H=!0,player:L="native",type:F,width:O,height:V,crossorigin:A,disablePictureInPicture:w=!1,disableRemotePlayback:R=!1}=$,N=J||K,M=$.class,T=$.style,I=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(L==="ts-video")return FK($,Z);if(F&&F!=="video")return LK(Q||"",F,$);let D=G.length>0?G:Q?[{src:Q,type:a8(Q)}]:[],E=[`id="${I}"`];if(q)E.push("controls");if(U)E.push("autoplay");if(W)E.push("muted");if(_)E.push("loop");if(j)E.push("playsinline");if(w)E.push("disablepictureinpicture");if(R)E.push("disableremoteplayback");if(A)E.push(`crossorigin="${A}"`);if(H){if(E.push(`data-preload="${B}"`),E.push('preload="none"'),N)E.push(`data-poster="${V0(N)}"`);E.push("data-stx-lazy")}else if(E.push(`preload="${B}"`),N)E.push(`poster="${V0(N)}"`);if(O)E.push(`width="${O}"`);if(V)E.push(`height="${V}"`);if(M)E.push(`class="${V0(M)}"`);if(T)E.push(`style="${V0(T)}"`);let k=D.map((C)=>{return` <source ${H?`data-src="${V0(C.src)}"`:`src="${V0(C.src)}"`} type="${C.type}"${C.media?` media="${C.media}"`:""} />`}).join(`
1212
1212
  `),S=`<video ${E.join(" ")}>
1213
1213
  ${k}
1214
1214
  Your browser does not support the video tag.
@@ -1465,9 +1465,9 @@ ${D}
1465
1465
  width: 100%;
1466
1466
  height: auto;
1467
1467
  }
1468
- `.trim();return{html:D,script:E,css:k}}var n8=!1,s8=!0,r8="metadata",OK="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var e8=C(()=>{$3()});function $Z(){return O0({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async($,Z,Y,X)=>{let{src:J,options:Q}=NK($,Z,Y);if(!J)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let G={src:J,poster:Q.poster,controls:Q.controls!==!1,autoplay:Q.autoplay||!1,muted:Q.muted||!1,loop:Q.loop||!1,preload:Q.preload||"metadata",playsinline:Q.playsinline!==!1,lazy:Q.lazy!==!1,player:Q.player||"native",type:Q.type,width:Q.width,height:Q.height,class:Q.class,style:Q.style,id:Q.id,crossorigin:Q.crossorigin,disablePictureInPicture:Q.disablePictureInPicture,disableRemotePlayback:Q.disableRemotePlayback,title:Q.title,quality:Q.quality,platform:Q.platform,process:Q.process,generatePoster:Q.generatePoster,streaming:Q.streaming,transcode:Q.transcode,spriteSheet:Q.spriteSheet,waveform:Q.waveform},z={isDev:Y.__isDev||!1,tsVideosConfig:Y.__tsVideosConfig},q=await u$(G,z),U=q.html;if(q.css)U+=`
1468
+ `.trim();return{html:D,script:E,css:k}}var n8=!1,s8=!0,r8="metadata",OK="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var e8=P(()=>{$3()});function $Z(){return O0({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async($,Z,Y,X)=>{let{src:J,options:Q}=NK($,Z,Y);if(!J)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let G={src:J,poster:Q.poster,controls:Q.controls!==!1,autoplay:Q.autoplay||!1,muted:Q.muted||!1,loop:Q.loop||!1,preload:Q.preload||"metadata",playsinline:Q.playsinline!==!1,lazy:Q.lazy!==!1,player:Q.player||"native",type:Q.type,width:Q.width,height:Q.height,class:Q.class,style:Q.style,id:Q.id,crossorigin:Q.crossorigin,disablePictureInPicture:Q.disablePictureInPicture,disableRemotePlayback:Q.disableRemotePlayback,title:Q.title,quality:Q.quality,platform:Q.platform,process:Q.process,generatePoster:Q.generatePoster,streaming:Q.streaming,transcode:Q.transcode,spriteSheet:Q.spriteSheet,waveform:Q.waveform},z={isDev:Y.__isDev||!1,tsVideosConfig:Y.__tsVideosConfig},q=await u$(G,z),U=q.html;if(q.css)U+=`
1469
1469
  <style>${q.css}</style>`;if(q.script)U+=`
1470
- <script>${q.script}</script>`;return U},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function NK($,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 J=TK(X),Q=ZZ(J[0],Y)||"",G={};if(J[1]){let K=ZZ(J[1],Y);if(typeof K==="object"&&K!==null)G=K;else if(typeof J[1]==="string")try{G=JSON.parse(J[1])}catch{}}return{src:Q,options:G}}function TK($){let Z=[],Y="",X=!1,J="",Q=0,G=0;for(let K=0;K<$.length;K++){let z=$[K],q=K>0?$[K-1]:"";if((z==='"'||z==="'"||z==="`")&&q!=="\\"){if(!X)X=!0,J=z;else if(z===J)X=!1,J="";else Y+=z;continue}if(!X){if(z==="{")Q++;if(z==="}")Q--;if(z==="[")G++;if(z==="]")G--;if(z===","&&Q===0&&G===0){Z.push(Y.trim()),Y="";continue}}Y+=z}if(Y.trim())Z.push(Y.trim());return Z}function ZZ($,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 e7;var $3=C(()=>{B7();e8();e7=$Z()});function MK($,Z){let Y=Z.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
1470
+ <script>${q.script}</script>`;return U},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function NK($,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 J=TK(X),Q=ZZ(J[0],Y)||"",G={};if(J[1]){let K=ZZ(J[1],Y);if(typeof K==="object"&&K!==null)G=K;else if(typeof J[1]==="string")try{G=JSON.parse(J[1])}catch{}}return{src:Q,options:G}}function TK($){let Z=[],Y="",X=!1,J="",Q=0,G=0;for(let K=0;K<$.length;K++){let z=$[K],q=K>0?$[K-1]:"";if((z==='"'||z==="'"||z==="`")&&q!=="\\"){if(!X)X=!0,J=z;else if(z===J)X=!1,J="";else Y+=z;continue}if(!X){if(z==="{")Q++;if(z==="}")Q--;if(z==="[")G++;if(z==="]")G--;if(z===","&&Q===0&&G===0){Z.push(Y.trim()),Y="";continue}}Y+=z}if(Y.trim())Z.push(Y.trim());return Z}function ZZ($,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 e7;var $3=P(()=>{B7();e8();e7=$Z()});function MK($,Z){let Y=Z.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
1471
1471
  ${$}
1472
1472
  </div>
1473
1473
  <script>
@@ -1766,8 +1766,8 @@ catch (error) {
1766
1766
  init();
1767
1767
  }
1768
1768
  })();
1769
- </script>`}function KF($){return[...$,...Z3]}var kK,SK,bK,yK,Z3;var YZ=C(()=>{kK={name:"pwa.installButton",handler:($,Z,Y,X)=>{let J=Y.__stx_options||{};return MK($,J)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},SK={name:"pwa.updatePrompt",handler:($,Z,Y,X)=>{let J=Y.__stx_options||{};return IK($,J)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},bK={name:"pwa.offlineIndicator",handler:($,Z,Y,X)=>{let J=Y.__stx_options||{};return DK($,J)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},yK={name:"pwa.pushSubscribe",handler:($,Z,Y,X)=>{let J=Y.__stx_options||{};return EK($,J)},hasEndTag:!0,description:"Renders a push notification subscription button"},Z3=[kK,SK,bK,yK]});function PK($){XZ=$}function vK(){return XZ}function xK($){l$={...l$,...$}}function fK(){l$={}}function JZ($,Z={}){let Y=l$[$]||CK[$]||{message:`Unknown error (code: ${$})`},X=Y.message,J=Y.help;for(let[Q,G]of Object.entries(Z)){let K=`{{${Q}}}`;if(X=X.replace(new RegExp(K,"g"),G),J)J=J.replace(new RegExp(K,"g"),G)}return{message:X,help:J}}function gK($,Z={}){let{message:Y,help:X}=JZ($,Z);return X?`${Y}
1770
- Help: ${X}`:Y}function Y3($){for(let[Z,Y]of Object.entries(c))if(Y===$)return Z;return}var CK,l$,XZ="en",c;var p$=C(()=>{CK={1001:{message:"Unclosed directive: {{directive}}",help:"Make sure to close the directive with the appropriate end tag"},1002:{message:"Unclosed expression at position {{position}}",help:"Check for missing closing braces }}"},1003:{message:"Invalid directive syntax: {{directive}}",help:"Review the directive documentation for correct syntax"},1004:{message:"Malformed expression: {{expression}}",help:"Check for syntax errors in your expression"},1005:{message:"Unexpected token: {{token}}",help:"Remove or fix the unexpected token"},1101:{message:"Undefined variable: {{variable}}",help:"Make sure the variable is defined in the template context"},1102:{message:"Type error: {{details}}",help:"Check that you are using the correct types"},1103:{message:"Evaluation error: {{details}}",help:"Review the expression for errors"},1104:{message:"Infinite loop detected in {{location}}",help:"Check your loop conditions"},1105:{message:"Circular reference detected: {{path}}",help:"Remove the circular dependency"},1201:{message:"Unsafe expression blocked: {{expression}}",help:"This expression contains potentially dangerous code"},1202:{message:"Path traversal attempt blocked: {{path}}",help:"Use only relative paths within allowed directories"},1203:{message:"Potential XSS attempt blocked",help:"Sanitize user input before rendering"},1204:{message:"Code injection attempt blocked: {{code}}",help:"Avoid executing dynamic code"},1205:{message:"Prohibited DOM API usage: {{api}}",help:"Use STX.useRefs(), STX.useRef(), STX.el() and other STX helpers instead of direct DOM manipulation"},1301:{message:"File not found: {{path}}",help:"Check that the file exists and the path is correct"},1302:{message:"Error reading file: {{path}}",help:"Check file permissions and encoding"},1303:{message:"Invalid file path: {{path}}",help:"Use a valid file path"},1304:{message:"Permission denied: {{path}}",help:"Check file permissions"},1401:{message:"Invalid configuration: {{details}}",help:"Review your stx.config.ts file"},1402:{message:"Missing required configuration: {{key}}",help:"Add the required configuration option"},1403:{message:"Deprecated configuration: {{key}}",help:"Update to the new configuration format"},1501:{message:"Component not found: {{name}}",help:"Check that the component exists in your components directory"},1502:{message:"Invalid props for component {{name}}: {{details}}",help:"Check the component prop requirements"},1503:{message:"Error rendering component {{name}}: {{details}}",help:"Check the component template for errors"},1601:{message:"Filter not found: {{filter}}",help:"Register the filter or check the filter name"},1602:{message:"Invalid arguments for filter {{filter}}: {{details}}",help:"Check the filter documentation for correct arguments"},1603:{message:"Expression evaluation timed out",help:"Simplify the expression or increase the timeout"}},l$={};c={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 P5(){return!1}function v5(){return!P5()||process.env.STX_DEBUG==="true"}function c$(){return!1}import hK from"path";function dK($){J5={...J5,...$}}function i$(){return{...J5}}function mK(){J5={...QZ}}function n$($){if(!J5.showRelativePaths||!$)return $;let Z=J5.baseDir||process.cwd();try{let Y=hK.relative(Z,$);return Y.startsWith("..")?$:Y}catch{return $}}var QZ,J5,C1,GZ,P1,KZ,zZ,o$;var s$=C(()=>{p$();QZ={showRelativePaths:!1,enableAutoRecovery:v5(),logRecoveryWarnings:!0},J5={...QZ};C1=class C1 extends Error{code;filePath;line;column;context;numericCode;constructor($,Z,Y,X,J,Q,G){super($);this.code=Z;this.filePath=Y;this.line=X;this.column=J;this.context=Q;if(this.name="StxError",this.numericCode=G||c.EVALUATION_ERROR,this.filePath)this.filePath=n$(this.filePath)}};GZ=class GZ extends C1{constructor($,Z,Y,X,J,Q){super($,"stx_SYNTAX_ERROR",Z,Y,X,J,Q||c.INVALID_DIRECTIVE_SYNTAX);this.name="StxSyntaxError"}};P1=class P1 extends C1{constructor($,Z,Y,X,J,Q){super($,"stx_RUNTIME_ERROR",Z,Y,X,J,Q||c.EVALUATION_ERROR);this.name="StxRuntimeError"}};KZ=class KZ extends C1{constructor($,Z,Y,X,J,Q){super($,"stx_SECURITY_ERROR",Z,Y,X,J,Q||c.UNSAFE_EXPRESSION);this.name="StxSecurityError"}};zZ=class zZ extends C1{constructor($,Z,Y,X,J,Q){super($,"stx_FILE_ERROR",Z,Y,X,J,Q||c.FILE_NOT_FOUND);this.name="StxFileError"}};o$=class o$ extends C1{isFatal=!0;constructor($,Z,Y,X,J,Q){super($,"stx_VALIDATION_ERROR",Z,Y,X,J,Q||c.DOM_API_VIOLATION);this.name="StxValidationError"}}});function X3($){let{type:Z,message:Y,code:X,filePath:J,line:Q,column:G,template:K,offset:z,snippet:q,suggestion:U,format:W="text"}=$,_=Q,B=G;if(!_&&K&&z!==void 0){let O=UZ(K,z);_=O.line,B=O.column}let j=J?n$(J):void 0,H=X?Y3(X):void 0,L={type:Z,code:X,codeName:H,message:Y,filePath:j,line:_,column:B,snippet:q,suggestion:U,timestamp:new Date().toISOString()},F;switch(W){case"html":F=lK(L);break;case"json":F=JSON.stringify(L,null,2);break;case"console":F=pK(L,K,z);break;case"text":default:F=uK(L,K,z);break}return{formatted:F,data:L}}function uK($,Z,Y){let X=[],J=$.code?` [${$.codeName||$.code}]`:"";if(X.push(`[${$.type} Error${J}]`),$.filePath){let Q=$.filePath;if($.line){if(Q+=`:${$.line}`,$.column)Q+=`:${$.column}`}X.push(`at ${Q}`)}if(X.push(`
1769
+ </script>`}function KF($){return[...$,...Z3]}var kK,SK,bK,yK,Z3;var YZ=P(()=>{kK={name:"pwa.installButton",handler:($,Z,Y,X)=>{let J=Y.__stx_options||{};return MK($,J)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},SK={name:"pwa.updatePrompt",handler:($,Z,Y,X)=>{let J=Y.__stx_options||{};return IK($,J)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},bK={name:"pwa.offlineIndicator",handler:($,Z,Y,X)=>{let J=Y.__stx_options||{};return DK($,J)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},yK={name:"pwa.pushSubscribe",handler:($,Z,Y,X)=>{let J=Y.__stx_options||{};return EK($,J)},hasEndTag:!0,description:"Renders a push notification subscription button"},Z3=[kK,SK,bK,yK]});function PK($){XZ=$}function vK(){return XZ}function xK($){l$={...l$,...$}}function fK(){l$={}}function JZ($,Z={}){let Y=l$[$]||CK[$]||{message:`Unknown error (code: ${$})`},X=Y.message,J=Y.help;for(let[Q,G]of Object.entries(Z)){let K=`{{${Q}}}`;if(X=X.replace(new RegExp(K,"g"),G),J)J=J.replace(new RegExp(K,"g"),G)}return{message:X,help:J}}function gK($,Z={}){let{message:Y,help:X}=JZ($,Z);return X?`${Y}
1770
+ Help: ${X}`:Y}function Y3($){for(let[Z,Y]of Object.entries(c))if(Y===$)return Z;return}var CK,l$,XZ="en",c;var p$=P(()=>{CK={1001:{message:"Unclosed directive: {{directive}}",help:"Make sure to close the directive with the appropriate end tag"},1002:{message:"Unclosed expression at position {{position}}",help:"Check for missing closing braces }}"},1003:{message:"Invalid directive syntax: {{directive}}",help:"Review the directive documentation for correct syntax"},1004:{message:"Malformed expression: {{expression}}",help:"Check for syntax errors in your expression"},1005:{message:"Unexpected token: {{token}}",help:"Remove or fix the unexpected token"},1101:{message:"Undefined variable: {{variable}}",help:"Make sure the variable is defined in the template context"},1102:{message:"Type error: {{details}}",help:"Check that you are using the correct types"},1103:{message:"Evaluation error: {{details}}",help:"Review the expression for errors"},1104:{message:"Infinite loop detected in {{location}}",help:"Check your loop conditions"},1105:{message:"Circular reference detected: {{path}}",help:"Remove the circular dependency"},1201:{message:"Unsafe expression blocked: {{expression}}",help:"This expression contains potentially dangerous code"},1202:{message:"Path traversal attempt blocked: {{path}}",help:"Use only relative paths within allowed directories"},1203:{message:"Potential XSS attempt blocked",help:"Sanitize user input before rendering"},1204:{message:"Code injection attempt blocked: {{code}}",help:"Avoid executing dynamic code"},1205:{message:"Prohibited DOM API usage: {{api}}",help:"Use STX.useRefs(), STX.useRef(), STX.el() and other STX helpers instead of direct DOM manipulation"},1301:{message:"File not found: {{path}}",help:"Check that the file exists and the path is correct"},1302:{message:"Error reading file: {{path}}",help:"Check file permissions and encoding"},1303:{message:"Invalid file path: {{path}}",help:"Use a valid file path"},1304:{message:"Permission denied: {{path}}",help:"Check file permissions"},1401:{message:"Invalid configuration: {{details}}",help:"Review your stx.config.ts file"},1402:{message:"Missing required configuration: {{key}}",help:"Add the required configuration option"},1403:{message:"Deprecated configuration: {{key}}",help:"Update to the new configuration format"},1501:{message:"Component not found: {{name}}",help:"Check that the component exists in your components directory"},1502:{message:"Invalid props for component {{name}}: {{details}}",help:"Check the component prop requirements"},1503:{message:"Error rendering component {{name}}: {{details}}",help:"Check the component template for errors"},1601:{message:"Filter not found: {{filter}}",help:"Register the filter or check the filter name"},1602:{message:"Invalid arguments for filter {{filter}}: {{details}}",help:"Check the filter documentation for correct arguments"},1603:{message:"Expression evaluation timed out",help:"Simplify the expression or increase the timeout"}},l$={};c={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 P5(){return!1}function v5(){return!P5()||process.env.STX_DEBUG==="true"}function c$(){return!1}import hK from"path";function dK($){J5={...J5,...$}}function i$(){return{...J5}}function mK(){J5={...QZ}}function n$($){if(!J5.showRelativePaths||!$)return $;let Z=J5.baseDir||process.cwd();try{let Y=hK.relative(Z,$);return Y.startsWith("..")?$:Y}catch{return $}}var QZ,J5,C1,GZ,P1,KZ,zZ,o$;var s$=P(()=>{p$();QZ={showRelativePaths:!1,enableAutoRecovery:v5(),logRecoveryWarnings:!0},J5={...QZ};C1=class C1 extends Error{code;filePath;line;column;context;numericCode;constructor($,Z,Y,X,J,Q,G){super($);this.code=Z;this.filePath=Y;this.line=X;this.column=J;this.context=Q;if(this.name="StxError",this.numericCode=G||c.EVALUATION_ERROR,this.filePath)this.filePath=n$(this.filePath)}};GZ=class GZ extends C1{constructor($,Z,Y,X,J,Q){super($,"stx_SYNTAX_ERROR",Z,Y,X,J,Q||c.INVALID_DIRECTIVE_SYNTAX);this.name="StxSyntaxError"}};P1=class P1 extends C1{constructor($,Z,Y,X,J,Q){super($,"stx_RUNTIME_ERROR",Z,Y,X,J,Q||c.EVALUATION_ERROR);this.name="StxRuntimeError"}};KZ=class KZ extends C1{constructor($,Z,Y,X,J,Q){super($,"stx_SECURITY_ERROR",Z,Y,X,J,Q||c.UNSAFE_EXPRESSION);this.name="StxSecurityError"}};zZ=class zZ extends C1{constructor($,Z,Y,X,J,Q){super($,"stx_FILE_ERROR",Z,Y,X,J,Q||c.FILE_NOT_FOUND);this.name="StxFileError"}};o$=class o$ extends C1{isFatal=!0;constructor($,Z,Y,X,J,Q){super($,"stx_VALIDATION_ERROR",Z,Y,X,J,Q||c.DOM_API_VIOLATION);this.name="StxValidationError"}}});function X3($){let{type:Z,message:Y,code:X,filePath:J,line:Q,column:G,template:K,offset:z,snippet:q,suggestion:U,format:W="text"}=$,_=Q,B=G;if(!_&&K&&z!==void 0){let O=UZ(K,z);_=O.line,B=O.column}let j=J?n$(J):void 0,H=X?Y3(X):void 0,L={type:Z,code:X,codeName:H,message:Y,filePath:j,line:_,column:B,snippet:q,suggestion:U,timestamp:new Date().toISOString()},F;switch(W){case"html":F=lK(L);break;case"json":F=JSON.stringify(L,null,2);break;case"console":F=pK(L,K,z);break;case"text":default:F=uK(L,K,z);break}return{formatted:F,data:L}}function uK($,Z,Y){let X=[],J=$.code?` [${$.codeName||$.code}]`:"";if(X.push(`[${$.type} Error${J}]`),$.filePath){let Q=$.filePath;if($.line){if(Q+=`:${$.line}`,$.column)Q+=`:${$.column}`}X.push(`at ${Q}`)}if(X.push(`
1771
1771
  ${$.message}`),Z&&$.line){let Q=cK(Z,$.line,2);if(Q)X.push(`
1772
1772
  ${Q}`)}if($.snippet)X.push(`
1773
1773
  Snippet: ${$.snippet}`);if($.suggestion)X.push(`
@@ -1791,15 +1791,15 @@ ${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\
1791
1791
  `,G=Math.max(0,J.line-3),K=Math.min(X.length-1,J.line+2);Q+=`Context:
1792
1792
  `;for(let z=G;z<=K;z++){let q=z+1,U=X[z]||"",W=z===J.line-1?">":" ";Q+=`${W} ${q.toString().padStart(3)}: ${U}
1793
1793
  `}if(J.line-1<X.length){let z=" ".repeat(J.column+5);Q+=`${z}^
1794
- `}return Q}function sK($,Z,Y){try{return $()}catch(X){if(Y&&X instanceof Error)Y(X);return Z}}async function Q5($,Z,Y){try{return await $()}catch(X){if(Y&&X instanceof Error)Y(X);return Z}}var WZ=C(()=>{p$();s$()});class Q3{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(`
1794
+ `}return Q}function sK($,Z,Y){try{return $()}catch(X){if(Y&&X instanceof Error)Y(X);return Z}}async function Q5($,Z,Y){try{return await $()}catch(X){if(Y&&X instanceof Error)Y(X);return Z}}var WZ=P(()=>{p$();s$()});class Q3{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(`
1795
1795
  `).slice(1).join(`
1796
1796
  `)}`);if($.context)Z.push(` Context: ${JSON.stringify($.context)}`);return Z.join(`
1797
1797
  `)}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 J=`${this.formatEntry($)}
1798
1798
  `;Z.appendFileSync(this.logFilePath,J,"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}`,J=`${this.logFilePath}.${Y+1}`;if($.existsSync(X))if(Y>=this.maxLogFiles-1)$.unlinkSync(X);else $.renameSync(X,J)}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 J=Y.level||"error";Z[J]=(Z[J]||0)+1}return{total:this.errors.length,byType:$,byLevel:Z}}async exportToFile($,Z="json"){let Y=await import("fs"),J=(await import("path")).dirname($);if(!Y.existsSync(J))Y.mkdirSync(J,{recursive:!0});if(Z==="json"){let Q=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(Q,null,2),"utf-8")}else{let Q=this.errors.map((G)=>this.formatEntry(G));Y.writeFileSync($,Q.join(`
1799
1799
 
1800
- `),"utf-8")}}async flush(){await this.writeQueue}}var J3,p0,G3;var _Z=C(()=>{s$();J3={isEnabled(){return i$().enableAutoRecovery},fixCommonSyntaxErrors($){let Z=i$();if(!Z.enableAutoRecovery)return{fixed:$,fixes:[]};let Y=$,X=[],J=(Y.match(/\{\{/g)||[]).length,Q=(Y.match(/\}\}/g)||[]).length;if(J>Q){let K=J-Q;Y+="}}".repeat(K),X.push(`Added ${K} missing closing braces '}}'`)}let G=["if","foreach","for","switch","section"];for(let K of G){let z=(Y.match(new RegExp(`@${K}\\b`,"g"))||[]).length,q=(Y.match(new RegExp(`@end${K}\\b`,"g"))||[]).length;if(z>q){let U=z-q;for(let W=0;W<U;W++)Y+=`
1800
+ `),"utf-8")}}async flush(){await this.writeQueue}}var J3,p0,G3;var _Z=P(()=>{s$();J3={isEnabled(){return i$().enableAutoRecovery},fixCommonSyntaxErrors($){let Z=i$();if(!Z.enableAutoRecovery)return{fixed:$,fixes:[]};let Y=$,X=[],J=(Y.match(/\{\{/g)||[]).length,Q=(Y.match(/\}\}/g)||[]).length;if(J>Q){let K=J-Q;Y+="}}".repeat(K),X.push(`Added ${K} missing closing braces '}}'`)}let G=["if","foreach","for","switch","section"];for(let K of G){let z=(Y.match(new RegExp(`@${K}\\b`,"g"))||[]).length,q=(Y.match(new RegExp(`@end${K}\\b`,"g"))||[]).length;if(z>q){let U=z-q;for(let W=0;W<U;W++)Y+=`
1801
1801
  @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(v5())return`<!-- ${$} failed: ${Z.message} -->`;return"<!-- stx rendering error -->"}};p0=new Q3,G3={isDevelopment(){return v5()},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(`
1802
- `)}}});import K3 from"path";function rK($){let Z={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return $.replace(/[&<>"']/g,(Y)=>Z[Y]||Y)}function r$($,Z={}){let{allowHtml:Y=!1,maxLength:X=1e4,allowSpecialChars:J=!0,customSanitizer:Q}=Z,G=[],K=$,z=!1;if(Q){let U=Q(K);if(U!==K)K=U,z=!0}if(K.includes("\x00"))K=K.replace(/\0/g,""),z=!0,G.push("Null bytes removed from parameter");if(K.length>X)K=K.substring(0,X),z=!0,G.push(`Parameter truncated to ${X} characters`);if(!Y&&/<[^>]+>/.test(K))K=rK(K),z=!0,G.push("HTML content was escaped");let q=[{pattern:/javascript:/gi,replacement:"",name:"javascript: URI"},{pattern:/vbscript:/gi,replacement:"",name:"vbscript: URI"},{pattern:/data:text\/html/gi,replacement:"",name:"data:text/html URI"}];for(let{pattern:U,replacement:W,name:_}of q)if(U.test(K))K=K.replace(U,W),z=!0,G.push(`Removed ${_} from parameter`);if(!J){let U=K;if(K=K.split("").filter((W)=>{let _=W.charCodeAt(0);return _>=32&&_!==127}).join(""),K!==U)z=!0,G.push("Control characters removed")}return{value:K,modified:z,warnings:G}}function aK($,Z){let Y=$.replace(/\0/g,"");Y=Y.replace(/\\/g,"/"),Y=Y.replace(/^[a-z][a-z0-9+.-]*:/i,"");while(Y.includes("../")||Y.includes("./"))Y=Y.replace(/\.\.\//g,"").replace(/\.\//g,"");if(!z3.isValidFilePath(Y,Z))return null;return Y}function tK($){let Z=[],Y=$.trim(),X=Y!==$,J=[{pattern:/\beval\s*\(/gi,name:"eval()"},{pattern:/\bFunction\s*\(/gi,name:"Function()"},{pattern:/\bsetTimeout\s*\(/gi,name:"setTimeout()"},{pattern:/\bsetInterval\s*\(/gi,name:"setInterval()"},{pattern:/\bimport\s*\(/gi,name:"dynamic import()"},{pattern:/\brequire\s*\(/gi,name:"require()"},{pattern:/\b__proto__\b/gi,name:"__proto__"},{pattern:/\bconstructor\b/gi,name:"constructor"},{pattern:/\bprototype\b/gi,name:"prototype"}];for(let{pattern:Q,name:G}of J)if(Q.test(Y))Z.push(`Potentially dangerous pattern detected: ${G}`);if(Y.includes("\x00"))Y=Y.replace(/\0/g,""),X=!0,Z.push("Null bytes removed from expression");return{value:Y,modified:X,warnings:Z}}function eK($,Z={}){return $.map((Y)=>r$(Y,Z))}function BZ($){let Z={};for(let[Y,X]of Object.entries($)){if(!z3.isValidVariableName(Y))continue;if(typeof X==="string"){let J=r$(X);Z[Y]=J.value}else if(Array.isArray(X))Z[Y]=X.map((J)=>typeof J==="string"?r$(J).value:J);else if(typeof X==="object"&&X!==null)Z[Y]=BZ(X);else Z[Y]=X}return Z}var z3;var jZ=C(()=>{z3={isValidFilePath($,Z){let Y=$.replace(/\\/g,"/");if(Y.includes("\x00"))return!1;if(Y.includes("../")||Y.includes("..\\")||Y===".."||Y.startsWith("../")||Y.endsWith("/..")||Y.includes("/..\\")||Y.includes("\\../"))return!1;if(/^[a-z][a-z0-9+.-]*:/i.test(Y))return!1;if(Y.startsWith("/")){if(["/etc/","/root/","/var/","/usr/","/bin/","/sbin/","/proc/","/sys/","/dev/","/boot/","/home/","/private/","/Library/","/System/"].some((Q)=>Y===Q.slice(0,-1)||Y.startsWith(Q)))return!1}if(/^[a-z]:/i.test(Y)){if(["Windows/","Windows\\","System32/","System32\\","Program Files/","Program Files\\"].some((Q)=>Y.includes(Q)))return!1}if(Z){let J=K3.resolve(Z,$),Q=K3.resolve(Z);if(!J.startsWith(Q+K3.sep)&&J!==Q)return!1}return!0},isValidVariableName($){return/^[a-z_$]\w*$/i.test($)},isValidDirectiveName($){return/^[a-z][\w-]*$/i.test($)},isSafeContent($){return![/<script[^>]*>[\s\S]*?<\/script>/i,/javascript:/i,/data:text\/html/i,/vbscript:/i,/on\w+\s*=/i].some((Y)=>Y.test($))}}});var HZ=C(()=>{p$();WZ();_Z();jZ();s$()});var Q1=C(()=>{HZ()});function OZ($,Z,Y,X){let J=$;J=J.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(K,z,q)=>{if(!q&&z.includes(":")){let U=z.split(":"),W=z,_=U.length>1?U[1]:"";if(_&&Z[_])q=Z[_];else if(W.startsWith("og:")&&Z.openGraph&&Z.openGraph[U[1]])q=Z.openGraph[U[1]];else q="";return q?`<meta property="${i(W)}" content="${i(q)}">`:""}return q?`<meta name="${i(z)}" content="${i(q)}">`:""});let Q=/@metaTag\s*\(/g,G;while((G=Q.exec(J))!==null){let K=G.index,z=K+G[0].length-1,q=1,U=z+1;while(U<J.length&&q>0){if(J[U]==="(")q++;else if(J[U]===")"){if(q--,q===0)break}U++}if(q!==0)break;let W=J.substring(z+1,U).trim(),_=U+1,B=(()=>{try{let j=L0(W,Z);if(!j)return"";let H="<meta";if(j.name)H+=` name="${i(String(j.name))}"`;if(j.property)H+=` property="${i(String(j.property))}"`;if(j.httpEquiv)H+=` http-equiv="${i(String(j.httpEquiv))}"`;if(j.content)H+=` content="${i(String(j.content))}"`;return H+=">",H}catch(j){let H=j instanceof Error?j.message:String(j);return r("MetaTag",H,c.EVALUATION_ERROR)}})();J=J.substring(0,K)+B+J.substring(_),Q.lastIndex=0}return J}function LZ($,Z,Y){let X=$,J=/@structuredData\s*\(/g,Q;while((Q=J.exec(X))!==null){let G=Q.index,K=G+Q[0].length-1,z=1,q=K+1;while(q<X.length&&z>0){if(X[q]==="(")z++;else if(X[q]===")"){if(z--,z===0)break}q++}if(z!==0)break;let U=X.substring(K+1,q).trim(),W=q+1,_=(()=>{try{let B=L0(U,Z);if(!B)return"";if(!B["@context"])B["@context"]="https://schema.org";return`<script type="application/ld+json">${JSON.stringify(B).replace(/<\//g,"<\\/")}</script>`}catch(B){let j=B instanceof Error?B.message:String(B);return r("StructuredData",j,c.EVALUATION_ERROR)}})();X=X.substring(0,G)+_+X.substring(W),J.lastIndex=0}return X}function FZ($,Z,Y,X){let J=$,Q=/@seo\s*\(\s*\{/g,G;while((G=Q.exec(J))!==null){let K=J.indexOf("{",G.index+4),z=1,q=K+1,U=null,W=!1;while(q<J.length&&z>0){let F=J[q];if(W){W=!1,q++;continue}if(F==="\\"&&U){W=!0,q++;continue}if(U){if(F===U)U=null;q++;continue}if(F==='"'||F==="'"||F==="`"){U=F,q++;continue}if(F==="{")z++;else if(F==="}")z--;q++}if(z!==0)break;let _=J.substring(q).match(/^\s*\)/);if(!_)break;let B=q+_[0].length,j=J.substring(K,q),H=J.substring(G.index,B),L=((F)=>{try{let O=L0(F,Z);if(!O)return"";let V="";if(O.title)V+=`<title>${i(O.title)}</title>
1802
+ `)}}});import K3 from"path";function rK($){let Z={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return $.replace(/[&<>"']/g,(Y)=>Z[Y]||Y)}function r$($,Z={}){let{allowHtml:Y=!1,maxLength:X=1e4,allowSpecialChars:J=!0,customSanitizer:Q}=Z,G=[],K=$,z=!1;if(Q){let U=Q(K);if(U!==K)K=U,z=!0}if(K.includes("\x00"))K=K.replace(/\0/g,""),z=!0,G.push("Null bytes removed from parameter");if(K.length>X)K=K.substring(0,X),z=!0,G.push(`Parameter truncated to ${X} characters`);if(!Y&&/<[^>]+>/.test(K))K=rK(K),z=!0,G.push("HTML content was escaped");let q=[{pattern:/javascript:/gi,replacement:"",name:"javascript: URI"},{pattern:/vbscript:/gi,replacement:"",name:"vbscript: URI"},{pattern:/data:text\/html/gi,replacement:"",name:"data:text/html URI"}];for(let{pattern:U,replacement:W,name:_}of q)if(U.test(K))K=K.replace(U,W),z=!0,G.push(`Removed ${_} from parameter`);if(!J){let U=K;if(K=K.split("").filter((W)=>{let _=W.charCodeAt(0);return _>=32&&_!==127}).join(""),K!==U)z=!0,G.push("Control characters removed")}return{value:K,modified:z,warnings:G}}function aK($,Z){let Y=$.replace(/\0/g,"");Y=Y.replace(/\\/g,"/"),Y=Y.replace(/^[a-z][a-z0-9+.-]*:/i,"");while(Y.includes("../")||Y.includes("./"))Y=Y.replace(/\.\.\//g,"").replace(/\.\//g,"");if(!z3.isValidFilePath(Y,Z))return null;return Y}function tK($){let Z=[],Y=$.trim(),X=Y!==$,J=[{pattern:/\beval\s*\(/gi,name:"eval()"},{pattern:/\bFunction\s*\(/gi,name:"Function()"},{pattern:/\bsetTimeout\s*\(/gi,name:"setTimeout()"},{pattern:/\bsetInterval\s*\(/gi,name:"setInterval()"},{pattern:/\bimport\s*\(/gi,name:"dynamic import()"},{pattern:/\brequire\s*\(/gi,name:"require()"},{pattern:/\b__proto__\b/gi,name:"__proto__"},{pattern:/\bconstructor\b/gi,name:"constructor"},{pattern:/\bprototype\b/gi,name:"prototype"}];for(let{pattern:Q,name:G}of J)if(Q.test(Y))Z.push(`Potentially dangerous pattern detected: ${G}`);if(Y.includes("\x00"))Y=Y.replace(/\0/g,""),X=!0,Z.push("Null bytes removed from expression");return{value:Y,modified:X,warnings:Z}}function eK($,Z={}){return $.map((Y)=>r$(Y,Z))}function BZ($){let Z={};for(let[Y,X]of Object.entries($)){if(!z3.isValidVariableName(Y))continue;if(typeof X==="string"){let J=r$(X);Z[Y]=J.value}else if(Array.isArray(X))Z[Y]=X.map((J)=>typeof J==="string"?r$(J).value:J);else if(typeof X==="object"&&X!==null)Z[Y]=BZ(X);else Z[Y]=X}return Z}var z3;var jZ=P(()=>{z3={isValidFilePath($,Z){let Y=$.replace(/\\/g,"/");if(Y.includes("\x00"))return!1;if(Y.includes("../")||Y.includes("..\\")||Y===".."||Y.startsWith("../")||Y.endsWith("/..")||Y.includes("/..\\")||Y.includes("\\../"))return!1;if(/^[a-z][a-z0-9+.-]*:/i.test(Y))return!1;if(Y.startsWith("/")){if(["/etc/","/root/","/var/","/usr/","/bin/","/sbin/","/proc/","/sys/","/dev/","/boot/","/home/","/private/","/Library/","/System/"].some((Q)=>Y===Q.slice(0,-1)||Y.startsWith(Q)))return!1}if(/^[a-z]:/i.test(Y)){if(["Windows/","Windows\\","System32/","System32\\","Program Files/","Program Files\\"].some((Q)=>Y.includes(Q)))return!1}if(Z){let J=K3.resolve(Z,$),Q=K3.resolve(Z);if(!J.startsWith(Q+K3.sep)&&J!==Q)return!1}return!0},isValidVariableName($){return/^[a-z_$]\w*$/i.test($)},isValidDirectiveName($){return/^[a-z][\w-]*$/i.test($)},isSafeContent($){return![/<script[^>]*>[\s\S]*?<\/script>/i,/javascript:/i,/data:text\/html/i,/vbscript:/i,/on\w+\s*=/i].some((Y)=>Y.test($))}}});var HZ=P(()=>{p$();WZ();_Z();jZ();s$()});var Q1=P(()=>{HZ()});function OZ($,Z,Y,X){let J=$;J=J.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(K,z,q)=>{if(!q&&z.includes(":")){let U=z.split(":"),W=z,_=U.length>1?U[1]:"";if(_&&Z[_])q=Z[_];else if(W.startsWith("og:")&&Z.openGraph&&Z.openGraph[U[1]])q=Z.openGraph[U[1]];else q="";return q?`<meta property="${i(W)}" content="${i(q)}">`:""}return q?`<meta name="${i(z)}" content="${i(q)}">`:""});let Q=/@metaTag\s*\(/g,G;while((G=Q.exec(J))!==null){let K=G.index,z=K+G[0].length-1,q=1,U=z+1;while(U<J.length&&q>0){if(J[U]==="(")q++;else if(J[U]===")"){if(q--,q===0)break}U++}if(q!==0)break;let W=J.substring(z+1,U).trim(),_=U+1,B=(()=>{try{let j=L0(W,Z);if(!j)return"";let H="<meta";if(j.name)H+=` name="${i(String(j.name))}"`;if(j.property)H+=` property="${i(String(j.property))}"`;if(j.httpEquiv)H+=` http-equiv="${i(String(j.httpEquiv))}"`;if(j.content)H+=` content="${i(String(j.content))}"`;return H+=">",H}catch(j){let H=j instanceof Error?j.message:String(j);return r("MetaTag",H,c.EVALUATION_ERROR)}})();J=J.substring(0,K)+B+J.substring(_),Q.lastIndex=0}return J}function LZ($,Z,Y){let X=$,J=/@structuredData\s*\(/g,Q;while((Q=J.exec(X))!==null){let G=Q.index,K=G+Q[0].length-1,z=1,q=K+1;while(q<X.length&&z>0){if(X[q]==="(")z++;else if(X[q]===")"){if(z--,z===0)break}q++}if(z!==0)break;let U=X.substring(K+1,q).trim(),W=q+1,_=(()=>{try{let B=L0(U,Z);if(!B)return"";if(!B["@context"])B["@context"]="https://schema.org";return`<script type="application/ld+json">${JSON.stringify(B).replace(/<\//g,"<\\/")}</script>`}catch(B){let j=B instanceof Error?B.message:String(B);return r("StructuredData",j,c.EVALUATION_ERROR)}})();X=X.substring(0,G)+_+X.substring(W),J.lastIndex=0}return X}function FZ($,Z,Y,X){let J=$,Q=/@seo\s*\(\s*\{/g,G;while((G=Q.exec(J))!==null){let K=J.indexOf("{",G.index+4),z=1,q=K+1,U=null,W=!1;while(q<J.length&&z>0){let F=J[q];if(W){W=!1,q++;continue}if(F==="\\"&&U){W=!0,q++;continue}if(U){if(F===U)U=null;q++;continue}if(F==='"'||F==="'"||F==="`"){U=F,q++;continue}if(F==="{")z++;else if(F==="}")z--;q++}if(z!==0)break;let _=J.substring(q).match(/^\s*\)/);if(!_)break;let B=q+_[0].length,j=J.substring(K,q),H=J.substring(G.index,B),L=((F)=>{try{let O=L0(F,Z);if(!O)return"";let V="";if(O.title)V+=`<title>${i(O.title)}</title>
1803
1803
  `,V+=`<meta name="title" content="${i(O.title)}">
1804
1804
  `;if(O.description)V+=`<meta name="description" content="${i(O.description)}">
1805
1805
  `;if(O.keywords){let A=Array.isArray(O.keywords)?O.keywords.join(", "):O.keywords;V+=`<meta name="keywords" content="${i(A)}">
@@ -1854,7 +1854,7 @@ ${$.map((Q)=>{let G=Q.startsWith("http")?Q:`${Y}${Q.startsWith("/")?"":"/"}${Q}`
1854
1854
  </sitemap>`}).join(`
1855
1855
  `)}
1856
1856
  </sitemapindex>`}async function xF($,Z){let{extensions:Y=[".stx",".html",".htm"],ignore:X=["_*",".*","node_modules","components","partials","layouts"]}=Z,J=[],Q=Y.length===1?`*${Y[0]}`:`*{${Y.join(",")}}`,G=new Bun.Glob(`**/${Q}`);for await(let K of G.scan($)){if(X.some((_)=>{if(_.startsWith("*"))return K.includes(_.slice(1));return K.startsWith(_)||K.includes(`/${_}`)}))continue;let q=K.replace(/\\/g,"/").replace(/index\.(stx|html|htm)$/,"").replace(/\.(stx|html|htm)$/,"");if(!q.startsWith("/"))q=`/${q}`;if(q!=="/"&&q.endsWith("/"))q=q.slice(0,-1);let U=`${$}/${K}`,W;try{let _=await Bun.file(U).stat();if(_)W=new Date(_.mtime).toISOString().split("T")[0]}catch{}J.push({loc:q||"/",lastmod:W,priority:q==="/"?1:0.5})}return J.sort((K,z)=>K.loc.localeCompare(z.loc)),J}function $z($){let Z=[];for(let Y of $.rules){if(Z.push(`User-agent: ${Y.userAgent}`),Y.allow)for(let X of Y.allow)Z.push(`Allow: ${X}`);if(Y.disallow)for(let X of Y.disallow)Z.push(`Disallow: ${X}`);if(Y.crawlDelay!==void 0)Z.push(`Crawl-delay: ${Y.crawlDelay}`);Z.push("")}if($.sitemap){let Y=Array.isArray($.sitemap)?$.sitemap:[$.sitemap];for(let X of Y)Z.push(`Sitemap: ${X}`)}if($.host)Z.push(`Host: ${$.host}`);return Z.join(`
1857
- `).trim()}function fF($){return $z({rules:[{userAgent:"*",allow:["/"]}],sitemap:$})}function wZ($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}var q3,U3;var W3=C(()=>{Q1();R0();q3={name:"meta",handler:($,Z,Y,X)=>{if(Z.length<1)return r("Meta","meta directive requires at least the meta name",c.INVALID_DIRECTIVE_SYNTAX);let J=Z[0].replace(/['"]/g,""),Q=Z.length>1?Z[1].replace(/['"]/g,""):"";return`<meta name="${i(J)}" content="${i(Q)}">`},hasEndTag:!1},U3={name:"structuredData",handler:($,Z,Y,X)=>{if($.trim()==="")return r("StructuredData","structuredData directive requires JSON-LD content",c.INVALID_DIRECTIVE_SYNTAX);try{let J=JSON.parse($);if(!J["@context"])J["@context"]="https://schema.org";if(!J["@type"])return r("StructuredData","structuredData requires @type property",c.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(J)}</script>`}catch(J){let Q=J instanceof Error?J.message:String(J);return r("StructuredData",Q,c.EVALUATION_ERROR)}},hasEndTag:!0}});import Zz from"fs";import W1 from"path";async function lF($,Z){if(!$.webComponents?.enabled)return[];let Y=$.webComponents.components||[],X=[];if(Y.length>0){if($.debug)console.log(`Building ${Y.length} web components...`);for(let J of Y)try{let Q=await Yz(J,$,Z);if(Q)X.push(Q)}catch(Q){if(console.error(`Error building web component ${J.name}:`,Q),$.debug)throw Q}}return X}async function Yz($,Z,Y){let{name:X,file:J,tag:Q,extends:G}=$;if(!X||!J||!Q)return console.error("Invalid web component configuration, missing required fields:",$),null;let K=null;if(W1.isAbsolute(J)&&await n(J))K=J;else if(Z.componentsDir){let H=W1.join(Z.componentsDir,J);if(await n(H))K=H}if(!K)K=await a$(J,process.cwd(),Z,Y);if(!K)return console.error(`Web component source file not found: ${J}`),null;let z=await Bun.file(K).text();Y.add(K);let U=($.outputFormat||"js")==="ts",W=U?Jz({name:X,tag:Q,baseElement:G,source:z,shadowDOM:$.shadowDOM??!0,template:$.template??!0,styleSource:$.styleSource,attributes:$.attributes||[],attributeTypes:$.attributeTypes||{}}):Xz({name:X,tag:Q,baseElement:G,source:z,shadowDOM:$.shadowDOM??!0,template:$.template??!0,styleSource:$.styleSource,attributes:$.attributes||[]}),_=Z.webComponents?.outputDir||"dist/web-components";await Zz.promises.mkdir(_,{recursive:!0});let B=U?"ts":"js",j=W1.join(_,`${Q}.${B}`);if(await Bun.write(j,W),Z.debug)console.log(`Built web component ${X} -> ${j}`);return j}function Xz($){let{name:Z,tag:Y,baseElement:X="HTMLElement",source:J,shadowDOM:Q,template:G,styleSource:K,attributes:z=[]}=$,q=J.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").trim();if(!Q)q=q.replace(/<slot\s+name=["']([^"']+)["']\s*>([\s\S]*?)<\/slot>/gi,'<div data-slot="$1">$2</div>'),q=q.replace(/<slot\s+name=["']([^"']+)["']\s*\/>/gi,'<div data-slot="$1"></div>'),q=q.replace(/<slot\s*>([\s\S]*?)<\/slot>/gi,"<div data-default-slot>$1</div>"),q=q.replace(/<slot\s*\/>/gi,"<div data-default-slot></div>");let U="";if(K)U=`<link rel="stylesheet" href="${K}">`;return`/**
1857
+ `).trim()}function fF($){return $z({rules:[{userAgent:"*",allow:["/"]}],sitemap:$})}function wZ($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}var q3,U3;var W3=P(()=>{Q1();R0();q3={name:"meta",handler:($,Z,Y,X)=>{if(Z.length<1)return r("Meta","meta directive requires at least the meta name",c.INVALID_DIRECTIVE_SYNTAX);let J=Z[0].replace(/['"]/g,""),Q=Z.length>1?Z[1].replace(/['"]/g,""):"";return`<meta name="${i(J)}" content="${i(Q)}">`},hasEndTag:!1},U3={name:"structuredData",handler:($,Z,Y,X)=>{if($.trim()==="")return r("StructuredData","structuredData directive requires JSON-LD content",c.INVALID_DIRECTIVE_SYNTAX);try{let J=JSON.parse($);if(!J["@context"])J["@context"]="https://schema.org";if(!J["@type"])return r("StructuredData","structuredData requires @type property",c.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(J)}</script>`}catch(J){let Q=J instanceof Error?J.message:String(J);return r("StructuredData",Q,c.EVALUATION_ERROR)}},hasEndTag:!0}});import Zz from"fs";import W1 from"path";async function lF($,Z){if(!$.webComponents?.enabled)return[];let Y=$.webComponents.components||[],X=[];if(Y.length>0){if($.debug)console.log(`Building ${Y.length} web components...`);for(let J of Y)try{let Q=await Yz(J,$,Z);if(Q)X.push(Q)}catch(Q){if(console.error(`Error building web component ${J.name}:`,Q),$.debug)throw Q}}return X}async function Yz($,Z,Y){let{name:X,file:J,tag:Q,extends:G}=$;if(!X||!J||!Q)return console.error("Invalid web component configuration, missing required fields:",$),null;let K=null;if(W1.isAbsolute(J)&&await n(J))K=J;else if(Z.componentsDir){let H=W1.join(Z.componentsDir,J);if(await n(H))K=H}if(!K)K=await a$(J,process.cwd(),Z,Y);if(!K)return console.error(`Web component source file not found: ${J}`),null;let z=await Bun.file(K).text();Y.add(K);let U=($.outputFormat||"js")==="ts",W=U?Jz({name:X,tag:Q,baseElement:G,source:z,shadowDOM:$.shadowDOM??!0,template:$.template??!0,styleSource:$.styleSource,attributes:$.attributes||[],attributeTypes:$.attributeTypes||{}}):Xz({name:X,tag:Q,baseElement:G,source:z,shadowDOM:$.shadowDOM??!0,template:$.template??!0,styleSource:$.styleSource,attributes:$.attributes||[]}),_=Z.webComponents?.outputDir||"dist/web-components";await Zz.promises.mkdir(_,{recursive:!0});let B=U?"ts":"js",j=W1.join(_,`${Q}.${B}`);if(await Bun.write(j,W),Z.debug)console.log(`Built web component ${X} -> ${j}`);return j}function Xz($){let{name:Z,tag:Y,baseElement:X="HTMLElement",source:J,shadowDOM:Q,template:G,styleSource:K,attributes:z=[]}=$,q=J.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").trim();if(!Q)q=q.replace(/<slot\s+name=["']([^"']+)["']\s*>([\s\S]*?)<\/slot>/gi,'<div data-slot="$1">$2</div>'),q=q.replace(/<slot\s+name=["']([^"']+)["']\s*\/>/gi,'<div data-slot="$1"></div>'),q=q.replace(/<slot\s*>([\s\S]*?)<\/slot>/gi,"<div data-default-slot>$1</div>"),q=q.replace(/<slot\s*\/>/gi,"<div data-default-slot></div>");let U="";if(K)U=`<link rel="stylesheet" href="${K}">`;return`/**
1858
1858
  * ${Z} Web Component
1859
1859
  * Auto-generated from stx component
1860
1860
  */
@@ -2317,7 +2317,7 @@ else { this.removeAttribute('${E}'); }`:`this.setAttribute('${E}', ${I.type==="o
2317
2317
  }
2318
2318
  else {
2319
2319
  this.removeAttribute('${E}');
2320
- }`:"",b=I.observer?`this.${I.observer}(value, oldValue);`:"",y=I.render!==!1?"this._scheduleRender();":"";return`
2320
+ }`:"",b=I.observer?`this.${I.observer}(value, oldValue);`:"",C=I.render!==!1?"this._scheduleRender();":"";return`
2321
2321
  get ${T}(): ${D} {
2322
2322
  return this._${T};
2323
2323
  }
@@ -2327,7 +2327,7 @@ else {
2327
2327
  if (oldValue === value) return;
2328
2328
  this._${T} = value;${S}
2329
2329
  ${b}
2330
- ${y}
2330
+ ${C}
2331
2331
  this.dispatchEvent(new CustomEvent('${T}-changed', {
2332
2332
  detail: { value, oldValue },
2333
2333
  bubbles: true
@@ -2933,14 +2933,14 @@ ${U}
2933
2933
  customElements.define('${Z}', ${G});
2934
2934
  `}async function AZ($,Z,Y,X){if(Z.length<1)return r("WebComponent","@webcomponent directive requires at least the tag name parameter",c.INVALID_DIRECTIVE_SYNTAX);let J=Z[0].replace(/['"]/g,""),G=(Y.__stx_options||{}).componentsDir||"components",K=[W1.join(W1.dirname(X),G,`${J}.stx`),W1.join(process.cwd(),G,`${J}.stx`),W1.join(W1.dirname(X),`${J}.stx`)],z=null;for(let W of K)if(await n(W)){z=await Bun.file(W).text();break}if(!z)return r("WebComponent",`Component file not found: ${J}.stx`,c.FILE_NOT_FOUND);let q=Uz(z,J);return`<script type="module">
2935
2935
  ${Wz(q)}
2936
- </script>`}var _3;var RZ=C(()=>{Q1();F0();_3={strategy:"attribute",attributeName:"data-v",preserveOriginal:!0}});var NZ={};p(NZ,{timingPlugin:()=>Oz,pluginManager:()=>_z,definePlugin:()=>t$,debugPlugin:()=>Hz,createVariablesPlugin:()=>Lz,createFilterPlugin:()=>jz,createDirectivePlugin:()=>Bz,PluginManager:()=>j3});function t$($){return $}class j3{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 J=X[$];if(J)try{let Q=await J(Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${X.name}" ${$} hook:`,Q)}}return Y}async runDirectiveHooks($,Z,Y){let X={...Y};for(let J of this.sortedPlugins){let Q=J[$];if(Q)try{let G=await Q(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 "${J.name}" ${$} hook:`,G)}}return X}}function Bz($,Z,Y={}){return{name:$,...Y,registerDirectives:()=>Z}}function jz($,Z,Y={}){return{name:$,...Y,registerFilters:()=>Z}}function Lz($){return t$({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var _z,Hz,Oz;var TZ=C(()=>{_z=new j3;Hz=t$({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)}}),Oz=t$({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 IZ={};p(IZ,{validateConfig:()=>Az,loadStxConfig:()=>$4,defineStxConfig:()=>wz,defaultConfig:()=>v1,config:()=>O3});import H3 from"fs";import I0 from"path";import{loadConfigWithResult as Fz}from"bunfig";function Vz($,Z){let Y=Z||"pages";if($)return{root:$,pagesDir:Y};let X=I0.join(process.cwd(),"resources","views"),J=I0.join(process.cwd(),"resources","layouts");if(H3.existsSync(X)&&H3.existsSync(J))return{root:"resources",pagesDir:"views"};let Q=I0.join(process.cwd(),"resources","views","pages");if(H3.existsSync(Q))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}async function $4($){if(!$){if(K5)return K5;if(e$)return e$}let Z=$?I0.resolve($):process.cwd(),Y=MZ.get(Z);if(Y)return Y;let X=(async()=>{let Q=(await Fz({name:"stx",alias:"ui",cwd:Z,defaultConfig:v1,verbose:!1})).config,G=Vz(Q.root,Q.pagesDir);if(Q.root=G.root,Q.pagesDir=G.pagesDir,Q.root&&Q.root!=="."){let K=Q.root;if(Q.partialsDir&&!I0.isAbsolute(Q.partialsDir))Q.partialsDir=I0.join(K,Q.partialsDir);if(Q.componentsDir&&!I0.isAbsolute(Q.componentsDir))Q.componentsDir=I0.join(K,Q.componentsDir);if(Q.layoutsDir&&!I0.isAbsolute(Q.layoutsDir))Q.layoutsDir=I0.join(K,Q.layoutsDir)}if(Q.plugins&&Q.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (TZ(),NZ)),z=[],q=[];for(let U of Q.plugins){let W=typeof U==="string"?U:U[0],_=typeof U==="string"?{}:U[1]||{};try{let B,j;try{B=await import(W),j=I0.dirname(K0.resolve(W))}catch{let L=I0.resolve(process.cwd(),W);B=await import(L),j=I0.dirname(L)}let H=B.default||B;if(K.register(H,Q),H.components){let L=I0.resolve(j,H.components);z.push(L)}if(H.pages){let L=I0.resolve(j,H.pages),F=_.path||"/";q.push({dir:L,prefix:F})}if(H.setup){let L={addDirective:(F)=>{Q.customDirectives=Q.customDirectives||[],Q.customDirectives.push(F)},addRoute:(F,O)=>{Q.apiRoutes=Q.apiRoutes||{},Q.apiRoutes[F]=O},addMiddleware:(F)=>{Q.middleware=Q.middleware||[],Q.middleware.push(F)},pluginDir:j,config:Q};await H.setup(_,L)}console.log(`[stx] Plugin loaded: ${H.name||W}`)}catch(B){console.warn(`[stx] Failed to load plugin ${W}:`,B.message)}}Q._pluginComponentDirs=z,Q._pluginPageDirs=q}return Q})();if(MZ.set(Z,X),!$)e$=X,X.then((J)=>{K5=J}).catch(()=>{});return X}function wz($){return $}function Az($){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,J)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`customDirectives[${J}].name`,message:"Custom directive must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`customDirectives[${J}].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,J)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`middleware[${J}].name`,message:"Middleware must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`middleware[${J}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!X.timing||!["before","after"].includes(X.timing))Z.push({path:`middleware[${J}].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((J,Q)=>{if(!J.pattern||typeof J.pattern!=="string")Z.push({path:`pwa.routes[${Q}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!X.includes(J.strategy))Z.push({path:`pwa.routes[${Q}].strategy`,message:`PWA route strategy must be one of: ${X.join(", ")}`,severity:"error"});if(J.maxAgeSeconds!==void 0&&(typeof J.maxAgeSeconds!=="number"||J.maxAgeSeconds<0))Z.push({path:`pwa.routes[${Q}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(J.maxEntries!==void 0&&(typeof J.maxEntries!=="number"||J.maxEntries<1))Z.push({path:`pwa.routes[${Q}].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((J)=>typeof J!=="number"||J<16||J>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((Q)=>!X.includes(Q)).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 v1,K5=null,MZ,e$=null,O3;var x5=C(()=>{G7();W7();F7();V7();R7();b8();$3();YZ();W3();RZ();v1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,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:A7,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:AZ,hasEndTag:!1,description:"Include a web component in the template"},U$,W$,q3,U3,K7,q7,U7,z7,s9,t9,S8,e7,...Z3],middleware:[],i18n:{defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},webComponents:{enabled:!1,outputDir:"dist/web-components",components:[]},docs:{enabled:!1,outputDir:"docs",format:"markdown",components:!0,templates:!0,directives:!0},streaming:{enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},hydration:{enabled:!1,mode:"islands",clientEntry:"src/client.ts",autoMarkers:!0,preload:"lazy"},router:{enabled:!0,container:"#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}};MZ=new Map;O3=new Proxy(v1,{get($,Z){if(K5&&Z in K5)return K5[Z];if(!e$)$4().catch((Y)=>{console.warn("[stx] Failed to load config file:",Y?.message||Y)});return $[Z]}})});var Sz={};p(Sz,{resetCssCache:()=>Iz,resetCrosswindCache:()=>Dz,rebuildCrosswindCSS:()=>Ez,loadCrosswindConfig:()=>A3,loadCrosswind:()=>w3,injectCrosswindCSS:()=>R3,getCachedCSS:()=>kz,generateCrosswindCSS:()=>SZ,extractClassNames:()=>kZ,buildCrosswindCSS:()=>EZ});import Y4 from"fs";import Y0 from"path";function V3($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function L3($,Z){if(G1.has($))G1.delete($);else if(G1.size>=Rz)G1.delete(G1.keys().next().value);G1.set($,Z)}async function Nz($){if(!_1)return null;try{let Z=Bun.file(Y0.join(_1,`cw-${V3($)}.css`));if(!await Z.exists())return null;return await Z.text()}catch{return null}}async function Tz($,Z){if(!_1)return;try{if(!Y4.existsSync(_1))Y4.mkdirSync(_1,{recursive:!0});await Bun.write(Y0.join(_1,`cw-${V3($)}.css`),Z)}catch{}}async function DZ($){try{let Z=await import($);if(Z&&Z.CSSGenerator)return{CSSGenerator:Z.CSSGenerator,config:Z.config,build:Z.build,defaultConfig:Z.defaultConfig}}catch{}return null}function Mz(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"",Y=process.cwd();while(Y!==Y0.dirname(Y))$.push(Y0.join(Y,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(Y0.join(Y,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(Y0.join(Y,"pantry","@cwcss","crosswind","dist","index.js")),$.push(Y0.join(Y,"pantry","@cwcss","crosswind","src","index.ts")),$.push(Y0.join(Y,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(Y0.join(Y,"pantry","@stacksjs","crosswind","dist","index.js")),Y=Y0.dirname(Y);if(Z){let X=[Y0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),Y0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),Y0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),Y0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),Y0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),Y0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...X)}return $.push(Y0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(Y0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function w3(){if(F3)return q5;F3=!0;try{let $=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Y of $){let X=await DZ(Y);if(X){if(q5=X,!process.env.STACKS_DEV_QUIET)console.log(`${z0.green}[Crosswind]${z0.reset} CSS engine loaded`);return q5}}let Z=Mz();for(let Y of Z)if(await Bun.file(Y).exists()){let X=await DZ(Y);if(X){if(q5=X,!process.env.STACKS_DEV_QUIET)console.log(`${z0.green}[Crosswind]${z0.reset} CSS engine loaded from ${Y0.dirname(Y0.dirname(Y))}`);return q5}}throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${z0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${z0.reset}`),console.warn(`${z0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${z0.reset}`),null}}function Iz(){G1.clear()}function Dz(){q5=null,F3=!1,c0=null,f5="",G1.clear(),Z4=null}async function A3($){try{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=Y0.relative($,Y.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${z0.green}[Crosswind]${z0.reset} Loaded config from ${X||Y.path}`);return Y.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${z0.yellow}[Crosswind]${z0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}async function EZ($){if(z5)return f5;z5=!0;try{let Z=await w3();if(!Z||!Z.build)return z5=!1,"";if(!c0)c0=await A3($);if(!c0)return z5=!1,"";let Y=Z.defaultConfig?.theme||{},X=c0.theme||{},J={...Z.defaultConfig,...c0,theme:{...Y,...X,extend:{...Y.extend||{},...X.extend||{}}}},Q=performance.now(),G=await Z.build(J),K=performance.now()-Q;if(f5=G.css,console.log(`${z0.cyan}[Crosswind]${z0.reset} Built ${G.classes.size} classes in ${K.toFixed(1)}ms`),J.output){let z=Y0.isAbsolute(J.output)?J.output:Y0.join($,J.output),q=Y0.dirname(z);if(!Y4.existsSync(q))Y4.mkdirSync(q,{recursive:!0});await Bun.write(z,G.css)}return z5=!1,G.css}catch(Z){return console.error(`${z0.red}[Crosswind]${z0.reset} Build error:`,Z),z5=!1,f5}}async function Ez($){c0=null,await EZ($)}function kz(){return f5}function kZ($){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 J=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,Q=J.exec($);while(Q!==null){let G=Q[1].match(/'([^']+)'/g);if(G){for(let K of G)for(let z of K.slice(1,-1).split(/\s+/))if(z.trim())Z.add(z.trim())}Q=J.exec($)}return Z}async function SZ($,Z){try{let Y=await w3();if(!Y)return"";let X=kZ($);if(X.size===0)return"";let J=Z?Y0.resolve(Z):process.cwd();if(!_1)_1=Y0.join(J,".stx/cache");let Q=[...X].sort().join(" "),G=`${Z4||"default"}::${Q}`,K=G1.get(G);if(K!==void 0)return L3(G,K),K;let z=await Nz(G);if(z!==null)return L3(G,z),z;if(!c0){let w=null;try{let{loadStxConfig:R}=await Promise.resolve().then(() => (x5(),IZ)),N=await R(J);if(N.css)if(typeof N.css==="string"){let M=Y0.isAbsolute(N.css)?N.css:Y0.resolve(J,N.css);if(await Bun.file(M).exists()){let T=await import(M);w=T.default||T,console.log(`${z0.green}[Crosswind]${z0.reset} Loaded config from stx.config.ts \u2192 ${N.css}`)}}else{if(w={...N.css,content:N.css.content||[],preflight:N.css.preflight??!0,minify:N.css.minify??!1},N.css.config){let M=Y0.isAbsolute(N.css.config)?N.css.config:Y0.resolve(J,N.css.config);if(await Bun.file(M).exists()){let T=await import(M);w={...T.default||T,...w}}}console.log(`${z0.green}[Crosswind]${z0.reset} Using inline CSS config from stx.config.ts`)}}catch{}c0=w||await A3(J);try{Z4=V3(JSON.stringify(c0??{}))}catch{Z4="unhashable"}}let q=Y.defaultConfig||Y.config,U=c0||{},W=q.theme||{},B=(U.theme||{}).extend||{},j={...W};if(Object.keys(B).length>0)j.extend=B;let H=[...q.safelist||[],...U.safelist||[]],L={...q,...U,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||U.shortcuts||{};for(let[w,R]of Object.entries(V)){if(!X.has(w)&&!H.includes(w))continue;let N=R.split(/\s+/).filter(Boolean);for(let M of N)F.generate(M)}O=F.toCSS(!0,!1);let A=O.split(`
2937
- `);for(let[w,R]of Object.entries(V)){if(!X.has(w)&&!H.includes(w))continue;let N=R.split(/\s+/).filter(Boolean),M=[],T=[];for(let I of N){let D=I.startsWith("dark:"),S=`.${(D?I.slice(5):I).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let b=0;b<A.length;b++){let y=A[b].trim();if(y===`${S} {`||y.startsWith(`${S} {`)){let m=b,x="";while(m<A.length){if(x+=A[m],A[m].includes("}"))break;m++}let h=x.match(/\{([^}]+)\}/);if(h)if(D)T.push(h[1].trim());else M.push(h[1].trim());break}}}if(M.length)O+=`
2936
+ </script>`}var _3;var RZ=P(()=>{Q1();F0();_3={strategy:"attribute",attributeName:"data-v",preserveOriginal:!0}});var NZ={};p(NZ,{timingPlugin:()=>Oz,pluginManager:()=>_z,definePlugin:()=>t$,debugPlugin:()=>Hz,createVariablesPlugin:()=>Lz,createFilterPlugin:()=>jz,createDirectivePlugin:()=>Bz,PluginManager:()=>j3});function t$($){return $}class j3{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 J=X[$];if(J)try{let Q=await J(Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${X.name}" ${$} hook:`,Q)}}return Y}async runDirectiveHooks($,Z,Y){let X={...Y};for(let J of this.sortedPlugins){let Q=J[$];if(Q)try{let G=await Q(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 "${J.name}" ${$} hook:`,G)}}return X}}function Bz($,Z,Y={}){return{name:$,...Y,registerDirectives:()=>Z}}function jz($,Z,Y={}){return{name:$,...Y,registerFilters:()=>Z}}function Lz($){return t$({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var _z,Hz,Oz;var TZ=P(()=>{_z=new j3;Hz=t$({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)}}),Oz=t$({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 IZ={};p(IZ,{validateConfig:()=>Az,loadStxConfig:()=>$4,defineStxConfig:()=>wz,defaultConfig:()=>v1,config:()=>O3});import H3 from"fs";import D0 from"path";import{loadConfigWithResult as Fz}from"bunfig";function Vz($,Z){let Y=Z||"pages";if($)return{root:$,pagesDir:Y};let X=D0.join(process.cwd(),"resources","views"),J=D0.join(process.cwd(),"resources","layouts");if(H3.existsSync(X)&&H3.existsSync(J))return{root:"resources",pagesDir:"views"};let Q=D0.join(process.cwd(),"resources","views","pages");if(H3.existsSync(Q))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}async function $4($){if(!$){if(K5)return K5;if(e$)return e$}let Z=$?D0.resolve($):process.cwd(),Y=MZ.get(Z);if(Y)return Y;let X=(async()=>{let Q=(await Fz({name:"stx",alias:"ui",cwd:Z,defaultConfig:v1,verbose:!1})).config,G=Vz(Q.root,Q.pagesDir);if(Q.root=G.root,Q.pagesDir=G.pagesDir,Q.root&&Q.root!=="."){let K=Q.root;if(Q.partialsDir&&!D0.isAbsolute(Q.partialsDir))Q.partialsDir=D0.join(K,Q.partialsDir);if(Q.componentsDir&&!D0.isAbsolute(Q.componentsDir))Q.componentsDir=D0.join(K,Q.componentsDir);if(Q.layoutsDir&&!D0.isAbsolute(Q.layoutsDir))Q.layoutsDir=D0.join(K,Q.layoutsDir)}if(Q.plugins&&Q.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (TZ(),NZ)),z=[],q=[];for(let U of Q.plugins){let W=typeof U==="string"?U:U[0],_=typeof U==="string"?{}:U[1]||{};try{let B,j;try{B=await import(W),j=D0.dirname(K0.resolve(W))}catch{let L=D0.resolve(process.cwd(),W);B=await import(L),j=D0.dirname(L)}let H=B.default||B;if(K.register(H,Q),H.components){let L=D0.resolve(j,H.components);z.push(L)}if(H.pages){let L=D0.resolve(j,H.pages),F=_.path||"/";q.push({dir:L,prefix:F})}if(H.setup){let L={addDirective:(F)=>{Q.customDirectives=Q.customDirectives||[],Q.customDirectives.push(F)},addRoute:(F,O)=>{Q.apiRoutes=Q.apiRoutes||{},Q.apiRoutes[F]=O},addMiddleware:(F)=>{Q.middleware=Q.middleware||[],Q.middleware.push(F)},pluginDir:j,config:Q};await H.setup(_,L)}console.log(`[stx] Plugin loaded: ${H.name||W}`)}catch(B){console.warn(`[stx] Failed to load plugin ${W}:`,B.message)}}Q._pluginComponentDirs=z,Q._pluginPageDirs=q}return Q})();if(MZ.set(Z,X),!$)e$=X,X.then((J)=>{K5=J}).catch(()=>{});return X}function wz($){return $}function Az($){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,J)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`customDirectives[${J}].name`,message:"Custom directive must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`customDirectives[${J}].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,J)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`middleware[${J}].name`,message:"Middleware must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`middleware[${J}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!X.timing||!["before","after"].includes(X.timing))Z.push({path:`middleware[${J}].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((J,Q)=>{if(!J.pattern||typeof J.pattern!=="string")Z.push({path:`pwa.routes[${Q}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!X.includes(J.strategy))Z.push({path:`pwa.routes[${Q}].strategy`,message:`PWA route strategy must be one of: ${X.join(", ")}`,severity:"error"});if(J.maxAgeSeconds!==void 0&&(typeof J.maxAgeSeconds!=="number"||J.maxAgeSeconds<0))Z.push({path:`pwa.routes[${Q}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(J.maxEntries!==void 0&&(typeof J.maxEntries!=="number"||J.maxEntries<1))Z.push({path:`pwa.routes[${Q}].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((J)=>typeof J!=="number"||J<16||J>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((Q)=>!X.includes(Q)).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 v1,K5=null,MZ,e$=null,O3;var x5=P(()=>{G7();W7();F7();V7();R7();b8();$3();YZ();W3();RZ();v1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,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:A7,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:AZ,hasEndTag:!1,description:"Include a web component in the template"},U$,W$,q3,U3,K7,q7,U7,z7,s9,t9,S8,e7,...Z3],middleware:[],i18n:{defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},webComponents:{enabled:!1,outputDir:"dist/web-components",components:[]},docs:{enabled:!1,outputDir:"docs",format:"markdown",components:!0,templates:!0,directives:!0},streaming:{enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},hydration:{enabled:!1,mode:"islands",clientEntry:"src/client.ts",autoMarkers:!0,preload:"lazy"},router:{enabled:!0,container:"#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}};MZ=new Map;O3=new Proxy(v1,{get($,Z){if(K5&&Z in K5)return K5[Z];if(!e$)$4().catch((Y)=>{console.warn("[stx] Failed to load config file:",Y?.message||Y)});return $[Z]}})});var Sz={};p(Sz,{resetCssCache:()=>Iz,resetCrosswindCache:()=>Dz,rebuildCrosswindCSS:()=>Ez,loadCrosswindConfig:()=>A3,loadCrosswind:()=>w3,injectCrosswindCSS:()=>R3,getCachedCSS:()=>kz,generateCrosswindCSS:()=>SZ,extractClassNames:()=>kZ,buildCrosswindCSS:()=>EZ});import Y4 from"fs";import Y0 from"path";function V3($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function L3($,Z){if(G1.has($))G1.delete($);else if(G1.size>=Rz)G1.delete(G1.keys().next().value);G1.set($,Z)}async function Nz($){if(!_1)return null;try{let Z=Bun.file(Y0.join(_1,`cw-${V3($)}.css`));if(!await Z.exists())return null;return await Z.text()}catch{return null}}async function Tz($,Z){if(!_1)return;try{if(!Y4.existsSync(_1))Y4.mkdirSync(_1,{recursive:!0});await Bun.write(Y0.join(_1,`cw-${V3($)}.css`),Z)}catch{}}async function DZ($){try{let Z=await import($);if(Z&&Z.CSSGenerator)return{CSSGenerator:Z.CSSGenerator,config:Z.config,build:Z.build,defaultConfig:Z.defaultConfig}}catch{}return null}function Mz(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"",Y=process.cwd();while(Y!==Y0.dirname(Y))$.push(Y0.join(Y,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(Y0.join(Y,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(Y0.join(Y,"pantry","@cwcss","crosswind","dist","index.js")),$.push(Y0.join(Y,"pantry","@cwcss","crosswind","src","index.ts")),$.push(Y0.join(Y,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(Y0.join(Y,"pantry","@stacksjs","crosswind","dist","index.js")),Y=Y0.dirname(Y);if(Z){let X=[Y0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),Y0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),Y0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),Y0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),Y0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),Y0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...X)}return $.push(Y0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(Y0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function w3(){if(F3)return q5;F3=!0;try{let $=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Y of $){let X=await DZ(Y);if(X){if(q5=X,!process.env.STACKS_DEV_QUIET)console.log(`${z0.green}[Crosswind]${z0.reset} CSS engine loaded`);return q5}}let Z=Mz();for(let Y of Z)if(await Bun.file(Y).exists()){let X=await DZ(Y);if(X){if(q5=X,!process.env.STACKS_DEV_QUIET)console.log(`${z0.green}[Crosswind]${z0.reset} CSS engine loaded from ${Y0.dirname(Y0.dirname(Y))}`);return q5}}throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${z0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${z0.reset}`),console.warn(`${z0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${z0.reset}`),null}}function Iz(){G1.clear()}function Dz(){q5=null,F3=!1,c0=null,f5="",G1.clear(),Z4=null}async function A3($){try{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=Y0.relative($,Y.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${z0.green}[Crosswind]${z0.reset} Loaded config from ${X||Y.path}`);return Y.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${z0.yellow}[Crosswind]${z0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}async function EZ($){if(z5)return f5;z5=!0;try{let Z=await w3();if(!Z||!Z.build)return z5=!1,"";if(!c0)c0=await A3($);if(!c0)return z5=!1,"";let Y=Z.defaultConfig?.theme||{},X=c0.theme||{},J={...Z.defaultConfig,...c0,theme:{...Y,...X,extend:{...Y.extend||{},...X.extend||{}}}},Q=performance.now(),G=await Z.build(J),K=performance.now()-Q;if(f5=G.css,console.log(`${z0.cyan}[Crosswind]${z0.reset} Built ${G.classes.size} classes in ${K.toFixed(1)}ms`),J.output){let z=Y0.isAbsolute(J.output)?J.output:Y0.join($,J.output),q=Y0.dirname(z);if(!Y4.existsSync(q))Y4.mkdirSync(q,{recursive:!0});await Bun.write(z,G.css)}return z5=!1,G.css}catch(Z){return console.error(`${z0.red}[Crosswind]${z0.reset} Build error:`,Z),z5=!1,f5}}async function Ez($){c0=null,await EZ($)}function kz(){return f5}function kZ($){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 J=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,Q=J.exec($);while(Q!==null){let G=Q[1].match(/'([^']+)'/g);if(G){for(let K of G)for(let z of K.slice(1,-1).split(/\s+/))if(z.trim())Z.add(z.trim())}Q=J.exec($)}return Z}async function SZ($,Z){try{let Y=await w3();if(!Y)return"";let X=kZ($);if(X.size===0)return"";let J=Z?Y0.resolve(Z):process.cwd();if(!_1)_1=Y0.join(J,".stx/cache");let Q=[...X].sort().join(" "),G=`${Z4||"default"}::${Q}`,K=G1.get(G);if(K!==void 0)return L3(G,K),K;let z=await Nz(G);if(z!==null)return L3(G,z),z;if(!c0){let w=null;try{let{loadStxConfig:R}=await Promise.resolve().then(() => (x5(),IZ)),N=await R(J);if(N.css)if(typeof N.css==="string"){let M=Y0.isAbsolute(N.css)?N.css:Y0.resolve(J,N.css);if(await Bun.file(M).exists()){let T=await import(M);w=T.default||T,console.log(`${z0.green}[Crosswind]${z0.reset} Loaded config from stx.config.ts \u2192 ${N.css}`)}}else{if(w={...N.css,content:N.css.content||[],preflight:N.css.preflight??!0,minify:N.css.minify??!1},N.css.config){let M=Y0.isAbsolute(N.css.config)?N.css.config:Y0.resolve(J,N.css.config);if(await Bun.file(M).exists()){let T=await import(M);w={...T.default||T,...w}}}console.log(`${z0.green}[Crosswind]${z0.reset} Using inline CSS config from stx.config.ts`)}}catch{}c0=w||await A3(J);try{Z4=V3(JSON.stringify(c0??{}))}catch{Z4="unhashable"}}let q=Y.defaultConfig||Y.config,U=c0||{},W=q.theme||{},B=(U.theme||{}).extend||{},j={...W};if(Object.keys(B).length>0)j.extend=B;let H=[...q.safelist||[],...U.safelist||[]],L={...q,...U,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||U.shortcuts||{};for(let[w,R]of Object.entries(V)){if(!X.has(w)&&!H.includes(w))continue;let N=R.split(/\s+/).filter(Boolean);for(let M of N)F.generate(M)}O=F.toCSS(!0,!1);let A=O.split(`
2937
+ `);for(let[w,R]of Object.entries(V)){if(!X.has(w)&&!H.includes(w))continue;let N=R.split(/\s+/).filter(Boolean),M=[],T=[];for(let I of N){let D=I.startsWith("dark:"),S=`.${(D?I.slice(5):I).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let b=0;b<A.length;b++){let C=A[b].trim();if(C===`${S} {`||C.startsWith(`${S} {`)){let m=b,f="";while(m<A.length){if(f+=A[m],A[m].includes("}"))break;m++}let h=f.match(/\{([^}]+)\}/);if(h)if(D)T.push(h[1].trim());else M.push(h[1].trim());break}}}if(M.length)O+=`
2938
2938
  .${w} { ${M.join(" ")} }`;if(T.length)O+=`
2939
2939
  @media (prefers-color-scheme: dark) { .dark .${w} { ${T.join(" ")} } }`}return L3(G,O),Tz(G,O),O}catch(Y){return console.warn("Failed to generate Crosswind CSS:",Y),""}}async function R3($,Z){let Y=await SZ($,Z);if(!Y)return $;let X=`<style data-crosswind="generated">
2940
2940
  ${Y}
2941
2941
  </style>`,J=/<style data-crosswind="generated">[\s\S]*?<\/style>/g;if(J.test($)){let Q=!1;return $.replace(J,()=>{if(Q)return"";return Q=!0,X})}if($.includes("</head>"))return $.replace("</head>",`${X}
2942
2942
  </head>`);if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
2943
- ${X}`);return X+$}var q5=null,F3=!1,c0=null,f5="",z5=!1,Rz=256,G1,_1=null,Z4=null;var bZ=C(()=>{i9();G1=new Map});function yz(){return`stx-${++bz}-${Date.now().toString(36)}`}function Cz($){let Z={id:yz(),element:$||null,mountHooks:[],destroyHooks:[],updateHooks:[],refs:new Map,watchers:[],isMounted:!1};return CZ.set(Z.id,Z),Z}function yZ($){X4=$}function N3(){return X4}function T3($){if(!X4)return console.warn(`[stx] ${$} must be called within a component setup.`),null;return X4}function Pz($){let Z=T3("onMount");if(Z)Z.mountHooks.push($)}function vz($){let Z=T3("onDestroy");if(Z)Z.destroyHooks.push($)}function xz($){let Z=T3("onUpdate");if(Z)Z.updateHooks.push($)}function fz($=null){let Z={value:$,get current(){return this.value}},Y=N3();if(Y){let X=`ref-${Y.refs.size}`;Y.refs.set(X,Z)}return Z}function LV($,Z=null){let Y=fz(Z),X=N3();if(X)X.refs.set($,Y);return Y}function FV($,Z,Y={}){let X,J,Q=!0,G=()=>{if(!Q)return;let U=$();if(X!==U||Y.immediate){if(J)J();J=Z(U,X),X=U}};if(Y.immediate)G();else X=$();let K=setInterval(G,16),z=()=>{if(Q=!1,clearInterval(K),J)J()},q=N3();if(q)q.watchers.push({stop:z}),q.destroyHooks.push(z);return z}function VV($){let Z,Y=!0;return{get value(){if(Y)Z=$(),Y=!1,queueMicrotask(()=>{Y=!0});return Z}}}function wV($,Z){let Y=Cz($);yZ(Y);try{Z()}finally{yZ(null)}return Y}function AV($){if($.isMounted)return;$.isMounted=!0;for(let Z of $.mountHooks)try{let Y=Z();if(typeof Y==="function")$.destroyHooks.push(Y)}catch(Y){console.error("[stx] Error in onMount hook:",Y)}}function RV($){if(!$.isMounted)return;for(let Z of $.updateHooks)try{let Y=Z();if(typeof Y==="function")$.destroyHooks.push(Y)}catch(Y){console.error("[stx] Error in onUpdate hook:",Y)}}function NV($){if(!$.isMounted)return;for(let Z of $.watchers)Z.stop();for(let Z of $.destroyHooks)try{Z()}catch(Y){console.error("[stx] Error in onDestroy hook:",Y)}for(let Z of $.refs.values())Z.value=null;$.isMounted=!1,CZ.delete($.id)}function PZ(){return`
2943
+ ${X}`);return X+$}var q5=null,F3=!1,c0=null,f5="",z5=!1,Rz=256,G1,_1=null,Z4=null;var bZ=P(()=>{i9();G1=new Map});function yz(){return`stx-${++bz}-${Date.now().toString(36)}`}function Cz($){let Z={id:yz(),element:$||null,mountHooks:[],destroyHooks:[],updateHooks:[],refs:new Map,watchers:[],isMounted:!1};return CZ.set(Z.id,Z),Z}function yZ($){X4=$}function N3(){return X4}function T3($){if(!X4)return console.warn(`[stx] ${$} must be called within a component setup.`),null;return X4}function Pz($){let Z=T3("onMount");if(Z)Z.mountHooks.push($)}function vz($){let Z=T3("onDestroy");if(Z)Z.destroyHooks.push($)}function xz($){let Z=T3("onUpdate");if(Z)Z.updateHooks.push($)}function fz($=null){let Z={value:$,get current(){return this.value}},Y=N3();if(Y){let X=`ref-${Y.refs.size}`;Y.refs.set(X,Z)}return Z}function LV($,Z=null){let Y=fz(Z),X=N3();if(X)X.refs.set($,Y);return Y}function FV($,Z,Y={}){let X,J,Q=!0,G=()=>{if(!Q)return;let U=$();if(X!==U||Y.immediate){if(J)J();J=Z(U,X),X=U}};if(Y.immediate)G();else X=$();let K=setInterval(G,16),z=()=>{if(Q=!1,clearInterval(K),J)J()},q=N3();if(q)q.watchers.push({stop:z}),q.destroyHooks.push(z);return z}function VV($){let Z,Y=!0;return{get value(){if(Y)Z=$(),Y=!1,queueMicrotask(()=>{Y=!0});return Z}}}function wV($,Z){let Y=Cz($);yZ(Y);try{Z()}finally{yZ(null)}return Y}function AV($){if($.isMounted)return;$.isMounted=!0;for(let Z of $.mountHooks)try{let Y=Z();if(typeof Y==="function")$.destroyHooks.push(Y)}catch(Y){console.error("[stx] Error in onMount hook:",Y)}}function RV($){if(!$.isMounted)return;for(let Z of $.updateHooks)try{let Y=Z();if(typeof Y==="function")$.destroyHooks.push(Y)}catch(Y){console.error("[stx] Error in onUpdate hook:",Y)}}function NV($){if(!$.isMounted)return;for(let Z of $.watchers)Z.stop();for(let Z of $.destroyHooks)try{Z()}catch(Y){console.error("[stx] Error in onDestroy hook:",Y)}for(let Z of $.refs.values())Z.value=null;$.isMounted=!1,CZ.delete($.id)}function PZ(){return`
2944
2944
  // STX Lifecycle Runtime
2945
2945
  (function() {
2946
2946
  if (typeof window === 'undefined') return;
@@ -3285,7 +3285,7 @@ else {
3285
3285
 
3286
3286
  console.log('[stx] Lifecycle runtime initialized');
3287
3287
  })();
3288
- `}function M3($){return Symbol($)}function TV($,Z){(B1.length>0?B1[B1.length-1]:J4).set($,Z)}function MV($,Z){for(let Y=B1.length-1;Y>=0;Y--){let X=B1[Y];if(X.has($))return X.get($)}if(J4.has($))return J4.get($);if(arguments.length>1)return Z;console.warn(`[stx] Injection "${String($)}" not found.`);return}function gz(){B1.push(new Map)}function hz(){B1.pop()}async function IV($){gz();try{return await $()}finally{hz()}}function DV(){J4.clear(),B1.length=0}var X4=null,CZ,bz=0,jV,HV,OV,J4,B1,EV,kV,SV;var vZ=C(()=>{CZ=new Map;jV=Pz,HV=vz,OV=xz;J4=new Map,B1=[];EV=M3("theme"),kV=M3("router"),SV=M3("i18n")});import*as fZ from"crypto";function xZ($){let Z=/\$(\w+)\./g,Y=[],X;while((X=Z.exec($))!==null)if(!Y.includes(X[1]))Y.push(X[1]);return Y}function dz(){return`stx-${fZ.randomBytes(4).toString("hex")}`}function mz($){return/\$\w+\./.test($)}function uz($){let Z=[],Y=new Set,X=/<(\w+)([^>]*?)(\s*\/?>)/g,J=$;return J=J.replace(X,(Q,G,K,z)=>{if(["script","style","template"].includes(G.toLowerCase()))return Q;let q=[],U=!1,W=K,_=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,B=[...K.matchAll(_)];for(let L of B){let F=L[0],O=L[1],V=L[2];if(mz(V)){U=!0;let A=V.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(A){let w=A[1];if(q.push({attr:O,expr:w,fullMatch:F,originalAttr:O}),xZ(w).forEach((N)=>Y.add(N)),O==="text")W=W.replace(F,"");else if(O==="class")W=W.replace(F,'class=""');else if(O==="disabled"||O==="hidden")W=W.replace(F,"");else W=W.replace(F,`${O}=""`)}}}if(!U)return Q;let j=W.match(/\bid\s*=\s*"([^"]+)"/),H;if(j)H=j[1];else H=dz(),W=` id="${H}"${W}`;for(let L of q)Z.push({elementId:H,attribute:L.attr,expression:L.expr,stores:xZ(L.expr)});return`<${G}${W}${z}`}),{html:J,bindings:Z,stores:Y}}function lz($,Z){if($.length===0)return"";let Y=Array.from(Z),X=`
3288
+ `}function M3($){return Symbol($)}function TV($,Z){(B1.length>0?B1[B1.length-1]:J4).set($,Z)}function MV($,Z){for(let Y=B1.length-1;Y>=0;Y--){let X=B1[Y];if(X.has($))return X.get($)}if(J4.has($))return J4.get($);if(arguments.length>1)return Z;console.warn(`[stx] Injection "${String($)}" not found.`);return}function gz(){B1.push(new Map)}function hz(){B1.pop()}async function IV($){gz();try{return await $()}finally{hz()}}function DV(){J4.clear(),B1.length=0}var X4=null,CZ,bz=0,jV,HV,OV,J4,B1,EV,kV,SV;var vZ=P(()=>{CZ=new Map;jV=Pz,HV=vz,OV=xz;J4=new Map,B1=[];EV=M3("theme"),kV=M3("router"),SV=M3("i18n")});import*as fZ from"crypto";function xZ($){let Z=/\$(\w+)\./g,Y=[],X;while((X=Z.exec($))!==null)if(!Y.includes(X[1]))Y.push(X[1]);return Y}function dz(){return`stx-${fZ.randomBytes(4).toString("hex")}`}function mz($){return/\$\w+\./.test($)}function uz($){let Z=[],Y=new Set,X=/<(\w+)([^>]*?)(\s*\/?>)/g,J=$;return J=J.replace(X,(Q,G,K,z)=>{if(["script","style","template"].includes(G.toLowerCase()))return Q;let q=[],U=!1,W=K,_=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,B=[...K.matchAll(_)];for(let L of B){let F=L[0],O=L[1],V=L[2];if(mz(V)){U=!0;let A=V.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(A){let w=A[1];if(q.push({attr:O,expr:w,fullMatch:F,originalAttr:O}),xZ(w).forEach((N)=>Y.add(N)),O==="text")W=W.replace(F,"");else if(O==="class")W=W.replace(F,'class=""');else if(O==="disabled"||O==="hidden")W=W.replace(F,"");else W=W.replace(F,`${O}=""`)}}}if(!U)return Q;let j=W.match(/\bid\s*=\s*"([^"]+)"/),H;if(j)H=j[1];else H=dz(),W=` id="${H}"${W}`;for(let L of q)Z.push({elementId:H,attribute:L.attr,expression:L.expr,stores:xZ(L.expr)});return`<${G}${W}${z}`}),{html:J,bindings:Z,stores:Y}}function lz($,Z){if($.length===0)return"";let Y=Array.from(Z),X=`
3289
3289
  <script>
3290
3290
  (function() {
3291
3291
  'use strict';
@@ -3549,7 +3549,7 @@ else {
3549
3549
  `)}
3550
3550
  })();
3551
3551
  </script>`}function sz($){let Z=pZ($);if(Z.length===0)return{template:$,bindings:[]};let Y=$,X=[];for(let J=Z.length-1;J>=0;J--){let Q=Z[J],G=Q.originalTag;if(!G.includes(" id="))G=G.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${Q.elementId}"`);else{let K=G.match(/id=["']([^"']+)["']/);if(K)for(let z of Q.events)z.elementId=K[1]}for(let K of Q.events){let z=K.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),q=new RegExp(`\\s*${z}\\s*=\\s*"[^"]*"`,"g"),U=new RegExp(`\\s*${z}\\s*=\\s*'[^']*'`,"g");G=G.replace(q,""),G=G.replace(U,"")}Y=Y.slice(0,Q.startIndex)+G+Y.slice(Q.endIndex),X.push(...Q.events)}return{template:Y,bindings:X}}function cZ($,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:z,bindings:q}=sz($),U=Z.__stx_event_bindings||[];return Z.__stx_event_bindings=[...U,...q],z}let J=pZ($);if(J.length===0)return $;let Q=$;for(let z=J.length-1;z>=0;z--){let q=J[z],U=q.originalTag;if(!U.includes(" id="))U=U.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${q.elementId}"`);else{let W=U.match(/id=["']([^"']+)["']/);if(W)for(let _ of q.events)_.elementId=W[1]}for(let W of q.events){let _=W.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),B=new RegExp(`\\s*${_}\\s*=\\s*"[^"]*"`,"g"),j=new RegExp(`\\s*${_}\\s*=\\s*'[^']*'`,"g");U=U.replace(B,""),U=U.replace(j,"")}Q=Q.slice(0,q.startIndex)+U+Q.slice(q.endIndex)}let G=oz(J),K=Q.lastIndexOf("</body>");if(K!==-1)Q=Q.slice(0,K)+G+`
3552
- `+Q.slice(K);else Q+=G;return Q}function CV($){return/@[a-z]+(?:\.[a-z]+)*\s*=\s*["'][^"']*["']/i.test($)}var dZ,mZ,pz,lZ;var iZ=C(()=>{dZ=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"]),mZ={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"},pz=new Set(["ctrl","alt","shift","meta"]),lZ={left:0,middle:1,right:2}});function Q4($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function nZ($,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 az($){let Z=[],Y=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,X;while((X=Y.exec($))!==null){let[J,Q,G]=X,K=X.index,z=nZ(G,"x-data");if(!z)continue;let q=`__stx_scope_${sZ++}`,U=nZ(G,"x-init"),W=tz($,Q,K+J.length),_=$.slice(K,W.endIndex),B=ez(_);Z.push({id:q,selector:`[data-stx-scope="${q}"]`,stateExpr:z,initExpr:U,bindings:[],refs:B})}return Z}function tz($,Z,Y){let X=1,J=Y,Q=new RegExp(`<${Z}(?:\\s|>)`,"gi"),G=new RegExp(`</${Z}>`,"gi"),K=new RegExp(`<${Z}[^>]*/\\s*>`,"gi");while(X>0&&J<$.length){Q.lastIndex=J,G.lastIndex=J,K.lastIndex=J;let z=Q.exec($),q=G.exec($),U=K.exec($);if(U&&U.index<(z?.index??1/0)){J=U.index+U[0].length;continue}if(!q)return{endIndex:$.length};if(z&&z.index<q.index)X++,J=z.index+z[0].length;else{if(X--,X===0)return{endIndex:q.index+q[0].length};J=q.index+q[0].length}}return{endIndex:$.length}}function ez($){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,J;while((J=X.exec(Y))!==null){let[,Q,G]=J,K=$q(Q);Z.set(G,K)}return Z}function $q($){let Z=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(Z)return Z[1];return`__stx_el_${rz++}`}function Zq(){return`
3552
+ `+Q.slice(K);else Q+=G;return Q}function CV($){return/@[a-z]+(?:\.[a-z]+)*\s*=\s*["'][^"']*["']/i.test($)}var dZ,mZ,pz,lZ;var iZ=P(()=>{dZ=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"]),mZ={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"},pz=new Set(["ctrl","alt","shift","meta"]),lZ={left:0,middle:1,right:2}});function Q4($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function nZ($,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 az($){let Z=[],Y=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,X;while((X=Y.exec($))!==null){let[J,Q,G]=X,K=X.index,z=nZ(G,"x-data");if(!z)continue;let q=`__stx_scope_${sZ++}`,U=nZ(G,"x-init"),W=tz($,Q,K+J.length),_=$.slice(K,W.endIndex),B=ez(_);Z.push({id:q,selector:`[data-stx-scope="${q}"]`,stateExpr:z,initExpr:U,bindings:[],refs:B})}return Z}function tz($,Z,Y){let X=1,J=Y,Q=new RegExp(`<${Z}(?:\\s|>)`,"gi"),G=new RegExp(`</${Z}>`,"gi"),K=new RegExp(`<${Z}[^>]*/\\s*>`,"gi");while(X>0&&J<$.length){Q.lastIndex=J,G.lastIndex=J,K.lastIndex=J;let z=Q.exec($),q=G.exec($),U=K.exec($);if(U&&U.index<(z?.index??1/0)){J=U.index+U[0].length;continue}if(!q)return{endIndex:$.length};if(z&&z.index<q.index)X++,J=z.index+z[0].length;else{if(X--,X===0)return{endIndex:q.index+q[0].length};J=q.index+q[0].length}}return{endIndex:$.length}}function ez($){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,J;while((J=X.exec(Y))!==null){let[,Q,G]=J,K=$q(Q);Z.set(G,K)}return Z}function $q($){let Z=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(Z)return Z[1];return`__stx_el_${rz++}`}function Zq(){return`
3553
3553
  // STX Reactive Runtime - x-cloak and transition CSS
3554
3554
  (function() {
3555
3555
  var style = document.createElement('style');
@@ -3768,12 +3768,12 @@ window.__stx_reactive = (function() {
3768
3768
  ${Zq()}
3769
3769
  ${Y}
3770
3770
  </script>`}function rZ($,Z,Y){if(sZ=0,!Jq($))return $;let X=az($);if(X.length===0)return $;let J=Xq($,X),Q=Yq(X,Z),G=J.lastIndexOf("</body>");if(G!==-1)J=J.slice(0,G)+Q+`
3771
- `+J.slice(G);else J+=Q;return J}function Xq($,Z){let Y=$;for(let X of Z){let Q=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${Q4(X.stateExpr)}["']`,"gi").exec(Y);if(Q)X.id=Q[1],X.selector=`[data-stx-scope="${X.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${Q4(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*"${Q4(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*'${Q4(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 Jq($){return/x-data\s*=\s*["']/.test($)}var sZ=0,rz=0;var aZ=C(()=>{u0()});import Qq from"fs";import I3 from"path";import{createHighlighter as Gq}from"ts-syntax-highlighter";async function K4($,Z={}){try{if(!await n($))throw Error(`Markdown file not found: ${$}`);let X=(await Qq.promises.stat($)).mtime.getTime();if(Z.cache&&D3.has($)){let W=D3.get($);if(W.updatedAt>=X)return{content:W.content,data:W.data}}let J=await Bun.file($).text(),{data:Q,content:G}=Z8(J),K=Z.markdown||O3.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},q=b5(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)q=await Kq(q,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let U={content:q,data:Q||{}};if(Z.cache)D3.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:J0("Markdown File",`Error reading/parsing markdown file: ${X}`,$,"",0,""),data:{}}}}async function Kq($,Z,Y){let X=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!G4)try{G4=await Gq({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let J=async(K,z,q,U)=>{let W=U.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),_=q||(Y?"text":"");if(!_)return K;try{if(!G4.getSupportedLanguages().includes(_))return K;return(await G4.highlight(W,_,{theme:Z})).html}catch(B){console.error(`Error highlighting code block with language ${q}:`,B)}return K},Q=$,G=$.matchAll(X);for(let K of G){let[z,q,U,W]=K,_=await J(z,q,U,W);Q=Q.replace(z,_)}return Q}async function tZ($,Z,Y="",X={}){return await zq($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,z,q)=>{try{let U=K;if(!I3.isAbsolute(K))U=I3.resolve(I3.dirname(Y),K);let W={};if(z)try{try{W=JSON.parse(z)}catch{if(X.debug)console.warn("Using safer alternative for parsing JS object literal");let O=z.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let V of O){let A=V.indexOf(":");if(A>0){let w=V.substring(0,A).trim(),R=V.substring(A+1).trim(),N=R.startsWith('"')&&R.endsWith('"'),M=R.startsWith("'")&&R.endsWith("'");if(N||M)R=R.substring(1,R.length-1);W[w]=R}}}}catch(F){if(X.debug)console.error("Error parsing context in @markdown-file directive:",F)}let{content:_,data:B}=await K4(U,X),j={...Z,...B,...W},H=_,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 W=U instanceof Error?U.message:String(U);return J0("Markdown File",`Error including markdown file: ${W}`,Y,$,q,G)}})}async function zq($,Z,Y){let X=[],J;while((J=Z.exec($))!==null){let K=J[0],z=J.index,q=J;X.push(Y(...q).then((U)=>({match:K,replacement:U,index:z})))}let Q=await Promise.all(X);Q.sort((K,z)=>z.index-K.index);let G=$;for(let{match:K,replacement:z}of Q)G=G.replace(K,()=>z);return G}var D3,G4=null;var E3=C(()=>{x5();F0();D3=new Map});function j1($,Z){try{let Y=$.trim();if($0(Y))return Z0(Y,Object.keys(Z))(...Object.values(Z));else return e(Y,Z)}catch{return!1}}var eZ=C(()=>{R0()});class z4{source;pos=0;line=1;column=0;tokens=[];constructor($){this.source=$}tokenize(){this.tokens=[],this.pos=0,this.line=1,this.column=0;while(this.pos<this.source.length){let $=this.nextToken();if($)this.tokens.push($)}return this.tokens.push({type:"EOF",value:"",start:this.pos,end:this.pos,line:this.line,column:this.column}),this.tokens}nextToken(){if(this.pos>=this.source.length)return null;let $=this.pos,Z=this.line,Y=this.column,X=this.source[this.pos];if(/\s/.test(X))return this.readWhitespace($,Z,Y);if(X==="/"&&this.peek(1)==="/")return this.readLineComment($,Z,Y);if(X==="/"&&this.peek(1)==="*")return this.readBlockComment($,Z,Y);if(X==='"'||X==="'")return this.readString(X,$,Z,Y);if(X==="`")return this.readTemplateString($,Z,Y);if(/\d/.test(X)||X==="."&&/\d/.test(this.peek(1)||""))return this.readNumber($,Z,Y);if(/[a-z_$]/i.test(X))return this.readIdentifier($,Z,Y);if(X==="{"){if(this.peek(1)==="{"&&this.peek(2)==="{")return this.advance(3),{type:"RAW_START",value:"{{{",start:$,end:this.pos,line:Z,column:Y};if(this.peek(1)==="{")return this.advance(2),{type:"EXPRESSION_START",value:"{{",start:$,end:this.pos,line:Z,column:Y};if(this.peek(1)==="!"&&this.peek(2)==="!")return this.advance(3),{type:"RAW_START",value:"{!!",start:$,end:this.pos,line:Z,column:Y}}if(X==="}"){if(this.peek(1)==="}"&&this.peek(2)==="}")return this.advance(3),{type:"RAW_END",value:"}}}",start:$,end:this.pos,line:Z,column:Y};if(this.peek(1)==="}")return this.advance(2),{type:"EXPRESSION_END",value:"}}",start:$,end:this.pos,line:Z,column:Y}}if(X==="!"&&this.peek(1)==="!"&&this.peek(2)==="}")return this.advance(3),{type:"RAW_END",value:"!!}",start:$,end:this.pos,line:Z,column:Y};if(X==="@"&&/[a-z]/i.test(this.peek(1)||""))return this.readDirective($,Z,Y);let J=["===","!==","==","!=","<=",">=","&&","||","??","++","--","+=","-=","*=","/=","%=","**","=>","?.","...","<<",">>",">>>","&=","|=","^="];for(let Q of J)if(this.source.slice(this.pos,this.pos+Q.length)===Q)return this.advance(Q.length),{type:"OPERATOR",value:Q,start:$,end:this.pos,line:Z,column:Y};if(/[+\-*/%<>=!&|^~?:]/.test(X))return this.advance(),{type:"OPERATOR",value:X,start:$,end:this.pos,line:Z,column:Y};if(/[()[\]{},;.]/.test(X))return this.advance(),{type:"PUNCTUATION",value:X,start:$,end:this.pos,line:Z,column:Y};return this.advance(),{type:"PUNCTUATION",value:X,start:$,end:this.pos,line:Z,column:Y}}readWhitespace($,Z,Y){while(this.pos<this.source.length&&/\s/.test(this.source[this.pos]))this.advance();return{type:"WHITESPACE",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readLineComment($,Z,Y){this.advance(2);while(this.pos<this.source.length&&this.source[this.pos]!==`
3771
+ `+J.slice(G);else J+=Q;return J}function Xq($,Z){let Y=$;for(let X of Z){let Q=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${Q4(X.stateExpr)}["']`,"gi").exec(Y);if(Q)X.id=Q[1],X.selector=`[data-stx-scope="${X.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${Q4(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*"${Q4(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*'${Q4(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 Jq($){return/x-data\s*=\s*["']/.test($)}var sZ=0,rz=0;var aZ=P(()=>{u0()});import Qq from"fs";import I3 from"path";import{createHighlighter as Gq}from"ts-syntax-highlighter";async function K4($,Z={}){try{if(!await n($))throw Error(`Markdown file not found: ${$}`);let X=(await Qq.promises.stat($)).mtime.getTime();if(Z.cache&&D3.has($)){let W=D3.get($);if(W.updatedAt>=X)return{content:W.content,data:W.data}}let J=await Bun.file($).text(),{data:Q,content:G}=Z8(J),K=Z.markdown||O3.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},q=b5(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)q=await Kq(q,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let U={content:q,data:Q||{}};if(Z.cache)D3.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:J0("Markdown File",`Error reading/parsing markdown file: ${X}`,$,"",0,""),data:{}}}}async function Kq($,Z,Y){let X=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!G4)try{G4=await Gq({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let J=async(K,z,q,U)=>{let W=U.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),_=q||(Y?"text":"");if(!_)return K;try{if(!G4.getSupportedLanguages().includes(_))return K;return(await G4.highlight(W,_,{theme:Z})).html}catch(B){console.error(`Error highlighting code block with language ${q}:`,B)}return K},Q=$,G=$.matchAll(X);for(let K of G){let[z,q,U,W]=K,_=await J(z,q,U,W);Q=Q.replace(z,_)}return Q}async function tZ($,Z,Y="",X={}){return await zq($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,z,q)=>{try{let U=K;if(!I3.isAbsolute(K))U=I3.resolve(I3.dirname(Y),K);let W={};if(z)try{try{W=JSON.parse(z)}catch{if(X.debug)console.warn("Using safer alternative for parsing JS object literal");let O=z.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let V of O){let A=V.indexOf(":");if(A>0){let w=V.substring(0,A).trim(),R=V.substring(A+1).trim(),N=R.startsWith('"')&&R.endsWith('"'),M=R.startsWith("'")&&R.endsWith("'");if(N||M)R=R.substring(1,R.length-1);W[w]=R}}}}catch(F){if(X.debug)console.error("Error parsing context in @markdown-file directive:",F)}let{content:_,data:B}=await K4(U,X),j={...Z,...B,...W},H=_,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 W=U instanceof Error?U.message:String(U);return J0("Markdown File",`Error including markdown file: ${W}`,Y,$,q,G)}})}async function zq($,Z,Y){let X=[],J;while((J=Z.exec($))!==null){let K=J[0],z=J.index,q=J;X.push(Y(...q).then((U)=>({match:K,replacement:U,index:z})))}let Q=await Promise.all(X);Q.sort((K,z)=>z.index-K.index);let G=$;for(let{match:K,replacement:z}of Q)G=G.replace(K,()=>z);return G}var D3,G4=null;var E3=P(()=>{x5();F0();D3=new Map});function j1($,Z){try{let Y=$.trim();if($0(Y))return Z0(Y,Object.keys(Z))(...Object.values(Z));else return e(Y,Z)}catch{return!1}}var eZ=P(()=>{R0()});class z4{source;pos=0;line=1;column=0;tokens=[];constructor($){this.source=$}tokenize(){this.tokens=[],this.pos=0,this.line=1,this.column=0;while(this.pos<this.source.length){let $=this.nextToken();if($)this.tokens.push($)}return this.tokens.push({type:"EOF",value:"",start:this.pos,end:this.pos,line:this.line,column:this.column}),this.tokens}nextToken(){if(this.pos>=this.source.length)return null;let $=this.pos,Z=this.line,Y=this.column,X=this.source[this.pos];if(/\s/.test(X))return this.readWhitespace($,Z,Y);if(X==="/"&&this.peek(1)==="/")return this.readLineComment($,Z,Y);if(X==="/"&&this.peek(1)==="*")return this.readBlockComment($,Z,Y);if(X==='"'||X==="'")return this.readString(X,$,Z,Y);if(X==="`")return this.readTemplateString($,Z,Y);if(/\d/.test(X)||X==="."&&/\d/.test(this.peek(1)||""))return this.readNumber($,Z,Y);if(/[a-z_$]/i.test(X))return this.readIdentifier($,Z,Y);if(X==="{"){if(this.peek(1)==="{"&&this.peek(2)==="{")return this.advance(3),{type:"RAW_START",value:"{{{",start:$,end:this.pos,line:Z,column:Y};if(this.peek(1)==="{")return this.advance(2),{type:"EXPRESSION_START",value:"{{",start:$,end:this.pos,line:Z,column:Y};if(this.peek(1)==="!"&&this.peek(2)==="!")return this.advance(3),{type:"RAW_START",value:"{!!",start:$,end:this.pos,line:Z,column:Y}}if(X==="}"){if(this.peek(1)==="}"&&this.peek(2)==="}")return this.advance(3),{type:"RAW_END",value:"}}}",start:$,end:this.pos,line:Z,column:Y};if(this.peek(1)==="}")return this.advance(2),{type:"EXPRESSION_END",value:"}}",start:$,end:this.pos,line:Z,column:Y}}if(X==="!"&&this.peek(1)==="!"&&this.peek(2)==="}")return this.advance(3),{type:"RAW_END",value:"!!}",start:$,end:this.pos,line:Z,column:Y};if(X==="@"&&/[a-z]/i.test(this.peek(1)||""))return this.readDirective($,Z,Y);let J=["===","!==","==","!=","<=",">=","&&","||","??","++","--","+=","-=","*=","/=","%=","**","=>","?.","...","<<",">>",">>>","&=","|=","^="];for(let Q of J)if(this.source.slice(this.pos,this.pos+Q.length)===Q)return this.advance(Q.length),{type:"OPERATOR",value:Q,start:$,end:this.pos,line:Z,column:Y};if(/[+\-*/%<>=!&|^~?:]/.test(X))return this.advance(),{type:"OPERATOR",value:X,start:$,end:this.pos,line:Z,column:Y};if(/[()[\]{},;.]/.test(X))return this.advance(),{type:"PUNCTUATION",value:X,start:$,end:this.pos,line:Z,column:Y};return this.advance(),{type:"PUNCTUATION",value:X,start:$,end:this.pos,line:Z,column:Y}}readWhitespace($,Z,Y){while(this.pos<this.source.length&&/\s/.test(this.source[this.pos]))this.advance();return{type:"WHITESPACE",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readLineComment($,Z,Y){this.advance(2);while(this.pos<this.source.length&&this.source[this.pos]!==`
3772
3772
  `)this.advance();return{type:"COMMENT",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readBlockComment($,Z,Y){this.advance(2);while(this.pos<this.source.length-1){if(this.source[this.pos]==="*"&&this.source[this.pos+1]==="/"){this.advance(2);break}this.advance()}return{type:"COMMENT",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readString($,Z,Y,X){this.advance();while(this.pos<this.source.length){let J=this.source[this.pos];if(J==="\\"){this.advance(2);continue}if(J===$){this.advance();break}this.advance()}return{type:"STRING",value:this.source.slice(Z,this.pos),start:Z,end:this.pos,line:Y,column:X}}readTemplateString($,Z,Y){this.advance();let X=0,J=256;while(this.pos<this.source.length){let Q=this.source[this.pos];if(Q==="\\"){this.advance(2);continue}if(Q==="$"&&this.peek(1)==="{"){if(X>=J){this.pos=this.source.length;break}this.advance(2),X++;continue}if(Q==="{"&&X>0){X++,this.advance();continue}if(Q==="}"&&X>0){X--,this.advance();continue}if(Q==="`"&&X===0){this.advance();break}this.advance()}return{type:"TEMPLATE_STRING",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readNumber($,Z,Y){if(this.source[this.pos]==="0"){let X=this.peek(1)?.toLowerCase();if(X==="x"||X==="o"||X==="b"){this.advance(2);while(this.pos<this.source.length&&/[\da-f_]/i.test(this.source[this.pos]))this.advance();return{type:"NUMBER",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}}while(this.pos<this.source.length&&/[\d_]/.test(this.source[this.pos]))this.advance();if(this.source[this.pos]==="."&&/\d/.test(this.peek(1)||"")){this.advance();while(this.pos<this.source.length&&/[\d_]/.test(this.source[this.pos]))this.advance()}if(/e/i.test(this.source[this.pos]||"")){if(this.advance(),/[+-]/.test(this.source[this.pos]||""))this.advance();while(this.pos<this.source.length&&/[\d_]/.test(this.source[this.pos]))this.advance()}if(this.source[this.pos]==="n")this.advance();return{type:"NUMBER",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readIdentifier($,Z,Y){while(this.pos<this.source.length&&/[\w$]/.test(this.source[this.pos]))this.advance();return{type:"IDENTIFIER",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readDirective($,Z,Y){this.advance();while(this.pos<this.source.length&&/[a-z]/i.test(this.source[this.pos]))this.advance();return{type:"DIRECTIVE",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}advance($=1){for(let Z=0;Z<$&&this.pos<this.source.length;Z++){if(this.source[this.pos]===`
3773
- `)this.line++,this.column=0;else this.column++;this.pos++}}peek($){return this.source[this.pos+$]}saveState(){return{pos:this.pos,line:this.line,column:this.column}}restoreState($){this.pos=$.pos,this.line=$.line,this.column=$.column}}function w0($,Z,Y,X=0){let J=0,Q=X,G=null,K=0,z=!1;while(Q<$.length){let q=$[Q];if(G&&z){z=!1,Q++;continue}if(G&&q==="\\"){z=!0,Q++;continue}if(z=!1,(q==='"'||q==="'"||q==="`")&&!G){G=q,Q++;continue}if(q===G&&G!=="`"){G=null,Q++;continue}if(G==="`"&&q==="$"&&$[Q+1]==="{"){K++,Q+=2;continue}if(K>0&&q==="}"){K--,Q++;continue}if(q==="`"&&G==="`"&&K===0){G=null,Q++;continue}if(G){Q++;continue}if(q===Z)J++;else if(q===Y){if(J--,J===0)return Q}Q++}return-1}function $2($,Z){let Y=Z,X={paren:0,bracket:0,brace:0},J=null,Q=0;while(Y<$.length){let G=$[Y];if((Y>0?$[Y-1]:"")==="\\"&&J){Y++;continue}if((G==='"'||G==="'")&&!J){J=G,Y++;continue}if(G===J&&J!=="`"){J=null,Y++;continue}if(G==="`"&&!J){J="`",Y++;continue}if(G==="`"&&J==="`"&&Q===0){J=null,Y++;continue}if(J==="`"&&G==="$"&&$[Y+1]==="{"){Q++,Y+=2;continue}if(Q>0){if(G==="{")Q++;else if(G==="}")Q--;Y++;continue}if(J){Y++;continue}if(X.paren===0&&X.bracket===0&&X.brace===0){if($.slice(Y,Y+2)==="}}"||$.slice(Y,Y+3)==="!!}")break;if(G===","||G===";")break}if(G==="(")X.paren++;else if(G===")"){if(X.paren--,X.paren<0)break}else if(G==="[")X.bracket++;else if(G==="]"){if(X.bracket--,X.bracket<0)break}else if(G==="{")X.brace++;else if(G==="}"){if(X.brace--,X.brace<0)break}Y++}return{expression:$.slice(Z,Y),endPos:Y}}function k3($){let Z=[],Y="",X={paren:0,bracket:0,brace:0},J=null,Q=0;for(let G=0;G<$.length;G++){let K=$[G];if((G>0?$[G-1]:"")==="\\"&&J){Y+=K;continue}if((K==='"'||K==="'")&&!J){J=K,Y+=K;continue}if(K===J&&J!=="`"){J=null,Y+=K;continue}if(K==="`"&&!J){J="`",Y+=K;continue}if(K==="`"&&J==="`"&&Q===0){J=null,Y+=K;continue}if(J==="`"&&K==="$"&&$[G+1]==="{"){Q++,Y+=K+$[G+1],G++;continue}if(Q>0&&K==="{"){Q++,Y+=K;continue}if(Q>0&&K==="}"){Q--,Y+=K;continue}if(J){Y+=K;continue}if(K==="(")X.paren++;else if(K===")")X.paren--;else if(K==="[")X.bracket++;else if(K==="]")X.bracket--;else if(K==="{")X.brace++;else if(K==="}")X.brace--;if(K==="|"&&$[G+1]!=="|"&&(G===0||$[G-1]!=="|")&&$[G-1]!=="\\"&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(Y.trim()),Y="";continue}if(K==="|"&&$[G-1]==="\\"&&!J){Y=Y.slice(0,-1)+K;continue}Y+=K}if(Y.trim())Z.push(Y.trim());return Z}function H1($,Z){let Y=qq($,Z);return Y.ok?{expression:Y.expression,endPos:Y.endPos}:null}function qq($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Y};let X=w0($,"(",")",Y);if(X===-1)return{ok:!1,reason:"unclosed-paren",pos:Y};return{ok:!0,expression:$.slice(Y+1,X),endPos:X+1}}function x1($,Z,Y,X){let J=1,Q=X,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${Y}(?![a-z])`,"g");while(Q<$.length&&J>0){G.lastIndex=Q,K.lastIndex=Q;let z=G.exec($),q=K.exec($),U=z?z.index:1/0,W=q?q.index:1/0;if(U<W)J++,Q=U+z[0].length;else if(W<1/0){if(J--,J===0)return W;Q=W+q[0].length}else break}return-1}function Z2($,Z){let Y=$.slice(Z).match(/^@if\s*/);if(!Y)return null;let X=Z+Y[0].length,J=H1($,X);if(!J)return null;let Q=J.endPos,G=x1($,"if","endif",Q);if(G===-1)return null;let K=$.slice(Q,G),z=[],q=0,U="if",W=J.expression,_=0,B=0;while(q<K.length){let j=K.indexOf("@",q);if(j===-1)break;q=j;let H=K.substring(j);if(/^@if\s*\(/.test(H)){B++,q++;continue}if(/^@endif(?![a-z])/.test(H)){B--,q+=6;continue}if(B===0){let L=H.match(/^@elseif\s*/);if(L){z.push({type:U,condition:W,content:K.substring(_,q),start:Q+_,end:Q+q});let F=q+L[0].length,O=H1(K,F);if(!O){q++;continue}U="elseif",W=O.expression,q=O.endPos,_=q;continue}else if(/^@else(?![a-z])/.test(H)){z.push({type:U,condition:W,content:K.substring(_,q),start:Q+_,end:Q+q}),U="else",W=void 0,q+=5,_=q;continue}}q++}return z.push({type:U,condition:W,content:K.slice(_),start:Q+_,end:Q+K.length}),{fullMatch:$.slice(Z,G+6),branches:z,start:Z,end:G+6}}function g5($){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 Q=Z2($,X.index);if(Q)Z.push(Q),Y.lastIndex=Q.end;X=Y.exec($)}return Z}function q4($,Z,Y){let X=[],J=new RegExp(`@${Z}\\s*\\(`,"g"),Q=J.exec($);while(Q!==null){if(X.some((H)=>Q.index>H.start&&Q.index<H.end)){Q=J.exec($);continue}let K=Q.index,z=K+Q[0].length-1,q=w0($,"(",")",z);if(q===-1){Q=J.exec($);continue}let U=$.slice(z+1,q),W=q+1,_=x1($,Z,Y,W);if(_===-1){Q=J.exec($);continue}let B=$.slice(W,_),j=_+`@${Y}`.length;X.push({fullMatch:$.slice(K,j),name:Z,params:U,content:B,start:K,end:j}),J.lastIndex=j,Q=J.exec($)}return X}function S3($,Z){let Y=$.slice(Z).match(/^@switch\s*/);if(!Y)return null;let X=Z+Y[0].length,J=H1($,X);if(!J)return null;let Q=J.endPos,G=x1($,"switch","endswitch",Q);if(G===-1)return null;let K=$.slice(Q,G),z=[],q=0,U=null,W=0;while(q<K.length){let _=K.slice(q),B=_.match(/^@switch\s*\(/),j=_.match(/^@endswitch(?![a-z])/);if(B){if(W++,U)U.content+=B[0];q+=B[0].length;continue}if(j){if(W--,U)U.content+=j[0];q+=j[0].length;continue}if(W>0){if(U)U.content+=K[q];q++;continue}let H=_.match(/^@case\s*/),L=_.match(/^@default(?![a-z])/),F=_.match(/^@break(?![a-z])/);if(H&&_.startsWith("@case")){if(U)z.push(U);let O=q+H[0].length,V=H1(K,O);if(!V){q++;continue}U={type:"case",value:V.expression,content:""},q=V.endPos}else if(L&&_.startsWith("@default")){if(U)z.push(U);U={type:"default",content:""},q+=L[0].length}else if(F&&_.startsWith("@break"))q+=F[0].length;else{if(U)U.content+=K[q];q++}}if(U)z.push(U);return{fullMatch:$.slice(Z,G+10),expression:J.expression,cases:z,start:Z,end:G+10}}var Y2=()=>{};function Uq($){let Z=[],Y=0;while(Y<$.length){let X=$.indexOf("{{",Y),J=$.indexOf("{!!",Y),Q=!1,G;if(X===-1&&J===-1)break;else if(X===-1)G=J,Q=!0;else if(J===-1)G=X,Q=!1;else if(J<X)G=J,Q=!0;else G=X,Q=!1;if(!Q&&$.slice(G,G+3)==="{{{")Q=!0;let K=Q?$.slice(G,G+3)==="{{{"?"{{{":"{!!":"{{",z=Q?K==="{{{"?"}}}":"!!}":"}}",q=G+K.length,U=Wq($,q,z);if(U===-1){Y=G+1;continue}let W=$.slice(q,U).trim(),_=U+z.length;Z.push({fullMatch:$.slice(G,_),expression:W,start:G,end:_,isRaw:Q}),Y=_}return Z}function Wq($,Z,Y){let X=Z,J=null,Q={paren:0,bracket:0,brace:0},G=0;while(X<$.length){let K=$[X];if((X>0?$[X-1]:"")==="\\"&&J){X++;continue}if((K==='"'||K==="'")&&!J){J=K,X++;continue}if(K===J&&J!=="`"){J=null,X++;continue}if(K==="`"&&!J){J="`",X++;continue}if(K==="`"&&J==="`"&&G===0){J=null,X++;continue}if(J==="`"&&K==="$"&&$[X+1]==="{"){G++,X+=2;continue}if(G>0){if(K==="{")G++;else if(K==="}")G--;X++;continue}if(J){X++;continue}if(K==="(")Q.paren++;else if(K===")")Q.paren--;else if(K==="[")Q.bracket++;else if(K==="]")Q.bracket--;else if(K==="{")Q.brace++;else if(K==="}")Q.brace--;if(Q.paren===0&&Q.bracket===0&&Q.brace<=0){if($.slice(X,X+Y.length)===Y)return X}X++}return-1}function _q($){let Z=k3($);if(Z.length===0)return{baseExpression:"",filters:[]};let Y=Z[0],X=[];for(let J=1;J<Z.length;J++){let Q=Bq(Z[J]);if(Q)X.push(Q)}return{baseExpression:Y,filters:X}}function Bq($){let Z=$.trim();if(!Z)return null;let Y=Z.indexOf("(");if(Y===-1)return{name:Z,args:[]};let X=Z.slice(0,Y).trim(),J=Y+1,Q=w0(Z,"(",")",Y);if(Q===-1)return{name:X,args:[]};let G=Z.slice(J,Q),K=Q2(G);return{name:X,args:K}}function Q2($){let Z=[],Y="",X={paren:0,bracket:0,brace:0},J=null,Q=0;for(let G=0;G<$.length;G++){let K=$[G];if((G>0?$[G-1]:"")==="\\"&&J){Y+=K;continue}if((K==='"'||K==="'")&&!J){J=K,Y+=K;continue}if(K===J&&J!=="`"){J=null,Y+=K;continue}if(K==="`"&&!J){J="`",Y+=K;continue}if(K==="`"&&J==="`"&&Q===0){J=null,Y+=K;continue}if(J==="`"&&K==="$"&&$[G+1]==="{"){Q++,Y+="${",G++;continue}if(Q>0&&K==="{"){Q++,Y+=K;continue}if(Q>0&&K==="}"){Q--,Y+=K;continue}if(J){Y+=K;continue}if(K==="(")X.paren++;else if(K===")")X.paren--;else if(K==="[")X.bracket++;else if(K==="]")X.bracket--;else if(K==="{")X.brace++;else if(K==="}")X.brace--;if(K===","&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(Y.trim()),Y="";continue}Y+=K}if(Y.trim())Z.push(Y.trim());return Z}function jq($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return null;let X=w0($,"(",")",Y);if(X===-1)return null;return{params:$.slice(Y+1,X),endPos:X+1}}function Hq($){let Z=[],X=new z4($).tokenize().filter((Q)=>Q.type!=="WHITESPACE"&&Q.type!=="COMMENT"),J=0;while(J<X.length){let Q=X[J],G=!1;if(Q.type==="IDENTIFIER"&&Q.value==="export"){if(G=!0,J++,J>=X.length)break}let K=X[J];if(K.type==="IDENTIFIER"&&(K.value==="const"||K.value==="let"||K.value==="var")){let z=K.value;if(J++,J>=X.length)break;let q=X[J];if(q.type==="IDENTIFIER"){let U=q.value;if(J++,J<X.length&&X[J].type==="OPERATOR"&&X[J].value==="="){J++;let W=J<X.length?X[J].start:$.length,_=X2(X,J,$);J=_.nextIndex,Z.push({type:"variable",name:U,value:$.slice(W,_.endPos),exported:G,start:K.start,end:_.endPos})}}else if(q.type==="PUNCTUATION"&&(q.value==="{"||q.value==="[")){let U=q.start,W=q.value==="{"?"}":"]",_=w0($,q.value,W,U);if(_!==-1){let B=$.slice(U,_+1);if(J=J2(X,_+1),J<X.length&&X[J].type==="OPERATOR"&&X[J].value==="="){J++;let j=J<X.length?X[J].start:$.length,H=X2(X,J,$);J=H.nextIndex;let L=`__stx_destructured_${Z.length}`;Z.push({type:"variable",name:L,value:`${$.slice(j,H.endPos)}; ${z} ${B} = ${L}`,exported:G,start:K.start,end:H.endPos})}}}}else if(K.type==="IDENTIFIER"&&K.value==="function"){let z=G?X[J-1].start:K.start;if(J++,J>=X.length)break;let q=X[J];if(q.type==="IDENTIFIER"){let U=q.value;J++;let W=-1;while(J<X.length){if(X[J].type==="PUNCTUATION"&&X[J].value==="{"){W=X[J].start;break}J++}if(W!==-1){let _=w0($,"{","}",W);if(_!==-1)Z.push({type:"function",name:U,value:$.slice(z,_+1).replace(/^export\s+/,""),exported:G,start:z,end:_+1}),J=J2(X,_+1)}}}else J++}return Z}function X2($,Z,Y){let X=Z,J={paren:0,bracket:0,brace:0},Q=Z<$.length?$[Z].start:Y.length;while(X<$.length){let G=$[X];if(G.type==="PUNCTUATION"){if(G.value==="(")J.paren++;else if(G.value===")")J.paren--;else if(G.value==="[")J.bracket++;else if(G.value==="]")J.bracket--;else if(G.value==="{")J.brace++;else if(G.value==="}")J.brace--;if(G.value===";"&&J.paren===0&&J.bracket===0&&J.brace===0){Q=G.start,X++;break}}if(G.type==="IDENTIFIER"&&(G.value==="const"||G.value==="let"||G.value==="var"||G.value==="function"||G.value==="export")){if(J.paren===0&&J.bracket===0&&J.brace===0){Q=$[X-1]?.end??G.start;break}}Q=G.end,X++}return{nextIndex:X,endPos:Q}}function J2($,Z){for(let Y=0;Y<$.length;Y++)if($[Y].start>=Z)return Y;return $.length}var G2=()=>{};var U4=C(()=>{Y2();G2()});function Oq($,Z,Y){let X=$,J=!0;while(J){J=!1;let Q=X.match(/@switch\s*\(/);if(!Q||Q.index===void 0)break;let G=Q.index,K=S3(X,G);if(!K)break;try{let z;if($0(K.expression))z=Z0(K.expression,Object.keys(Z))(...Object.values(Z));else z=e(K.expression,Z);let q="",U=!1;for(let W of K.cases)if(W.type==="default"){if(!U)q=W.content.trim()}else try{let _;if(W.value&&$0(W.value))_=Z0(W.value,Object.keys(Z))(...Object.values(Z));else if(W.value)_=e(W.value,Z);if(z===_){q=W.content.trim(),U=!0;break}}catch{continue}X=X.substring(0,G)+q+X.substring(K.end),J=!0}catch(z){let q=z instanceof Error?z.message:String(z),U=r("Switch",`Error evaluating @switch expression: ${q}`,c.EVALUATION_ERROR);X=X.substring(0,G)+U+X.substring(K.end);break}}return X}function f1($,Z,Y){let X=$;X=Oq(X,Z,Y);{let Q=!0;while(Q){Q=!1;let G=X.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,z=H1(X,K+7);if(!z)break;let q=z.endPos,U=x1(X,"unless","endunless",q);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 W=X.slice(q,U),_=z.expression,B=-1;{let H=0,L=/@(?:if|unless)\s*\(/g,F=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,V=[],A;while((A=L.exec(W))!==null)V.push({pos:A.index,type:"open"});while((A=F.exec(W))!==null)V.push({pos:A.index,type:"close"});while((A=O.exec(W))!==null)V.push({pos:A.index,type:"else"});V.sort((w,R)=>w.pos-R.pos);for(let w of V)if(w.type==="open")H++;else if(w.type==="close")H--;else if(w.type==="else"&&H===0){B=w.pos;break}}let j;if(B!==-1){let H=W.slice(0,B),L=W.slice(B+5);j=`@if (${_})${L}@else ${H}@endif`}else j=`@if (!(${_}))${W}@endif`;X=X.substring(0,K)+j+X.substring(U+10),Q=!0}}X=y3(X,Z,Y),X=C3(X,Z,Y),X=b3(X,Z);let J=()=>{let Q=g5(X);if(Q.length===0)return!1;for(let G=Q.length-1;G>=0;G--){let K=Q[G];try{let z="",q=!1;for(let U of K.branches){if(q)break;if(U.type==="else")z=U.content,q=!0;else try{let W;if(U.condition&&$0(U.condition))W=Z0(U.condition,Object.keys(Z))(...Object.values(Z));else if(U.condition)W=e(U.condition,Z);if(W)z=U.content,q=!0}catch(W){z=r(U.type==="if"?"If":"Elseif",`Error in @${U.type}(${U.condition}): ${W instanceof Error?W.message:String(W)}`,c.EVALUATION_ERROR),q=!0}}X=X.substring(0,K.start)+z+X.substring(K.end)}catch(z){let q=z instanceof Error?z.message:String(z),U=r("If",`Error processing @if block: ${q}`,c.EVALUATION_ERROR);X=X.substring(0,K.start)+U+X.substring(K.end)}}return!0};while(!0){let Q=X;if(!J())break;if(X===Q)break}return X}function K2($){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 J=$[Z];if(J==="\\"&&Z+1<$.length){X.push($[Z+1]),Z+=2;continue}if(J===Y){Z++;break}X.push(J),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:X.join(""),consumed:Z}}function b3($,Z){let Y=$;function X(K,z,q,U){let W=1,_=U,B=new RegExp(`@${z}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${q}(?![a-z])`,"g");while(_<K.length&&W>0){B.lastIndex=_,j.lastIndex=_;let H=B.exec(K),L=j.exec(K),F=H?H.index:1/0,O=L?L.index:1/0;if(F<O)W++,_=F+H[0].length;else if(O<1/0){if(W--,W===0)return O;_=O+L[0].length}else break}return-1}function J(K,z,q){let U=0,W=new RegExp(`@${z}(?:\\s*\\(|\\s|$)`,"g"),_=new RegExp(`@${q}(?![a-z])`,"g"),B=/@else(?![a-z])/g,j=[],H;while((H=W.exec(K))!==null)j.push({pos:H.index,type:"open"});while((H=_.exec(K))!==null)j.push({pos:H.index,type:"close"});while((H=B.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 z=Y.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!z||z.index===void 0)break;let q=z.index,U,W,_=Y.slice(q+5),B=K2(_);if(B)U=B.value,W=q+5+B.consumed;else W=q+5;let j=X(Y,"auth","endauth",W);if(j===-1){console.warn(`[stx] @auth directive at position ${q} has no matching @endauth \u2014 the block was skipped.`);break}let H=Y.slice(W,j),L=J(H,"auth","endauth"),F;if(!Z.auth)F=!1;else F=U?j1(`auth?.check && auth?.user?.[${U}]`,Z):j1("auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),A=H.slice(L+5);O=F?V:A}else O=F?H:"";Y=Y.substring(0,q)+O+Y.substring(j+8),K=!0}}{let K=!0;while(K){K=!1;let z=Y.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!z||z.index===void 0)break;let q=z.index,U,W,_=Y.slice(q+6),B=K2(_);if(B)U=B.value,W=q+6+B.consumed;else W=q+6;let j=X(Y,"guest","endguest",W);if(j===-1){console.warn(`[stx] @guest directive at position ${q} has no matching @endguest \u2014 the block was skipped.`);break}let H=Y.slice(W,j),L=J(H,"guest","endguest"),F;if(!Z.auth)F=!0;else F=U?j1(`!auth?.check || !auth?.user?.[${U}]`,Z):j1("!auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),A=H.slice(L+5);O=F?V:A}else O=F?H:"";Y=Y.substring(0,q)+O+Y.substring(j+9),K=!0}}function Q(K,z,q){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(z)U.push(z);if(q){let W=j1(q,Z);U.push(W)}return Z.permissions.check(...U)}catch{return!1}return!1}function G(K){let z=K.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!z)return null;return{ability:z[1],type:z[2],id:z[3]?.trim(),paramsEnd:z[0].length}}for(let K of["can","cannot"]){let z=`end${K}`,q=K==="can"?"elsecan":"elsecannot",U=!0;while(U){U=!1;let W=Y.match(new RegExp(`@${K}\\s*\\(`));if(!W||W.index===void 0)break;let _=W.index,B=Y.slice(_+`@${K}`.length),j=G(B);if(!j)break;let H=_+`@${K}`.length+j.paramsEnd,L=X(Y,K,z,H);if(L===-1){console.warn(`[stx] @${K} directive at position ${_} has no matching @${z} \u2014 the block was skipped.`);break}let F=Y.slice(H,L),O=[],V=0,A=new RegExp(`@${K}\\s*\\(`,"g"),w=new RegExp(`@${z}(?![a-z])`,"g"),R=new RegExp(`@${q}\\s*\\(`,"g"),N=/@else(?![a-z])/g,M=[],T;while((T=A.exec(F))!==null)M.push({pos:T.index,type:"open"});while((T=w.exec(F))!==null)M.push({pos:T.index,type:"close"});while((T=R.exec(F))!==null)M.push({pos:T.index,type:"elseDirective"});while((T=N.exec(F))!==null)M.push({pos:T.index,type:"else"});M.sort((b,y)=>b.pos-y.pos);for(let b of M){if(b.type==="open"){V++;continue}if(b.type==="close"){V--;continue}if(V===0)O.push(b)}let I=[],D=0;for(let b=0;b<O.length;b++){let y=O[b];if(I.push({content:F.slice(D,y.pos),ability:void 0}),y.type==="elseDirective"){let m=F.slice(y.pos+`@${q}`.length),x=G(m);if(x){I[I.length-1]={content:F.slice(D,y.pos)},D=y.pos+`@${q}`.length+x.paramsEnd,I.push({content:"",ability:x.ability,type:x.type,id:x.id}),I.pop();let h=O[b+1],u=h?h.pos:F.length;I.push({content:F.slice(D,u),ability:x.ability,type:x.type,id:x.id}),D=u}}else D=y.pos+5}if(D<F.length){let b=I[I.length-1];if(O.length>0&&O[O.length-1].type==="else")I.push({content:F.slice(D),isFinalElse:!0});else if(I.length===0)I.push({content:F.slice(D)})}let E=Q(j.ability,j.type,j.id),k=K==="can"?E:!E,S="";if(k)S=I[0]?.content||"";else{let b=!1;for(let y=1;y<I.length;y++){let m=I[y];if(m.isFinalElse){S=m.content,b=!0;break}if(m.ability){let x=Q(m.ability,m.type,m.id);if(K==="can"?x:!x){S=m.content,b=!0;break}}}if(!b&&I.length>0){let y=I[I.length-1];if(y.isFinalElse)S=y.content}}Y=Y.substring(0,_)+S+Y.substring(L+`@${z}`.length),U=!0}}return Y}function y3($,Z,Y){let X=$;function J(Q,G,K,z,q){let U=!0;while(U){U=!1;let W=new RegExp(`@${G}\\s*\\(`),_=Q.match(W);if(!_||_.index===void 0)break;let B=_.index,j=H1(Q,B+`@${G}`.length);if(!j)break;let H=j.endPos,L=x1(Q,G,K,H);if(L===-1){console.warn(`[stx] @${G} directive at position ${B} has no matching @${K} \u2014 the block was skipped.`);break}let F=Q.slice(H,L),O=j.expression,V=-1,A=0,w=0;while(w<F.length){let R=F.indexOf("@",w);if(R===-1)break;let N=F.substring(R);if(/^@(?:if|unless|isset|empty)\s*\(/.test(N)){A++,w=R+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(N)){A--,w=R+1;continue}if(A===0&&/^@else(?![a-z])/.test(N)){V=R;break}w=R+1}try{let R=z(O.trim()),N;if(V!==-1){let M=F.slice(0,V),T=F.slice(V+5);N=R?M:T}else N=R?F:"";Q=Q.substring(0,B)+N+Q.substring(L+`@${K}`.length),U=!0}catch(R){let N=R instanceof Error?R.message:String(R),M=r(q,`Error processing @${G} directive: ${N}`,c.EVALUATION_ERROR);Q=Q.substring(0,B)+M+Q.substring(L+`@${K}`.length);break}}return Q}return X=J(X,"isset","endisset",(Q)=>{let G=j1(Q,Z);return G!==void 0&&G!==null},"Isset"),X=J(X,"empty","endempty",(Q)=>{let G=j1(Q,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=$,J="development";function Q(G,K,z,q){let U=new RegExp(`@${K}(?![a-z])`,"g"),W=new RegExp(`@${z}(?![a-z])`,"g"),_=new RegExp(`^@${K}(?![a-z])`),B=new RegExp(`^@${z}(?![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 E=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!E)break;O+=E[0].length,q=J===E[2]}let V=1,A=O,w=-1;while(V>0&&A<j.length){U.lastIndex=A,W.lastIndex=A;let E=U.exec(j),k=W.exec(j),S=E?E.index:1/0,b=k?k.index:1/0;if(S<b)V++,A=S+E[0].length;else if(b<1/0){if(V--,V===0){w=b;break}A=b+k[0].length}else break}if(w===-1){console.warn(`[stx] @${K} directive at position ${F} has no matching @${z} \u2014 the block was skipped.`);break}let R=j.substring(O,w),N=-1,M=0,T=0;while(T<R.length){let E=R.indexOf("@",T);if(E===-1)break;let k=R.substring(E);if(_.test(k)){M++,T=E+1;continue}if(B.test(k)){M--,T=E+1;continue}if(M===0&&/^@else(?![a-z])/.test(k)){N=E;break}T=E+1}let I;if(N!==-1){let E=R.slice(0,N),k=R.slice(N+5);I=q?E:k}else I=q?R:"";let D=`@${z}`.length;j=j.substring(0,F)+I+j.substring(w+D),H=!0}return j}return X=Q(X,"env","endenv",!1),X=Q(X,"production","endproduction",J==="production"),X=Q(X,"development","enddevelopment",J==="development"),X=Q(X,"staging","endstaging",J==="staging"),X=Q(X,"testing","endtesting",J==="testing"),X}var W4=C(()=>{eZ();Q1();U4();R0()});function z2($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function g1($,Z){if(!$)return Z?.nonceGenerator?.()??z2();let Y=P3.get($);if(!Y)Y=Z?.nonceGenerator?.()??z2(),P3.set($,Y);return Y}function Kw($){P3.delete($)}function q2($,Z){let Y=[];for(let[X,J]of Object.entries($)){if(J===void 0||J===null)continue;if(typeof J==="boolean"){if(J)Y.push(X);continue}if(Array.isArray(J)){let Q=[...J];if(Z&&(X==="script-src"||X==="style-src"))Q=Q.filter((G)=>!G.startsWith("'nonce-")),Q.push(`'nonce-${Z}'`);if(Q.length>0)Y.push(`${X} ${Q.join(" ")}`)}}return Y.join("; ")}function x3($,Z){return`<meta http-equiv="Content-Security-Policy" content="${q2($,Z).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function zw($){return{enabled:!0,directives:{strict:Lq,moderate:v3,relaxed:Fq,api:Vq}[$]||v3,useNonce:$==="strict",addMetaTag:!0}}function qw($,Z){let Y={...$};for(let[X,J]of Object.entries(Z)){let Q=X,G=Y[Q];if(J===void 0||J===null)continue;if(typeof J==="boolean")Y[Q]=G||J;else if(Array.isArray(J)){let K=Array.isArray(G)?G:[],z=[...new Set([...K,...J])];Y[Q]=z}}return Y}function U2($,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?g1(Y,Z):void 0,J=x3(Z.directives,X);return $.replace(/<head([^>]*)>/,`<head$1>
3774
- ${J}`)}function Uw($,Z){let Y=$;return Y=Y.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(X,J)=>{if(J.includes("nonce="))return X;return`<script nonce="${Z}"${J}>`}),Y=Y.replace(/<style([^>]*)>/gi,(X,J)=>{if(J.includes("nonce="))return X;return`<style nonce="${Z}"${J}>`}),Y}function W2($,Z,Y,X){let J=$,Q=X.csp;if(J=J.replace(/@csp\b/g,()=>{if(!Q?.enabled||!Q.directives)return"<!-- CSP not configured -->";let G=Q.useNonce?g1(Z,Q):void 0;return x3(Q.directives,G)}),J=J.replace(/@cspNonce\b/g,()=>{if(!Q?.enabled||!Q.useNonce)return"";return g1(Z,Q)}),Q?.enabled&&Q.useNonce)Z.cspNonce=g1(Z,Q);return J}function Ww(){return[wq,Aq]}function _w($){let Z=[];if($["script-src"]?.includes("'unsafe-inline'"))Z.push("CSP: Using unsafe-inline in script-src significantly reduces XSS protection");if($["script-src"]?.includes("'unsafe-eval'"))Z.push("CSP: Using unsafe-eval in script-src allows eval() and related functions");if(!$["default-src"])Z.push("CSP: No default-src specified. Recommend adding default-src as a fallback");if($["default-src"]?.includes("*"))Z.push("CSP: Using * in default-src provides minimal protection");if(!$["object-src"]&&!$["default-src"]?.includes("'none'"))Z.push("CSP: Consider adding object-src: none to block plugins");if(!$["base-uri"])Z.push("CSP: Consider adding base-uri to prevent base tag injection attacks");for(let[Y,X]of Object.entries($))if(Array.isArray(X)&&X.includes("http:"))Z.push(`CSP: Using http: in ${Y} allows insecure resources`);return Z}function Rq($=!1){return $?"Content-Security-Policy-Report-Only":"Content-Security-Policy"}function Bw($,Z){if(!$.enabled)return{};let Y=$.useNonce?g1(Z,$):void 0,X=q2($.directives,Y);return{[Rq($.reportOnly)]:X}}var P3,Lq,v3,Fq,Vq,wq,Aq,jw;var _2=C(()=>{P3=new WeakMap;Lq={"default-src":["'self'"],"script-src":["'self'","'strict-dynamic'"],"style-src":["'self'"],"img-src":["'self'","data:","https:"],"font-src":["'self'","https:","data:"],"connect-src":["'self'"],"media-src":["'self'"],"object-src":["'none'"],"frame-src":["'none'"],"base-uri":["'self'"],"form-action":["'self'"],"frame-ancestors":["'self'"],"upgrade-insecure-requests":!0},v3={"default-src":["'self'"],"script-src":["'self'"],"style-src":["'self'","'unsafe-inline'"],"img-src":["'self'","data:","https:"],"font-src":["'self'","https:","data:"],"connect-src":["'self'","https:"],"media-src":["'self'"],"object-src":["'none'"],"frame-src":["'self'"],"base-uri":["'self'"],"form-action":["'self'"],"upgrade-insecure-requests":!0},Fq={"default-src":["'self'"],"script-src":["'self'","'unsafe-inline'"],"style-src":["'self'","'unsafe-inline'"],"img-src":["'self'","data:","https:","http:"],"font-src":["'self'","https:","http:","data:"],"connect-src":["'self'","https:","http:","ws:","wss:"],"media-src":["'self'","https:","http:"],"object-src":["'none'"],"frame-src":["'self'","https:"],"base-uri":["'self'"]},Vq={"default-src":["'none'"],"frame-ancestors":["'none'"]};wq={name:"csp",handler:($,Z,Y,X)=>{let Q=Y.__stx_options?.csp;if(!Q?.enabled||!Q.directives)return"<!-- CSP not configured -->";let G=Q.useNonce?g1(Y,Q):void 0;return x3(Q.directives,G)},hasEndTag:!1,description:"Insert Content-Security-Policy meta tag"},Aq={name:"cspNonce",handler:($,Z,Y,X)=>{let Q=Y.__stx_options?.csp;if(!Q?.enabled||!Q.useNonce)return"";return g1(Y,Q)},hasEndTag:!1,description:"Output the current CSP nonce value"};jw={enabled:!1,reportOnly:!1,directives:v3,useNonce:!1,addMetaTag:!0}});import{Buffer as B2}from"buffer";import j2 from"crypto";function Tq($=Nq){let Z=j2.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return U5=Z,Z}function Mq(){if(!U5)Tq();return U5}function Fw(){U5=null}function Vw($){U5=$}function Iq($=H2){let Z=Mq();return`<input type="hidden" name="${$}" value="${Z}">`}function O2($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,Y,X)=>{return Iq(X||H2)})}function ww($,Z){let Y=Z??U5;if(!Y)return!1;let X=B2.from($),J=B2.from(Y);if(X.length!==J.length)return!1;return j2.timingSafeEqual(X,J)}var Nq=40,H2="_token",U5=null;var L2=()=>{};async function F2($,Z,Y,X){if(!X.customDirectives||X.customDirectives.length===0)return $;let J=$;for(let Q of X.customDirectives){if(!Q.name||typeof Q.handler!=="function"){if(X.debug)console.warn("Invalid custom directive:",Q);continue}if(Q.hasEndTag)J=await Dq(J,Q,Z,Y,X);else J=await Eq(J,Q,Z,Y,X)}return J}async function Dq($,Z,Y,X,J){let{name:Q,handler:G}=Z,K=`@${Q}`,z=`@end${Q}`,q=$,U=k1(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${z}`,"g"),W=[],_=U.exec(q);while(_!==null){let[B,j="",H=""]=_,L=_.index||0;try{let F=j?V2(j):[],O=H.trim(),V=await G(O,F,Y,X);W.push({original:B,processed:V,startIndex:L})}catch(F){let O=F instanceof Error?F.message:String(F);if(J.debug)console.error(`Error processing custom directive @${Q}:`,F);W.push({original:B,processed:r("CustomDirective",`Error in @${Q}${j?`(${j})`:""}: ${O}`,c.EVALUATION_ERROR),startIndex:L})}_=U.exec(q)}for(let B=W.length-1;B>=0;B--){let{original:j,processed:H}=W[B];q=q.replace(j,H)}return q}async function Eq($,Z,Y,X,J){let{name:Q,handler:G}=Z,K=$,z=k1(`@${Q}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),q=[],U=z.exec(K);while(U!==null){let[B,j=""]=U,H=U.index||0;try{let L=V2(j),F=await G("",L,Y,X);q.push({original:B,processed:F,startIndex:H})}catch(L){let F=L instanceof Error?L.message:String(L);if(J.debug)console.error(`Error processing custom directive @${Q}:`,L);q.push({original:B,processed:r("CustomDirective",`Error in @${Q}(${j}): ${F}`,c.EVALUATION_ERROR),startIndex:H})}U=z.exec(K)}let W=k1(`@${Q}(?!\\w)(?!\\s*\\()`,"g"),_=W.exec(K);while(_!==null){let[B]=_,j=_.index||0;try{let H=await G("",[],Y,X);q.push({original:B,processed:H,startIndex:j})}catch(H){let L=H instanceof Error?H.message:String(H);if(J.debug)console.error(`Error processing custom directive @${Q}:`,H);q.push({original:B,processed:r("CustomDirective",`Error in @${Q}: ${L}`,c.EVALUATION_ERROR),startIndex:j})}_=W.exec(K)}for(let B=q.length-1;B>=0;B--){let{original:j,processed:H}=q[B];K=K.replace(j,H)}return K}function V2($){if(!$.trim())return[];let Z=[],Y="",X=!1,J="";for(let Q=0;Q<$.length;Q++){let G=$[Q];if((G==='"'||G==="'")&&(Q===0||$[Q-1]!=="\\"))if(!X)X=!0,J=G;else if(G===J)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((Q)=>{let G=Q.trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))return G.substring(1,G.length-1);return G})}var w2=C(()=>{Q1();e1()});var f3={};p(f3,{useTitle:()=>Pq,useSeoMeta:()=>B4,usePageTitle:()=>Pq,useHead:()=>d1,resetHead:()=>bq,renderHtmlAttrs:()=>xq,renderHead:()=>vq,renderBodyAttrs:()=>fq,processTitleDirective:()=>dq,processMetaDirective:()=>mq,processHeadDirective:()=>hq,getPageMeta:()=>Sq,getHead:()=>h5,definePageMeta:()=>Cq,applyHead:()=>gq});function h5(){return O1}function Sq(){return _4}function bq(){O1={},kq.length=0,_4={}}function d1($){O1=yq(O1,$)}function yq($,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 B4($){let Z=[];if($.description)Z.push({name:"description",content:$.description});if($.keywords){let z=Array.isArray($.keywords)?$.keywords.join(", "):$.keywords;Z.push({name:"keywords",content:z})}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 J=$.twitterTitle??$.title,Q=$.twitterDescription??$.description,G=$.twitterImage??$.ogImage;if($.twitterCard)Z.push({name:"twitter:card",content:$.twitterCard});if(J)Z.push({name:"twitter:title",content:J});if(Q)Z.push({name:"twitter:description",content:Q});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 z of $.articleTags)Z.push({property:"article:tag",content:z});let K=[];if($.canonical)K.push({rel:"canonical",href:$.canonical});d1({title:$.title,titleTemplate:$.titleTemplate,meta:Z,link:K})}function Cq($){if(_4={..._4,...$},$.title||$.description)B4({title:$.title,description:$.description})}function Pq($){let Z=typeof $==="function"?$():$;d1({title:Z})}function vq($=O1){let Z=[];if($.title){let Y=$.title;if($.titleTemplate)Y=typeof $.titleTemplate==="function"?$.titleTemplate(Y):$.titleTemplate.replace("%s",Y);Z.push(`<title>${h1(Y)}</title>`)}if($.base){let Y=Object.entries($.base).map(([X,J])=>`${X}="${h1(J)}"`).join(" ");Z.push(`<base ${Y}>`)}for(let Y of $.meta||[]){let X=Object.entries(Y).filter(([J,Q])=>Q!==void 0).map(([J,Q])=>{return`${J==="httpEquiv"?"http-equiv":J}="${h1(String(Q))}"`}).join(" ");Z.push(`<meta ${X}>`)}for(let Y of $.link||[]){let X=Object.entries(Y).filter(([J,Q])=>Q!==void 0).map(([J,Q])=>`${J}="${h1(String(Q))}"`).join(" ");Z.push(`<link ${X}>`)}for(let Y of $.script||[]){let{content:X,...J}=Y,Q=Object.entries(J).filter(([G,K])=>K!==void 0).map(([G,K])=>{if(typeof K==="boolean")return K?G:"";return`${G}="${h1(String(K))}"`}).filter(Boolean).join(" ");if(X)Z.push(`<script ${Q}>${X}</script>`);else Z.push(`<script ${Q}></script>`)}for(let Y of $.style||[]){let X=Y.type?` type="${Y.type}"`:"";Z.push(`<style${X}>${Y.content}</style>`)}return Z.join(`
3773
+ `)this.line++,this.column=0;else this.column++;this.pos++}}peek($){return this.source[this.pos+$]}saveState(){return{pos:this.pos,line:this.line,column:this.column}}restoreState($){this.pos=$.pos,this.line=$.line,this.column=$.column}}function w0($,Z,Y,X=0){let J=0,Q=X,G=null,K=0,z=!1;while(Q<$.length){let q=$[Q];if(G&&z){z=!1,Q++;continue}if(G&&q==="\\"){z=!0,Q++;continue}if(z=!1,(q==='"'||q==="'"||q==="`")&&!G){G=q,Q++;continue}if(q===G&&G!=="`"){G=null,Q++;continue}if(G==="`"&&q==="$"&&$[Q+1]==="{"){K++,Q+=2;continue}if(K>0&&q==="}"){K--,Q++;continue}if(q==="`"&&G==="`"&&K===0){G=null,Q++;continue}if(G){Q++;continue}if(q===Z)J++;else if(q===Y){if(J--,J===0)return Q}Q++}return-1}function $2($,Z){let Y=Z,X={paren:0,bracket:0,brace:0},J=null,Q=0;while(Y<$.length){let G=$[Y];if((Y>0?$[Y-1]:"")==="\\"&&J){Y++;continue}if((G==='"'||G==="'")&&!J){J=G,Y++;continue}if(G===J&&J!=="`"){J=null,Y++;continue}if(G==="`"&&!J){J="`",Y++;continue}if(G==="`"&&J==="`"&&Q===0){J=null,Y++;continue}if(J==="`"&&G==="$"&&$[Y+1]==="{"){Q++,Y+=2;continue}if(Q>0){if(G==="{")Q++;else if(G==="}")Q--;Y++;continue}if(J){Y++;continue}if(X.paren===0&&X.bracket===0&&X.brace===0){if($.slice(Y,Y+2)==="}}"||$.slice(Y,Y+3)==="!!}")break;if(G===","||G===";")break}if(G==="(")X.paren++;else if(G===")"){if(X.paren--,X.paren<0)break}else if(G==="[")X.bracket++;else if(G==="]"){if(X.bracket--,X.bracket<0)break}else if(G==="{")X.brace++;else if(G==="}"){if(X.brace--,X.brace<0)break}Y++}return{expression:$.slice(Z,Y),endPos:Y}}function k3($){let Z=[],Y="",X={paren:0,bracket:0,brace:0},J=null,Q=0;for(let G=0;G<$.length;G++){let K=$[G];if((G>0?$[G-1]:"")==="\\"&&J){Y+=K;continue}if((K==='"'||K==="'")&&!J){J=K,Y+=K;continue}if(K===J&&J!=="`"){J=null,Y+=K;continue}if(K==="`"&&!J){J="`",Y+=K;continue}if(K==="`"&&J==="`"&&Q===0){J=null,Y+=K;continue}if(J==="`"&&K==="$"&&$[G+1]==="{"){Q++,Y+=K+$[G+1],G++;continue}if(Q>0&&K==="{"){Q++,Y+=K;continue}if(Q>0&&K==="}"){Q--,Y+=K;continue}if(J){Y+=K;continue}if(K==="(")X.paren++;else if(K===")")X.paren--;else if(K==="[")X.bracket++;else if(K==="]")X.bracket--;else if(K==="{")X.brace++;else if(K==="}")X.brace--;if(K==="|"&&$[G+1]!=="|"&&(G===0||$[G-1]!=="|")&&$[G-1]!=="\\"&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(Y.trim()),Y="";continue}if(K==="|"&&$[G-1]==="\\"&&!J){Y=Y.slice(0,-1)+K;continue}Y+=K}if(Y.trim())Z.push(Y.trim());return Z}function H1($,Z){let Y=qq($,Z);return Y.ok?{expression:Y.expression,endPos:Y.endPos}:null}function qq($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Y};let X=w0($,"(",")",Y);if(X===-1)return{ok:!1,reason:"unclosed-paren",pos:Y};return{ok:!0,expression:$.slice(Y+1,X),endPos:X+1}}function x1($,Z,Y,X){let J=1,Q=X,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${Y}(?![a-z])`,"g");while(Q<$.length&&J>0){G.lastIndex=Q,K.lastIndex=Q;let z=G.exec($),q=K.exec($),U=z?z.index:1/0,W=q?q.index:1/0;if(U<W)J++,Q=U+z[0].length;else if(W<1/0){if(J--,J===0)return W;Q=W+q[0].length}else break}return-1}function Z2($,Z){let Y=$.slice(Z).match(/^@if\s*/);if(!Y)return null;let X=Z+Y[0].length,J=H1($,X);if(!J)return null;let Q=J.endPos,G=x1($,"if","endif",Q);if(G===-1)return null;let K=$.slice(Q,G),z=[],q=0,U="if",W=J.expression,_=0,B=0;while(q<K.length){let j=K.indexOf("@",q);if(j===-1)break;q=j;let H=K.substring(j);if(/^@if\s*\(/.test(H)){B++,q++;continue}if(/^@endif(?![a-z])/.test(H)){B--,q+=6;continue}if(B===0){let L=H.match(/^@elseif\s*/);if(L){z.push({type:U,condition:W,content:K.substring(_,q),start:Q+_,end:Q+q});let F=q+L[0].length,O=H1(K,F);if(!O){q++;continue}U="elseif",W=O.expression,q=O.endPos,_=q;continue}else if(/^@else(?![a-z])/.test(H)){z.push({type:U,condition:W,content:K.substring(_,q),start:Q+_,end:Q+q}),U="else",W=void 0,q+=5,_=q;continue}}q++}return z.push({type:U,condition:W,content:K.slice(_),start:Q+_,end:Q+K.length}),{fullMatch:$.slice(Z,G+6),branches:z,start:Z,end:G+6}}function g5($){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 Q=Z2($,X.index);if(Q)Z.push(Q),Y.lastIndex=Q.end;X=Y.exec($)}return Z}function q4($,Z,Y){let X=[],J=new RegExp(`@${Z}\\s*\\(`,"g"),Q=J.exec($);while(Q!==null){if(X.some((H)=>Q.index>H.start&&Q.index<H.end)){Q=J.exec($);continue}let K=Q.index,z=K+Q[0].length-1,q=w0($,"(",")",z);if(q===-1){Q=J.exec($);continue}let U=$.slice(z+1,q),W=q+1,_=x1($,Z,Y,W);if(_===-1){Q=J.exec($);continue}let B=$.slice(W,_),j=_+`@${Y}`.length;X.push({fullMatch:$.slice(K,j),name:Z,params:U,content:B,start:K,end:j}),J.lastIndex=j,Q=J.exec($)}return X}function S3($,Z){let Y=$.slice(Z).match(/^@switch\s*/);if(!Y)return null;let X=Z+Y[0].length,J=H1($,X);if(!J)return null;let Q=J.endPos,G=x1($,"switch","endswitch",Q);if(G===-1)return null;let K=$.slice(Q,G),z=[],q=0,U=null,W=0;while(q<K.length){let _=K.slice(q),B=_.match(/^@switch\s*\(/),j=_.match(/^@endswitch(?![a-z])/);if(B){if(W++,U)U.content+=B[0];q+=B[0].length;continue}if(j){if(W--,U)U.content+=j[0];q+=j[0].length;continue}if(W>0){if(U)U.content+=K[q];q++;continue}let H=_.match(/^@case\s*/),L=_.match(/^@default(?![a-z])/),F=_.match(/^@break(?![a-z])/);if(H&&_.startsWith("@case")){if(U)z.push(U);let O=q+H[0].length,V=H1(K,O);if(!V){q++;continue}U={type:"case",value:V.expression,content:""},q=V.endPos}else if(L&&_.startsWith("@default")){if(U)z.push(U);U={type:"default",content:""},q+=L[0].length}else if(F&&_.startsWith("@break"))q+=F[0].length;else{if(U)U.content+=K[q];q++}}if(U)z.push(U);return{fullMatch:$.slice(Z,G+10),expression:J.expression,cases:z,start:Z,end:G+10}}var Y2=()=>{};function Uq($){let Z=[],Y=0;while(Y<$.length){let X=$.indexOf("{{",Y),J=$.indexOf("{!!",Y),Q=!1,G;if(X===-1&&J===-1)break;else if(X===-1)G=J,Q=!0;else if(J===-1)G=X,Q=!1;else if(J<X)G=J,Q=!0;else G=X,Q=!1;if(!Q&&$.slice(G,G+3)==="{{{")Q=!0;let K=Q?$.slice(G,G+3)==="{{{"?"{{{":"{!!":"{{",z=Q?K==="{{{"?"}}}":"!!}":"}}",q=G+K.length,U=Wq($,q,z);if(U===-1){Y=G+1;continue}let W=$.slice(q,U).trim(),_=U+z.length;Z.push({fullMatch:$.slice(G,_),expression:W,start:G,end:_,isRaw:Q}),Y=_}return Z}function Wq($,Z,Y){let X=Z,J=null,Q={paren:0,bracket:0,brace:0},G=0;while(X<$.length){let K=$[X];if((X>0?$[X-1]:"")==="\\"&&J){X++;continue}if((K==='"'||K==="'")&&!J){J=K,X++;continue}if(K===J&&J!=="`"){J=null,X++;continue}if(K==="`"&&!J){J="`",X++;continue}if(K==="`"&&J==="`"&&G===0){J=null,X++;continue}if(J==="`"&&K==="$"&&$[X+1]==="{"){G++,X+=2;continue}if(G>0){if(K==="{")G++;else if(K==="}")G--;X++;continue}if(J){X++;continue}if(K==="(")Q.paren++;else if(K===")")Q.paren--;else if(K==="[")Q.bracket++;else if(K==="]")Q.bracket--;else if(K==="{")Q.brace++;else if(K==="}")Q.brace--;if(Q.paren===0&&Q.bracket===0&&Q.brace<=0){if($.slice(X,X+Y.length)===Y)return X}X++}return-1}function _q($){let Z=k3($);if(Z.length===0)return{baseExpression:"",filters:[]};let Y=Z[0],X=[];for(let J=1;J<Z.length;J++){let Q=Bq(Z[J]);if(Q)X.push(Q)}return{baseExpression:Y,filters:X}}function Bq($){let Z=$.trim();if(!Z)return null;let Y=Z.indexOf("(");if(Y===-1)return{name:Z,args:[]};let X=Z.slice(0,Y).trim(),J=Y+1,Q=w0(Z,"(",")",Y);if(Q===-1)return{name:X,args:[]};let G=Z.slice(J,Q),K=Q2(G);return{name:X,args:K}}function Q2($){let Z=[],Y="",X={paren:0,bracket:0,brace:0},J=null,Q=0;for(let G=0;G<$.length;G++){let K=$[G];if((G>0?$[G-1]:"")==="\\"&&J){Y+=K;continue}if((K==='"'||K==="'")&&!J){J=K,Y+=K;continue}if(K===J&&J!=="`"){J=null,Y+=K;continue}if(K==="`"&&!J){J="`",Y+=K;continue}if(K==="`"&&J==="`"&&Q===0){J=null,Y+=K;continue}if(J==="`"&&K==="$"&&$[G+1]==="{"){Q++,Y+="${",G++;continue}if(Q>0&&K==="{"){Q++,Y+=K;continue}if(Q>0&&K==="}"){Q--,Y+=K;continue}if(J){Y+=K;continue}if(K==="(")X.paren++;else if(K===")")X.paren--;else if(K==="[")X.bracket++;else if(K==="]")X.bracket--;else if(K==="{")X.brace++;else if(K==="}")X.brace--;if(K===","&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(Y.trim()),Y="";continue}Y+=K}if(Y.trim())Z.push(Y.trim());return Z}function jq($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return null;let X=w0($,"(",")",Y);if(X===-1)return null;return{params:$.slice(Y+1,X),endPos:X+1}}function Hq($){let Z=[],X=new z4($).tokenize().filter((Q)=>Q.type!=="WHITESPACE"&&Q.type!=="COMMENT"),J=0;while(J<X.length){let Q=X[J],G=!1;if(Q.type==="IDENTIFIER"&&Q.value==="export"){if(G=!0,J++,J>=X.length)break}let K=X[J];if(K.type==="IDENTIFIER"&&(K.value==="const"||K.value==="let"||K.value==="var")){let z=K.value;if(J++,J>=X.length)break;let q=X[J];if(q.type==="IDENTIFIER"){let U=q.value;if(J++,J<X.length&&X[J].type==="OPERATOR"&&X[J].value==="="){J++;let W=J<X.length?X[J].start:$.length,_=X2(X,J,$);J=_.nextIndex,Z.push({type:"variable",name:U,value:$.slice(W,_.endPos),exported:G,start:K.start,end:_.endPos})}}else if(q.type==="PUNCTUATION"&&(q.value==="{"||q.value==="[")){let U=q.start,W=q.value==="{"?"}":"]",_=w0($,q.value,W,U);if(_!==-1){let B=$.slice(U,_+1);if(J=J2(X,_+1),J<X.length&&X[J].type==="OPERATOR"&&X[J].value==="="){J++;let j=J<X.length?X[J].start:$.length,H=X2(X,J,$);J=H.nextIndex;let L=`__stx_destructured_${Z.length}`;Z.push({type:"variable",name:L,value:`${$.slice(j,H.endPos)}; ${z} ${B} = ${L}`,exported:G,start:K.start,end:H.endPos})}}}}else if(K.type==="IDENTIFIER"&&K.value==="function"){let z=G?X[J-1].start:K.start;if(J++,J>=X.length)break;let q=X[J];if(q.type==="IDENTIFIER"){let U=q.value;J++;let W=-1;while(J<X.length){if(X[J].type==="PUNCTUATION"&&X[J].value==="{"){W=X[J].start;break}J++}if(W!==-1){let _=w0($,"{","}",W);if(_!==-1)Z.push({type:"function",name:U,value:$.slice(z,_+1).replace(/^export\s+/,""),exported:G,start:z,end:_+1}),J=J2(X,_+1)}}}else J++}return Z}function X2($,Z,Y){let X=Z,J={paren:0,bracket:0,brace:0},Q=Z<$.length?$[Z].start:Y.length;while(X<$.length){let G=$[X];if(G.type==="PUNCTUATION"){if(G.value==="(")J.paren++;else if(G.value===")")J.paren--;else if(G.value==="[")J.bracket++;else if(G.value==="]")J.bracket--;else if(G.value==="{")J.brace++;else if(G.value==="}")J.brace--;if(G.value===";"&&J.paren===0&&J.bracket===0&&J.brace===0){Q=G.start,X++;break}}if(G.type==="IDENTIFIER"&&(G.value==="const"||G.value==="let"||G.value==="var"||G.value==="function"||G.value==="export")){if(J.paren===0&&J.bracket===0&&J.brace===0){Q=$[X-1]?.end??G.start;break}}Q=G.end,X++}return{nextIndex:X,endPos:Q}}function J2($,Z){for(let Y=0;Y<$.length;Y++)if($[Y].start>=Z)return Y;return $.length}var G2=()=>{};var U4=P(()=>{Y2();G2()});function Oq($,Z,Y){let X=$,J=!0;while(J){J=!1;let Q=X.match(/@switch\s*\(/);if(!Q||Q.index===void 0)break;let G=Q.index,K=S3(X,G);if(!K)break;try{let z;if($0(K.expression))z=Z0(K.expression,Object.keys(Z))(...Object.values(Z));else z=e(K.expression,Z);let q="",U=!1;for(let W of K.cases)if(W.type==="default"){if(!U)q=W.content.trim()}else try{let _;if(W.value&&$0(W.value))_=Z0(W.value,Object.keys(Z))(...Object.values(Z));else if(W.value)_=e(W.value,Z);if(z===_){q=W.content.trim(),U=!0;break}}catch{continue}X=X.substring(0,G)+q+X.substring(K.end),J=!0}catch(z){let q=z instanceof Error?z.message:String(z),U=r("Switch",`Error evaluating @switch expression: ${q}`,c.EVALUATION_ERROR);X=X.substring(0,G)+U+X.substring(K.end);break}}return X}function f1($,Z,Y){let X=$;X=Oq(X,Z,Y);{let Q=!0;while(Q){Q=!1;let G=X.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,z=H1(X,K+7);if(!z)break;let q=z.endPos,U=x1(X,"unless","endunless",q);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 W=X.slice(q,U),_=z.expression,B=-1;{let H=0,L=/@(?:if|unless)\s*\(/g,F=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,V=[],A;while((A=L.exec(W))!==null)V.push({pos:A.index,type:"open"});while((A=F.exec(W))!==null)V.push({pos:A.index,type:"close"});while((A=O.exec(W))!==null)V.push({pos:A.index,type:"else"});V.sort((w,R)=>w.pos-R.pos);for(let w of V)if(w.type==="open")H++;else if(w.type==="close")H--;else if(w.type==="else"&&H===0){B=w.pos;break}}let j;if(B!==-1){let H=W.slice(0,B),L=W.slice(B+5);j=`@if (${_})${L}@else ${H}@endif`}else j=`@if (!(${_}))${W}@endif`;X=X.substring(0,K)+j+X.substring(U+10),Q=!0}}X=y3(X,Z,Y),X=C3(X,Z,Y),X=b3(X,Z);let J=()=>{let Q=g5(X);if(Q.length===0)return!1;for(let G=Q.length-1;G>=0;G--){let K=Q[G];try{let z="",q=!1;for(let U of K.branches){if(q)break;if(U.type==="else")z=U.content,q=!0;else try{let W;if(U.condition&&$0(U.condition))W=Z0(U.condition,Object.keys(Z))(...Object.values(Z));else if(U.condition)W=e(U.condition,Z);if(W)z=U.content,q=!0}catch(W){z=r(U.type==="if"?"If":"Elseif",`Error in @${U.type}(${U.condition}): ${W instanceof Error?W.message:String(W)}`,c.EVALUATION_ERROR),q=!0}}X=X.substring(0,K.start)+z+X.substring(K.end)}catch(z){let q=z instanceof Error?z.message:String(z),U=r("If",`Error processing @if block: ${q}`,c.EVALUATION_ERROR);X=X.substring(0,K.start)+U+X.substring(K.end)}}return!0};while(!0){let Q=X;if(!J())break;if(X===Q)break}return X}function K2($){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 J=$[Z];if(J==="\\"&&Z+1<$.length){X.push($[Z+1]),Z+=2;continue}if(J===Y){Z++;break}X.push(J),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:X.join(""),consumed:Z}}function b3($,Z){let Y=$;function X(K,z,q,U){let W=1,_=U,B=new RegExp(`@${z}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${q}(?![a-z])`,"g");while(_<K.length&&W>0){B.lastIndex=_,j.lastIndex=_;let H=B.exec(K),L=j.exec(K),F=H?H.index:1/0,O=L?L.index:1/0;if(F<O)W++,_=F+H[0].length;else if(O<1/0){if(W--,W===0)return O;_=O+L[0].length}else break}return-1}function J(K,z,q){let U=0,W=new RegExp(`@${z}(?:\\s*\\(|\\s|$)`,"g"),_=new RegExp(`@${q}(?![a-z])`,"g"),B=/@else(?![a-z])/g,j=[],H;while((H=W.exec(K))!==null)j.push({pos:H.index,type:"open"});while((H=_.exec(K))!==null)j.push({pos:H.index,type:"close"});while((H=B.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 z=Y.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!z||z.index===void 0)break;let q=z.index,U,W,_=Y.slice(q+5),B=K2(_);if(B)U=B.value,W=q+5+B.consumed;else W=q+5;let j=X(Y,"auth","endauth",W);if(j===-1){console.warn(`[stx] @auth directive at position ${q} has no matching @endauth \u2014 the block was skipped.`);break}let H=Y.slice(W,j),L=J(H,"auth","endauth"),F;if(!Z.auth)F=!1;else F=U?j1(`auth?.check && auth?.user?.[${U}]`,Z):j1("auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),A=H.slice(L+5);O=F?V:A}else O=F?H:"";Y=Y.substring(0,q)+O+Y.substring(j+8),K=!0}}{let K=!0;while(K){K=!1;let z=Y.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!z||z.index===void 0)break;let q=z.index,U,W,_=Y.slice(q+6),B=K2(_);if(B)U=B.value,W=q+6+B.consumed;else W=q+6;let j=X(Y,"guest","endguest",W);if(j===-1){console.warn(`[stx] @guest directive at position ${q} has no matching @endguest \u2014 the block was skipped.`);break}let H=Y.slice(W,j),L=J(H,"guest","endguest"),F;if(!Z.auth)F=!0;else F=U?j1(`!auth?.check || !auth?.user?.[${U}]`,Z):j1("!auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),A=H.slice(L+5);O=F?V:A}else O=F?H:"";Y=Y.substring(0,q)+O+Y.substring(j+9),K=!0}}function Q(K,z,q){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(z)U.push(z);if(q){let W=j1(q,Z);U.push(W)}return Z.permissions.check(...U)}catch{return!1}return!1}function G(K){let z=K.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!z)return null;return{ability:z[1],type:z[2],id:z[3]?.trim(),paramsEnd:z[0].length}}for(let K of["can","cannot"]){let z=`end${K}`,q=K==="can"?"elsecan":"elsecannot",U=!0;while(U){U=!1;let W=Y.match(new RegExp(`@${K}\\s*\\(`));if(!W||W.index===void 0)break;let _=W.index,B=Y.slice(_+`@${K}`.length),j=G(B);if(!j)break;let H=_+`@${K}`.length+j.paramsEnd,L=X(Y,K,z,H);if(L===-1){console.warn(`[stx] @${K} directive at position ${_} has no matching @${z} \u2014 the block was skipped.`);break}let F=Y.slice(H,L),O=[],V=0,A=new RegExp(`@${K}\\s*\\(`,"g"),w=new RegExp(`@${z}(?![a-z])`,"g"),R=new RegExp(`@${q}\\s*\\(`,"g"),N=/@else(?![a-z])/g,M=[],T;while((T=A.exec(F))!==null)M.push({pos:T.index,type:"open"});while((T=w.exec(F))!==null)M.push({pos:T.index,type:"close"});while((T=R.exec(F))!==null)M.push({pos:T.index,type:"elseDirective"});while((T=N.exec(F))!==null)M.push({pos:T.index,type:"else"});M.sort((b,C)=>b.pos-C.pos);for(let b of M){if(b.type==="open"){V++;continue}if(b.type==="close"){V--;continue}if(V===0)O.push(b)}let I=[],D=0;for(let b=0;b<O.length;b++){let C=O[b];if(I.push({content:F.slice(D,C.pos),ability:void 0}),C.type==="elseDirective"){let m=F.slice(C.pos+`@${q}`.length),f=G(m);if(f){I[I.length-1]={content:F.slice(D,C.pos)},D=C.pos+`@${q}`.length+f.paramsEnd,I.push({content:"",ability:f.ability,type:f.type,id:f.id}),I.pop();let h=O[b+1],u=h?h.pos:F.length;I.push({content:F.slice(D,u),ability:f.ability,type:f.type,id:f.id}),D=u}}else D=C.pos+5}if(D<F.length){let b=I[I.length-1];if(O.length>0&&O[O.length-1].type==="else")I.push({content:F.slice(D),isFinalElse:!0});else if(I.length===0)I.push({content:F.slice(D)})}let E=Q(j.ability,j.type,j.id),k=K==="can"?E:!E,S="";if(k)S=I[0]?.content||"";else{let b=!1;for(let C=1;C<I.length;C++){let m=I[C];if(m.isFinalElse){S=m.content,b=!0;break}if(m.ability){let f=Q(m.ability,m.type,m.id);if(K==="can"?f:!f){S=m.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,_)+S+Y.substring(L+`@${z}`.length),U=!0}}return Y}function y3($,Z,Y){let X=$;function J(Q,G,K,z,q){let U=!0;while(U){U=!1;let W=new RegExp(`@${G}\\s*\\(`),_=Q.match(W);if(!_||_.index===void 0)break;let B=_.index,j=H1(Q,B+`@${G}`.length);if(!j)break;let H=j.endPos,L=x1(Q,G,K,H);if(L===-1){console.warn(`[stx] @${G} directive at position ${B} has no matching @${K} \u2014 the block was skipped.`);break}let F=Q.slice(H,L),O=j.expression,V=-1,A=0,w=0;while(w<F.length){let R=F.indexOf("@",w);if(R===-1)break;let N=F.substring(R);if(/^@(?:if|unless|isset|empty)\s*\(/.test(N)){A++,w=R+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(N)){A--,w=R+1;continue}if(A===0&&/^@else(?![a-z])/.test(N)){V=R;break}w=R+1}try{let R=z(O.trim()),N;if(V!==-1){let M=F.slice(0,V),T=F.slice(V+5);N=R?M:T}else N=R?F:"";Q=Q.substring(0,B)+N+Q.substring(L+`@${K}`.length),U=!0}catch(R){let N=R instanceof Error?R.message:String(R),M=r(q,`Error processing @${G} directive: ${N}`,c.EVALUATION_ERROR);Q=Q.substring(0,B)+M+Q.substring(L+`@${K}`.length);break}}return Q}return X=J(X,"isset","endisset",(Q)=>{let G=j1(Q,Z);return G!==void 0&&G!==null},"Isset"),X=J(X,"empty","endempty",(Q)=>{let G=j1(Q,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=$,J="development";function Q(G,K,z,q){let U=new RegExp(`@${K}(?![a-z])`,"g"),W=new RegExp(`@${z}(?![a-z])`,"g"),_=new RegExp(`^@${K}(?![a-z])`),B=new RegExp(`^@${z}(?![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 E=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!E)break;O+=E[0].length,q=J===E[2]}let V=1,A=O,w=-1;while(V>0&&A<j.length){U.lastIndex=A,W.lastIndex=A;let E=U.exec(j),k=W.exec(j),S=E?E.index:1/0,b=k?k.index:1/0;if(S<b)V++,A=S+E[0].length;else if(b<1/0){if(V--,V===0){w=b;break}A=b+k[0].length}else break}if(w===-1){console.warn(`[stx] @${K} directive at position ${F} has no matching @${z} \u2014 the block was skipped.`);break}let R=j.substring(O,w),N=-1,M=0,T=0;while(T<R.length){let E=R.indexOf("@",T);if(E===-1)break;let k=R.substring(E);if(_.test(k)){M++,T=E+1;continue}if(B.test(k)){M--,T=E+1;continue}if(M===0&&/^@else(?![a-z])/.test(k)){N=E;break}T=E+1}let I;if(N!==-1){let E=R.slice(0,N),k=R.slice(N+5);I=q?E:k}else I=q?R:"";let D=`@${z}`.length;j=j.substring(0,F)+I+j.substring(w+D),H=!0}return j}return X=Q(X,"env","endenv",!1),X=Q(X,"production","endproduction",J==="production"),X=Q(X,"development","enddevelopment",J==="development"),X=Q(X,"staging","endstaging",J==="staging"),X=Q(X,"testing","endtesting",J==="testing"),X}var W4=P(()=>{eZ();Q1();U4();R0()});function z2($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function g1($,Z){if(!$)return Z?.nonceGenerator?.()??z2();let Y=P3.get($);if(!Y)Y=Z?.nonceGenerator?.()??z2(),P3.set($,Y);return Y}function Kw($){P3.delete($)}function q2($,Z){let Y=[];for(let[X,J]of Object.entries($)){if(J===void 0||J===null)continue;if(typeof J==="boolean"){if(J)Y.push(X);continue}if(Array.isArray(J)){let Q=[...J];if(Z&&(X==="script-src"||X==="style-src"))Q=Q.filter((G)=>!G.startsWith("'nonce-")),Q.push(`'nonce-${Z}'`);if(Q.length>0)Y.push(`${X} ${Q.join(" ")}`)}}return Y.join("; ")}function x3($,Z){return`<meta http-equiv="Content-Security-Policy" content="${q2($,Z).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function zw($){return{enabled:!0,directives:{strict:Lq,moderate:v3,relaxed:Fq,api:Vq}[$]||v3,useNonce:$==="strict",addMetaTag:!0}}function qw($,Z){let Y={...$};for(let[X,J]of Object.entries(Z)){let Q=X,G=Y[Q];if(J===void 0||J===null)continue;if(typeof J==="boolean")Y[Q]=G||J;else if(Array.isArray(J)){let K=Array.isArray(G)?G:[],z=[...new Set([...K,...J])];Y[Q]=z}}return Y}function U2($,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?g1(Y,Z):void 0,J=x3(Z.directives,X);return $.replace(/<head([^>]*)>/,`<head$1>
3774
+ ${J}`)}function Uw($,Z){let Y=$;return Y=Y.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(X,J)=>{if(J.includes("nonce="))return X;return`<script nonce="${Z}"${J}>`}),Y=Y.replace(/<style([^>]*)>/gi,(X,J)=>{if(J.includes("nonce="))return X;return`<style nonce="${Z}"${J}>`}),Y}function W2($,Z,Y,X){let J=$,Q=X.csp;if(J=J.replace(/@csp\b/g,()=>{if(!Q?.enabled||!Q.directives)return"<!-- CSP not configured -->";let G=Q.useNonce?g1(Z,Q):void 0;return x3(Q.directives,G)}),J=J.replace(/@cspNonce\b/g,()=>{if(!Q?.enabled||!Q.useNonce)return"";return g1(Z,Q)}),Q?.enabled&&Q.useNonce)Z.cspNonce=g1(Z,Q);return J}function Ww(){return[wq,Aq]}function _w($){let Z=[];if($["script-src"]?.includes("'unsafe-inline'"))Z.push("CSP: Using unsafe-inline in script-src significantly reduces XSS protection");if($["script-src"]?.includes("'unsafe-eval'"))Z.push("CSP: Using unsafe-eval in script-src allows eval() and related functions");if(!$["default-src"])Z.push("CSP: No default-src specified. Recommend adding default-src as a fallback");if($["default-src"]?.includes("*"))Z.push("CSP: Using * in default-src provides minimal protection");if(!$["object-src"]&&!$["default-src"]?.includes("'none'"))Z.push("CSP: Consider adding object-src: none to block plugins");if(!$["base-uri"])Z.push("CSP: Consider adding base-uri to prevent base tag injection attacks");for(let[Y,X]of Object.entries($))if(Array.isArray(X)&&X.includes("http:"))Z.push(`CSP: Using http: in ${Y} allows insecure resources`);return Z}function Rq($=!1){return $?"Content-Security-Policy-Report-Only":"Content-Security-Policy"}function Bw($,Z){if(!$.enabled)return{};let Y=$.useNonce?g1(Z,$):void 0,X=q2($.directives,Y);return{[Rq($.reportOnly)]:X}}var P3,Lq,v3,Fq,Vq,wq,Aq,jw;var _2=P(()=>{P3=new WeakMap;Lq={"default-src":["'self'"],"script-src":["'self'","'strict-dynamic'"],"style-src":["'self'"],"img-src":["'self'","data:","https:"],"font-src":["'self'","https:","data:"],"connect-src":["'self'"],"media-src":["'self'"],"object-src":["'none'"],"frame-src":["'none'"],"base-uri":["'self'"],"form-action":["'self'"],"frame-ancestors":["'self'"],"upgrade-insecure-requests":!0},v3={"default-src":["'self'"],"script-src":["'self'"],"style-src":["'self'","'unsafe-inline'"],"img-src":["'self'","data:","https:"],"font-src":["'self'","https:","data:"],"connect-src":["'self'","https:"],"media-src":["'self'"],"object-src":["'none'"],"frame-src":["'self'"],"base-uri":["'self'"],"form-action":["'self'"],"upgrade-insecure-requests":!0},Fq={"default-src":["'self'"],"script-src":["'self'","'unsafe-inline'"],"style-src":["'self'","'unsafe-inline'"],"img-src":["'self'","data:","https:","http:"],"font-src":["'self'","https:","http:","data:"],"connect-src":["'self'","https:","http:","ws:","wss:"],"media-src":["'self'","https:","http:"],"object-src":["'none'"],"frame-src":["'self'","https:"],"base-uri":["'self'"]},Vq={"default-src":["'none'"],"frame-ancestors":["'none'"]};wq={name:"csp",handler:($,Z,Y,X)=>{let Q=Y.__stx_options?.csp;if(!Q?.enabled||!Q.directives)return"<!-- CSP not configured -->";let G=Q.useNonce?g1(Y,Q):void 0;return x3(Q.directives,G)},hasEndTag:!1,description:"Insert Content-Security-Policy meta tag"},Aq={name:"cspNonce",handler:($,Z,Y,X)=>{let Q=Y.__stx_options?.csp;if(!Q?.enabled||!Q.useNonce)return"";return g1(Y,Q)},hasEndTag:!1,description:"Output the current CSP nonce value"};jw={enabled:!1,reportOnly:!1,directives:v3,useNonce:!1,addMetaTag:!0}});import{Buffer as B2}from"buffer";import j2 from"crypto";function Tq($=Nq){let Z=j2.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return U5=Z,Z}function Mq(){if(!U5)Tq();return U5}function Fw(){U5=null}function Vw($){U5=$}function Iq($=H2){let Z=Mq();return`<input type="hidden" name="${$}" value="${Z}">`}function O2($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,Y,X)=>{return Iq(X||H2)})}function ww($,Z){let Y=Z??U5;if(!Y)return!1;let X=B2.from($),J=B2.from(Y);if(X.length!==J.length)return!1;return j2.timingSafeEqual(X,J)}var Nq=40,H2="_token",U5=null;var L2=()=>{};async function F2($,Z,Y,X){if(!X.customDirectives||X.customDirectives.length===0)return $;let J=$;for(let Q of X.customDirectives){if(!Q.name||typeof Q.handler!=="function"){if(X.debug)console.warn("Invalid custom directive:",Q);continue}if(Q.hasEndTag)J=await Dq(J,Q,Z,Y,X);else J=await Eq(J,Q,Z,Y,X)}return J}async function Dq($,Z,Y,X,J){let{name:Q,handler:G}=Z,K=`@${Q}`,z=`@end${Q}`,q=$,U=k1(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${z}`,"g"),W=[],_=U.exec(q);while(_!==null){let[B,j="",H=""]=_,L=_.index||0;try{let F=j?V2(j):[],O=H.trim(),V=await G(O,F,Y,X);W.push({original:B,processed:V,startIndex:L})}catch(F){let O=F instanceof Error?F.message:String(F);if(J.debug)console.error(`Error processing custom directive @${Q}:`,F);W.push({original:B,processed:r("CustomDirective",`Error in @${Q}${j?`(${j})`:""}: ${O}`,c.EVALUATION_ERROR),startIndex:L})}_=U.exec(q)}for(let B=W.length-1;B>=0;B--){let{original:j,processed:H}=W[B];q=q.replace(j,H)}return q}async function Eq($,Z,Y,X,J){let{name:Q,handler:G}=Z,K=$,z=k1(`@${Q}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),q=[],U=z.exec(K);while(U!==null){let[B,j=""]=U,H=U.index||0;try{let L=V2(j),F=await G("",L,Y,X);q.push({original:B,processed:F,startIndex:H})}catch(L){let F=L instanceof Error?L.message:String(L);if(J.debug)console.error(`Error processing custom directive @${Q}:`,L);q.push({original:B,processed:r("CustomDirective",`Error in @${Q}(${j}): ${F}`,c.EVALUATION_ERROR),startIndex:H})}U=z.exec(K)}let W=k1(`@${Q}(?!\\w)(?!\\s*\\()`,"g"),_=W.exec(K);while(_!==null){let[B]=_,j=_.index||0;try{let H=await G("",[],Y,X);q.push({original:B,processed:H,startIndex:j})}catch(H){let L=H instanceof Error?H.message:String(H);if(J.debug)console.error(`Error processing custom directive @${Q}:`,H);q.push({original:B,processed:r("CustomDirective",`Error in @${Q}: ${L}`,c.EVALUATION_ERROR),startIndex:j})}_=W.exec(K)}for(let B=q.length-1;B>=0;B--){let{original:j,processed:H}=q[B];K=K.replace(j,H)}return K}function V2($){if(!$.trim())return[];let Z=[],Y="",X=!1,J="";for(let Q=0;Q<$.length;Q++){let G=$[Q];if((G==='"'||G==="'")&&(Q===0||$[Q-1]!=="\\"))if(!X)X=!0,J=G;else if(G===J)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((Q)=>{let G=Q.trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))return G.substring(1,G.length-1);return G})}var w2=P(()=>{Q1();e1()});var f3={};p(f3,{useTitle:()=>Pq,useSeoMeta:()=>B4,usePageTitle:()=>Pq,useHead:()=>d1,resetHead:()=>bq,renderHtmlAttrs:()=>xq,renderHead:()=>vq,renderBodyAttrs:()=>fq,processTitleDirective:()=>dq,processMetaDirective:()=>mq,processHeadDirective:()=>hq,getPageMeta:()=>Sq,getHead:()=>h5,definePageMeta:()=>Cq,applyHead:()=>gq});function h5(){return O1}function Sq(){return _4}function bq(){O1={},kq.length=0,_4={}}function d1($){O1=yq(O1,$)}function yq($,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 B4($){let Z=[];if($.description)Z.push({name:"description",content:$.description});if($.keywords){let z=Array.isArray($.keywords)?$.keywords.join(", "):$.keywords;Z.push({name:"keywords",content:z})}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 J=$.twitterTitle??$.title,Q=$.twitterDescription??$.description,G=$.twitterImage??$.ogImage;if($.twitterCard)Z.push({name:"twitter:card",content:$.twitterCard});if(J)Z.push({name:"twitter:title",content:J});if(Q)Z.push({name:"twitter:description",content:Q});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 z of $.articleTags)Z.push({property:"article:tag",content:z});let K=[];if($.canonical)K.push({rel:"canonical",href:$.canonical});d1({title:$.title,titleTemplate:$.titleTemplate,meta:Z,link:K})}function Cq($){if(_4={..._4,...$},$.title||$.description)B4({title:$.title,description:$.description})}function Pq($){let Z=typeof $==="function"?$():$;d1({title:Z})}function vq($=O1){let Z=[];if($.title){let Y=$.title;if($.titleTemplate)Y=typeof $.titleTemplate==="function"?$.titleTemplate(Y):$.titleTemplate.replace("%s",Y);Z.push(`<title>${h1(Y)}</title>`)}if($.base){let Y=Object.entries($.base).map(([X,J])=>`${X}="${h1(J)}"`).join(" ");Z.push(`<base ${Y}>`)}for(let Y of $.meta||[]){let X=Object.entries(Y).filter(([J,Q])=>Q!==void 0).map(([J,Q])=>{return`${J==="httpEquiv"?"http-equiv":J}="${h1(String(Q))}"`}).join(" ");Z.push(`<meta ${X}>`)}for(let Y of $.link||[]){let X=Object.entries(Y).filter(([J,Q])=>Q!==void 0).map(([J,Q])=>`${J}="${h1(String(Q))}"`).join(" ");Z.push(`<link ${X}>`)}for(let Y of $.script||[]){let{content:X,...J}=Y,Q=Object.entries(J).filter(([G,K])=>K!==void 0).map(([G,K])=>{if(typeof K==="boolean")return K?G:"";return`${G}="${h1(String(K))}"`}).filter(Boolean).join(" ");if(X)Z.push(`<script ${Q}>${X}</script>`);else Z.push(`<script ${Q}></script>`)}for(let Y of $.style||[]){let X=Y.type?` type="${Y.type}"`:"";Z.push(`<style${X}>${Y.content}</style>`)}return Z.join(`
3775
3775
  `)}function xq($=O1){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([Z,Y])=>`${Z}="${h1(Y)}"`).join(" ")}function fq($=O1){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([Z,Y])=>`${Z}="${h1(Y)}"`).join(" ")}function h1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function gq($=O1){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[J,Q]of Object.entries(Z))if(Q!==void 0)X.setAttribute(J,String(Q))}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 hq($){let Z="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(X,J)=>{return Z+=J.trim()+`
3776
- `,""}),headContent:Z.trim()}}function dq($,Z){return $.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(Y,X,J,Q)=>{let G=X?J:Z[(Q||"").trim()]??Q;return d1({title:G}),""})}function mq($,Z){return $.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(Y,X,J,Q,G,K)=>{let z=Q?G:K,q=Q?z:Z[(z||"").trim()]??z,W=J.includes(":")?{property:J,content:q}:{name:J,content:q};return d1({meta:[W]}),""})}var O1,kq,_4;var d5=C(()=>{O1={},kq=[],_4={}});import uq from"crypto";function N0($){return String($??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function lq($){return{...g3,...$.forms?.classes}}function j4($,Z,Y,X){let J=$||Z;return Y?`${J} ${X}`:J}function pq(){return uq.randomUUID()}function Dw($,Z,Y,X){let J=lq(X),Q=$;return Q=iq(Q,Z),Q=l5(Q,Z),Q=h3(Q,Z,J),Q=d3(Q,Z,J),Q}function l5($,Z){let Y=$;return Y=Y.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let X=pq();Z.csrf={token:X}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${N0(Z.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),Y=Y.replace(/@method\(['"]([^'"]+)['"]\)/g,(X,J)=>{let Q=J.toUpperCase();if(J&&!["GET","POST"].includes(Q))return`<input type="hidden" name="_method" value="${N0(Q)}">`;return X}),Y}function h3($,Z,Y=g3){let X=$;return X=X.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(J,Q,G,K,z,q="")=>{let U=Q||G||"POST",W=K||z||"",_=L1(q),B=U.toUpperCase(),j=["GET","POST"].includes(B)?B:"POST",H=`<form method="${N0(j)}" action="${N0(W)}"${_?` ${_}`:""}>`;if(H+=`
3776
+ `,""}),headContent:Z.trim()}}function dq($,Z){return $.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(Y,X,J,Q)=>{let G=X?J:Z[(Q||"").trim()]??Q;return d1({title:G}),""})}function mq($,Z){return $.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(Y,X,J,Q,G,K)=>{let z=Q?G:K,q=Q?z:Z[(z||"").trim()]??z,W=J.includes(":")?{property:J,content:q}:{name:J,content:q};return d1({meta:[W]}),""})}var O1,kq,_4;var d5=P(()=>{O1={},kq=[],_4={}});import uq from"crypto";function N0($){return String($??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function lq($){return{...g3,...$.forms?.classes}}function j4($,Z,Y,X){let J=$||Z;return Y?`${J} ${X}`:J}function pq(){return uq.randomUUID()}function Dw($,Z,Y,X){let J=lq(X),Q=$;return Q=iq(Q,Z),Q=l5(Q,Z),Q=h3(Q,Z,J),Q=d3(Q,Z,J),Q}function l5($,Z){let Y=$;return Y=Y.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let X=pq();Z.csrf={token:X}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${N0(Z.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),Y=Y.replace(/@method\(['"]([^'"]+)['"]\)/g,(X,J)=>{let Q=J.toUpperCase();if(J&&!["GET","POST"].includes(Q))return`<input type="hidden" name="_method" value="${N0(Q)}">`;return X}),Y}function h3($,Z,Y=g3){let X=$;return X=X.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(J,Q,G,K,z,q="")=>{let U=Q||G||"POST",W=K||z||"",_=L1(q),B=U.toUpperCase(),j=["GET","POST"].includes(B)?B:"POST",H=`<form method="${N0(j)}" action="${N0(W)}"${_?` ${_}`:""}>`;if(H+=`
3777
3777
  ${l5("@csrf",Z)}`,!["GET","POST"].includes(B))H+=`
3778
3778
  ${l5(`@method('${B}')`,Z)}`;return H}),X=X.replace(/@endform/g,"</form>"),X=X.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(J,Q,G,K,z,q="")=>{let U=Q||G||"",W=K||z||"",_=L1(q),B=m5(U,Z),j=B!==void 0&&B!==null?B:W||"",H=_.match(/type=['"]([^'"]+)['"]/i),L=H?H[1]:"text",F=u5(U,Z),O=_.match(/class=['"]([^'"]+)['"]/i),V=j4(O?O[1]:"",Y.input,F,Y.inputError),A=_.replace(/class=['"][^'"]+['"]/i,"");return A=A.replace(/type=['"][^'"]+['"]/i,""),`<input type="${N0(L)}" name="${N0(U)}" value="${N0(j)}" class="${V}"${A?` ${A}`:""}>`}),X=X.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(J,Q,G="",K="")=>{let z=L1(G),q=m5(Q,Z)||K.trim(),U=u5(Q,Z),W=z.match(/class=['"]([^'"]+)['"]/i),_=j4(W?W[1]:"",Y.input,U,Y.inputError),B=z.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${N0(Q)}" class="${_}"${B?` ${B}`:""}>${N0(q)}</textarea>`}),X=X.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(J,Q,G="",K)=>{let z=L1(G),q=m5(Q,Z),U=u5(Q,Z),W=z.match(/class=['"]([^'"]+)['"]/i),_=j4(W?W[1]:"",Y.input,U,Y.inputError),B=z.replace(/class=['"][^'"]+['"]/i,""),j=K;if(q!==void 0)j=K.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(H,L,F)=>{if((Array.isArray(q)?q.some((V)=>String(V)===F):String(q)===F)&&!L.includes("selected"))return L.replace(/(<option)/,"$1 selected");return H});return`<select name="${N0(Q)}" class="${_}"${B?` ${B}`:""}>${j}</select>`}),X=X.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(J,Q,G="1",K="")=>{let z=L1(K),q=m5(Q,Z),U=q!==void 0&&(Array.isArray(q)?q.some((j)=>String(j)===G):q===!0||String(q)===G),W=z.match(/class=['"]([^'"]+)['"]/i),_=W?W[1]:Y.checkInput,B=z.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${N0(Q)}" value="${N0(G)}" class="${_}"${U?" checked":""}${B?` ${B}`:""}>`}),X=X.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,Q,G,K="")=>{let z=L1(K),q=m5(Q,Z),U=q!==void 0&&q===G,W=z.match(/class=['"]([^'"]+)['"]/i),_=W?W[1]:Y.checkInput,B=z.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${N0(Q)}" value="${N0(G)}" class="${_}"${U?" checked":""}${B?` ${B}`:""}>`}),X=X.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,Q,G="")=>{let K=L1(G),z=K.match(/accept=['"]([^'"]+)['"]/i),q=z?z[1]:"",U=K.includes("multiple"),W=u5(Q,Z),_=K.match(/class=['"]([^'"]+)['"]/i),B=j4(_?_[1]:"",Y.input,W,Y.inputError),j=K.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),H=[`<input type="file" name="${N0(Q)}"`,`class="${B}"`];if(q)H.push(`accept="${N0(q)}"`);if(U)H.push("multiple");if(j)H.push(j);return`${H.join(" ")}>`}),X=X.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(J,Q,G="",K)=>{let z=L1(G),q=z.match(/class=['"]([^'"]+)['"]/i),U=q?q[1]:Y.label,W=z.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${N0(Q)}" class="${U}"${W?` ${W}`:""}>${K}</label>`}),X}function d3($,Z,Y=g3){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(X,J,Q)=>{try{if(u5(J,Z))return Q.replace(/\{\{([^}]+)\}\}/g,(G,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return A2(J,Z);if(K.trim().includes("errors.first")||K.trim().includes("$errors.first")){if(typeof Z.errors?.first==="function")return Z.errors.first(J);return A2(J,Z)}let z=K.trim();if($0(z)){let q=e(z,Z);return q!==void 0?String(q):z}return z}catch{return K}});return""}catch(G){return console.error("Error processing @error directive:",G),X}})}function u5($,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 A2($,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 m5($,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 L1($){if(!$.trim())return"";let Z=[],Y=$.trim(),X=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,J;while((J=X.exec(Y))!==null){let[,Q,,G]=J;Z.push(`${Q}="${G.trim()}"`)}return Z.join(" ")}function Ew($,Z){R2[$]=Z}function m3($){let[Z,...Y]=$.split(":"),X=Y.length>0?Y.join(":").split(","):[];return{name:Z.trim(),params:X}}function cq($,Z,Y,X={}){let J=[],Q=Y.split("|").map((G)=>G.trim()).filter(Boolean);for(let G of Q){let K=m3(G),z=R2[K.name];if(!z){console.warn(`Unknown validation rule: ${K.name}`);continue}if(K.name==="confirmed"){let U=`${$}_confirmation`;K.params=[X[U]]}let q=z(Z,K.params||[],$);if(q)J.push(K.message||q)}return{field:$,valid:J.length===0,errors:J}}function kw($,Z){let Y={};for(let[X,J]of Object.entries(Z)){let Q=cq(X,$[X],J,$);if(!Q.valid)Y[X]=Q.errors}return Y}function iq($,Z){return $.replace(/@validate\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]*)\})?\s*\)/g,(Y,X,J,Q)=>{let G=J.split("|").map((z)=>z.trim()),K=[];for(let z of G){let q=m3(z);switch(q.name){case"required":K.push("required");break;case"email":K.push('type="email"');break;case"url":K.push('type="url"');break;case"numeric":case"integer":if(K.push('type="number"'),q.name==="integer")K.push('step="1"');break;case"min":if(q.params?.[0])K.push(`minlength="${q.params[0]}"`);break;case"max":if(q.params?.[0])K.push(`maxlength="${q.params[0]}"`);break;case"regex":if(q.params?.[0])K.push(`pattern="${q.params[0]}"`);break}}return`<!-- @validate:${X}:${J} -->${K.length>0?`<!-- attrs:${K.join(" ")} -->`:""}`})}function Sw($){N2[$.name]=$}function nq($,Z,Y={}){let X=[],J=Z.split("|").map((Q)=>Q.trim());for(let Q of J){let G=m3(Q),K=N2[G.name];if(!K){console.warn(`Unknown validation rule: ${G.name}`);continue}let z=K.validate($,G.params||[],Y);if(z!==!0)X.push(z)}return{valid:X.length===0,errors:X}}function bw($,Z){let Y={},X=!0;for(let[J,Q]of Object.entries(Z)){let G=nq($[J],Q,$);if(!G.valid)X=!1,Y[J]=G.errors}return{valid:X,errors:Y}}function yw($,Z){let Y=JSON.stringify(Z);return`
3779
3779
  <script>
@@ -3827,8 +3827,8 @@ catch { return 'Please enter a valid URL'; } },
3827
3827
  }
3828
3828
  });
3829
3829
  })();
3830
- </script>`.trim()}var g3,R2,N2;var T2=C(()=>{R0();g3={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"};R2={required:($,Z,Y)=>{if($===void 0||$===null||$===""||Array.isArray($)&&$.length===0)return`The ${Y} field is required.`;return null},email:($,Z,Y)=>{if(!$)return null;if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($)))return`The ${Y} field must be a valid email address.`;return null},min:($,Z,Y)=>{if(!$)return null;let X=Number(Z[0]);if(typeof $==="string"&&$.length<X)return`The ${Y} field must be at least ${X} characters.`;if(typeof $==="number"&&$<X)return`The ${Y} field must be at least ${X}.`;if(Array.isArray($)&&$.length<X)return`The ${Y} field must have at least ${X} items.`;return null},max:($,Z,Y)=>{if(!$)return null;let X=Number(Z[0]);if(typeof $==="string"&&$.length>X)return`The ${Y} field must not exceed ${X} characters.`;if(typeof $==="number"&&$>X)return`The ${Y} field must not exceed ${X}.`;if(Array.isArray($)&&$.length>X)return`The ${Y} field must not have more than ${X} items.`;return null},confirmed:($,Z,Y)=>{if(Z[0]!==void 0&&$!==Z[0])return`The ${Y} confirmation does not match.`;return null},numeric:($,Z,Y)=>{if(!$)return null;if(Number.isNaN(Number($)))return`The ${Y} field must be a number.`;return null},integer:($,Z,Y)=>{if(!$)return null;if(!Number.isInteger(Number($)))return`The ${Y} field must be an integer.`;return null},alpha:($,Z,Y)=>{if(!$)return null;if(!/^[a-z]+$/i.test(String($)))return`The ${Y} field must only contain letters.`;return null},alphanumeric:($,Z,Y)=>{if(!$)return null;if(!/^[a-z0-9]+$/i.test(String($)))return`The ${Y} field must only contain letters and numbers.`;return null},url:($,Z,Y)=>{if(!$)return null;try{return new URL(String($))?null:null}catch{return`The ${Y} field must be a valid URL.`}},regex:($,Z,Y)=>{if(!$)return null;try{if(!new RegExp(Z[0]).test(String($)))return`The ${Y} field format is invalid.`;return null}catch{return`The ${Y} field has an invalid validation pattern.`}},in:($,Z,Y)=>{if(!$)return null;if(!Z.includes(String($)))return`The ${Y} field must be one of: ${Z.join(", ")}.`;return null},notIn:($,Z,Y)=>{if(!$)return null;if(Z.includes(String($)))return`The ${Y} field must not be: ${Z.join(", ")}.`;return null},date:($,Z,Y)=>{if(!$)return null;let X=new Date($);if(Number.isNaN(X.getTime()))return`The ${Y} field must be a valid date.`;return null},before:($,Z,Y)=>{if(!$)return null;let X=new Date($),J=new Date(Z[0]);if(X>=J)return`The ${Y} field must be before ${Z[0]}.`;return null},after:($,Z,Y)=>{if(!$)return null;let X=new Date($),J=new Date(Z[0]);if(X<=J)return`The ${Y} field must be after ${Z[0]}.`;return null}};N2={required:{name:"required",validate:($)=>{if($===null||$===void 0||$==="")return"This field is required";if(Array.isArray($)&&$.length===0)return"This field is required";return!0},toHtml5:()=>["required"],message:"This field is required"},email:{name:"email",validate:($)=>{if(!$)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($))||"Please enter a valid email address"},toHtml5:()=>['type="email"'],message:"Please enter a valid email address"},url:{name:"url",validate:($)=>{if(!$)return!0;try{return new URL(String($)).protocol.startsWith("http")||"Please enter a valid URL"}catch{return"Please enter a valid URL"}},toHtml5:()=>['type="url"'],message:"Please enter a valid URL"},numeric:{name:"numeric",validate:($)=>{if(!$)return!0;return!Number.isNaN(Number($))||"Please enter a number"},toHtml5:()=>['type="number"'],message:"Please enter a number"},integer:{name:"integer",validate:($)=>{if(!$)return!0;let Z=Number($);return Number.isInteger(Z)||"Please enter a whole number"},toHtml5:()=>['type="number"','step="1"'],message:"Please enter a whole number"},alpha:{name:"alpha",validate:($)=>{if(!$)return!0;return/^[a-z]+$/i.test(String($))||"Please enter only letters"},toHtml5:()=>['pattern="[a-zA-Z]+"'],message:"Please enter only letters"},alphanumeric:{name:"alphanumeric",validate:($)=>{if(!$)return!0;return/^[a-z0-9]+$/i.test(String($))||"Please enter only letters and numbers"},toHtml5:()=>['pattern="[a-zA-Z0-9]+"'],message:"Please enter only letters and numbers"},min:{name:"min",validate:($,Z)=>{if(!$)return!0;let Y=Number(Z[0]);if(typeof $==="string")return $.length>=Y||`Must be at least ${Y} characters`;if(typeof $==="number")return $>=Y||`Must be at least ${Y}`;if(Array.isArray($))return $.length>=Y||`Must have at least ${Y} items`;return!0},toHtml5:($)=>[`minlength="${$[0]}"`,`min="${$[0]}"`],message:"Must be at least {{param}} characters"},max:{name:"max",validate:($,Z)=>{if(!$)return!0;let Y=Number(Z[0]);if(typeof $==="string")return $.length<=Y||`Must be no more than ${Y} characters`;if(typeof $==="number")return $<=Y||`Must be no more than ${Y}`;if(Array.isArray($))return $.length<=Y||`Must have no more than ${Y} items`;return!0},toHtml5:($)=>[`maxlength="${$[0]}"`,`max="${$[0]}"`],message:"Must be no more than {{param}} characters"},between:{name:"between",validate:($,Z)=>{if(!$)return!0;let[Y,X]=Z.map(Number);if(typeof $==="string")return $.length>=Y&&$.length<=X||`Must be between ${Y} and ${X} characters`;if(typeof $==="number")return $>=Y&&$<=X||`Must be between ${Y} and ${X}`;return!0},toHtml5:($)=>[`minlength="${$[0]}"`,`maxlength="${$[1]}"`],message:"Must be between {{min}} and {{max}}"},confirmed:{name:"confirmed",validate:($,Z,Y)=>{let X=Object.keys(Y);for(let J of X)if(J.endsWith("_confirmation")&&Y[J]===$)return!0;return"Confirmation does not match"},message:"Confirmation does not match"},in:{name:"in",validate:($,Z)=>{if(!$)return!0;return Z.includes(String($))||`Must be one of: ${Z.join(", ")}`},message:"Must be one of: {{values}}"},notIn:{name:"notIn",validate:($,Z)=>{if(!$)return!0;return!Z.includes(String($))||`Must not be: ${Z.join(", ")}`},message:"Must not be: {{values}}"},regex:{name:"regex",validate:($,Z)=>{if(!$)return!0;try{return new RegExp(Z[0]).test(String($))||"Invalid format"}catch{return"Invalid format"}},toHtml5:($)=>[`pattern="${$[0]}"`],message:"Invalid format"},date:{name:"date",validate:($)=>{if(!$)return!0;let Z=new Date(String($));return!Number.isNaN(Z.getTime())||"Please enter a valid date"},toHtml5:()=>['type="date"'],message:"Please enter a valid date"},before:{name:"before",validate:($,Z)=>{if(!$)return!0;let Y=new Date(String($)),X=new Date(Z[0]);return Y<X||`Must be before ${Z[0]}`},toHtml5:($)=>[`max="${$[0]}"`],message:"Must be before {{date}}"},after:{name:"after",validate:($,Z)=>{if(!$)return!0;let Y=new Date(String($)),X=new Date(Z[0]);return Y>X||`Must be after ${Z[0]}`},toHtml5:($)=>[`min="${$[0]}"`],message:"Must be after {{date}}"},size:{name:"size",validate:($,Z)=>{if(!$)return!0;let Y=Number(Z[0]);if(typeof $==="string")return $.length===Y||`Must be exactly ${Y} characters`;if(Array.isArray($))return $.length===Y||`Must have exactly ${Y} items`;return!0},message:"Must be exactly {{size}}"},phone:{name:"phone",validate:($)=>{if(!$)return!0;return/^\+?\(?\d{1,4}\)?[-\s./\d]*$/.test(String($))||"Please enter a valid phone number"},toHtml5:()=>['type="tel"','pattern="\\+?\\(?\\d{1,4}\\)?[-\\s./\\d]*"'],message:"Please enter a valid phone number"}}});var TU={};p(TU,{waitForLocale:()=>XU,processTranslateDirective:()=>i3,preloadTranslationsBackground:()=>ZU,preloadTranslations:()=>D2,loadTranslationLazy:()=>c5,loadTranslation:()=>k2,isLoading:()=>eq,isLoaded:()=>$U,isICUFormat:()=>y2,getTranslationSync:()=>E2,getTranslationCacheStats:()=>rq,getTranslationAsync:()=>YU,getTranslation:()=>H4,getLoadingState:()=>tq,getLoadingLocales:()=>JU,formatICU:()=>S2,defaultI18nConfig:()=>O4,createTranslateFilter:()=>NU,clearTranslationCache:()=>sq,cancelPendingLoads:()=>QU});import l3 from"path";async function oq(){if(p5!==void 0)return p5;try{p5=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{p5=null}return p5}function sq($){if($)delete b0[$];else for(let Z of Object.keys(b0))delete b0[Z]}function rq(){let $=Object.entries(b0).map(([Z,Y])=>({locale:Z,loadedAt:new Date(Y.loadedAt),keyCount:I2(Y.translations)}));return{size:Object.keys(b0).length,locales:Object.keys(b0),entries:$}}function I2($,Z=0){for(let Y of Object.values($))if(Z++,Y&&typeof Y==="object"&&!Array.isArray(Y))Z=I2(Y,Z);return Z}function aq($,Z=0){if(Z<=0)return!1;return Date.now()-$.loadedAt>Z}function tq($){if(b0[$])return"loaded";return K1[$]||"idle"}function eq($){return K1[$]==="loading"}function $U($){return!!b0[$]}async function D2($,Z){let{locales:Y,parallel:X=!0,priority:J={},onLocaleLoaded:Q,onComplete:G,onError:K}=$,z=X?Y:[...Y].sort((q,U)=>(J[U]||0)-(J[q]||0));if(X){let q=z.map(async(U)=>{try{await c5(U,Z),Q?.(U)}catch(W){K?.(U,W instanceof Error?W:Error(String(W)))}});await Promise.all(q)}else for(let q of z)try{await c5(q,Z),Q?.(q)}catch(U){K?.(q,U instanceof Error?U:Error(String(U)))}G?.()}function ZU($,Z){queueMicrotask(()=>{D2($,Z).catch((Y)=>{if(Z.debug)console.error("Background preload error:",Y)})})}async function c5($,Z){if({...O4,...Z.i18n}.cache&&b0[$]){let J=b0[$],Q=Z.i18n?.cacheMaxAge??0;if(!aq(J,Q))return J.translations}if(i0[$]?.state==="loading")return i0[$].promise;K1[$]="loading";let X=p3($,Z).then((J)=>{return K1[$]="loaded",delete i0[$],J}).catch((J)=>{throw K1[$]="error",i0[$]={promise:X,state:"error",error:J instanceof Error?J:Error(String(J))},J});return i0[$]={promise:X,state:"loading"},X}function E2($){return b0[$]?.translations}async function YU($,Z){let Y=E2($);if(Y)return Y;return c5($,Z)}async function XU($,Z){if(b0[$])return b0[$].translations;if(i0[$]){if(Z)return Promise.race([i0[$].promise,new Promise((Y,X)=>setTimeout(()=>X(Error(`Timeout waiting for locale: ${$}`)),Z))]);return i0[$].promise}throw Error(`Locale "${$}" is not loading. Call loadTranslationLazy first.`)}function JU(){return Object.entries(K1).filter(([$,Z])=>Z==="loading").map(([$])=>$)}function QU($){if($)delete i0[$],delete K1[$];else{for(let Z of Object.keys(i0))delete i0[Z];for(let Z of Object.keys(K1))delete K1[Z]}}async function p3($,Z){let Y={...O4,...Z.i18n},X=l3.isAbsolute(Y.translationsDir)?Y.translationsDir:l3.resolve(Z.root||process.cwd(),Y.translationsDir);try{let J=await oq(),Q=J?await J($,{translationsDir:X,defaultLocale:Y.defaultLocale,sources:UU(Y.format)}):await GU($,Y,X);if(Q===void 0){if($!==Y.defaultLocale)return p3(Y.defaultLocale,Z);return{}}let G=Q;if(Y.cache)b0[$]={translations:G,loadedAt:Date.now(),locale:$};return G}catch(J){if(Z.debug)console.error(`Error loading translation file for locale "${$}":`,J);if($!==Y.defaultLocale)return p3(Y.defaultLocale,Z);return{}}}async function GU($,Z,Y){let X=l3.join(Y,`${$}${KU(Z.format)}`);try{let J=await import(X);return J.default||J}catch(J){try{let Q=await Bun.file(X).text();if(Z.format==="yaml"||Z.format==="yml")return zU(Q);if(Z.format==="json")return JSON.parse(Q);throw J}catch{return}}}function KU($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function zU($){let Z={},Y=$.split(`
3831
- `),X=[{obj:Z,indent:-1}];for(let J of Y){let Q=J.replace(/#.*$/,"").trimEnd();if(!Q.trim())continue;let G=Q.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,z=Q.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(z){let[,,q,U]=z,W=q.trim(),_=U.trim();if(_==="")K[W]={},X.push({obj:K[W],indent:G});else K[W]=qU(_)}}return Z}function qU($){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 UU($){switch($){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function k2($,Z){return c5($,Z)}function WU($,Z){for(let Y of $){let X=Y.trim(),J=X.match(/^\{(\d+)\}\s*(.*)$/);if(J){let G=Number.parseInt(J[1],10);if(Z===G)return J[2];continue}let Q=X.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(Q){let G=Number.parseInt(Q[1],10),K=Q[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(Q[2],10);if(Z>=G&&Z<=K)return Q[3];continue}}if($.length===2)return Z===1?$[0].trim():$[1].trim();if(Z<$.length)return $[Z].trim();return $[$.length-1].trim()}function S2($,Z={}){return b2($,Z)}function b2($,Z){let Y="",X=0;while(X<$.length)if($[X]==="{"){let J=_U($,X);if(J===-1){Y+=$[X],X++;continue}let Q=$.slice(X+1,J);Y+=BU(Q,Z),X=J+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 _U($,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 BU($,Z){let Y=jU($);if(Y.length===0)return`{${$}}`;let X=Y[0].trim(),J=Z[X];if(Y.length===1)return J!==void 0?String(J):`{${X}}`;switch(Y[1].trim().toLowerCase()){case"plural":return HU(J,Y.slice(2).join(","),Z);case"select":return LU(J,Y.slice(2).join(","));case"selectordinal":return FU(J,Y.slice(2).join(","));case"number":return wU(J,Y[2]?.trim());case"date":return AU(J,Y[2]?.trim());case"time":return RU(J,Y[2]?.trim());default:return J!==void 0?String(J):`{${$}}`}}function jU($){let Z=[],Y="",X=0;for(let J=0;J<$.length;J++){let Q=$[J];if(Q==="{")X++,Y+=Q;else if(Q==="}")X--,Y+=Q;else if(Q===","&&X===0)Z.push(Y),Y="";else Y+=Q}if(Y)Z.push(Y);return Z}function HU($,Z,Y){let X=Number($)||0,J=c3(Z),Q=`=${X}`;if(J[Q])return u3(J[Q],X,Y);let G=OU(X);if(J[G])return u3(J[G],X,Y);if(J.other)return u3(J.other,X,Y);return String(X)}function u3($,Z,Y){let X=$.replace(/#/g,String(Z));return b2(X,Y)}function OU($){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 LU($,Z){let Y=String($||""),X=c3(Z);if(X[Y])return X[Y];return X.other||String($)}function FU($,Z){let Y=Number($)||0,X=c3(Z),J=VU(Y);if(X[J])return X[J].replace(/#/g,String(Y));if(X.other)return X.other.replace(/#/g,String(Y));return String(Y)}function VU($){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 c3($){let Z={},Y=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,X=Y.exec($);while(X!==null)Z[X[1]]=X[2],X=Y.exec($);return Z}function wU($,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 AU($,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 RU($,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 y2($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function H4($,Z,Y=!0,X={}){let J=$.split("."),Q=Z;for(let K of J){if(Q===void 0||Q===null)break;Q=Q[K]}if(Q===void 0||Q===null)return Y?$:"";let G=String(Q);if(y2(G))return S2(G,X);if(G.includes("|")&&"count"in X){let K=Number(X.count),z=G.split("|");G=WU(z,K)}for(let[K,z]of Object.entries(X)){let q=K.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");G=G.replace(new RegExp(`:${q}`,"g"),String(z))}return G}async function i3($,Z,Y,X){let J=$,Q=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,G={...O4,...X.i18n},K=await k2(G.locale,X);Z.__translations=K,Z.__locale=G.locale,Z.__i18nConfig=G,J=await M2(J,Q,async(U,W,_,B,j)=>{try{let H={};if(_)try{let F=[()=>JSON.parse(_),()=>{let O=`{"data":${_}}`,V=JSON.parse(O);return typeof V.data==="object"?V.data:{}},()=>{return L0(_,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 H4(W,K,G.fallbackToKey,H)||B.trim()}catch(H){if(X.debug)console.error("Error processing @translate directive:",H);return r("Translate",`Error in @translate('${W}'): ${H instanceof Error?H.message:String(H)}`,c.EVALUATION_ERROR)}});let z=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(X.debug){console.warn(`Processing translations in template. Sections: ${J.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let U=[...J.matchAll(z)];console.warn(`Found ${U.length} @translate matches`),U.forEach((W,_)=>console.warn(`Match ${_}: ${W[0]}, Key: ${W[1]}, Params: ${W[2]||"none"}`))}return J=await M2(J,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(U,W,_,B)=>{try{let j={};if(_)try{let H=[()=>JSON.parse(_),()=>{let L=`{"data":${_}}`,F=JSON.parse(L);return typeof F.data==="object"?F.data:{}},()=>{return L0(_,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 H4(W,K,G.fallbackToKey,j)}catch(j){if(X.debug)console.error("Error processing @translate directive:",j);return r("Translate",`Error in @translate('${W}'): ${j instanceof Error?j.message:String(j)}`,c.EVALUATION_ERROR)}}),J}async function M2($,Z,Y){let X=[];return $.replace(Z,(Q,...G)=>{let K=Y(Q,...G).then((z)=>({match:Q,replacement:z}));return X.push(K),Q}),(await Promise.all(X)).reduce((Q,{match:G,replacement:K})=>Q.replace(G,K),$)}function NU($,Z=!0){return(Y,X={})=>{return H4(Y,$,Z,X)}}var p5,O4,b0,i0,K1;var C2=C(()=>{Q1();R0();O4={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},b0={},i0={},K1={}});var s3={};p(s3,{streamingSuspenseDirective:()=>x2,streamToResponse:()=>xU,streamTemplateSimple:()=>yU,streamTemplate:()=>IU,renderStreamingPage:()=>EU,registerStreamingDirectives:()=>PU,processStreamDirectives:()=>SU,processSectionDirectives:()=>vU,islandDirective:()=>f2,generateHydrationRuntime:()=>fU,extractStreamBoundaries:()=>bU,createStreamRenderer:()=>CU,buildSuspenseResolveScript:()=>o3,SUSPENSE_RESOLVER_RUNTIME:()=>v2});import L4 from"path";function MU($){let Z=[],Y=0,X;P2.lastIndex=0;while((X=P2.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 J=X[1],Q=X[2];Z.push({type:"suspense",name:J,content:Q}),Y=X.index+X[0].length}if(Y<$.length){let J=$.slice(Y);if(J.trim())Z.push({type:Z.length===0?"shell":"content",content:J})}if(Z.length===0)Z.push({type:"shell",content:$});return Z}async function IU($,Z={},Y={}){let X={...v1,...Y,streaming:{...n3,...Y.streaming}},J=X.streaming?.bufferSize||16384;return new ReadableStream({async start(Q){try{let G=await Bun.file($).text(),K=G.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),z=K?K[1]:"",q=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),U={...Z,__filename:$,__dirname:L4.dirname($)};if(z.trim())await e0(z,U,$);let W=MU(q),_=new Set;if(!W.some((j)=>j.type==="suspense")){let j=X.streaming?.strategy||"auto",H=new RegExp(m1.source,"g");if(!(j!=="manual"&&H.test(q))){let F=await _0(q,U,$,X,_);for(let O=0;O<F.length;O+=J)Q.enqueue(F.slice(O,O+J)),await new Promise((V)=>setTimeout(V,0))}else{let F=[],O=new RegExp(m1.source,"g"),V;while((V=O.exec(q))!==null)F.push({name:V[1],content:V[2],start:V.index,end:V.index+V[0].length});let A=0;for(let w of F){if(w.start>A){let N=q.slice(A,w.start);if(N.trim()){let M=await _0(N,U,$,X,_);Q.enqueue(M),await new Promise((T)=>setTimeout(T,0))}}let R=await _0(w.content,U,$,X,_);Q.enqueue(R),await new Promise((N)=>setTimeout(N,0)),A=w.end}if(A<q.length){let w=q.slice(A);if(w.trim()){let R=await _0(w,U,$,X,_);Q.enqueue(R)}}}}else{let j=new Map;for(let L of W)if(L.type==="shell"||L.type==="content"){let F=await _0(L.content,U,$,X,_);Q.enqueue(F)}else if(L.type==="suspense"&&L.name){let F=`stx-suspense-${L.name}`;Q.enqueue(`<div id="${F}" data-suspense="${L.name}" style="display:contents;">
3830
+ </script>`.trim()}var g3,R2,N2;var T2=P(()=>{R0();g3={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"};R2={required:($,Z,Y)=>{if($===void 0||$===null||$===""||Array.isArray($)&&$.length===0)return`The ${Y} field is required.`;return null},email:($,Z,Y)=>{if(!$)return null;if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($)))return`The ${Y} field must be a valid email address.`;return null},min:($,Z,Y)=>{if(!$)return null;let X=Number(Z[0]);if(typeof $==="string"&&$.length<X)return`The ${Y} field must be at least ${X} characters.`;if(typeof $==="number"&&$<X)return`The ${Y} field must be at least ${X}.`;if(Array.isArray($)&&$.length<X)return`The ${Y} field must have at least ${X} items.`;return null},max:($,Z,Y)=>{if(!$)return null;let X=Number(Z[0]);if(typeof $==="string"&&$.length>X)return`The ${Y} field must not exceed ${X} characters.`;if(typeof $==="number"&&$>X)return`The ${Y} field must not exceed ${X}.`;if(Array.isArray($)&&$.length>X)return`The ${Y} field must not have more than ${X} items.`;return null},confirmed:($,Z,Y)=>{if(Z[0]!==void 0&&$!==Z[0])return`The ${Y} confirmation does not match.`;return null},numeric:($,Z,Y)=>{if(!$)return null;if(Number.isNaN(Number($)))return`The ${Y} field must be a number.`;return null},integer:($,Z,Y)=>{if(!$)return null;if(!Number.isInteger(Number($)))return`The ${Y} field must be an integer.`;return null},alpha:($,Z,Y)=>{if(!$)return null;if(!/^[a-z]+$/i.test(String($)))return`The ${Y} field must only contain letters.`;return null},alphanumeric:($,Z,Y)=>{if(!$)return null;if(!/^[a-z0-9]+$/i.test(String($)))return`The ${Y} field must only contain letters and numbers.`;return null},url:($,Z,Y)=>{if(!$)return null;try{return new URL(String($))?null:null}catch{return`The ${Y} field must be a valid URL.`}},regex:($,Z,Y)=>{if(!$)return null;try{if(!new RegExp(Z[0]).test(String($)))return`The ${Y} field format is invalid.`;return null}catch{return`The ${Y} field has an invalid validation pattern.`}},in:($,Z,Y)=>{if(!$)return null;if(!Z.includes(String($)))return`The ${Y} field must be one of: ${Z.join(", ")}.`;return null},notIn:($,Z,Y)=>{if(!$)return null;if(Z.includes(String($)))return`The ${Y} field must not be: ${Z.join(", ")}.`;return null},date:($,Z,Y)=>{if(!$)return null;let X=new Date($);if(Number.isNaN(X.getTime()))return`The ${Y} field must be a valid date.`;return null},before:($,Z,Y)=>{if(!$)return null;let X=new Date($),J=new Date(Z[0]);if(X>=J)return`The ${Y} field must be before ${Z[0]}.`;return null},after:($,Z,Y)=>{if(!$)return null;let X=new Date($),J=new Date(Z[0]);if(X<=J)return`The ${Y} field must be after ${Z[0]}.`;return null}};N2={required:{name:"required",validate:($)=>{if($===null||$===void 0||$==="")return"This field is required";if(Array.isArray($)&&$.length===0)return"This field is required";return!0},toHtml5:()=>["required"],message:"This field is required"},email:{name:"email",validate:($)=>{if(!$)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($))||"Please enter a valid email address"},toHtml5:()=>['type="email"'],message:"Please enter a valid email address"},url:{name:"url",validate:($)=>{if(!$)return!0;try{return new URL(String($)).protocol.startsWith("http")||"Please enter a valid URL"}catch{return"Please enter a valid URL"}},toHtml5:()=>['type="url"'],message:"Please enter a valid URL"},numeric:{name:"numeric",validate:($)=>{if(!$)return!0;return!Number.isNaN(Number($))||"Please enter a number"},toHtml5:()=>['type="number"'],message:"Please enter a number"},integer:{name:"integer",validate:($)=>{if(!$)return!0;let Z=Number($);return Number.isInteger(Z)||"Please enter a whole number"},toHtml5:()=>['type="number"','step="1"'],message:"Please enter a whole number"},alpha:{name:"alpha",validate:($)=>{if(!$)return!0;return/^[a-z]+$/i.test(String($))||"Please enter only letters"},toHtml5:()=>['pattern="[a-zA-Z]+"'],message:"Please enter only letters"},alphanumeric:{name:"alphanumeric",validate:($)=>{if(!$)return!0;return/^[a-z0-9]+$/i.test(String($))||"Please enter only letters and numbers"},toHtml5:()=>['pattern="[a-zA-Z0-9]+"'],message:"Please enter only letters and numbers"},min:{name:"min",validate:($,Z)=>{if(!$)return!0;let Y=Number(Z[0]);if(typeof $==="string")return $.length>=Y||`Must be at least ${Y} characters`;if(typeof $==="number")return $>=Y||`Must be at least ${Y}`;if(Array.isArray($))return $.length>=Y||`Must have at least ${Y} items`;return!0},toHtml5:($)=>[`minlength="${$[0]}"`,`min="${$[0]}"`],message:"Must be at least {{param}} characters"},max:{name:"max",validate:($,Z)=>{if(!$)return!0;let Y=Number(Z[0]);if(typeof $==="string")return $.length<=Y||`Must be no more than ${Y} characters`;if(typeof $==="number")return $<=Y||`Must be no more than ${Y}`;if(Array.isArray($))return $.length<=Y||`Must have no more than ${Y} items`;return!0},toHtml5:($)=>[`maxlength="${$[0]}"`,`max="${$[0]}"`],message:"Must be no more than {{param}} characters"},between:{name:"between",validate:($,Z)=>{if(!$)return!0;let[Y,X]=Z.map(Number);if(typeof $==="string")return $.length>=Y&&$.length<=X||`Must be between ${Y} and ${X} characters`;if(typeof $==="number")return $>=Y&&$<=X||`Must be between ${Y} and ${X}`;return!0},toHtml5:($)=>[`minlength="${$[0]}"`,`maxlength="${$[1]}"`],message:"Must be between {{min}} and {{max}}"},confirmed:{name:"confirmed",validate:($,Z,Y)=>{let X=Object.keys(Y);for(let J of X)if(J.endsWith("_confirmation")&&Y[J]===$)return!0;return"Confirmation does not match"},message:"Confirmation does not match"},in:{name:"in",validate:($,Z)=>{if(!$)return!0;return Z.includes(String($))||`Must be one of: ${Z.join(", ")}`},message:"Must be one of: {{values}}"},notIn:{name:"notIn",validate:($,Z)=>{if(!$)return!0;return!Z.includes(String($))||`Must not be: ${Z.join(", ")}`},message:"Must not be: {{values}}"},regex:{name:"regex",validate:($,Z)=>{if(!$)return!0;try{return new RegExp(Z[0]).test(String($))||"Invalid format"}catch{return"Invalid format"}},toHtml5:($)=>[`pattern="${$[0]}"`],message:"Invalid format"},date:{name:"date",validate:($)=>{if(!$)return!0;let Z=new Date(String($));return!Number.isNaN(Z.getTime())||"Please enter a valid date"},toHtml5:()=>['type="date"'],message:"Please enter a valid date"},before:{name:"before",validate:($,Z)=>{if(!$)return!0;let Y=new Date(String($)),X=new Date(Z[0]);return Y<X||`Must be before ${Z[0]}`},toHtml5:($)=>[`max="${$[0]}"`],message:"Must be before {{date}}"},after:{name:"after",validate:($,Z)=>{if(!$)return!0;let Y=new Date(String($)),X=new Date(Z[0]);return Y>X||`Must be after ${Z[0]}`},toHtml5:($)=>[`min="${$[0]}"`],message:"Must be after {{date}}"},size:{name:"size",validate:($,Z)=>{if(!$)return!0;let Y=Number(Z[0]);if(typeof $==="string")return $.length===Y||`Must be exactly ${Y} characters`;if(Array.isArray($))return $.length===Y||`Must have exactly ${Y} items`;return!0},message:"Must be exactly {{size}}"},phone:{name:"phone",validate:($)=>{if(!$)return!0;return/^\+?\(?\d{1,4}\)?[-\s./\d]*$/.test(String($))||"Please enter a valid phone number"},toHtml5:()=>['type="tel"','pattern="\\+?\\(?\\d{1,4}\\)?[-\\s./\\d]*"'],message:"Please enter a valid phone number"}}});var TU={};p(TU,{waitForLocale:()=>XU,processTranslateDirective:()=>i3,preloadTranslationsBackground:()=>ZU,preloadTranslations:()=>D2,loadTranslationLazy:()=>c5,loadTranslation:()=>k2,isLoading:()=>eq,isLoaded:()=>$U,isICUFormat:()=>y2,getTranslationSync:()=>E2,getTranslationCacheStats:()=>rq,getTranslationAsync:()=>YU,getTranslation:()=>H4,getLoadingState:()=>tq,getLoadingLocales:()=>JU,formatICU:()=>S2,defaultI18nConfig:()=>O4,createTranslateFilter:()=>NU,clearTranslationCache:()=>sq,cancelPendingLoads:()=>QU});import l3 from"path";async function oq(){if(p5!==void 0)return p5;try{p5=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{p5=null}return p5}function sq($){if($)delete b0[$];else for(let Z of Object.keys(b0))delete b0[Z]}function rq(){let $=Object.entries(b0).map(([Z,Y])=>({locale:Z,loadedAt:new Date(Y.loadedAt),keyCount:I2(Y.translations)}));return{size:Object.keys(b0).length,locales:Object.keys(b0),entries:$}}function I2($,Z=0){for(let Y of Object.values($))if(Z++,Y&&typeof Y==="object"&&!Array.isArray(Y))Z=I2(Y,Z);return Z}function aq($,Z=0){if(Z<=0)return!1;return Date.now()-$.loadedAt>Z}function tq($){if(b0[$])return"loaded";return K1[$]||"idle"}function eq($){return K1[$]==="loading"}function $U($){return!!b0[$]}async function D2($,Z){let{locales:Y,parallel:X=!0,priority:J={},onLocaleLoaded:Q,onComplete:G,onError:K}=$,z=X?Y:[...Y].sort((q,U)=>(J[U]||0)-(J[q]||0));if(X){let q=z.map(async(U)=>{try{await c5(U,Z),Q?.(U)}catch(W){K?.(U,W instanceof Error?W:Error(String(W)))}});await Promise.all(q)}else for(let q of z)try{await c5(q,Z),Q?.(q)}catch(U){K?.(q,U instanceof Error?U:Error(String(U)))}G?.()}function ZU($,Z){queueMicrotask(()=>{D2($,Z).catch((Y)=>{if(Z.debug)console.error("Background preload error:",Y)})})}async function c5($,Z){if({...O4,...Z.i18n}.cache&&b0[$]){let J=b0[$],Q=Z.i18n?.cacheMaxAge??0;if(!aq(J,Q))return J.translations}if(i0[$]?.state==="loading")return i0[$].promise;K1[$]="loading";let X=p3($,Z).then((J)=>{return K1[$]="loaded",delete i0[$],J}).catch((J)=>{throw K1[$]="error",i0[$]={promise:X,state:"error",error:J instanceof Error?J:Error(String(J))},J});return i0[$]={promise:X,state:"loading"},X}function E2($){return b0[$]?.translations}async function YU($,Z){let Y=E2($);if(Y)return Y;return c5($,Z)}async function XU($,Z){if(b0[$])return b0[$].translations;if(i0[$]){if(Z)return Promise.race([i0[$].promise,new Promise((Y,X)=>setTimeout(()=>X(Error(`Timeout waiting for locale: ${$}`)),Z))]);return i0[$].promise}throw Error(`Locale "${$}" is not loading. Call loadTranslationLazy first.`)}function JU(){return Object.entries(K1).filter(([$,Z])=>Z==="loading").map(([$])=>$)}function QU($){if($)delete i0[$],delete K1[$];else{for(let Z of Object.keys(i0))delete i0[Z];for(let Z of Object.keys(K1))delete K1[Z]}}async function p3($,Z){let Y={...O4,...Z.i18n},X=l3.isAbsolute(Y.translationsDir)?Y.translationsDir:l3.resolve(Z.root||process.cwd(),Y.translationsDir);try{let J=await oq(),Q=J?await J($,{translationsDir:X,defaultLocale:Y.defaultLocale,sources:UU(Y.format)}):await GU($,Y,X);if(Q===void 0){if($!==Y.defaultLocale)return p3(Y.defaultLocale,Z);return{}}let G=Q;if(Y.cache)b0[$]={translations:G,loadedAt:Date.now(),locale:$};return G}catch(J){if(Z.debug)console.error(`Error loading translation file for locale "${$}":`,J);if($!==Y.defaultLocale)return p3(Y.defaultLocale,Z);return{}}}async function GU($,Z,Y){let X=l3.join(Y,`${$}${KU(Z.format)}`);try{let J=await import(X);return J.default||J}catch(J){try{let Q=await Bun.file(X).text();if(Z.format==="yaml"||Z.format==="yml")return zU(Q);if(Z.format==="json")return JSON.parse(Q);throw J}catch{return}}}function KU($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function zU($){let Z={},Y=$.split(`
3831
+ `),X=[{obj:Z,indent:-1}];for(let J of Y){let Q=J.replace(/#.*$/,"").trimEnd();if(!Q.trim())continue;let G=Q.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,z=Q.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(z){let[,,q,U]=z,W=q.trim(),_=U.trim();if(_==="")K[W]={},X.push({obj:K[W],indent:G});else K[W]=qU(_)}}return Z}function qU($){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 UU($){switch($){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function k2($,Z){return c5($,Z)}function WU($,Z){for(let Y of $){let X=Y.trim(),J=X.match(/^\{(\d+)\}\s*(.*)$/);if(J){let G=Number.parseInt(J[1],10);if(Z===G)return J[2];continue}let Q=X.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(Q){let G=Number.parseInt(Q[1],10),K=Q[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(Q[2],10);if(Z>=G&&Z<=K)return Q[3];continue}}if($.length===2)return Z===1?$[0].trim():$[1].trim();if(Z<$.length)return $[Z].trim();return $[$.length-1].trim()}function S2($,Z={}){return b2($,Z)}function b2($,Z){let Y="",X=0;while(X<$.length)if($[X]==="{"){let J=_U($,X);if(J===-1){Y+=$[X],X++;continue}let Q=$.slice(X+1,J);Y+=BU(Q,Z),X=J+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 _U($,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 BU($,Z){let Y=jU($);if(Y.length===0)return`{${$}}`;let X=Y[0].trim(),J=Z[X];if(Y.length===1)return J!==void 0?String(J):`{${X}}`;switch(Y[1].trim().toLowerCase()){case"plural":return HU(J,Y.slice(2).join(","),Z);case"select":return LU(J,Y.slice(2).join(","));case"selectordinal":return FU(J,Y.slice(2).join(","));case"number":return wU(J,Y[2]?.trim());case"date":return AU(J,Y[2]?.trim());case"time":return RU(J,Y[2]?.trim());default:return J!==void 0?String(J):`{${$}}`}}function jU($){let Z=[],Y="",X=0;for(let J=0;J<$.length;J++){let Q=$[J];if(Q==="{")X++,Y+=Q;else if(Q==="}")X--,Y+=Q;else if(Q===","&&X===0)Z.push(Y),Y="";else Y+=Q}if(Y)Z.push(Y);return Z}function HU($,Z,Y){let X=Number($)||0,J=c3(Z),Q=`=${X}`;if(J[Q])return u3(J[Q],X,Y);let G=OU(X);if(J[G])return u3(J[G],X,Y);if(J.other)return u3(J.other,X,Y);return String(X)}function u3($,Z,Y){let X=$.replace(/#/g,String(Z));return b2(X,Y)}function OU($){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 LU($,Z){let Y=String($||""),X=c3(Z);if(X[Y])return X[Y];return X.other||String($)}function FU($,Z){let Y=Number($)||0,X=c3(Z),J=VU(Y);if(X[J])return X[J].replace(/#/g,String(Y));if(X.other)return X.other.replace(/#/g,String(Y));return String(Y)}function VU($){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 c3($){let Z={},Y=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,X=Y.exec($);while(X!==null)Z[X[1]]=X[2],X=Y.exec($);return Z}function wU($,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 AU($,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 RU($,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 y2($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function H4($,Z,Y=!0,X={}){let J=$.split("."),Q=Z;for(let K of J){if(Q===void 0||Q===null)break;Q=Q[K]}if(Q===void 0||Q===null)return Y?$:"";let G=String(Q);if(y2(G))return S2(G,X);if(G.includes("|")&&"count"in X){let K=Number(X.count),z=G.split("|");G=WU(z,K)}for(let[K,z]of Object.entries(X)){let q=K.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");G=G.replace(new RegExp(`:${q}`,"g"),String(z))}return G}async function i3($,Z,Y,X){let J=$,Q=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,G={...O4,...X.i18n},K=await k2(G.locale,X);Z.__translations=K,Z.__locale=G.locale,Z.__i18nConfig=G,J=await M2(J,Q,async(U,W,_,B,j)=>{try{let H={};if(_)try{let F=[()=>JSON.parse(_),()=>{let O=`{"data":${_}}`,V=JSON.parse(O);return typeof V.data==="object"?V.data:{}},()=>{return L0(_,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 H4(W,K,G.fallbackToKey,H)||B.trim()}catch(H){if(X.debug)console.error("Error processing @translate directive:",H);return r("Translate",`Error in @translate('${W}'): ${H instanceof Error?H.message:String(H)}`,c.EVALUATION_ERROR)}});let z=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(X.debug){console.warn(`Processing translations in template. Sections: ${J.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let U=[...J.matchAll(z)];console.warn(`Found ${U.length} @translate matches`),U.forEach((W,_)=>console.warn(`Match ${_}: ${W[0]}, Key: ${W[1]}, Params: ${W[2]||"none"}`))}return J=await M2(J,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(U,W,_,B)=>{try{let j={};if(_)try{let H=[()=>JSON.parse(_),()=>{let L=`{"data":${_}}`,F=JSON.parse(L);return typeof F.data==="object"?F.data:{}},()=>{return L0(_,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 H4(W,K,G.fallbackToKey,j)}catch(j){if(X.debug)console.error("Error processing @translate directive:",j);return r("Translate",`Error in @translate('${W}'): ${j instanceof Error?j.message:String(j)}`,c.EVALUATION_ERROR)}}),J}async function M2($,Z,Y){let X=[];return $.replace(Z,(Q,...G)=>{let K=Y(Q,...G).then((z)=>({match:Q,replacement:z}));return X.push(K),Q}),(await Promise.all(X)).reduce((Q,{match:G,replacement:K})=>Q.replace(G,K),$)}function NU($,Z=!0){return(Y,X={})=>{return H4(Y,$,Z,X)}}var p5,O4,b0,i0,K1;var C2=P(()=>{Q1();R0();O4={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},b0={},i0={},K1={}});var s3={};p(s3,{streamingSuspenseDirective:()=>x2,streamToResponse:()=>xU,streamTemplateSimple:()=>yU,streamTemplate:()=>IU,renderStreamingPage:()=>EU,registerStreamingDirectives:()=>PU,processStreamDirectives:()=>SU,processSectionDirectives:()=>vU,islandDirective:()=>f2,generateHydrationRuntime:()=>fU,extractStreamBoundaries:()=>bU,createStreamRenderer:()=>CU,buildSuspenseResolveScript:()=>o3,SUSPENSE_RESOLVER_RUNTIME:()=>v2});import L4 from"path";function MU($){let Z=[],Y=0,X;P2.lastIndex=0;while((X=P2.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 J=X[1],Q=X[2];Z.push({type:"suspense",name:J,content:Q}),Y=X.index+X[0].length}if(Y<$.length){let J=$.slice(Y);if(J.trim())Z.push({type:Z.length===0?"shell":"content",content:J})}if(Z.length===0)Z.push({type:"shell",content:$});return Z}async function IU($,Z={},Y={}){let X={...v1,...Y,streaming:{...n3,...Y.streaming}},J=X.streaming?.bufferSize||16384;return new ReadableStream({async start(Q){try{let G=await Bun.file($).text(),K=G.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),z=K?K[1]:"",q=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),U={...Z,__filename:$,__dirname:L4.dirname($)};if(z.trim())await e0(z,U,$);let W=MU(q),_=new Set;if(!W.some((j)=>j.type==="suspense")){let j=X.streaming?.strategy||"auto",H=new RegExp(m1.source,"g");if(!(j!=="manual"&&H.test(q))){let F=await _0(q,U,$,X,_);for(let O=0;O<F.length;O+=J)Q.enqueue(F.slice(O,O+J)),await new Promise((V)=>setTimeout(V,0))}else{let F=[],O=new RegExp(m1.source,"g"),V;while((V=O.exec(q))!==null)F.push({name:V[1],content:V[2],start:V.index,end:V.index+V[0].length});let A=0;for(let w of F){if(w.start>A){let N=q.slice(A,w.start);if(N.trim()){let M=await _0(N,U,$,X,_);Q.enqueue(M),await new Promise((T)=>setTimeout(T,0))}}let R=await _0(w.content,U,$,X,_);Q.enqueue(R),await new Promise((N)=>setTimeout(N,0)),A=w.end}if(A<q.length){let w=q.slice(A);if(w.trim()){let R=await _0(w,U,$,X,_);Q.enqueue(R)}}}}else{let j=new Map;for(let L of W)if(L.type==="shell"||L.type==="content"){let F=await _0(L.content,U,$,X,_);Q.enqueue(F)}else if(L.type==="suspense"&&L.name){let F=`stx-suspense-${L.name}`;Q.enqueue(`<div id="${F}" data-suspense="${L.name}" style="display:contents;">
3832
3832
  <template data-suspense-fallback>Loading...</template>
3833
3833
  </div>`),j.set(L.name,_0(L.content,U,$,X,_))}Q.enqueue(`
3834
3834
  <script>
@@ -4014,25 +4014,25 @@ else {
4014
4014
  }
4015
4015
  };
4016
4016
  })();
4017
- </script>`,kU,x2,f2;var r3=C(()=>{x5();u0();F4();F0();n3={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},m1=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,P2=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;kU=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;x2={name:"suspense",hasEndTag:!0,handler:($,Z,Y,X)=>{if(!Z||Z.length===0)throw Error("Suspense directive requires a name parameter");let J=Z[0].replace(/['"`]/g,"");return`<!-- @suspense:${J} -->${$}<!-- @endsuspense:${J} -->`}},f2={name:"island",hasEndTag:!0,handler:($,Z,Y,X)=>{if(!Z||Z.length===0)throw Error("Island directive requires a name parameter");let J=Z[0].replace(/['"`]/g,""),Q=Z[1]?Z[1].replace(/['"`]/g,""):"lazy",G=`island-${J}-${Math.random().toString(36).substring(2,9)}`,K=$.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),z=K?K[1].trim():"",q=K?$.replace(K[0],""):$;return`<div data-island="${J}" data-island-id="${G}" data-priority="${Q}">
4017
+ </script>`,kU,x2,f2;var r3=P(()=>{x5();u0();F4();F0();n3={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},m1=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,P2=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;kU=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;x2={name:"suspense",hasEndTag:!0,handler:($,Z,Y,X)=>{if(!Z||Z.length===0)throw Error("Suspense directive requires a name parameter");let J=Z[0].replace(/['"`]/g,"");return`<!-- @suspense:${J} -->${$}<!-- @endsuspense:${J} -->`}},f2={name:"island",hasEndTag:!0,handler:($,Z,Y,X)=>{if(!Z||Z.length===0)throw Error("Island directive requires a name parameter");let J=Z[0].replace(/['"`]/g,""),Q=Z[1]?Z[1].replace(/['"`]/g,""):"lazy",G=`island-${J}-${Math.random().toString(36).substring(2,9)}`,K=$.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),z=K?K[1].trim():"",q=K?$.replace(K[0],""):$;return`<div data-island="${J}" data-island-id="${G}" data-priority="${Q}">
4018
4018
  ${q}
4019
4019
  <script type="application/json" data-island-props="${G}">
4020
4020
  ${z?`{${z}}`:"{}"}
4021
4021
  </script>
4022
4022
  </div>`}}});var d2={};p(d2,{warnUnbalancedTags:()=>a3,findUnbalancedTags:()=>h2});function F1($){return $.replace(/[^\n]/g," ")}function h2($){let Z=$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,F1).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,F1).replace(/<!--[\s\S]*?-->/g,F1).replace(/\{\{\{[\s\S]*?\}\}\}/g,F1).replace(/\{\{[\s\S]*?\}\}/g,F1).replace(/\{!![\s\S]*?!!\}/g,F1).replace(/"[^"]*"/g,F1).replace(/'[^']*'/g,F1),Y=new Map,X=new Map,J=/<(\/?)([A-Za-z][\w-]*)\b[^>]*?(\/?)>/g,Q;while((Q=J.exec(Z))!==null){let K=Q[1]==="/",z=Q[2],q=Q[3]==="/";if(gU.has(z.toLowerCase()))continue;if(q)continue;if(K)X.set(z,(X.get(z)??0)+1);else{let U=Y.get(z);if(U)U.count++;else{let W=Z.slice(0,Q.index).split(`
4023
- `).length;Y.set(z,{count:1,firstLine:W})}}}let G=[];for(let K of new Set([...Y.keys(),...X.keys()])){if(hU.has(K.toLowerCase()))continue;let z=Y.get(K)?.count??0,q=X.get(K)??0;if(z!==q)G.push({tag:K,opened:z,closed:q,firstOpenLine:Y.get(K)?.firstLine??0})}return G}function a3($,Z){let Y;try{Y=h2($)}catch{return}if(Y.length===0)return;let X=`${Z}:${$.length}`;if(g2.has(X))return;g2.add(X);let J=Z?Z.split(/[/\\]/).pop()||Z:"template";for(let{tag:Q,opened:G,closed:K,firstOpenLine:z}of Y)if(G>K){let q=z?` (first opened at line ${z})`:"";console.warn(`[stx] ${J}: <${Q}> ${G} opened, ${K} closed \u2014 an unclosed <${Q}>${q} may swallow the content that follows it.`)}else console.warn(`[stx] ${J}: <${Q}> ${G} opened, ${K} closed \u2014 ${K-G} stray </${Q}>.`)}var gU,hU,g2;var t3=C(()=>{gU=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),hU=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);g2=new Set});import d0 from"path";import e3 from"fs";function m2($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function u2($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class l2{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 J=$.endsWith(".stx")?$.slice(0,-4):$,Q=X?.__importedComponents;if(Q){let B=[J,J.toLowerCase(),m2(J),u2(J)];for(let j of B)if(Q.has(j))return Q.get(j)}let G=[...new Set([`${J}.stx`,`${m2(J)}.stx`,`${u2(J)}.stx`])];if(J.startsWith("./")||J.startsWith("../")){let B=d0.resolve(d0.dirname(Z),`${J}.stx`);if(await n(B))return B;return null}let K=[],z=Y.componentsDir||"",q=X?.__originalFilePath;if(q)K.push(d0.join(d0.dirname(q),"components"));if(z)K.push(z);let U=d0.join(d0.dirname(Z),"components");if(!K.includes(U))K.push(U);let W=process.cwd(),_=[d0.resolve(W,"src/components"),d0.resolve(W,"components"),d0.resolve(import.meta.dir,"components")];for(let B of _)if(!K.includes(B))K.push(B);for(let B of K){if(!B)continue;for(let j of G){let H=d0.join(B,j);if(await n(H))return H}try{if(!e3.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let H=e3.readdirSync(B,{withFileTypes:!0});for(let L of H)if(L.isDirectory()){let F=d0.join(B,L.name);for(let O of G){let V=d0.join(F,O);if(await n(V))return V}}}catch{}}return null}}var y0;var $6=C(()=>{F0();y0=new l2});function V1($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function dU($){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 Z6;var Y6=C(()=>{Z6={name:"StxLink",aliases:["stx-link"],render($,Z,Y){let X=dU($),J=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),Q=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,z=[];if(X.reactive)z.push(`:href="${V1(X.value)}"`);else z.push(`href="${V1(X.value)}"`);if(J)z.push(`class="${V1(J)}"`);if(z.push("data-stx-link"),z.push(`data-stx-active-class="${V1(Q)}"`),z.push(`data-stx-exact-active-class="${V1(G)}"`),K)z.push("data-stx-prefetch");let q=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);for(let[U,W]of Object.entries($.static)){if(q.has(U))continue;if(typeof W==="boolean"){if(W)z.push(V1(U))}else z.push(`${V1(U)}="${V1(W)}"`)}return`<a ${z.join(" ")}>${Z}</a>`}}});function j0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function D0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function J6($,Z,Y=!1){let X=$.serverDynamic[Z];if(X!==void 0)return X!==!1&&X!=="false";let J=$.static[Z];if(J!==void 0)return J!=="false"&&J!==!1;return Y}function p2($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),Y=[];for(let X of Z)if(X.includes(":")){let[J,Q]=X.split(":"),G=mU[J];if(G)Y.push(`(max-width: ${G}px) ${Q}`);else{let K=Number.parseInt(J);if(!Number.isNaN(K))Y.push(`(max-width: ${K}px) ${Q}`)}}else Y.push(X);return Y.join(", ")}function Q6($,Z,Y,X){return Z.map((J)=>`${i5($,J,void 0,Y,X)} ${J}w`).join(", ")}function uU($,Z,Y,X,J){return Z.map((Q)=>{let G=Y?Y*Q:void 0;return`${i5($,G,void 0,X,J)} ${Q}x`}).join(", ")}function i5($,Z,Y,X,J){if(!X||X==="local"||X==="static")return $;if(X==="cloudinary"){let Q=[];if(Z)Q.push(`w_${Z}`);if(Y)Q.push(`h_${Y}`);if(J)Q.push(`f_${J}`);Q.push("q_auto");let G=Q.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(X==="imgix"){let Q=new URLSearchParams;if(Z)Q.set("w",String(Z));if(Y)Q.set("h",String(Y));if(J)Q.set("fm",J);Q.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}if(X==="bunny"){let Q=new URLSearchParams;if(Z)Q.set("width",String(Z));if(Y)Q.set("height",String(Y));if(J)Q.set("format",J);let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}return $}function lU($,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 mU,X6,G6;var K6=C(()=>{mU={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},X6=[320,640,768,1024,1280,1536,1920];G6={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,Y){let X=D0($,"src")||"",J=D0($,"alt")||"",Q=D0($,"width"),G=D0($,"height"),K=D0($,"sizes"),z=D0($,"srcset"),q=D0($,"densities"),U=D0($,"format"),W=D0($,"placeholder"),_=D0($,"placeholderColor")||"#e5e7eb",B=D0($,"provider"),j=D0($,"class")||D0($,"className")||"",H=D0($,"style")||"",L=D0($,"quality"),F=J6($,"lazy",!0),O=J6($,"preload",!1),V=J6($,"picture",!1)||!!U,A=Q?Number.parseInt(Q):void 0,w=G?Number.parseInt(G):void 0,R=z||"",N="";if(!R&&K)R=Q6(X,X6,B,U),N=p2(K);else if(!R&&q){let S=q.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));R=uU(X,S,A,B,U)}else if(K)N=p2(K);let M=[];if(H)M.push(H);if(A&&w)M.push(`aspect-ratio:${A}/${w}`);if(W==="blur"||W==="color"||W==="thumbhash"){let S=lU(A||16,w||9,_);M.push(`background-image:url(${S})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat")}else if(W&&W!=="empty"&&W!=="none")M.push(`background-image:url(${j0(W)})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat");let T=i5(X,A,w,B,U),I=[];if(I.push(`src="${j0(T)}"`),I.push(`alt="${j0(J)}"`),Q)I.push(`width="${j0(Q)}"`);if(G)I.push(`height="${j0(G)}"`);if(F)I.push('loading="lazy"');if(I.push('decoding="async"'),j)I.push(`class="${j0(j)}"`);if(M.length>0)I.push(`style="${j0(M.join(";"))}"`);if(R)I.push(`srcset="${j0(R)}"`);if(N)I.push(`sizes="${j0(N)}"`);let D=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);for(let[S,b]of Object.entries($.static)){if(D.has(S))continue;if(typeof b==="boolean"){if(b)I.push(j0(S))}else I.push(`${j0(S)}="${j0(b)}"`)}let E=`<img ${I.join(" ")} />`,k="";if(O){let b=U==="webp"?"image/webp":U==="avif"?"image/avif":"";k=`<link rel="preload" as="image" href="${j0(T)}"${b?` type="${b}"`:""}${R?` imagesrcset="${j0(R)}"`:""}${N?` imagesizes="${j0(N)}"`:""} />
4024
- `}if(V){let S=[];if(U==="avif"||U==="auto"){let b=i5(X,A,w,B,"avif"),y=R?Q6(X,X6,B,"avif"):`${b}`;S.push(`<source type="image/avif" srcset="${j0(y)}"${N?` sizes="${j0(N)}"`:""} />`)}if(U==="webp"||U==="auto"){let b=i5(X,A,w,B,"webp"),y=R?Q6(X,X6,B,"webp"):`${b}`;S.push(`<source type="image/webp" srcset="${j0(y)}"${N?` sizes="${j0(N)}"`:""} />`)}return`${k}<picture>
4023
+ `).length;Y.set(z,{count:1,firstLine:W})}}}let G=[];for(let K of new Set([...Y.keys(),...X.keys()])){if(hU.has(K.toLowerCase()))continue;let z=Y.get(K)?.count??0,q=X.get(K)??0;if(z!==q)G.push({tag:K,opened:z,closed:q,firstOpenLine:Y.get(K)?.firstLine??0})}return G}function a3($,Z){let Y;try{Y=h2($)}catch{return}if(Y.length===0)return;let X=`${Z}:${$.length}`;if(g2.has(X))return;g2.add(X);let J=Z?Z.split(/[/\\]/).pop()||Z:"template";for(let{tag:Q,opened:G,closed:K,firstOpenLine:z}of Y)if(G>K){let q=z?` (first opened at line ${z})`:"";console.warn(`[stx] ${J}: <${Q}> ${G} opened, ${K} closed \u2014 an unclosed <${Q}>${q} may swallow the content that follows it.`)}else console.warn(`[stx] ${J}: <${Q}> ${G} opened, ${K} closed \u2014 ${K-G} stray </${Q}>.`)}var gU,hU,g2;var t3=P(()=>{gU=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),hU=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);g2=new Set});import d0 from"path";import e3 from"fs";function m2($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function u2($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class l2{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 J=$.endsWith(".stx")?$.slice(0,-4):$,Q=X?.__importedComponents;if(Q){let B=[J,J.toLowerCase(),m2(J),u2(J)];for(let j of B)if(Q.has(j))return Q.get(j)}let G=[...new Set([`${J}.stx`,`${m2(J)}.stx`,`${u2(J)}.stx`])];if(J.startsWith("./")||J.startsWith("../")){let B=d0.resolve(d0.dirname(Z),`${J}.stx`);if(await n(B))return B;return null}let K=[],z=Y.componentsDir||"",q=X?.__originalFilePath;if(q)K.push(d0.join(d0.dirname(q),"components"));if(z)K.push(z);let U=d0.join(d0.dirname(Z),"components");if(!K.includes(U))K.push(U);let W=process.cwd(),_=[d0.resolve(W,"src/components"),d0.resolve(W,"components"),d0.resolve(import.meta.dir,"components")];for(let B of _)if(!K.includes(B))K.push(B);for(let B of K){if(!B)continue;for(let j of G){let H=d0.join(B,j);if(await n(H))return H}try{if(!e3.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let H=e3.readdirSync(B,{withFileTypes:!0});for(let L of H)if(L.isDirectory()){let F=d0.join(B,L.name);for(let O of G){let V=d0.join(F,O);if(await n(V))return V}}}catch{}}return null}}var y0;var $6=P(()=>{F0();y0=new l2});function V1($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function dU($){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 Z6;var Y6=P(()=>{Z6={name:"StxLink",aliases:["stx-link"],render($,Z,Y){let X=dU($),J=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),Q=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,z=[];if(X.reactive)z.push(`:href="${V1(X.value)}"`);else z.push(`href="${V1(X.value)}"`);if(J)z.push(`class="${V1(J)}"`);if(z.push("data-stx-link"),z.push(`data-stx-active-class="${V1(Q)}"`),z.push(`data-stx-exact-active-class="${V1(G)}"`),K)z.push("data-stx-prefetch");let q=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);for(let[U,W]of Object.entries($.static)){if(q.has(U))continue;if(typeof W==="boolean"){if(W)z.push(V1(U))}else z.push(`${V1(U)}="${V1(W)}"`)}return`<a ${z.join(" ")}>${Z}</a>`}}});function j0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function E0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function J6($,Z,Y=!1){let X=$.serverDynamic[Z];if(X!==void 0)return X!==!1&&X!=="false";let J=$.static[Z];if(J!==void 0)return J!=="false"&&J!==!1;return Y}function p2($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),Y=[];for(let X of Z)if(X.includes(":")){let[J,Q]=X.split(":"),G=mU[J];if(G)Y.push(`(max-width: ${G}px) ${Q}`);else{let K=Number.parseInt(J);if(!Number.isNaN(K))Y.push(`(max-width: ${K}px) ${Q}`)}}else Y.push(X);return Y.join(", ")}function Q6($,Z,Y,X){return Z.map((J)=>`${i5($,J,void 0,Y,X)} ${J}w`).join(", ")}function uU($,Z,Y,X,J){return Z.map((Q)=>{let G=Y?Y*Q:void 0;return`${i5($,G,void 0,X,J)} ${Q}x`}).join(", ")}function i5($,Z,Y,X,J){if(!X||X==="local"||X==="static")return $;if(X==="cloudinary"){let Q=[];if(Z)Q.push(`w_${Z}`);if(Y)Q.push(`h_${Y}`);if(J)Q.push(`f_${J}`);Q.push("q_auto");let G=Q.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(X==="imgix"){let Q=new URLSearchParams;if(Z)Q.set("w",String(Z));if(Y)Q.set("h",String(Y));if(J)Q.set("fm",J);Q.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}if(X==="bunny"){let Q=new URLSearchParams;if(Z)Q.set("width",String(Z));if(Y)Q.set("height",String(Y));if(J)Q.set("format",J);let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}return $}function lU($,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 mU,X6,G6;var K6=P(()=>{mU={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},X6=[320,640,768,1024,1280,1536,1920];G6={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,Y){let X=E0($,"src")||"",J=E0($,"alt")||"",Q=E0($,"width"),G=E0($,"height"),K=E0($,"sizes"),z=E0($,"srcset"),q=E0($,"densities"),U=E0($,"format"),W=E0($,"placeholder"),_=E0($,"placeholderColor")||"#e5e7eb",B=E0($,"provider"),j=E0($,"class")||E0($,"className")||"",H=E0($,"style")||"",L=E0($,"quality"),F=J6($,"lazy",!0),O=J6($,"preload",!1),V=J6($,"picture",!1)||!!U,A=Q?Number.parseInt(Q):void 0,w=G?Number.parseInt(G):void 0,R=z||"",N="";if(!R&&K)R=Q6(X,X6,B,U),N=p2(K);else if(!R&&q){let S=q.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));R=uU(X,S,A,B,U)}else if(K)N=p2(K);let M=[];if(H)M.push(H);if(A&&w)M.push(`aspect-ratio:${A}/${w}`);if(W==="blur"||W==="color"||W==="thumbhash"){let S=lU(A||16,w||9,_);M.push(`background-image:url(${S})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat")}else if(W&&W!=="empty"&&W!=="none")M.push(`background-image:url(${j0(W)})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat");let T=i5(X,A,w,B,U),I=[];if(I.push(`src="${j0(T)}"`),I.push(`alt="${j0(J)}"`),Q)I.push(`width="${j0(Q)}"`);if(G)I.push(`height="${j0(G)}"`);if(F)I.push('loading="lazy"');if(I.push('decoding="async"'),j)I.push(`class="${j0(j)}"`);if(M.length>0)I.push(`style="${j0(M.join(";"))}"`);if(R)I.push(`srcset="${j0(R)}"`);if(N)I.push(`sizes="${j0(N)}"`);let D=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);for(let[S,b]of Object.entries($.static)){if(D.has(S))continue;if(typeof b==="boolean"){if(b)I.push(j0(S))}else I.push(`${j0(S)}="${j0(b)}"`)}let E=`<img ${I.join(" ")} />`,k="";if(O){let b=U==="webp"?"image/webp":U==="avif"?"image/avif":"";k=`<link rel="preload" as="image" href="${j0(T)}"${b?` type="${b}"`:""}${R?` imagesrcset="${j0(R)}"`:""}${N?` imagesizes="${j0(N)}"`:""} />
4024
+ `}if(V){let S=[];if(U==="avif"||U==="auto"){let b=i5(X,A,w,B,"avif"),C=R?Q6(X,X6,B,"avif"):`${b}`;S.push(`<source type="image/avif" srcset="${j0(C)}"${N?` sizes="${j0(N)}"`:""} />`)}if(U==="webp"||U==="auto"){let b=i5(X,A,w,B,"webp"),C=R?Q6(X,X6,B,"webp"):`${b}`;S.push(`<source type="image/webp" srcset="${j0(C)}"${N?` sizes="${j0(N)}"`:""} />`)}return`${k}<picture>
4025
4025
  ${S.join(`
4026
4026
  `)}
4027
4027
  ${E}
4028
- </picture>`}return`${k}${E}`}}});function w1($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function W5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var pU="<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'/images/safe-image-default.svg';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>",z6;var q6=C(()=>{z6={name:"SafeImage",aliases:["safe-image","safe-img"],render($,Z,Y){let X=W5($,"src")||"",J=W5($,"alt")||"",Q=W5($,"fallback")||"/images/safe-image-default.svg",G=W5($,"class")||W5($,"className")||"",K=W5($,"fallbackClassName")||"",z=[];if(z.push(`src="${w1(X)}"`),z.push(`alt="${w1(J)}"`),G)z.push(`class="${w1(G)}"`);if(z.push(`data-fallback="${w1(Q)}"`),K)z.push(`data-fallback-class="${w1(K)}"`);z.push('onerror="window.__stxSafeImageHandler(this)"');let q=new Set(["src","alt","fallback","class","className","fallbackClassName"]);for(let[_,B]of Object.entries($.static)){if(q.has(_))continue;if(typeof B==="boolean"){if(B)z.push(w1(_))}else z.push(`${w1(_)}="${w1(B)}"`)}let U=`<img ${z.join(" ")} />`,W=Y.context;if(!W.__safeImageHandlerEmitted)return W.__safeImageHandlerEmitted=!0,`${pU}${U}`;return U}}});function U6($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function n5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function V4($,Z,Y){let X=n5($,Z);if(X!==void 0){let J=Number.parseInt(X,10);if(!Number.isNaN(J))return J}return Y}var W6;var _6=C(()=>{W6={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,Z,Y){let X=U6(n5($,"color")||"#6366f1"),J=U6(n5($,"initialColor")||n5($,"initial-color")||""),Q=U6(n5($,"height")||"3px"),G=V4($,"duration",2000),K=V4($,"throttle",200),z=V4($,"zIndex",999999)||V4($,"z-index",999999),q=J?`linear-gradient(to right, ${J}, ${X})`:X;return`
4028
+ </picture>`}return`${k}${E}`}}});function w1($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function W5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var pU="<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'/images/safe-image-default.svg';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>",z6;var q6=P(()=>{z6={name:"SafeImage",aliases:["safe-image","safe-img"],render($,Z,Y){let X=W5($,"src")||"",J=W5($,"alt")||"",Q=W5($,"fallback")||"/images/safe-image-default.svg",G=W5($,"class")||W5($,"className")||"",K=W5($,"fallbackClassName")||"",z=[];if(z.push(`src="${w1(X)}"`),z.push(`alt="${w1(J)}"`),G)z.push(`class="${w1(G)}"`);if(z.push(`data-fallback="${w1(Q)}"`),K)z.push(`data-fallback-class="${w1(K)}"`);z.push('onerror="window.__stxSafeImageHandler(this)"');let q=new Set(["src","alt","fallback","class","className","fallbackClassName"]);for(let[_,B]of Object.entries($.static)){if(q.has(_))continue;if(typeof B==="boolean"){if(B)z.push(w1(_))}else z.push(`${w1(_)}="${w1(B)}"`)}let U=`<img ${z.join(" ")} />`,W=Y.context;if(!W.__safeImageHandlerEmitted)return W.__safeImageHandlerEmitted=!0,`${pU}${U}`;return U}}});function U6($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function n5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function V4($,Z,Y){let X=n5($,Z);if(X!==void 0){let J=Number.parseInt(X,10);if(!Number.isNaN(J))return J}return Y}var W6;var _6=P(()=>{W6={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,Z,Y){let X=U6(n5($,"color")||"#6366f1"),J=U6(n5($,"initialColor")||n5($,"initial-color")||""),Q=U6(n5($,"height")||"3px"),G=V4($,"duration",2000),K=V4($,"throttle",200),z=V4($,"zIndex",999999)||V4($,"z-index",999999),q=J?`linear-gradient(to right, ${J}, ${X})`:X;return`
4029
4029
  <div id="stx-loading-indicator" style="position:fixed;top:0;left:0;right:0;height:${Q};background:${q};z-index:${z};transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease-out,opacity 0.3s ease;opacity:0;pointer-events:none">
4030
4030
  <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>
4031
4031
  </div>
4032
4032
  <style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
4033
4033
  <script>
4034
4034
  (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()})})();
4035
- </script>`}}});function n0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function i2($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function cU($,Z,Y){let X=i2($,Z);if(X!==void 0){let J=Number.parseInt(X,10);if(!Number.isNaN(J))return J}return Y}var c2,B6;var j6=C(()=>{c2={"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%)"},B6={name:"StxToast",aliases:["stx-toast"],render($,Z,Y){let X=n0(i2($,"position")||"top-right"),J=cU($,"max",5),Q=c2[X]||c2["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${X}" data-stx-toast-max="${J}" style="position:fixed;${Q};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
4035
+ </script>`}}});function n0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function i2($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function cU($,Z,Y){let X=i2($,Z);if(X!==void 0){let J=Number.parseInt(X,10);if(!Number.isNaN(J))return J}return Y}var c2,B6;var j6=P(()=>{c2={"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%)"},B6={name:"StxToast",aliases:["stx-toast"],render($,Z,Y){let X=n0(i2($,"position")||"top-right"),J=cU($,"max",5),Q=c2[X]||c2["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${X}" data-stx-toast-max="${J}" style="position:fixed;${Q};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
4036
4036
  <style>
4037
4037
  @keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
4038
4038
  @keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
@@ -4040,7 +4040,7 @@ ${E}
4040
4040
  @keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
4041
4041
  @keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
4042
4042
  @keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
4043
- </style>`}}});function w4($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var n2,H6;var O6=C(()=>{n2={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)"},H6={name:"StxModal",aliases:["stx-modal"],render($,Z,Y){let X=w4($,"id");if(!X)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let J=n0(X),Q=w4($,"size")||"md",G=w4($,"closeOnBackdrop")!=="false",K=w4($,"closeOnEscape")!=="false",z=n2[Q]||n2.md;return`<div id="stx-modal-${J}" class="stx-modal-backdrop" data-stx-modal="${J}" 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">
4043
+ </style>`}}});function w4($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var n2,H6;var O6=P(()=>{n2={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)"},H6={name:"StxModal",aliases:["stx-modal"],render($,Z,Y){let X=w4($,"id");if(!X)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let J=n0(X),Q=w4($,"size")||"md",G=w4($,"closeOnBackdrop")!=="false",K=w4($,"closeOnEscape")!=="false",z=n2[Q]||n2.md;return`<div id="stx-modal-${J}" class="stx-modal-backdrop" data-stx-modal="${J}" 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">
4044
4044
  <div class="stx-modal-panel" style="${z};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)">
4045
4045
  <div style="padding:1.5rem">${Z}</div>
4046
4046
  </div>
@@ -4049,7 +4049,7 @@ ${E}
4049
4049
  @media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
4050
4050
  .stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
4051
4051
  .stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
4052
- </style>`}}});function _5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var o2,L6;var F6=C(()=>{o2={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},L6={name:"StxDrawer",aliases:["stx-drawer"],render($,Z,Y){let X=_5($,"id");if(!X)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let J=n0(X),Q=_5($,"side")||"right",G=_5($,"size")||"md",K=_5($,"closeOnBackdrop")!=="false",z=_5($,"closeOnEscape")!=="false",q=_5($,"overlay")!=="false",U=o2[G]||o2.md,W=Q==="left",_=W?"left:0":"right:0",B=W?"translateX(-100%)":"translateX(100%)",j=W?"stx-drawer-slide-left":"stx-drawer-slide-right";return`<div id="stx-drawer-${J}" class="stx-drawer-backdrop" data-stx-drawer="${J}" data-close-backdrop="${K}" data-close-escape="${z}" style="display:none;position:fixed;inset:0;z-index:99999;${q?"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">
4052
+ </style>`}}});function _5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var o2,L6;var F6=P(()=>{o2={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},L6={name:"StxDrawer",aliases:["stx-drawer"],render($,Z,Y){let X=_5($,"id");if(!X)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let J=n0(X),Q=_5($,"side")||"right",G=_5($,"size")||"md",K=_5($,"closeOnBackdrop")!=="false",z=_5($,"closeOnEscape")!=="false",q=_5($,"overlay")!=="false",U=o2[G]||o2.md,W=Q==="left",_=W?"left:0":"right:0",B=W?"translateX(-100%)":"translateX(100%)",j=W?"stx-drawer-slide-left":"stx-drawer-slide-right";return`<div id="stx-drawer-${J}" class="stx-drawer-backdrop" data-stx-drawer="${J}" data-close-backdrop="${K}" data-close-escape="${z}" style="display:none;position:fixed;inset:0;z-index:99999;${q?"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">
4053
4053
  <div class="stx-drawer-panel" style="position:fixed;top:0;bottom:0;${_};width:${U};max-width:100vw;transform:${B};transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);background:var(--stx-drawer-bg,#fff);color:var(--stx-drawer-text,#1f2937);box-shadow:0 20px 60px rgba(0,0,0,0.3);overflow-y:auto;pointer-events:auto">
4054
4054
  <div style="padding:1.5rem">${Z}</div>
4055
4055
  </div>
@@ -4058,7 +4058,7 @@ ${E}
4058
4058
  @media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
4059
4059
  .stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
4060
4060
  .stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
4061
- </style>`}}});var rU={};p(rU,{preloadIconCollection:()=>r2,IconBuiltin:()=>A4});import{existsSync as iU,readFileSync as nU}from"fs";function s2($){try{return K0.resolve(`@iconify/json/json/${$}.json`)}catch{}let Z=process.cwd();for(let Y of[`${Z}/node_modules/@iconify/json/json/${$}.json`,`${Z}/pantry/@iconify/json/json/${$}.json`])if(iU(Y))return Y;return null}function oU($){if(u1.has($))return u1.get($);let Z=s2($);if(!Z)return null;try{let Y=JSON.parse(nU(Z,"utf8"));return u1.set($,Y.icons),Y.icons}catch{return null}}async function sU($){if(u1.has($))return u1.get($);let Z=s2($);if(!Z)return null;try{let Y=await Bun.file(Z).json();return u1.set($,Y.icons),Y.icons}catch{return null}}function B5($,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}async function r2($="lucide"){await sU($)}var u1,A4;var V6=C(()=>{u1=new Map;A4={name:"Icon",aliases:["icon","stx-icon"],render($,Z,Y){let X=B5($,"name")??B5($,"icon");if(!X)return"<!-- Icon: missing name/icon prop -->";let J="lucide",Q=X;if(X.includes(":")){let O=X.split(":");J=O[0],Q=O[1]}let G=n0(B5($,"size")||"24"),K=n0(B5($,"color")||"currentColor"),z=n0(B5($,"class")||""),q=n0(B5($,"style")||""),U=u1.get(J)??oU(J);if(!U)return`<!-- Icon: collection "${J}" not loaded -->`;let W=U[Q];if(!W)return`<!-- Icon: "${Q}" not found in ${J} -->`;let _=W.width||24,B=W.height||24,j=`0 0 ${_} ${B}`,H=W.body;if(K!=="currentColor")H=H.replace(/currentColor/g,K);let L=z?` class="${z}"`:"",F=q?` style="${q}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${G}" height="${G}" viewBox="${j}" fill="none"${L}${F}>${H}</svg>`}}});function aU(){return`
4061
+ </style>`}}});var rU={};p(rU,{preloadIconCollection:()=>r2,IconBuiltin:()=>A4});import{existsSync as iU,readFileSync as nU}from"fs";function s2($){try{return K0.resolve(`@iconify/json/json/${$}.json`)}catch{}let Z=process.cwd();for(let Y of[`${Z}/node_modules/@iconify/json/json/${$}.json`,`${Z}/pantry/@iconify/json/json/${$}.json`])if(iU(Y))return Y;return null}function oU($){if(u1.has($))return u1.get($);let Z=s2($);if(!Z)return null;try{let Y=JSON.parse(nU(Z,"utf8"));return u1.set($,Y.icons),Y.icons}catch{return null}}async function sU($){if(u1.has($))return u1.get($);let Z=s2($);if(!Z)return null;try{let Y=await Bun.file(Z).json();return u1.set($,Y.icons),Y.icons}catch{return null}}function B5($,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}async function r2($="lucide"){await sU($)}var u1,A4;var V6=P(()=>{u1=new Map;A4={name:"Icon",aliases:["icon","stx-icon"],render($,Z,Y){let X=B5($,"name")??B5($,"icon");if(!X)return"<!-- Icon: missing name/icon prop -->";let J="lucide",Q=X;if(X.includes(":")){let O=X.split(":");J=O[0],Q=O[1]}let G=n0(B5($,"size")||"24"),K=n0(B5($,"color")||"currentColor"),z=n0(B5($,"class")||""),q=n0(B5($,"style")||""),U=u1.get(J)??oU(J);if(!U)return`<!-- Icon: collection "${J}" not loaded -->`;let W=U[Q];if(!W)return`<!-- Icon: "${Q}" not found in ${J} -->`;let _=W.width||24,B=W.height||24,j=`0 0 ${_} ${B}`,H=W.body;if(K!=="currentColor")H=H.replace(/currentColor/g,K);let L=z?` class="${z}"`:"",F=q?` style="${q}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${G}" height="${G}" viewBox="${j}" fill="none"${L}${F}>${H}</svg>`}}});function aU(){return`
4062
4062
  (function(){
4063
4063
  var tip=null,hideTimer=null,currentEl=null;
4064
4064
 
@@ -4161,7 +4161,7 @@ document.addEventListener("focusout",function(e){
4161
4161
  if(el) hideTip();
4162
4162
  });
4163
4163
  })();
4164
- `}function a2($,...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 t2($,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 w6;var A6=C(()=>{w6={name:"Suspense",aliases:["suspense"],render($,Z,Y){let X=t2(Z,"fallback"),J=X.rest,Q=t2(J,"error"),G=Q.rest,K=X.region??a2($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',z=Q.region??a2($,"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>${z}</div><div data-stx-suspense-content hidden>${G}</div></div>`}}});function R4($,...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 R6;var N6=C(()=>{R6={name:"TransitionGroup",aliases:["transition-group"],render($,Z,Y){let X=(R4($,"name")||"v").replace(/["'<>]/g,""),J=(R4($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",Q=R4($,"class"),G=R4($,"id"),K=[`data-stx-transition-group="${X}"`,Q?`class="${Q}"`:"",G?`id="${G}"`:""].filter(Boolean).join(" ");return`<${J} ${K}>${Z}</${J}>`}}});function e2(){y0.registerBuiltin(Z6),y0.registerBuiltin(G6),y0.registerBuiltin(z6),y0.registerBuiltin(W6),y0.registerBuiltin(B6),y0.registerBuiltin(H6),y0.registerBuiltin(L6),y0.registerBuiltin(A4),y0.registerBuiltin(w6),y0.registerBuiltin(R6)}var $Y=C(()=>{Y6();K6();q6();_6();j6();O6();F6();V6();A6();N6();$6();Y6();K6();q6();_6();j6();O6();F6();V6();A6();N6()});import j5 from"path";function T6($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function M6($,Z,Y){let X=[],J=0;while(J<$.length){let Q=$.indexOf("<",J);if(Q===-1)break;let K=$.slice(Q+1).match(new RegExp(`^(${Z.source})`));if(!K){J=Q+1;continue}let z=K[1];if(Y&&Y.has(z.toLowerCase())){let H=Q+1+z.length;while(H<$.length&&$[H]!==">")H++;J=H+1;continue}let q=Q+1+z.length,U=null,W=q,_=-1,B=!1;while(q<$.length){let H=$[q];if(U){if(H==="\\"&&q+1<$.length){q+=2;continue}if(H===U)U=null;q++;continue}if(H==='"'||H==="'"){U=H,q++;continue}if(H==="/"&&q+1<$.length&&$[q+1]===">"){_=q+2,B=!0;break}if(H===">"){_=q+1;break}q++}if(_===-1){J=Q+1;continue}let j=$.slice(W,B?_-2:_-1).trim();if(B)X.push({fullMatch:$.slice(Q,_),tagName:z,attributes:j,content:"",startIndex:Q,endIndex:_,isSelfClosing:!0}),J=_;else{let H=`<${z}`,L=`</${z}>`,F=1,O=_,V=-1;while(F>0&&O<$.length){let R=$.indexOf(H,O),N=$.indexOf(L,O);if(N===-1)break;if(R!==-1&&R<N){let M=$[R+H.length];if(M===" "||M===">"||M==="/"||M===`
4164
+ `}function a2($,...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 t2($,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 w6;var A6=P(()=>{w6={name:"Suspense",aliases:["suspense"],render($,Z,Y){let X=t2(Z,"fallback"),J=X.rest,Q=t2(J,"error"),G=Q.rest,K=X.region??a2($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',z=Q.region??a2($,"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>${z}</div><div data-stx-suspense-content hidden>${G}</div></div>`}}});function R4($,...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 R6;var N6=P(()=>{R6={name:"TransitionGroup",aliases:["transition-group"],render($,Z,Y){let X=(R4($,"name")||"v").replace(/["'<>]/g,""),J=(R4($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",Q=R4($,"class"),G=R4($,"id"),K=[`data-stx-transition-group="${X}"`,Q?`class="${Q}"`:"",G?`id="${G}"`:""].filter(Boolean).join(" ");return`<${J} ${K}>${Z}</${J}>`}}});function e2(){y0.registerBuiltin(Z6),y0.registerBuiltin(G6),y0.registerBuiltin(z6),y0.registerBuiltin(W6),y0.registerBuiltin(B6),y0.registerBuiltin(H6),y0.registerBuiltin(L6),y0.registerBuiltin(A4),y0.registerBuiltin(w6),y0.registerBuiltin(R6)}var $Y=P(()=>{Y6();K6();q6();_6();j6();O6();F6();V6();A6();N6();$6();Y6();K6();q6();_6();j6();O6();F6();V6();A6();N6()});import j5 from"path";function T6($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function M6($,Z,Y){let X=[],J=0;while(J<$.length){let Q=$.indexOf("<",J);if(Q===-1)break;let K=$.slice(Q+1).match(new RegExp(`^(${Z.source})`));if(!K){J=Q+1;continue}let z=K[1];if(Y&&Y.has(z.toLowerCase())){let H=Q+1+z.length;while(H<$.length&&$[H]!==">")H++;J=H+1;continue}let q=Q+1+z.length,U=null,W=q,_=-1,B=!1;while(q<$.length){let H=$[q];if(U){if(H==="\\"&&q+1<$.length){q+=2;continue}if(H===U)U=null;q++;continue}if(H==='"'||H==="'"){U=H,q++;continue}if(H==="/"&&q+1<$.length&&$[q+1]===">"){_=q+2,B=!0;break}if(H===">"){_=q+1;break}q++}if(_===-1){J=Q+1;continue}let j=$.slice(W,B?_-2:_-1).trim();if(B)X.push({fullMatch:$.slice(Q,_),tagName:z,attributes:j,content:"",startIndex:Q,endIndex:_,isSelfClosing:!0}),J=_;else{let H=`<${z}`,L=`</${z}>`,F=1,O=_,V=-1;while(F>0&&O<$.length){let R=$.indexOf(H,O),N=$.indexOf(L,O);if(N===-1)break;if(R!==-1&&R<N){let M=$[R+H.length];if(M===" "||M===">"||M==="/"||M===`
4165
4165
  `||M==="\t")F++;O=R+H.length}else{if(F--,F===0){V=N;break}O=N+L.length}}if(V===-1){J=_;continue}let A=$.slice(_,V),w=V+L.length;X.push({fullMatch:$.slice(Q,w),tagName:z,attributes:j,content:A,startIndex:Q,endIndex:w,isSelfClosing:!1}),J=w}}return X}function I6($,Z){try{let Y=Buffer.from($,"base64").toString("utf8");return JSON.parse(Y)}catch{}try{let Y=$.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");return JSON.parse(Y)}catch(Y){if(Z?.debug)console.error("Error decoding __stx_ prop:",Y);return $}}function tU($){let Z={},Y=0,X=$.length;while(Y<X){while(Y<X&&/\s/.test($[Y]))Y++;if(Y>=X)break;let J="";while(Y<X&&!/[\s=]/.test($[Y]))J+=$[Y],Y++;if(!J)break;if(J.startsWith("@")||J.startsWith(":")){while(Y<X&&$[Y]!=='"'&&$[Y]!=="'")Y++;if(Y<X){let Q=$[Y];Y++;while(Y<X&&$[Y]!==Q){if($[Y]==="\\")Y++;Y++}Y++}continue}while(Y<X&&/\s/.test($[Y]))Y++;if(Y<X&&$[Y]==="="){Y++;while(Y<X&&/\s/.test($[Y]))Y++;let Q="";if(Y<X&&($[Y]==='"'||$[Y]==="'")){let G=$[Y];Y++;while(Y<X){let K=$[Y];if(K==="\\"&&Y+1<X){Y++,Q+=$[Y],Y++;continue}if(K===G){Y++;break}Q+=K,Y++}}else while(Y<X&&!/\s/.test($[Y]))Q+=$[Y],Y++;Z[J]=Q}else Z[J]="true"}return Z}function xA($){let Z=[],Y=0,X=$.length;while(Y<X){while(Y<X&&/\s/.test($[Y]))Y++;if(Y>=X)break;let J="";while(Y<X&&!/[\s=]/.test($[Y]))J+=$[Y],Y++;if(!J)break;while(Y<X&&/\s/.test($[Y]))Y++;if(Y<X&&$[Y]==="="){Y++;while(Y<X&&/\s/.test($[Y]))Y++;let Q="";if(Y<X&&($[Y]==='"'||$[Y]==="'")){let G=$[Y];Y++;while(Y<X&&$[Y]!==G){if($[Y]==="\\"&&Y+1<X)Y++,Q+=$[Y];else Q+=$[Y];Y++}if(Y<X)Y++}else while(Y<X&&!/\s/.test($[Y]))Q+=$[Y],Y++;Z.push({name:J,value:Q})}else Z.push({name:J,value:!0})}return Z}async function fA($,Z,Y,X){let J=$;return J=J.replace(/<stx-loading-indicator([^>]*?)(?:\s*\/>|><\/stx-loading-indicator>)/gi,(Q,G)=>{let K=G.match(/color=["']([^"']+)["']/i),z=G.match(/initial-color=["']([^"']+)["']/i),q=G.match(/height=["']([^"']+)["']/i),U=G.match(/duration=["']([^"']+)["']/i),W=G.match(/throttle=["']([^"']+)["']/i),_=G.match(/z-index=["']([^"']+)["']/i),B=(L)=>L.replace(/[;{}()]/g,"").replace(/url/gi,""),j={color:B(K?.[1]||"#6366f1"),initialColor:B(z?.[1]||""),height:B(q?.[1]||"3px"),duration:U?Number.parseInt(U[1]):2000,throttle:W?Number.parseInt(W[1]):200,zIndex:_?Number.parseInt(_[1]):999999},H=j.initialColor?`linear-gradient(to right, ${j.initialColor}, ${j.color})`:j.color;return`
4166
4166
  <div id="stx-loading-indicator" style="position:fixed;top:0;left:0;right:0;height:${j.height};background:${H};z-index:${j.zIndex};transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease-out,opacity 0.3s ease;opacity:0;pointer-events:none">
4167
4167
  <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>
@@ -4169,15 +4169,15 @@ document.addEventListener("focusout",function(e){
4169
4169
  <style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
4170
4170
  <script>
4171
4171
  (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)},${j.throttle})},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()})})();
4172
- </script>`}),J}async function gA($,Z,Y,X,J){let Q=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,z;while((z=K.exec(Q))!==null){let[q,U]=z,W=U.split(",").map((_)=>_.trim().replace(/^['"]|['"]$/g,"")).filter((_)=>_.length>0);for(let _ of W){let B=_.split("/"),H=B[B.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=[j5.resolve(j5.dirname(Y),`${_}.stx`),j5.resolve(j5.dirname(Y),_),j5.resolve(X.componentsDir||"components",`${_}.stx`),j5.resolve(X.componentsDir||"components",_),_.endsWith(".stx")?_:`${_}.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),J.add(F),X.debug)console.log(`Imported component: ${L} -> ${F}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${_}`)}Q=Q.replace(q,""),K.lastIndex=0}return Q}async function hA($,Z,Y,X,J,Q){let G=$;if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,z=/@component\s*\(/g,q;while((q=z.exec(G))!==null){let U=q.index,W=U+q[0].length-1,_=1,B=W+1;while(B<G.length&&_>0){if(G[B]==="(")_++;else if(G[B]===")"){if(_--,_===0)break}B++}if(_!==0)break;let j=G.substring(W+1,B),H=B+1,L=j.match(/^\s*['"]([^'"]+)['"]/);if(!L){z.lastIndex=0;continue}let F=L[1],O,V=j.slice(L[0].length),A=V.match(/^\s*,\s*/);if(A)O=V.slice(A[0].length).trim();let w={};if(O)try{w=L0(O,Z)}catch(E){let k=E instanceof Error?E.message:String(E);G=G.replace(G.substring(U,H),`[Error parsing component props: ${k}]`);continue}let R="",N=H,T=G.substring(H).match(/^([\s\S]*?)@endcomponent/);if(T)R=T[1].trim(),N=H+T[0].length;let I=G.substring(U,N),D=await z1(F,w,R,X,Z,Y,J,K,Q);G=G.substring(0,U)+D+G.substring(N),z.lastIndex=0}return G}async function dA($,Z,Y,X,J,Q){let G=$;if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,z=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"]),q=F$(G);return G=q.output,G=await B(G,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),G=await B(G,/[A-Z][a-zA-Z0-9]*/,!0),G=await B(G,/[a-z][a-z0-9]*/,!1,z),G=V$(G,q.scripts),G;async function B(j,H,L,F){let O=j,V=M6(O,H,F);for(let A=V.length-1;A>=0;A--){let w=V[A],R=L?T6(w.tagName):w.tagName,N=tU(w.attributes),M={};for(let[I,D]of Object.entries(N)){if(I.startsWith("@"))continue;if(I.startsWith("__stx_")){let E=I.slice(6);M[E]=I6(D,J);continue}if(I.startsWith(":")){let E=I.slice(1),k=D==="true"?E:D;try{if(!$0(k)){if(J.debug)console.error(`Unsafe expression in :${E} binding: ${k}`);M[E]=D}else{let S=Z0(k,Object.keys(Z));M[E]=S(...Object.values(Z))}}catch(S){if(J.debug)console.error(`Error evaluating :${E} binding:`,S);M[E]=D}continue}if(typeof D==="string"&&D.includes("{{")&&D.includes("}}")){let E=D.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(E)try{let k=E[1];if(!$0(k)){if(J.debug)console.error(`Unsafe expression in ${I}: ${k}`);M[I]=D}else{let S=Z0(k,Object.keys(Z));M[I]=S(...Object.values(Z))}}catch(k){if(J.debug)console.error(`Error evaluating expression for ${I}:`,k);M[I]=D}else{let k=D,S=/\{\{\s*([\s\S]+?)\s*\}\}/g,b;while((b=S.exec(D))!==null)try{let y=b[1];if(!$0(y)){if(J.debug)console.error(`Unsafe expression in ${I}: ${y}`);continue}let x=Z0(y,Object.keys(Z))(...Object.values(Z));k=k.replace(b[0],String(x??""))}catch(y){if(J.debug)console.error(`Error evaluating expression in ${I}:`,y)}M[I]=k}}else M[I]=D}let T=await z1(R,M,w.content,X,Z,Y,J,K,Q);O=O.substring(0,w.startIndex)+T+O.substring(w.endIndex)}return O}}var ZY=C(()=>{R0();F0();w$()});var KY={};p(KY,{processESImports:()=>GY,processComponents:()=>T4});import N4 from"fs";import x0 from"path";function $W($,Z,Y){let X={static:{},serverDynamic:{},clientReactive:{},events:{}},J=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"]),Q=(G)=>{if(!G.includes("-")||G.startsWith("@")||G.startsWith(":")||G.startsWith("x-")||G.startsWith("__"))return G;return G.replace(/-([a-z0-9])/g,(K,z)=>z.toUpperCase())};for(let[G,K]of Object.entries($)){let z=G.startsWith("x-")&&!J.has(G)&&!G.startsWith("x-bind:")&&!G.startsWith("x-on:")?`:${G.slice(2)}`:G;if(z.startsWith("@")){X.events[z]=K;continue}if(z.startsWith("__stx_")){let q=Q(z.slice(6));X.serverDynamic[q]=I6(K,Y);continue}if(z.startsWith(":")){let q=Q(z.slice(1)),U=K==="true"?q:K;try{if(!$0(U)){if(Y.debug)console.error(`Unsafe expression in :${q} binding: ${U}`);X.clientReactive[q]=U;continue}let W=Object.keys(Z),B=Z0(U,W)(...Object.values(Z));if(B===void 0){let j=U.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],H=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(j.some((F)=>!H.has(F)&&!W.includes(F))){X.clientReactive[q]=U;continue}}X.serverDynamic[q]=B}catch{X.clientReactive[q]=U}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let q=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(q)try{let U=q[1];if($0(U)){let _=Z0(U,Object.keys(Z))(...Object.values(Z));X.static[z]=_!=null?String(_):""}else{if(Y.debug)console.error(`Unsafe expression in ${z}: ${U}`);X.static[z]=K}}catch(U){if(Y.debug)console.error(`Error evaluating expression for ${z}:`,U);X.static[z]=K}else{let U=K,W=/\{\{\s*([\s\S]+?)\s*\}\}/g,_;while((_=W.exec(K))!==null)try{let B=_[1];if(!$0(B)){if(Y.debug)console.error(`Unsafe expression in ${z}: ${B}`);continue}let H=Z0(B,Object.keys(Z))(...Object.values(Z));U=U.replace(_[0],String(H??""))}catch(B){if(Y.debug)console.error(`Error evaluating expression in ${z}:`,B)}X.static[z]=U}continue}X.static[z]=K}return X}function ZW($){let Z={},Y=0,X=$.length;while(Y<X){while(Y<X&&/\s/.test($[Y]))Y++;if(Y>=X)break;let J="";while(Y<X&&!/[\s=]/.test($[Y]))J+=$[Y],Y++;if(!J)break;while(Y<X&&/\s/.test($[Y]))Y++;if(Y<X&&$[Y]==="="){Y++;while(Y<X&&/\s/.test($[Y]))Y++;let Q="";if(Y<X&&($[Y]==='"'||$[Y]==="'")){let G=$[Y];Y++;while(Y<X){let K=$[Y];if(K==="\\"&&Y+1<X){Y++,Q+=$[Y],Y++;continue}if(K===G){Y++;break}Q+=K,Y++}}else while(Y<X&&!/\s/.test($[Y]))Q+=$[Y],Y++;Z[J]=Q}else Z[J]="true"}return Z}function XY($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function YW($){let Z=new Set,Y=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,X;while((X=Y.exec($))!==null){let J=X[1];if(y0.isBuiltin(J))Z.add(J)}return[...Z].sort()}function XW($){let Z=JY.get($);if(Z)return Z;let Y=new Map,X=[x0.join($,"src"),x0.join($,"dist"),$];function J(Q,G){if(G>6)return;let K;try{K=N4.readdirSync(Q,{withFileTypes:!0})}catch{return}for(let z of K){let q=x0.join(Q,z.name);if(z.isDirectory()){if(z.name==="node_modules"||z.name.startsWith("."))continue;J(q,G+1)}else if(z.isFile()&&z.name.endsWith(".stx")){let U=z.name.slice(0,-4);if(!Y.has(U))Y.set(U,q);let W=U.toLowerCase();if(!Y.has(W))Y.set(W,q);let _=U.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Y.has(_))Y.set(_,q)}}}for(let Q of X)if(J(Q,0),Y.size>0)break;return JY.set($,Y),Y}function JW($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let Y=Z;while(!0){let X=x0.join(Y,"node_modules",$);try{if(N4.statSync(X).isDirectory())return X}catch{}let J=x0.dirname(Y);if(J===Y)return null;Y=J}}async function GY($,Z,Y,X,J){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let Q=Z.__importedComponents,G=x0.dirname(Y),K=$,z=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return K=K.replace(z,(q,U,W)=>{let _=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,B=W,j,H=[];while((j=_.exec(W))!==null){let[L,F,O,V]=j,A=null,w=null;if(V.startsWith(".")||V.startsWith("/")){let M=x0.resolve(G,V);if(M.endsWith(".stx"))w=M;else{let T=`${M}.stx`;try{if(N4.statSync(T).isFile())w=T}catch{try{if(N4.statSync(M).isDirectory())A=M}catch{}}}}else A=JW(V,G);if(!A&&!w)continue;let R=!1,N=(M,T)=>{Q.set(M,T),Q.set(M.toLowerCase(),T);let I=M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();Q.set(I,T),J.add(T)};if(O&&w)N(O,w),R=!0;else if(F){let M=F.slice(1,-1).split(",").map((I)=>I.trim()).filter(Boolean).map((I)=>{let D=I.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(D)return{source:D[1],local:D[2]};return{source:I,local:I}}),T=A?XW(A):null;for(let{source:I,local:D}of M){let E=null;if(w)E=w;else if(T)E=T.get(I)??T.get(I.toLowerCase())??T.get(I.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(E)N(D,E),R=!0}}if(R)H.push({start:j.index,end:j.index+L.length})}if(H.length===0)return q;for(let L=H.length-1;L>=0;L--)B=B.slice(0,H[L].start)+B.slice(H[L].end);return`<script${U}>${B}</script>`}),K}async function QW($,Z,Y,X,J){let Q=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,z;while((z=K.exec(Q))!==null){let[q,U]=z,W=U.split(",").map((_)=>_.trim().replace(/^['"]|['"]$/g,"")).filter((_)=>_.length>0);for(let _ of W){let B=_.split("/"),H=B[B.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),`${_}.stx`),x0.resolve(x0.dirname(Y),_),x0.resolve(X.componentsDir||"components",`${_}.stx`),x0.resolve(X.componentsDir||"components",_),_.endsWith(".stx")?_:`${_}.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),J.add(F),X.debug)console.log(`Imported component: ${L} -> ${F}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${_}`)}Q=Q.replace(q,""),K.lastIndex=0}return Q}async function GW($,Z,Y,X,J){let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,z=/@component\s*\(/g,q;while((q=z.exec(Q))!==null){let U=q.index,W=U+q[0].length-1,_=1,B=W+1;while(B<Q.length&&_>0){if(Q[B]==="(")_++;else if(Q[B]===")"){if(_--,_===0)break}B++}if(_!==0)break;let j=Q.substring(W+1,B),H=B+1,L=j.match(/^\s*['"]([^'"]+)['"]/);if(!L){z.lastIndex=0;continue}let F=L[1],O,V=j.slice(L[0].length),A=V.match(/^\s*,\s*/);if(A)O=V.slice(A[0].length).trim();let w={};if(O)try{w=L0(O,Z)}catch(D){let E=D instanceof Error?D.message:String(D);Q=Q.replace(Q.substring(U,H),`[Error parsing component props: ${E}]`);continue}let R="",N=H,T=Q.substring(H).match(/^([\s\S]*?)@endcomponent/);if(T)R=T[1].trim(),N=H+T[0].length;let I=await z1(F,w,R,G,Z,Y,X,K,J);Q=Q.substring(0,U)+I+Q.substring(N),z.lastIndex=0}return Q}async function KW($,Z,Y,X,J){if(!$)return $;let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,z=F$(Q);return Q=z.output,Q=await _(Q,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),Q=await _(Q,/[A-Z][a-zA-Z0-9]*/,!0),Q=await _(Q,/[a-z][a-z0-9]*/,!1,eU),Q=V$(Q,z.scripts),Q;async function _(B,j,H,L){if(!B)return B;let F=B,O=M6(F,j,L);for(let V=O.length-1;V>=0;V--){let A=O[V],w=H?T6(A.tagName):A.tagName,R=ZW(A.attributes),N=$W(R,Z,X),M=y0.getBuiltin(A.tagName),T=M?await zY(w,G,Z,Y,X):!1;if(M&&!T){let k={context:Z,filePath:Y,options:X,dependencies:J},S=M.render(N,A.content,k);if(Object.keys(N.clientReactive).length>0)S=QY(S,N.clientReactive);if(Object.keys(N.events).length>0){let b=Object.entries(N.events).map(([y,m])=>`${y}="${XY(m)}"`).join(" ");S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}F=F.substring(0,A.startIndex)+S+F.substring(A.endIndex);continue}let I={};for(let[k,S]of Object.entries(N.static))I[k]=S;for(let[k,S]of Object.entries(N.serverDynamic))I[k]=S;let E=await z1(w,I,A.content,G,Z,Y,X,K,J);if(Object.keys(N.clientReactive).length>0)E=QY(E,N.clientReactive);if(Object.keys(N.events).length>0){let k=E.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(k){let S=Object.entries(N.events).map(([y,m])=>`${y}="${XY(m)}"`).join(" "),b=k[1].length+k[2].length;E=E.substring(0,b)+" "+S+E.substring(b)}}F=F.substring(0,A.startIndex)+E+F.substring(A.endIndex)}return F}}function QY($,Z){let Y=$.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(!Y)return $;let X=Object.entries(Z).map(([Q,G])=>`:${Q}="${G.replace(/"/g,"&quot;")}"`).join(" "),J=Y[1].length+Y[2].length;return $.substring(0,J)+" "+X+$.substring(J)}async function T4($,Z,Y,X,J){if(!YY)e2(),YY=!0;let Q=await GY($,Z,Y,X,J);Q=await QW(Q,Z,Y,X,J),Q=await GW(Q,Z,Y,X,J);for(let G=0;G<3;G++){let K=Q;if(Q=await KW(Q,Z,Y,X,J),Q===K)break}if(X.debug){let G=YW(Q);if(G.length>0)console.warn(`[stx] ${Y}: unresolved component tag(s) after render passes: ${G.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return Q}var YY=!1,eU,JY;var D6=C(()=>{$6();$Y();ZY();F0();R0();eU=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"]);JY=new Map});var M4={};p(M4,{stripTypeScript:()=>BY,hasVariables:()=>FY,extractVariables:()=>e0,extractScriptFromTemplate:()=>LY,convertToCommonJS:()=>k6});import H5 from"path";import o5 from"process";function zW($){let Z=[],Y=0,X=$.split(`
4172
+ </script>`}),J}async function gA($,Z,Y,X,J){let Q=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,z;while((z=K.exec(Q))!==null){let[q,U]=z,W=U.split(",").map((_)=>_.trim().replace(/^['"]|['"]$/g,"")).filter((_)=>_.length>0);for(let _ of W){let B=_.split("/"),H=B[B.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=[j5.resolve(j5.dirname(Y),`${_}.stx`),j5.resolve(j5.dirname(Y),_),j5.resolve(X.componentsDir||"components",`${_}.stx`),j5.resolve(X.componentsDir||"components",_),_.endsWith(".stx")?_:`${_}.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),J.add(F),X.debug)console.log(`Imported component: ${L} -> ${F}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${_}`)}Q=Q.replace(q,""),K.lastIndex=0}return Q}async function hA($,Z,Y,X,J,Q){let G=$;if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,z=/@component\s*\(/g,q;while((q=z.exec(G))!==null){let U=q.index,W=U+q[0].length-1,_=1,B=W+1;while(B<G.length&&_>0){if(G[B]==="(")_++;else if(G[B]===")"){if(_--,_===0)break}B++}if(_!==0)break;let j=G.substring(W+1,B),H=B+1,L=j.match(/^\s*['"]([^'"]+)['"]/);if(!L){z.lastIndex=0;continue}let F=L[1],O,V=j.slice(L[0].length),A=V.match(/^\s*,\s*/);if(A)O=V.slice(A[0].length).trim();let w={};if(O)try{w=L0(O,Z)}catch(E){let k=E instanceof Error?E.message:String(E);G=G.replace(G.substring(U,H),`[Error parsing component props: ${k}]`);continue}let R="",N=H,T=G.substring(H).match(/^([\s\S]*?)@endcomponent/);if(T)R=T[1].trim(),N=H+T[0].length;let I=G.substring(U,N),D=await z1(F,w,R,X,Z,Y,J,K,Q);G=G.substring(0,U)+D+G.substring(N),z.lastIndex=0}return G}async function dA($,Z,Y,X,J,Q){let G=$;if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,z=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"]),q=F$(G);return G=q.output,G=await B(G,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),G=await B(G,/[A-Z][a-zA-Z0-9]*/,!0),G=await B(G,/[a-z][a-z0-9]*/,!1,z),G=V$(G,q.scripts),G;async function B(j,H,L,F){let O=j,V=M6(O,H,F);for(let A=V.length-1;A>=0;A--){let w=V[A],R=L?T6(w.tagName):w.tagName,N=tU(w.attributes),M={};for(let[I,D]of Object.entries(N)){if(I.startsWith("@"))continue;if(I.startsWith("__stx_")){let E=I.slice(6);M[E]=I6(D,J);continue}if(I.startsWith(":")){let E=I.slice(1),k=D==="true"?E:D;try{if(!$0(k)){if(J.debug)console.error(`Unsafe expression in :${E} binding: ${k}`);M[E]=D}else{let S=Z0(k,Object.keys(Z));M[E]=S(...Object.values(Z))}}catch(S){if(J.debug)console.error(`Error evaluating :${E} binding:`,S);M[E]=D}continue}if(typeof D==="string"&&D.includes("{{")&&D.includes("}}")){let E=D.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(E)try{let k=E[1];if(!$0(k)){if(J.debug)console.error(`Unsafe expression in ${I}: ${k}`);M[I]=D}else{let S=Z0(k,Object.keys(Z));M[I]=S(...Object.values(Z))}}catch(k){if(J.debug)console.error(`Error evaluating expression for ${I}:`,k);M[I]=D}else{let k=D,S=/\{\{\s*([\s\S]+?)\s*\}\}/g,b;while((b=S.exec(D))!==null)try{let C=b[1];if(!$0(C)){if(J.debug)console.error(`Unsafe expression in ${I}: ${C}`);continue}let f=Z0(C,Object.keys(Z))(...Object.values(Z));k=k.replace(b[0],String(f??""))}catch(C){if(J.debug)console.error(`Error evaluating expression in ${I}:`,C)}M[I]=k}}else M[I]=D}let T=await z1(R,M,w.content,X,Z,Y,J,K,Q);O=O.substring(0,w.startIndex)+T+O.substring(w.endIndex)}return O}}var ZY=P(()=>{R0();F0();w$()});var KY={};p(KY,{processESImports:()=>GY,processComponents:()=>T4});import N4 from"fs";import x0 from"path";function $W($,Z,Y){let X={static:{},serverDynamic:{},clientReactive:{},events:{}},J=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"]),Q=(G)=>{if(!G.includes("-")||G.startsWith("@")||G.startsWith(":")||G.startsWith("x-")||G.startsWith("__"))return G;return G.replace(/-([a-z0-9])/g,(K,z)=>z.toUpperCase())};for(let[G,K]of Object.entries($)){let z=G.startsWith("x-")&&!J.has(G)&&!G.startsWith("x-bind:")&&!G.startsWith("x-on:")?`:${G.slice(2)}`:G;if(z.startsWith("@")){X.events[z]=K;continue}if(z.startsWith("__stx_")){let q=Q(z.slice(6));X.serverDynamic[q]=I6(K,Y);continue}if(z.startsWith(":")){let q=Q(z.slice(1)),U=K==="true"?q:K;try{if(!$0(U)){if(Y.debug)console.error(`Unsafe expression in :${q} binding: ${U}`);X.clientReactive[q]=U;continue}let W=Object.keys(Z),B=Z0(U,W)(...Object.values(Z));if(B===void 0){let j=U.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],H=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(j.some((F)=>!H.has(F)&&!W.includes(F))){X.clientReactive[q]=U;continue}}X.serverDynamic[q]=B}catch{X.clientReactive[q]=U}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let q=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(q)try{let U=q[1];if($0(U)){let _=Z0(U,Object.keys(Z))(...Object.values(Z));X.static[z]=_!=null?String(_):""}else{if(Y.debug)console.error(`Unsafe expression in ${z}: ${U}`);X.static[z]=K}}catch(U){if(Y.debug)console.error(`Error evaluating expression for ${z}:`,U);X.static[z]=K}else{let U=K,W=/\{\{\s*([\s\S]+?)\s*\}\}/g,_;while((_=W.exec(K))!==null)try{let B=_[1];if(!$0(B)){if(Y.debug)console.error(`Unsafe expression in ${z}: ${B}`);continue}let H=Z0(B,Object.keys(Z))(...Object.values(Z));U=U.replace(_[0],String(H??""))}catch(B){if(Y.debug)console.error(`Error evaluating expression in ${z}:`,B)}X.static[z]=U}continue}X.static[z]=K}return X}function ZW($){let Z={},Y=0,X=$.length;while(Y<X){while(Y<X&&/\s/.test($[Y]))Y++;if(Y>=X)break;let J="";while(Y<X&&!/[\s=]/.test($[Y]))J+=$[Y],Y++;if(!J)break;while(Y<X&&/\s/.test($[Y]))Y++;if(Y<X&&$[Y]==="="){Y++;while(Y<X&&/\s/.test($[Y]))Y++;let Q="";if(Y<X&&($[Y]==='"'||$[Y]==="'")){let G=$[Y];Y++;while(Y<X){let K=$[Y];if(K==="\\"&&Y+1<X){Y++,Q+=$[Y],Y++;continue}if(K===G){Y++;break}Q+=K,Y++}}else while(Y<X&&!/\s/.test($[Y]))Q+=$[Y],Y++;Z[J]=Q}else Z[J]="true"}return Z}function XY($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function YW($){let Z=new Set,Y=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,X;while((X=Y.exec($))!==null){let J=X[1];if(y0.isBuiltin(J))Z.add(J)}return[...Z].sort()}function XW($){let Z=JY.get($);if(Z)return Z;let Y=new Map,X=[x0.join($,"src"),x0.join($,"dist"),$];function J(Q,G){if(G>6)return;let K;try{K=N4.readdirSync(Q,{withFileTypes:!0})}catch{return}for(let z of K){let q=x0.join(Q,z.name);if(z.isDirectory()){if(z.name==="node_modules"||z.name.startsWith("."))continue;J(q,G+1)}else if(z.isFile()&&z.name.endsWith(".stx")){let U=z.name.slice(0,-4);if(!Y.has(U))Y.set(U,q);let W=U.toLowerCase();if(!Y.has(W))Y.set(W,q);let _=U.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Y.has(_))Y.set(_,q)}}}for(let Q of X)if(J(Q,0),Y.size>0)break;return JY.set($,Y),Y}function JW($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let Y=Z;while(!0){let X=x0.join(Y,"node_modules",$);try{if(N4.statSync(X).isDirectory())return X}catch{}let J=x0.dirname(Y);if(J===Y)return null;Y=J}}async function GY($,Z,Y,X,J){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let Q=Z.__importedComponents,G=x0.dirname(Y),K=$,z=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return K=K.replace(z,(q,U,W)=>{let _=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,B=W,j,H=[];while((j=_.exec(W))!==null){let[L,F,O,V]=j,A=null,w=null;if(V.startsWith(".")||V.startsWith("/")){let M=x0.resolve(G,V);if(M.endsWith(".stx"))w=M;else{let T=`${M}.stx`;try{if(N4.statSync(T).isFile())w=T}catch{try{if(N4.statSync(M).isDirectory())A=M}catch{}}}}else A=JW(V,G);if(!A&&!w)continue;let R=!1,N=(M,T)=>{Q.set(M,T),Q.set(M.toLowerCase(),T);let I=M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();Q.set(I,T),J.add(T)};if(O&&w)N(O,w),R=!0;else if(F){let M=F.slice(1,-1).split(",").map((I)=>I.trim()).filter(Boolean).map((I)=>{let D=I.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(D)return{source:D[1],local:D[2]};return{source:I,local:I}}),T=A?XW(A):null;for(let{source:I,local:D}of M){let E=null;if(w)E=w;else if(T)E=T.get(I)??T.get(I.toLowerCase())??T.get(I.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(E)N(D,E),R=!0}}if(R)H.push({start:j.index,end:j.index+L.length})}if(H.length===0)return q;for(let L=H.length-1;L>=0;L--)B=B.slice(0,H[L].start)+B.slice(H[L].end);return`<script${U}>${B}</script>`}),K}async function QW($,Z,Y,X,J){let Q=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,z;while((z=K.exec(Q))!==null){let[q,U]=z,W=U.split(",").map((_)=>_.trim().replace(/^['"]|['"]$/g,"")).filter((_)=>_.length>0);for(let _ of W){let B=_.split("/"),H=B[B.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),`${_}.stx`),x0.resolve(x0.dirname(Y),_),x0.resolve(X.componentsDir||"components",`${_}.stx`),x0.resolve(X.componentsDir||"components",_),_.endsWith(".stx")?_:`${_}.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),J.add(F),X.debug)console.log(`Imported component: ${L} -> ${F}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${_}`)}Q=Q.replace(q,""),K.lastIndex=0}return Q}async function GW($,Z,Y,X,J){let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,z=/@component\s*\(/g,q;while((q=z.exec(Q))!==null){let U=q.index,W=U+q[0].length-1,_=1,B=W+1;while(B<Q.length&&_>0){if(Q[B]==="(")_++;else if(Q[B]===")"){if(_--,_===0)break}B++}if(_!==0)break;let j=Q.substring(W+1,B),H=B+1,L=j.match(/^\s*['"]([^'"]+)['"]/);if(!L){z.lastIndex=0;continue}let F=L[1],O,V=j.slice(L[0].length),A=V.match(/^\s*,\s*/);if(A)O=V.slice(A[0].length).trim();let w={};if(O)try{w=L0(O,Z)}catch(D){let E=D instanceof Error?D.message:String(D);Q=Q.replace(Q.substring(U,H),`[Error parsing component props: ${E}]`);continue}let R="",N=H,T=Q.substring(H).match(/^([\s\S]*?)@endcomponent/);if(T)R=T[1].trim(),N=H+T[0].length;let I=await z1(F,w,R,G,Z,Y,X,K,J);Q=Q.substring(0,U)+I+Q.substring(N),z.lastIndex=0}return Q}async function KW($,Z,Y,X,J){if(!$)return $;let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,z=F$(Q);return Q=z.output,Q=await _(Q,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),Q=await _(Q,/[A-Z][a-zA-Z0-9]*/,!0),Q=await _(Q,/[a-z][a-z0-9]*/,!1,eU),Q=V$(Q,z.scripts),Q;async function _(B,j,H,L){if(!B)return B;let F=B,O=M6(F,j,L);for(let V=O.length-1;V>=0;V--){let A=O[V],w=H?T6(A.tagName):A.tagName,R=ZW(A.attributes),N=$W(R,Z,X),M=y0.getBuiltin(A.tagName),T=M?await zY(w,G,Z,Y,X):!1;if(M&&!T){let k={context:Z,filePath:Y,options:X,dependencies:J},S=M.render(N,A.content,k);if(Object.keys(N.clientReactive).length>0)S=QY(S,N.clientReactive);if(Object.keys(N.events).length>0){let b=Object.entries(N.events).map(([C,m])=>`${C}="${XY(m)}"`).join(" ");S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}F=F.substring(0,A.startIndex)+S+F.substring(A.endIndex);continue}let I={};for(let[k,S]of Object.entries(N.static))I[k]=S;for(let[k,S]of Object.entries(N.serverDynamic))I[k]=S;let E=await z1(w,I,A.content,G,Z,Y,X,K,J);if(Object.keys(N.clientReactive).length>0)E=QY(E,N.clientReactive);if(Object.keys(N.events).length>0){let k=E.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(k){let S=Object.entries(N.events).map(([C,m])=>`${C}="${XY(m)}"`).join(" "),b=k[1].length+k[2].length;E=E.substring(0,b)+" "+S+E.substring(b)}}F=F.substring(0,A.startIndex)+E+F.substring(A.endIndex)}return F}}function QY($,Z){let Y=$.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(!Y)return $;let X=Object.entries(Z).map(([Q,G])=>`:${Q}="${G.replace(/"/g,"&quot;")}"`).join(" "),J=Y[1].length+Y[2].length;return $.substring(0,J)+" "+X+$.substring(J)}async function T4($,Z,Y,X,J){if(!YY)e2(),YY=!0;let Q=await GY($,Z,Y,X,J);Q=await QW(Q,Z,Y,X,J),Q=await GW(Q,Z,Y,X,J);for(let G=0;G<3;G++){let K=Q;if(Q=await KW(Q,Z,Y,X,J),Q===K)break}if(X.debug){let G=YW(Q);if(G.length>0)console.warn(`[stx] ${Y}: unresolved component tag(s) after render passes: ${G.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return Q}var YY=!1,eU,JY;var D6=P(()=>{$6();$Y();ZY();F0();R0();eU=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"]);JY=new Map});var M4={};p(M4,{stripTypeScript:()=>BY,hasVariables:()=>FY,extractVariables:()=>e0,extractScriptFromTemplate:()=>LY,convertToCommonJS:()=>k6});import H5 from"path";import o5 from"process";function zW($){let Z=[],Y=0,X=$.split(`
4173
4173
  `);for(let J of X){let Q=Y,G=null,K=!1;for(let z=0;z<J.length;z++){let q=J[z];if(K){K=!1;continue}if(q==="\\"){K=!0;continue}if(G){if(q===G)G=null;continue}if(q==="'"||q==='"'||q==="`"){G=q;continue}if(q==="/"&&z+1<J.length&&J[z+1]==="/")break;if(q==="{")Y++;else if(q==="}")Y--}if(Q===0){let z=J.match(/(?:const|let|var)\s+(\w+)\s*=/);if(z)Z.push(z[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(J)){let q=J.match(/(?:const|let|var)\s+(\w+)/);if(q)Z.push(q[1])}else{let q=J.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(q){let W=q[1].slice(1,-1).split(",").map((_)=>{let B=_.split(":");return(B.length>1?B[1]:B[0]).trim()}).filter((_)=>/^\w+$/.test(_));Z.push(...W)}}}}return[...new Set(Z)]}function BY($){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 J=[],Q="",G=0,K=0,z=null;for(let q=0;q<X.length;q++){let U=X[q];if(z){if(Q+=U,U===z)z=null;continue}if(U==='"'||U==="'"||U==="`"){z=U,Q+=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){J.push(Q),Q="";continue}Q+=U}if(Q)J.push(Q);return J.map((q)=>{let U=q.trim(),W=U.startsWith("..."),_=W?U.slice(3):U,B=-1,j=0;for(let w=0;w<_.length;w++)if(_[w]==="<")j++;else if(_[w]===">")j--;else if(_[w]===":"&&j===0){B=w;break}if(B===-1)return q;let L=_.substring(0,B).trim().replace(/\?$/,""),F=_.substring(B+1),O=-1,V=0;for(let w=0;w<F.length;w++)if(F[w]==="<")V++;else if(F[w]===">")V--;else if(F[w]==="="&&V===0){O=w;break}let A=W?"...":"";if(O!==-1)return`${A}${L} = ${F.substring(O+1).trim()}`;return`${A}${L}`}).join(", ")}Z=Z.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(X,J,Q)=>{if(!Q.includes(":"))return X;return`${J}(${Y(Q)})`});{let X=/\b(function\s+\w*\s*)\(/g,J,Q=[];while((J=X.exec(Z))!==null){let G=J.index+J[0].length-1,K=1,z=G+1,q=0,U=null;while(z<Z.length&&K>0){let B=Z[z];if(U){if(B===U)U=null;z++;continue}if(B==='"'||B==="'"||B==="`"){U=B,z++;continue}if(B==="<")q++;else if(B===">"&&q>0)q--;else if(q===0){if(B==="(")K++;else if(B===")")K--}if(K>0)z++}if(K!==0)continue;let W=Z.substring(G+1,z);if(!W.includes(":"))continue;let _=Y(W);Q.push({start:G+1,end:z,replacement:_})}for(let G=Q.length-1;G>=0;G--){let{start:K,end:z,replacement:q}=Q[G];Z=Z.substring(0,K)+q+Z.substring(z)}}return Z=Z.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(X,J)=>{if(!J.includes(":"))return X;if(J.includes("{")||J.includes("}"))return X;return`(${J.split(",").map((G)=>{let[K,...z]=G.split("="),q=K.split(":")[0].trim();if(z.length>0)return`${q} = ${z.join("=").trim()}`;return q}).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,`
4174
4174
 
4175
- `),Z}async function e0($,Z,Y,X={}){if(!$.trim())return;let J;try{let P=new Bun.Transpiler({loader:"ts",target:"browser",define:r0()}),v=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");v=v.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),J=P.transformSync(v)}catch{J=BY($)}let Q={exports:{}},G=Q.exports,K=o5.cwd(),z={},q=[...J.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((P)=>P[1]).filter((P)=>!P.startsWith("node:")&&!P.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(P));for(let P of q)try{let v=H5.resolve(K,"node_modules",P),f=H5.join(v,"package.json"),g=JSON.parse(K0("fs").readFileSync(f,"utf8")),l=g.main||"index.js";if(g.exports){let s=typeof g.exports==="string"?g.exports:g.exports["."];if(typeof s==="string")l=s;else if(s?.bun)l=s.bun;else if(s?.import)l=s.import;else if(s?.default)l=s.default}z[P]=await import(H5.resolve(v,l))}catch{}let U=(P)=>{if(z[P])return z[P];return K0(P)},W=Z.props||{},_=Object.assign((P)=>{if(!P)return W;let v={};for(let[f,g]of Object.entries(P)){let l=W[f];if(l!==void 0)v[f]=l;else if(typeof g==="function")v[f]=g();else v[f]=g}return v},W),B=(P)=>{if(!P)return W;let v={...W};for(let[f,g]of Object.entries(P)){let l=g&&typeof g==="object"&&!Array.isArray(g)?g:{type:g};if(v[f]===void 0&&l.default!==void 0)v[f]=typeof l.default==="function"?l.default():l.default}return v},j=()=>Z.slots||{},H=(P,v)=>{let f={...P};for(let[g,l]of Object.entries(v))if(f[g]===void 0)if(typeof l==="function")f[g]=l();else f[g]=l;return f},L=(P)=>{let v=()=>P;return v.set=(f)=>{},v.update=(f)=>{},v},F=(P)=>{let v,f=!1;return()=>{if(!f)try{v=P(),f=!0}catch{v=void 0}return v}},O=(P)=>{},V=(P)=>P(),A=(P)=>{},w=(P)=>{},R=(P)=>{},N=()=>({params:{},query:{},path:"",name:"",fullPath:"",hash:"",matched:[]}),M=()=>({push:(P)=>{},replace:(P)=>{},back:()=>{},forward:()=>{},go:(P)=>{}}),T=(P)=>{d1(P);let v=Z.__stx_runtime_head||{},f=P||{};Z.__stx_runtime_head={...v,...f.title&&{title:f.title},meta:[...v.meta||[],...f.meta||[]],link:[...v.link||[],...f.link||[]],script:[...v.script||[],...f.script||[]],htmlAttrs:{...v.htmlAttrs||{},...f.htmlAttrs||{}},bodyAttrs:{...v.bodyAttrs||{},...f.bodyAttrs||{}}}},I=(P)=>{B4(P);let v=h5();Z.__stx_runtime_head={...Z.__stx_runtime_head||{},...v.title&&{title:v.title},meta:v.meta?[...v.meta]:[]}},D=(P)=>({value:P}),E=(P)=>P,k=(P)=>({value:typeof P==="function"?P():P}),S=(P,v)=>{},b=(P)=>{},y=(P)=>{},m=(P)=>P?P():Promise.resolve(),x=(P)=>(v,...f)=>{},h=(P)=>{},u=(P,v)=>{},Q0=(P,v)=>v,E0=()=>({value:"light"}),H0=()=>({value:!1}),k0={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:{}},X0=new Proxy(k0,{get(P,v){if(v in P)return P[v];return},set(P,v,f){return P[v]=f,!0}}),A0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},W0=console;try{let P=k6(J,Y),v=new Set(Object.keys(W)),f=Object.keys(Z).filter((t)=>!v.has(t)&&t!=="props"),g=f.map((t)=>Z[t]),l=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"]),s=[],G0=[];for(let[t,s0]of Object.entries(W)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(t))continue;if(l.has(t))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${t}\\b`).test(P))continue;s.push(t),G0.push(s0)}let P0=zW(P).map((t)=>`module.exports.${t} = typeof ${t} !== 'undefined' ? ${t} : module.exports.${t};`).join(`
4176
- `),I1=Z.params??{},U0=[],D1=[];for(let t=0;t<f.length;t++){if(f[t]==="params")continue;U0.push(f[t]),D1.push(g[t])}let K$=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","window","document","console","confirm","alert","fetch","params",...s,...U0,`return (async () => {
4177
- ${P}
4175
+ `),Z}async function e0($,Z,Y,X={}){if(!$.trim())return;let J;try{let y=new Bun.Transpiler({loader:"ts",target:"browser",define:r0()}),v=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");v=v.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),J=y.transformSync(v)}catch{J=BY($)}let Q={exports:{}},G=Q.exports,K=o5.cwd(),z={},q=[...J.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((y)=>y[1]).filter((y)=>!y.startsWith("node:")&&!y.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(y));for(let y of q)try{let v=H5.resolve(K,"node_modules",y),x=H5.join(v,"package.json"),g=JSON.parse(K0("fs").readFileSync(x,"utf8")),l=g.main||"index.js";if(g.exports){let s=typeof g.exports==="string"?g.exports:g.exports["."];if(typeof s==="string")l=s;else if(s?.bun)l=s.bun;else if(s?.import)l=s.import;else if(s?.default)l=s.default}z[y]=await import(H5.resolve(v,l))}catch{}let U=(y)=>{if(z[y])return z[y];return K0(y)},W=Z.props||{},_=Object.assign((y)=>{if(!y)return W;let v={};for(let[x,g]of Object.entries(y)){let l=W[x];if(l!==void 0)v[x]=l;else if(typeof g==="function")v[x]=g();else v[x]=g}return v},W),B=(y)=>{if(!y)return W;let v={...W};for(let[x,g]of Object.entries(y)){let l=g&&typeof g==="object"&&!Array.isArray(g)?g:{type:g};if(v[x]===void 0&&l.default!==void 0)v[x]=typeof l.default==="function"?l.default():l.default}return v},j=()=>Z.slots||{},H=(y,v)=>{let x={...y};for(let[g,l]of Object.entries(v))if(x[g]===void 0)if(typeof l==="function")x[g]=l();else x[g]=l;return x},L=(y)=>{let v=()=>y;return v.set=(x)=>{},v.update=(x)=>{},v},F=(y)=>{let v,x=!1;return()=>{if(!x)try{v=y(),x=!0}catch{v=void 0}return v}},O=(y)=>{},V=(y)=>y(),A=(y)=>{},w=(y)=>{},R=(y)=>{},N=()=>{let y=Z.__stxServeContext,v=Z.__stxServeSearch??y?.search??"",x=y?.path??"";return{params:Z.params??{},query:Object.fromEntries(new URLSearchParams(v)),path:x,name:"",fullPath:x+v,hash:"",matched:[]}},M=()=>({push:(y)=>{},replace:(y)=>{},back:()=>{},forward:()=>{},go:(y)=>{}}),T=(y)=>{d1(y);let v=Z.__stx_runtime_head||{},x=y||{};Z.__stx_runtime_head={...v,...x.title&&{title:x.title},meta:[...v.meta||[],...x.meta||[]],link:[...v.link||[],...x.link||[]],script:[...v.script||[],...x.script||[]],htmlAttrs:{...v.htmlAttrs||{},...x.htmlAttrs||{}},bodyAttrs:{...v.bodyAttrs||{},...x.bodyAttrs||{}}}},I=(y)=>{B4(y);let v=h5();Z.__stx_runtime_head={...Z.__stx_runtime_head||{},...v.title&&{title:v.title},meta:v.meta?[...v.meta]:[]}},D=(y)=>({value:y}),E=(y)=>y,k=(y)=>({value:typeof y==="function"?y():y}),S=(y,v)=>{},b=(y)=>{},C=(y)=>{},m=(y)=>y?y():Promise.resolve(),f=(y)=>(v,...x)=>{},h=(y)=>{},u=(y,v)=>{},Q0=(y,v)=>v,k0=()=>({value:"light"}),H0=()=>({value:!1}),S0={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:{}},X0=new Proxy(S0,{get(y,v){if(v in y)return y[v];return},set(y,v,x){return y[v]=x,!0}}),A0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},W0=console;try{let y=k6(J,Y),v=new Set(Object.keys(W)),x=Object.keys(Z).filter((t)=>!v.has(t)&&t!=="props"),g=x.map((t)=>Z[t]),l=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"]),s=[],G0=[];for(let[t,s0]of Object.entries(W)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(t))continue;if(l.has(t))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${t}\\b`).test(y))continue;s.push(t),G0.push(s0)}let P0=zW(y).map((t)=>`module.exports.${t} = typeof ${t} !== 'undefined' ? ${t} : module.exports.${t};`).join(`
4176
+ `),I1=Z.params??{},U0=[],D1=[];for(let t=0;t<x.length;t++){if(x[t]==="params")continue;U0.push(x[t]),D1.push(g[t])}let K$=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","window","document","console","confirm","alert","fetch","params",...s,...U0,`return (async () => {
4177
+ ${y}
4178
4178
  ${P0}
4179
4179
  return module.exports
4180
- })()`)(Q,G,U,W,_,B,H,L,F,O,V,A,w,R,N,M,T,I,D,E,k,S,b,y,m,x,h,j,u,Q0,E0,H0,X0,A0,W0,k0.confirm,k0.alert,k0.fetch,I1,...G0,...D1);if(X.preserveExisting){for(let[t,s0]of Object.entries(K$))if(!(t in Z)||Z[t]===void 0)Z[t]=s0}else Object.assign(Z,K$);for(let[t,s0]of Object.entries(W))if(!(t in Z))Z[t]=s0}catch(P){if(o5.env.STX_DEBUG){let v=P instanceof Error?P.message:String(P);console.warn(`[stx] server <script> did not execute in ${Y??"<unknown>"} \u2014 falling back to static extraction. Cause: ${v}`)}try{await BW(J,Z,Y)}catch(v){if(o5.env.STX_DEBUG){let f=v instanceof Error?v.message:String(v);console.warn(`[stx] fallback extraction also failed in ${Y??"<unknown>"}: ${f}`)}}}}function k6($,Z){let Y=Z?H5.dirname(Z):o5.cwd(),X=$.split(`
4180
+ })()`)(Q,G,U,W,_,B,H,L,F,O,V,A,w,R,N,M,T,I,D,E,k,S,b,C,m,f,h,j,u,Q0,k0,H0,X0,A0,W0,S0.confirm,S0.alert,S0.fetch,I1,...G0,...D1);if(X.preserveExisting){for(let[t,s0]of Object.entries(K$))if(!(t in Z)||Z[t]===void 0)Z[t]=s0}else Object.assign(Z,K$);for(let[t,s0]of Object.entries(W))if(!(t in Z))Z[t]=s0}catch(y){if(o5.env.STX_DEBUG){let v=y instanceof Error?y.message:String(y);console.warn(`[stx] server <script> did not execute in ${Y??"<unknown>"} \u2014 falling back to static extraction. Cause: ${v}`)}try{await BW(J,Z,Y)}catch(v){if(o5.env.STX_DEBUG){let x=v instanceof Error?v.message:String(v);console.warn(`[stx] fallback extraction also failed in ${Y??"<unknown>"}: ${x}`)}}}}function k6($,Z){let Y=Z?H5.dirname(Z):o5.cwd(),X=$.split(`
4181
4181
  `),J=[],Q=0;while(Q<X.length){let G=X[Q].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(;Q<X.length;Q++){for(let z of X[Q])if(z==="{")K++;else if(z==="}")K--;if(K<=0)break}}Q++;continue}if(G.startsWith("definePageMeta(")){let K=0,z=!1;for(let q=Q;q<X.length&&!z;q++){let U=null,W=!1,_=X[q];for(let B=0;B<_.length;B++){let j=_[B];if(W){W=!1;continue}if(j==="\\"){W=!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){Q=q+1,z=!0;break}}}}if(!z)Q=X.length;continue}if(G.startsWith("import ")){let K=G.match(/^import\s+(\w+)\s+from\s+['"](.+)['"]/),z=G.match(/^import\s+\{([^}]+)\}\s+from\s+['"](.+)['"]/),q=G.match(/^import\s+['"](.+)['"]/),U=(W)=>{if(W.startsWith("."))return H5.resolve(Y,W);return W};if(K){let[,W,_]=K,B=U(_);J.push(`const ${W} = await import('${B}')`),J.push(`module.exports.${W} = ${W};`)}else if(z){let[,W,_]=z,B=W.trim(),j=U(_);J.push(`const { ${B} } = await import('${j}')`);for(let H of B.split(",")){let L=H.trim().split(/\s+as\s+/).pop()?.trim();if(L)J.push(`module.exports.${L} = ${L};`)}}else if(q){let W=U(q[1]);J.push(`await import('${W}')`)}else J.push(G);Q++;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("="))J.push(X[Q]),Q++;else if(G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var ")){let K=qY(X,Q),{type:z,name:q,value:U}=K;J.push(`${z} ${q} = ${U};`),J.push(`module.exports.${q} = ${q};`),Q=K.nextIndex}else if(G.startsWith("export function ")||G.startsWith("export async function ")){let K=E6(X,Q);J.push(K.functionCode),J.push(`module.exports.${K.name} = ${K.name};`),Q=K.nextIndex}else if(G.startsWith("const ")||G.startsWith("let ")||G.startsWith("var ")){let K=qY(X,Q),{type:z,name:q,value:U}=K;J.push(`${z} ${q} = ${U};`),J.push(`module.exports.${q} = ${q};`),Q=K.nextIndex}else if(G.startsWith("function ")||G.startsWith("async function ")){let K=E6(X,Q);J.push(K.functionCode),J.push(`module.exports.${K.name} = ${K.name};`),Q=K.nextIndex}else if(G.startsWith("export default function ")||G.startsWith("export default async function ")){let K=X[Q].replace(/^(\s*)export\s+default\s+/,"$1"),z=[...X];z[Q]=K;let q=E6(z,Q);if(J.push(q.functionCode),q.name)J.push(`module.exports.default = ${q.name};`);Q=q.nextIndex}else if(G.startsWith("export default ")){let K=G.replace(/^export\s+default\s+/,"").replace(/;$/,"");J.push(`module.exports.default = ${K};`),Q++}else if(G.startsWith("class ")||G.startsWith("export class ")){let K=G.match(/(?:export\s+)?class\s+(\w+)/);if(K){let z=K[1],q=X[Q].replace(/^export\s+/,""),U=0,W=Q;for(;W<X.length;W++){let _=X[W];for(let B of _)if(B==="{")U++;else if(B==="}")U--;if(W>Q)q+=`
4182
4182
  `+_;if(U<=0&&W>=Q)break}J.push(q),J.push(`module.exports.${z} = ${z};`),Q=W+1}else J.push(G),Q++}else if(G.includes("module.exports"))J.push(G),Q++;else if(G.trim()&&!G.startsWith("//"))J.push(G),Q++;else Q++}return qW(J.join(`
4183
4183
  `),Y)}function qW($,Z){let Y=$.length,X="",J=0,Q=null,G=!1,K=!1,z=0;while(J<Y){let q=$[J],U=$[J+1];if(G){if(X+=q,q===`
@@ -4187,7 +4187,7 @@ ${w}`,nextIndex:O}}}}throw Error(`Failed to parse variable declaration: ${Y}`)}l
4187
4187
  ${$[z]}`,z++;else break}return K=K.trim().replace(/;$/,""),{type:J,name:Q,value:K,nextIndex:z}}function E6($,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[,J]=X,Q=Y.replace(/^export\s+/,""),G=Z;if(WW(Y)){let K=_W($,Z,Q);Q=K.functionCode,G=K.nextIndex}else G=Z+1;return{name:J,functionCode:Q,nextIndex:G}}function UY($){let Z=$.trim();if(Z.startsWith("{"))return w0(Z,"{","}",0)===-1;if(Z.startsWith("["))return w0(Z,"[","]",0)===-1;return!OY(Z)}function OY($){let Z={paren:0,bracket:0,brace:0},Y=null,X=0;for(let J=0;J<$.length;J++){let Q=$[J];if((J>0?$[J-1]:"")==="\\"&&Y)continue;if((Q==='"'||Q==="'")&&!Y){Y=Q;continue}if(Q===Y&&Y!=="`"){Y=null;continue}if(Q==="`"&&!Y){Y="`";continue}if(Q==="`"&&Y==="`"&&X===0){Y=null;continue}if(Y==="`"&&Q==="$"&&$[J+1]==="{"){X++,J++;continue}if(X>0&&Q==="{"){X++;continue}if(X>0&&Q==="}"){X--;continue}if(Y)continue;if(Q==="(")Z.paren++;else if(Q===")")Z.paren--;else if(Q==="[")Z.bracket++;else if(Q==="]")Z.bracket--;else if(Q==="{")Z.brace++;else if(Q==="}")Z.brace--}return Z.paren===0&&Z.bracket===0&&Z.brace===0&&Y===null}function WW($){let Z=$.indexOf("{");if(Z===-1)return!0;return w0($,"{","}",Z)===-1}function WY($,Z,Y){let X=Y,J=Z+1;while(J<$.length&&!OY(X)){let Q=$[J];X+=`
4188
4188
  ${Q}`,J++}while(J<$.length){let Q=$[J].trim();if(Q.startsWith(".")||Q.startsWith("?."))X+=`
4189
4189
  ${$[J]}`,J++;else break}return{value:X,nextIndex:J}}function _W($,Z,Y){let X=Y,J=Z+1;while(J<$.length){let Q=X.indexOf("{");if(Q!==-1){if(w0(X,"{","}",Q)!==-1)break}let G=$[J];X+=`
4190
- ${G}`,J++}return{functionCode:X,nextIndex:J}}function _Y($,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:{...o5.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 BW($,Z,Y){let X=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let Q of X){let[,,G,K]=Q;try{let z=K.trim().replace(/;$/,""),q=_Y(z,Z);if(q!==void 0)Z[G]=q}catch(z){console.warn(`Failed to parse export ${G} in fallback:`,z)}}let J=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let Q of J){let[,,G,K]=Q;if(!(G in Z))try{let z=K.trim().replace(/;$/,""),q=_Y(z,Z);if(q!==void 0)Z[G]=q}catch{}}}function LY($){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 FY($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var s5=C(()=>{d5();r1();R0()});var MY={};p(MY,{processLoops:()=>S6});function OW($,Z){let Y=/@component\s*\(/g,X=$,J,Q=[];while((J=Y.exec(X))!==null){let G=J.index,K=G+J[0].length-1,z=1,q=K+1;while(q<X.length&&z>0){if(X[q]==="(")z++;else if(X[q]===")"){if(z--,z===0)break}q++}if(z!==0)continue;let U=X.substring(K+1,q),W=q+1,_=U.match(/^\s*['"]([^'"]+)['"]/);if(!_)continue;let B=_[1],j=U.slice(_[0].length),H=j.match(/^\s*,\s*/);if(!H)continue;let L=j.slice(H[0].length).trim();if(!L)continue;try{let F=L0(L,Z),O=JSON.stringify(F),V=`@component('${B}', ${O})`;Q.push({start:G,end:W,replacement:V})}catch{continue}}for(let G=Q.length-1;G>=0;G--){let{start:K,end:z,replacement:q}=Q[G];X=X.substring(0,K)+q+X.substring(z)}return X}function I4($,Z,Y){let X=$,J=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),Q;while((Q=J.exec(X))!==null){let G=Q.index,K=G+Q[0].length-1,z=1,q=K+1,U=null,W=!1;while(q<X.length&&z>0){let j=X[q];if(W){W=!1,q++;continue}if(j==="\\"&&U){W=!0,q++;continue}if(U){if(j===U)U=null;q++;continue}if(j==='"'||j==="'"||j==="`"){U=j,q++;continue}if(j==="(")z++;else if(j===")"){if(z--,z===0)break}q++}if(z!==0)break;let _=X.substring(K+1,q),B=Y(_);X=X.substring(0,G)+B+X.substring(q+1)}return X}function LW($,Z){let Y=$;return Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(X,J)=>{if(J in Z)return`:${J}="${J}"`;return X}),Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(X,J,Q)=>{try{let G=Object.keys(Z),K=Object.values(Z);T5(Q);let q=Z0(Q,G)(...K),U=JSON.stringify(q),W=Buffer.from(U,"utf8").toString("base64");return`__stx_${J}="${W}"`}catch(G){return X}}),Y}function FW($,Z){let Y=$;return Y=I4(Y,"@break",(X)=>{try{let Q=`!!(${X.trim()})`,G;if($0(Q)){let K=Z0(Q,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(e(Q,Z));return G?D4:""}catch{return""}}),Y=I4(Y,"@continue",(X)=>{try{let Q=`!!(${X.trim()})`,G;if($0(Q)){let K=Z0(Q,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(e(Q,Z));return G?E4:""}catch{return""}}),Y}function VW($){let Z=$;return Z=Z.replace(/@break(?!\()/g,D4),Z=Z.replace(/@continue(?!\()/g,E4),Z}function VY($){let Z=$.includes(D4),Y=Z?$.substring(0,$.indexOf(D4)):$;return{hasBreak:Z,content:Y}}function wY($){let Z=$.includes(E4),Y=Z?$.substring(0,$.indexOf(E4)):$;return{hasContinue:Z,content:Y}}function RY($){let Z=$;return Z=I4(Z,"@break",(Y)=>{let X=Y.trim();if(!M5(X))return"";return`\`; if (${X}) { break; } result += \``}),Z=I4(Z,"@continue",(Y)=>{let X=Y.trim();if(!M5(X))return"";return`\`; if (${X}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function wW($){let Z=/@forelse\s*\(/g,Y,X=[],J=/@foreach\s*\(/g,Q=/@endforeach/g,G;while((G=J.exec($))!==null)X.push({pos:G.index,delta:1});while((G=Q.exec($))!==null)X.push({pos:G.index,delta:-1});X.sort((U,W)=>U.pos-W.pos);let K=[],z=0;for(let U of X)z+=U.delta,K.push({pos:U.pos,depth:z});function q(U){let W=0,_=K.length-1,B=0;while(W<=_){let j=W+_>>1;if(K[j].pos<=U)B=K[j].depth,W=j+1;else _=j-1}return B}while((Y=Z.exec($))!==null){if(q(Y.index)>0)continue;let U=Y.index,W=Y.index+Y[0].length-1,_=1,B=W+1,j=-1;while(B<$.length&&_>0){if($[B]==="(")_++;else if($[B]===")"){if(_--,_===0){j=B;break}}B++}if(j===-1)continue;let H=$.substring(W+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,A=1,w=V,R=/@forelse\s*\(/g,N=/@endforelse/g,M=-1;while(A>0&&w<$.length){R.lastIndex=w,N.lastIndex=w;let S=R.exec($),b=N.exec($);if(!b)break;if(S&&S.index<b.index)A++,w=S.index+S[0].length;else{if(A--,A===0){M=b.index;break}w=b.index+11}}if(M===-1)continue;let T=$.substring(V,M),I=M+11,D=-1,E=0,k=0;while(k<T.length){let S=T.indexOf("@",k);if(S===-1)break;let b=T.substring(S);if(/^@forelse\s*\(/.test(b))E++,k=S+1;else if(b.startsWith("@endforelse"))E--,k=S+11;else if(E===0&&b.startsWith("@empty")){if(T.length<=S+6||!/[a-z]/i.test(T[S+6])){D=S;break}k=S+1}else k=S+1}if(D===-1)continue;return{start:U,end:I,arrayExpr:F,itemVar:O,foreachContent:T.substring(0,D),emptyContent:T.substring(D+6)}}return null}function AY($,Z){let Y=$;while(!0){let X=wW(Y);if(!X)break;let{start:J,end:Q,arrayExpr:G,itemVar:K,foreachContent:z,emptyContent:q}=X;try{let U;if($0(G))U=Z0(G,Object.keys(Z))(...Object.values(Z));else U=e(G,Z);let W;if(!Array.isArray(U)||U.length===0)W=q;else W=`@foreach (${G} as ${K})${z}@endforeach`;Y=Y.substring(0,J)+W+Y.substring(Q)}catch(U){let W=U instanceof Error?U.message:String(U),_=r("Forelse",`Error in @forelse(${G} as ${K}): ${W}`,c.EVALUATION_ERROR);Y=Y.substring(0,J)+_+Y.substring(Q)}}return Y}function S6($,Z,Y,X){let J=$;J=AY(J,Z);function Q(z){let q=/@foreach\s*\(/g,U;while((U=q.exec(z))!==null){let W=U.index,_=U.index+U[0].length-1,B=1,j=_+1,H=-1;while(j<z.length&&B>0){if(z[j]==="(")B++;else if(z[j]===")"){if(B--,B===0){H=j;break}}j++}if(H===-1)continue;let L=z.substring(_+1,H),F=L.indexOf(" as ");if(F===-1)continue;let O=W,V=L.substring(0,F),A=L.substring(F+4),w=H+1,R=1,N=w,M=/@foreach\s*\(/g,T=/@endforeach/g;while(R>0&&N<z.length){M.lastIndex=N,T.lastIndex=N;let I=M.exec(z),D=T.exec(z);if(!D)break;if(I&&I.index<D.index)R++,N=I.index+I[0].length;else{if(R--,R===0){let E=z.substring(w,D.index),k=D.index+11;return{start:O,end:k,arrayExpr:V,itemVar:A,content:E}}N=D.index+11}}}return null}function G(z,q){let U=z;while(!0){let W=Q(U);if(!W)break;let{start:_,end:B,arrayExpr:j,itemVar:H,content:L}=W;try{let F=j.trim(),O;if($0(F))O=Z0(F,Object.keys(q))(...Object.values(q));else O=e(F,q);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 D=r("Foreach",`Error in @foreach: ${F} is not iterable`,c.TYPE_ERROR);U=U.substring(0,_)+D+U.substring(B);continue}let A=X?.loops?.useAltLoopVariable??HW,w=H.trim(),R=null,N,M=!1;if(w.includes("=>")){let D=w.split("=>").map((E)=>E.trim());if(D.length===2&&D[0]&&D[1])R=D[0],N=D[1];else N=w}else if(!w.startsWith("[")&&!w.startsWith("{")&&w.includes(",")){let D=w.split(",").map((E)=>E.trim());if(D.length===2&&D[0]&&D[1])N=D[0],R=D[1],M=!0;else N=w}else N=w;let T="",I=O;for(let D=0;D<I.length;D++){let E=I[D],k={index:D,iteration:D+1,first:D===0,last:D===I.length-1,count:I.length},S={...q,loop:k,$loop:k};if(N.startsWith("[")&&N.endsWith("]")){let x=N.slice(1,-1).split(",").map((h)=>h.trim());if(Array.isArray(E))x.forEach((h,u)=>{if(h)S[h]=E[u]});else S[N]=E}else S[N]=E;if(R)if(!M&&V&&Array.isArray(E)&&E.length===2)S[R]=E[0],S[N]=E[1];else S[R]=D;let b=FW(L,S),y=wY(b);if(y.hasContinue){T+=y.content;continue}let m=VY(b);if(m.hasBreak){T+=m.content;break}if(b=AY(b,S),b=G(b,S),b=f1(b,S,Y),b=VW(b),m=VY(b),m.hasBreak){T+=m.content;break}if(y=wY(b),y.hasContinue){T+=y.content;continue}b=a0(b,S,Y),b=LW(b,S),b=OW(b,S),T+=b}U=U.substring(0,_)+T+U.substring(B)}catch(F){let O=r("Foreach",`Error in @foreach(${j.trim()} as ${H.trim()}): ${F instanceof Error?F.message:String(F)}`,c.EVALUATION_ERROR);U=U.substring(0,_)+O+U.substring(B)}}return U}J=G(J,Z),J=TY(J,Z,Y,X);let K=X?.loops?.maxWhileIterations??jW;return J=NW(J,Z,K),J}function NY($){return M5($)}function TY($,Z,Y,X){let J=$,Q=!0;while(Q){Q=!1;let G=J.match(/@for\s*\(/);if(!G||G.index===void 0)break;let K=G.index,z=K+G[0].length-1,q=w0(J,"(",")",z);if(q===-1)break;let U=J.slice(z+1,q),W=q+1,_=q4(J.slice(K),"for","endfor");if(_.length===0)break;let B=_[0].content,j=K+_[0].end;if(!NY(U)){let H=r("For",`Unsafe expression in @for: ${U}`,c.UNSAFE_EXPRESSION);J=J.substring(0,K)+H+J.substring(j),Q=!0;continue}try{let H=AW(U),L=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(H.length>0&&L){let R=RW({forExpr:U,content:B,iterVarNames:H,context:Z,filePath:Y,options:X});J=J.substring(0,K)+R+J.substring(j),Q=!0;continue}let F=Object.keys(Z),O=Object.values(Z),V=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(R,N)=>{return`\${${N}}`});V=RY(V);let w=Function(...F,`
4190
+ ${G}`,J++}return{functionCode:X,nextIndex:J}}function _Y($,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:{...o5.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 BW($,Z,Y){let X=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let Q of X){let[,,G,K]=Q;try{let z=K.trim().replace(/;$/,""),q=_Y(z,Z);if(q!==void 0)Z[G]=q}catch(z){console.warn(`Failed to parse export ${G} in fallback:`,z)}}let J=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let Q of J){let[,,G,K]=Q;if(!(G in Z))try{let z=K.trim().replace(/;$/,""),q=_Y(z,Z);if(q!==void 0)Z[G]=q}catch{}}}function LY($){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 FY($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var s5=P(()=>{d5();r1();R0()});var MY={};p(MY,{processLoops:()=>S6});function OW($,Z){let Y=/@component\s*\(/g,X=$,J,Q=[];while((J=Y.exec(X))!==null){let G=J.index,K=G+J[0].length-1,z=1,q=K+1;while(q<X.length&&z>0){if(X[q]==="(")z++;else if(X[q]===")"){if(z--,z===0)break}q++}if(z!==0)continue;let U=X.substring(K+1,q),W=q+1,_=U.match(/^\s*['"]([^'"]+)['"]/);if(!_)continue;let B=_[1],j=U.slice(_[0].length),H=j.match(/^\s*,\s*/);if(!H)continue;let L=j.slice(H[0].length).trim();if(!L)continue;try{let F=L0(L,Z),O=JSON.stringify(F),V=`@component('${B}', ${O})`;Q.push({start:G,end:W,replacement:V})}catch{continue}}for(let G=Q.length-1;G>=0;G--){let{start:K,end:z,replacement:q}=Q[G];X=X.substring(0,K)+q+X.substring(z)}return X}function I4($,Z,Y){let X=$,J=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),Q;while((Q=J.exec(X))!==null){let G=Q.index,K=G+Q[0].length-1,z=1,q=K+1,U=null,W=!1;while(q<X.length&&z>0){let j=X[q];if(W){W=!1,q++;continue}if(j==="\\"&&U){W=!0,q++;continue}if(U){if(j===U)U=null;q++;continue}if(j==='"'||j==="'"||j==="`"){U=j,q++;continue}if(j==="(")z++;else if(j===")"){if(z--,z===0)break}q++}if(z!==0)break;let _=X.substring(K+1,q),B=Y(_);X=X.substring(0,G)+B+X.substring(q+1)}return X}function LW($,Z){let Y=$;return Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(X,J)=>{if(J in Z)return`:${J}="${J}"`;return X}),Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(X,J,Q)=>{try{let G=Object.keys(Z),K=Object.values(Z);T5(Q);let q=Z0(Q,G)(...K),U=JSON.stringify(q),W=Buffer.from(U,"utf8").toString("base64");return`__stx_${J}="${W}"`}catch(G){return X}}),Y}function FW($,Z){let Y=$;return Y=I4(Y,"@break",(X)=>{try{let Q=`!!(${X.trim()})`,G;if($0(Q)){let K=Z0(Q,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(e(Q,Z));return G?D4:""}catch{return""}}),Y=I4(Y,"@continue",(X)=>{try{let Q=`!!(${X.trim()})`,G;if($0(Q)){let K=Z0(Q,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(e(Q,Z));return G?E4:""}catch{return""}}),Y}function VW($){let Z=$;return Z=Z.replace(/@break(?!\()/g,D4),Z=Z.replace(/@continue(?!\()/g,E4),Z}function VY($){let Z=$.includes(D4),Y=Z?$.substring(0,$.indexOf(D4)):$;return{hasBreak:Z,content:Y}}function wY($){let Z=$.includes(E4),Y=Z?$.substring(0,$.indexOf(E4)):$;return{hasContinue:Z,content:Y}}function RY($){let Z=$;return Z=I4(Z,"@break",(Y)=>{let X=Y.trim();if(!M5(X))return"";return`\`; if (${X}) { break; } result += \``}),Z=I4(Z,"@continue",(Y)=>{let X=Y.trim();if(!M5(X))return"";return`\`; if (${X}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function wW($){let Z=/@forelse\s*\(/g,Y,X=[],J=/@foreach\s*\(/g,Q=/@endforeach/g,G;while((G=J.exec($))!==null)X.push({pos:G.index,delta:1});while((G=Q.exec($))!==null)X.push({pos:G.index,delta:-1});X.sort((U,W)=>U.pos-W.pos);let K=[],z=0;for(let U of X)z+=U.delta,K.push({pos:U.pos,depth:z});function q(U){let W=0,_=K.length-1,B=0;while(W<=_){let j=W+_>>1;if(K[j].pos<=U)B=K[j].depth,W=j+1;else _=j-1}return B}while((Y=Z.exec($))!==null){if(q(Y.index)>0)continue;let U=Y.index,W=Y.index+Y[0].length-1,_=1,B=W+1,j=-1;while(B<$.length&&_>0){if($[B]==="(")_++;else if($[B]===")"){if(_--,_===0){j=B;break}}B++}if(j===-1)continue;let H=$.substring(W+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,A=1,w=V,R=/@forelse\s*\(/g,N=/@endforelse/g,M=-1;while(A>0&&w<$.length){R.lastIndex=w,N.lastIndex=w;let S=R.exec($),b=N.exec($);if(!b)break;if(S&&S.index<b.index)A++,w=S.index+S[0].length;else{if(A--,A===0){M=b.index;break}w=b.index+11}}if(M===-1)continue;let T=$.substring(V,M),I=M+11,D=-1,E=0,k=0;while(k<T.length){let S=T.indexOf("@",k);if(S===-1)break;let b=T.substring(S);if(/^@forelse\s*\(/.test(b))E++,k=S+1;else if(b.startsWith("@endforelse"))E--,k=S+11;else if(E===0&&b.startsWith("@empty")){if(T.length<=S+6||!/[a-z]/i.test(T[S+6])){D=S;break}k=S+1}else k=S+1}if(D===-1)continue;return{start:U,end:I,arrayExpr:F,itemVar:O,foreachContent:T.substring(0,D),emptyContent:T.substring(D+6)}}return null}function AY($,Z){let Y=$;while(!0){let X=wW(Y);if(!X)break;let{start:J,end:Q,arrayExpr:G,itemVar:K,foreachContent:z,emptyContent:q}=X;try{let U;if($0(G))U=Z0(G,Object.keys(Z))(...Object.values(Z));else U=e(G,Z);let W;if(!Array.isArray(U)||U.length===0)W=q;else W=`@foreach (${G} as ${K})${z}@endforeach`;Y=Y.substring(0,J)+W+Y.substring(Q)}catch(U){let W=U instanceof Error?U.message:String(U),_=r("Forelse",`Error in @forelse(${G} as ${K}): ${W}`,c.EVALUATION_ERROR);Y=Y.substring(0,J)+_+Y.substring(Q)}}return Y}function S6($,Z,Y,X){let J=$;J=AY(J,Z);function Q(z){let q=/@foreach\s*\(/g,U;while((U=q.exec(z))!==null){let W=U.index,_=U.index+U[0].length-1,B=1,j=_+1,H=-1;while(j<z.length&&B>0){if(z[j]==="(")B++;else if(z[j]===")"){if(B--,B===0){H=j;break}}j++}if(H===-1)continue;let L=z.substring(_+1,H),F=L.indexOf(" as ");if(F===-1)continue;let O=W,V=L.substring(0,F),A=L.substring(F+4),w=H+1,R=1,N=w,M=/@foreach\s*\(/g,T=/@endforeach/g;while(R>0&&N<z.length){M.lastIndex=N,T.lastIndex=N;let I=M.exec(z),D=T.exec(z);if(!D)break;if(I&&I.index<D.index)R++,N=I.index+I[0].length;else{if(R--,R===0){let E=z.substring(w,D.index),k=D.index+11;return{start:O,end:k,arrayExpr:V,itemVar:A,content:E}}N=D.index+11}}}return null}function G(z,q){let U=z;while(!0){let W=Q(U);if(!W)break;let{start:_,end:B,arrayExpr:j,itemVar:H,content:L}=W;try{let F=j.trim(),O;if($0(F))O=Z0(F,Object.keys(q))(...Object.values(q));else O=e(F,q);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 D=r("Foreach",`Error in @foreach: ${F} is not iterable`,c.TYPE_ERROR);U=U.substring(0,_)+D+U.substring(B);continue}let A=X?.loops?.useAltLoopVariable??HW,w=H.trim(),R=null,N,M=!1;if(w.includes("=>")){let D=w.split("=>").map((E)=>E.trim());if(D.length===2&&D[0]&&D[1])R=D[0],N=D[1];else N=w}else if(!w.startsWith("[")&&!w.startsWith("{")&&w.includes(",")){let D=w.split(",").map((E)=>E.trim());if(D.length===2&&D[0]&&D[1])N=D[0],R=D[1],M=!0;else N=w}else N=w;let T="",I=O;for(let D=0;D<I.length;D++){let E=I[D],k={index:D,iteration:D+1,first:D===0,last:D===I.length-1,count:I.length},S={...q,loop:k,$loop:k};if(N.startsWith("[")&&N.endsWith("]")){let f=N.slice(1,-1).split(",").map((h)=>h.trim());if(Array.isArray(E))f.forEach((h,u)=>{if(h)S[h]=E[u]});else S[N]=E}else S[N]=E;if(R)if(!M&&V&&Array.isArray(E)&&E.length===2)S[R]=E[0],S[N]=E[1];else S[R]=D;let b=FW(L,S),C=wY(b);if(C.hasContinue){T+=C.content;continue}let m=VY(b);if(m.hasBreak){T+=m.content;break}if(b=AY(b,S),b=G(b,S),b=f1(b,S,Y),b=VW(b),m=VY(b),m.hasBreak){T+=m.content;break}if(C=wY(b),C.hasContinue){T+=C.content;continue}b=a0(b,S,Y),b=LW(b,S),b=OW(b,S),T+=b}U=U.substring(0,_)+T+U.substring(B)}catch(F){let O=r("Foreach",`Error in @foreach(${j.trim()} as ${H.trim()}): ${F instanceof Error?F.message:String(F)}`,c.EVALUATION_ERROR);U=U.substring(0,_)+O+U.substring(B)}}return U}J=G(J,Z),J=TY(J,Z,Y,X);let K=X?.loops?.maxWhileIterations??jW;return J=NW(J,Z,K),J}function NY($){return M5($)}function TY($,Z,Y,X){let J=$,Q=!0;while(Q){Q=!1;let G=J.match(/@for\s*\(/);if(!G||G.index===void 0)break;let K=G.index,z=K+G[0].length-1,q=w0(J,"(",")",z);if(q===-1)break;let U=J.slice(z+1,q),W=q+1,_=q4(J.slice(K),"for","endfor");if(_.length===0)break;let B=_[0].content,j=K+_[0].end;if(!NY(U)){let H=r("For",`Unsafe expression in @for: ${U}`,c.UNSAFE_EXPRESSION);J=J.substring(0,K)+H+J.substring(j),Q=!0;continue}try{let H=AW(U),L=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(H.length>0&&L){let R=RW({forExpr:U,content:B,iterVarNames:H,context:Z,filePath:Y,options:X});J=J.substring(0,K)+R+J.substring(j),Q=!0;continue}let F=Object.keys(Z),O=Object.values(Z),V=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(R,N)=>{return`\${${N}}`});V=RY(V);let w=Function(...F,`
4191
4191
  let result = '';
4192
4192
  for (${U}) {
4193
4193
  result += \`${V}\`;
@@ -4209,7 +4209,7 @@ ${G}`,J++}return{functionCode:X,nextIndex:J}}function _Y($,Z){let Y=e($,Z)??e(`(
4209
4209
  result += '<!-- [While Error [1104]]: Maximum iterations (${Y}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
4210
4210
  }
4211
4211
  return result;
4212
- `)(...j);X=X.substring(0,G)+F+X.substring(_),J=!0}catch(B){let j=r("While",`Error in @while(${q}): ${B instanceof Error?B.message:String(B)}`,c.EVALUATION_ERROR);X=X.substring(0,G)+j+X.substring(_),J=!0}}return X}var jW=1000,HW=!1,D4="<!--__STX_BREAK__-->",E4="<!--__STX_CONTINUE__-->";var b6=C(()=>{W4();Q1();u0();U4();R0()});import q0 from"path";function y6($,Z){let Y=0;for(let X=Z;X<$.length;X++){let J=$[X];if(J==="("||J==="["||J==="{")Y++;else if(J===")"||J==="]"||J==="}")Y--;else if(J===","&&Y===0)return X}return-1}function TW($,Z,Y){let X=$,J=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),Q=J.exec(X);while(Q){let G=Q.index,K=G+Q[0].length-1,z=1,q=K+1;while(q<X.length&&z>0){if(X[q]==="(")z++;else if(X[q]===")")z--;q++}if(z!==0)break;let U=X.substring(K+1,q-1),W=`${Y}(${U})`;X=X.substring(0,G)+W+X.substring(q),J.lastIndex=G+W.length,Q=J.exec(X)}return X}function MW($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function IW($){let Z=$,Y=[],X=new Set,J=0,Q=0,G=Z.length,K=(W)=>{Q++;while(Q<G){if(Z[Q]==="\\"){Q+=2;continue}if(Z[Q]===W){Q++;return}Q++}},z=()=>{Q++;while(Q<G){if(Z[Q]==="\\"){Q+=2;continue}if(Z[Q]==="`"){Q++;return}if(Z[Q]==="$"&&Z[Q+1]==="{"){Q+=2;let W=1;while(Q<G&&W>0)if(Z[Q]==="{")W++,Q++;else if(Z[Q]==="}")W--,Q++;else if(Z[Q]==="'"||Z[Q]==='"')K(Z[Q]);else if(Z[Q]==="`")z();else Q++;continue}Q++}},q=()=>{if(Z[Q]==="/"&&Z[Q+1]==="/"){while(Q<G&&Z[Q]!==`
4212
+ `)(...j);X=X.substring(0,G)+F+X.substring(_),J=!0}catch(B){let j=r("While",`Error in @while(${q}): ${B instanceof Error?B.message:String(B)}`,c.EVALUATION_ERROR);X=X.substring(0,G)+j+X.substring(_),J=!0}}return X}var jW=1000,HW=!1,D4="<!--__STX_BREAK__-->",E4="<!--__STX_CONTINUE__-->";var b6=P(()=>{W4();Q1();u0();U4();R0()});import q0 from"path";function y6($,Z){let Y=0;for(let X=Z;X<$.length;X++){let J=$[X];if(J==="("||J==="["||J==="{")Y++;else if(J===")"||J==="]"||J==="}")Y--;else if(J===","&&Y===0)return X}return-1}function TW($,Z,Y){let X=$,J=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),Q=J.exec(X);while(Q){let G=Q.index,K=G+Q[0].length-1,z=1,q=K+1;while(q<X.length&&z>0){if(X[q]==="(")z++;else if(X[q]===")")z--;q++}if(z!==0)break;let U=X.substring(K+1,q-1),W=`${Y}(${U})`;X=X.substring(0,G)+W+X.substring(q),J.lastIndex=G+W.length,Q=J.exec(X)}return X}function MW($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function IW($){let Z=$,Y=[],X=new Set,J=0,Q=0,G=Z.length,K=(W)=>{Q++;while(Q<G){if(Z[Q]==="\\"){Q+=2;continue}if(Z[Q]===W){Q++;return}Q++}},z=()=>{Q++;while(Q<G){if(Z[Q]==="\\"){Q+=2;continue}if(Z[Q]==="`"){Q++;return}if(Z[Q]==="$"&&Z[Q+1]==="{"){Q+=2;let W=1;while(Q<G&&W>0)if(Z[Q]==="{")W++,Q++;else if(Z[Q]==="}")W--,Q++;else if(Z[Q]==="'"||Z[Q]==='"')K(Z[Q]);else if(Z[Q]==="`")z();else Q++;continue}Q++}},q=()=>{if(Z[Q]==="/"&&Z[Q+1]==="/"){while(Q<G&&Z[Q]!==`
4213
4213
  `)Q++;return!0}if(Z[Q]==="/"&&Z[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Z[Q]==="*"&&Z[Q+1]==="/"))Q++;return Q+=2,!0}return!1},U=()=>{if(J!==0)return;let W=Z.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(W){let j=W[2];if(!X.has(j))Y.push(j),X.add(j);return}let _=Z.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let j=_[1];if(!X.has(j))Y.push(j),X.add(j);return}let B=Z.slice(Q).match(/^async\s+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)}};while(Q<G){if(q())continue;if(Z[Q]==="'"||Z[Q]==='"'){K(Z[Q]);continue}if(Z[Q]==="`"){z();continue}if(Z[Q]==="{"){J++,Q++;continue}if(Z[Q]==="}"){J--,Q++;continue}if(J===0&&/[a-z]/i.test(Z[Q])&&(Q===0||/\s|[;{}()]/.test(Z[Q-1])))U();Q++}return Y.join(", ")}function EY($,Z=""){return`
4214
4214
  (function() {
4215
4215
  var { state, derived, effect, batch, onMount, onDestroy, defineStore, useStore, useFetch, useRef, useQuery, useMutation, useOptimistic, useDebounce, useDebouncedValue, useThrottle, useInterval, useTimeout, useToggle, useCounter, useClickOutside, useFocus, useAsync, useLocalStorage, useSessionStorage, useCookie, useReactiveProp, useEventListener, useWebSocket, useColorMode, useDark, useHead, useSeoMeta, definePageMeta, useRoute, useSearchParams, navigate, goBack, goForward, provide, ref, reactive, computed, watch, watchEffect, defineProps, withDefaults, defineEmits, defineExpose, defineSlots } = window.stx;
@@ -4244,20 +4244,20 @@ ${IW($).split(",").map((z)=>z.trim()).filter(Boolean).map((z)=>` try { __scopeR
4244
4244
  } finally {
4245
4245
  if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
4246
4246
  }
4247
- })();`}function EW($,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 J=(Y[2]+Y[3]).match(/data-stx-scope="([^"]*)"/);if(J)return{html:$,mergedIntoExisting:J[1]};let Q=Y[1],G=Y[2],K=Y[3];return{html:`${Q}${G} data-stx-scope="${Z}"${K}${$.slice(Y[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function LR(){kY.clear()}function kW($){if($.__onceStore instanceof Set)return $.__onceStore;return kY}async function C6($,Z,Y,X,J,Q=new Set){let G=X.partialsDir||q0.join(q0.dirname(Y),"partials");if(G&&!q0.isAbsolute(G))G=q0.resolve(process.cwd(),G);let K=TW($,"@partial","@include"),z=kW(Z);K=K.replace(/@once([\s\S]*?)@endonce/g,(j,H,L)=>{let F=H.trim(),O=`${Y}:${F}`;if(z.has(O))return"";return z.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 A=K.substring(F+1,V-1),w=A.match(/^\s*['"]([^'"]+)['"]/);if(!w){j.lastIndex=V;continue}let R=w[1],N=q(R,G,Y),M="";if(N&&await Bun.file(N).exists())J.add(N),M=`@include(${A})`;K=K.substring(0,L)+M+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,A=1,w=V+1;while(w<K.length&&A>0){if(K[w]==="(")A++;else if(K[w]===")")A--;w++}if(A!==0)break;let R=K.substring(V+1,w-1),N=y6(R,0);if(N===-1){L.lastIndex=w;continue}let M=R.substring(0,N).trim(),T=R.substring(N+1).trim(),I=T.match(/^\s*['"]([^'"]+)['"]/);if(!I){L.lastIndex=w;continue}let D=I[1],E=T.substring(I[0].length),k,S=y6(E,0);if(S!==-1)k=E.substring(S+1).trim();try{let b=`Boolean(${M})`,y;if($0(b)){let h=Z0(b,Object.keys(Z));y=Boolean(h(...Object.values(Z)))}else y=Boolean(e(b,Z));let m=H?!y:y,x="";if(m){let h=q(D,G,Y);if(h&&await Bun.file(h).exists())J.add(h);x=`@include('${D}'${k?`, ${k}`:""})`}K=K.substring(0,O)+x+K.substring(w),L.lastIndex=0}catch(b){let y=b instanceof Error?b.message:String(b),m=J0("Include",`Error evaluating ${j} condition: ${y}`,Y,$,O);K=K.substring(0,O)+m+K.substring(w),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 A=K.substring(F+1,V),w=K.substring(L,V+1),R=A.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!R){j.lastIndex=0,K=K.replace(w,"");continue}let[,N,M,T,I]=R;try{let D,E=M.trim();if($0(E))D=Z0(E,Object.keys(Z))(...Object.values(Z));else D=e(E,Z);let k="";if(Array.isArray(D)&&D.length>0)for(let S of D){let b={...Z,[T]:S},y=await W(N,b,$,L);k+=y}else if(I)k=await W(I,{},$,L);K=K.substring(0,L)+k+K.substring(V+1),j.lastIndex=0}catch(D){let E=D instanceof Error?D.message:String(D);K=K.substring(0,L)+J0("Each",`Error in @each: ${E}`,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 A=K.substring(F+1,V),w=K.substring(L,V+1),R=A.match(/^\s*(\[[^\]]+\])/);if(!R){j.lastIndex=0,K=K.replace(w,"");continue}let N=R[1],M=A.slice(R[0].length),T,I=M.match(/^\s*,\s*\{/);if(I){M=M.slice(I[0].length-1);let k=1,S=1;while(S<M.length&&k>0){if(M[S]==="{")k++;else if(M[S]==="}"){if(k--,k===0)break}S++}T=M.substring(0,S+1),M=M.slice(S+1)}let D,E=M.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(E)D=E[1];try{let k=JSON.parse(N.replace(/'/g,'"')),S={};if(T)try{S=L0(T,Z)}catch(y){let m=y instanceof Error?y.message:String(y);if(X.debug){let x=J0("Include",`Error parsing includeFirst variables: ${m}`,Y,$,L,w);K=K.replace(w,()=>x)}else K=K.replace(w,()=>D||"");continue}let b=!1;for(let y of k){let m=q(y,G,Y);if(!m)continue;if(await n(m)){let x=await W(y,S,$,L);K=K.replace(w,()=>x),b=!0;break}}if(!b)if(D!==void 0)K=K.replace(w,()=>D);else if(X.debug){let y=J0("Include",`None of the includeFirst paths exist: ${N}`,Y,$,L,w);K=K.replace(w,()=>y)}else K=K.replace(w,"")}catch(k){let S=k instanceof Error?k.message:String(k),b=J0("Include",`Error processing @includeFirst: ${S}`,Y,$,L,w);K=K.replace(w,()=>b)}j.lastIndex=0}}function q(j,H,L){try{let F=j;if(!j.endsWith(".stx"))F=`${j}.stx`;let O=q0.resolve(H),V=q0.resolve(q0.dirname(L)),A;if(!F.startsWith("./")&&!F.startsWith("../"))A=q0.resolve(H,F);else A=q0.resolve(V,F);let w=q0.normalize(A),R=w.startsWith(O+q0.sep)||w===O,N=w.startsWith(V+q0.sep)||w===V,M=!1,T=q0.dirname(V);if(w.startsWith(T+q0.sep)){if(!q0.relative(T,w).split(q0.sep).some((k)=>k.startsWith(".")&&k!=="."&&k!==".."))M=!0}if(!R&&!N&&!M)return console.error(`Security: Path traversal attempt blocked for include path: ${j}`),console.error(` Resolved to: ${w}`),console.error(` Allowed dirs: ${O}, ${V}`),null;return w}catch(F){return console.error(`Error resolving path ${j}: ${F}`),null}}let U=q0.resolve(Y);Q.add(U);async function W(j,H={},L,F){let O=q(j,G,Y);if(!O)return J0("Include",`Could not resolve path for include: ${j}`,Y,L,F);let V=q0.resolve(O);if(Q.has(V)){let A=[...Q,V].map((w)=>q0.basename(w)).join(" -> ");return J0("Include",`Circular include detected: ${A}`,Y,L,F)}try{J.add(O);let A;if(!A)try{A=await Bun.file(O).text()}catch(x){let h=x instanceof Error?x.message:String(x);return J0("Include",`Error loading include file ${j}: ${h}`,Y,L,F)}if(A&&A.includes("@stream")){let{processStreamDirectives:x}=await Promise.resolve().then(() => (r3(),s3));A=x(A,Z)}if(A&&(X.debug||!P5()&&!c$()))try{let{warnUnbalancedTags:x}=await Promise.resolve().then(() => (t3(),d2));x(A,O)}catch{}let w=A;try{let{processESImports:x}=await Promise.resolve().then(() => (D6(),KY));await x(A,Z,O,X,J)}catch(x){if(X.debug)console.warn(`[stx] partial ES import extraction skipped for ${O}:`,x instanceof Error?x.message:x)}let R=w.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(R)w=R[1].trim();let M=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),T="";if(M)T=`<style${M[1]}>${M[2]}</style>`;w=w.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),w=w.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let I={...Z};for(let[x,h]of Object.entries(H))I[x]=h;let D=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,E=[...A.matchAll(D)],k="",S=null;for(let x of E){let h=x[1]||"",u=x[2]||"",Q0=h.includes("server"),E0=l1(h),H0="";try{let{extractAndStripCssImports:X0,renderVendorStyleTags:A0}=await Promise.resolve().then(() => (r5(),DY)),W0=X0(u,{filePath:O,projectRoot:process.cwd()});u=W0.code,H0=A0(W0.styles)}catch(X0){if(X.debug)console.warn(`[stx] vendor-css extractor skipped for ${O}:`,X0 instanceof Error?X0.message:X0)}if(E0&&u.trim())u=p1(u);if(!Q0)try{let{hasUserImports:X0,bundleClientScript:A0}=await Promise.resolve().then(() => (j$(),B$));if(X0(u))u=await A0(u,O,{projectRoot:process.cwd()})}catch(X0){if(X.debug)console.warn(`[stx] bundler skipped for ${O}:`,X0 instanceof Error?X0.message:X0)}let k0=MW(u);if(k0&&!Q0){S=`stx_scope_${q0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++IY}`;let X0=J1(u),A0=DW(X0,S);k+=`${H0}<script data-stx-scoped>${A0}</script>
4248
- `;continue}if(Q0)try{let{extractVariables:X0}=await Promise.resolve().then(() => (s5(),M4));await X0(u,I,O)}catch(X0){if(X.debug)console.warn(`Warning: Could not extract variables from server script in ${O}:`,X0)}if(!Q0&&!k0){let X0=h.replace(/\bclient\b/i,"").trim();S=`stx_scope_${q0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++IY}`;let A0=J1(u),W0=`
4247
+ })();`}function EW($,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 J=(Y[2]+Y[3]).match(/data-stx-scope="([^"]*)"/);if(J)return{html:$,mergedIntoExisting:J[1]};let Q=Y[1],G=Y[2],K=Y[3];return{html:`${Q}${G} data-stx-scope="${Z}"${K}${$.slice(Y[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function LR(){kY.clear()}function kW($){if($.__onceStore instanceof Set)return $.__onceStore;return kY}async function C6($,Z,Y,X,J,Q=new Set){let G=X.partialsDir||q0.join(q0.dirname(Y),"partials");if(G&&!q0.isAbsolute(G))G=q0.resolve(process.cwd(),G);let K=TW($,"@partial","@include"),z=kW(Z);K=K.replace(/@once([\s\S]*?)@endonce/g,(j,H,L)=>{let F=H.trim(),O=`${Y}:${F}`;if(z.has(O))return"";return z.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 A=K.substring(F+1,V-1),w=A.match(/^\s*['"]([^'"]+)['"]/);if(!w){j.lastIndex=V;continue}let R=w[1],N=q(R,G,Y),M="";if(N&&await Bun.file(N).exists())J.add(N),M=`@include(${A})`;K=K.substring(0,L)+M+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,A=1,w=V+1;while(w<K.length&&A>0){if(K[w]==="(")A++;else if(K[w]===")")A--;w++}if(A!==0)break;let R=K.substring(V+1,w-1),N=y6(R,0);if(N===-1){L.lastIndex=w;continue}let M=R.substring(0,N).trim(),T=R.substring(N+1).trim(),I=T.match(/^\s*['"]([^'"]+)['"]/);if(!I){L.lastIndex=w;continue}let D=I[1],E=T.substring(I[0].length),k,S=y6(E,0);if(S!==-1)k=E.substring(S+1).trim();try{let b=`Boolean(${M})`,C;if($0(b)){let h=Z0(b,Object.keys(Z));C=Boolean(h(...Object.values(Z)))}else C=Boolean(e(b,Z));let m=H?!C:C,f="";if(m){let h=q(D,G,Y);if(h&&await Bun.file(h).exists())J.add(h);f=`@include('${D}'${k?`, ${k}`:""})`}K=K.substring(0,O)+f+K.substring(w),L.lastIndex=0}catch(b){let C=b instanceof Error?b.message:String(b),m=J0("Include",`Error evaluating ${j} condition: ${C}`,Y,$,O);K=K.substring(0,O)+m+K.substring(w),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 A=K.substring(F+1,V),w=K.substring(L,V+1),R=A.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!R){j.lastIndex=0,K=K.replace(w,"");continue}let[,N,M,T,I]=R;try{let D,E=M.trim();if($0(E))D=Z0(E,Object.keys(Z))(...Object.values(Z));else D=e(E,Z);let k="";if(Array.isArray(D)&&D.length>0)for(let S of D){let b={...Z,[T]:S},C=await W(N,b,$,L);k+=C}else if(I)k=await W(I,{},$,L);K=K.substring(0,L)+k+K.substring(V+1),j.lastIndex=0}catch(D){let E=D instanceof Error?D.message:String(D);K=K.substring(0,L)+J0("Each",`Error in @each: ${E}`,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 A=K.substring(F+1,V),w=K.substring(L,V+1),R=A.match(/^\s*(\[[^\]]+\])/);if(!R){j.lastIndex=0,K=K.replace(w,"");continue}let N=R[1],M=A.slice(R[0].length),T,I=M.match(/^\s*,\s*\{/);if(I){M=M.slice(I[0].length-1);let k=1,S=1;while(S<M.length&&k>0){if(M[S]==="{")k++;else if(M[S]==="}"){if(k--,k===0)break}S++}T=M.substring(0,S+1),M=M.slice(S+1)}let D,E=M.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(E)D=E[1];try{let k=JSON.parse(N.replace(/'/g,'"')),S={};if(T)try{S=L0(T,Z)}catch(C){let m=C instanceof Error?C.message:String(C);if(X.debug){let f=J0("Include",`Error parsing includeFirst variables: ${m}`,Y,$,L,w);K=K.replace(w,()=>f)}else K=K.replace(w,()=>D||"");continue}let b=!1;for(let C of k){let m=q(C,G,Y);if(!m)continue;if(await n(m)){let f=await W(C,S,$,L);K=K.replace(w,()=>f),b=!0;break}}if(!b)if(D!==void 0)K=K.replace(w,()=>D);else if(X.debug){let C=J0("Include",`None of the includeFirst paths exist: ${N}`,Y,$,L,w);K=K.replace(w,()=>C)}else K=K.replace(w,"")}catch(k){let S=k instanceof Error?k.message:String(k),b=J0("Include",`Error processing @includeFirst: ${S}`,Y,$,L,w);K=K.replace(w,()=>b)}j.lastIndex=0}}function q(j,H,L){try{let F=j;if(!j.endsWith(".stx"))F=`${j}.stx`;let O=q0.resolve(H),V=q0.resolve(q0.dirname(L)),A;if(!F.startsWith("./")&&!F.startsWith("../"))A=q0.resolve(H,F);else A=q0.resolve(V,F);let w=q0.normalize(A),R=w.startsWith(O+q0.sep)||w===O,N=w.startsWith(V+q0.sep)||w===V,M=!1,T=q0.dirname(V);if(w.startsWith(T+q0.sep)){if(!q0.relative(T,w).split(q0.sep).some((k)=>k.startsWith(".")&&k!=="."&&k!==".."))M=!0}if(!R&&!N&&!M)return console.error(`Security: Path traversal attempt blocked for include path: ${j}`),console.error(` Resolved to: ${w}`),console.error(` Allowed dirs: ${O}, ${V}`),null;return w}catch(F){return console.error(`Error resolving path ${j}: ${F}`),null}}let U=q0.resolve(Y);Q.add(U);async function W(j,H={},L,F){let O=q(j,G,Y);if(!O)return J0("Include",`Could not resolve path for include: ${j}`,Y,L,F);let V=q0.resolve(O);if(Q.has(V)){let A=[...Q,V].map((w)=>q0.basename(w)).join(" -> ");return J0("Include",`Circular include detected: ${A}`,Y,L,F)}try{J.add(O);let A;if(!A)try{A=await Bun.file(O).text()}catch(f){let h=f instanceof Error?f.message:String(f);return J0("Include",`Error loading include file ${j}: ${h}`,Y,L,F)}if(A&&A.includes("@stream")){let{processStreamDirectives:f}=await Promise.resolve().then(() => (r3(),s3));A=f(A,Z)}if(A&&(X.debug||!P5()&&!c$()))try{let{warnUnbalancedTags:f}=await Promise.resolve().then(() => (t3(),d2));f(A,O)}catch{}let w=A;try{let{processESImports:f}=await Promise.resolve().then(() => (D6(),KY));await f(A,Z,O,X,J)}catch(f){if(X.debug)console.warn(`[stx] partial ES import extraction skipped for ${O}:`,f instanceof Error?f.message:f)}let R=w.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(R)w=R[1].trim();let M=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),T="";if(M)T=`<style${M[1]}>${M[2]}</style>`;w=w.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),w=w.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let I={...Z};for(let[f,h]of Object.entries(H))I[f]=h;let D=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,E=[...A.matchAll(D)],k="",S=null;for(let f of E){let h=f[1]||"",u=f[2]||"",Q0=h.includes("server"),k0=l1(h),H0="";try{let{extractAndStripCssImports:X0,renderVendorStyleTags:A0}=await Promise.resolve().then(() => (r5(),DY)),W0=X0(u,{filePath:O,projectRoot:process.cwd()});u=W0.code,H0=A0(W0.styles)}catch(X0){if(X.debug)console.warn(`[stx] vendor-css extractor skipped for ${O}:`,X0 instanceof Error?X0.message:X0)}if(k0&&u.trim())u=p1(u);if(!Q0)try{let{hasUserImports:X0,bundleClientScript:A0}=await Promise.resolve().then(() => (j$(),B$));if(X0(u))u=await A0(u,O,{projectRoot:process.cwd()})}catch(X0){if(X.debug)console.warn(`[stx] bundler skipped for ${O}:`,X0 instanceof Error?X0.message:X0)}let S0=MW(u);if(S0&&!Q0){S=`stx_scope_${q0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++IY}`;let X0=J1(u),A0=DW(X0,S);k+=`${H0}<script data-stx-scoped>${A0}</script>
4248
+ `;continue}if(Q0)try{let{extractVariables:X0}=await Promise.resolve().then(() => (s5(),M4));await X0(u,I,O)}catch(X0){if(X.debug)console.warn(`Warning: Could not extract variables from server script in ${O}:`,X0)}if(!Q0&&!S0){let X0=h.replace(/\bclient\b/i,"").trim();S=`stx_scope_${q0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++IY}`;let A0=J1(u),W0=`
4249
4249
  if (!window.stx._scopes) window.stx._scopes = {};
4250
4250
  window.stx._scopes['${S}'] = { __destroyCallbacks: __destroyHooks };
4251
- `,P=EY(A0,W0);k+=`${H0}<script data-stx-scoped${X0?` ${X0}`:""}>${P}</script>
4252
- `}}if(S){let x=EW(w,S);if(w=x.html,x.mergedIntoExisting)k=k.replace(`window.stx._scopes['${S}']`,`window.stx._scopes['${x.mergedIntoExisting}']`),S=x.mergedIntoExisting}if(w.includes("@include")||w.includes("@partial"))w=await C6(w,I,O,X,J,Q);let{processLoops:b}=await Promise.resolve().then(() => (b6(),MY)),y=b(w,I,O);y=f1(y,I,O);let m=t1(A);if(y=a0(y,I,O,{forceSignals:m}),T)y+=`
4253
- `+T;if(k)y+=`
4254
- `+k;return y}catch(A){let w=A instanceof Error?A.message:String(A);return J0("Include",`Error processing include ${j}: ${w}`,Y,L,F)}}let _=/@include\s*\(/g,B;while((B=_.exec(K))!==null){let j=B.index,H=j+B[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),A=V.match(/^\s*['"]([^'"]+)['"]/);if(!A){_.lastIndex=F;continue}let w=A[1],R,N=V.substring(A[0].length),M=y6(N,0);if(M!==-1)R=N.substring(M+1).trim();let T={};if(R)try{T=L0(R,Z)}catch(D){let E=D instanceof Error?D.message:String(D);K=K.replace(O,J0("Include",`Error parsing include variables for ${w}: ${E}`,Y,$,j)),_.lastIndex=0;continue}let I=await W(w,T,$,j);K=K.substring(0,j)+I+K.substring(F),_.lastIndex=0}return K}function P6($,Z){let Y=$;function X(J,Q,G,K){let z=J,q=!0;while(q){q=!1;let U=new RegExp(`@${Q}\\(['"]([^'"]+)['"]\\)`),W=z.match(U);if(!W||W.index===void 0)break;let _=W.index,B=W[1],j=_+W[0].length,H=new RegExp(`@${Q}\\(`),L=new RegExp(`@${G}(?![a-z])`),F=1,O=j,V=-1;while(F>0&&O<z.length){let w=z.slice(O),R=w.match(H),N=w.match(L),M=R?O+R.index:1/0,T=N?O+N.index:1/0;if(M<T)F++,O=M+(R[0].length||1);else if(T<1/0){if(F--,F===0){V=T;break}O=T+G.length+1}else break}if(V===-1)break;let A=z.slice(j,V);if(!Z[B])Z[B]=[];if(K)Z[B].unshift(A);else Z[B].push(A);z=z.substring(0,_)+z.substring(V+`@${G}`.length),q=!0}return z}return Y=X(Y,"push","endpush",!1),Y=X(Y,"prepend","endprepend",!0),Y}function v6($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Y,X)=>{if(!Z[X]||Z[X].length===0)return"";return Z[X].join(`
4255
- `)})}var IY=0,OR,kY;var SY=C(()=>{W4();u0();e1();R0();F0();OR=new k5(500),kY=new Set});import*as x6 from"path";async function bY($,Z,Y=""){if(x6.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 CY($,Z,Y,"@js","@endjs")}async function yY($,Z,Y=""){if(x6.basename(Y)==="ts-directive.stx"){if(Z.users&&Array.isArray(Z.users))Z.processedUsers=Z.users.map((Q)=>({...Q,displayName:`User ${Q.id}: ${Q.name}`})),Z.processedOutput=JSON.stringify(Z.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return CY($,Z,Y,"@ts","@endts")}async function CY($,Z,Y,X,J){let Q=$,G=k1(`${X}([\\s\\S]*?)${J}`,"g"),K=[],z;while((z=G.exec($))!==null)K.push({fullMatch:z[0],content:z[1]||"",index:z.index});for(let{fullMatch:q,content:U,index:W}of K)try{let _=Object.keys(Z),B=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((w)=>w.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),F=L.length>0?`return { ${L.join(", ")} };`:"return {};",O=`
4251
+ `,y=EY(A0,W0);k+=`${H0}<script data-stx-scoped${X0?` ${X0}`:""}>${y}</script>
4252
+ `}}if(S){let f=EW(w,S);if(w=f.html,f.mergedIntoExisting)k=k.replace(`window.stx._scopes['${S}']`,`window.stx._scopes['${f.mergedIntoExisting}']`),S=f.mergedIntoExisting}if(w.includes("@include")||w.includes("@partial"))w=await C6(w,I,O,X,J,Q);let{processLoops:b}=await Promise.resolve().then(() => (b6(),MY)),C=b(w,I,O);C=f1(C,I,O);let m=t1(A);if(C=a0(C,I,O,{forceSignals:m}),T)C+=`
4253
+ `+T;if(k)C+=`
4254
+ `+k;return C}catch(A){let w=A instanceof Error?A.message:String(A);return J0("Include",`Error processing include ${j}: ${w}`,Y,L,F)}}let _=/@include\s*\(/g,B;while((B=_.exec(K))!==null){let j=B.index,H=j+B[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),A=V.match(/^\s*['"]([^'"]+)['"]/);if(!A){_.lastIndex=F;continue}let w=A[1],R,N=V.substring(A[0].length),M=y6(N,0);if(M!==-1)R=N.substring(M+1).trim();let T={};if(R)try{T=L0(R,Z)}catch(D){let E=D instanceof Error?D.message:String(D);K=K.replace(O,J0("Include",`Error parsing include variables for ${w}: ${E}`,Y,$,j)),_.lastIndex=0;continue}let I=await W(w,T,$,j);K=K.substring(0,j)+I+K.substring(F),_.lastIndex=0}return K}function P6($,Z){let Y=$;function X(J,Q,G,K){let z=J,q=!0;while(q){q=!1;let U=new RegExp(`@${Q}\\(['"]([^'"]+)['"]\\)`),W=z.match(U);if(!W||W.index===void 0)break;let _=W.index,B=W[1],j=_+W[0].length,H=new RegExp(`@${Q}\\(`),L=new RegExp(`@${G}(?![a-z])`),F=1,O=j,V=-1;while(F>0&&O<z.length){let w=z.slice(O),R=w.match(H),N=w.match(L),M=R?O+R.index:1/0,T=N?O+N.index:1/0;if(M<T)F++,O=M+(R[0].length||1);else if(T<1/0){if(F--,F===0){V=T;break}O=T+G.length+1}else break}if(V===-1)break;let A=z.slice(j,V);if(!Z[B])Z[B]=[];if(K)Z[B].unshift(A);else Z[B].push(A);z=z.substring(0,_)+z.substring(V+`@${G}`.length),q=!0}return z}return Y=X(Y,"push","endpush",!1),Y=X(Y,"prepend","endprepend",!0),Y}function v6($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Y,X)=>{if(!Z[X]||Z[X].length===0)return"";return Z[X].join(`
4255
+ `)})}var IY=0,OR,kY;var SY=P(()=>{W4();u0();e1();R0();F0();OR=new k5(500),kY=new Set});import*as x6 from"path";async function bY($,Z,Y=""){if(x6.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 CY($,Z,Y,"@js","@endjs")}async function yY($,Z,Y=""){if(x6.basename(Y)==="ts-directive.stx"){if(Z.users&&Array.isArray(Z.users))Z.processedUsers=Z.users.map((Q)=>({...Q,displayName:`User ${Q.id}: ${Q.name}`})),Z.processedOutput=JSON.stringify(Z.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return CY($,Z,Y,"@ts","@endts")}async function CY($,Z,Y,X,J){let Q=$,G=k1(`${X}([\\s\\S]*?)${J}`,"g"),K=[],z;while((z=G.exec($))!==null)K.push({fullMatch:z[0],content:z[1]||"",index:z.index});for(let{fullMatch:q,content:U,index:W}of K)try{let _=Object.keys(Z),B=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((w)=>w.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),F=L.length>0?`return { ${L.join(", ")} };`:"return {};",O=`
4256
4256
  ${j}
4257
4257
  ${F}
4258
- `,A=Function(..._,O)(...B);if(A&&typeof A==="object")Object.assign(Z,A);Q=Q.replace(q,"")}catch(_){console.error(`Error executing ${X} code block in ${Y}:`,_);let B=_ instanceof Error?_.message:String(_),j=J0(`${X} Directive`,`Error executing code: ${B}`,Y,$,W,q);console.error(j),Q=Q.replace(q,"")}return Q}var PY=C(()=>{e1();F0()});function SW($,Z="_method"){let Y=$.toUpperCase();if(Y==="GET"||Y==="POST")return"";return`<input type="hidden" name="${Z}" value="${Y}">`}function vY($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,Y,X,J,Q)=>{return SW(X,Q||"_method")})}function RR($,Z="_method"){if($&&typeof $[Z]==="string")return $[Z].toUpperCase();return null}async function xY($,Z,Y,X,J){if(!X.middleware||X.middleware.length===0)return $;let Q=$,G=X.middleware.filter((K)=>K.timing===J);if(G.length===0)return Q;for(let K of G){if(!K.name||typeof K.handler!=="function"){if(X.debug)console.warn("Invalid middleware:",K);continue}try{let z=await K.handler(Q,Z,Y,X);if(typeof z==="string")Q=z;else if(X.debug)console.warn(`Middleware ${K.name} did not return a string`)}catch(z){if(X.debug)console.error(`Error in middleware ${K.name}:`,z);if(X.debug){let q=J0("Middleware",`Error in middleware '${K.name}': ${z instanceof Error?z.message:String(z)}`,Y,$);Q=Q.replace(/<body[^>]*>/,`$&
4258
+ `,A=Function(..._,O)(...B);if(A&&typeof A==="object")Object.assign(Z,A);Q=Q.replace(q,"")}catch(_){console.error(`Error executing ${X} code block in ${Y}:`,_);let B=_ instanceof Error?_.message:String(_),j=J0(`${X} Directive`,`Error executing code: ${B}`,Y,$,W,q);console.error(j),Q=Q.replace(q,"")}return Q}var PY=P(()=>{e1();F0()});function SW($,Z="_method"){let Y=$.toUpperCase();if(Y==="GET"||Y==="POST")return"";return`<input type="hidden" name="${Z}" value="${Y}">`}function vY($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,Y,X,J,Q)=>{return SW(X,Q||"_method")})}function RR($,Z="_method"){if($&&typeof $[Z]==="string")return $[Z].toUpperCase();return null}async function xY($,Z,Y,X,J){if(!X.middleware||X.middleware.length===0)return $;let Q=$,G=X.middleware.filter((K)=>K.timing===J);if(G.length===0)return Q;for(let K of G){if(!K.name||typeof K.handler!=="function"){if(X.debug)console.warn("Invalid middleware:",K);continue}try{let z=await K.handler(Q,Z,Y,X);if(typeof z==="string")Q=z;else if(X.debug)console.warn(`Middleware ${K.name} did not return a string`)}catch(z){if(X.debug)console.error(`Error in middleware ${K.name}:`,z);if(X.debug){let q=J0("Middleware",`Error in middleware '${K.name}': ${z instanceof Error?z.message:String(z)}`,Y,$);Q=Q.replace(/<body[^>]*>/,`$&
4259
4259
  <div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${m0(q)}</div>
4260
- `)}}}return Q}async function fY($,Z,Y,X){return xY($,Z,Y,X,"before")}async function gY($,Z,Y,X){return xY($,Z,Y,X,"after")}var hY=C(()=>{u0();F0()});import{defineRoute as bR,defineRoutes as yR,resetRoutes as CR,route as PR,setAppUrl as vR}from"stx-router";import{route as bW}from"stx-router";function dY($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,Y,X,J,Q)=>{try{let G=J?L0(J,{}):{};return bW(X,G,Q==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var mY=C(()=>{R0()});function xR($,Z){if(!o0.exact[$])o0.exact[$]=[];o0.exact[$].push(Z)}function fR($,Z){let Y=typeof $==="string"?new RegExp($):$;o0.patterns.push({pattern:Y,callback:Z})}async function uY($,Z){let Y=$.split("/").pop()?.split(".")[0]||"";if(o0.exact[$])for(let X of o0.exact[$])await Promise.resolve(X(Z,$));if(o0.exact[Y])for(let X of o0.exact[Y])await Promise.resolve(X(Z,$));for(let{pattern:X,callback:J}of o0.patterns)if(X.test($)||X.test(Y))await Promise.resolve(J(Z,$))}function gR(){o0.patterns=[],o0.exact={}}var o0;var lY=C(()=>{o0={patterns:[],exact:{}}});function pY($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>pY(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function cY($,Z){if(!/:[\w-]+=/.test($))return $;let Y=$,X=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,J=[],Q;while((Q=X.exec($))!==null)J.push([Q.index,Q.index+Q[0].length]);function G(q){return J.some(([U,W])=>q>=U&&q<W)}let K=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*'))*)\s*\/?>/g,z=[];while((Q=K.exec(Y))!==null){if(G(Q.index))continue;let q=Q[0],U=Q[2];if(!U||!U.includes(":"))continue;let W=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,_,B=U,j=!1;while((_=W.exec(U))!==null){let H=_[1],L=_[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 w=Function(...F,`return (${L})`)(...O);if(H==="class"){let R=pY(w);if(R){let N=B.match(/\sclass="([^"]*)"/);if(N)B=B.replace(N[0],` class="${N[1]} ${R}"`);else B=B.replace(_[0],` class="${R}"`)}else B=B.replace(_[0],"");j=!0;continue}if(yW.has(H)){if(w)B=B.replace(_[0],` ${H}`);else B=B.replace(_[0],"");j=!0;continue}if(w===null||w===void 0||w===!1)B=B.replace(_[0],"");else{let R=String(w).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");B=B.replace(_[0],` ${H}="${R}"`)}j=!0}catch{continue}}if(j){let H=q.endsWith("/>")?" /":"",F=`<${Q[1]}${B}${H}>`;z.push({start:Q.index,end:Q.index+q.length,replacement:F})}}for(let q=z.length-1;q>=0;q--){let{start:U,end:W,replacement:_}=z[q];Y=Y.slice(0,U)+_+Y.slice(W)}return Y}var yW;var iY=C(()=>{yW=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function c1($,Z){let Y=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Y.lastIndex=Z;let X=Y.exec($);if(!X)return null;return{full:X[0],tag:X[1],attrs:X[2],selfClosing:X[3].includes("/")||CW.has(X[1].toLowerCase()),start:X.index,end:X.index+X[0].length}}function vW($,Z,Y){let X=1,J=Y,Q=new RegExp(`<${Z}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),G=new RegExp(`</${Z}\\s*>`,"gi");while(X>0&&J<$.length){Q.lastIndex=J,G.lastIndex=J;let K=Q.exec($),z=G.exec($);if(!z)return-1;if(K&&K.index<z.index)X++,J=K.index+K[0].length;else{if(X--,X===0)return z.index+z[0].length;J=z.index+z[0].length}}return-1}function $1($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let Y=vW($,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 nY($,Z){return new RegExp(`(?:^|\\s)${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${Z}=`)||$.includes(` ${Z} `)||$.trimEnd().endsWith(` ${Z}`)}function O5($,Z){let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),X=$.match(new RegExp(`${Y}="([^"]*)"`,"s"))||$.match(new RegExp(`${Y}='([^']*)'`,"s"));return X?X[1]:null}function A1($,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 R1($,Z,Y){let X=Z.selfClosing?" /":"",J=`<${Z.tag}${Y}${X}>`;return $.slice(0,Z.start)+J+$.slice(Z.end)}function xW($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function fW($){let Z=$,Y=0;while(Y<Z.length){let X=c1(Z,Y);if(!X)break;let J=O5(X.attrs,"v-for");if(J===null){Y=X.end;continue}let Q=J.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!Q){Y=X.end;continue}let G=Q[1].trim(),K=Q[2].trim(),z;if(G.includes(",")){let L=G.split(",").map((V)=>V.trim()),F=L[0],O=L[1];z=`${K} as ${O} => ${F}`}else z=`${K} as ${G}`;let q=A1(X.attrs,"v-for"),U=A1(q,":key").replace(/\s*v-bind:key="[^"]*"/g,""),W=$1(Z,X),_=Z.slice(W.outerStart,W.outerEnd),B=R1(_,{...X,start:0,end:X.end-X.start},U),j=`@foreach(${z})
4260
+ `)}}}return Q}async function fY($,Z,Y,X){return xY($,Z,Y,X,"before")}async function gY($,Z,Y,X){return xY($,Z,Y,X,"after")}var hY=P(()=>{u0();F0()});import{defineRoute as bR,defineRoutes as yR,resetRoutes as CR,route as PR,setAppUrl as vR}from"stx-router";import{route as bW}from"stx-router";function dY($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,Y,X,J,Q)=>{try{let G=J?L0(J,{}):{};return bW(X,G,Q==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var mY=P(()=>{R0()});function xR($,Z){if(!o0.exact[$])o0.exact[$]=[];o0.exact[$].push(Z)}function fR($,Z){let Y=typeof $==="string"?new RegExp($):$;o0.patterns.push({pattern:Y,callback:Z})}async function uY($,Z){let Y=$.split("/").pop()?.split(".")[0]||"";if(o0.exact[$])for(let X of o0.exact[$])await Promise.resolve(X(Z,$));if(o0.exact[Y])for(let X of o0.exact[Y])await Promise.resolve(X(Z,$));for(let{pattern:X,callback:J}of o0.patterns)if(X.test($)||X.test(Y))await Promise.resolve(J(Z,$))}function gR(){o0.patterns=[],o0.exact={}}var o0;var lY=P(()=>{o0={patterns:[],exact:{}}});function pY($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>pY(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function cY($,Z){if(!/:[\w-]+=/.test($))return $;let Y=$,X=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,J=[],Q;while((Q=X.exec($))!==null)J.push([Q.index,Q.index+Q[0].length]);function G(q){return J.some(([U,W])=>q>=U&&q<W)}let K=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*'))*)\s*\/?>/g,z=[];while((Q=K.exec(Y))!==null){if(G(Q.index))continue;let q=Q[0],U=Q[2];if(!U||!U.includes(":"))continue;let W=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,_,B=U,j=!1;while((_=W.exec(U))!==null){let H=_[1],L=_[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 w=Function(...F,`return (${L})`)(...O);if(H==="class"){let R=pY(w);if(R){let N=B.match(/\sclass="([^"]*)"/);if(N)B=B.replace(N[0],` class="${N[1]} ${R}"`);else B=B.replace(_[0],` class="${R}"`)}else B=B.replace(_[0],"");j=!0;continue}if(yW.has(H)){if(w)B=B.replace(_[0],` ${H}`);else B=B.replace(_[0],"");j=!0;continue}if(w===null||w===void 0||w===!1)B=B.replace(_[0],"");else{let R=String(w).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");B=B.replace(_[0],` ${H}="${R}"`)}j=!0}catch{continue}}if(j){let H=q.endsWith("/>")?" /":"",F=`<${Q[1]}${B}${H}>`;z.push({start:Q.index,end:Q.index+q.length,replacement:F})}}for(let q=z.length-1;q>=0;q--){let{start:U,end:W,replacement:_}=z[q];Y=Y.slice(0,U)+_+Y.slice(W)}return Y}var yW;var iY=P(()=>{yW=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function c1($,Z){let Y=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Y.lastIndex=Z;let X=Y.exec($);if(!X)return null;return{full:X[0],tag:X[1],attrs:X[2],selfClosing:X[3].includes("/")||CW.has(X[1].toLowerCase()),start:X.index,end:X.index+X[0].length}}function vW($,Z,Y){let X=1,J=Y,Q=new RegExp(`<${Z}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),G=new RegExp(`</${Z}\\s*>`,"gi");while(X>0&&J<$.length){Q.lastIndex=J,G.lastIndex=J;let K=Q.exec($),z=G.exec($);if(!z)return-1;if(K&&K.index<z.index)X++,J=K.index+K[0].length;else{if(X--,X===0)return z.index+z[0].length;J=z.index+z[0].length}}return-1}function $1($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let Y=vW($,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 nY($,Z){return new RegExp(`(?:^|\\s)${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${Z}=`)||$.includes(` ${Z} `)||$.trimEnd().endsWith(` ${Z}`)}function O5($,Z){let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),X=$.match(new RegExp(`${Y}="([^"]*)"`,"s"))||$.match(new RegExp(`${Y}='([^']*)'`,"s"));return X?X[1]:null}function A1($,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 R1($,Z,Y){let X=Z.selfClosing?" /":"",J=`<${Z.tag}${Y}${X}>`;return $.slice(0,Z.start)+J+$.slice(Z.end)}function xW($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function fW($){let Z=$,Y=0;while(Y<Z.length){let X=c1(Z,Y);if(!X)break;let J=O5(X.attrs,"v-for");if(J===null){Y=X.end;continue}let Q=J.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!Q){Y=X.end;continue}let G=Q[1].trim(),K=Q[2].trim(),z;if(G.includes(",")){let L=G.split(",").map((V)=>V.trim()),F=L[0],O=L[1];z=`${K} as ${O} => ${F}`}else z=`${K} as ${G}`;let q=A1(X.attrs,"v-for"),U=A1(q,":key").replace(/\s*v-bind:key="[^"]*"/g,""),W=$1(Z,X),_=Z.slice(W.outerStart,W.outerEnd),B=R1(_,{...X,start:0,end:X.end-X.start},U),j=`@foreach(${z})
4261
4261
  `,H=`${j}${B}
4262
4262
  @endforeach`;Z=Z.slice(0,W.outerStart)+H+Z.slice(W.outerEnd),Y=W.outerStart+j.length}return Z}function gW($){let Z=$,Y=0;while(Y<Z.length){let X=c1(Z,Y);if(!X)break;let J=O5(X.attrs,"v-if");if(J===null){Y=X.end;continue}let Q=[],G=$1(Z,X),K=A1(X.attrs,"v-if"),z=R1(Z.slice(G.outerStart,G.outerEnd),{...X,start:0,end:X.end-X.start},K);Q.push({type:"if",expr:J,outerStart:G.outerStart,outerEnd:G.outerEnd,element:z,parsedTag:X});let q=G.outerEnd,U=!0;while(U){let H=Z.slice(q).match(/^\s*/),L=H?H[0].length:0,F=c1(Z,q+L);if(!F){U=!1;break}let O=O5(F.attrs,"v-else-if"),V=nY(F.attrs,"v-else");if(O!==null){let A=$1(Z,F),w=A1(F.attrs,"v-else-if"),R=R1(Z.slice(A.outerStart,A.outerEnd),{...F,start:0,end:F.end-F.start},w);Q.push({type:"else-if",expr:O,outerStart:q,outerEnd:A.outerEnd,element:R,parsedTag:F}),q=A.outerEnd}else if(V){let A=$1(Z,F),w=A1(F.attrs,"v-else"),R=R1(Z.slice(A.outerStart,A.outerEnd),{...F,start:0,end:F.end-F.start},w);Q.push({type:"else",outerStart:q,outerEnd:A.outerEnd,element:R,parsedTag:F}),U=!1}else U=!1}let W=[];for(let H of Q)if(H.type==="if")W.push(`@if(${H.expr})
4263
4263
  ${H.element}`);else if(H.type==="else-if")W.push(`@elseif(${H.expr})
@@ -4265,7 +4265,7 @@ ${H.element}`);else W.push(`@else
4265
4265
  ${H.element}`);W.push("@endif");let _=W.join(`
4266
4266
  `),B=Q[0].outerStart,j=Q[Q.length-1].outerEnd;Z=Z.slice(0,B)+_+Z.slice(j),Y=B+_.length}return Z}function hW($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function dW($){let Z=$,Y=0;while(Y<Z.length){let X=c1(Z,Y);if(!X)break;let J=X.attrs,Q=!1,G=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,K=J.match(G);while(K){Q=!0;let U=K[1],W=K[2],_=K[3];J=J.replace(K[0],""),J+=` :${U}="${_}" @update:${U}="${_} = $event"`,K=J.match(G)}if(Q){let U=$1(Z,X),W=Z.slice(U.outerStart,U.outerEnd),_=R1(W,{...X,start:0,end:X.end-X.start},J);Z=Z.slice(0,U.outerStart)+_+Z.slice(U.outerEnd),Y=U.outerStart+_.length;continue}let z=O5(X.attrs,"v-model");if(z===null){Y=X.end;continue}if(PW.has(X.tag.toLowerCase())){let U=X.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${z}"`,W=$1(Z,X),_=Z.slice(W.outerStart,W.outerEnd),B=R1(_,{...X,start:0,end:X.end-X.start},U);Z=Z.slice(0,W.outerStart)+B+Z.slice(W.outerEnd),Y=W.outerStart+B.length}else{let U=X.attrs.replace(/\s*v-model="[^"]*"/g,"");U+=` :modelValue="${z}" @update:modelValue="${z} = $event"`;let W=$1(Z,X),_=Z.slice(W.outerStart,W.outerEnd),B=R1(_,{...X,start:0,end:X.end-X.start},U);Z=Z.slice(0,W.outerStart)+B+Z.slice(W.outerEnd),Y=W.outerStart+B.length}}return Z}function mW($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function uW($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function lW($){let Z=$,Y=0;while(Y<Z.length){let X=c1(Z,Y);if(!X)break;let J=O5(X.attrs,"v-html");if(J===null){Y=X.end;continue}if(X.selfClosing){Y=X.end;continue}let Q=$1(Z,X),G=A1(X.attrs,"v-html"),K=X.selfClosing?" /":"",z=`<${X.tag}${G}${K}>{!! ${J} !!}</${X.tag}>`;Z=Z.slice(0,Q.outerStart)+z+Z.slice(Q.outerEnd),Y=Q.outerStart+z.length}return Z}function pW($){let Z=$,Y=0;while(Y<Z.length){let X=c1(Z,Y);if(!X)break;let J=O5(X.attrs,"v-text");if(J===null){Y=X.end;continue}if(X.selfClosing){Y=X.end;continue}let Q=$1(Z,X),G=A1(X.attrs,"v-text"),K=X.selfClosing?" /":"",z=`<${X.tag}${G}${K}>{{ ${J} }}</${X.tag}>`;Z=Z.slice(0,Q.outerStart)+z+Z.slice(Q.outerEnd),Y=Q.outerStart+z.length}return Z}function cW($){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 iW($){let Z=$,Y=0;while(Y<Z.length){let X=c1(Z,Y);if(!X)break;if(!nY(X.attrs,"v-once")){Y=X.end;continue}let J=A1(X.attrs,"v-once"),Q=$1(Z,X),G=Z.slice(Q.outerStart,Q.outerEnd),z=`@once
4267
4267
  ${R1(G,{...X,start:0,end:X.end-X.start},J)}
4268
- @endonce`;Z=Z.slice(0,Q.outerStart)+z+Z.slice(Q.outerEnd),Y=Q.outerStart+z.length}return Z}function nW($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function oW($){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 oY($){if(!xW($))return $;let Z=$;return Z=fW(Z),Z=gW(Z),Z=iW(Z),Z=mW(Z),Z=uW(Z),Z=dW(Z),Z=hW(Z),Z=oW(Z),Z=lW(Z),Z=pW(Z),Z=cW(Z),Z=nW(Z),Z}var CW,PW;var sY=C(()=>{CW=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),PW=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 k4($){return $.replace(/--/g,"- -").replace(/</g,"&lt;").replace(/>/g,"&gt;")}async function rY($,Z,Y,X,J){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,K=[],z;while((z=G.exec(Q))!==null)K.push({full:z[0],expr:z[1],attrs:z[2],slotContent:z[3],index:z.index});for(let q=K.length-1;q>=0;q--){let U=K[q];try{let W=e(U.expr,Z);if(!W||typeof W!=="string"){let O=`<!-- dynamic component: could not resolve "${k4(U.expr)}" -->`;Q=Q.slice(0,U.index)+O+Q.slice(U.index+U.full.length);continue}let _=U.attrs.trim(),B={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,H;while((H=j.exec(_))!==null){let O=H[1]||H[2],V=H[3];if(H[1])try{B[O]=e(V,Z)}catch{B[O]=V}else B[O]=V}let L=X.componentsDir||"components",F=await z1(W,B,U.slotContent,L,Z,Y,X,new Set,J??new Set);Q=Q.slice(0,U.index)+F+Q.slice(U.index+U.full.length)}catch(W){let _=W instanceof Error?W.message:String(W),B=`<!-- dynamic component error: ${k4(_)} -->`;Q=Q.slice(0,U.index)+B+Q.slice(U.index+U.full.length)}}return Q=await sW(Q,Z,Y,X,J),Q}async function sW($,Z,Y,X,J){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,K=[],z;while((z=G.exec(Q))!==null)K.push({full:z[0],expr:z[1],attrs:z[2],index:z.index});for(let q=K.length-1;q>=0;q--){let U=K[q];try{let W=e(U.expr,Z);if(!W||typeof W!=="string"){let j=`<!-- dynamic component: could not resolve "${k4(U.expr)}" -->`;Q=Q.slice(0,U.index)+j+Q.slice(U.index+U.full.length);continue}let _=X.componentsDir||"components",B=await z1(W,{},"",_,Z,Y,X,new Set,J??new Set);Q=Q.slice(0,U.index)+B+Q.slice(U.index+U.full.length)}catch(W){let _=W instanceof Error?W.message:String(W),B=`<!-- dynamic component error: ${k4(_)} -->`;Q=Q.slice(0,U.index)+B+Q.slice(U.index+U.full.length)}}return Q}var aY=C(()=>{F0();R0()});function tY($,Z=""){let Y=`${$}${Z}`,X=0;for(let J=0;J<Y.length;J++){let Q=Y.charCodeAt(J);X=(X<<5)-X+Q,X=X&X}return`stx-${Math.abs(X).toString(36)}`}function eY($,Z,Y={}){let{prefix:X="",preserveHost:J=!0,scopeKeyframes:Q=!0,scopeCustomProperties:G=!1}=Y;if(!$.trim())return"";let K=f6($),z=[],q=new Map;if(Q)for(let U of K){let W=U.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(W){let _=W[1],B=`${Z}_${_}`;q.set(_,B)}}for(let U of K){let W=$X(U,Z,X,J,q,G);z.push(W)}return z.join(`
4268
+ @endonce`;Z=Z.slice(0,Q.outerStart)+z+Z.slice(Q.outerEnd),Y=Q.outerStart+z.length}return Z}function nW($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function oW($){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 oY($){if(!xW($))return $;let Z=$;return Z=fW(Z),Z=gW(Z),Z=iW(Z),Z=mW(Z),Z=uW(Z),Z=dW(Z),Z=hW(Z),Z=oW(Z),Z=lW(Z),Z=pW(Z),Z=cW(Z),Z=nW(Z),Z}var CW,PW;var sY=P(()=>{CW=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),PW=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 k4($){return $.replace(/--/g,"- -").replace(/</g,"&lt;").replace(/>/g,"&gt;")}async function rY($,Z,Y,X,J){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,K=[],z;while((z=G.exec(Q))!==null)K.push({full:z[0],expr:z[1],attrs:z[2],slotContent:z[3],index:z.index});for(let q=K.length-1;q>=0;q--){let U=K[q];try{let W=e(U.expr,Z);if(!W||typeof W!=="string"){let O=`<!-- dynamic component: could not resolve "${k4(U.expr)}" -->`;Q=Q.slice(0,U.index)+O+Q.slice(U.index+U.full.length);continue}let _=U.attrs.trim(),B={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,H;while((H=j.exec(_))!==null){let O=H[1]||H[2],V=H[3];if(H[1])try{B[O]=e(V,Z)}catch{B[O]=V}else B[O]=V}let L=X.componentsDir||"components",F=await z1(W,B,U.slotContent,L,Z,Y,X,new Set,J??new Set);Q=Q.slice(0,U.index)+F+Q.slice(U.index+U.full.length)}catch(W){let _=W instanceof Error?W.message:String(W),B=`<!-- dynamic component error: ${k4(_)} -->`;Q=Q.slice(0,U.index)+B+Q.slice(U.index+U.full.length)}}return Q=await sW(Q,Z,Y,X,J),Q}async function sW($,Z,Y,X,J){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,K=[],z;while((z=G.exec(Q))!==null)K.push({full:z[0],expr:z[1],attrs:z[2],index:z.index});for(let q=K.length-1;q>=0;q--){let U=K[q];try{let W=e(U.expr,Z);if(!W||typeof W!=="string"){let j=`<!-- dynamic component: could not resolve "${k4(U.expr)}" -->`;Q=Q.slice(0,U.index)+j+Q.slice(U.index+U.full.length);continue}let _=X.componentsDir||"components",B=await z1(W,{},"",_,Z,Y,X,new Set,J??new Set);Q=Q.slice(0,U.index)+B+Q.slice(U.index+U.full.length)}catch(W){let _=W instanceof Error?W.message:String(W),B=`<!-- dynamic component error: ${k4(_)} -->`;Q=Q.slice(0,U.index)+B+Q.slice(U.index+U.full.length)}}return Q}var aY=P(()=>{F0();R0()});function tY($,Z=""){let Y=`${$}${Z}`,X=0;for(let J=0;J<Y.length;J++){let Q=Y.charCodeAt(J);X=(X<<5)-X+Q,X=X&X}return`stx-${Math.abs(X).toString(36)}`}function eY($,Z,Y={}){let{prefix:X="",preserveHost:J=!0,scopeKeyframes:Q=!0,scopeCustomProperties:G=!1}=Y;if(!$.trim())return"";let K=f6($),z=[],q=new Map;if(Q)for(let U of K){let W=U.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(W){let _=W[1],B=`${Z}_${_}`;q.set(_,B)}}for(let U of K){let W=$X(U,Z,X,J,q,G);z.push(W)}return z.join(`
4269
4269
 
4270
4270
  `)}function f6($){let Z=[],Y=$.replace(/\/\*[\s\S]*?\*\//g,""),X=0,J="",Q=!1,G="";for(let K=0;K<Y.length;K++){let z=Y[K];if(z==="@"&&X===0)Q=!0;if(z==="{")X++;else if(z==="}"){if(X--,X===0){if(Q){G+=z;let q=G.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(q){let[,U,W,_]=q;if(U==="keyframes")Z.push({selector:`@keyframes ${W.trim()}`,declarations:_.trim()});else if(U==="media"||U==="supports"||U==="container"){let B=f6(_);Z.push({selector:`@${U} ${W.trim()}`,declarations:B.map((j)=>`${j.selector} { ${j.declarations} }`).join(`
4271
4271
  `)})}else Z.push({selector:`@${U} ${W.trim()}`,declarations:_.trim()})}G="",Q=!1}else if(J.trim()){J+=z;let q=J.match(/([^{]+)\{([^}]*)\}/);if(q)Z.push({selector:q[1].trim(),declarations:q[2].trim()});J=""}continue}}if(Q)G+=z;else J+=z}return Z}function $X($,Z,Y,X,J,Q){let{selector:G,declarations:K}=$;if(G.startsWith("@")){if(G.startsWith("@keyframes")){let U=G.replace("@keyframes ","").trim();return`@keyframes ${J.get(U)||U} { ${K} }`}if(G.startsWith("@media")||G.startsWith("@supports")||G.startsWith("@container")){let W=f6(`x { ${K} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((_)=>$X(_,Z,Y,X,J,Q)).join(`
@@ -4292,7 +4292,7 @@ ${A.join(`
4292
4292
  </body>
4293
4293
  </html>`}function h6($){return/<!DOCTYPE\b/i.test($)||/<html[\s>]/i.test($)}function YX($,Z={}){let Y=$.lastIndexOf("</head>");if(Y===-1)return $;let{meta:X=[],link:J=[],script:Q=[],headRaw:G=""}=Z,K=$.slice(0,Y),z=[];for(let q of X){let U=q.name?`name="${q.name}"`:q.property?`property="${q.property}"`:q.charset!=null?"charset=":q["http-equiv"]?`http-equiv="${q["http-equiv"]}"`:"";if(U&&K.includes(U))continue;z.push(` <meta ${Object.entries(q).map(([W,_])=>`${W}="${_}"`).join(" ")}>`)}for(let q of J){if(q.href&&K.includes(`href="${q.href}"`))continue;z.push(` <link ${Object.entries(q).map(([U,W])=>`${U}="${W}"`).join(" ")}>`)}for(let q of Q)if(q.src){if(K.includes(`src="${q.src}"`))continue;z.push(` <script ${Object.entries(q).filter(([U])=>U!=="content").map(([U,W])=>`${U}="${W}"`).join(" ")}></script>`)}else if(q.content){if(K.includes(q.content))continue;z.push(` <script>${q.content}</script>`)}if(G&&!K.includes(G))z.push(` ${G}`);if(z.length===0)return $;return`${$.slice(0,Y)}${z.join(`
4294
4294
  `)}
4295
- ${$.slice(Y)}`}function XX($,Z={},Y={}){if(h6($))return $;return eW($,Z,Y)}var tR="<style data-stx-cloak>[x-cloak]{display:none !important}</style>";function C4($){let Z=$,Y=new Set,X=new Set,J=()=>{if(f0)X.add(f0);return Z};return J.set=(Q)=>{if(!Object.is(Q,Z)){let G=Z;if(Z=Q,Y.forEach((K)=>K(Z,G)),a5)X.forEach((K)=>y4.add(K));else X.forEach((K)=>K())}},J.update=(Q)=>{J.set(Q(Z))},J.subscribe=(Q)=>{return Y.add(Q),()=>Y.delete(Q)},Object.defineProperty(J,"_isSignal",{value:!0,writable:!1}),J}function P4($){let Z,Y=!0,X=new Set,J=()=>{if(!Y)if(Y=!0,a5)X.forEach((G)=>y4.add(G));else X.forEach((G)=>G())},Q=()=>{if(f0)X.add(f0);if(Y){let G=f0;f0=J,b4.push(J);try{Z=$()}finally{b4.pop(),f0=G}Y=!1}return Z};return Object.defineProperty(Q,"_isDerived",{value:!0,writable:!1}),Q}function v4($,Z={}){let Y,X=!1,J=()=>{if(X)return;if(Y)Y(),Y=void 0;let Q=f0;f0=J,b4.push(J);try{Y=$()}finally{b4.pop(),f0=Q}};if(Z.immediate!==!1)J();return()=>{if(X=!0,Y)Y()}}function d6($){if(a5){$();return}a5=!0;try{$()}finally{a5=!1,y4.forEach((Z)=>Z()),y4.clear()}}function m6($){$_.push($)}function u6($){Z_.push($)}function x4($){return typeof $==="function"&&$._isSignal===!0}function f4($){return typeof $==="function"&&$._isDerived===!0}function l6($){if(x4($)||f4($))return $();return $}function g4($){let Z=f0;f0=null;try{return $()}finally{f0=Z}}function Y_($,Z){let Y=typeof $==="function"?$:()=>$,X=C4([]),J=P4(()=>X().reduce((K,z)=>Z(K,z.action),Y())),Q=!1;return v4(()=>{if(Y(),!Q){Q=!0;return}if(g4(()=>X().length))X.set([])}),[J,(K,z)=>{let q={action:K};X.set([...X(),q]);let U=()=>{let W=X().filter((_)=>_!==q);if(W.length!==X().length)X.set(W)};if(z&&typeof z.then==="function")Promise.resolve(z).then(U,U);return U}]}var f0=null,b4,a5=!1,y4,$_,Z_;var p6=C(()=>{b4=[],y4=new Set,$_=[],Z_=[]});var QX={};p(QX,{useOptimistic:()=>Y_,untrack:()=>l6,state:()=>C4,peek:()=>g4,onMount:()=>m6,onDestroy:()=>u6,isSignal:()=>x4,isDerived:()=>f4,generateSignalsRuntimeDev:()=>h4,generateSignalsRuntime:()=>JX,effect:()=>v4,derived:()=>P4,default:()=>J_,batch:()=>d6});function JX(){try{let $=X_(h4()),Y=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($);return Y=Y.replace(/\}(var |let |const |function )/g,"};$1"),Y}catch{return h4()}}function X_($){let Z=[],Y=0,X="console.log(";while(Y<$.length){let J=$.indexOf(X,Y);if(J===-1){Z.push($.slice(Y));break}Z.push($.slice(Y,J));let Q=1,G=J+X.length;while(G<$.length&&Q>0){let K=$[G];if(K==='"'||K==="'"||K==="`"){let z=K;G++;while(G<$.length&&$[G]!==z){if($[G]==="\\")G++;G++}G++;continue}if(K==="(")Q++;else if(K===")")Q--;G++}Z.push("0"),Y=G}return Z.join("")}function h4(){return`
4295
+ ${$.slice(Y)}`}function XX($,Z={},Y={}){if(h6($))return $;return eW($,Z,Y)}var tR="<style data-stx-cloak>[x-cloak]{display:none !important}</style>";function C4($){let Z=$,Y=new Set,X=new Set,J=()=>{if(f0)X.add(f0);return Z};return J.set=(Q)=>{if(!Object.is(Q,Z)){let G=Z;if(Z=Q,Y.forEach((K)=>K(Z,G)),a5)X.forEach((K)=>y4.add(K));else X.forEach((K)=>K())}},J.update=(Q)=>{J.set(Q(Z))},J.subscribe=(Q)=>{return Y.add(Q),()=>Y.delete(Q)},Object.defineProperty(J,"_isSignal",{value:!0,writable:!1}),J}function P4($){let Z,Y=!0,X=new Set,J=()=>{if(!Y)if(Y=!0,a5)X.forEach((G)=>y4.add(G));else X.forEach((G)=>G())},Q=()=>{if(f0)X.add(f0);if(Y){let G=f0;f0=J,b4.push(J);try{Z=$()}finally{b4.pop(),f0=G}Y=!1}return Z};return Object.defineProperty(Q,"_isDerived",{value:!0,writable:!1}),Q}function v4($,Z={}){let Y,X=!1,J=()=>{if(X)return;if(Y)Y(),Y=void 0;let Q=f0;f0=J,b4.push(J);try{Y=$()}finally{b4.pop(),f0=Q}};if(Z.immediate!==!1)J();return()=>{if(X=!0,Y)Y()}}function d6($){if(a5){$();return}a5=!0;try{$()}finally{a5=!1,y4.forEach((Z)=>Z()),y4.clear()}}function m6($){$_.push($)}function u6($){Z_.push($)}function x4($){return typeof $==="function"&&$._isSignal===!0}function f4($){return typeof $==="function"&&$._isDerived===!0}function l6($){if(x4($)||f4($))return $();return $}function g4($){let Z=f0;f0=null;try{return $()}finally{f0=Z}}function Y_($,Z){let Y=typeof $==="function"?$:()=>$,X=C4([]),J=P4(()=>X().reduce((K,z)=>Z(K,z.action),Y())),Q=!1;return v4(()=>{if(Y(),!Q){Q=!0;return}if(g4(()=>X().length))X.set([])}),[J,(K,z)=>{let q={action:K};X.set([...X(),q]);let U=()=>{let W=X().filter((_)=>_!==q);if(W.length!==X().length)X.set(W)};if(z&&typeof z.then==="function")Promise.resolve(z).then(U,U);return U}]}var f0=null,b4,a5=!1,y4,$_,Z_;var p6=P(()=>{b4=[],y4=new Set,$_=[],Z_=[]});var QX={};p(QX,{useOptimistic:()=>Y_,untrack:()=>l6,state:()=>C4,peek:()=>g4,onMount:()=>m6,onDestroy:()=>u6,isSignal:()=>x4,isDerived:()=>f4,generateSignalsRuntimeDev:()=>h4,generateSignalsRuntime:()=>JX,effect:()=>v4,derived:()=>P4,default:()=>J_,batch:()=>d6});function JX(){try{let $=X_(h4()),Y=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($);return Y=Y.replace(/\}(var |let |const |function )/g,"};$1"),Y}catch{return h4()}}function X_($){let Z=[],Y=0,X="console.log(";while(Y<$.length){let J=$.indexOf(X,Y);if(J===-1){Z.push($.slice(Y));break}Z.push($.slice(Y,J));let Q=1,G=J+X.length;while(G<$.length&&Q>0){let K=$[G];if(K==='"'||K==="'"||K==="`"){let z=K;G++;while(G<$.length&&$[G]!==z){if($[G]==="\\")G++;G++}G++;continue}if(K==="(")Q++;else if(K===")")Q--;G++}Z.push("0"),Y=G}return Z.join("")}function h4(){return`
4296
4296
  // STX Signals Runtime (Development Build)
4297
4297
  console.log('[stx] signals runtime loading');
4298
4298
  // Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
@@ -9513,7 +9513,7 @@ catch (e) { console.warn('[stx] mount callback error:', e); }
9513
9513
  }
9514
9514
  }
9515
9515
  })();
9516
- `}var J_;var GX=C(()=>{p6();p6();J_={state:C4,derived:P4,effect:v4,batch:d6,onMount:m6,onDestroy:u6,isSignal:x4,isDerived:f4,untrack:l6,peek:g4,generateSignalsRuntime:JX,generateSignalsRuntimeDev:h4}});var c6={};p(c6,{templateCache:()=>KX,readFileCached:()=>Q_,invalidateFileCacheByDir:()=>K_,invalidateFileCache:()=>G_,hashFilePath:()=>t5,getCachedSignalsRuntime:()=>U_,getCachedRouterScript:()=>W_,clearDevCaches:()=>__,checkCache:()=>B_,cacheTemplate:()=>j_,__setSignalsGeneratorsForTest:()=>q_});import N1 from"fs";import L5 from"path";async function Q_($){let Y;for(let X=0;X<3;X++)try{let Q=(await N1.promises.stat($)).mtime.getTime(),G=i1.get($);if(G&&G.mtime===Q)return G.content;let K=await Bun.file($).text(),q=(await N1.promises.stat($)).mtime.getTime();if(q!==Q)continue;return i1.set($,{content:K,mtime:q}),K}catch(J){Y=J;break}throw i1.delete($),Error(`File not found: ${$}${Y?` (${Y.message})`:""}`)}function G_($){i1.delete($)}function K_($){for(let Z of i1.keys())if(Z.startsWith($))i1.delete(Z)}function q_($){zX=$}async function U_($=!1){let Z=zX??await Promise.resolve().then(() => (GX(),QX));if($)return Z.generateSignalsRuntimeDev();if(d4===null)d4=Z.generateSignalsRuntime();return d4}async function W_(){if(m4===null){let{getRouterScript:$}=await import("stx-router");m4=$()}return m4}function __(){i1.clear(),d4=null,z_=null,m4=null}function qX($){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 B_($,Z){try{if(!Z.cachePath)return null;let Y=L5.resolve(Z.cachePath),X=L5.join(Y,`${t5($)}.html`),J=L5.join(Y,`${t5($)}.meta.json`);if(!await n(X)||!await n(J))return null;let Q=await Bun.file(J).text(),G=JSON.parse(Q);if(G.cacheVersion!==Z.cacheVersion)return null;if(G.optionsSignature!==qX(Z))return null;if((await N1.promises.stat($)).mtime.getTime()>G.mtime)return null;for(let z of G.dependencies)if(await n(z)){if((await N1.promises.stat(z)).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 j_($,Z,Y,X){try{if(!X.cachePath)return;let J=L5.resolve(X.cachePath);await N1.promises.mkdir(J,{recursive:!0});let Q=L5.join(J,`${t5($)}.html`),G=L5.join(J,`${t5($)}.meta.json`),K=await N1.promises.stat($);await Bun.write(Q,Z);let z={sourcePath:$,mtime:K.mtime.getTime(),dependencies:Array.from(Y),cacheVersion:X.cacheVersion,optionsSignature:qX(X),generatedAt:Date.now()};await Bun.write(G,JSON.stringify(z,null,2)),KX.set($,{output:Z,mtime:K.mtime.getTime(),dependencies:Y})}catch(J){console.warn(`Failed to cache template ${$}:`,J)}}function t5($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,H_)}var KX,i1,d4=null,z_=null,zX=null,m4=null,H_=16;var i6=C(()=>{F0();KX=new Map,i1=new Map});function UX($){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]+`
9516
+ `}var J_;var GX=P(()=>{p6();p6();J_={state:C4,derived:P4,effect:v4,batch:d6,onMount:m6,onDestroy:u6,isSignal:x4,isDerived:f4,untrack:l6,peek:g4,generateSignalsRuntime:JX,generateSignalsRuntimeDev:h4}});var c6={};p(c6,{templateCache:()=>KX,readFileCached:()=>Q_,invalidateFileCacheByDir:()=>K_,invalidateFileCache:()=>G_,hashFilePath:()=>t5,getCachedSignalsRuntime:()=>U_,getCachedRouterScript:()=>W_,clearDevCaches:()=>__,checkCache:()=>B_,cacheTemplate:()=>j_,__setSignalsGeneratorsForTest:()=>q_});import N1 from"fs";import L5 from"path";async function Q_($){let Y;for(let X=0;X<3;X++)try{let Q=(await N1.promises.stat($)).mtime.getTime(),G=i1.get($);if(G&&G.mtime===Q)return G.content;let K=await Bun.file($).text(),q=(await N1.promises.stat($)).mtime.getTime();if(q!==Q)continue;return i1.set($,{content:K,mtime:q}),K}catch(J){Y=J;break}throw i1.delete($),Error(`File not found: ${$}${Y?` (${Y.message})`:""}`)}function G_($){i1.delete($)}function K_($){for(let Z of i1.keys())if(Z.startsWith($))i1.delete(Z)}function q_($){zX=$}async function U_($=!1){let Z=zX??await Promise.resolve().then(() => (GX(),QX));if($)return Z.generateSignalsRuntimeDev();if(d4===null)d4=Z.generateSignalsRuntime();return d4}async function W_(){if(m4===null){let{getRouterScript:$}=await import("stx-router");m4=$()}return m4}function __(){i1.clear(),d4=null,z_=null,m4=null}function qX($){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 B_($,Z){try{if(!Z.cachePath)return null;let Y=L5.resolve(Z.cachePath),X=L5.join(Y,`${t5($)}.html`),J=L5.join(Y,`${t5($)}.meta.json`);if(!await n(X)||!await n(J))return null;let Q=await Bun.file(J).text(),G=JSON.parse(Q);if(G.cacheVersion!==Z.cacheVersion)return null;if(G.optionsSignature!==qX(Z))return null;if((await N1.promises.stat($)).mtime.getTime()>G.mtime)return null;for(let z of G.dependencies)if(await n(z)){if((await N1.promises.stat(z)).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 j_($,Z,Y,X){try{if(!X.cachePath)return;let J=L5.resolve(X.cachePath);await N1.promises.mkdir(J,{recursive:!0});let Q=L5.join(J,`${t5($)}.html`),G=L5.join(J,`${t5($)}.meta.json`),K=await N1.promises.stat($);await Bun.write(Q,Z);let z={sourcePath:$,mtime:K.mtime.getTime(),dependencies:Array.from(Y),cacheVersion:X.cacheVersion,optionsSignature:qX(X),generatedAt:Date.now()};await Bun.write(G,JSON.stringify(z,null,2)),KX.set($,{output:Z,mtime:K.mtime.getTime(),dependencies:Y})}catch(J){console.warn(`Failed to cache template ${$}:`,J)}}function t5($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,H_)}var KX,i1,d4=null,z_=null,zX=null,m4=null,H_=16;var i6=P(()=>{F0();KX=new Map,i1=new Map});function UX($){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]+`
9517
9517
  `;let J=/\{\{([\s\S]*?)\}\}/g;while((X=J.exec($))!==null)Y+=X[1]+`
9518
9518
  `;if(!Y.trim())return $;let G=["browserQuery","BrowserQueryBuilder","configureBrowser","createBrowserModel"].some((_)=>{return new RegExp(`\\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"]),z=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,q,U=!1;while((q=z.exec(Y))!==null)if(!K.has(q[1])){U=!0;break}if(!G&&!U)return $;let W=`<script type="module">
9519
9519
  // STX: Auto-load @stacksjs/browser (auto-initializes API and loads models)
@@ -9550,23 +9550,23 @@ if(window.stx)window.stx._latestSetup=${G};
9550
9550
  `)Q++;return!0}if(Z[Q]==="/"&&Z[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Z[Q]==="*"&&Z[Q+1]==="/"))Q++;return Q+=2,!0}return!1},B=()=>{if(J!==0)return;let j=Z.slice(Q).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(Q).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(H){H[1].split(",").forEach((V)=>{let A=V.trim();if(!A)return;let w=A.indexOf(":"),N=(w>=0?A.slice(w+1).trim():A).split(/[\s=]/)[0];if(N&&!X.has(N))Y.push(N),X.add(N)});return}let L=Z.slice(Q).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(L){L[1].split(",").forEach((V)=>{let A=V.trim().replace(/^\.\.\./,"");if(!A)return;let w=A.split(/[\s=]/)[0];if(w&&!X.has(w))Y.push(w),X.add(w)});return}let F=Z.slice(Q).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(Q).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(Q<G){if(_())continue;if(Z[Q]==="'"||Z[Q]==='"'){U(Z[Q]),K=Z[Q-1];continue}if(Z[Q]==="`"){W(),K="`";continue}if(Z[Q]==="/"&&Z[Q+1]!=="/"&&Z[Q+1]!=="*"&&q()){z(),K="/";continue}if(Z[Q]==="{"){J++,K="{",Q++;continue}if(Z[Q]==="}"){J--,K="}",Q++;continue}if(J===0&&/[a-z]/i.test(Z[Q])&&(Q===0||/\s|[;{}()]/.test(Z[Q-1])))B();if(!/\s/.test(Z[Q]))K=Z[Q];Q++}return Y.join(", ")}async function a6($,Z,Y,X){if(!c4($))return $;let J=$;if(Z.skipSignalsRuntime)return J;let{output:Q,setupCode:G}=await VX(J,Y,X);if(J=Q,J=await WX(J,Z),J=UX(J),G)if(J.includes("</head>"))J=J.replace("</head>",`${G}
9551
9551
  </head>`);else if(J.includes("<body"))J=J.replace(/<body([^>]*)>/,`<body$1>
9552
9552
  ${G}`);else J=J+`
9553
- `+G;let z=J.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),q=z&&/data-stx/.test(z[1]);if(!G&&!q&&z&&!/data-stx-auto/.test(z[1])){let U=/<body[^>]*>/i,W=/<(script|style)\b[\s\S]*?<\/\1>/gi,_=[],B;while((B=W.exec(J))!==null)_.push([B.index,B.index+B[0].length]);let j=0,H=-1;while(j<J.length){U.lastIndex=j;let L=U.exec(J.slice(j));if(!L)break;let F=j+L.index;if(!_.some(([V,A])=>F>=V&&F<A)){H=F;break}j=F+L[0].length}if(H!==-1){let L=J.slice(0,H),F=J.slice(H).replace(U,(O)=>O.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));J=L+F}}return J}var O_=0,u4,OX,jX,n6,N_;var t6=C(()=>{r5();U4();F0();u4=/<script\b([^>]*)>/gi,OX=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;jX=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"]);n6=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);N_=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import F5 from"path";function RX($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function NX($,Z,Y){try{let X;if($.startsWith("/")){let J=Z;for(let Q=0;Q<5;Q++){let G=F5.join(J,$);if(await Bun.file(G).exists())return G;J=F5.dirname(J)}X=F5.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))X=F5.resolve(Z,$);else X=F5.resolve(Z,$);if(await Bun.file(X).exists())return X;return null}catch{return null}}async function TX($,Z,Y){let X=$,J=F5.dirname(Z),Q=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=Q.exec(X))!==null){let[q,U,W,_]=G;if(RX(W))continue;let B=await NX(W,J,Z);if(B)try{let j=await Bun.file(B).text();if(Y.add(B),W.endsWith(".ts")||W.endsWith(".tsx")){let L=await Bun.build({entrypoints:[B],target:"browser",minify:!1,define:r0()});if(L.outputs.length>0)j=await L.outputs[0].text()}let H=`<script>
9553
+ `+G;let z=J.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),q=z&&/data-stx/.test(z[1]);if(!G&&!q&&z&&!/data-stx-auto/.test(z[1])){let U=/<body[^>]*>/i,W=/<(script|style)\b[\s\S]*?<\/\1>/gi,_=[],B;while((B=W.exec(J))!==null)_.push([B.index,B.index+B[0].length]);let j=0,H=-1;while(j<J.length){U.lastIndex=j;let L=U.exec(J.slice(j));if(!L)break;let F=j+L.index;if(!_.some(([V,A])=>F>=V&&F<A)){H=F;break}j=F+L[0].length}if(H!==-1){let L=J.slice(0,H),F=J.slice(H).replace(U,(O)=>O.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));J=L+F}}return J}var O_=0,u4,OX,jX,n6,N_;var t6=P(()=>{r5();U4();F0();u4=/<script\b([^>]*)>/gi,OX=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;jX=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"]);n6=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);N_=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import F5 from"path";function RX($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function NX($,Z,Y){try{let X;if($.startsWith("/")){let J=Z;for(let Q=0;Q<5;Q++){let G=F5.join(J,$);if(await Bun.file(G).exists())return G;J=F5.dirname(J)}X=F5.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))X=F5.resolve(Z,$);else X=F5.resolve(Z,$);if(await Bun.file(X).exists())return X;return null}catch{return null}}async function TX($,Z,Y){let X=$,J=F5.dirname(Z),Q=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=Q.exec(X))!==null){let[q,U,W,_]=G;if(RX(W))continue;let B=await NX(W,J,Z);if(B)try{let j=await Bun.file(B).text();if(Y.add(B),W.endsWith(".ts")||W.endsWith(".tsx")){let L=await Bun.build({entrypoints:[B],target:"browser",minify:!1,define:r0()});if(L.outputs.length>0)j=await L.outputs[0].text()}let H=`<script>
9554
9554
  // Source: ${W}
9555
9555
  ${j}
9556
9556
  </script>`;X=X.replace(q,H),Q.lastIndex=0}catch(j){}}let K=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,z;while((z=K.exec(X))!==null){let[q,U,W,_]=z,B=U+_;if(RX(W))continue;if(/rel=["']stylesheet["']/.test(B)||W.endsWith(".css")){let H=await NX(W,J,Z);if(H)try{let L=await Bun.file(H).text();Y.add(H);let F=`<style>
9557
9557
  /* Source: ${W} */
9558
9558
  ${L}
9559
- </style>`;X=X.replace(q,F),K.lastIndex=0}catch(L){}}}return X}var MX=C(()=>{r1()});function i4($,Z){let Y=$,X=/@json\s*\(/g,J;while((J=X.exec(Y))!==null){let Q=J.index,G=Q+J[0].length-1,K=1,z=G+1,q=null,U=!1;while(z<Y.length&&K>0){let V=Y[z];if(U){U=!1,z++;continue}if(V==="\\"&&q){U=!0,z++;continue}if(q){if(V===q)q=null;z++;continue}if(V==='"'||V==="'"||V==="`"){q=V,z++;continue}if(V==="(")K++;else if(V===")"){if(K--,K===0)break}z++}if(K!==0)break;let W=Y.substring(G+1,z).trim(),_=Y.substring(Q,z+1),B=-1,j=0,H=null,L=!1;for(let V=0;V<W.length;V++){let A=W[V];if(L){L=!1;continue}if(A==="\\"&&H){L=!0;continue}if(H){if(A===H)H=null;continue}if(A==='"'||A==="'"||A==="`"){H=A;continue}if(A==="("||A==="["||A==="{")j++;else if(A===")"||A==="]"||A==="}")j--;if(A===","&&j===0){B=V;break}}let F=B>=0?W.substring(0,B).trim():W,O=B>=0?W.substring(B+1).trim():void 0;try{let V=F.trim(),A;if($0(V))A=Z0(V,Object.keys(Z))(...Object.values(Z));else A=void 0;let w;if(O==="true")w=JSON.stringify(A,null,2);else w=JSON.stringify(A);let R=w.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Y=Y.substring(0,Q)+R+Y.substring(z+1),X.lastIndex=Q+R.length}catch(V){p0.log(V instanceof Error?V:Error(String(V)),{directive:"@json"},"error"),X.lastIndex=Q+_.length}}return Y}function n4($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function IX($){let Z=$,Y=/@memo\s*\(/g,X,J=[];while((X=Y.exec(Z))!==null){let Q=X.index,G=Q+X[0].length,K=1,z=G;while(z<Z.length&&K>0){if(Z[z]==="(")K++;else if(Z[z]===")")K--;z++}if(K!==0)continue;let q=Z.slice(G,z-1).trim(),U=z,W=Z.slice(U),_=W.indexOf("@endmemo");if(_===-1)continue;let B=W.slice(0,_),j=U+_+8,H=B.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),L=H?H[0].length:0,F=B.slice(L),O=B.match(/(\s*)$/),V=O?O[0].length:0,A=F.slice(0,F.length-V),w=A.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),R;if(w){let[N,M,T="",I]=w,D=`<${M}${T} data-stx-memo="${q}"${I}>`;R=B.slice(0,L)+D+A.slice(N.length)+B.slice(L+A.length)}else R=`${B.slice(0,L)}<div data-stx-memo="${q}">${A}</div>${B.slice(L+A.length)}`;J.push({start:Q,end:j,replacement:R}),Y.lastIndex=j}for(let Q=J.length-1;Q>=0;Q--){let G=J[Q];Z=Z.slice(0,G.start)+G.replacement+Z.slice(G.end)}return Z.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function e6($){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 DX($){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="",J=0,Q;while((Q=Y.exec($))!==null){let G=Q.index,K=G+Q[0].length,z=!1,q=!1,U=-1;while(K<$.length){let H=$[K];if(z){if(H==="'")z=!1}else if(q){if(H==='"')q=!1}else if(H==="'")z=!0;else if(H==='"')q=!0;else if(H===">"){U=K;break}K++}if(U===-1)continue;if($.slice(G,U+1).includes("x-cloak"))continue;let _=$.slice(U+1),B=_.indexOf("</"),j=B>=0?_.slice(0,B):_.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(j))X+=$.slice(J,U)+" x-cloak>",J=U+1}return X+=$.slice(J),X}function EX($){let Z=/<[a-z][\w-]*/gi,Y="",X=0,J;while((J=Z.exec($))!==null){let Q=J.index,G=J[0].slice(1).toLowerCase();if(G==="script"||G==="style"){let j=`</${G}>`,H=$.toLowerCase().indexOf(j,Q);if(H!==-1)Z.lastIndex=H+j.length;continue}let K=Q+J[0].length,z=!1,q=!1,U=-1;while(K<$.length){let j=$[K];if(z){if(j==="'")z=!1}else if(q){if(j==='"')q=!1}else if(j==="'")z=!0;else if(j==='"')q=!0;else if(j===">"){U=K;break}K++}if(U===-1)continue;let W=$.slice(Q+J[0].length,U);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(W))continue;if(!I_.test(W))continue;let _=$[U-1]==="/",B=_?U-1:U;Y+=`${$.slice(X,B)} x-cloak${_?" ":""}`,X=B}return Y+=$.slice(X),Y}var I_;var $9=C(()=>{Q1();R0();I_=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function o4($,Z,Y){let X=typeof Y==="boolean"?{enabled:Y,failOnViolation:Y}:Y??{enabled:!1},J=X.allowPatterns??[],Q=[];for(let{pattern:G,message:K,suggestion:z}of D_){if(J.some((U)=>K.includes(U)||G.source.includes(U)))continue;G.lastIndex=0;let q=$.match(G);if(q&&q.length>0){let U=$.split(`
9559
+ </style>`;X=X.replace(q,F),K.lastIndex=0}catch(L){}}}return X}var MX=P(()=>{r1()});function i4($,Z){let Y=$,X=/@json\s*\(/g,J;while((J=X.exec(Y))!==null){let Q=J.index,G=Q+J[0].length-1,K=1,z=G+1,q=null,U=!1;while(z<Y.length&&K>0){let V=Y[z];if(U){U=!1,z++;continue}if(V==="\\"&&q){U=!0,z++;continue}if(q){if(V===q)q=null;z++;continue}if(V==='"'||V==="'"||V==="`"){q=V,z++;continue}if(V==="(")K++;else if(V===")"){if(K--,K===0)break}z++}if(K!==0)break;let W=Y.substring(G+1,z).trim(),_=Y.substring(Q,z+1),B=-1,j=0,H=null,L=!1;for(let V=0;V<W.length;V++){let A=W[V];if(L){L=!1;continue}if(A==="\\"&&H){L=!0;continue}if(H){if(A===H)H=null;continue}if(A==='"'||A==="'"||A==="`"){H=A;continue}if(A==="("||A==="["||A==="{")j++;else if(A===")"||A==="]"||A==="}")j--;if(A===","&&j===0){B=V;break}}let F=B>=0?W.substring(0,B).trim():W,O=B>=0?W.substring(B+1).trim():void 0;try{let V=F.trim(),A;if($0(V))A=Z0(V,Object.keys(Z))(...Object.values(Z));else A=void 0;let w;if(O==="true")w=JSON.stringify(A,null,2);else w=JSON.stringify(A);let R=w.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Y=Y.substring(0,Q)+R+Y.substring(z+1),X.lastIndex=Q+R.length}catch(V){p0.log(V instanceof Error?V:Error(String(V)),{directive:"@json"},"error"),X.lastIndex=Q+_.length}}return Y}function n4($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function IX($){let Z=$,Y=/@memo\s*\(/g,X,J=[];while((X=Y.exec(Z))!==null){let Q=X.index,G=Q+X[0].length,K=1,z=G;while(z<Z.length&&K>0){if(Z[z]==="(")K++;else if(Z[z]===")")K--;z++}if(K!==0)continue;let q=Z.slice(G,z-1).trim(),U=z,W=Z.slice(U),_=W.indexOf("@endmemo");if(_===-1)continue;let B=W.slice(0,_),j=U+_+8,H=B.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),L=H?H[0].length:0,F=B.slice(L),O=B.match(/(\s*)$/),V=O?O[0].length:0,A=F.slice(0,F.length-V),w=A.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),R;if(w){let[N,M,T="",I]=w,D=`<${M}${T} data-stx-memo="${q}"${I}>`;R=B.slice(0,L)+D+A.slice(N.length)+B.slice(L+A.length)}else R=`${B.slice(0,L)}<div data-stx-memo="${q}">${A}</div>${B.slice(L+A.length)}`;J.push({start:Q,end:j,replacement:R}),Y.lastIndex=j}for(let Q=J.length-1;Q>=0;Q--){let G=J[Q];Z=Z.slice(0,G.start)+G.replacement+Z.slice(G.end)}return Z.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function e6($){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 DX($){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="",J=0,Q;while((Q=Y.exec($))!==null){let G=Q.index,K=G+Q[0].length,z=!1,q=!1,U=-1;while(K<$.length){let H=$[K];if(z){if(H==="'")z=!1}else if(q){if(H==='"')q=!1}else if(H==="'")z=!0;else if(H==='"')q=!0;else if(H===">"){U=K;break}K++}if(U===-1)continue;if($.slice(G,U+1).includes("x-cloak"))continue;let _=$.slice(U+1),B=_.indexOf("</"),j=B>=0?_.slice(0,B):_.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(j))X+=$.slice(J,U)+" x-cloak>",J=U+1}return X+=$.slice(J),X}function EX($){let Z=/<[a-z][\w-]*/gi,Y="",X=0,J;while((J=Z.exec($))!==null){let Q=J.index,G=J[0].slice(1).toLowerCase();if(G==="script"||G==="style"){let j=`</${G}>`,H=$.toLowerCase().indexOf(j,Q);if(H!==-1)Z.lastIndex=H+j.length;continue}let K=Q+J[0].length,z=!1,q=!1,U=-1;while(K<$.length){let j=$[K];if(z){if(j==="'")z=!1}else if(q){if(j==='"')q=!1}else if(j==="'")z=!0;else if(j==='"')q=!0;else if(j===">"){U=K;break}K++}if(U===-1)continue;let W=$.slice(Q+J[0].length,U);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(W))continue;if(!I_.test(W))continue;let _=$[U-1]==="/",B=_?U-1:U;Y+=`${$.slice(X,B)} x-cloak${_?" ":""}`,X=B}return Y+=$.slice(X),Y}var I_;var $9=P(()=>{Q1();R0();I_=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function o4($,Z,Y){let X=typeof Y==="boolean"?{enabled:Y,failOnViolation:Y}:Y??{enabled:!1},J=X.allowPatterns??[],Q=[];for(let{pattern:G,message:K,suggestion:z}of D_){if(J.some((U)=>K.includes(U)||G.source.includes(U)))continue;G.lastIndex=0;let q=$.match(G);if(q&&q.length>0){let U=$.split(`
9560
9560
  `),W=[];U.forEach((B,j)=>{if(G.lastIndex=0,G.test(B))W.push(j+1)});let _=W.length>0?` (line${W.length>1?"s":""}: ${W.join(", ")})`:"";Q.push(` \u2717 ${K}${_}
9561
9561
  \u2192 ${z}`)}}if(Q.length>0&&X.enabled){let K=`[STX] DOM API violation in ${Z.split("/").pop()||Z}:
9562
9562
  ${Q.join(`
9563
9563
  `)}
9564
- Tip: prefer useRef(), navigate(), and composables for component code`;if(X.failOnViolation)throw Error(K);else console.warn(K)}}var D_;var Z9=C(()=>{D_=[{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 kX={};p(kX,{getStoreScript:()=>E_,clearStoreCache:()=>k_});import s4 from"path";async function E_($){let Z;if($)Z=s4.resolve($);else{let U=await $4();Z=s4.resolve(U.root||process.cwd(),U.storesDir||"stores")}let Y=V5.get(Z);if(Y!==void 0)return Y||null;let X=new Bun.Glob("*.ts"),J=[];try{for await(let U of X.scan({cwd:Z,absolute:!0})){let W=s4.basename(U,".ts");if(["index","types"].includes(W))continue;if(U.includes(".d.ts"))continue;J.push(U)}}catch{return V5.set(Z,""),null}if(J.length===0)return V5.set(Z,""),null;let Q=[];for(let U of J){let W=await Bun.file(U).text();Q.push({file:U,hasUseStore:/useStore\s*\(/.test(W)})}Q.sort((U,W)=>{if(U.hasUseStore===W.hasUseStore)return 0;return U.hasUseStore?1:-1});let G=Q.map((U)=>U.file),K=[],z=new Bun.Transpiler({loader:"ts",target:"browser",define:r0()});for(let U of G)try{let W=await Bun.file(U).text(),_=s4.basename(U,".ts");W=W.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),W=W.replace(/^export\s+(default\s+)?/gm,""),W=z.transformSync(W),K.push(`// Store: ${_}
9564
+ Tip: prefer useRef(), navigate(), and composables for component code`;if(X.failOnViolation)throw Error(K);else console.warn(K)}}var D_;var Z9=P(()=>{D_=[{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 kX={};p(kX,{getStoreScript:()=>E_,clearStoreCache:()=>k_});import s4 from"path";async function E_($){let Z;if($)Z=s4.resolve($);else{let U=await $4();Z=s4.resolve(U.root||process.cwd(),U.storesDir||"stores")}let Y=V5.get(Z);if(Y!==void 0)return Y||null;let X=new Bun.Glob("*.ts"),J=[];try{for await(let U of X.scan({cwd:Z,absolute:!0})){let W=s4.basename(U,".ts");if(["index","types"].includes(W))continue;if(U.includes(".d.ts"))continue;J.push(U)}}catch{return V5.set(Z,""),null}if(J.length===0)return V5.set(Z,""),null;let Q=[];for(let U of J){let W=await Bun.file(U).text();Q.push({file:U,hasUseStore:/useStore\s*\(/.test(W)})}Q.sort((U,W)=>{if(U.hasUseStore===W.hasUseStore)return 0;return U.hasUseStore?1:-1});let G=Q.map((U)=>U.file),K=[],z=new Bun.Transpiler({loader:"ts",target:"browser",define:r0()});for(let U of G)try{let W=await Bun.file(U).text(),_=s4.basename(U,".ts");W=W.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),W=W.replace(/^export\s+(default\s+)?/gm,""),W=z.transformSync(W),K.push(`// Store: ${_}
9565
9565
  ${W.trim()}`)}catch(W){console.warn(`[stx] Failed to load store ${U}:`,W)}if(K.length===0)return V5.set(Z,""),null;let q=`;(function(){
9566
9566
  ${K.join(`
9567
9567
 
9568
9568
  `)}
9569
- })();`;return V5.set(Z,q),q}function k_(){V5.clear()}var V5;var SX=C(()=>{x5();r1();V5=new Map});var yX={};p(yX,{processDeferDirectives:()=>P_});function S_(){return`stx-defer-${++bX}`}function b_($){let Z=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(Z)return{trigger:Z[1],value:Z[2]};return{trigger:"immediate"}}function y_($,Z,Y){let{trigger:X,value:J}=b_(Z),Q=Y,G,K,z,q=Y.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(q)G=q[1].trim(),Q=Q.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let U=Y.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(U)K=U[1].trim(),Q=Q.replace(/@loading[\s\S]*?(?=@error|$)/,"");let W=Y.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(W)z=W[2].trim(),Q=Q.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return Q=Q.trim(),{trigger:X,triggerValue:J,content:Q,placeholder:G,loading:K,error:z}}function C_($,Z){let{trigger:Y,triggerValue:X}=Z,J;switch(Y){case"visible":J=`
9569
+ })();`;return V5.set(Z,q),q}function k_(){V5.clear()}var V5;var SX=P(()=>{x5();r1();V5=new Map});var yX={};p(yX,{processDeferDirectives:()=>P_});function S_(){return`stx-defer-${++bX}`}function b_($){let Z=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(Z)return{trigger:Z[1],value:Z[2]};return{trigger:"immediate"}}function y_($,Z,Y){let{trigger:X,value:J}=b_(Z),Q=Y,G,K,z,q=Y.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(q)G=q[1].trim(),Q=Q.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let U=Y.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(U)K=U[1].trim(),Q=Q.replace(/@loading[\s\S]*?(?=@error|$)/,"");let W=Y.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(W)z=W[2].trim(),Q=Q.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return Q=Q.trim(),{trigger:X,triggerValue:J,content:Q,placeholder:G,loading:K,error:z}}function C_($,Z){let{trigger:Y,triggerValue:X}=Z,J;switch(Y){case"visible":J=`
9570
9570
  const observer = new IntersectionObserver((entries) => {
9571
9571
  if (entries[0].isIntersecting) {
9572
9572
  observer.disconnect();
@@ -11516,7 +11516,7 @@ else {
11516
11516
  });
11517
11517
  })();
11518
11518
  </script>
11519
- `})}var DB;var eX=C(()=>{DB={createVirtualList:Y9,processVirtualListDirectives:X9,processInfiniteListDirectives:rX,processVirtualGridDirectives:aX,generateVirtualListCSS:oX,useVirtualList:sX}});function $J(){return`<script data-stx-hydration-runtime>
11519
+ `})}var DB;var eX=P(()=>{DB={createVirtualList:Y9,processVirtualListDirectives:X9,processInfiniteListDirectives:rX,processVirtualGridDirectives:aX,generateVirtualListCSS:oX,useVirtualList:sX}});function $J(){return`<script data-stx-hydration-runtime>
11520
11520
  (function() {
11521
11521
  'use strict';
11522
11522
 
@@ -11910,7 +11910,7 @@ else {
11910
11910
  <script type="application/json" id="stx-island-manifest">
11911
11911
  ${JSON.stringify(Z)}
11912
11912
  </script>
11913
- `}var vB;var jJ=C(()=>{vB={processPartialHydrationDirectives:JJ,processStaticDirectives:WJ,generatePartialHydrationCSS:QJ,generateIslandManifest:_J,createIslandRegistry:XJ,hydrateIsland:GJ,hydrateByStrategy:KJ,hydrateAll:zJ,isHydrated:qJ,onHydrated:UJ}});var MJ={};p(MJ,{watchMultiple:()=>VJ,watchEffect:()=>wJ,watch:()=>FJ,unref:()=>HJ,toRefs:()=>OJ,throttledComputed:()=>TJ,stxWatchMultiple:()=>VJ,stxWatchEffect:()=>wJ,stxWatch:()=>FJ,stxUnref:()=>HJ,stxToRefs:()=>OJ,stxThrottledComputed:()=>TJ,stxShallowRef:()=>LJ,stxRef:()=>A5,stxIsRef:()=>T1,stxDebouncedComputed:()=>NJ,stxComputed:()=>$$,shallowRef:()=>LJ,ref:()=>A5,processWatchDirectives:()=>RJ,processComputedDirectives:()=>AJ,isRef:()=>T1,default:()=>xB,debouncedComputed:()=>NJ,computed:()=>$$});function A5($){let Z=$,Y=new Set,X={get value(){if(Z1){let J=e5.get(X);if(!J)J=new Set,e5.set(X,J);J.add(Z1)}return Z},set value(J){if(!Object.is(Z,J)){Z=J,Y.forEach((G)=>G(J));let Q=e5.get(X);if(Q)Q.forEach((G)=>G())}},subscribe(J){return Y.add(J),()=>Y.delete(J)},peek(){return Z}};return X}function T1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function HJ($){return T1($)?$.value:$}function OJ($){let Z={};for(let Y in $)if(Object.prototype.hasOwnProperty.call($,Y))Z[Y]=A5($[Y]);return Z}function LJ($){return A5($)}function $$($){let Z=typeof $==="function",Y=Z?$:$.get,X=Z?void 0:$.set,J=Z?Object.is:$.equals||Object.is,Q,G=!0,K=new Set,z=new Set,q=()=>{if(G=!0,z.size>0){let _=W.value;z.forEach((B)=>B(_))}};function U(){K.clear();let _=Z1;Z1=q,r4.push(q);try{return Y()}finally{r4.pop(),Z1=_}}let W={get value(){if(Z1){let _=e5.get(W);if(!_)_=new Set,e5.set(W,_);_.add(Z1)}if(G){let _=U();if(!J(Q,_))Q=_;G=!1}return Q},set value(_){if(X)X(_);else console.warn("Computed property is readonly")},subscribe(_){return z.add(_),()=>z.delete(_)},peek(){if(G)Q=Y(),G=!1;return Q},invalidate(){G=!0},get dirty(){return G},get deps(){return K}};return W}function FJ($,Z,Y={}){let{immediate:X=!1,deep:J=!1,flush:Q="pre",once:G=!1}=Y,K,z=!0,q=!1,U=()=>{if(T1($))return J?n1($.value):$.value;return $()},W=()=>{if(!z||q)return;let j=U();if(K!==void 0&&Object.is(K,j)&&!J)return;let H=()=>{if(Z(j,K),K=J?n1(j):j,G)B()};if(Q==="sync")H();else if(Q==="post")queueMicrotask(H);else Promise.resolve().then(H)},_=null;if(T1($))_=$.subscribe(()=>W());else _=$$($).subscribe(()=>W());if(X)K=void 0,W();else K=U();let B=()=>{if(z=!1,_)_(),_=null};return B.pause=()=>{q=!0},B.resume=()=>{q=!1},B}function VJ($,Z,Y={}){let{immediate:X=!1,once:J=!1}=Y,Q=$.map((W)=>T1(W)?W.value:void 0),G=!0,K=!1,z=()=>{if(!G||K)return;let W=$.map((_)=>T1(_)?_.value:void 0);if(Z(W,Q),Q=[...W],J)U()},q=$.map((W)=>{if(T1(W))return W.subscribe(()=>z());return()=>{}});if(X)z();let U=()=>{G=!1,q.forEach((W)=>W())};return U.pause=()=>{K=!0},U.resume=()=>{K=!1},U}function wJ($,Z={}){let{flush:Y="pre"}=Z,X,J=!0,Q=!1,G=()=>{if(!J||Q)return;if(X)X();let z=Z1;Z1=G,r4.push(G);try{X=$()}finally{r4.pop(),Z1=z}};if(Y==="sync")G();else if(Y==="post")queueMicrotask(G);else Promise.resolve().then(G);let K=()=>{if(J=!1,X)X()};return K.pause=()=>{Q=!0},K.resume=()=>{Q=!1},K}function AJ($,Z={},Y){let X=/@computed\s*\(\s*(\w+)\s*,\s*(.+?)\s*\)/gi;return $.replace(X,(J,Q,G)=>{try{let z=Function(...Object.keys(Z),`return ${G}`)(...Object.values(Z));return Z[Q]=z,`<!-- computed: ${Q} = ${z} -->`}catch(K){return`<!-- computed error: ${Q} - ${K} -->`}})}function RJ($,Z={},Y){let X=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return $.replace(X,(J,Q,G)=>{return`
11913
+ `}var vB;var jJ=P(()=>{vB={processPartialHydrationDirectives:JJ,processStaticDirectives:WJ,generatePartialHydrationCSS:QJ,generateIslandManifest:_J,createIslandRegistry:XJ,hydrateIsland:GJ,hydrateByStrategy:KJ,hydrateAll:zJ,isHydrated:qJ,onHydrated:UJ}});var MJ={};p(MJ,{watchMultiple:()=>VJ,watchEffect:()=>wJ,watch:()=>FJ,unref:()=>HJ,toRefs:()=>OJ,throttledComputed:()=>TJ,stxWatchMultiple:()=>VJ,stxWatchEffect:()=>wJ,stxWatch:()=>FJ,stxUnref:()=>HJ,stxToRefs:()=>OJ,stxThrottledComputed:()=>TJ,stxShallowRef:()=>LJ,stxRef:()=>A5,stxIsRef:()=>T1,stxDebouncedComputed:()=>NJ,stxComputed:()=>$$,shallowRef:()=>LJ,ref:()=>A5,processWatchDirectives:()=>RJ,processComputedDirectives:()=>AJ,isRef:()=>T1,default:()=>xB,debouncedComputed:()=>NJ,computed:()=>$$});function A5($){let Z=$,Y=new Set,X={get value(){if(Z1){let J=e5.get(X);if(!J)J=new Set,e5.set(X,J);J.add(Z1)}return Z},set value(J){if(!Object.is(Z,J)){Z=J,Y.forEach((G)=>G(J));let Q=e5.get(X);if(Q)Q.forEach((G)=>G())}},subscribe(J){return Y.add(J),()=>Y.delete(J)},peek(){return Z}};return X}function T1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function HJ($){return T1($)?$.value:$}function OJ($){let Z={};for(let Y in $)if(Object.prototype.hasOwnProperty.call($,Y))Z[Y]=A5($[Y]);return Z}function LJ($){return A5($)}function $$($){let Z=typeof $==="function",Y=Z?$:$.get,X=Z?void 0:$.set,J=Z?Object.is:$.equals||Object.is,Q,G=!0,K=new Set,z=new Set,q=()=>{if(G=!0,z.size>0){let _=W.value;z.forEach((B)=>B(_))}};function U(){K.clear();let _=Z1;Z1=q,r4.push(q);try{return Y()}finally{r4.pop(),Z1=_}}let W={get value(){if(Z1){let _=e5.get(W);if(!_)_=new Set,e5.set(W,_);_.add(Z1)}if(G){let _=U();if(!J(Q,_))Q=_;G=!1}return Q},set value(_){if(X)X(_);else console.warn("Computed property is readonly")},subscribe(_){return z.add(_),()=>z.delete(_)},peek(){if(G)Q=Y(),G=!1;return Q},invalidate(){G=!0},get dirty(){return G},get deps(){return K}};return W}function FJ($,Z,Y={}){let{immediate:X=!1,deep:J=!1,flush:Q="pre",once:G=!1}=Y,K,z=!0,q=!1,U=()=>{if(T1($))return J?n1($.value):$.value;return $()},W=()=>{if(!z||q)return;let j=U();if(K!==void 0&&Object.is(K,j)&&!J)return;let H=()=>{if(Z(j,K),K=J?n1(j):j,G)B()};if(Q==="sync")H();else if(Q==="post")queueMicrotask(H);else Promise.resolve().then(H)},_=null;if(T1($))_=$.subscribe(()=>W());else _=$$($).subscribe(()=>W());if(X)K=void 0,W();else K=U();let B=()=>{if(z=!1,_)_(),_=null};return B.pause=()=>{q=!0},B.resume=()=>{q=!1},B}function VJ($,Z,Y={}){let{immediate:X=!1,once:J=!1}=Y,Q=$.map((W)=>T1(W)?W.value:void 0),G=!0,K=!1,z=()=>{if(!G||K)return;let W=$.map((_)=>T1(_)?_.value:void 0);if(Z(W,Q),Q=[...W],J)U()},q=$.map((W)=>{if(T1(W))return W.subscribe(()=>z());return()=>{}});if(X)z();let U=()=>{G=!1,q.forEach((W)=>W())};return U.pause=()=>{K=!0},U.resume=()=>{K=!1},U}function wJ($,Z={}){let{flush:Y="pre"}=Z,X,J=!0,Q=!1,G=()=>{if(!J||Q)return;if(X)X();let z=Z1;Z1=G,r4.push(G);try{X=$()}finally{r4.pop(),Z1=z}};if(Y==="sync")G();else if(Y==="post")queueMicrotask(G);else Promise.resolve().then(G);let K=()=>{if(J=!1,X)X()};return K.pause=()=>{Q=!0},K.resume=()=>{Q=!1},K}function AJ($,Z={},Y){let X=/@computed\s*\(\s*(\w+)\s*,\s*(.+?)\s*\)/gi;return $.replace(X,(J,Q,G)=>{try{let z=Function(...Object.keys(Z),`return ${G}`)(...Object.values(Z));return Z[Q]=z,`<!-- computed: ${Q} = ${z} -->`}catch(K){return`<!-- computed error: ${Q} - ${K} -->`}})}function RJ($,Z={},Y){let X=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return $.replace(X,(J,Q,G)=>{return`
11914
11914
  <script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
11915
11915
  (function() {
11916
11916
  // Watch implementation for ${Q}
@@ -11922,9 +11922,9 @@ else {
11922
11922
  }
11923
11923
  })();
11924
11924
  </script>
11925
- `})}function n1($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Y)=>n1(Y));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let Y=new Map;return $.forEach((X,J)=>Y.set(n1(J),n1(X))),Y}if($ instanceof Set){let Y=new Set;return $.forEach((X)=>Y.add(n1(X))),Y}let Z={};for(let Y in $)if(Object.prototype.hasOwnProperty.call($,Y))Z[Y]=n1($[Y]);return Z}function NJ($,Z=100){let Y=A5($()),X=null,J=()=>{if(X)clearTimeout(X);X=setTimeout(()=>{Y.value=$()},Z)};return $$($).subscribe(()=>J()),{get value(){return Y.value},set value(G){console.warn("Debounced computed is readonly")},subscribe:Y.subscribe,peek:Y.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}function TJ($,Z=100){let Y=A5($()),X=0,J=()=>{let G=Date.now();if(G-X>=Z)X=G,Y.value=$()};return $$($).subscribe(()=>J()),{get value(){return Y.value},set value(G){console.warn("Throttled computed is readonly")},subscribe:Y.subscribe,peek:Y.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}var Z1=null,r4,e5,xB;var IJ=C(()=>{r4=[],e5=new WeakMap;xB={ref:A5,computed:$$,watch:FJ,watchMultiple:VJ,watchEffect:wJ,isRef:T1,unref:HJ,toRefs:OJ,shallowRef:LJ,debouncedComputed:NJ,throttledComputed:TJ,processComputedDirectives:AJ,processWatchDirectives:RJ}});var SJ={};p(SJ,{v:()=>fB,processHasErrorsDirective:()=>kJ,processFormValidationDirectives:()=>hB,processErrorsDirective:()=>EJ,processErrorDirective:()=>DJ,defineForm:()=>gB,Validator:()=>R5});class R5{rules=[];defaultValue="";addRule($){let Z=new R5;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:(J)=>{if(!J)return!0;let Q=String(J).length;return Q>=$&&Q<=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:(J)=>{if(!J&&J!==0)return!0;let Q=Number(J);return Q>=$&&Q<=Z||X}})}matches($,Z){let Y=Z||`Must match ${$}`;return this.addRule({name:"matches",message:Y,validate:(X,J)=>{if(!J)return!0;return X===J[$]||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:(J)=>{if(!J)return!0;return new Date(String(J))<Y||X}})}after($,Z){let Y=new Date($),X=Z||`Must be after ${Y.toLocaleDateString()}`;return this.addRule({name:"after",message:X,validate:(J)=>{if(!J)return!0;return new Date(String(J))>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 R5;Y.rules=[...this.rules],Y.defaultValue=this.defaultValue;for(let X of Z.getRules())Y.rules.push({...X,validate:(J,Q)=>{if(!$(J,Q||{}))return!0;return X.validate(J,Q)}});return Y}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default($){let Z=new R5;return Z.rules=[...this.rules],Z.defaultValue=$,Z}async validate($,Z){let Y=[];for(let X of this.rules){let J=await X.validate($,Z);if(J!==!0)Y.push(J)}return Y}validateSync($,Z){let Y=[];for(let X of this.rules){if(X.async)continue;let J=X.validate($,Z);if(J!==!0)Y.push(J)}return Y}}function gB($,Z){let Y=Object.keys($),X={},J={},Q={},G={},K={};for(let O of Y)X[O]=Z?.[O]??$[O].getDefaultValue(),J[O]=[],Q[O]=!1,G[O]=!1,K[O]=!1;let z=!1;async function q(O){K[O]=!0;let V=await $[O].validate(X[O],X);return J[O]=V,K[O]=!1,V.length===0}async function U(){z=!0;let O=await Promise.all(Y.map(q));return z=!1,O.every(Boolean)}function W(){for(let O of Y)X[O]=Z?.[O]??$[O].getDefaultValue(),J[O]=[],Q[O]=!1,G[O]=!1}function _(O){for(let V of Y)if(V in O)X[V]=O[V],G[V]=!0}function B(O,V){X[O]=V,G[O]=!0}function j(O,V=!0){if(Q[O]=V,V)q(O)}function H(O){return{value:X[O],errors:J[O],touched:Q[O],dirty:G[O],valid:J[O].length===0,validating:K[O]}}function L(O){return async(V)=>{V?.preventDefault?.();for(let w of Y)Q[w]=!0;if(await U())await O(X)}}return{values:X,errors:J,touched:Q,dirty:G,get isValid(){return Y.every((O)=>J[O].length===0)},get isValidating(){return z||Y.some((O)=>K[O])},get isDirty(){return Y.some((O)=>G[O])},validate:U,validateField:q,reset:W,setValues:_,setFieldValue:B,setFieldTouched:j,getFieldState:H,handleSubmit:L}}function DJ($,Z,Y){let X=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return $.replace(X,(J,Q,G)=>{try{let K=Q.trim().split("."),z=Z;for(let U of K)if(z&&typeof z==="object"&&U in z)z=z[U];else return"";let q=z;if(!q||!Array.isArray(q)||q.length===0)return"";return q.map((U)=>{return G.replace(/\{\{\s*message\s*\}\}/g,U)}).join(`
11925
+ `})}function n1($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Y)=>n1(Y));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let Y=new Map;return $.forEach((X,J)=>Y.set(n1(J),n1(X))),Y}if($ instanceof Set){let Y=new Set;return $.forEach((X)=>Y.add(n1(X))),Y}let Z={};for(let Y in $)if(Object.prototype.hasOwnProperty.call($,Y))Z[Y]=n1($[Y]);return Z}function NJ($,Z=100){let Y=A5($()),X=null,J=()=>{if(X)clearTimeout(X);X=setTimeout(()=>{Y.value=$()},Z)};return $$($).subscribe(()=>J()),{get value(){return Y.value},set value(G){console.warn("Debounced computed is readonly")},subscribe:Y.subscribe,peek:Y.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}function TJ($,Z=100){let Y=A5($()),X=0,J=()=>{let G=Date.now();if(G-X>=Z)X=G,Y.value=$()};return $$($).subscribe(()=>J()),{get value(){return Y.value},set value(G){console.warn("Throttled computed is readonly")},subscribe:Y.subscribe,peek:Y.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}var Z1=null,r4,e5,xB;var IJ=P(()=>{r4=[],e5=new WeakMap;xB={ref:A5,computed:$$,watch:FJ,watchMultiple:VJ,watchEffect:wJ,isRef:T1,unref:HJ,toRefs:OJ,shallowRef:LJ,debouncedComputed:NJ,throttledComputed:TJ,processComputedDirectives:AJ,processWatchDirectives:RJ}});var SJ={};p(SJ,{v:()=>fB,processHasErrorsDirective:()=>kJ,processFormValidationDirectives:()=>hB,processErrorsDirective:()=>EJ,processErrorDirective:()=>DJ,defineForm:()=>gB,Validator:()=>R5});class R5{rules=[];defaultValue="";addRule($){let Z=new R5;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:(J)=>{if(!J)return!0;let Q=String(J).length;return Q>=$&&Q<=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:(J)=>{if(!J&&J!==0)return!0;let Q=Number(J);return Q>=$&&Q<=Z||X}})}matches($,Z){let Y=Z||`Must match ${$}`;return this.addRule({name:"matches",message:Y,validate:(X,J)=>{if(!J)return!0;return X===J[$]||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:(J)=>{if(!J)return!0;return new Date(String(J))<Y||X}})}after($,Z){let Y=new Date($),X=Z||`Must be after ${Y.toLocaleDateString()}`;return this.addRule({name:"after",message:X,validate:(J)=>{if(!J)return!0;return new Date(String(J))>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 R5;Y.rules=[...this.rules],Y.defaultValue=this.defaultValue;for(let X of Z.getRules())Y.rules.push({...X,validate:(J,Q)=>{if(!$(J,Q||{}))return!0;return X.validate(J,Q)}});return Y}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default($){let Z=new R5;return Z.rules=[...this.rules],Z.defaultValue=$,Z}async validate($,Z){let Y=[];for(let X of this.rules){let J=await X.validate($,Z);if(J!==!0)Y.push(J)}return Y}validateSync($,Z){let Y=[];for(let X of this.rules){if(X.async)continue;let J=X.validate($,Z);if(J!==!0)Y.push(J)}return Y}}function gB($,Z){let Y=Object.keys($),X={},J={},Q={},G={},K={};for(let O of Y)X[O]=Z?.[O]??$[O].getDefaultValue(),J[O]=[],Q[O]=!1,G[O]=!1,K[O]=!1;let z=!1;async function q(O){K[O]=!0;let V=await $[O].validate(X[O],X);return J[O]=V,K[O]=!1,V.length===0}async function U(){z=!0;let O=await Promise.all(Y.map(q));return z=!1,O.every(Boolean)}function W(){for(let O of Y)X[O]=Z?.[O]??$[O].getDefaultValue(),J[O]=[],Q[O]=!1,G[O]=!1}function _(O){for(let V of Y)if(V in O)X[V]=O[V],G[V]=!0}function B(O,V){X[O]=V,G[O]=!0}function j(O,V=!0){if(Q[O]=V,V)q(O)}function H(O){return{value:X[O],errors:J[O],touched:Q[O],dirty:G[O],valid:J[O].length===0,validating:K[O]}}function L(O){return async(V)=>{V?.preventDefault?.();for(let w of Y)Q[w]=!0;if(await U())await O(X)}}return{values:X,errors:J,touched:Q,dirty:G,get isValid(){return Y.every((O)=>J[O].length===0)},get isValidating(){return z||Y.some((O)=>K[O])},get isDirty(){return Y.some((O)=>G[O])},validate:U,validateField:q,reset:W,setValues:_,setFieldValue:B,setFieldTouched:j,getFieldState:H,handleSubmit:L}}function DJ($,Z,Y){let X=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return $.replace(X,(J,Q,G)=>{try{let K=Q.trim().split("."),z=Z;for(let U of K)if(z&&typeof z==="object"&&U in z)z=z[U];else return"";let q=z;if(!q||!Array.isArray(q)||q.length===0)return"";return q.map((U)=>{return G.replace(/\{\{\s*message\s*\}\}/g,U)}).join(`
11926
11926
  `)}catch{return""}})}function EJ($,Z,Y){let X=/@errors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderrors/g;return $.replace(X,(J,Q,G)=>{try{let K=Q.trim().split("."),z=Z;for(let U of K)if(z&&typeof z==="object"&&U in z)z=z[U];else return"";let q=z;if(!q||!Array.isArray(q)||q.length===0)return"";return q.map((U)=>G.replace(/\{\{\s*message\s*\}\}/g,U)).join(`
11927
- `)}catch{return""}})}function kJ($,Z,Y){let X=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return $.replace(X,(J,Q,G)=>{try{let K=Q.trim().split("."),z=Z;for(let U of K)if(z&&typeof z==="object"&&U in z)z=z[U];else return"";let q=z;if(!q||!Array.isArray(q)||q.length===0)return"";return G}catch{return""}})}function hB($,Z,Y){let X=$;return X=DJ(X,Z,Y),X=EJ(X,Z,Y),X=kJ(X,Z,Y),X}var fB;var bJ=C(()=>{fB=new R5});var PJ={};p(PJ,{processXElementDirectives:()=>dB,hasXElementDirectives:()=>CJ,generateXElementRuntime:()=>yJ});function yJ(){return`<script data-stx-scoped>
11927
+ `)}catch{return""}})}function kJ($,Z,Y){let X=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return $.replace(X,(J,Q,G)=>{try{let K=Q.trim().split("."),z=Z;for(let U of K)if(z&&typeof z==="object"&&U in z)z=z[U];else return"";let q=z;if(!q||!Array.isArray(q)||q.length===0)return"";return G}catch{return""}})}function hB($,Z,Y){let X=$;return X=DJ(X,Z,Y),X=EJ(X,Z,Y),X=kJ(X,Z,Y),X}var fB;var bJ=P(()=>{fB=new R5});var PJ={};p(PJ,{processXElementDirectives:()=>dB,hasXElementDirectives:()=>CJ,generateXElementRuntime:()=>yJ});function yJ(){return`<script data-stx-scoped>
11928
11928
  (function() {
11929
11929
  'use strict';
11930
11930
 
@@ -12213,7 +12213,7 @@ else {
12213
12213
  `+Z}import a4 from"fs";import t4 from"path";function uB($){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 lB($,Z){let Y=t4.basename($);for(let X of Z)if(X.startsWith("*.")){let J=X.slice(1);if(Y.endsWith(J))return!0}else if(X.includes("*")){let J=new RegExp(`^${X.replace(/\*/g,".*")}$`);if(J.test(Y)||J.test($))return!0}else if(Y===X||$.includes(X))return!0;return!1}function pB($,Z,Y){let X=t4.extname($).toLowerCase(),J=mB[X],Q=(Y.maxFileSizeKB||500)*1024;if(Z>Q)return!1;if(Y.exclude&&lB($,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(J&&Y[J]===!0)return!0;if(!J)return!1;return!1}function vJ($,Z,Y,X){let J=a4.readdirSync($,{withFileTypes:!0});for(let Q of J){let G=t4.join($,Q.name);if(Q.isDirectory()){if(["node_modules",".git",".stx"].includes(Q.name))continue;vJ(G,Z,Y,X)}else if(Q.isFile()){let K=a4.statSync(G),z=t4.relative(Z,G);if(pB(z,K.size,Y)){let q=a4.readFileSync(G),U=uB(q),W=`/${z.replace(/\\/g,"/")}`;X.push({url:W,revision:U,size:K.size})}}}}function Z$($,Z){let Y=Z.pwa?.precache,X=[];if(!Y?.enabled)return{entries:[],totalSize:0,fileCount:0};if(!a4.existsSync($))return{entries:[],totalSize:0,fileCount:0};vJ($,$,Y,X),X.sort((Q,G)=>Q.url.localeCompare(G.url));let J=X.reduce((Q,G)=>Q+G.size,0);return{entries:X,totalSize:J,fileCount:X.length}}function e4($){if($.entries.length===0)return"[]";return`[
12214
12214
  ${$.entries.map((Y)=>` { url: '${Y.url}', revision: '${Y.revision}' }`).join(`,
12215
12215
  `)}
12216
- ]`}function xJ($){if($<1024)return`${$} B`;if($<1048576)return`${($/1024).toFixed(1)} KB`;return`${($/1048576).toFixed(2)} MB`}var mB;var J9=C(()=>{mB={".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 fJ($){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 Q9($){return fJ($).className}function cB($){return{className:"ExpirationPlugin",importFrom:"workbox-expiration",options:{...$.maxEntries&&{maxEntries:$.maxEntries},...$.maxAgeSeconds&&{maxAgeSeconds:$.maxAgeSeconds},...$.purgeOnQuotaError!==void 0&&{purgeOnQuotaError:$.purgeOnQuotaError}}}}function iB($){return{className:"CacheableResponsePlugin",importFrom:"workbox-cacheable-response",options:{...$.statuses&&{statuses:$.statuses},...$.headers&&{headers:$.headers}}}}function EN($){return{className:"BackgroundSyncPlugin",importFrom:"workbox-background-sync",options:{name:$.name,...$.maxRetentionTime&&{maxRetentionTime:$.maxRetentionTime},...$.forceSyncFallback!==void 0&&{forceSyncFallback:$.forceSyncFallback}}}}function nB($){let Z=fJ($.strategy),Y=[];if($.maxAgeSeconds||$.maxEntries)Y.push(cB({maxAgeSeconds:$.maxAgeSeconds,maxEntries:$.maxEntries,purgeOnQuotaError:!0}));if($.strategy==="network-first"||$.strategy==="stale-while-revalidate")Y.push(iB({statuses:[0,200]}));return{urlPattern:$.pattern,handler:Z.className,options:{cacheName:$.cacheName,...Y.length>0&&{plugins:Y}}}}function kN($){return $.map((Z)=>nB(Z))}function gJ($){let Z=$.pwa;if(!Z?.enabled)return"";let Y=Z.routes||[],X=Z.cacheStorage,J=[];for(let Q of Y){let G=Q9(Q.strategy),K=[];if(Q.maxAgeSeconds||Q.maxEntries||X?.maxEntries){let q=Q.maxEntries||X?.maxEntries||100,U=Q.maxAgeSeconds||(X?.maxAge?X.maxAge*24*60*60:void 0);K.push(`new ExpirationPlugin({
12216
+ ]`}function xJ($){if($<1024)return`${$} B`;if($<1048576)return`${($/1024).toFixed(1)} KB`;return`${($/1048576).toFixed(2)} MB`}var mB;var J9=P(()=>{mB={".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 fJ($){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 Q9($){return fJ($).className}function cB($){return{className:"ExpirationPlugin",importFrom:"workbox-expiration",options:{...$.maxEntries&&{maxEntries:$.maxEntries},...$.maxAgeSeconds&&{maxAgeSeconds:$.maxAgeSeconds},...$.purgeOnQuotaError!==void 0&&{purgeOnQuotaError:$.purgeOnQuotaError}}}}function iB($){return{className:"CacheableResponsePlugin",importFrom:"workbox-cacheable-response",options:{...$.statuses&&{statuses:$.statuses},...$.headers&&{headers:$.headers}}}}function EN($){return{className:"BackgroundSyncPlugin",importFrom:"workbox-background-sync",options:{name:$.name,...$.maxRetentionTime&&{maxRetentionTime:$.maxRetentionTime},...$.forceSyncFallback!==void 0&&{forceSyncFallback:$.forceSyncFallback}}}}function nB($){let Z=fJ($.strategy),Y=[];if($.maxAgeSeconds||$.maxEntries)Y.push(cB({maxAgeSeconds:$.maxAgeSeconds,maxEntries:$.maxEntries,purgeOnQuotaError:!0}));if($.strategy==="network-first"||$.strategy==="stale-while-revalidate")Y.push(iB({statuses:[0,200]}));return{urlPattern:$.pattern,handler:Z.className,options:{cacheName:$.cacheName,...Y.length>0&&{plugins:Y}}}}function kN($){return $.map((Z)=>nB(Z))}function gJ($){let Z=$.pwa;if(!Z?.enabled)return"";let Y=Z.routes||[],X=Z.cacheStorage,J=[];for(let Q of Y){let G=Q9(Q.strategy),K=[];if(Q.maxAgeSeconds||Q.maxEntries||X?.maxEntries){let q=Q.maxEntries||X?.maxEntries||100,U=Q.maxAgeSeconds||(X?.maxAge?X.maxAge*24*60*60:void 0);K.push(`new ExpirationPlugin({
12217
12217
  maxEntries: ${q},
12218
12218
  ${U?`maxAgeSeconds: ${U},`:""}
12219
12219
  purgeOnQuotaError: true,
@@ -12517,7 +12517,7 @@ self.addEventListener('message', (event) => {
12517
12517
  event.waitUntil(syncQueue.pushRequest({ request }));
12518
12518
  }
12519
12519
  });
12520
- `}function mJ($){return $.pwa?.enabled===!0&&$.pwa?.serviceWorker?.useWorkbox===!0}function Yj($){if(mJ($))return dJ;let{generateServiceWorker:Z}=(G9(),W9(pJ));return Z}var lJ=C(()=>{J9()});var pJ={};p(pJ,{isWorkboxEnabled:()=>iJ,getServiceWorkerFileName:()=>$7,generateServiceWorkerAuto:()=>Qj,generateServiceWorker:()=>cJ});function cJ($,Z){let Y=$.pwa;if(!Y?.enabled)return"";let X=Y.serviceWorker||{},J=Y.routes||[],Q=X.cacheVersion||"1.0.0",G=Y.offline,K=G?.page?"/offline.html":"/offline.html",z=Y.push,q=Y.backgroundSync,U=Y.cacheStorage,W=Z?Z$(Z,$):null,_=W?e4(W):"[]",B=["/","/manifest.json",...G?.enabled?[K]:[],...G?.precacheAssets||[]];return`/**
12520
+ `}function mJ($){return $.pwa?.enabled===!0&&$.pwa?.serviceWorker?.useWorkbox===!0}function Yj($){if(mJ($))return dJ;let{generateServiceWorker:Z}=(G9(),W9(pJ));return Z}var lJ=P(()=>{J9()});var pJ={};p(pJ,{isWorkboxEnabled:()=>iJ,getServiceWorkerFileName:()=>$7,generateServiceWorkerAuto:()=>Qj,generateServiceWorker:()=>cJ});function cJ($,Z){let Y=$.pwa;if(!Y?.enabled)return"";let X=Y.serviceWorker||{},J=Y.routes||[],Q=X.cacheVersion||"1.0.0",G=Y.offline,K=G?.page?"/offline.html":"/offline.html",z=Y.push,q=Y.backgroundSync,U=Y.cacheStorage,W=Z?Z$(Z,$):null,_=W?e4(W):"[]",B=["/","/manifest.json",...G?.enabled?[K]:[],...G?.precacheAssets||[]];return`/**
12521
12521
  * Service Worker - Auto-generated by stx
12522
12522
  * Cache Version: ${Q}
12523
12523
  *
@@ -13343,7 +13343,7 @@ self.addEventListener('message', (event) => {
13343
13343
  event.waitUntil(registerFormSync(event.data.payload));
13344
13344
  }
13345
13345
  });
13346
- `}function $7($){return $.pwa?.serviceWorker?.fileName||"sw.js"}function iJ($){return $.pwa?.enabled===!0&&$.pwa?.serviceWorker?.useWorkbox===!0}function Qj($,Z){if(!$.pwa?.enabled)return"";if(iJ($)){let{generateWorkboxServiceWorker:Y}=(lJ(),W9(uJ));return Y($,Z)}return cJ($,Z)}var G9=C(()=>{J9()});var nJ={};p(nJ,{injectPwaTags:()=>Gj,generateThemeColorMeta:()=>qj,generateSwRegistrationScript:()=>Kj,generatePwaTags:()=>Z7,generateManifestLink:()=>zj});function Z7($){let Z=$.pwa;if(!Z?.enabled)return"";let Y=Z.manifest,X=Z.icons?.outputDir?`/${Z.icons.outputDir}`:"/pwa-icons",J=$7($),Q=`
13346
+ `}function $7($){return $.pwa?.serviceWorker?.fileName||"sw.js"}function iJ($){return $.pwa?.enabled===!0&&$.pwa?.serviceWorker?.useWorkbox===!0}function Qj($,Z){if(!$.pwa?.enabled)return"";if(iJ($)){let{generateWorkboxServiceWorker:Y}=(lJ(),W9(uJ));return Y($,Z)}return cJ($,Z)}var G9=P(()=>{J9()});var nJ={};p(nJ,{injectPwaTags:()=>Gj,generateThemeColorMeta:()=>qj,generateSwRegistrationScript:()=>Kj,generatePwaTags:()=>Z7,generateManifestLink:()=>zj});function Z7($){let Z=$.pwa;if(!Z?.enabled)return"";let Y=Z.manifest,X=Z.icons?.outputDir?`/${Z.icons.outputDir}`:"/pwa-icons",J=$7($),Q=`
13347
13347
  <!-- stx PWA Meta Tags -->
13348
13348
  <link rel="manifest" href="/manifest.json">
13349
13349
  <meta name="theme-color" content="${K9(Y?.themeColor||"#000000")}">
@@ -13401,7 +13401,7 @@ if ('serviceWorker' in navigator) {
13401
13401
  });
13402
13402
  });
13403
13403
  }
13404
- </script>`}function zj(){return'<link rel="manifest" href="/manifest.json">'}function qj($){return`<meta name="theme-color" content="${K9($)}">`}function K9($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var oJ=C(()=>{G9()});var Fj={};p(Fj,{validateClientScript:()=>o4,processOnceDirective:()=>n4,processJsonDirective:()=>i4,processDirectives:()=>_0,injectRouterScript:()=>_X});import C0 from"path";import{deriveLayoutGroup as Uj}from"stx-router/layout-metadata";function sJ($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Wj($,Z){let Y=$.length,X=Z,J=!0,Q=[],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(`
13404
+ </script>`}function zj(){return'<link rel="manifest" href="/manifest.json">'}function qj($){return`<meta name="theme-color" content="${K9($)}">`}function K9($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var oJ=P(()=>{G9()});var Fj={};p(Fj,{validateClientScript:()=>o4,processOnceDirective:()=>n4,processJsonDirective:()=>i4,processDirectives:()=>_0,injectRouterScript:()=>_X});import C0 from"path";import{deriveLayoutGroup as Uj}from"stx-router/layout-metadata";function sJ($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Wj($,Z){let Y=$.length,X=Z,J=!0,Q=[],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(`
13405
13405
  `,X+2),X===-1)return-1;X+=1,J=!0;continue}if(K==="/"&&$[X+1]==="*"){let z=$.indexOf("*/",X+2);if(z===-1)return-1;X=z+2,J=!0;continue}if(K==="/"&&J){let z=X+1,q=!1;while(z<Y){let U=$[z];if(U==="\\"){z+=2;continue}if(U==="[")q=!0;else if(U==="]")q=!1;else if(U==="/"&&!q){z++;break}else if(U===`
13406
13406
  `){z=-1;break}z++}if(z===-1){X++,J=!1;continue}while(z<Y&&/[a-z]/.test($[z]))z++;X=z,J=!1;continue}if(K==="'"||K==='"'){let z=K;X++;while(X<Y){if($[X]==="\\"){X+=2;continue}if($[X]===z){X++;break}if($[X]===`
13407
13407
  `)break;X++}J=!1;continue}if(K==="`"){X++;while(X<Y){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++;break}if($[X]==="$"&&$[X+1]==="{"){Q.push(!0),X+=2,J=!0;break}X++}if(Q.length===0)J=!1;continue}if(K==="}"&&Q.length>0){Q.pop(),X++;while(X<Y){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++,J=!1;break}if($[X]==="$"&&$[X+1]==="{"){Q.push(!0),X+=2,J=!0;break}X++}continue}if(/\s/.test(K));else if(/[)\].\w$]/.test(K))J=!1;else J=!0;X++}return-1}async function _0($,Z,Y,X,J){if(X.ssr===!1&&!X.autoShell&&X.buildMode==="spa")return $;let Q=!Z.__stxProcessingDepth;if(!Z.__stxProcessingDepth)Z.__stxProcessingDepth=0;if(Z.__stxProcessingDepth++,!Z.__onceStore)Z.__onceStore=new Set;if((X.debug||!P5()&&!c$())&&Y&&Y.endsWith(".stx"))a3($,Y);try{return await c9.timeAsync("template-processing",async()=>{let G=await _j($,Z,Y,X,J);if(Q)G=e6(G);if(Q&&X.autoShell&&X.buildMode!=="compile"){let K=X.app?.head||{},q=(Z.__stx_runtime_head||null)??h5(),U=(Z.__stx_head_raw||"").trim(),W,_=U.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(_)W=_[1].trim(),U=U.replace(_[0],"").trim();let B=Z.__sections?.title,j=q.title||W||B,H={...K,...j&&{title:j},meta:[...K.meta||[],...q.meta||[]],link:[...K.link||[],...q.link||[]],script:[...K.script||[],...q.script||[]],headRaw:[K.headRaw,U].filter(Boolean).join(`
@@ -13414,26 +13414,26 @@ ${z.trim()}
13414
13414
  `);j.content=j.content?`${j.content}
13415
13415
  ${V}`:V,Z.__sections=j}}if(H)try{let O;if(C0.isAbsolute(H))O=H,J.add(H);else O=await Q5(()=>a$(H,Y,G,J),null,()=>{throw new P1(`Failed to resolve layout path: ${H}`,Y,void 0,void 0,`Layout referenced from ${Y}`)});if(!O){let M=`Layout not found: ${H} (referenced from ${Y})`;if(p0.log(Error(M),{layoutPath:H,filePath:Y},"warning"),G.debug)throw new P1(M,Y);return z}let V=await Q5(()=>Bun.file(O).text(),"",()=>{throw new P1(`Failed to read layout file: ${O}`,Y,void 0,void 0,"Layout content could not be loaded")}),A=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(A){if(G.debug)console.log(`Found nested layout: ${A[1]} in ${O}`);let M={},T=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(E,k,S)=>{return M[k]=S.trim(),""});for(let[E,k]of Object.entries(M))if(j[E]&&j[E].includes(o1)){let S=j[E].indexOf(o1);j[E]=j[E].slice(0,S)+k+j[E].slice(S+o1.length)}else if(!j[E])j[E]=k;let I={...Z,__sections:j},D=`@layout('${A[1]}')${T}`;return await _0(D,I,O,G,J)}let w=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),R=P6(w,B),N={};return R=R.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(M,T,I)=>{return N[T]=I.trim(),`@slot('${T}')`}),R=R.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(M,T,I)=>{if(j[T]){let D=j[T];if(D.includes(o1)){let E=N[T]||"",k=D.indexOf(o1);D=D.slice(0,k)+E+D.slice(k+o1.length)}return D}return I||""}),R=Bj(R,j),R=R.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),R=v6(R,B),Z.__originalFilePath=Y,z=await rJ(R,Z,O,G,J),z=`<!-- stx-layout: ${H} -->
13416
13416
  ${z}`,W(z)}catch(O){return p0.log(O instanceof Error?O:Error(String(O)),{layoutPath:H,filePath:Y},"error"),`[Error processing layout: ${O instanceof Error?O.message:String(O)}]`}return W(await rJ(z,Z,Y,G,J))}function Bj($,Z){return $.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Y,X,J)=>{let Q=Z[X];if(Q!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(Q))return Q}return J||""})}function jj($,Z){if($.__stx_sfc_mode=!0,$.__stx_options=Z,Z.buildMode)$.__stx_buildMode=Z.buildMode;let Y=Z.envPrefix||"STX_PUBLIC_",X={};for(let[J,Q]of Object.entries(process.env))if(J.startsWith(Y)&&Q!==void 0)X[J]=Q;$.$env=X}async function Hj($,Z){await Q5(()=>uY($,Z),void 0,(Y)=>{p0.log(Y,{filePath:$,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${$}: ${Y.message}`)})}async function Oj($,Z,Y){let X=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,J;while((J=X.exec($))!==null){let Q=J[1],G=J[2];if(!/\bserver\b/.test(Q)||!G.trim())continue;try{let{extractVariables:z}=await Promise.resolve().then(() => (s5(),M4));await z(G,Z,Y,{preserveExisting:!0})}catch(z){let q=z instanceof Error?z:Error(String(z));p0.log(q,{filePath:Y,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Y}: ${q.message}`)}}}async function Lj($,Z,Y){try{let{interpolateScriptsInTemplate:X}=await Promise.resolve().then(() => (u0(),L7));return X($,Z,{skipServer:!0})}catch(X){let J=X instanceof Error?X:Error(String(X));return p0.log(J,{filePath:Y,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Y}: ${J.message}`),$}}async function rJ($,Z,Y,X,J){let Q=$,G=X;if(await Oj(Q,Z,Y),Q=await Lj(Q,Z,Y),Q=await bY(Q,Z,Y),Q=await yY(Q,Z,Y),Q=await F2(Q,Z,Y,G),t1(Q))Q=o6(Q,Z),Q=r6(Q,Z);Q=s6(Q);let{processStreamDirectives:K}=await Promise.resolve().then(() => (r3(),s3));Q=K(Q,Z),Q=S6(Q,Z,Y,G),Q=await T4(Q,Z,Y,G,J),Q=await rY(Q,Z,Y,G,J),Q=w9(Q,Z,Y,G);let{processDeferDirectives:z}=await Promise.resolve().then(() => yX);Q=z(Q,Z,Y);let{processTeleportDirectives:q}=await Promise.resolve().then(() => PX);Q=q(Q,Z,Y);let{processTransitionDirectives:U,processTransitionAttributes:W}=await Promise.resolve().then(() => gX);Q=U(Q,Z,Y),Q=W(Q);let{processErrorBoundaryDirectives:_}=await Promise.resolve().then(() => dX);Q=_(Q,Z,Y);let{processSuspenseDirectives:B}=await Promise.resolve().then(() => mX);Q=B(Q,Z,Y);let{processAsyncDirectives:j}=await Promise.resolve().then(() => cX);Q=j(Q,Z,Y);let{processKeepAliveDirectives:H}=await Promise.resolve().then(() => nX);Q=H(Q,Z,Y);let{processVirtualListDirectives:L,processVirtualGridDirectives:F,processInfiniteListDirectives:O}=await Promise.resolve().then(() => (eX(),tX));Q=L(Q,Z,Y),Q=F(Q,Z,Y),Q=O(Q,Z,Y);let{processPartialHydrationDirectives:V,processStaticDirectives:A}=await Promise.resolve().then(() => (jJ(),BJ));Q=V(Q,Z,Y),Q=A(Q);let{processComputedDirectives:w,processWatchDirectives:R}=await Promise.resolve().then(() => (IJ(),MJ));Q=w(Q,Z,Y),Q=R(Q,Z,Y);let{processFormValidationDirectives:N}=await Promise.resolve().then(() => (bJ(),SJ));Q=N(Q,Z,Y);let{processHeadDirective:M,processTitleDirective:T,processMetaDirective:I,resetHead:D}=await Promise.resolve().then(() => (d5(),f3));if(!Z.__stx_head_preset&&!Z.__stx_runtime_head)D();let E=M(Q);if(Q=E.content,E.headContent)Z.__stx_head_raw=`${Z.__stx_head_raw||""}${E.headContent}
13417
- `;if(Q=T(Q,Z),Q=I(Q,Z),Q=dY(Q),Q=b3(Q,Z),Q=O2(Q),Q=vY(Q),Q=await C6(Q,Z,Y,G,J),Q=await T4(Q,Z,Y,G,J),Q=Q.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),Q=e6(Q),Q=f1(Q,Z,Y),Q=y3(Q,Z),Q=C3(Q,Z),Q=l5(Q,Z),Q=h3(Q,Z),Q=d3(Q,Z),Q=await tZ(Q,Z,Y,G),Q=await w7(Q,Z,Y),Q=await i3(Q,Z,Y,G),Q=Q7(Q,Z,Y,G),Q=OZ(Q,Z,Y,G),Q=LZ(Q,Z,Y),Q=FZ(Q,Z,Y,G),Q=W2(Q,Z,Y,G),Q=i4(Q,Z),Q=n4(Q),Q=IX(Q),!G.skipEventDirectives)Q=cZ(Q,Z,Y);if(Q=rZ(Q,Z,Y),G.debug){let f=/\bx-data\s*=/.test(Q),g=c4($);if(f&&g)console.warn(`[stx] ${Y}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
13417
+ `;if(Q=T(Q,Z),Q=I(Q,Z),Q=dY(Q),Q=b3(Q,Z),Q=O2(Q),Q=vY(Q),Q=await C6(Q,Z,Y,G,J),Q=await T4(Q,Z,Y,G,J),Q=Q.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),Q=e6(Q),Q=f1(Q,Z,Y),Q=y3(Q,Z),Q=C3(Q,Z),Q=l5(Q,Z),Q=h3(Q,Z),Q=d3(Q,Z),Q=await tZ(Q,Z,Y,G),Q=await w7(Q,Z,Y),Q=await i3(Q,Z,Y,G),Q=Q7(Q,Z,Y,G),Q=OZ(Q,Z,Y,G),Q=LZ(Q,Z,Y),Q=FZ(Q,Z,Y,G),Q=W2(Q,Z,Y,G),Q=i4(Q,Z),Q=n4(Q),Q=IX(Q),!G.skipEventDirectives)Q=cZ(Q,Z,Y);if(Q=rZ(Q,Z,Y),G.debug){let x=/\bx-data\s*=/.test(Q),g=c4($);if(x&&g)console.warn(`[stx] ${Y}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
13418
13418
  Both work on the same page, but they manage separate scopes.
13419
- Prefer signals (state/derived/effect) for new components.`)}Q=cY(Q,Z),Q=await a0(Q,Z,Y),Q=DX(Q),Q=EX(Q),Q=gZ(Q);let{processXElementDirectives:k}=await Promise.resolve().then(() => PJ);Q=k(Q);let S=Z.__originalFilePath||Y,b=Y$(Z);if(Q=await a6(Q,G,S,b),Q=await gY(Q,Z,Y,G),G.media?.image?.autoSiblings){let f=G.publicDir||"public",{rewriteImagesWithSiblings:g}=await Promise.resolve().then(() => (R9(),A9));Q=await g(Q,{publicDir:f})}if(G.seo?.enabled)Q=VZ(Q,Z,G);let y=(f,g)=>{if(!g)return f;if(/<\/head>/i.test(f))return f.replace(/<\/head>/i,`${g}
13420
- </head>`);if(/<head\b[^>]*>/i.test(f))return f.replace(/(<head\b[^>]*>)/i,`$1
13421
- ${g}`);if(/<html\b[^>]*>/i.test(f))return f.replace(/(<html\b[^>]*>)/i,`$1
13419
+ Prefer signals (state/derived/effect) for new components.`)}Q=cY(Q,Z),Q=await a0(Q,Z,Y),Q=DX(Q),Q=EX(Q),Q=gZ(Q);let{processXElementDirectives:k}=await Promise.resolve().then(() => PJ);Q=k(Q);let S=Z.__originalFilePath||Y,b=Y$(Z);if(Q=await a6(Q,G,S,b),Q=await gY(Q,Z,Y,G),G.media?.image?.autoSiblings){let x=G.publicDir||"public",{rewriteImagesWithSiblings:g}=await Promise.resolve().then(() => (R9(),A9));Q=await g(Q,{publicDir:x})}if(G.seo?.enabled)Q=VZ(Q,Z,G);let C=(x,g)=>{if(!g)return x;if(/<\/head>/i.test(x))return x.replace(/<\/head>/i,`${g}
13420
+ </head>`);if(/<head\b[^>]*>/i.test(x))return x.replace(/(<head\b[^>]*>)/i,`$1
13421
+ ${g}`);if(/<html\b[^>]*>/i.test(x))return x.replace(/(<html\b[^>]*>)/i,`$1
13422
13422
  <head>
13423
13423
  ${g}
13424
- </head>`);return f},{renderHead:m,getHead:x}=await Promise.resolve().then(() => (d5(),f3)),h=Z.__stx_runtime_head,u=h&&(h.title||h.meta?.length||h.link?.length)?h:x();if(u.title||u.meta?.length||u.link?.length){let f=m(u);if(f)Q=y(Q,f)}if(E.headContent)Q=y(Q,E.headContent);if(G.csp?.enabled&&G.csp.addMetaTag)Q=U2(Q,G.csp,Z);if(G.analytics?.enabled)Q=L9(Q,G);if(G.heatmap?.enabled)Q=a9(Q,G);if(G.pwa?.enabled&&G.pwa.autoInject!==!1){let{injectPwaTags:f}=await Promise.resolve().then(() => (oJ(),nJ));Q=f(Q,G)}let Q0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(Q),E0=/\bSTX\.\w+/.test(Q),H0=/window\.STX\s*=/.test(Q);if(Q0&&E0&&!H0){let g=`<script data-stx-scoped>
13424
+ </head>`);return x},{renderHead:m,getHead:f}=await Promise.resolve().then(() => (d5(),f3)),h=Z.__stx_runtime_head,u=h&&(h.title||h.meta?.length||h.link?.length)?h:f();if(u.title||u.meta?.length||u.link?.length){let x=m(u);if(x)Q=C(Q,x)}if(E.headContent)Q=C(Q,E.headContent);if(G.csp?.enabled&&G.csp.addMetaTag)Q=U2(Q,G.csp,Z);if(G.analytics?.enabled)Q=L9(Q,G);if(G.heatmap?.enabled)Q=a9(Q,G);if(G.pwa?.enabled&&G.pwa.autoInject!==!1){let{injectPwaTags:x}=await Promise.resolve().then(() => (oJ(),nJ));Q=x(Q,G)}let Q0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(Q),k0=/\bSTX\.\w+/.test(Q),H0=/window\.STX\s*=/.test(Q);if(Q0&&k0&&!H0){let g=`<script data-stx-scoped>
13425
13425
  ${PZ()}
13426
- </script>`;if(Q.includes("</head>")){let l=Q.indexOf("</head>"),G0=Q.slice(0,l).indexOf("<script");if(G0!==-1){let S0=Q.slice(0,G0),P0=Q.slice(G0);Q=S0+g+`
13426
+ </script>`;if(Q.includes("</head>")){let l=Q.indexOf("</head>"),G0=Q.slice(0,l).indexOf("<script");if(G0!==-1){let M0=Q.slice(0,G0),P0=Q.slice(G0);Q=M0+g+`
13427
13427
  `+P0}else Q=Q.replace("</head>",`${g}
13428
13428
  </head>`)}else if(Q.includes("<body"))Q=Q.replace(/<body([^>]*)>/,`<body$1>
13429
13429
  ${g}`);else Q=g+`
13430
- `+Q}{let f=/<script\s+server\b[^>]*>/gi,g,l=[];while((g=f.exec(Q))!==null){let s=g.index+g[0].length,G0=Wj(Q,s);if(G0===-1)continue;let S0=G0+9;while(S0<Q.length&&/\s/.test(Q[S0]))S0++;l.push({start:g.index,end:S0})}for(let s=l.length-1;s>=0;s--){let{start:G0,end:S0}=l[s];Q=Q.substring(0,G0)+Q.substring(S0)}}let k0=S4(Q,Y);if(k0.hasScoped)Q=k0.html;let X0=Z.__stx_event_bindings||[],A0=!1,W0=[],P=/\s:[a-z][\w.-]*\s*=/.test(Q),{scanScriptTags:v}=await Promise.resolve().then(() => (t6(),AX));for(let f of v(Q,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))W0.push({match:f.fullMatch,attrs:f.attrs,content:f.body});for(let{match:f,attrs:g,content:l}of W0){A0=!0;let s=l;o4(l,Y,X.strict);let G0=await X$(l,{eventBindings:X0,attrs:g,hasColonDirectives:P,templateContent:$,filePath:Y,projectRoot:process.cwd(),production:X.buildMode==="compile",serverData:b});Q=Q.replace(f,()=>G0)}if(A0)Z.__stx_event_bindings=[];return Q}var o1="<!--PARENT_CONTENT_PLACEHOLDER-->";var F4=C(()=>{bZ();w$();G7();vZ();hZ();F9();V7();W7();iZ();r5();aZ();E3();W4();_2();L2();w2();Q1();d5();u0();T2();C2();SY();PY();b6();R7();hY();e1();mY();W3();F0();lY();iY();sY();aY();g6();t6();D6();MX();$9();Z9();R0();t3();$9();Z9()});function Rj($){let Z=[],Y=[];return Nj($,Z),Tj($,Z,Y),Mj($,Y),Ij($,Z),{valid:Z.length===0,errors:Z,warnings:Y}}function Nj($,Z){let Y=($.match(/\{\{/g)||[]).length,X=($.match(/\}\}/g)||[]).length;if(Y!==X)Z.push({type:"expression",message:`Unclosed expression brackets: found ${Y} opening '{{' and ${X} closing '}}'`,suggestion:"Ensure every {{ has a matching }}"})}function Tj($,Z,Y){for(let X of Vj){let J=new RegExp(`${X.open}(?:\\s|\\()`,"g"),Q=new RegExp(X.close,"g"),G=($.match(J)||[]).length,K=($.match(Q)||[]).length;if(X.altClose){let z=new RegExp(X.altClose,"g");K+=($.match(z)||[]).length}if(G>K)Z.push({type:"directive",message:`Unclosed @${X.name} directive: found ${G} opening and ${K} closing`,suggestion:`Add ${G-K} missing ${X.close} tag(s)`});else if(K>G)Y.push({type:"directive",message:`Extra ${X.close} found: ${K-G} more closing than opening`,suggestion:`Check for orphaned ${X.close} tags`})}}function Mj($,Z){for(let Y of wj)if(Y.pattern.test($))Z.push({type:"syntax",message:Y.message,suggestion:Y.suggestion})}function Ij($,Z){for(let Y of Aj)if(Y.pattern.test($))Z.push({type:"expression",message:`Security warning: ${Y.message}`,suggestion:"Remove dangerous code from template expressions"})}function Dj($,Z){let Y=$.slice(0,Z).split(`
13431
- `);return{line:Y.length,column:Y[Y.length-1].length+1}}function Ej($,Z,Y){let X=[];switch($){case"if":case"elseif":case"unless":if(Y.length===0)X.push({type:"syntax",message:`@${$} requires a condition`,suggestion:`Use @${$}(condition)`});break;case"foreach":if(Y.length===0||!Y[0].includes(" as "))X.push({type:"syntax",message:'@foreach requires "items as item" syntax',suggestion:"Use @foreach(items as item) or @foreach(items as key => value)"});break;case"for":if(Y.length===0)X.push({type:"syntax",message:"@for requires loop parameters",suggestion:"Use @for(let i = 0; i < 10; i++)"});break;case"switch":if(Y.length===0)X.push({type:"syntax",message:"@switch requires an expression",suggestion:"Use @switch(expression)"});break;case"case":if(Y.length===0)X.push({type:"syntax",message:"@case requires a value",suggestion:"Use @case(value)"});break;case"include":case"extends":case"component":if(Y.length===0)X.push({type:"syntax",message:`@${$} requires a path`,suggestion:`Use @${$}('path/to/template')`});break}return X}function kj($){return/@[a-z]+/i.test($)||/\{\{/.test($)}function Sj($){let Z=$.matchAll(/@([a-z]+)/gi),Y=new Set;for(let X of Z){let J=X[1].toLowerCase();if(!J.startsWith("end"))Y.add(J)}return Array.from(Y)}var Vj,wj,Aj;var aJ=C(()=>{Vj=[{open:"@if",close:"@endif",name:"if"},{open:"@unless",close:"@endunless",name:"unless"},{open:"@foreach",close:"@endforeach",name:"foreach"},{open:"@for",close:"@endfor",name:"for"},{open:"@while",close:"@endwhile",name:"while"},{open:"@forelse",close:"@endforelse",name:"forelse"},{open:"@switch",close:"@endswitch",name:"switch"},{open:"@isset",close:"@endisset",name:"isset"},{open:"@empty",close:"@endempty",name:"empty"},{open:"@auth",close:"@endauth",name:"auth"},{open:"@guest",close:"@endguest",name:"guest"},{open:"@can",close:"@endcan",name:"can"},{open:"@cannot",close:"@endcannot",name:"cannot"},{open:"@section",close:"@endsection",name:"section",altClose:"@show"},{open:"@push",close:"@endpush",name:"push"},{open:"@prepend",close:"@endprepend",name:"prepend"},{open:"@once",close:"@endonce",name:"once"},{open:"@markdown",close:"@endmarkdown",name:"markdown"},{open:"@component",close:"@endcomponent",name:"component"}],wj=[{pattern:/@if\s*[^(]/,message:"@if directive missing parentheses",suggestion:"Use @if(condition)"},{pattern:/@foreach\s*[^(]/,message:"@foreach directive missing parentheses",suggestion:"Use @foreach(items as item)"},{pattern:/@foreach\([^)]*\)\s*[^@\n<]/,message:"@foreach may have content on same line",suggestion:"Put content on new line after @foreach()"},{pattern:/@include\s*[^(]/,message:"@include directive missing parentheses",suggestion:"Use @include('partial-name')"},{pattern:/@extends\s*[^(]/,message:"@extends directive missing parentheses",suggestion:"Use @extends('layout-name') or @layout('layout-name')"},{pattern:/@layout\s*[^(]/,message:"@layout directive missing parentheses",suggestion:"Use @layout('layout-name')"}],Aj=[{pattern:/\{\{\s*constructor\s*\}\}/,message:"Attempting to access constructor property"},{pattern:/\{\{\s*__proto__\s*\}\}/,message:"Attempting to access __proto__ property"},{pattern:/\{\{\s*eval\s*\(/,message:"Attempting to use eval in expression"}]});var YQ={};p(YQ,{renderSlot:()=>eJ,processSlots:()=>ZQ,parseSlots:()=>tJ,parseSlotElement:()=>yj,extractSlotContent:()=>vj,applySlots:()=>xj});function bj($,Z){let Y=1,X=Z,J="<template",Q="</template";while(X<$.length&&Y>0){let G=$.indexOf("<",X);if(G===-1)break;if(X=G,$.startsWith(J,X)&&(X+J.length>=$.length||/[\s>\/]/.test($[X+J.length]))){Y++,X+=J.length;continue}if($.startsWith(Q,X)){let K=$.indexOf(">",X+Q.length);if(K!==-1){if(Y--,Y===0)return K+1;X=K+1;continue}}X++}return Y===0?X:-1}function tJ($){let Z={default:"",named:new Map},Y=$,X=/<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>/gi,J=[],Q;while((Q=X.exec($))!==null){let[U,W,_,B,j]=Q,H=W||_||B,L=Q.index+U.length,F=bj($,L);if(F!==-1){let O=$.slice(L,F-11).trim();J.push({start:Q.index,end:F,slotName:H,content:O,propsBinding:j||void 0}),Z.named.set(H,{name:H,content:O,propsBinding:j||void 0})}}J.sort((U,W)=>W.start-U.start);for(let U of J)Y=Y.slice(0,U.start)+Y.slice(U.end);let G=[],K=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,z;while((z=K.exec(Y))!==null){let[U,W,_,B,j,H]=z,L=_.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),O=(L+F).trim(),V=`<${W}${O?" "+O:""}>${H}</${W}>`;G.push({start:z.index,end:z.index+U.length,slotName:B,element:V})}let q=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((z=q.exec(Y))!==null){let[U,W,_,B,j]=z,H=_.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=(H+L).trim(),O=`<${W}${F?" "+F:""} />`;G.push({start:z.index,end:z.index+U.length,slotName:B,element:O})}G.sort((U,W)=>W.start-U.start);for(let U of G){let W=Z.named.get(U.slotName);if(W)W.content+=U.element;else Z.named.set(U.slotName,{name:U.slotName,content:U.element});Y=Y.slice(0,U.start)+Y.slice(U.end)}return Z.default=Y.trim(),Z}function yj($){let Z=$.match(/name\s*=\s*["']([^"']+)["']/),Y=Z?Z[1]:"",X={},J=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,Q;while((Q=J.exec($))!==null)X[Q[1]]=Q[2];let G=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),K=G?G[1].trim():"";return{name:Y,props:X,defaultContent:K}}async function eJ($,Z,Y,X){if(!$)return Y;let J=$.content;if($.propsBinding&&Object.keys(Z).length>0){let Q=$.propsBinding.trim(),G={...X};if(Q.startsWith("{")&&Q.endsWith("}")){let K=Q.slice(1,-1).split(",").map((z)=>z.trim()).filter(Boolean);for(let z of K){let[q,U]=z.split(":").map((_)=>_.trim()),W=U||q;if(Z[q]!==void 0)G[W]=Z[q]}}else G[Q]=Z;J=Cj(J,G)}return J}function Cj($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Y,X)=>{try{let J=X.trim(),Q=$Q(J,Z);return m0(String(Q??""))}catch{return`{{ ${X} }}`}})}function $Q($,Z){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let X=$.split("."),J=Z;for(let Q of X)if(J&&typeof J==="object"&&Q in J)J=J[Q];else return;return J}let Y=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Y){let[,X,J,Q]=Y,G=Z[X],K=parseInt(Q,10);if(typeof G==="number")switch(J){case"+":return G+K;case"-":return G-K;case"*":return G*K;case"/":return G/K}}try{if(!$0($))return;return Z0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function ZQ($,Z,Y){let X=$;X=await Pj(X,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,z,q)=>{let U=Z.named.get(K),W=q?.trim()||"",_=z||"",B={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,H;while((H=j.exec(_))!==null){let L=H[1],F=H[2];B[L]=$Q(F,Y)}return await eJ(U,B,W,Y)});let Q=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return X=X.replace(Q,(G,K)=>{if(G.includes("name="))return G;let z=K?.trim()||"";return Z.default||z}),X}async function Pj($,Z,Y){let X=[],J=[];$.replace(Z,(K,...z)=>{let q=z[z.length-2];return J.push({match:K,index:q}),X.push(Y(K,...z.slice(0,-2))),K});let Q=await Promise.all(X),G=$;for(let K=J.length-1;K>=0;K--){let{match:z,index:q}=J[K];G=G.slice(0,q)+Q[K]+G.slice(q+z.length)}return G}function vj($){let Z=tJ($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function xj($,Z,Y,X){return await ZQ($,{default:Z,named:Y},X)}var XQ=C(()=>{u0();R0()});import fj from"fs";import d from"path";function JQ($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function hj($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function l1($){return!hj($)}function p1($){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,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{\{[\s\S]*?\}\}\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{[\s\S]*?\}\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`});let J=new Bun.Transpiler({loader:"ts",target:"browser",define:r0()}).transformSync(Z);for(let Q=0;Q<Y.length;Q++)J=J.replace(`"__STX_EXPR_${Q}__"`,Y[Q]),J=J.replace(`'__STX_EXPR_${Q}__'`,Y[Q]);return J}catch(Z){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",Z);return $}}function dj($){let Z=[],Y=new Set,X=0,J=0,Q=$.length,G=(U)=>{J++;while(J<Q){if($[J]==="\\"){J+=2;continue}if($[J]===U){J++;return}J++}},K=()=>{J++;while(J<Q){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++;return}if($[J]==="$"&&$[J+1]==="{"){J+=2;let U=1;while(J<Q&&U>0)if($[J]==="{")U++,J++;else if($[J]==="}")U--,J++;else if($[J]==="'"||$[J]==='"')G($[J]);else if($[J]==="`")K();else J++;continue}J++}},z=()=>{if($[J]==="/"&&$[J+1]==="/"){while(J<Q&&$[J]!==`
13432
- `)J++;return!0}if($[J]==="/"&&$[J+1]==="*"){J+=2;while(J<Q-1&&!($[J]==="*"&&$[J+1]==="/"))J++;return J+=2,!0}return!1},q=()=>{if(X!==0)return;let U=$.slice(J).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 W=$.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(W){let j=W[2];if(!Y.has(j))Z.push(j),Y.add(j);return}let _=$.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let j=_[1];if(!Y.has(j))Z.push(j),Y.add(j);return}let B=$.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!Y.has(j))Z.push(j),Y.add(j)}};while(J<Q){if(z())continue;if($[J]==="'"||$[J]==='"'){G($[J]);continue}if($[J]==="`"){K();continue}if($[J]==="{"){X++,J++;continue}if($[J]==="}"){X--,J++;continue}if(X===0&&/[a-z]/i.test($[J])&&(J===0||/\s|[;{}()]/.test($[J-1])))q();J++}return Z}function mj($){let Z=[],Y=0,X=0,J=null;for(let Q=0;Q<$.length;Q++){let G=$[Q];if(J){if(G==="\\"){Q++;continue}if(G===J)J=null;continue}if(G==='"'||G==="'"||G==="`"){J=G;continue}if(G==="("||G==="["||G==="{")Y++;else if(G===")"||G==="]"||G==="}")Y--;else if(G===","&&Y===0)Z.push($.slice(X,Q)),X=Q+1}if(X<$.length)Z.push($.slice(X));return Z}function uj($){let Z=0,Y=null;for(let X=0;X<$.length;X++){let J=$[X];if(Y){if(J==="\\"){X++;continue}if(J===Y)Y=null;continue}if(J==='"'||J==="'"||J==="`"){Y=J;continue}if(J==="("||J==="["||J==="{")Z++;else if(J===")"||J==="]"||J==="}")Z--;else if(J==="="&&Z===0){let Q=$[X-1],G=$[X+1];if(Q==="!"||Q==="<"||Q===">"||Q==="=")continue;if(G==="="||G===">")continue;return X}}return-1}function lj($,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 J=X,Q=0,G=-1;for(;X>=0;X--){let z=$[X];if(z==="}")Q++;else if(z==="{"){if(Q--,Q===0){G=X;break}}}if(G===-1)return;let K=$.slice(G+1,J);for(let z of mj(K)){let q=z.trim();if(!q||q.startsWith("..."))continue;let U=uj(q);if(U===-1)continue;let W=q.slice(0,U).trim();if(!/^[A-Z_$][\w$]*$/i.test(W))continue;if(Z[W]!==void 0)continue;let _=q.slice(U+1).trim();if(!_)continue;try{let B=Object.keys(Z),j=Function(...B,`"use strict"; return (${_});`);Z[W]=j(...B.map((H)=>Z[H]))}catch{}}}catch{}}async function zY($,Z,Y,X,J){let Q=$.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(),z=Y.__importedComponents;if(z){for(let L of[Q,Q.toLowerCase(),G(Q),K(Q)])if(z.has(L))return!0}let q=[...new Set([`${Q}.stx`,`${G(Q)}.stx`,`${K(Q)}.stx`])],U=typeof J.root==="string"?d.resolve(J.root):void 0,W=U??d.dirname(X),_=[],B=(L)=>{if(L&&!_.includes(L))_.push(L)},j=Y.__originalFilePath;if(j)B(d.join(d.dirname(j),"components"));B(Z),B(d.join(d.dirname(X),"components")),B(J.componentsDir);let H=J._pluginComponentDirs;if(Array.isArray(H))for(let L of H)B(typeof L==="string"?L:null);if(U)B(d.resolve(U,"resources/views/components")),B(d.resolve(U,"resources/components")),B(d.resolve(U,"src/components")),B(d.resolve(U,"components"));if(Q.startsWith("./")||Q.startsWith("../"))return n(d.resolve(d.dirname(X),`${Q}.stx`));for(let L of _){let F=d.isAbsolute(L)?L:d.resolve(W,L);for(let O of q)if(await n(d.join(F,O)))return!0}return!1}function pj($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}async function z1($,Z,Y,X,J,Q,G,K=new Set,z){let{extractVariables:q}=await Promise.resolve().then(() => (s5(),M4)),U=K??new Set;if(U.has($))return`[Circular component reference: ${$}]`;let W=new Set(U);W.add($);let _=typeof Z.client==="string"?Z.client.trim():"";if("client"in Z)delete Z.client;let B=_&&_!=="load"&&pj(_)?_:"";try{let j=(P)=>P.split("-").map((v)=>v.charAt(0).toUpperCase()+v.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=J.__importedComponents;if(O){let P=[L,L.toLowerCase(),j(L),H(L)];for(let v of P)if(O.has(v)){F=O.get(v);break}}let V=[];if(!F){let P=[`${L}.stx`,`${j(L)}.stx`,`${H(L)}.stx`],v=[...new Set(P)],f=J.__originalFilePath,g=[];if(f){let U0=d.join(d.dirname(f),"components");g.push(U0)}if(X)g.push(X);let l=d.join(d.dirname(Q),"components");if(!g.includes(l))g.push(l);if(G.componentsDir&&G.componentsDir!==X&&!g.includes(G.componentsDir))g.push(G.componentsDir);let s=G._pluginComponentDirs;if(Array.isArray(s)){for(let U0 of s)if(typeof U0==="string"&&!g.includes(U0))g.push(U0)}let G0=typeof G.root==="string"?d.resolve(G.root):void 0,S0=G0??d.dirname(Q),P0=[];if(G0)P0.push(d.resolve(G0,"resources/views/components")),P0.push(d.resolve(G0,"resources/components")),P0.push(d.resolve(G0,"src/components")),P0.push(d.resolve(G0,"components"));P0.push(d.resolve(import.meta.dir,"components"));for(let U0 of P0)if(!g.includes(U0))g.push(U0);let I1=[...new Set(g.map((U0)=>{if(!U0)return U0;return d.isAbsolute(U0)?U0:d.resolve(S0,U0)}))];if(g.length=0,g.push(...I1),L.startsWith("./")||L.startsWith("../"))F=d.resolve(d.dirname(Q),`${L}.stx`),V.push(F);else for(let U0 of g){if(!U0)continue;for(let D1 of v){let N5=d.join(U0,D1);if(V.push(N5),await n(N5)){F=N5;break}}if(F)break;if(!F)try{let D1=await import("fs");if(!D1.statSync(U0,{throwIfNoEntry:!1})?.isDirectory())continue;let K$=8,t=[{path:U0,depth:0}];while(t.length>0&&!F){let s0=t.pop();if(s0.depth>=K$)continue;let Y7;try{Y7=D1.readdirSync(s0.path,{withFileTypes:!0})}catch{continue}for(let z$ of Y7){if(!z$.isDirectory())continue;if(z$.name==="node_modules"||z$.name.startsWith("."))continue;let q9=d.join(s0.path,z$.name);for(let qQ of v){let X7=d.join(q9,qQ);if(V.push(X7),await n(X7)){F=X7;break}}if(F)break;t.push({path:q9,depth:s0.depth+1})}}}catch{}if(F)break}}if(!F||!await n(F)){let P=V.length>0?`
13430
+ `+Q}{let x=/<script\s+server\b[^>]*>/gi,g,l=[];while((g=x.exec(Q))!==null){let s=g.index+g[0].length,G0=Wj(Q,s);if(G0===-1)continue;let M0=G0+9;while(M0<Q.length&&/\s/.test(Q[M0]))M0++;l.push({start:g.index,end:M0}),x.lastIndex=M0}for(let s=l.length-1;s>=0;s--){let{start:G0,end:M0}=l[s];Q=Q.substring(0,G0)+Q.substring(M0)}}let S0=S4(Q,Y);if(S0.hasScoped)Q=S0.html;let X0=Z.__stx_event_bindings||[],A0=!1,W0=[],y=/\s:[a-z][\w.-]*\s*=/.test(Q),{scanScriptTags:v}=await Promise.resolve().then(() => (t6(),AX));for(let x of v(Q,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))W0.push({match:x.fullMatch,attrs:x.attrs,content:x.body});for(let{match:x,attrs:g,content:l}of W0){A0=!0;let s=l;o4(l,Y,X.strict);let G0=await X$(l,{eventBindings:X0,attrs:g,hasColonDirectives:y,templateContent:$,filePath:Y,projectRoot:process.cwd(),production:X.buildMode==="compile",serverData:b});Q=Q.replace(x,()=>G0)}if(A0)Z.__stx_event_bindings=[];return Q}var o1="<!--PARENT_CONTENT_PLACEHOLDER-->";var F4=P(()=>{bZ();w$();G7();vZ();hZ();F9();V7();W7();iZ();r5();aZ();E3();W4();_2();L2();w2();Q1();d5();u0();T2();C2();SY();PY();b6();R7();hY();e1();mY();W3();F0();lY();iY();sY();aY();g6();t6();D6();MX();$9();Z9();R0();t3();$9();Z9()});function Rj($){let Z=[],Y=[];return Nj($,Z),Tj($,Z,Y),Mj($,Y),Ij($,Z),{valid:Z.length===0,errors:Z,warnings:Y}}function Nj($,Z){let Y=($.match(/\{\{/g)||[]).length,X=($.match(/\}\}/g)||[]).length;if(Y!==X)Z.push({type:"expression",message:`Unclosed expression brackets: found ${Y} opening '{{' and ${X} closing '}}'`,suggestion:"Ensure every {{ has a matching }}"})}function Tj($,Z,Y){for(let X of Vj){let J=new RegExp(`${X.open}(?:\\s|\\()`,"g"),Q=new RegExp(X.close,"g"),G=($.match(J)||[]).length,K=($.match(Q)||[]).length;if(X.altClose){let z=new RegExp(X.altClose,"g");K+=($.match(z)||[]).length}if(G>K)Z.push({type:"directive",message:`Unclosed @${X.name} directive: found ${G} opening and ${K} closing`,suggestion:`Add ${G-K} missing ${X.close} tag(s)`});else if(K>G)Y.push({type:"directive",message:`Extra ${X.close} found: ${K-G} more closing than opening`,suggestion:`Check for orphaned ${X.close} tags`})}}function Mj($,Z){for(let Y of wj)if(Y.pattern.test($))Z.push({type:"syntax",message:Y.message,suggestion:Y.suggestion})}function Ij($,Z){for(let Y of Aj)if(Y.pattern.test($))Z.push({type:"expression",message:`Security warning: ${Y.message}`,suggestion:"Remove dangerous code from template expressions"})}function Dj($,Z){let Y=$.slice(0,Z).split(`
13431
+ `);return{line:Y.length,column:Y[Y.length-1].length+1}}function Ej($,Z,Y){let X=[];switch($){case"if":case"elseif":case"unless":if(Y.length===0)X.push({type:"syntax",message:`@${$} requires a condition`,suggestion:`Use @${$}(condition)`});break;case"foreach":if(Y.length===0||!Y[0].includes(" as "))X.push({type:"syntax",message:'@foreach requires "items as item" syntax',suggestion:"Use @foreach(items as item) or @foreach(items as key => value)"});break;case"for":if(Y.length===0)X.push({type:"syntax",message:"@for requires loop parameters",suggestion:"Use @for(let i = 0; i < 10; i++)"});break;case"switch":if(Y.length===0)X.push({type:"syntax",message:"@switch requires an expression",suggestion:"Use @switch(expression)"});break;case"case":if(Y.length===0)X.push({type:"syntax",message:"@case requires a value",suggestion:"Use @case(value)"});break;case"include":case"extends":case"component":if(Y.length===0)X.push({type:"syntax",message:`@${$} requires a path`,suggestion:`Use @${$}('path/to/template')`});break}return X}function kj($){return/@[a-z]+/i.test($)||/\{\{/.test($)}function Sj($){let Z=$.matchAll(/@([a-z]+)/gi),Y=new Set;for(let X of Z){let J=X[1].toLowerCase();if(!J.startsWith("end"))Y.add(J)}return Array.from(Y)}var Vj,wj,Aj;var aJ=P(()=>{Vj=[{open:"@if",close:"@endif",name:"if"},{open:"@unless",close:"@endunless",name:"unless"},{open:"@foreach",close:"@endforeach",name:"foreach"},{open:"@for",close:"@endfor",name:"for"},{open:"@while",close:"@endwhile",name:"while"},{open:"@forelse",close:"@endforelse",name:"forelse"},{open:"@switch",close:"@endswitch",name:"switch"},{open:"@isset",close:"@endisset",name:"isset"},{open:"@empty",close:"@endempty",name:"empty"},{open:"@auth",close:"@endauth",name:"auth"},{open:"@guest",close:"@endguest",name:"guest"},{open:"@can",close:"@endcan",name:"can"},{open:"@cannot",close:"@endcannot",name:"cannot"},{open:"@section",close:"@endsection",name:"section",altClose:"@show"},{open:"@push",close:"@endpush",name:"push"},{open:"@prepend",close:"@endprepend",name:"prepend"},{open:"@once",close:"@endonce",name:"once"},{open:"@markdown",close:"@endmarkdown",name:"markdown"},{open:"@component",close:"@endcomponent",name:"component"}],wj=[{pattern:/@if\s*[^(]/,message:"@if directive missing parentheses",suggestion:"Use @if(condition)"},{pattern:/@foreach\s*[^(]/,message:"@foreach directive missing parentheses",suggestion:"Use @foreach(items as item)"},{pattern:/@foreach\([^)]*\)\s*[^@\n<]/,message:"@foreach may have content on same line",suggestion:"Put content on new line after @foreach()"},{pattern:/@include\s*[^(]/,message:"@include directive missing parentheses",suggestion:"Use @include('partial-name')"},{pattern:/@extends\s*[^(]/,message:"@extends directive missing parentheses",suggestion:"Use @extends('layout-name') or @layout('layout-name')"},{pattern:/@layout\s*[^(]/,message:"@layout directive missing parentheses",suggestion:"Use @layout('layout-name')"}],Aj=[{pattern:/\{\{\s*constructor\s*\}\}/,message:"Attempting to access constructor property"},{pattern:/\{\{\s*__proto__\s*\}\}/,message:"Attempting to access __proto__ property"},{pattern:/\{\{\s*eval\s*\(/,message:"Attempting to use eval in expression"}]});var YQ={};p(YQ,{renderSlot:()=>eJ,processSlots:()=>ZQ,parseSlots:()=>tJ,parseSlotElement:()=>yj,extractSlotContent:()=>vj,applySlots:()=>xj});function bj($,Z){let Y=1,X=Z,J="<template",Q="</template";while(X<$.length&&Y>0){let G=$.indexOf("<",X);if(G===-1)break;if(X=G,$.startsWith(J,X)&&(X+J.length>=$.length||/[\s>\/]/.test($[X+J.length]))){Y++,X+=J.length;continue}if($.startsWith(Q,X)){let K=$.indexOf(">",X+Q.length);if(K!==-1){if(Y--,Y===0)return K+1;X=K+1;continue}}X++}return Y===0?X:-1}function tJ($){let Z={default:"",named:new Map},Y=$,X=/<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>/gi,J=[],Q;while((Q=X.exec($))!==null){let[U,W,_,B,j]=Q,H=W||_||B,L=Q.index+U.length,F=bj($,L);if(F!==-1){let O=$.slice(L,F-11).trim();J.push({start:Q.index,end:F,slotName:H,content:O,propsBinding:j||void 0}),Z.named.set(H,{name:H,content:O,propsBinding:j||void 0})}}J.sort((U,W)=>W.start-U.start);for(let U of J)Y=Y.slice(0,U.start)+Y.slice(U.end);let G=[],K=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,z;while((z=K.exec(Y))!==null){let[U,W,_,B,j,H]=z,L=_.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),O=(L+F).trim(),V=`<${W}${O?" "+O:""}>${H}</${W}>`;G.push({start:z.index,end:z.index+U.length,slotName:B,element:V})}let q=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((z=q.exec(Y))!==null){let[U,W,_,B,j]=z,H=_.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=(H+L).trim(),O=`<${W}${F?" "+F:""} />`;G.push({start:z.index,end:z.index+U.length,slotName:B,element:O})}G.sort((U,W)=>W.start-U.start);for(let U of G){let W=Z.named.get(U.slotName);if(W)W.content+=U.element;else Z.named.set(U.slotName,{name:U.slotName,content:U.element});Y=Y.slice(0,U.start)+Y.slice(U.end)}return Z.default=Y.trim(),Z}function yj($){let Z=$.match(/name\s*=\s*["']([^"']+)["']/),Y=Z?Z[1]:"",X={},J=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,Q;while((Q=J.exec($))!==null)X[Q[1]]=Q[2];let G=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),K=G?G[1].trim():"";return{name:Y,props:X,defaultContent:K}}async function eJ($,Z,Y,X){if(!$)return Y;let J=$.content;if($.propsBinding&&Object.keys(Z).length>0){let Q=$.propsBinding.trim(),G={...X};if(Q.startsWith("{")&&Q.endsWith("}")){let K=Q.slice(1,-1).split(",").map((z)=>z.trim()).filter(Boolean);for(let z of K){let[q,U]=z.split(":").map((_)=>_.trim()),W=U||q;if(Z[q]!==void 0)G[W]=Z[q]}}else G[Q]=Z;J=Cj(J,G)}return J}function Cj($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Y,X)=>{try{let J=X.trim(),Q=$Q(J,Z);return m0(String(Q??""))}catch{return`{{ ${X} }}`}})}function $Q($,Z){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let X=$.split("."),J=Z;for(let Q of X)if(J&&typeof J==="object"&&Q in J)J=J[Q];else return;return J}let Y=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Y){let[,X,J,Q]=Y,G=Z[X],K=parseInt(Q,10);if(typeof G==="number")switch(J){case"+":return G+K;case"-":return G-K;case"*":return G*K;case"/":return G/K}}try{if(!$0($))return;return Z0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function ZQ($,Z,Y){let X=$;X=await Pj(X,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,z,q)=>{let U=Z.named.get(K),W=q?.trim()||"",_=z||"",B={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,H;while((H=j.exec(_))!==null){let L=H[1],F=H[2];B[L]=$Q(F,Y)}return await eJ(U,B,W,Y)});let Q=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return X=X.replace(Q,(G,K)=>{if(G.includes("name="))return G;let z=K?.trim()||"";return Z.default||z}),X}async function Pj($,Z,Y){let X=[],J=[];$.replace(Z,(K,...z)=>{let q=z[z.length-2];return J.push({match:K,index:q}),X.push(Y(K,...z.slice(0,-2))),K});let Q=await Promise.all(X),G=$;for(let K=J.length-1;K>=0;K--){let{match:z,index:q}=J[K];G=G.slice(0,q)+Q[K]+G.slice(q+z.length)}return G}function vj($){let Z=tJ($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function xj($,Z,Y,X){return await ZQ($,{default:Z,named:Y},X)}var XQ=P(()=>{u0();R0()});import fj from"fs";import d from"path";function JQ($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function hj($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function l1($){return!hj($)}function p1($){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,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{\{[\s\S]*?\}\}\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{[\s\S]*?\}\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`});let J=new Bun.Transpiler({loader:"ts",target:"browser",define:r0()}).transformSync(Z);for(let Q=0;Q<Y.length;Q++)J=J.replace(`"__STX_EXPR_${Q}__"`,Y[Q]),J=J.replace(`'__STX_EXPR_${Q}__'`,Y[Q]);return J}catch(Z){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",Z);return $}}function dj($){let Z=[],Y=new Set,X=0,J=0,Q=$.length,G=(U)=>{J++;while(J<Q){if($[J]==="\\"){J+=2;continue}if($[J]===U){J++;return}J++}},K=()=>{J++;while(J<Q){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++;return}if($[J]==="$"&&$[J+1]==="{"){J+=2;let U=1;while(J<Q&&U>0)if($[J]==="{")U++,J++;else if($[J]==="}")U--,J++;else if($[J]==="'"||$[J]==='"')G($[J]);else if($[J]==="`")K();else J++;continue}J++}},z=()=>{if($[J]==="/"&&$[J+1]==="/"){while(J<Q&&$[J]!==`
13432
+ `)J++;return!0}if($[J]==="/"&&$[J+1]==="*"){J+=2;while(J<Q-1&&!($[J]==="*"&&$[J+1]==="/"))J++;return J+=2,!0}return!1},q=()=>{if(X!==0)return;let U=$.slice(J).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 W=$.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(W){let j=W[2];if(!Y.has(j))Z.push(j),Y.add(j);return}let _=$.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let j=_[1];if(!Y.has(j))Z.push(j),Y.add(j);return}let B=$.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!Y.has(j))Z.push(j),Y.add(j)}};while(J<Q){if(z())continue;if($[J]==="'"||$[J]==='"'){G($[J]);continue}if($[J]==="`"){K();continue}if($[J]==="{"){X++,J++;continue}if($[J]==="}"){X--,J++;continue}if(X===0&&/[a-z]/i.test($[J])&&(J===0||/\s|[;{}()]/.test($[J-1])))q();J++}return Z}function mj($){let Z=[],Y=0,X=0,J=null;for(let Q=0;Q<$.length;Q++){let G=$[Q];if(J){if(G==="\\"){Q++;continue}if(G===J)J=null;continue}if(G==='"'||G==="'"||G==="`"){J=G;continue}if(G==="("||G==="["||G==="{")Y++;else if(G===")"||G==="]"||G==="}")Y--;else if(G===","&&Y===0)Z.push($.slice(X,Q)),X=Q+1}if(X<$.length)Z.push($.slice(X));return Z}function uj($){let Z=0,Y=null;for(let X=0;X<$.length;X++){let J=$[X];if(Y){if(J==="\\"){X++;continue}if(J===Y)Y=null;continue}if(J==='"'||J==="'"||J==="`"){Y=J;continue}if(J==="("||J==="["||J==="{")Z++;else if(J===")"||J==="]"||J==="}")Z--;else if(J==="="&&Z===0){let Q=$[X-1],G=$[X+1];if(Q==="!"||Q==="<"||Q===">"||Q==="=")continue;if(G==="="||G===">")continue;return X}}return-1}function lj($,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 J=X,Q=0,G=-1;for(;X>=0;X--){let z=$[X];if(z==="}")Q++;else if(z==="{"){if(Q--,Q===0){G=X;break}}}if(G===-1)return;let K=$.slice(G+1,J);for(let z of mj(K)){let q=z.trim();if(!q||q.startsWith("..."))continue;let U=uj(q);if(U===-1)continue;let W=q.slice(0,U).trim();if(!/^[A-Z_$][\w$]*$/i.test(W))continue;if(Z[W]!==void 0)continue;let _=q.slice(U+1).trim();if(!_)continue;try{let B=Object.keys(Z),j=Function(...B,`"use strict"; return (${_});`);Z[W]=j(...B.map((H)=>Z[H]))}catch{}}}catch{}}async function zY($,Z,Y,X,J){let Q=$.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(),z=Y.__importedComponents;if(z){for(let L of[Q,Q.toLowerCase(),G(Q),K(Q)])if(z.has(L))return!0}let q=[...new Set([`${Q}.stx`,`${G(Q)}.stx`,`${K(Q)}.stx`])],U=typeof J.root==="string"?d.resolve(J.root):void 0,W=U??d.dirname(X),_=[],B=(L)=>{if(L&&!_.includes(L))_.push(L)},j=Y.__originalFilePath;if(j)B(d.join(d.dirname(j),"components"));B(Z),B(d.join(d.dirname(X),"components")),B(J.componentsDir);let H=J._pluginComponentDirs;if(Array.isArray(H))for(let L of H)B(typeof L==="string"?L:null);if(U)B(d.resolve(U,"resources/views/components")),B(d.resolve(U,"resources/components")),B(d.resolve(U,"src/components")),B(d.resolve(U,"components"));if(Q.startsWith("./")||Q.startsWith("../"))return n(d.resolve(d.dirname(X),`${Q}.stx`));for(let L of _){let F=d.isAbsolute(L)?L:d.resolve(W,L);for(let O of q)if(await n(d.join(F,O)))return!0}return!1}function pj($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}async function z1($,Z,Y,X,J,Q,G,K=new Set,z){let{extractVariables:q}=await Promise.resolve().then(() => (s5(),M4)),U=K??new Set;if(U.has($))return`[Circular component reference: ${$}]`;let W=new Set(U);W.add($);let _=typeof Z.client==="string"?Z.client.trim():"";if("client"in Z)delete Z.client;let B=_&&_!=="load"&&pj(_)?_:"";try{let j=(y)=>y.split("-").map((v)=>v.charAt(0).toUpperCase()+v.slice(1)).join(""),H=(y)=>y.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),L=$.endsWith(".stx")?$.slice(0,-4):$,F=null,O=J.__importedComponents;if(O){let y=[L,L.toLowerCase(),j(L),H(L)];for(let v of y)if(O.has(v)){F=O.get(v);break}}let V=[];if(!F){let y=[`${L}.stx`,`${j(L)}.stx`,`${H(L)}.stx`],v=[...new Set(y)],x=J.__originalFilePath,g=[];if(x){let U0=d.join(d.dirname(x),"components");g.push(U0)}if(X)g.push(X);let l=d.join(d.dirname(Q),"components");if(!g.includes(l))g.push(l);if(G.componentsDir&&G.componentsDir!==X&&!g.includes(G.componentsDir))g.push(G.componentsDir);let s=G._pluginComponentDirs;if(Array.isArray(s)){for(let U0 of s)if(typeof U0==="string"&&!g.includes(U0))g.push(U0)}let G0=typeof G.root==="string"?d.resolve(G.root):void 0,M0=G0??d.dirname(Q),P0=[];if(G0)P0.push(d.resolve(G0,"resources/views/components")),P0.push(d.resolve(G0,"resources/components")),P0.push(d.resolve(G0,"src/components")),P0.push(d.resolve(G0,"components"));P0.push(d.resolve(import.meta.dir,"components"));for(let U0 of P0)if(!g.includes(U0))g.push(U0);let I1=[...new Set(g.map((U0)=>{if(!U0)return U0;return d.isAbsolute(U0)?U0:d.resolve(M0,U0)}))];if(g.length=0,g.push(...I1),L.startsWith("./")||L.startsWith("../"))F=d.resolve(d.dirname(Q),`${L}.stx`),V.push(F);else for(let U0 of g){if(!U0)continue;for(let D1 of v){let N5=d.join(U0,D1);if(V.push(N5),await n(N5)){F=N5;break}}if(F)break;if(!F)try{let D1=await import("fs");if(!D1.statSync(U0,{throwIfNoEntry:!1})?.isDirectory())continue;let K$=8,t=[{path:U0,depth:0}];while(t.length>0&&!F){let s0=t.pop();if(s0.depth>=K$)continue;let Y7;try{Y7=D1.readdirSync(s0.path,{withFileTypes:!0})}catch{continue}for(let z$ of Y7){if(!z$.isDirectory())continue;if(z$.name==="node_modules"||z$.name.startsWith("."))continue;let q9=d.join(s0.path,z$.name);for(let qQ of v){let X7=d.join(q9,qQ);if(V.push(X7),await n(X7)){F=X7;break}}if(F)break;t.push({path:q9,depth:s0.depth+1})}}}catch{}if(F)break}}if(!F||!await n(F)){let y=V.length>0?`
13433
13433
  Searched paths:
13434
13434
  ${V.map((v)=>` - ${v}`).join(`
13435
- `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${P}`}z.add(F);let A;if(J$.has(F))A=J$.get(F);else try{A=await Bun.file(F).text(),J$.set(F,A)}catch(P){return`[Error loading component: ${P instanceof Error?P.message:String(P)}]`}let w=new Set(["__originalFilePath","__importedComponents"]),R={};for(let[P,v]of Object.entries(J))if(!P.startsWith("__")||w.has(P))R[P]=v;let N={...R,...Z,props:Z,slot:Y,__processedComponents:W,__sections:{}};lj(A,N);let M=A,T=M.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(T)M=T[1].trim();let I=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,D=[...A.matchAll(I)],E=[];for(let P of D){let v=P[1]||"",f=P[2]||"",g=v.includes("server");if(l1(v)&&f.trim())f=p1(f);if(g&&f)try{await q(f,N,F)}catch(s){}if(!g){let s=f.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,"");if(s.includes("{{")&&s.includes("}}"))s=a0(s,N,F);let G0=v.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");E.push(`<script${G0}>${s}</script>`)}}let k=A.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),S=k?k[1]:"",b=k?k[2]:"",y="",m=S&&/\bscoped\b/i.test(S);if(k)y=`<style${S}>${b}</style>`;let x=M;if(x=x.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),k)x=x.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let P=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,v=[];if(x=x.replace(P,(f,g)=>{let l=g.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(l)v.push(`<style${l[1]}>${l[2]}</style>`);return""}),x=x.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),v.length>0)y=`${y}${v.join(`
13436
- `)}`}if(Y&&x.includes("{{ text || slot }}"))x=x.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Y);let{extractSlotContent:h,applySlots:u}=await Promise.resolve().then(() => (XQ(),YQ)),{defaultSlot:Q0,namedSlots:E0}=h(Y);x=await u(x,Q0||Y,E0,N);for(let[P,v]of Object.entries(N))if(typeof v==="string"){if(v.includes("<")&&v.includes(">")||v.includes("&lt;")||v.includes("&quot;")){let f=O7(v);N[P]=f}}let H0=E.some((P)=>/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test(P)),k0={...G,componentsDir:d.dirname(F),skipSignalsRuntime:!0,skipEventDirectives:H0,defaultLayout:void 0};N.__stxProcessingDepth=(J.__stxProcessingDepth||0)+1;let X0=await _0(x,N,F,k0,z),A0=`stx_${L.replace(/[^a-zA-Z0-9]/g,"_")}_${++gj}_${Math.random().toString(36).slice(2,8)}`,W0=X0;if(H0){let P="";if(Object.keys(Z).length>0)try{P=` data-stx-props="${JQ(JSON.stringify(Z))}"`}catch{}let v=B?` stx-hydrate="${JQ(B)}"`:"";if(W0=`<div data-stx-scope="${A0}"${P}${v}>${X0}</div>`,W0=E.map((g)=>{let l=g.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!l)return g;let[,s,G0]=l,S0=J1(G0),P0=`
13435
+ `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${y}`}z.add(F);let A;if(J$.has(F))A=J$.get(F);else try{A=await Bun.file(F).text(),J$.set(F,A)}catch(y){return`[Error loading component: ${y instanceof Error?y.message:String(y)}]`}let w=new Set(["__originalFilePath","__importedComponents"]),R={};for(let[y,v]of Object.entries(J))if(!y.startsWith("__")||w.has(y))R[y]=v;let N={...R,...Z,props:Z,slot:Y,__processedComponents:W,__sections:{}};lj(A,N);let M=A,T=M.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(T)M=T[1].trim();let I=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,D=[...A.matchAll(I)],E=[];for(let y of D){let v=y[1]||"",x=y[2]||"",g=v.includes("server");if(l1(v)&&x.trim())x=p1(x);if(g&&x)try{await q(x,N,F)}catch(s){}if(!g){let s=x.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,"");if(s.includes("{{")&&s.includes("}}"))s=a0(s,N,F);let G0=v.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");E.push(`<script${G0}>${s}</script>`)}}let k=A.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),S=k?k[1]:"",b=k?k[2]:"",C="",m=S&&/\bscoped\b/i.test(S);if(k)C=`<style${S}>${b}</style>`;let f=M;if(f=f.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),k)f=f.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let y=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,v=[];if(f=f.replace(y,(x,g)=>{let l=g.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(l)v.push(`<style${l[1]}>${l[2]}</style>`);return""}),f=f.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),v.length>0)C=`${C}${v.join(`
13436
+ `)}`}if(Y&&f.includes("{{ text || slot }}"))f=f.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Y);let{extractSlotContent:h,applySlots:u}=await Promise.resolve().then(() => (XQ(),YQ)),{defaultSlot:Q0,namedSlots:k0}=h(Y);f=await u(f,Q0||Y,k0,N);for(let[y,v]of Object.entries(N))if(typeof v==="string"){if(v.includes("<")&&v.includes(">")||v.includes("&lt;")||v.includes("&quot;")){let x=O7(v);N[y]=x}}let H0=E.some((y)=>/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test(y)),S0={...G,componentsDir:d.dirname(F),skipSignalsRuntime:!0,skipEventDirectives:H0,defaultLayout:void 0};N.__stxProcessingDepth=(J.__stxProcessingDepth||0)+1;let X0=await _0(f,N,F,S0,z),A0=`stx_${L.replace(/[^a-zA-Z0-9]/g,"_")}_${++gj}_${Math.random().toString(36).slice(2,8)}`,W0=X0;if(H0){let y="";if(Object.keys(Z).length>0)try{y=` data-stx-props="${JQ(JSON.stringify(Z))}"`}catch{}let v=B?` stx-hydrate="${JQ(B)}"`:"";if(W0=`<div data-stx-scope="${A0}"${y}${v}>${X0}</div>`,W0=E.map((g)=>{let l=g.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!l)return g;let[,s,G0]=l,M0=J1(G0),P0=`
13437
13437
  (function() {
13438
13438
  const { state, derived, effect, batch, defineEmits, defineExpose, defineSlots, defineProps, withDefaults, useStore, useFetch, useRef, useQuery, useMutation, useOptimistic, useDebounce, useDebouncedValue, useThrottle, useInterval, useTimeout, useToggle, useCounter, useClickOutside, useFocus, useAsync, useLocalStorage, useSessionStorage, useCookie, useReactiveProp, useEventListener, useWebSocket, useColorMode, useDark, useHead, useSeoMeta, definePageMeta, useRoute, useSearchParams, navigate, goBack, goForward, provide, inject, ref, reactive, computed, watch, watchEffect, nextTick } = window.stx;
13439
13439
  const __scope = window.stx._scopes = window.stx._scopes || {};
@@ -13445,23 +13445,23 @@ ${V.map((v)=>` - ${v}`).join(`
13445
13445
  const onMount = (fn) => __scopeVars.__mountCallbacks.push(fn);
13446
13446
  const onDestroy = (fn) => __scopeVars.__destroyCallbacks.push(fn);
13447
13447
 
13448
- ${S0}
13448
+ ${M0}
13449
13449
 
13450
13450
  // Register all defined signals and functions in this scope
13451
13451
  const __localVars = {};
13452
13452
  try {
13453
- ${dj(S0).map((I1)=>`if (typeof ${I1} !== 'undefined') __localVars['${I1}'] = ${I1};`).join(`
13453
+ ${dj(M0).map((I1)=>`if (typeof ${I1} !== 'undefined') __localVars['${I1}'] = ${I1};`).join(`
13454
13454
  `)}
13455
13455
  }
13456
13456
  catch (e) {}
13457
13457
  Object.assign(__scopeVars, __localVars);
13458
13458
  })();`;if(B)return`<script type="stx/island" data-stx-island="${A0}" data-stx-scoped${s}>${P0}</script>`;return`<script data-stx-scoped${s}>${P0}</script>`}).join(`
13459
13459
  `)+`
13460
- `+W0,y)W0+=`
13461
- `+y}else{if(y)W0+=`
13462
- `+y;if(E.length>0){let P=N.__stx_event_bindings||[],v=Y$(N),f=await Promise.all(E.map(async(g)=>{let l=g.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!l)return g;return await X$(l[1],{eventBindings:P,templateContent:W0,filePath:F,projectRoot:process.cwd(),serverData:v})}));W0+=`
13463
- `+f.join(`
13464
- `),N.__stx_event_bindings=[]}}if(m){let P=S4(W0,F);if(P.hasScoped)W0=P.html}return W0}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{U.delete($)}}async function n($){return Bun.file($).exists()}function z9($,Z){let Y=d.resolve(Z),X=d.resolve($),J=Y.endsWith(d.sep)?Y:Y+d.sep;if(X===Y||X.startsWith(J))return X;return null}async function a$($,Z,Y,X){let J=await cj($,Z,Y,X);if(J===null)return null;let Q=z9(J,process.cwd());if(Q)return Q;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 z=d.isAbsolute(K)?K:d.resolve(process.cwd(),K);if(z9(J,z))return d.resolve(J)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${J} (template: ${$}, from: ${Z})`),null}async function cj($,Z,Y,X){if(Y.debug)console.log(`Resolving template path: ${$} from ${Z}`);let J=d.dirname(Z),Q=process.cwd();if($.startsWith("/")){let _=d.join(Q,$),B=z9(_,Q);if(!B)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${Z})`),null;if(Y.debug)console.log(`Checking absolute path: ${B}`);if(await n(B)&&X)X.add(B);return B}let G=d.join(J,$);if(await n(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 _ of[".stx",".tsx",".jsx"]){let B=`${G}${_}`;if(await n(B)){if(Y.debug)console.log(`Found direct path with extension: ${B}`);if(X)X.add(B);return B}}let K="",z=d.resolve(J),q=process.cwd();for(let _=0;_<10;_++){let B=d.join(z,"layouts"),j=!1;try{j=fj.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){K=B;break}let H=d.dirname(z);if(H===z||H.length<q.length)break;z=H}if(K){let _=$.startsWith("layouts/")?$.slice(8):$,B=d.join(K,_);if(await n(B)){if(Y.debug)console.log(`Found in current layouts dir: ${B}`);if(X)X.add(B);return B}if(!_.endsWith(".stx")){let j=`${B}.stx`;if(await n(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 _=d.isAbsolute(Y.layoutsDir)?Y.layoutsDir:d.resolve(process.cwd(),Y.layoutsDir),B=$.startsWith("layouts/")?$.slice(8):$,j=d.join(_,B);if(await n(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 n(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 _=$.split("layouts/"),B=d.join(Y.partialsDir||J,"layouts",_[1]);if(await n(B)){if(Y.debug)console.log(`Found in layouts path: ${B}`);if(X)X.add(B);return B}if(!B.endsWith(".stx")){let j=`${B}.stx`;if(await n(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=d.join(Y.partialsDir,"layouts"),await n(K)){let _=d.join(K,$);if(await n(_)){if(Y.debug)console.log(`Found in partials layouts dir: ${_}`);if(X)X.add(_);return _}if(!$.endsWith(".stx")){let B=`${_}.stx`;if(await n(B)){if(Y.debug)console.log(`Found in partials layouts dir with extension: ${B}`);if(X)X.add(B);return B}}}}let U=Y.partialsDir||d.join(process.cwd(),"views"),W=d.join(U,$);if(await n(W)){if(Y.debug)console.log(`Found in views path: ${W}`);if(X)X.add(W);return W}if(!$.endsWith(".stx")){let _=`${W}.stx`;if(await n(_)){if(Y.debug)console.log(`Found in views path with extension: ${_}`);if(X)X.add(_);return _}}if(J.includes("temp")){let _=d.join(d.dirname(J),"layouts",$);if(await n(_)){if(Y.debug)console.log(`Found in temp layouts dir: ${_}`);if(X)X.add(_);return _}if(!$.endsWith(".stx")){let B=`${_}.stx`;if(await n(B)){if(Y.debug)console.log(`Found in temp layouts dir with extension: ${B}`);if(X)X.add(B);return B}}}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 QQ($,Z,Y){let X=0,J="",Q="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
13460
+ `+W0,C)W0+=`
13461
+ `+C}else{if(C)W0+=`
13462
+ `+C;if(E.length>0){let y=N.__stx_event_bindings||[],v=Y$(N),x=await Promise.all(E.map(async(g)=>{let l=g.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!l)return g;return await X$(l[1],{eventBindings:y,templateContent:W0,filePath:F,projectRoot:process.cwd(),serverData:v})}));W0+=`
13463
+ `+x.join(`
13464
+ `),N.__stx_event_bindings=[]}}if(m){let y=S4(W0,F);if(y.hasScoped)W0=y.html}return W0}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{U.delete($)}}async function n($){return Bun.file($).exists()}function z9($,Z){let Y=d.resolve(Z),X=d.resolve($),J=Y.endsWith(d.sep)?Y:Y+d.sep;if(X===Y||X.startsWith(J))return X;return null}async function a$($,Z,Y,X){let J=await cj($,Z,Y,X);if(J===null)return null;let Q=z9(J,process.cwd());if(Q)return Q;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 z=d.isAbsolute(K)?K:d.resolve(process.cwd(),K);if(z9(J,z))return d.resolve(J)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${J} (template: ${$}, from: ${Z})`),null}async function cj($,Z,Y,X){if(Y.debug)console.log(`Resolving template path: ${$} from ${Z}`);let J=d.dirname(Z),Q=process.cwd();if($.startsWith("/")){let _=d.join(Q,$),B=z9(_,Q);if(!B)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${Z})`),null;if(Y.debug)console.log(`Checking absolute path: ${B}`);if(await n(B)&&X)X.add(B);return B}let G=d.join(J,$);if(await n(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 _ of[".stx",".tsx",".jsx"]){let B=`${G}${_}`;if(await n(B)){if(Y.debug)console.log(`Found direct path with extension: ${B}`);if(X)X.add(B);return B}}let K="",z=d.resolve(J),q=process.cwd();for(let _=0;_<10;_++){let B=d.join(z,"layouts"),j=!1;try{j=fj.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){K=B;break}let H=d.dirname(z);if(H===z||H.length<q.length)break;z=H}if(K){let _=$.startsWith("layouts/")?$.slice(8):$,B=d.join(K,_);if(await n(B)){if(Y.debug)console.log(`Found in current layouts dir: ${B}`);if(X)X.add(B);return B}if(!_.endsWith(".stx")){let j=`${B}.stx`;if(await n(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 _=d.isAbsolute(Y.layoutsDir)?Y.layoutsDir:d.resolve(process.cwd(),Y.layoutsDir),B=$.startsWith("layouts/")?$.slice(8):$,j=d.join(_,B);if(await n(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 n(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 _=$.split("layouts/"),B=d.join(Y.partialsDir||J,"layouts",_[1]);if(await n(B)){if(Y.debug)console.log(`Found in layouts path: ${B}`);if(X)X.add(B);return B}if(!B.endsWith(".stx")){let j=`${B}.stx`;if(await n(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=d.join(Y.partialsDir,"layouts"),await n(K)){let _=d.join(K,$);if(await n(_)){if(Y.debug)console.log(`Found in partials layouts dir: ${_}`);if(X)X.add(_);return _}if(!$.endsWith(".stx")){let B=`${_}.stx`;if(await n(B)){if(Y.debug)console.log(`Found in partials layouts dir with extension: ${B}`);if(X)X.add(B);return B}}}}let U=Y.partialsDir||d.join(process.cwd(),"views"),W=d.join(U,$);if(await n(W)){if(Y.debug)console.log(`Found in views path: ${W}`);if(X)X.add(W);return W}if(!$.endsWith(".stx")){let _=`${W}.stx`;if(await n(_)){if(Y.debug)console.log(`Found in views path with extension: ${_}`);if(X)X.add(_);return _}}if(J.includes("temp")){let _=d.join(d.dirname(J),"layouts",$);if(await n(_)){if(Y.debug)console.log(`Found in temp layouts dir: ${_}`);if(X)X.add(_);return _}if(!$.endsWith(".stx")){let B=`${_}.stx`;if(await n(B)){if(Y.debug)console.log(`Found in temp layouts dir with extension: ${B}`);if(X)X.add(B);return B}}}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 QQ($,Z,Y){let X=0,J="",Q="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
13465
13465
  `),K=0;for(let z=0;z<G.length;z++)if(K+=G[z].length+1,K>=Z){X=z+1,J=G[z].trim();let q=Math.max(0,z-2),U=Math.min(G.length,z+3);Q=G.slice(q,U).map((W,_)=>{let B=q+_+1;return`${B===X?"> ":" "}${B}: ${W}`}).join(`
13466
13466
  `);break}}else if(Y){let G=$.indexOf(Y);if(G>=0)return QQ($,G)}}catch{}return{lineNumber:X,lineContent:J,context:Q}}function J0($,Z,Y,X,J,Q){let{lineNumber:G,context:K}=QQ(X,J,Q),z=Y.split("/").pop(),q=0;if(typeof J==="number"&&J>=0&&X){let W=X.lastIndexOf(`
13467
13467
  `,Math.max(0,J-1));q=J-(W+1)+1}let U="";if(G>0)U+=`
@@ -13476,7 +13476,7 @@ ${a.yellow}${a.bold}Message:${a.reset} ${Z}
13476
13476
  `,K)U+=`
13477
13477
  ${a.blue}${a.bold}Context:${a.reset}
13478
13478
  ${a.dim}${K}${a.reset}
13479
- `;return U}function lT(){J$.clear()}function pT(){return{size:J$.size,maxSize:500}}var J$,gj=0,a;var F0=C(()=>{r5();u0();e1();F4();r1();g6();aJ();s5();J$=new k5(500);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"}});var DY={};p(DY,{renderVendorStyleTags:()=>zQ,processClientScript:()=>X$,generateServerDataBridge:()=>p4,extractBridgeData:()=>Y$,extractAndStripCssImports:()=>KQ});import s1 from"path";import Q$ from"fs";function nj($){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 oj($,Z){let Y=Z;while(!0){let X=s1.join(Y,"node_modules",$,"package.json");if(Q$.existsSync(X))return s1.dirname(X);let J=s1.dirname(Y);if(J===Y)return null;Y=J}}function sj($,Z){if(!$||typeof $!=="object")return null;let Y=(J)=>{if(typeof J==="string")return J;if(J&&typeof J==="object"){if(typeof J.import==="string")return J.import;if(typeof J.default==="string")return J.default;if(typeof J.import==="object")return Y(J.import);if(typeof J.default==="object")return Y(J.default)}return null};if(Object.prototype.hasOwnProperty.call($,Z))return Y($[Z]);let X=null;for(let J of Object.keys($)){let Q=J.indexOf("*");if(Q===-1)continue;let G=J.slice(0,Q),K=J.slice(Q+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:J,prefix:G,suffix:K}}if(X){let J=Z.slice(X.prefix.length,Z.length-X.suffix.length),Q=Y($[X.pattern]);if(Q)return Q.replace("*",J)}return null}function rj($,Z){let Y=nj($);if(!Y||!Y.subpath)return null;let X=oj(Y.pkg,Z);if(!X)return null;let J;try{J=JSON.parse(Q$.readFileSync(s1.join(X,"package.json"),"utf8"))}catch{return null}let Q=`.${Y.subpath}`,G=sj(J.exports,Q);if(!G)return null;let K=s1.resolve(X,G);return Q$.existsSync(K)?K:null}function KQ($,Z){let Y=Z.filePath?s1.dirname(Z.filePath):Z.projectRoot||process.cwd(),X=Z.projectRoot||process.cwd(),J=new Set,Q=[];return{code:$.replace(ij,(K,z)=>{let q;try{if(z.startsWith("./")||z.startsWith("../")||z.startsWith("/")){if(q=z.startsWith("/")?z:s1.resolve(Y,z),!Q$.existsSync(q))throw Error(`file not found: ${q}`)}else{let U=null;try{U=Bun.resolveSync(z,X)}catch{U=rj(z,X)}if(!U)throw Error(`could not resolve ${z} (Bun.resolveSync + exports fallback both failed)`);q=U}}catch(U){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(z)} (from ${Z.filePath||"<unknown>"}): ${U?.message||U}`),""}if(J.has(q))return"";J.add(q);try{let U=Q$.readFileSync(q,"utf8");Q.push({source:z,resolvedPath:q,contents:U})}catch(U){console.warn(`[stx:vendor-css] could not read ${q}: ${U?.message||U}`)}return""}),styles:Q}}function aj($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function zQ($){if($.length===0)return"";return`${$.map((Z)=>{return`<style data-stx-vendor="${aj(Z.source)}" data-stx-layer="vendor">
13479
+ `;return U}function lT(){J$.clear()}function pT(){return{size:J$.size,maxSize:500}}var J$,gj=0,a;var F0=P(()=>{r5();u0();e1();F4();r1();g6();aJ();s5();J$=new k5(500);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"}});var DY={};p(DY,{renderVendorStyleTags:()=>zQ,processClientScript:()=>X$,generateServerDataBridge:()=>p4,extractBridgeData:()=>Y$,extractAndStripCssImports:()=>KQ});import s1 from"path";import Q$ from"fs";function nj($){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 oj($,Z){let Y=Z;while(!0){let X=s1.join(Y,"node_modules",$,"package.json");if(Q$.existsSync(X))return s1.dirname(X);let J=s1.dirname(Y);if(J===Y)return null;Y=J}}function sj($,Z){if(!$||typeof $!=="object")return null;let Y=(J)=>{if(typeof J==="string")return J;if(J&&typeof J==="object"){if(typeof J.import==="string")return J.import;if(typeof J.default==="string")return J.default;if(typeof J.import==="object")return Y(J.import);if(typeof J.default==="object")return Y(J.default)}return null};if(Object.prototype.hasOwnProperty.call($,Z))return Y($[Z]);let X=null;for(let J of Object.keys($)){let Q=J.indexOf("*");if(Q===-1)continue;let G=J.slice(0,Q),K=J.slice(Q+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:J,prefix:G,suffix:K}}if(X){let J=Z.slice(X.prefix.length,Z.length-X.suffix.length),Q=Y($[X.pattern]);if(Q)return Q.replace("*",J)}return null}function rj($,Z){let Y=nj($);if(!Y||!Y.subpath)return null;let X=oj(Y.pkg,Z);if(!X)return null;let J;try{J=JSON.parse(Q$.readFileSync(s1.join(X,"package.json"),"utf8"))}catch{return null}let Q=`.${Y.subpath}`,G=sj(J.exports,Q);if(!G)return null;let K=s1.resolve(X,G);return Q$.existsSync(K)?K:null}function KQ($,Z){let Y=Z.filePath?s1.dirname(Z.filePath):Z.projectRoot||process.cwd(),X=Z.projectRoot||process.cwd(),J=new Set,Q=[];return{code:$.replace(ij,(K,z)=>{let q;try{if(z.startsWith("./")||z.startsWith("../")||z.startsWith("/")){if(q=z.startsWith("/")?z:s1.resolve(Y,z),!Q$.existsSync(q))throw Error(`file not found: ${q}`)}else{let U=null;try{U=Bun.resolveSync(z,X)}catch{U=rj(z,X)}if(!U)throw Error(`could not resolve ${z} (Bun.resolveSync + exports fallback both failed)`);q=U}}catch(U){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(z)} (from ${Z.filePath||"<unknown>"}): ${U?.message||U}`),""}if(J.has(q))return"";J.add(q);try{let U=Q$.readFileSync(q,"utf8");Q.push({source:z,resolvedPath:q,contents:U})}catch(U){console.warn(`[stx:vendor-css] could not read ${q}: ${U?.message||U}`)}return""}),styles:Q}}function aj($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function zQ($){if($.length===0)return"";return`${$.map((Z)=>{return`<style data-stx-vendor="${aj(Z.source)}" data-stx-layer="vendor">
13480
13480
  @layer vendor {
13481
13481
  ${Z.contents}
13482
13482
  }
@@ -13542,11 +13542,11 @@ ${q}${F}
13542
13542
  'use strict';
13543
13543
  ${X}${Y}
13544
13544
  ${q}
13545
- })()</script>`}var ij,tj,ej,$H,JH,zH;var r5=C(()=>{F0();ij=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;tj=["state","derived","effect","batch","untrack","peek","isSignal","isDerived","onMount","onDestroy","useRef","navigate","goBack","goForward","useRoute","setRouteParams","useSearchParams","useFetch","useQuery","useMutation","useOptimistic","useReactiveProp","useLocalStorage","useSessionStorage","useCookie","useWebSocket","useHead","useSeoMeta","definePageMeta","useEventListener","useMeta","useDebounce","useDebouncedValue","useThrottle","useInterval","useTimeout","useToggle","useCounter","useClickOutside","useFocus","useAsync","useColorMode","useDark","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","useStore","action","createSelector","h","Fragment"],ej=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser"],$H=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"]);JH={left:0,middle:1,right:2};zH=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"])});var{serve:UH}=globalThis.Bun;import G$ from"fs";import M1 from"path";function JM($,Z=200,Y={}){return new Response($,{status:Z,headers:{"Content-Type":"text/html; charset=utf-8",...Y}})}async function WH($={}){let{port:Z=3000,root:Y=".",stxOptions:X={},watch:J=!0,onRequest:Q,routes:G={},middleware:K=[],on404:z,onError:q}=$,U=M1.resolve(Y),W=new Map;async function _(O){let V=G$.statSync(O),A=`${O}:${V.mtimeMs}`,w=W.get(A);if(w)return w.content;for(let h of W.keys())if(h.startsWith(`${O}:`)&&h!==A)W.delete(h);let R=await Bun.file(O).text(),N=R,M=R.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>/i);if(M&&M.index!==void 0){let h=M.index+M[0].length,u=1,Q0=h;while(Q0<R.length&&u>0){let E0=R.indexOf("<template",Q0),H0=R.indexOf("</template>",Q0);if(H0===-1)break;if(E0!==-1&&E0<H0)u++,Q0=E0+9;else{if(u--,u===0){N=R.substring(h,H0).trim();break}Q0=H0+11}}}let T=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,I=[],D=[],E;while((E=T.exec(R))!==null){let h=E[1],u=E[2],Q0=E[0];if(h.includes("server"))D.push(u);else I.push(Q0)}let k=R.match(/<style\b[^>]*>[\s\S]*?<\/style>/gi)||[],S=N.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,""),b={__filename:O,__dirname:M1.dirname(O)};for(let h of D)await e0(h,b,O);let x=await _0(S,b,O,X,new Set);if(k.length>0){let h=k.join(`
13546
- `);if(x.match(/(<\/head>)/i))x=x.replace(/(<\/head>)/i,`${h}
13545
+ })()</script>`}var ij,tj,ej,$H,JH,zH;var r5=P(()=>{F0();ij=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;tj=["state","derived","effect","batch","untrack","peek","isSignal","isDerived","onMount","onDestroy","useRef","navigate","goBack","goForward","useRoute","setRouteParams","useSearchParams","useFetch","useQuery","useMutation","useOptimistic","useReactiveProp","useLocalStorage","useSessionStorage","useCookie","useWebSocket","useHead","useSeoMeta","definePageMeta","useEventListener","useMeta","useDebounce","useDebouncedValue","useThrottle","useInterval","useTimeout","useToggle","useCounter","useClickOutside","useFocus","useAsync","useColorMode","useDark","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","useStore","action","createSelector","h","Fragment"],ej=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser"],$H=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"]);JH={left:0,middle:1,right:2};zH=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"])});var{serve:UH}=globalThis.Bun;import G$ from"fs";import M1 from"path";function JM($,Z=200,Y={}){return new Response($,{status:Z,headers:{"Content-Type":"text/html; charset=utf-8",...Y}})}async function WH($={}){let{port:Z=3000,root:Y=".",stxOptions:X={},watch:J=!0,onRequest:Q,routes:G={},middleware:K=[],on404:z,onError:q}=$,U=M1.resolve(Y),W=new Map;async function _(O){let V=G$.statSync(O),A=`${O}:${V.mtimeMs}`,w=W.get(A);if(w)return w.content;for(let h of W.keys())if(h.startsWith(`${O}:`)&&h!==A)W.delete(h);let R=await Bun.file(O).text(),N=R,M=R.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>/i);if(M&&M.index!==void 0){let h=M.index+M[0].length,u=1,Q0=h;while(Q0<R.length&&u>0){let k0=R.indexOf("<template",Q0),H0=R.indexOf("</template>",Q0);if(H0===-1)break;if(k0!==-1&&k0<H0)u++,Q0=k0+9;else{if(u--,u===0){N=R.substring(h,H0).trim();break}Q0=H0+11}}}let T=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,I=[],D=[],E;while((E=T.exec(R))!==null){let h=E[1],u=E[2],Q0=E[0];if(h.includes("server"))D.push(u);else I.push(Q0)}let k=R.match(/<style\b[^>]*>[\s\S]*?<\/style>/gi)||[],S=N.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,""),b={__filename:O,__dirname:M1.dirname(O)};for(let h of D)await e0(h,b,O);let f=await _0(S,b,O,X,new Set);if(k.length>0){let h=k.join(`
13546
+ `);if(f.match(/(<\/head>)/i))f=f.replace(/(<\/head>)/i,`${h}
13547
13547
  $1`)}if(I.length>0){let{interpolateScriptsInTemplate:h}=await Promise.resolve().then(() => (u0(),L7)),u=h(I.join(`
13548
- `),b);if(x.match(/(<\/body>)/i))x=x.replace(/(<\/body>)/i,`${u}
13549
- $1`);else x+=`
13550
- ${u}`}return W.set(A,{content:x,mtime:V.mtimeMs}),x}async function B(O){let V=G$.statSync(O),A=`${O}:${V.mtimeMs}`,w=W.get(A);if(w)return w.content;let{content:R}=await K4(O,X);return W.set(A,{content:R,mtime:V.mtimeMs}),R}function j(O){let V=O.startsWith("/")?O.slice(1):O,A=[V,`${V}.stx`,`${V}.md`,`${V}.html`,M1.join(V,"index.stx"),M1.join(V,"index.md"),M1.join(V,"index.html")];for(let w of A){let R=M1.join(U,w);if(G$.existsSync(R)&&G$.statSync(R).isFile())return R}return null}async function H(O){let V=new URL(O.url),A=async()=>{if(G[V.pathname])return await G[V.pathname](O);if(Q){let R=await Q(O);if(R)return R}let w=j(V.pathname);if(!w){if(z)return await z(O);return new Response("Not Found",{status:404})}try{let R,N="text/html";if(w.endsWith(".stx"))R=await _(w);else if(w.endsWith(".md"))R=await B(w);else if(w.endsWith(".html"))R=await Bun.file(w).text();else if(w.endsWith(".css"))R=await Bun.file(w).text(),N="text/css";else if(w.endsWith(".js"))R=await Bun.file(w).text(),N="text/javascript";else if(w.endsWith(".json"))R=await Bun.file(w).text(),N="application/json";else return new Response(Bun.file(w));return new Response(R,{headers:{"Content-Type":N}})}catch(R){if(q)return await q(R,O);let N=R instanceof Error?R.message:String(R),T=X?.debug===!0?`<h1>Error</h1><pre>${N}
13548
+ `),b);if(f.match(/(<\/body>)/i))f=f.replace(/(<\/body>)/i,`${u}
13549
+ $1`);else f+=`
13550
+ ${u}`}return W.set(A,{content:f,mtime:V.mtimeMs}),f}async function B(O){let V=G$.statSync(O),A=`${O}:${V.mtimeMs}`,w=W.get(A);if(w)return w.content;let{content:R}=await K4(O,X);return W.set(A,{content:R,mtime:V.mtimeMs}),R}function j(O){let V=O.startsWith("/")?O.slice(1):O,A=[V,`${V}.stx`,`${V}.md`,`${V}.html`,M1.join(V,"index.stx"),M1.join(V,"index.md"),M1.join(V,"index.html")];for(let w of A){let R=M1.join(U,w);if(G$.existsSync(R)&&G$.statSync(R).isFile())return R}return null}async function H(O){let V=new URL(O.url),A=async()=>{if(G[V.pathname])return await G[V.pathname](O);if(Q){let R=await Q(O);if(R)return R}let w=j(V.pathname);if(!w){if(z)return await z(O);return new Response("Not Found",{status:404})}try{let R,N="text/html";if(w.endsWith(".stx"))R=await _(w);else if(w.endsWith(".md"))R=await B(w);else if(w.endsWith(".html"))R=await Bun.file(w).text();else if(w.endsWith(".css"))R=await Bun.file(w).text(),N="text/css";else if(w.endsWith(".js"))R=await Bun.file(w).text(),N="text/javascript";else if(w.endsWith(".json"))R=await Bun.file(w).text(),N="application/json";else return new Response(Bun.file(w));return new Response(R,{headers:{"Content-Type":N}})}catch(R){if(q)return await q(R,O);let N=R instanceof Error?R.message:String(R),T=X?.debug===!0?`<h1>Error</h1><pre>${N}
13551
13551
  ${R instanceof Error?R.stack:""}</pre>`:"<h1>Internal Server Error</h1><p>An error occurred while processing your request.</p>";return new Response(T,{status:500,headers:{"Content-Type":"text/html"}})}};for(let w=K.length-1;w>=0;w--){let R=K[w],N=A;A=async()=>await R(O,N)}return await A()}let L=UH({port:Z,fetch:H}),F=null;if(J)F=G$.watch(U,{recursive:!0},(O,V)=>{if(V&&(V.endsWith(".stx")||V.endsWith(".md")||V.endsWith(".html")))W.clear()});return{server:L,url:L.url.toString(),stop(){if(F)F.close();L.stop()}}}async function QM($,Z={}){let Y=M1.resolve($);if(!await Bun.file(Y).exists())throw Error(`File not found: ${Y}`);let X=Y.endsWith(".md"),J=Y.endsWith(".stx");if(!X&&!J)throw Error(`Unsupported file type: ${Y}. Only .stx and .md files are supported.`);return await WH({...Z,root:M1.dirname(Y),routes:{"/":async()=>{let Q;if(X){let{content:G}=await K4(Y,Z.stxOptions);Q=G}else{let G=await Bun.file(Y).text(),K=[],z=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,q;while((q=z.exec(G))!==null)if(q[1].includes("server"))K.push(q[2]);let U=K.join(`
13552
- `),W=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),_={};if(U.trim())await e0(U,_,Y);let B=new Set;Q=await _0(W,_,Y,Z.stxOptions||{},B)}return new Response(Q,{headers:{"Content-Type":"text/html"}})},...Z.routes}})}function GM($){return $}function KM($){return $}var _H=C(()=>{E3();F4();F0()});_H();export{QM as serveFile,WH as serve,JM as htmlResponse,KM as createRoute,GM as createMiddleware};
13552
+ `),W=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),_={};if(U.trim())await e0(U,_,Y);let B=new Set;Q=await _0(W,_,Y,Z.stxOptions||{},B)}return new Response(Q,{headers:{"Content-Type":"text/html"}})},...Z.routes}})}function GM($){return $}function KM($){return $}var _H=P(()=>{E3();F4();F0()});_H();export{QM as serveFile,WH as serve,JM as htmlResponse,KM as createRoute,GM as createMiddleware};