@stacksjs/stx 0.2.319 → 0.2.321

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 (168) hide show
  1. package/dist/builtins/image-alpha.d.ts +26 -0
  2. package/dist/builtins/image-alpha.js +57 -0
  3. package/dist/builtins/image-delivery.d.ts +9 -0
  4. package/dist/builtins/image-delivery.js +77 -11
  5. package/dist/builtins/image-placeholder.d.ts +5 -0
  6. package/dist/builtins/image-placeholder.js +19 -3
  7. package/dist/builtins/stx-image.js +19 -6
  8. package/dist/{chunk-85p4dmft.js → chunk-0en7mkpa.js} +1 -1
  9. package/dist/{chunk-0mnv8pf5.js → chunk-0eydszkp.js} +1 -1
  10. package/dist/chunk-129fa2d9.js +2 -0
  11. package/dist/{chunk-acctstj3.js → chunk-1b2wksq3.js} +1 -1
  12. package/dist/{chunk-wm86mmgq.js → chunk-1q1qmmfn.js} +1 -1
  13. package/dist/{chunk-4ee1aaet.js → chunk-1r3ydhkx.js} +1 -1
  14. package/dist/chunk-1rdcew9t.js +2 -0
  15. package/dist/{chunk-ajhrz96a.js → chunk-1yv1v7hh.js} +1 -1
  16. package/dist/{chunk-tqayztkh.js → chunk-222swfwr.js} +1 -1
  17. package/dist/chunk-25m79xdw.js +2 -0
  18. package/dist/{chunk-2kv2gnzc.js → chunk-2925bmqr.js} +1 -1
  19. package/dist/{chunk-raxr83fs.js → chunk-2btrq8sz.js} +2 -2
  20. package/dist/chunk-2rkq7pd1.js +2 -0
  21. package/dist/chunk-2tcn2rw4.js +2 -0
  22. package/dist/{chunk-prry9kgy.js → chunk-33gkb5pr.js} +1 -1
  23. package/dist/{chunk-vhan24as.js → chunk-373fc0m2.js} +1 -1
  24. package/dist/{chunk-6c1ebjat.js → chunk-3erkb524.js} +1 -1
  25. package/dist/{chunk-ybct46zd.js → chunk-3ntb5zkk.js} +1 -1
  26. package/dist/{chunk-r3220h2n.js → chunk-3qt3cxh0.js} +1 -1
  27. package/dist/{chunk-b73h0vd8.js → chunk-3x0b8j25.js} +1 -1
  28. package/dist/chunk-48w09pf7.js +2 -0
  29. package/dist/chunk-4a2wcz8h.js +2 -0
  30. package/dist/chunk-4dtjqc90.js +2 -0
  31. package/dist/{chunk-djf1p5cy.js → chunk-4kp87md5.js} +1 -1
  32. package/dist/{chunk-3pv0qj5f.js → chunk-4zz9edh0.js} +1 -1
  33. package/dist/{chunk-51gea48g.js → chunk-526rr83q.js} +1 -1
  34. package/dist/{chunk-18p8dqya.js → chunk-5mdvkpt8.js} +1 -1
  35. package/dist/chunk-5sz2tmw3.js +2 -0
  36. package/dist/{chunk-322qz0cj.js → chunk-6r72pp2t.js} +1 -1
  37. package/dist/{chunk-397rqs12.js → chunk-70zb3560.js} +1 -1
  38. package/dist/{chunk-yzy6e4je.js → chunk-7b09hmk4.js} +10 -10
  39. package/dist/chunk-7je3fd68.js +2 -0
  40. package/dist/chunk-7kk2jb1j.js +3759 -0
  41. package/dist/chunk-7v72zj7x.js +2 -0
  42. package/dist/{chunk-0saq3nwy.js → chunk-8mspafdh.js} +1 -1
  43. package/dist/{chunk-bnq0p4r4.js → chunk-8q3a8g7m.js} +1 -1
  44. package/dist/{chunk-zebypbks.js → chunk-8q9qfy2v.js} +2 -2
  45. package/dist/chunk-8x78ed8t.js +2 -0
  46. package/dist/chunk-99yynes4.js +2 -0
  47. package/dist/{chunk-pknc4efv.js → chunk-9fjhmyje.js} +1 -1
  48. package/dist/{chunk-1ztjv7a4.js → chunk-9qxv7emz.js} +1 -1
  49. package/dist/{chunk-px0hqf1q.js → chunk-9whbqxsv.js} +1 -1
  50. package/dist/chunk-9zrmwtgh.js +2 -0
  51. package/dist/{chunk-0gbptqh2.js → chunk-a6q5dmq7.js} +1 -1
  52. package/dist/{chunk-s5wwa0t4.js → chunk-akefvpqr.js} +2 -2
  53. package/dist/chunk-bdwe7er9.js +2 -0
  54. package/dist/chunk-c5zfgpgx.js +2 -0
  55. package/dist/chunk-ced1qbdw.js +2 -0
  56. package/dist/{chunk-jryjwara.js → chunk-cey6rhqw.js} +1 -1
  57. package/dist/{chunk-v02j99gh.js → chunk-cfj7y2tp.js} +2 -2
  58. package/dist/{chunk-y4dd2n2n.js → chunk-cjf5h08r.js} +1 -1
  59. package/dist/chunk-cpa76anv.js +2 -0
  60. package/dist/{chunk-kexk6z9s.js → chunk-dr2rpkb4.js} +1 -1
  61. package/dist/{chunk-t5kwx6fa.js → chunk-eh66m9ar.js} +1 -1
  62. package/dist/{chunk-604qr43v.js → chunk-esq6ydx5.js} +1 -1
  63. package/dist/chunk-fh33afkv.js +2 -0
  64. package/dist/{chunk-msmhta0w.js → chunk-fs5gwtd9.js} +1 -1
  65. package/dist/{chunk-7c1qq9zq.js → chunk-g38wktfx.js} +1 -1
  66. package/dist/chunk-g5v7gw13.js +2 -0
  67. package/dist/{chunk-4hk5ewgp.js → chunk-gnk0xd8n.js} +1 -1
  68. package/dist/{chunk-7yzyn9k7.js → chunk-gyrf55m1.js} +1 -1
  69. package/dist/chunk-hg77c5m2.js +2 -0
  70. package/dist/{chunk-yzb20ane.js → chunk-hgc3n1xq.js} +1 -1
  71. package/dist/chunk-hhjrtjc9.js +3 -0
  72. package/dist/chunk-hmrv7qv5.js +2 -0
  73. package/dist/{chunk-egr5663e.js → chunk-hrd56xw7.js} +3 -3
  74. package/dist/{chunk-gcavh7hk.js → chunk-hrrynmne.js} +1 -1
  75. package/dist/{chunk-wkcnyv6m.js → chunk-j8bwgnz5.js} +2 -2
  76. package/dist/{chunk-ycgtkfbm.js → chunk-jgfkmkpb.js} +1 -1
  77. package/dist/{chunk-xcsf7my7.js → chunk-jtaxnnq3.js} +1 -1
  78. package/dist/chunk-jxx9apw6.js +2 -0
  79. package/dist/{chunk-s2kxa1tb.js → chunk-kncbae57.js} +1 -1
  80. package/dist/{chunk-8q8gj45z.js → chunk-krvreaxb.js} +1 -1
  81. package/dist/chunk-m1n5a725.js +2 -0
  82. package/dist/{chunk-zr1r73p3.js → chunk-mgd0vre2.js} +1 -1
  83. package/dist/{chunk-s3pvp8qv.js → chunk-mjbrbnv2.js} +1 -1
  84. package/dist/{chunk-n43zq50e.js → chunk-mmhdgz5x.js} +1 -1
  85. package/dist/{chunk-jd9nv63q.js → chunk-mnhwgk4x.js} +1 -1
  86. package/dist/{chunk-w6ncyp18.js → chunk-n3qsg135.js} +1 -1
  87. package/dist/{chunk-szkq9s8n.js → chunk-nn17da2e.js} +1 -1
  88. package/dist/{chunk-b8cteeha.js → chunk-pavfpmwj.js} +1 -1
  89. package/dist/chunk-pn1syk7x.js +2 -0
  90. package/dist/{chunk-f044qmn3.js → chunk-q5hwa8dn.js} +1 -1
  91. package/dist/chunk-qqvwfhd5.js +2 -0
  92. package/dist/{chunk-ka5wtqmw.js → chunk-qz462c22.js} +1 -1
  93. package/dist/{chunk-snmtft92.js → chunk-rpnjwpw3.js} +1 -1
  94. package/dist/{chunk-wb24hk90.js → chunk-rwq2qzpx.js} +1 -1
  95. package/dist/{chunk-wwghzbbg.js → chunk-rypa8b99.js} +1 -1
  96. package/dist/{chunk-ry1key0g.js → chunk-sb2g9f73.js} +1 -1
  97. package/dist/{chunk-9ebfmdyb.js → chunk-sqkz8tf3.js} +1 -1
  98. package/dist/{chunk-ttny9g8k.js → chunk-sr042pkc.js} +1 -1
  99. package/dist/chunk-ssdzdsm1.js +2 -0
  100. package/dist/{chunk-3by4c2g9.js → chunk-tbw7qn8b.js} +1 -1
  101. package/dist/{chunk-jdcn0ms1.js → chunk-tk459ykz.js} +2 -2
  102. package/dist/chunk-tv2qdq7h.js +2 -0
  103. package/dist/{chunk-5g39e9ra.js → chunk-twdvqqft.js} +1 -1
  104. package/dist/{chunk-jg2gbd58.js → chunk-vmjktkm9.js} +1 -1
  105. package/dist/{chunk-bbq82jww.js → chunk-w913decg.js} +2 -2
  106. package/dist/chunk-wn9z19wm.js +2 -0
  107. package/dist/{chunk-5qseeh5t.js → chunk-wr011j4b.js} +1 -1
  108. package/dist/{chunk-ksqba0cq.js → chunk-wtdkz7wz.js} +1 -1
  109. package/dist/{chunk-tph7b269.js → chunk-x2j5b308.js} +1 -1
  110. package/dist/{chunk-tzhcjtkr.js → chunk-x7eb8e98.js} +1 -1
  111. package/dist/chunk-xaeamzng.js +2 -0
  112. package/dist/chunk-xc5swjjg.js +2 -0
  113. package/dist/{chunk-gpesxpwq.js → chunk-xnj5h0bq.js} +2 -2
  114. package/dist/{chunk-zdzd2jb4.js → chunk-ycmsckjw.js} +1 -1
  115. package/dist/{chunk-a50hb40e.js → chunk-yhebk7kd.js} +1 -1
  116. package/dist/{chunk-nnv8wytm.js → chunk-ymfh9wan.js} +1 -1
  117. package/dist/{chunk-at84gyvf.js → chunk-z698hwht.js} +1 -1
  118. package/dist/{chunk-64ttktzc.js → chunk-zeqktcby.js} +1 -1
  119. package/dist/{chunk-aqrp68m6.js → chunk-zsapb653.js} +1 -1
  120. package/dist/cli.js +14 -14
  121. package/dist/craft-entry.js +1 -1
  122. package/dist/craft.js +1 -1
  123. package/dist/database.js +1 -1
  124. package/dist/first-script-tag.d.ts +24 -0
  125. package/dist/first-script-tag.js +44 -0
  126. package/dist/includes.d.ts +2 -0
  127. package/dist/includes.js +12 -4
  128. package/dist/loops.d.ts +15 -1
  129. package/dist/loops.js +18 -4
  130. package/dist/process.js +4 -29
  131. package/dist/pwa.js +2 -2
  132. package/dist/runtime-injection.js +2 -1
  133. package/dist/ssg.js +2 -2
  134. package/dist/visual-testing.js +1 -1
  135. package/package.json +6 -6
  136. package/dist/chunk-0ggq64sc.js +0 -2
  137. package/dist/chunk-1ppaw4xs.js +0 -2
  138. package/dist/chunk-455m2k1y.js +0 -2
  139. package/dist/chunk-65hqene1.js +0 -2
  140. package/dist/chunk-6vt9ddra.js +0 -2
  141. package/dist/chunk-6xmx6stb.js +0 -2
  142. package/dist/chunk-8618n28z.js +0 -2
  143. package/dist/chunk-8avktqwz.js +0 -2
  144. package/dist/chunk-8z11nkyk.js +0 -2
  145. package/dist/chunk-95jjdgmb.js +0 -2
  146. package/dist/chunk-9aw5d4rr.js +0 -2
  147. package/dist/chunk-9g14542g.js +0 -2
  148. package/dist/chunk-9h4fkwtj.js +0 -2
  149. package/dist/chunk-bxvqqejm.js +0 -2
  150. package/dist/chunk-bzmxbz48.js +0 -2
  151. package/dist/chunk-f9qrz82p.js +0 -2
  152. package/dist/chunk-g8vf2fc7.js +0 -2
  153. package/dist/chunk-h63vszd3.js +0 -2
  154. package/dist/chunk-h78pksyp.js +0 -2
  155. package/dist/chunk-hxf6zg80.js +0 -2
  156. package/dist/chunk-jr79tvvs.js +0 -2
  157. package/dist/chunk-jwnbwemq.js +0 -3
  158. package/dist/chunk-mvj75wef.js +0 -2
  159. package/dist/chunk-n0t2at1c.js +0 -2
  160. package/dist/chunk-spzbfqjn.js +0 -3759
  161. package/dist/chunk-v1j4myd8.js +0 -2
  162. package/dist/chunk-v33qvj8y.js +0 -2
  163. package/dist/chunk-vnh668fb.js +0 -2
  164. package/dist/chunk-vpbw6g2t.js +0 -2
  165. package/dist/chunk-w33gx25k.js +0 -2
  166. package/dist/chunk-w3dfvxar.js +0 -2
  167. package/dist/chunk-wcp0dt2c.js +0 -2
  168. package/dist/chunk-z82sc99z.js +0 -2
@@ -0,0 +1,3759 @@
1
+ // @bun
2
+ import{$r as w8,Nr as Q0,Pr as L9,Qr as H3,Rr as O9,Ts as D8,Xs as A8,Yr as E2,bs as G0,fs as b2,ft as D7,gs as R8,gt as A7,is as o0,js as N8,qs as j3,rs as o4,ss as Z0,ts as B0,us as b0,vs as V9,ws as Z2,xs as H0,ys as F9}from"./chunk-2btrq8sz.js";import{lt as g0,mt as jZ}from"./chunk-70zb3560.js";import{rt as s2}from"./chunk-zsapb653.js";import{Bt as H1,Ct as XZ,Dt as YZ,Et as Y2,Ft as l2,Gt as _9,Ht as T2,It as K8,Jt as r6,Kt as B1,Lt as n0,Mt as l9,Qt as T8,Rt as C9,cu as E8,wt as i1,xt as v1,yt as k8,zt as T1}from"./chunk-hrd56xw7.js";import{eu as G4,fu as q4,gu as K4}from"./chunk-hhjrtjc9.js";import{ku as T7,lu as E7,mu as e2,nu as $9}from"./chunk-sb2g9f73.js";import{pu as M7,ru as I7,su as k7,uu as H2}from"./chunk-1r3ydhkx.js";import{vu as S9}from"./chunk-j8bwgnz5.js";import{Au as c8,Bu as p8,Du as I8,xu as d8,yu as m8,zu as l8}from"./chunk-5mdvkpt8.js";import{Eu as b8,Iu as r2,Ku as i8}from"./chunk-zeqktcby.js";import{Uu as $1}from"./chunk-jtaxnnq3.js";import{Xu as y8}from"./chunk-2925bmqr.js";import{$u as p1,Yu as B3,Zu as UZ,_u as JZ,dv as HZ,ev as t$,fv as o6,hv as T4,kv as f4}from"./chunk-sr042pkc.js";import{$v as q2,Fv as H$,Wv as M8,Yv as fG,Zv as $5,vv as M$,yv as S6}from"./chunk-w913decg.js";import{ew as b7}from"./chunk-sqkz8tf3.js";import{jw as f}from"./chunk-cey6rhqw.js";import b1 from"path";import C2 from"fs";var o$=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"]),r$={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"},FZ=new Set(["ctrl","alt","shift","meta"]),e$={left:0,middle:1,right:2};function a$($){let Z={prevent:!1,stop:!1,once:!1,capture:!1,self:!1,passive:!1,keys:[],systemKeys:[],mouse:null,debounce:null,throttle:null};for(let J of $){let X=J.toLowerCase();if(X==="prevent")Z.prevent=!0;else if(X==="stop")Z.stop=!0;else if(X==="once")Z.once=!0;else if(X==="capture")Z.capture=!0;else if(X==="self")Z.self=!0;else if(X==="passive")Z.passive=!0;else if(FZ.has(X))Z.systemKeys.push(X);else if(X in e$)Z.mouse=X;else if(X in r$||/^[a-z]$/.test(X))Z.keys.push(r$[X]||X.toUpperCase());else if(X.startsWith("debounce")){let Q=X.match(/debounce(?:\.(\d+))?/);Z.debounce=Q?.[1]?Number.parseInt(Q[1],10):300}else if(X.startsWith("throttle")){let Q=X.match(/throttle(?:\.(\d+))?/);Z.throttle=Q?.[1]?Number.parseInt(Q[1],10):300}}return Z}function $3($){let Z=[],J=0,X=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,Q;while((Q=X.exec($))!==null){let[Y,G,z]=Q,q=Q.index,K=q+Y.length,W=`__stx_evt_${J++}`,U=[],H=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,j;while((j=H.exec(z))!==null){let[,V,F]=j,L=V.split("."),O=L[0];if(!o$.has(O))continue;U.push({attribute:`@${V}`,event:O,handler:F,modifiers:a$(L.slice(1)),elementId:W})}let B=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((j=B.exec(z))!==null){let[,V,F]=j,L=V.split("."),O=L[0];if(!o$.has(O))continue;U.push({attribute:`@${V}`,event:O,handler:F,modifiers:a$(L.slice(1)),elementId:W})}if(U.length>0)Z.push({originalTag:Y,elementId:W,events:U,startIndex:q,endIndex:K})}return Z}function wZ($){let Z=[],{modifiers:J}=$;if(J.self)Z.push("if ($event.target !== $el) return");for(let X of J.systemKeys)Z.push(`if (!$event.${X}Key) return`);if(J.keys.length>0){let X=J.keys.map((Q)=>`$event.key === '${Q}'`).join(" || ");Z.push(`if (!(${X})) return`)}if(J.mouse!==null){let X=e$[J.mouse];Z.push(`if ($event.button !== ${X}) return`)}if(J.prevent)Z.push("$event.preventDefault()");if(J.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function RZ($,Z){let J=$;if(Z.debounce!==null)J=`__stx_debounce(() => { ${J} }, ${Z.debounce})`;else if(Z.throttle!==null)J=`__stx_throttle(() => { ${J} }, ${Z.throttle})`;return J}function h9($){let Z=$.trim();if(!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(Z))return $;return`if (typeof ${Z} === 'function' && !${Z}._isSignal) ${Z}($event);`}function NZ($){let{modifiers:Z}=$,J=$.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),X=wZ($),Q=RZ(h9($.handler),Z),Y=[];if(Z.once)Y.push("once: true");if(Z.capture)Y.push("capture: true");if(Z.passive)Y.push("passive: true");let G=Y.length>0?`, { ${Y.join(", ")} }`:"",z=Q.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if($.event==="mounted")return`
3
+ (function() {
4
+ var $el = document.getElementById('${J}');
5
+ if (!$el) return;
6
+ // Run mounted handler immediately (DOM is ready)
7
+ var scope = $el.closest('[data-stx-scope]');
8
+ if (scope && scope.__stx_execute) {
9
+ scope.__stx_execute('${z}', null, $el);
10
+ }
11
+ else {
12
+ __stx_runHandler('${z}', null, $el);
13
+ }
14
+ })();`;if($.event==="unmounted")return`
15
+ (function() {
16
+ var $el = document.getElementById('${J}');
17
+ if (!$el) return;
18
+ // Set up MutationObserver to detect removal
19
+ var observer = new MutationObserver(function(mutations) {
20
+ for (var m of mutations) {
21
+ for (var node of m.removedNodes) {
22
+ if (node === $el || (node.contains && node.contains($el))) {
23
+ observer.disconnect();
24
+ var scope = $el.closest('[data-stx-scope]');
25
+ if (scope && scope.__stx_execute) {
26
+ scope.__stx_execute('${z}', null, $el);
27
+ }
28
+ else {
29
+ __stx_runHandler('${z}', null, $el);
30
+ }
31
+ return;
32
+ }
33
+ }
34
+ }
35
+ });
36
+ observer.observe(document.body, { childList: true, subtree: true });
37
+ // Store observer for cleanup
38
+ $el.__stx_unmount_observer = observer;
39
+ })();`;return`
40
+ (function() {
41
+ var $el = document.getElementById('${J}');
42
+ if (!$el) return;
43
+ // eslint-disable-next-line pickier/no-unused-vars
44
+ $el.addEventListener('${$.event}', function($event) {
45
+ ${X?X+";":""}
46
+ // Find the closest reactive scope and execute within its context
47
+ var scope = $el.closest('[data-stx-scope]');
48
+ if (scope && scope.__stx_execute) {
49
+ scope.__stx_execute('${z}', $event, $el);
50
+ }
51
+ else {
52
+ // Fallback for non-reactive context (entity-safe; decoded + run in memory)
53
+ __stx_runHandler('${z}', $event, $el);
54
+ }
55
+ }${G});
56
+ })();`}function u9($){if($.length===0)return"";return`
57
+ <script data-stx-events>
58
+ (function() {
59
+ 'use strict';
60
+
61
+ // Utility functions
62
+ function __stx_debounce(fn, delay) {
63
+ var timeout;
64
+ return function() {
65
+ var args = arguments;
66
+ var ctx = this;
67
+ clearTimeout(timeout);
68
+ timeout = setTimeout(function() { fn.apply(ctx, args); }, delay);
69
+ };
70
+ }
71
+
72
+ function __stx_throttle(fn, delay) {
73
+ var last = 0;
74
+ return function() {
75
+ var now = Date.now();
76
+ if (now - last >= delay) {
77
+ last = now;
78
+ fn.apply(this, arguments);
79
+ }
80
+ };
81
+ }
82
+
83
+ // Non-reactive fallback runner. The handler is embedded HTML-entity-encoded
84
+ // so the surrounding script element can never contain raw markup, including
85
+ // its own closing tag; we decode it to JS only in memory here, then run it
86
+ // with $event/$el in scope.
87
+ //
88
+ // This comment must not spell that closing tag out. It used to, as an
89
+ // example, and a browser ends the script element at the FIRST one it sees \u2014
90
+ // so everything below this line, __stx_runHandler included, was emitted as
91
+ // page text and no listener was ever bound. The comment about escaping was
92
+ // the thing that needed escaping.
93
+ function __stx_runHandler(h, $event, $el) {
94
+ var code = h
95
+ .replace(/&lt;/g, '<')
96
+ .replace(/&gt;/g, '>')
97
+ .replace(/&quot;/g, '"')
98
+ .replace(/&#39;/g, "'")
99
+ .replace(/&#x27;/g, "'")
100
+ .replace(/&amp;/g, '&');
101
+ try {
102
+ // eslint-disable-next-line no-new-func
103
+ (new Function('$event', '$el', code)).call($el, $event, $el);
104
+ }
105
+ catch (e) {
106
+ if (typeof console !== 'undefined') console.error('[stx] event handler error:', e);
107
+ }
108
+ }
109
+
110
+ // Event listeners
111
+ ${$.map(NZ).join(`
112
+ `)}
113
+ })();
114
+ </script>`}function DZ($){let Z=$3($);if(Z.length===0)return{template:$,bindings:[]};let J=$,X=[];for(let Q=Z.length-1;Q>=0;Q--){let Y=Z[Q],G=Y.originalTag;if(!G.includes(" id="))G=G.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${Y.elementId}"`);else{let z=G.match(/id=["']([^"']+)["']/);if(z)for(let q of Y.events)q.elementId=z[1]}for(let z of Y.events){let q=z.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),K=new RegExp(`\\s*${q}\\s*=\\s*"[^"]*"`,"g"),W=new RegExp(`\\s*${q}\\s*=\\s*'[^']*'`,"g");G=G.replace(K,""),G=G.replace(W,"")}J=J.slice(0,Y.startIndex)+G+J.slice(Y.endIndex),X.push(...Y.events)}return{template:J,bindings:X}}function Z3($,Z,J){if(t$($))return $;if(Z.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test($))return $;let{template:z,bindings:q}=DZ($),K=Z.__stx_event_bindings||[];return Z.__stx_event_bindings=[...K,...q],z}let X=$3($);if(X.length===0)return $;let Q=$;for(let z=X.length-1;z>=0;z--){let q=X[z],K=q.originalTag;if(!K.includes(" id="))K=K.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${q.elementId}"`);else{let W=K.match(/id=["']([^"']+)["']/);if(W)for(let U of q.events)U.elementId=W[1]}for(let W of q.events){let U=W.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),H=new RegExp(`\\s*${U}\\s*=\\s*"[^"]*"`,"g"),j=new RegExp(`\\s*${U}\\s*=\\s*'[^']*'`,"g");K=K.replace(H,""),K=K.replace(j,"")}Q=Q.slice(0,q.startIndex)+K+Q.slice(q.endIndex)}let Y=u9(X.flatMap((z)=>z.events)),G=Q.lastIndexOf("</body>");if(G!==-1)Q=Q.slice(0,G)+Y+`
115
+ `+Q.slice(G);else Q+=Y;return Q}function Yq($){return/@[a-z]+(?:\.[a-z]+)*\s*=\s*["'][^"']*["']/i.test($)}import QZ from"fs";import x from"path";import{createHash as AZ}from"crypto";var h2="__stx_component_client_factories";function u2($){let Z=$[h2];return Z instanceof Map?Z:null}function X3($){$[h2]=new Map}function d9($,Z){let J=u2($);if(!J)return null;let X=AZ("sha256").update(Z).digest("hex").slice(0,16),Q=J.get(X);if(Q)Q.instances++;else J.set(X,{body:Z,instances:1});return X}function Y3($,Z){let J=u2(Z);if(!J?.size)return $;let X=new Map;for(let[W,U]of J)if(U.instances===1)X.set(W,U.body);let Q=[];if(X.size>0){let W=[...X.keys()].map((j)=>JSON.stringify(j).replace(/[$()*+.?[\\\]^{|}]/g,"\\$&")).join("|"),U=new RegExp(`window\\.__stxComponentFactories\\[(${W})\\]\\(("[^"]+")\\);`,"g"),H=U.exec($);while(H!==null){let j=X.get(JSON.parse(H[1]));if(j!==void 0)Q.push({start:H.index,end:H.index+H[0].length,replacement:`(${j})(${H[2]});`});H=U.exec($)}}let Y=[...J].filter(([,W])=>W.instances>1);if(Y.length===0)return J3($,Q);let z=`<script data-stx-scoped data-stx-run="always" data-stx-component-factories>
116
+ (function() {
117
+ const factories = window.__stxComponentFactories = window.__stxComponentFactories || {};
118
+ ${Y.map(([W,U])=>` try { factories[${JSON.stringify(W)}] = factories[${JSON.stringify(W)}] || ${U.body}; }
119
+ catch (e) { console.error('[stx] component factory ' + ${JSON.stringify(W)} + ' failed to register; instances of it will not hydrate.', e); }`).join(`
120
+ `)}
121
+ })();
122
+ </script>`,q=$.search(/<script\b(?=[^>]*\bdata-stx-scoped\b)/i),K=q<0?0:q;return Q.push({start:K,end:K,replacement:`${z}
123
+ `}),J3($,Q)}function J3($,Z){if(Z.length===0)return $;Z.sort((Y,G)=>Y.start-G.start||Y.end-G.end);let J=Array(Z.length*2+1),X=0,Q=0;for(let Y of Z)J[Q++]=$.slice(X,Y.start),J[Q++]=Y.replacement,X=Y.end;return J[Q]=$.slice(X),J.join("")}function Q3($){let Z=u2($),J=new Map;if(Z)for(let[X,Q]of Z)J.set(X,Q.instances);return J}function G3($,Z){let J=u2($);if(!J)return[];let X=[];for(let[Q,Y]of J){let G=Y.instances-(Z.get(Q)??0);if(G>0)X.push({body:Y.body,count:G})}return X}function z3($,Z){for(let{body:J,count:X}of Z)for(let Q=0;Q<X;Q++)d9($,J)}import K3 from"fs";var q3=0,d2=new Map;function qq(){q3=0,d2.clear()}function m2($,Z){let J=q3++,X=`<!--__STX_${$.toUpperCase()}_${J}__-->`;return d2.set(X,{type:$,expression:Z}),X}function Kq(){let $={};for(let[Z,J]of d2)$[Z]={type:J.type,expression:J.expression};return $}function Wq($){let Z={},J=/<!--__STX_(EXPR|COND|RAW)_(\d+)__-->/g,X;while((X=J.exec($))!==null){let Q=X[0],Y=X[1].toLowerCase(),G=d2.get(Q);Z[Q]={type:Y,expression:G?.expression||""}}return Z}function Uq($,Z){let J=$;for(let[X,Q]of Z)J=J.split(X).join(Q);return J}function Hq($){return $.includes("<!--__STX_")}var Q2={},W3=new Map;function MZ($){let Z=W3.get($);if(!Z){let J=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${J}(?!\\w)`,"g"),W3.set($,Z)}return Z.lastIndex=0,Z}var c2={uppercase:($,Z)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,Z)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,Z)=>{if($===void 0||$===null)return"";let J=String($);return J.charAt(0).toUpperCase()+J.slice(1)},number:($,Z,J=0)=>{if($===void 0||$===null)return"";try{let X=Number($);return Number.isNaN(X)?"":X.toFixed(Number.parseInt(String(J),10))}catch{return""}},fmt:($,Z,J="en-US")=>{if($===void 0||$===null)return"";try{let X=Number($);if(Number.isNaN(X))return String($);return X.toLocaleString(J)}catch{return String($)}},join:($,Z,J=",")=>{if(!Array.isArray($))return"";return $.join(String(J))},escape:($,Z)=>{if($===void 0||$===null)return"";return V3(String($))},translate:($,Z,J={})=>{if(!Z||!Z.__translations)return $;let X=Z.__translations,Q=Z.__i18nConfig?.fallbackToKey??!0,Y=String($).split("."),G=X;for(let q of Y){if(G===void 0||G===null)break;G=G[q]}if(G===void 0||G===null)return Q?$:"";let z=String(G);return Object.entries(J).forEach(([q,K])=>{z=z.replace(MZ(q),String(K))}),z},t:($,Z,J={})=>{return c2.translate($,Z,J)},truncate:($,Z,J=50,X="...")=>{if($===void 0||$===null)return"";let Q=String($);if(Q.length<=J)return Q;if(J<=X.length)return X.substring(0,J);return Q.substring(0,J-X.length)+X},date:($,Z,J="short",X="en-US")=>{if($===void 0||$===null)return"";try{let Q=$ instanceof Date?$:new Date($);if(Number.isNaN(Q.getTime()))return String($);let Y={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(J==="iso")return Q.toISOString();return new Intl.DateTimeFormat(X,Y[J]||Y.short).format(Q)}catch{return String($)}},currency:($,Z,J="USD",X="en-US")=>{if($===void 0||$===null)return"";try{let Q=Number($);if(Number.isNaN(Q))return String($);return new Intl.NumberFormat(X,{style:"currency",currency:J}).format(Q)}catch{return String($)}},pluralize:($,Z,J,X)=>{let Q=Number($);if(Number.isNaN(Q))return J;let Y=X||`${J}s`;return Q===1?J:Y},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 J=String($);return J.charAt(J.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,J=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return J?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,J="")=>{return $===void 0||$===null||$===""?J:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,J=0,X)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(J,X);return $},replace:($,Z,J,X="")=>{if($===void 0||$===null)return"";let Q=J.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Q,"g"),()=>X)},stripTags:($,Z)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,Z)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,Z)=>{let J=Number($);return Number.isNaN(J)?0:Math.abs(J)},round:($,Z,J=0)=>{let X=Number($);if(Number.isNaN(X))return 0;let Q=10**J;return Math.round(X*Q)/Q}};function IZ($,Z){if($ in c2)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);Q2[$]=Z}function Nq($){for(let[Z,J]of Object.entries($))IZ(Z,J)}function kZ(){return{...c2,...Q2}}function Dq(){for(let $ of Object.keys(Q2))delete Q2[$]}function c9($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function V3($){return c9($).replace(/\{{2,}/g,(Z)=>TZ(Z.length)).replace(/\{(?=!)/g,`&#123;${_3}`)}var _3="&#8288;";function TZ($){return Array.from({length:$},()=>"&#123;").join(_3)}function X1($,Z){let{scripts:J}=n0($);for(let X of J){let Q=X.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!Q||/\bserver\b|\bsrc\s*=/.test(Q[1]))continue;let Y=Q[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect|useModel)\s*(?:<[^>]*>)?\s*\(/.test(Y))return!0;if(B3(Y,Z))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 U3($,Z){let J=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","URL","URLSearchParams","Intl","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined","NaN","Infinity","isNaN","isFinite","window","document","console","new","typeof","instanceof","in","void"],X=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Q="",Y=!1,G=0;for(let K=0;K<X.length;K++){let W=X[K];if(!Y&&W==="`"){Y=!0,G=0;continue}if(Y){if(W==="`"&&G===0){Y=!1;continue}if(W==="$"&&X[K+1]==="{"){G++,K++,Q+=" ";continue}if(W==="}"&&G>0){G--;continue}if(G>0){Q+=W;continue}continue}Q+=W}X=Q;let z=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,q;while((q=z.exec(X))!==null){let K=q[1];if(!X.substring(0,q.index).trimEnd().endsWith(".")){if(!J.includes(K)&&!(K in Z))return!1}}return!0}function EZ($,Z){let J=Z.__stx_serverDeclared;if(!J||J.size===0)return!1;let X=g0($);for(let Q of J)if(new RegExp(`(?<![.#\\w$])${Q}(?![\\w$])`).test(X))return!0;return!1}function p9($,Z){let J=$;return J=J.replace(/\{!!([\s\S]*?)!!\}/g,(X,Q)=>{try{let Y=v0(Q,Z);if(Y===void 0)return X;return Y===null?"":String(Y)}catch{return X}}),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(X,Q)=>{let Y=Q.trim();if(/^__[A-Z_]+__$/.test(Y))return X;try{let G=v0(Q,Z);if(G===void 0)return X;return JSON.stringify(G).replace(/</g,"\\u003c")}catch{return X}}),J}function bZ($,Z){if(!$.includes("{"))return $;let J=$;return J=J.replace(/\{!!([\s\S]*?)!!\}/g,(X,Q)=>{try{let Y=v0(Q,Z);if(Y===void 0)return X;return Y===null?"":String(Y)}catch{return X}}),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(X,Q)=>{let Y=Q.trim();if(/^__[A-Z_]+__$/.test(Y))return X;try{let G=v0(Q,Z);if(G===void 0)return X;if(G===null)return"";return String(G).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}catch{return X}}),J}function Aq($,Z,J={}){let{output:X,scripts:Q}=n0($),Y=Q.map((G)=>{let z=G.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),q=G.match(/^<script\b[^>]*>/i),K=G.search(/<\/script\s*>$/i);if(!z||!q||K===-1)return G;let W=z[1],U=z[2];if(/\bdata-raw\b/.test(W))return G;if(J.skipServer&&/\bserver\b/.test(W))return G;let j=`<script${bZ(W,Z)}>`;if(/\bsrc\s*=/.test(W)||/\btype\s*=\s*["']application\/json["']/.test(W))return j+U+G.slice(K);return j+p9(U,Z)+G.slice(K)});return l9(X,Y)}function V1($,Z,J){let X=$,Q=(U,H)=>{let j=l2(U,H);if(j===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(U.slice(H,j))?-1:j},Y=(U,H,j,B)=>{let V=j.length,{output:F,tokens:L}=B1(U,H,(O,_)=>B(V+_));return j.push(...L),F},G=[];X=Y(X,Q,G,(U)=>`<!--__STX_STYLE_${U}__-->`);let z=[];X=Y(X,Y2,z,(U)=>`<!--__STX_SCRIPT_EXPR_${U}__-->`);let q=Z?.__stx_signals_gate===!0||X1($),K=new Set(Array.isArray(Z?.__stx_client_signal_names)?Z.__stx_client_signal_names:[]),W=new Set(Array.isArray(Z?.__stx_preserved_client_expressions)?Z.__stx_preserved_client_expressions:[]);if(X=X.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(U,H,j)=>{try{let B=v0(H,Z,!1,(V)=>m9(V,U,J,$));return B!==void 0&&B!==null?String(B):""}catch(B){let V=B instanceof Error?B.message:String(B);return _0("Expression",`Error evaluating: {{{ ${H.trim()}}}}: ${V}`,J,$,j,U)}}),X=X.replace(/\{!!([\s\S]*?)!!\}/g,(U,H,j)=>{try{let B=v0(H,Z,!1,(V)=>m9(V,U,J,$));if(B===void 0&&Z.__stx_buildMode==="compile")return m2("raw",H.trim());return B!==void 0&&B!==null?String(B):""}catch(B){if(Z.__stx_buildMode==="compile")return m2("raw",H.trim());let V=B instanceof Error?B.message:String(B);return _0("Expression",`Error evaluating: {!! ${H.trim()} !!}: ${V}`,J,$,j,U)}}),X=Y(X,Y2,z,(U)=>`<!--__STX_SCRIPT_EXPR_${U}__-->`),X=Y(X,Q,G,(U)=>`<!--__STX_STYLE_${U}__-->`),X=X.replace(/\{\{([\s\S]*?)\}\}/g,(U,H,j)=>{let B=H.trim();if(W.has(B))return U;let V=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],F=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,O=B.match(F)?.[1],_=O&&((O in Z)||V.includes(O)),w=Boolean(O&&K.has(O)),R=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,N=B.match(R),A=N&&!V.includes(N[1])&&!(N[1]in Z);if(/^__[A-Z_]+__$/.test(B))return"";let k;try{let D=v0(H,Z,!1,(I)=>{k=I});if(w)return U;if(q&&!U3(B,Z))return U;if(k)m9(k,U,J,$);if(Z.__stx_buildMode==="compile"&&!q&&(D===void 0||EZ(B,Z)))return m2("expr",B);return D!==void 0&&D!==null?V3(String(D)):""}catch(D){if(w)return U;if(q&&!U3(B,Z))return U;if(A)return U;let I=D instanceof Error?D.message:String(D);return _0("Expression",`Error evaluating: {{ ${B} }}: ${I}`,J,$,j,U)}}),z.length>0)X=X.replace(/<!--__STX_SCRIPT_EXPR_(\d+)__-->/g,(U,H)=>z[Number(H)]??U);if(G.length>0)X=X.replace(/<!--__STX_STYLE_(\d+)__-->/g,(U,H)=>G[Number(H)]??U);return X}function yZ($,Z,J){if(!Z.trim())return $;let X=$,Q=Z.trim();while(Q.length>0){let Y=Q.match(/^(\w+)/);if(!Y)break;let G=Y[1];Q=Q.substring(G.length).trim();let z=Q2[G]||c2[G];if(!z)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(kZ()).join(", ")}`);let q=[];if(Q.startsWith(":")){let K=Q.match(/^:([^|\s]+)/);if(K){let W=K[1].trim();try{let U=Number(W);q=[Number.isNaN(U)?W:U]}catch{q=[W]}Q=Q.substring(K[0].length).trim()}}else if(Q.startsWith("(")){let K=1,W=1;while(K>0&&W<Q.length){if(Q[W]==="(")K++;if(Q[W]===")")K--;W++}if(K===0){let U=Q.substring(1,W-1).trim();if(U)try{if(U.startsWith("{")&&U.endsWith("}"))q=[v0(`(${U})`,J,!0)];else{let H=[],j="",B=null,V=0,F=0,L=0,O=!1;for(let _=0;_<U.length;_++){let w=U[_];if(O){j+=w,O=!1;continue}if(w==="\\"){j+=w,O=!0;continue}if(B){if(j+=w,w===B)B=null;continue}if(w==='"'||w==="'"||w==="`"){B=w,j+=w;continue}if(w==="(")V++;else if(w===")")V--;else if(w==="[")F++;else if(w==="]")F--;else if(w==="{")L++;else if(w==="}")L--;if(w===","&&V===0&&F===0&&L===0){H.push(j),j="";continue}j+=w}if(j)H.push(j);q=H.map((_)=>{let w=_.trim();return v0(w,J,!0)})}}catch{q=[U]}Q=Q.substring(W).trim()}}try{X=z(X,J,...q)}catch(K){let W=K instanceof Error?K.message:String(K);throw Error(`Error applying filter '${G}': ${W}`)}if(Q.startsWith("|"))Q=Q.substring(1).trim();else break}return X}function CZ($){let Z=!1,J="",X=0,Q=0,Y=0,G=!1;for(let z=0;z<$.length;z++){let q=$[z],K=$[z+1];if(Z&&G){G=!1;continue}if(Z&&q==="\\"){G=!0;continue}if(G=!1,(q==='"'||q==="'"||q==="`")&&!G){if(!Z)Z=!0,J=q;else if(q===J)Z=!1,J="";continue}if(Z&&J==="`"&&q==="$"&&K==="{"){let W=1;z+=2;while(z<$.length&&W>0){if($[z]==="{")W++;else if($[z]==="}")W--;if(W>0)z++}continue}if(Z)continue;if(q==="(")X++;else if(q===")")X--;else if(q==="[")Q++;else if(q==="]")Q--;else if(q==="{")Y++;else if(q==="}")Y--;if(q==="|"&&X===0&&Q===0&&Y===0){if(K==="|"){z++;continue}if(K==="="){z++;continue}return z}}return-1}var X2=new Set,SZ=1000;function Mq(){X2.clear()}function m9($,Z,J,X){if(!H3())return;let Q=`${J}\x00${$.expression}`;if(X2.has(Q))return;if(X2.size>=SZ)X2.clear();X2.add(Q);let Y=J,G=X;try{if(J&&K3.existsSync(J))G=K3.readFileSync(J,"utf8")}catch{}let z=G.indexOf(Z);if(z>=0)Y=`${J}:${G.slice(0,z).split(`
124
+ `).length}`;console.warn(`${Y}: stx warning: ${Z} rendered as an empty string. The safe evaluator rejected \`${$.expression}\` (${$.rule}). Compute the value in <script server> and interpolate the variable instead.`)}function v0($,Z,J=!1,X){try{let Q=$.trim(),Y=CZ(Q);if(Y>0){let z=Q.substring(0,Y).trim(),q=Q.substring(Y+1).trim(),K=v0(z,Z,!0,X);return yZ(K,q,Z)}let G=j3(Q);if(G!==null){X?.({expression:Q,rule:G});return}try{let z=Object.keys(Z),q=Object.values(Z);return H0(Q,z)(...q)}catch{return Z0(Q,Z)}}catch(Q){if(Q instanceof ReferenceError){let Y=/(\b\w+)\s+is not defined/.exec(Q.message);if(Y){let G=Y[1],z=PZ(G,Object.keys(Z));if(z&&z!==G)Q.message=`${Q.message} \u2014 did you mean '${z}'?`}}if(!J)console.error(`Error evaluating expression: ${$}`,Q);throw Q}}function PZ($,Z){let J=null;for(let Q of Z){if(Q===$)continue;let Y=vZ($,Q);if(J===null||Y<J.dist)J={key:Q,dist:Y}}if(!J)return null;let X=Math.max($.length,J.key.length);if(J.dist<=2||J.dist/X<=0.35)return J.key;return null}function vZ($,Z){if($===Z)return 0;if($.length===0)return Z.length;if(Z.length===0)return $.length;let[J,X]=$.length<Z.length?[$,Z]:[Z,$],Q=Array(J.length+1),Y=Array(J.length+1);for(let G=0;G<=J.length;G++)Q[G]=G;for(let G=1;G<=X.length;G++){Y[0]=G;for(let z=1;z<=J.length;z++){let q=J[z-1]===X[G-1]?0:1;Y[z]=Math.min(Y[z-1]+1,Q[z]+1,Q[z-1]+q)}for(let z=0;z<=J.length;z++)Q[z]=Y[z]}return Q[J.length]}function Iq($){if(!$)return"";return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}import xG from"fs";import T0 from"path";var i9=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],L3=/<body\b([^>]*)>/gi;function s0($){let Z=0,J,X=i9.map(()=>{return});while(Z<$.length){if(J===void 0||J!==null&&J.index<Z)L3.lastIndex=Z,J=L3.exec($);if(!J)return null;let Q=J.index,Y=-1,G=null;for(let q=0;q<i9.length;q++){let K=i9[q],W=X[q];if(W===void 0||W!==null&&W.index<Z)K.open.lastIndex=Z,W=K.open.exec($),X[q]=W;if(!W)continue;if(W.index<Q&&(Y===-1||W.index<Y))Y=W.index,G=K.close}if(Y===-1||!G)return{index:Q,tag:J[0],attrs:J[1]??""};G.lastIndex=Y;let z=G.exec($);if(!z)return null;Z=z.index+z[0].length}return null}function y1($,Z){let J=s0($);if(!J)return $;return $.slice(0,J.index)+Z(J.tag,J.attrs)+$.slice(J.index+J.tag.length)}var O3=/<style\b[^>]*>/iy,F3=/<\/style>/gi,w3=/<script\b[^>]*>/iy,R3=/<template(?=[\s>/])[^>]*>/iy,N3=/<\/template\s*>/iy;function G2($){let Z=0,J=0,X=-1;while(Z<$.length){let Q=$.indexOf("<",Z);if(Q===-1)return-1;if($.startsWith("<!--",Q)){let q=$.indexOf("-->",Q+4);Z=q===-1?$.length:q+3;continue}O3.lastIndex=Q;let Y=O3.exec($);if(Y){F3.lastIndex=Q+Y[0].length;let q=F3.exec($);Z=q===null?$.length:q.index+8;continue}R3.lastIndex=Q;let G=R3.exec($);if(G){if(J===0)X=Q;J++,Z=Q+G[0].length;continue}N3.lastIndex=Q;let z=N3.exec($);if(z){if(J>0)J--;Z=Q+z[0].length;continue}if(w3.lastIndex=Q,w3.test($))return J>0?X:Q;Z=Q+1}return-1}var D3=null;function fZ($){if(!D3)return console.warn(`[stx] ${$} must be called within a component setup.`),null;return D3}function bq($){let Z=fZ("onUpdate");if(Z)Z.updateHooks.push($)}function A3(){return`
125
+ // STX Lifecycle Runtime
126
+ (function() {
127
+ if (typeof window === 'undefined') return;
128
+
129
+ const instances = new Map();
130
+ let currentInstance = null;
131
+ let idCounter = 0;
132
+
133
+ function generateId() {
134
+ return 'stx-' + (++idCounter) + '-' + Date.now().toString(36);
135
+ }
136
+
137
+ function createInstance(element) {
138
+ const instance = {
139
+ id: generateId(),
140
+ element: element,
141
+ mountHooks: [],
142
+ destroyHooks: [],
143
+ updateHooks: [],
144
+ refs: new Map(),
145
+ watchers: [],
146
+ isMounted: false
147
+ };
148
+ instances.set(instance.id, instance);
149
+ return instance;
150
+ }
151
+
152
+ window.STX = window.STX || {};
153
+
154
+ // Lifecycle hooks
155
+ window.STX.onMount = function(hook) {
156
+ if (currentInstance) currentInstance.mountHooks.push(hook);
157
+ };
158
+
159
+ window.STX.onDestroy = function(hook) {
160
+ if (currentInstance) currentInstance.destroyHooks.push(hook);
161
+ };
162
+
163
+ window.STX.onUpdate = function(hook) {
164
+ if (currentInstance) currentInstance.updateHooks.push(hook);
165
+ };
166
+
167
+ // Aliases
168
+ window.STX.onMounted = window.STX.onMount;
169
+ window.STX.onUnmounted = window.STX.onDestroy;
170
+ window.STX.onUpdated = window.STX.onUpdate;
171
+
172
+ // Refs
173
+ window.STX.ref = function(initialValue) {
174
+ const r = { value: initialValue || null };
175
+ Object.defineProperty(r, 'current', {
176
+ get: function() { return this.value; }
177
+ });
178
+ if (currentInstance) {
179
+ currentInstance.refs.set('ref-' + currentInstance.refs.size, r);
180
+ }
181
+ return r;
182
+ };
183
+
184
+ // Watch
185
+ window.STX.watch = function(source, callback, options) {
186
+ options = options || {};
187
+ let oldValue;
188
+ let cleanup;
189
+ let isActive = true;
190
+
191
+ function run() {
192
+ if (!isActive) return;
193
+ const newValue = source();
194
+ if (oldValue !== newValue || options.immediate) {
195
+ if (cleanup) cleanup();
196
+ cleanup = callback(newValue, oldValue);
197
+ oldValue = newValue;
198
+ }
199
+ }
200
+
201
+ if (options.immediate) {
202
+ run();
203
+ }
204
+ else {
205
+ oldValue = source();
206
+ }
207
+
208
+ const intervalId = setInterval(run, 16);
209
+
210
+ function stop() {
211
+ isActive = false;
212
+ clearInterval(intervalId);
213
+ if (cleanup) cleanup();
214
+ }
215
+
216
+ if (currentInstance) {
217
+ currentInstance.watchers.push({ stop: stop });
218
+ currentInstance.destroyHooks.push(stop);
219
+ }
220
+
221
+ return stop;
222
+ };
223
+
224
+ // Computed
225
+ window.STX.computed = function(getter) {
226
+ let cached;
227
+ let dirty = true;
228
+ return {
229
+ get value() {
230
+ if (dirty) {
231
+ cached = getter();
232
+ dirty = false;
233
+ queueMicrotask(function() { dirty = true; });
234
+ }
235
+ return cached;
236
+ }
237
+ };
238
+ };
239
+
240
+ // Component management
241
+ window.STX.setupComponent = function(element, setup) {
242
+ const instance = createInstance(element);
243
+ currentInstance = instance;
244
+ try {
245
+ setup();
246
+ }
247
+ finally {
248
+ currentInstance = null;
249
+ }
250
+ return instance;
251
+ };
252
+
253
+ window.STX.mountComponent = function(instance) {
254
+ if (instance.isMounted) return;
255
+ instance.isMounted = true;
256
+ instance.mountHooks.forEach(function(hook) {
257
+ try {
258
+ const cleanup = hook();
259
+ if (typeof cleanup === 'function') {
260
+ instance.destroyHooks.push(cleanup);
261
+ }
262
+ else if (cleanup && typeof cleanup.then === 'function') {
263
+ cleanup.catch(function(e) { console.error('[stx] onMount error:', e); });
264
+ }
265
+ }
266
+ catch (e) {
267
+ console.error('[stx] onMount error:', e);
268
+ }
269
+ });
270
+ };
271
+
272
+ window.STX.destroyComponent = function(instance) {
273
+ if (!instance.isMounted) return;
274
+ instance.watchers.forEach(function(w) { w.stop(); });
275
+ instance.destroyHooks.forEach(function(hook) {
276
+ try { hook(); }
277
+ catch (e) { console.error('[stx] onDestroy error:', e); }
278
+ });
279
+ instance.refs.forEach(function(ref) { ref.value = null; });
280
+ instance.isMounted = false;
281
+ instances.delete(instance.id);
282
+ };
283
+
284
+ // ==========================================================================
285
+ // Vue-Style Refs System - No document.** required!
286
+ // ==========================================================================
287
+
288
+ // Internal: Query for ref elements without exposing document API
289
+ function queryRef(name, root) {
290
+ return (root || document).querySelector('[data-stx-ref="' + name + '"], [data-ref="' + name + '"]');
291
+ }
292
+
293
+ function queryAllRefs(root) {
294
+ return (root || document).querySelectorAll('[data-stx-ref], [data-ref]');
295
+ }
296
+
297
+ // Auto-bind refs from ref attributes (Vue-style)
298
+ window.STX.bindRefs = function(root, refs) {
299
+ if (!root) return;
300
+ queryAllRefs(root).forEach(function(el) {
301
+ var refName = el.getAttribute('data-stx-ref') || el.getAttribute('data-ref');
302
+ if (refs[refName]) {
303
+ refs[refName].value = el;
304
+ }
305
+ });
306
+ };
307
+
308
+ // Vue-style useRefs() - returns object with all refs as direct elements
309
+ // Usage: const { input, button, container } = STX.useRefs()
310
+ window.STX.useRefs = function(root) {
311
+ var refs = {};
312
+ queryAllRefs(root).forEach(function(el) {
313
+ var refName = el.getAttribute('data-stx-ref') || el.getAttribute('data-ref');
314
+ if (refName) {
315
+ refs[refName] = el;
316
+ }
317
+ });
318
+ return refs;
319
+ };
320
+
321
+ // Get a single ref by name - Vue's useTemplateRef equivalent
322
+ // Usage: const input = STX.useRef('input')
323
+ window.STX.useRef = function(name, root) {
324
+ return queryRef(name, root);
325
+ };
326
+
327
+ // Two-way binding helper for form elements
328
+ // Usage: STX.model(inputEl, state, 'username')
329
+ window.STX.model = function(el, state, key) {
330
+ if (!el || !state) return;
331
+
332
+ var isCheckbox = el.type === 'checkbox';
333
+ var isRadio = el.type === 'radio';
334
+ var isSelect = el.tagName === 'SELECT';
335
+
336
+ // Set initial value
337
+ if (isCheckbox) {
338
+ el.checked = !!state[key];
339
+ }
340
+ else if (isRadio) {
341
+ el.checked = el.value === state[key];
342
+ }
343
+ else {
344
+ el.value = state[key] || '';
345
+ }
346
+
347
+ // Listen for changes
348
+ var eventType = isCheckbox || isRadio ? 'change' : 'input';
349
+ el.addEventListener(eventType, function() {
350
+ if (isCheckbox) {
351
+ state[key] = el.checked;
352
+ }
353
+ else if (isRadio) {
354
+ if (el.checked) state[key] = el.value;
355
+ }
356
+ else {
357
+ state[key] = el.value;
358
+ }
359
+ });
360
+
361
+ // Return cleanup function
362
+ return function() {
363
+ el.removeEventListener(eventType, arguments.callee);
364
+ };
365
+ };
366
+
367
+ // Batch event binding helper - cleaner than manual addEventListener
368
+ // Usage: STX.on({ click: [btn1, btn2], input: [textField] }, handler)
369
+ window.STX.on = function(el, event, handler) {
370
+ if (!el) return function() {};
371
+ el.addEventListener(event, handler);
372
+ return function() { el.removeEventListener(event, handler); };
373
+ };
374
+
375
+ // Bind multiple events at once
376
+ // Usage: STX.events(refs.btn, { click: handleClick, mouseenter: handleHover })
377
+ window.STX.events = function(el, eventMap) {
378
+ if (!el) return function() {};
379
+ var cleanups = [];
380
+ Object.keys(eventMap).forEach(function(event) {
381
+ el.addEventListener(event, eventMap[event]);
382
+ cleanups.push(function() { el.removeEventListener(event, eventMap[event]); });
383
+ });
384
+ return function() { cleanups.forEach(function(c) { c(); }); };
385
+ };
386
+
387
+ // ==========================================================================
388
+ // DOM Helpers - Eliminate document.* usage
389
+ // ==========================================================================
390
+
391
+ // Global keyboard event listener
392
+ // Usage: STX.onKey('Escape', () => closeModal())
393
+ window.STX.onKey = function(key, handler, options) {
394
+ var listener = function(e) {
395
+ if (e.key === key) {
396
+ handler(e);
397
+ }
398
+ };
399
+ document.addEventListener('keydown', listener, options);
400
+ return function() { document.removeEventListener('keydown', listener, options); };
401
+ };
402
+
403
+ // Create element helper
404
+ // Usage: STX.el('div', { class: 'foo' }, 'text content')
405
+ window.STX.el = function(tag, attrs, content) {
406
+ var el = document.createElement(tag);
407
+ if (attrs) {
408
+ Object.keys(attrs).forEach(function(key) {
409
+ if (key === 'class') {
410
+ el.className = attrs[key];
411
+ }
412
+ else if (key.startsWith('on')) {
413
+ el.addEventListener(key.slice(2).toLowerCase(), attrs[key]);
414
+ }
415
+ else {
416
+ el.setAttribute(key, attrs[key]);
417
+ }
418
+ });
419
+ }
420
+ if (content) {
421
+ if (typeof content === 'string') {
422
+ el.textContent = content;
423
+ }
424
+ else if (Array.isArray(content)) {
425
+ content.forEach(function(child) { el.appendChild(child); });
426
+ }
427
+ else {
428
+ el.appendChild(content);
429
+ }
430
+ }
431
+ return el;
432
+ };
433
+
434
+ // Get currently focused element
435
+ // Usage: const focused = STX.activeElement()
436
+ window.STX.activeElement = function() {
437
+ return document.activeElement;
438
+ };
439
+
440
+ // Escape HTML helper
441
+ // Usage: const safe = STX.escapeHtml(userInput)
442
+ window.STX.escapeHtml = function(text) {
443
+ var div = document.createElement('div');
444
+ div.textContent = text;
445
+ return div.innerHTML;
446
+ };
447
+
448
+ // MutationObserver for automatic lifecycle management
449
+ const observer = new MutationObserver(function(mutations) {
450
+ mutations.forEach(function(mutation) {
451
+ // Handle removed nodes
452
+ mutation.removedNodes.forEach(function(node) {
453
+ if (node.nodeType === 1 && node.__stx_instance__) {
454
+ window.STX.destroyComponent(node.__stx_instance__);
455
+ }
456
+ });
457
+ });
458
+ });
459
+
460
+ // Start observing when DOM is ready
461
+ if (document.readyState === 'loading') {
462
+ document.addEventListener('DOMContentLoaded', function() {
463
+ observer.observe(document.body, { childList: true, subtree: true });
464
+ });
465
+ }
466
+ else {
467
+ observer.observe(document.body, { childList: true, subtree: true });
468
+ }
469
+
470
+ console.log('[stx] Lifecycle runtime initialized');
471
+ })();
472
+ `}function n9($){return Symbol($)}var yq=n9("theme"),Cq=n9("router"),Sq=n9("i18n");import*as I3 from"crypto";function M3($){let Z=/\$(\w+)\./g,J=[],X;while((X=Z.exec($))!==null)if(!J.includes(X[1]))J.push(X[1]);return J}function xZ(){return`stx-${I3.randomBytes(4).toString("hex")}`}function gZ($){return/\$\w+\./.test($)}function hZ($){if(!$.includes("{{")||!/\$\w+\./.test($))return{html:$,bindings:[],stores:new Set};let Z=[],J=new Set,X=/<(\w+)([^>]*?)(\s*\/?>)/g,Q=$;return Q=Q.replace(X,(Y,G,z,q)=>{if(["script","style","template"].includes(G.toLowerCase()))return Y;let K=[],W=!1,U=z,H=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,j=[...z.matchAll(H)];for(let F of j){let L=F[0],O=F[1],_=F[2];if(gZ(_)){W=!0;let w=_.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(w){let R=w[1];if(K.push({attr:O,expr:R,fullMatch:L,originalAttr:O}),M3(R).forEach((A)=>J.add(A)),O==="text")U=U.replace(L,"");else if(O==="class")U=U.replace(L,'class=""');else if(O==="disabled"||O==="hidden")U=U.replace(L,"");else U=U.replace(L,`${O}=""`)}}}if(!W)return Y;let B=U.match(/\bid\s*=\s*"([^"]+)"/),V;if(B)V=B[1];else V=xZ(),U=` id="${V}"${U}`;for(let F of K)Z.push({elementId:V,attribute:F.attr,expression:F.expr,stores:M3(F.expr)});return`<${G}${U}${q}`}),{html:Q,bindings:Z,stores:J}}function uZ($,Z){if($.length===0)return"";let J=Array.from(Z),X=`
473
+ <script>
474
+ (function() {
475
+ 'use strict';
476
+
477
+ // Wait for stores to be available
478
+ function initBindings() {
479
+ var stores = window.VoideStores;
480
+ if (!stores) {
481
+ setTimeout(initBindings, 10);
482
+ return;
483
+ }
484
+
485
+ // Store references for expressions
486
+ // eslint-disable-next-line pickier/no-unused-vars
487
+ var $state = {};
488
+ `;for(let Q of J)X+=` $state.${Q} = stores.${Q} ? stores.${Q}.get() : {};
489
+ `;X+=`
490
+ // Binding update functions
491
+ function updateBindings() {
492
+ `;for(let Q of $){let{elementId:Y,attribute:G,expression:z}=Q,q=z.replace(/\$(\w+)\./g,"$state.$1.");if(G==="text")X+=` (function() {
493
+ var el = document.getElementById('${Y}');
494
+ if (el) {
495
+ try {
496
+ el.textContent = ${q};
497
+ }
498
+ catch (e) { console.error('Binding error:', e); }
499
+ }
500
+ })();
501
+ `;else if(G==="html")X+=` (function() {
502
+ var el = document.getElementById('${Y}');
503
+ if (el) {
504
+ try {
505
+ el.innerHTML = ${q};
506
+ }
507
+ catch (e) { console.error('Binding error:', e); }
508
+ }
509
+ })();
510
+ `;else if(G==="class")X+=` (function() {
511
+ var el = document.getElementById('${Y}');
512
+ if (el) {
513
+ try {
514
+ var value = ${q};
515
+ if (typeof value === 'string') {
516
+ // Dynamic class string - merge with existing static classes
517
+ // eslint-disable-next-line pickier/no-unused-vars
518
+ var staticClasses = el.getAttribute('data-static-class') || el.className;
519
+ if (!el.hasAttribute('data-static-class')) {
520
+ el.setAttribute('data-static-class', el.className);
521
+ }
522
+ el.className = (el.getAttribute('data-static-class') + ' ' + value).trim();
523
+ }
524
+ else if (typeof value === 'object') {
525
+ // Object syntax: { 'class-name': condition }
526
+ for (var cls in value) {
527
+ if (value[cls]) {
528
+ el.classList.add(cls);
529
+ }
530
+ else {
531
+ el.classList.remove(cls);
532
+ }
533
+ }
534
+ }
535
+ }
536
+ catch (e) { console.error('Binding error:', e); }
537
+ }
538
+ })();
539
+ `;else if(G==="show")X+=` (function() {
540
+ var el = document.getElementById('${Y}');
541
+ if (el) {
542
+ try {
543
+ el.style.display = (${q}) ? '' : 'none';
544
+ }
545
+ catch (e) { console.error('Binding error:', e); }
546
+ }
547
+ })();
548
+ `;else if(G==="if")X+=` (function() {
549
+ var el = document.getElementById('${Y}');
550
+ if (el) {
551
+ try {
552
+ el.style.visibility = (${q}) ? 'visible' : 'hidden';
553
+ }
554
+ catch (e) { console.error('Binding error:', e); }
555
+ }
556
+ })();
557
+ `;else X+=` (function() {
558
+ var el = document.getElementById('${Y}');
559
+ if (el) {
560
+ try {
561
+ var value = ${q};
562
+ if (value === false || value === null || value === undefined) {
563
+ el.removeAttribute('${G}');
564
+ }
565
+ else if (value === true) {
566
+ el.setAttribute('${G}', '');
567
+ }
568
+ else {
569
+ el.setAttribute('${G}', value);
570
+ }
571
+ }
572
+ catch (e) { console.error('Binding error:', e); }
573
+ }
574
+ })();
575
+ `}X+=` }
576
+
577
+ // Subscribe to stores and update on changes. Capture the disposers so
578
+ // SPA fragment swaps can tear down old bindings before the next page's
579
+ // runtime takes over \u2014 without this, every navigation between pages
580
+ // using reactive-bindings stacked another subscription on every store,
581
+ // walking detached DOM forever. See stacksjs/stx#1709.
582
+ var _disposers = [];
583
+ `;for(let Q of J)X+=` if (stores.${Q}) {
584
+ var _unsub_${Q} = stores.${Q}.subscribe(function(state) {
585
+ $state.${Q} = state;
586
+ updateBindings();
587
+ });
588
+ // store.subscribe() may return the disposer (preferred) or void; both
589
+ // are tolerated here.
590
+ if (typeof _unsub_${Q} === 'function') _disposers.push(_unsub_${Q});
591
+ }
592
+ `;return X+=`
593
+ // Initial update
594
+ updateBindings();
595
+
596
+ // Register this runtime's cleanup so SPA navigation can run it before
597
+ // swapping pages. The router (and any code) can call
598
+ // window.__stxCleanupBindings() to dispose subscriptions; we also wire
599
+ // 'popstate' and 'beforeunload' as a safety net for browser-driven nav.
600
+ function _cleanup() {
601
+ for (var i = 0; i < _disposers.length; i++) {
602
+ try { _disposers[i](); } catch (e) { /* swallow */ }
603
+ }
604
+ _disposers.length = 0;
605
+ }
606
+ if (!window.__stxBindingsCleanups) window.__stxBindingsCleanups = [];
607
+ window.__stxBindingsCleanups.push(_cleanup);
608
+ if (!window.__stxCleanupBindings) {
609
+ window.__stxCleanupBindings = function() {
610
+ var fns = window.__stxBindingsCleanups || [];
611
+ for (var i = 0; i < fns.length; i++) {
612
+ try { fns[i](); } catch (e) { /* swallow */ }
613
+ }
614
+ window.__stxBindingsCleanups = [];
615
+ };
616
+ window.addEventListener('popstate', window.__stxCleanupBindings);
617
+ window.addEventListener('beforeunload', window.__stxCleanupBindings);
618
+ }
619
+ }
620
+
621
+ // Start when DOM is ready
622
+ if (document.readyState === 'loading') {
623
+ document.addEventListener('DOMContentLoaded', initBindings);
624
+ }
625
+ else {
626
+ initBindings();
627
+ }
628
+ })();
629
+ </script>
630
+ `,X}function k3($){let{html:Z,bindings:J,stores:X}=hZ($);if(J.length===0)return $;let Q=uZ(J,X),Y=Z.lastIndexOf("</body>");if(Y!==-1)return Z.slice(0,Y)+Q+Z.slice(Y);return Z+Q}function T3($){let Z=$.analytics;if(!Z?.enabled)return"";switch(Z.driver){case"fathom":return dZ(Z);case"google-analytics":return mZ(Z);case"plausible":return lZ(Z);case"self-hosted":return cZ(Z);case"custom":return pZ(Z);default:return""}}function dZ($){let Z=$.fathom;if(!Z?.siteId)return"";let J=Z.scriptUrl||"https://cdn.usefathom.com/script.js",X=Z.defer!==!1?" defer":"",Q=[`data-site="${f0(Z.siteId)}"`];if(Z.honorDnt)Q.push('data-honor-dnt="true"');if(Z.spa)Q.push('data-spa="auto"');if(Z.canonical)Q.push(`data-canonical="${f0(Z.canonical)}"`);if(Z.auto===!1)Q.push('data-auto="false"');return`
631
+ <!-- Fathom Analytics -->
632
+ <script src="${f0(J)}" ${Q.join(" ")}${X}></script>
633
+ `}function mZ($){let Z=$.googleAnalytics;if(!Z?.measurementId)return"";let J=f0(Z.measurementId),X=Z.debug?`gtag('config', '${J}', { 'debug_mode': true });`:"";return`
634
+ <!-- Google Analytics -->
635
+ <script async src="https://www.googletagmanager.com/gtag/js?id=${J}"></script>
636
+ <script>
637
+ window.dataLayer = window.dataLayer || [];
638
+ function gtag(){dataLayer.push(arguments);}
639
+ gtag('js', new Date());
640
+ gtag('config', '${J}');
641
+ ${X}
642
+ </script>
643
+ `}function lZ($){let Z=$.plausible;if(!Z?.domain)return"";let J=Z.scriptUrl||"https://plausible.io/js/script.js",X=[`data-domain="${f0(Z.domain)}"`],Q=J,Y=[];if(Z.trackLocalhost)Y.push("local");if(Z.hashMode)Y.push("hash");if(Y.length>0&&J==="https://plausible.io/js/script.js")Q=`https://plausible.io/js/script.${Y.join(".")}.js`;return`
644
+ <!-- Plausible Analytics -->
645
+ <script defer data-domain="${f0(Z.domain)}" src="${f0(Q)}"></script>
646
+ `}function cZ($){let Z=$.selfHosted;if(!Z?.siteId||!Z?.apiEndpoint)return"";let J=f0(Z.siteId),X=f0(Z.apiEndpoint),Q=Z.honorDnt?'if(n.doNotTrack==="1")return;':"",Y=Z.trackHashChanges?"w.addEventListener('hashchange',pv);":"",G=Z.trackOutboundLinks?`
647
+ d.addEventListener('click',function(e){
648
+ var a=e.target.closest('a');
649
+ if(a&&a.hostname!==location.hostname){
650
+ t('outbound',{url:a.href});
651
+ }
652
+ });`:"";return`
653
+ <!-- Self-Hosted Analytics -->
654
+ <script data-site="${J}" data-api="${X}" defer>
655
+ (function(){
656
+ 'use strict';
657
+ var d=document,w=window,n=navigator,s=d.currentScript;
658
+ var site=s.dataset.site,api=s.dataset.api;
659
+ ${Q}
660
+ var q=[],sid=Math.random().toString(36).slice(2);
661
+ function t(e,p){
662
+ var x=new XMLHttpRequest();
663
+ x.open('POST',api+'/collect',true);
664
+ x.setRequestHeader('Content-Type','application/json');
665
+ x.send(JSON.stringify({
666
+ s:site,sid:sid,e:e,p:p||{},
667
+ u:location.href,r:d.referrer,t:d.title,
668
+ sw:screen.width,sh:screen.height
669
+ }));
670
+ }
671
+ function pv(){t('pageview');}
672
+ ${Y}
673
+ ${G}
674
+ if(d.readyState==='complete')pv();
675
+ else w.addEventListener('load',pv);
676
+ w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
677
+ })();
678
+ </script>
679
+ `}function pZ($){let Z=$.custom;if(!Z)return"";if(Z.inlineScript)return`
680
+ <!-- Custom Analytics -->
681
+ <script>
682
+ ${Z.inlineScript}
683
+ </script>
684
+ `;if(!Z.scriptUrl)return"";let J=[];if(Z.scriptId)J.push(`id="${f0(Z.scriptId)}"`);if(Z.attributes)for(let[Q,Y]of Object.entries(Z.attributes))J.push(`${f0(Q)}="${f0(Y)}"`);return`
685
+ <!-- Custom Analytics -->
686
+ <script${J.length>0?` ${J.join(" ")}`:""} src="${f0(Z.scriptUrl)}" defer></script>
687
+ `}function E3($,Z){let J=T3(Z);if(!J)return $;if(!$.includes("</head>")){let X=$.lastIndexOf("</body>");if(X!==-1)return $.slice(0,X)+J+$.slice(X);return $+J}return $.replace("</head>",`${J}</head>`)}function f0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var fq={name:"analytics",hasEndTag:!1,handler:async($,Z,J,X)=>{let Q=J.__stx_config||{};return T3(Q)}};var iZ={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};function b3($){let Z=$.heatmap;if(!Z?.enabled)return"";let J={...iZ,...Z};return`
688
+ <!-- stx Heatmap - Privacy-Compliant Tracking -->
689
+ <script>
690
+ (function() {
691
+ 'use strict';
692
+
693
+ // Configuration
694
+ var config = ${JSON.stringify({trackMouse:J.trackMouse,trackClicks:J.trackClicks,trackScroll:J.trackScroll,samplingRate:J.samplingRate,honorDnt:J.honorDnt,endpoint:J.endpoint,batchSize:J.batchSize,maxDataPoints:J.maxDataPoints,sessionTimeout:J.sessionTimeout,persistData:J.persistData,storagePrefix:J.storagePrefix,captureAttributes:J.captureAttributes,ignoreSelectors:J.ignoreSelectors,zones:J.zones,debugOverlay:J.debugOverlay,minViewportWidth:J.minViewportWidth,maxViewportWidth:J.maxViewportWidth})};
695
+
696
+ // Check Do Not Track
697
+ if (config.honorDnt && navigator.doNotTrack === '1') {
698
+ return;
699
+ }
700
+
701
+ // Check viewport constraints
702
+ var vw = window.innerWidth;
703
+ if (config.minViewportWidth && vw < config.minViewportWidth) return;
704
+ if (config.maxViewportWidth && vw > config.maxViewportWidth) return;
705
+
706
+ // Session management (anonymous, no cookies)
707
+ var session = {
708
+ sid: Math.random().toString(36).slice(2) + Date.now().toString(36),
709
+ page: location.pathname,
710
+ vw: window.innerWidth,
711
+ vh: window.innerHeight,
712
+ points: [],
713
+ started: Date.now(),
714
+ lastActivity: Date.now()
715
+ };
716
+
717
+ // Throttle helper
718
+ var lastMove = 0;
719
+ function throttle(fn, wait) {
720
+ return function() {
721
+ var now = Date.now();
722
+ if (now - lastMove >= wait) {
723
+ lastMove = now;
724
+ fn.apply(this, arguments);
725
+ }
726
+ };
727
+ }
728
+
729
+ // Get relative coordinates (percentage)
730
+ function getRelativeCoords(e) {
731
+ return {
732
+ x: Math.round((e.clientX / window.innerWidth) * 10000) / 100,
733
+ y: Math.round((e.clientY / window.innerHeight) * 10000) / 100
734
+ };
735
+ }
736
+
737
+ // Check if element should be ignored
738
+ function shouldIgnore(el) {
739
+ if (!el || !config.ignoreSelectors) return false;
740
+ for (var i = 0; i < config.ignoreSelectors.length; i++) {
741
+ if (el.matches && el.matches(config.ignoreSelectors[i])) return true;
742
+ if (el.closest && el.closest(config.ignoreSelectors[i])) return true;
743
+ }
744
+ return false;
745
+ }
746
+
747
+ // Get element selector (simplified, no IDs to preserve privacy)
748
+ function getSelector(el) {
749
+ if (!el || !el.tagName) return null;
750
+ var tag = el.tagName.toLowerCase();
751
+ var classes = el.className && typeof el.className === 'string'
752
+ ? '.' + el.className.trim().split(/\\s+/).slice(0, 2).join('.')
753
+ : '';
754
+ return tag + classes;
755
+ }
756
+
757
+ // Find zone for element
758
+ function findZone(el) {
759
+ if (!config.zones || !el) return null;
760
+ for (var i = 0; i < config.zones.length; i++) {
761
+ var zone = config.zones[i];
762
+ if (el.closest && el.closest(zone.selector)) {
763
+ return zone.id;
764
+ }
765
+ }
766
+ return null;
767
+ }
768
+
769
+ // Capture custom attributes
770
+ function captureAttributes(el) {
771
+ if (!config.captureAttributes || !el) return null;
772
+ var attrs = {};
773
+ var hasAttrs = false;
774
+ for (var i = 0; i < config.captureAttributes.length; i++) {
775
+ var attr = config.captureAttributes[i];
776
+ var value = el.getAttribute && el.getAttribute(attr);
777
+ if (value) {
778
+ attrs[attr] = value;
779
+ hasAttrs = true;
780
+ }
781
+ }
782
+ return hasAttrs ? attrs : null;
783
+ }
784
+
785
+ // Add data point
786
+ function addPoint(point) {
787
+ session.lastActivity = Date.now();
788
+ if (session.points.length >= config.maxDataPoints) {
789
+ session.points.shift();
790
+ }
791
+ session.points.push(point);
792
+
793
+ // Send batch if threshold reached
794
+ if (config.endpoint && session.points.length >= config.batchSize) {
795
+ sendData();
796
+ }
797
+ }
798
+
799
+ // Send data to endpoint
800
+ function sendData() {
801
+ if (!config.endpoint || session.points.length === 0) return;
802
+
803
+ var data = {
804
+ sid: session.sid,
805
+ page: session.page,
806
+ vw: session.vw,
807
+ vh: session.vh,
808
+ points: session.points.splice(0, config.batchSize)
809
+ };
810
+
811
+ // Use sendBeacon for reliability
812
+ if (navigator.sendBeacon) {
813
+ navigator.sendBeacon(config.endpoint, JSON.stringify(data));
814
+ }
815
+ else {
816
+ var xhr = new XMLHttpRequest();
817
+ xhr.open('POST', config.endpoint, true);
818
+ xhr.setRequestHeader('Content-Type', 'application/json');
819
+ xhr.send(JSON.stringify(data));
820
+ }
821
+ }
822
+
823
+ // Mouse move handler
824
+ if (config.trackMouse) {
825
+ document.addEventListener('mousemove', throttle(function(e) {
826
+ if (shouldIgnore(e.target)) return;
827
+ var coords = getRelativeCoords(e);
828
+ addPoint({
829
+ x: coords.x,
830
+ y: coords.y,
831
+ type: 'move',
832
+ t: Date.now(),
833
+ zone: findZone(e.target)
834
+ });
835
+ }, config.samplingRate), { passive: true });
836
+ }
837
+
838
+ // Click handler
839
+ if (config.trackClicks) {
840
+ document.addEventListener('click', function(e) {
841
+ if (shouldIgnore(e.target)) return;
842
+ var coords = getRelativeCoords(e);
843
+ var point = {
844
+ x: coords.x,
845
+ y: coords.y,
846
+ type: 'click',
847
+ t: Date.now(),
848
+ el: getSelector(e.target),
849
+ zone: findZone(e.target)
850
+ };
851
+ var attrs = captureAttributes(e.target);
852
+ if (attrs) point.attrs = attrs;
853
+ addPoint(point);
854
+ }, { passive: true });
855
+ }
856
+
857
+ // Scroll handler
858
+ if (config.trackScroll) {
859
+ var lastScrollDepth = 0;
860
+ document.addEventListener('scroll', throttle(function() {
861
+ var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
862
+ var scrollHeight = document.documentElement.scrollHeight - window.innerHeight;
863
+ var depth = scrollHeight > 0 ? Math.round((scrollTop / scrollHeight) * 100) : 0;
864
+
865
+ // Only track significant scroll changes (every 10%)
866
+ if (Math.abs(depth - lastScrollDepth) >= 10) {
867
+ lastScrollDepth = depth;
868
+ addPoint({
869
+ x: 50,
870
+ y: depth,
871
+ type: 'scroll',
872
+ t: Date.now(),
873
+ depth: depth
874
+ });
875
+ }
876
+ }, config.samplingRate * 2), { passive: true });
877
+ }
878
+
879
+ // Send remaining data on page unload
880
+ window.addEventListener('beforeunload', sendData);
881
+ window.addEventListener('visibilitychange', function() {
882
+ if (document.visibilityState === 'hidden') {
883
+ sendData();
884
+ }
885
+ });
886
+
887
+ // Persist data to localStorage if enabled
888
+ if (config.persistData) {
889
+ var storageKey = config.storagePrefix + '_' + session.page.replace(/\\//g, '_');
890
+
891
+ // Load existing data
892
+ try {
893
+ var stored = localStorage.getItem(storageKey);
894
+ if (stored) {
895
+ var parsed = JSON.parse(stored);
896
+ if (Date.now() - parsed.lastActivity < config.sessionTimeout * 60000) {
897
+ session.points = parsed.points || [];
898
+ }
899
+ }
900
+ }
901
+ catch (e) {}
902
+
903
+ // Save periodically
904
+ setInterval(function() {
905
+ try {
906
+ localStorage.setItem(storageKey, JSON.stringify({
907
+ points: session.points,
908
+ lastActivity: session.lastActivity
909
+ }));
910
+ }
911
+ catch (e) {}
912
+ }, 5000);
913
+ }
914
+
915
+ // Debug overlay
916
+ if (config.debugOverlay) {
917
+ var overlay = document.createElement('div');
918
+ overlay.id = 'stx-heatmap-overlay';
919
+ overlay.style.cssText = 'position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999999;';
920
+ document.body.appendChild(overlay);
921
+
922
+ var canvas = document.createElement('canvas');
923
+ canvas.width = window.innerWidth;
924
+ canvas.height = window.innerHeight;
925
+ canvas.style.cssText = 'width:100%;height:100%;';
926
+ overlay.appendChild(canvas);
927
+ var ctx = canvas.getContext('2d');
928
+
929
+ function renderOverlay() {
930
+ ctx.clearRect(0, 0, canvas.width, canvas.height);
931
+ session.points.forEach(function(p) {
932
+ var x = (p.x / 100) * canvas.width;
933
+ var y = (p.y / 100) * canvas.height;
934
+ ctx.beginPath();
935
+ ctx.arc(x, y, p.type === 'click' ? 8 : 3, 0, Math.PI * 2);
936
+ ctx.fillStyle = p.type === 'click' ? 'rgba(255,0,0,0.5)' : 'rgba(0,0,255,0.2)';
937
+ ctx.fill();
938
+ });
939
+ requestAnimationFrame(renderOverlay);
940
+ }
941
+ renderOverlay();
942
+
943
+ window.addEventListener('resize', function() {
944
+ canvas.width = window.innerWidth;
945
+ canvas.height = window.innerHeight;
946
+ });
947
+ }
948
+
949
+ // Expose API for manual tracking and data export
950
+ window.stxHeatmap = {
951
+ // Get current session data
952
+ getData: function() {
953
+ return {
954
+ sid: session.sid,
955
+ page: session.page,
956
+ vw: session.vw,
957
+ vh: session.vh,
958
+ points: session.points.slice(),
959
+ started: session.started,
960
+ lastActivity: session.lastActivity
961
+ };
962
+ },
963
+ // Export data as JSON
964
+ exportJSON: function() {
965
+ return JSON.stringify(this.getData(), null, 2);
966
+ },
967
+ // Export data as CSV
968
+ exportCSV: function() {
969
+ var data = this.getData();
970
+ var lines = ['x,y,type,timestamp,element,zone,depth'];
971
+ data.points.forEach(function(p) {
972
+ lines.push([p.x, p.y, p.type, p.t, p.el || '', p.zone || '', p.depth || ''].join(','));
973
+ });
974
+ return lines.join('\\n');
975
+ },
976
+ // Manual data send
977
+ flush: function() {
978
+ sendData();
979
+ },
980
+ // Clear data
981
+ clear: function() {
982
+ session.points = [];
983
+ if (config.persistData) {
984
+ var storageKey = config.storagePrefix + '_' + session.page.replace(/\\//g, '_');
985
+ try { localStorage.removeItem(storageKey); }
986
+ catch (e) {}
987
+ }
988
+ },
989
+ // Add custom event
990
+ track: function(type, data) {
991
+ addPoint({
992
+ x: data && data.x || 0,
993
+ y: data && data.y || 0,
994
+ type: type,
995
+ t: Date.now(),
996
+ attrs: data
997
+ });
998
+ },
999
+ // Generate heatmap visualization
1000
+ visualize: function(options) {
1001
+ options = options || {};
1002
+ var data = this.getData();
1003
+ var width = options.width || data.vw;
1004
+ var height = options.height || data.vh;
1005
+ var radius = options.radius || 20;
1006
+ var blur = options.blur || 15;
1007
+ var maxOpacity = options.maxOpacity || 0.6;
1008
+
1009
+ var canvas = document.createElement('canvas');
1010
+ canvas.width = width;
1011
+ canvas.height = height;
1012
+ var ctx = canvas.getContext('2d');
1013
+
1014
+ // Create heat points
1015
+ data.points.forEach(function(p) {
1016
+ var x = (p.x / 100) * width;
1017
+ var y = (p.y / 100) * height;
1018
+ var intensity = p.type === 'click' ? 1 : 0.3;
1019
+
1020
+ var gradient = ctx.createRadialGradient(x, y, 0, x, y, radius);
1021
+ gradient.addColorStop(0, 'rgba(255,0,0,' + intensity + ')');
1022
+ gradient.addColorStop(1, 'rgba(255,0,0,0)');
1023
+ ctx.fillStyle = gradient;
1024
+ ctx.fillRect(x - radius, y - radius, radius * 2, radius * 2);
1025
+ });
1026
+
1027
+ // Apply blur
1028
+ ctx.filter = 'blur(' + blur + 'px)';
1029
+ ctx.drawImage(canvas, 0, 0);
1030
+ ctx.filter = 'none';
1031
+
1032
+ // Colorize
1033
+ var imageData = ctx.getImageData(0, 0, width, height);
1034
+ var pixels = imageData.data;
1035
+ for (var i = 0; i < pixels.length; i += 4) {
1036
+ var alpha = pixels[i + 3];
1037
+ if (alpha > 0) {
1038
+ var ratio = alpha / 255;
1039
+ // Gradient: blue -> cyan -> green -> yellow -> red
1040
+ if (ratio < 0.25) {
1041
+ pixels[i] = 0;
1042
+ pixels[i + 1] = Math.round(ratio * 4 * 255);
1043
+ pixels[i + 2] = 255;
1044
+ }
1045
+ else if (ratio < 0.5) {
1046
+ pixels[i] = 0;
1047
+ pixels[i + 1] = 255;
1048
+ pixels[i + 2] = Math.round((1 - (ratio - 0.25) * 4) * 255);
1049
+ }
1050
+ else if (ratio < 0.75) {
1051
+ pixels[i] = Math.round((ratio - 0.5) * 4 * 255);
1052
+ pixels[i + 1] = 255;
1053
+ pixels[i + 2] = 0;
1054
+ }
1055
+ else {
1056
+ pixels[i] = 255;
1057
+ pixels[i + 1] = Math.round((1 - (ratio - 0.75) * 4) * 255);
1058
+ pixels[i + 2] = 0;
1059
+ }
1060
+ pixels[i + 3] = Math.round(alpha * maxOpacity);
1061
+ }
1062
+ }
1063
+ ctx.putImageData(imageData, 0, 0);
1064
+
1065
+ return canvas;
1066
+ }
1067
+ };
1068
+ })();
1069
+ </script>
1070
+ `}function y3($,Z){let J=b3(Z);if(!J)return $;let X=$.lastIndexOf("</body>");if(X!==-1)return $.slice(0,X)+J+$.slice(X);return $+J}var C3={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async($,Z,J,X)=>{let Q=J.__stx_config||{};if(Z.length>0){let Y=nZ(Z.join(" "));Q.heatmap={...Q.heatmap,...Y,enabled:!0}}return b3(Q)}};function nZ($){let Z={},J=$.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let X of J){let[Q,Y]=X.split("="),G=Y?.replace(/["']/g,"");switch(Q){case"endpoint":Z.endpoint=G;break;case"samplingRate":Z.samplingRate=Number.parseInt(G,10);break;case"batchSize":Z.batchSize=Number.parseInt(G,10);break;case"trackMouse":Z.trackMouse=G==="true";break;case"trackClicks":Z.trackClicks=G==="true";break;case"trackScroll":Z.trackScroll=G==="true";break;case"honorDnt":Z.honorDnt=G==="true";break;case"debugOverlay":Z.debugOverlay=G==="true";break}}return Z}class S3{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 J of this.sessions.values())if(J.page===$)Z.push(...J.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"),J=new Map;for(let X of Z)if(X.depth!==void 0)J.set(X.depth,(J.get(X.depth)||0)+1);return Array.from(J.entries()).map(([X,Q])=>({depth:X,count:Q})).sort((X,Q)=>X.depth-Q.depth)}getZoneStats($){let Z=new Map,J=this.getPageData($);for(let X of J)if(X.zone){let Q=Z.get(X.zone)||{clicks:0,hovers:0};if(X.type==="click")Q.clicks++;else if(X.type==="move")Q.hovers++;Z.set(X.zone,Q)}return Z}generateGridData($,Z=20){let J=this.getPageData($),X=[];for(let Y=0;Y<Z;Y++){X[Y]=[];for(let G=0;G<Z;G++)X[Y][G]=0}for(let Y of J){let G=Math.min(Math.floor(Y.x/100*Z),Z-1),z=Math.min(Math.floor(Y.y/100*Z),Z-1);X[z][G]+=Y.type==="click"?3:1}let Q=0;for(let Y of X)for(let G of Y)Q=Math.max(Q,G);return X.map((Y,G)=>Y.map((z,q)=>({x:q,y:G,intensity:Q>0?z/Q: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 gq(){return new S3}var sZ;((G)=>{G.Fade="fade";G.Slide="slide";G.Scale="scale";G.Flip="flip";G.Rotate="rotate";G.Custom="custom"})(sZ||={});var oZ;((X)=>{X.In="in";X.Out="out";X.Both="both"})(oZ||={});var rZ;((G)=>{G.Linear="linear";G.Ease="ease";G.EaseIn="ease-in";G.EaseOut="ease-out";G.EaseInOut="ease-in-out";G.Spring="spring"})(rZ||={});var t0={duration:300,delay:0,ease:"ease",direction:"both"};function aZ($,Z={}){let{duration:J,delay:X,ease:Q,direction:Y,custom:G}={...t0,...Z};if($==="custom"&&G)return G;switch($){case"fade":return`${Y==="in"?"opacity: 0; animation: fadeIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":Y==="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);"}
1071
+ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
1072
+ @keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }`;case"slide":return`${Y==="in"?"transform: translateY(20px); opacity: 0; animation: slideIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":Y==="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);"}
1073
+ @keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
1074
+ @keyframes slideOut { from { transform: translateY(0); opacity: 1; } to { transform: translateY(20px); opacity: 0; } }`;case"scale":return`${Y==="in"?"transform: scale(0.95); opacity: 0; animation: scaleIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":Y==="out"?"transform: scale(1); opacity: 1; animation: scaleOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: scale(1); 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);"}
1075
+ @keyframes scaleIn { from { transform: scale(0.95); opacity: 0; } to { transform: scale(1); opacity: 1; } }
1076
+ @keyframes scaleOut { from { transform: scale(1); opacity: 1; } to { transform: scale(0.95); opacity: 0; } }`;case"flip":return`${Y==="in"?"transform: perspective(400px) rotateX(-90deg); opacity: 0; animation: flipIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":Y==="out"?"transform: perspective(400px) rotateX(0); opacity: 1; animation: flipOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: perspective(400px) rotateX(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);"}
1077
+ @keyframes flipIn { from { transform: perspective(400px) rotateX(-90deg); opacity: 0; } to { transform: perspective(400px) rotateX(0); opacity: 1; } }
1078
+ @keyframes flipOut { from { transform: perspective(400px) rotateX(0); opacity: 1; } to { transform: perspective(400px) rotateX(90deg); opacity: 0; } }`;case"rotate":return`${Y==="in"?"transform: rotate(-90deg); opacity: 0; animation: rotateIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":Y==="out"?"transform: rotate(0); opacity: 1; animation: rotateOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: rotate(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
1079
+ @keyframes rotateIn { from { transform: rotate(-90deg); opacity: 0; } to { transform: rotate(0); opacity: 1; } }
1080
+ @keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function tZ(){return`
1081
+ <script data-stx-scoped data-stx-run="once">
1082
+ // Motion preferences handling
1083
+ (function() {
1084
+ const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
1085
+
1086
+ if (prefersReducedMotion) {
1087
+ // Apply reduced motion settings
1088
+ document.documentElement.style.setProperty('--stx-transition-duration', '0ms');
1089
+ document.documentElement.setAttribute('data-reduced-motion', 'true');
1090
+ }
1091
+ else {
1092
+ document.documentElement.setAttribute('data-reduced-motion', 'false');
1093
+ }
1094
+
1095
+ // Listen for changes in preference
1096
+ window.matchMedia('(prefers-reduced-motion: reduce)').addEventListener('change', (e) => {
1097
+ if (e.matches) {
1098
+ document.documentElement.style.setProperty('--stx-transition-duration', '0ms');
1099
+ document.documentElement.setAttribute('data-reduced-motion', 'true');
1100
+ }
1101
+ else {
1102
+ document.documentElement.style.setProperty('--stx-transition-duration', '');
1103
+ document.documentElement.setAttribute('data-reduced-motion', 'false');
1104
+ }
1105
+ });
1106
+ })();
1107
+ </script>
1108
+ `}function eZ($){return[/@animate\b/,/@transition\b/,/@scroll(?:Animate)?\b/,/@staggered\b/,/@sequence\b/,/@motion\b/,/@animationGroup\b/,/\bstx-transition\b/,/\bstx-(?:fade|scale|flip|rotate|slide|from-|observe)\b/,/data-animate=['"](?:auto|true|false)['"]/].some((J)=>J.test($))}function $J($=0.1,Z="0px"){return`
1109
+ <script data-stx-scoped data-stx-run="always">
1110
+ // Intersection Observer for scroll animations
1111
+ (function() {
1112
+ const initObserver = () => {
1113
+ if (!('IntersectionObserver' in window)) {
1114
+ // For browsers that don't support IntersectionObserver, show all elements immediately
1115
+ const elements = document.querySelectorAll('.stx-observe');
1116
+ elements.forEach(el => el.classList.remove('stx-out'));
1117
+ return;
1118
+ }
1119
+
1120
+ // Create the observer
1121
+ const options = {
1122
+ root: null, // Use viewport
1123
+ rootMargin: '${Z}',
1124
+ threshold: ${$}
1125
+ };
1126
+
1127
+ const observer = new IntersectionObserver((entries) => {
1128
+ entries.forEach(entry => {
1129
+ if (entry.isIntersecting) {
1130
+ entry.target.classList.remove('stx-out');
1131
+ // Stop observing after animation is triggered
1132
+ observer.unobserve(entry.target);
1133
+ }
1134
+ });
1135
+ }, options);
1136
+
1137
+ // Start observing elements
1138
+ const elements = document.querySelectorAll('.stx-observe');
1139
+ elements.forEach(el => observer.observe(el));
1140
+ };
1141
+
1142
+ // Initialize observer when DOM is ready
1143
+ if (document.readyState === 'loading') {
1144
+ document.addEventListener('DOMContentLoaded', initObserver);
1145
+ }
1146
+ else {
1147
+ initObserver();
1148
+ }
1149
+ })();
1150
+ </script>
1151
+ `}function ZJ(){return`
1152
+ <style id="stx-animation-base">
1153
+ :root {
1154
+ --stx-transition-duration: 300ms;
1155
+ --stx-transition-delay: 0ms;
1156
+ --stx-transition-ease: ease;
1157
+ }
1158
+
1159
+ @media (prefers-reduced-motion: reduce) {
1160
+ :root {
1161
+ --stx-transition-duration: 0ms;
1162
+ }
1163
+ }
1164
+
1165
+ [data-animate="false"] * {
1166
+ --stx-transition-duration: 0ms !important;
1167
+ animation-duration: 0ms !important;
1168
+ transition-duration: 0ms !important;
1169
+ }
1170
+
1171
+ /* Base transition classes */
1172
+ .stx-transition {
1173
+ transition: opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms),
1174
+ transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
1175
+ backface-visibility: hidden; /* Improve animation performance */
1176
+ transform-style: preserve-3d; /* Better 3D transforms */
1177
+ }
1178
+
1179
+ /* Fade animations */
1180
+ .stx-fade {
1181
+ transition: opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
1182
+ }
1183
+
1184
+ .stx-fade.stx-out {
1185
+ opacity: 0 !important;
1186
+ }
1187
+
1188
+ /* Scale animations */
1189
+ .stx-scale {
1190
+ transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms),
1191
+ opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
1192
+ }
1193
+
1194
+ .stx-scale.stx-out {
1195
+ transform: scale(0.85) !important;
1196
+ opacity: 0 !important;
1197
+ }
1198
+
1199
+ /* Flip animations */
1200
+ .stx-flip {
1201
+ transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms),
1202
+ opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
1203
+ perspective: 600px;
1204
+ }
1205
+
1206
+ .stx-flip.stx-out {
1207
+ transform: perspective(600px) rotateX(-90deg) !important;
1208
+ opacity: 0 !important;
1209
+ }
1210
+
1211
+ /* Rotate animations */
1212
+ .stx-rotate {
1213
+ transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms),
1214
+ opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
1215
+ }
1216
+
1217
+ .stx-rotate.stx-out {
1218
+ transform: rotate(-90deg) !important;
1219
+ opacity: 0 !important;
1220
+ }
1221
+
1222
+ /* Direction-based animations */
1223
+ .stx-from-left, .stx-from-right, .stx-from-top, .stx-from-bottom {
1224
+ transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms),
1225
+ opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
1226
+ }
1227
+
1228
+ .stx-from-left.stx-out {
1229
+ transform: translateX(-30px) !important;
1230
+ opacity: 0 !important;
1231
+ }
1232
+
1233
+ .stx-from-right.stx-out {
1234
+ transform: translateX(30px) !important;
1235
+ opacity: 0 !important;
1236
+ }
1237
+
1238
+ .stx-from-top.stx-out {
1239
+ transform: translateY(-30px) !important;
1240
+ opacity: 0 !important;
1241
+ }
1242
+
1243
+ .stx-from-bottom.stx-out {
1244
+ transform: translateY(30px) !important;
1245
+ opacity: 0 !important;
1246
+ }
1247
+
1248
+ /* Generic slide animations */
1249
+ .stx-slide {
1250
+ transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms),
1251
+ opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
1252
+ }
1253
+
1254
+ .stx-slide.stx-out {
1255
+ transform: translateY(30px) !important;
1256
+ opacity: 0 !important;
1257
+ }
1258
+
1259
+ /* Scroll animation observer class */
1260
+ .stx-observe {
1261
+ will-change: opacity, transform;
1262
+ transition: opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms),
1263
+ transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
1264
+ }
1265
+ </style>
1266
+ `}function JJ($,Z,J={}){let{staggerDelay:X=50,sequence:Q=!1}=J;return`
1267
+ <script data-stx-scoped data-stx-run="always">
1268
+ // Animation Group: ${$}
1269
+ (function() {
1270
+ const elements = ${JSON.stringify(Z)};
1271
+ const staggerDelay = ${X};
1272
+ const sequence = ${Q};
1273
+
1274
+ function animateGroup() {
1275
+ elements.forEach((selector, index) => {
1276
+ const element = document.querySelector(selector);
1277
+ if (!element) return;
1278
+
1279
+ const delay = sequence ? index * staggerDelay : 0;
1280
+ element.style.setProperty('--stx-transition-delay', delay + 'ms');
1281
+
1282
+ // For elements using animation keyframes
1283
+ element.style.animationDelay = delay + 'ms';
1284
+
1285
+ // If the element is initially hidden, show it
1286
+ if (element.classList.contains('stx-out')) {
1287
+ setTimeout(() => {
1288
+ element.classList.remove('stx-out');
1289
+ }, 10); // Small delay to ensure styles are applied
1290
+ }
1291
+ });
1292
+ }
1293
+
1294
+ // Run when DOM is fully loaded
1295
+ if (document.readyState === 'loading') {
1296
+ document.addEventListener('DOMContentLoaded', animateGroup);
1297
+ }
1298
+ else {
1299
+ animateGroup();
1300
+ }
1301
+ })();
1302
+ </script>
1303
+ `}var s9={name:"transition",handler:($,Z,J,X)=>{if(Z.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${$}`;let Q=Z[0],Y=Z.length>1?Number.parseInt(Z[1],10)||t0.duration:t0.duration,G=Z.length>2?Z[2]||t0.ease:t0.ease,z=Z.length>3?Number.parseInt(Z[3],10)||t0.delay:t0.delay,q=Z.length>4?Z[4]||t0.direction:t0.direction,K=`stx-transition-${Math.random().toString(36).substr(2,9)}`,W=aZ(Q,{duration:Y,delay:z,ease:G,direction:q}),U="stx-transition",H="";if(Q==="fade")H="stx-fade";else if(Q==="slide")H="stx-slide";else if(Q==="scale")H="stx-scale";else if(Q==="flip")H="stx-flip";else if(Q==="rotate")H="stx-rotate";return`<div id="${K}" class="${U} ${H} ${q==="out"?"stx-out":""}"
1304
+ style="--stx-transition-duration: ${Y}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${z}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},o9={name:"scrollAnimate",handler:($,Z,J,X)=>{if(Z.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${$}`;let Q=Z[0],Y=Z.length>1?Number.parseInt(Z[1],10)||300:300,G=Z.length>2?Z[2]||"ease":"ease",z=Z.length>3?Number.parseFloat(Z[3])||0.2:0.2,q=Z.length>4?Number.parseInt(Z[4],10)||0:0,K=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,W=`--stx-transition-duration: ${Y}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${q}ms; will-change: opacity, transform;`,U="stx-transition stx-observe stx-out";if(Q==="fade")U+=" stx-fade";else if(Q==="slide-up"||Q==="slide")U+=" stx-from-bottom";else if(Q==="slide-down")U+=" stx-from-top";else if(Q==="slide-left")U+=" stx-from-right";else if(Q==="slide-right")U+=" stx-from-left";else if(Q==="scale")U+=" stx-scale";else if(Q.includes("-"))U+=` stx-${Q}`;else U+=` stx-${Q}`;return`<div id="${K}" class="${U}" style="${W}" data-threshold="${z}">${$}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},r9={name:"animationGroup",handler:($,Z,J,X)=>{if(Z.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${$}`;let Q=Z[0],Y=Z.slice(1).map((K)=>K.startsWith("#")||K.startsWith(".")?K:`#${K}`),G=J.staggerDelay||50,z=J.sequence||!0,q=JJ(Q,Y,{staggerDelay:G,sequence:z});return`${$}
1305
+ ${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},a9={name:"motion",handler:($,Z,J,X)=>{let Q=Z.length>0?Z[0].toLowerCase()==="true":!0,Y=tZ();return`<div data-animate="${Q?"auto":"true"}">${$}</div>${Y}`},hasEndTag:!0,description:"Controls motion and animation preferences"};function v3($,Z,J,X){let Q=$;if(X.animation?.enabled===!1)return Q;let Y=J.includes("test")&&J.includes("animation");if(!eZ(Q)&&!Y)return Q;if(!Q.includes('<style id="stx-animation-base">')){let z=ZJ();Q=Q.replace("</head>",`${z}
1306
+ </head>`)}if(Q.includes("stx-observe")){if(!Q.includes("Intersection Observer for scroll animations")){let q=$J(),K=Q.lastIndexOf("</body>");if(K!==-1)Q=Q.slice(0,K)+q+`
1307
+ `+Q.slice(K)}}return Q}var P3={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}};function XJ($,Z){let J=Z.map((X)=>{let Q=X.offset!==void 0?`${X.offset*100}%`:"from",Y=Object.entries(X.properties).map(([G,z])=>`${G}: ${z}`).join("; ");return`${Q} { ${Y} }`}).join(`
1308
+ `);return`@keyframes ${$} {
1309
+ ${J}
1310
+ }`}var YJ={name:"keyframe",hasEndTag:!0,handler:($,Z,J,X)=>{if(Z.length<1)return`<div class="stx-error">@keyframe requires an animation name</div>${$}`;let Q=Z[0].replace(/['"`]/g,""),Y=Z[1]?Number.parseInt(Z[1],10):1000,G=Z[2]?.replace(/['"`]/g,"")||"ease",z=Z[3]||"1",q=Z[4]?.replace(/['"`]/g,"")||"normal",K=Z[5]?.replace(/['"`]/g,"")||"forwards",W=`stx-keyframe-${Math.random().toString(36).slice(2,9)}`,U=`
1311
+ animation-name: ${Q};
1312
+ animation-duration: ${Y}ms;
1313
+ animation-timing-function: ${G};
1314
+ animation-iteration-count: ${z};
1315
+ animation-direction: ${q};
1316
+ animation-fill-mode: ${K};
1317
+ `.trim().replace(/\s+/g," ");return`<div id="${W}" style="${U}">${$}</div>`},description:"Applies a keyframe animation to an element"};function QJ($,Z,J,X,Q){return`
1318
+ <script data-stx-scoped data-stx-run="always">
1319
+ (function() {
1320
+ const container = document.getElementById('${$}');
1321
+ if (!container) return;
1322
+
1323
+ const children = container.querySelectorAll('${Z}');
1324
+ children.forEach((child, index) => {
1325
+ const delay = ${J} + (index * ${X});
1326
+ child.style.setProperty('--stx-stagger-delay', delay + 'ms');
1327
+ child.style.animationDelay = delay + 'ms';
1328
+ child.classList.add('${Q}');
1329
+ });
1330
+ })();
1331
+ </script>`}var GJ={name:"stagger",hasEndTag:!0,handler:($,Z,J,X)=>{let Q=Z[0]?.replace(/['"`]/g,"")||"> *",Y=Z[1]?Number.parseInt(Z[1],10):100,G=Z[2]?Number.parseInt(Z[2],10):0,z=Z[3]?.replace(/['"`]/g,"")||"fade",q=`stx-stagger-${Math.random().toString(36).slice(2,9)}`,K="stx-stagger-item";if(z==="fade")K+=" stx-fade";else if(z==="slide")K+=" stx-from-bottom";else if(z==="scale")K+=" stx-scale";let W=QJ(q,Q,G,Y,K);return`${`
1332
+ <style>
1333
+ #${q} .stx-stagger-item {
1334
+ opacity: 0;
1335
+ animation: staggerIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-stagger-delay, 0ms) forwards;
1336
+ }
1337
+ @keyframes staggerIn {
1338
+ from { opacity: 0; transform: translateY(10px); }
1339
+ to { opacity: 1; transform: translateY(0); }
1340
+ }
1341
+ </style>`}<div id="${q}" class="stx-stagger-container">${$}</div>${W}`},description:"Applies staggered animations to child elements"};function zJ($){let{stiffness:Z,damping:J}=$,X=J/(2*Math.sqrt(Z));if(X<0.5)return"cubic-bezier(0.175, 0.885, 0.32, 1.275)";else if(X<1)return"cubic-bezier(0.34, 1.56, 0.64, 1)";else return"cubic-bezier(0.25, 0.1, 0.25, 1)"}var qJ={name:"spring",hasEndTag:!0,handler:($,Z,J,X)=>{let Q=Z[0]?.replace(/['"`]/g,"")||"default",Y;if(P3[Q])Y=P3[Q];else Y={stiffness:Number.parseInt(Q,10)||100,damping:Z[1]?Number.parseInt(Z[1],10):10,mass:Z[2]?Number.parseFloat(Z[2]):1};let G=Z[3]?Number.parseInt(Z[3],10):500,z=`stx-spring-${Math.random().toString(36).slice(2,9)}`,q=zJ(Y),K=`
1342
+ transition: all ${G}ms ${q};
1343
+ --stx-spring-stiffness: ${Y.stiffness};
1344
+ --stx-spring-damping: ${Y.damping};
1345
+ --stx-spring-mass: ${Y.mass};
1346
+ `.trim().replace(/\s+/g," ");return`<div id="${z}" class="stx-spring" style="${K}">${$}</div>`},description:"Applies spring physics animations to an element"};function uq($){let Z=`stx-timeline-${Math.random().toString(36).slice(2,9)}`;return`
1347
+ <script data-stx-scoped data-stx-run="always">
1348
+ (function() {
1349
+ const timeline = ${JSON.stringify($)};
1350
+
1351
+ function runTimeline() {
1352
+ timeline.forEach((entry, index) => {
1353
+ const element = document.querySelector(entry.selector);
1354
+ if (!element) return;
1355
+
1356
+ const keyframes = entry.keyframes.map(kf => {
1357
+ const frame = { ...kf.properties };
1358
+ if (kf.offset !== undefined) frame.offset = kf.offset;
1359
+ if (kf.easing) frame.easing = kf.easing;
1360
+ return frame;
1361
+ });
1362
+
1363
+ const options = {
1364
+ duration: entry.options.duration || 1000,
1365
+ delay: entry.options.delay || 0,
1366
+ easing: entry.options.easing || 'ease',
1367
+ iterations: entry.options.iterations || 1,
1368
+ direction: entry.options.direction || 'normal',
1369
+ fill: entry.options.fill || 'forwards'
1370
+ };
1371
+
1372
+ element.animate(keyframes, options);
1373
+ });
1374
+ }
1375
+
1376
+ if (document.readyState === 'loading') {
1377
+ document.addEventListener('DOMContentLoaded', runTimeline);
1378
+ }
1379
+ else {
1380
+ runTimeline();
1381
+ }
1382
+ })();
1383
+ </script>`}function dq($,Z,J){let X=XJ($,Z),Q=`
1384
+ .${$}-animation {
1385
+ animation-name: ${$};
1386
+ animation-duration: ${J.duration}ms;
1387
+ animation-timing-function: ${J.easing||"ease"};
1388
+ animation-delay: ${J.delay||0}ms;
1389
+ animation-iteration-count: ${J.iterations==="infinite"?"infinite":J.iterations||1};
1390
+ animation-direction: ${J.direction||"normal"};
1391
+ animation-fill-mode: ${J.fill||"forwards"};
1392
+ }`;return`${X}
1393
+ ${Q}`}function mq($){let Z=$.trim().split(/\s+/),J={duration:300};for(let X=0;X<Z.length;X++){let Q=Z[X];if(/^\d+(?:ms|s)?$/.test(Q)){let Y=Number.parseInt(Q,10);if(X===0)J.duration=Q.endsWith("s")&&!Q.endsWith("ms")?Y*1000:Y;else J.delay=Q.endsWith("s")&&!Q.endsWith("ms")?Y*1000:Y}else if(Q==="infinite"||/^\d+$/.test(Q))J.iterations=Q==="infinite"?"infinite":Number.parseInt(Q,10);else if(["normal","reverse","alternate","alternate-reverse"].includes(Q))J.direction=Q;else if(["none","forwards","backwards","both"].includes(Q))J.fill=Q;else J.easing=Q}return J}function lq(){return`
1394
+ <script data-stx-scoped data-stx-run="once">
1395
+ window.__stxAnimation = {
1396
+ // Registry of animations
1397
+ animations: new Map(),
1398
+
1399
+ // Register a reusable animation
1400
+ register(name, keyframes, options) {
1401
+ this.animations.set(name, { keyframes, options });
1402
+ },
1403
+
1404
+ // Run an animation on an element
1405
+ animate(element, nameOrKeyframes, options = {}) {
1406
+ if (typeof element === 'string') {
1407
+ element = document.querySelector(element);
1408
+ }
1409
+ if (!element) return null;
1410
+
1411
+ let keyframes, defaultOptions;
1412
+
1413
+ if (typeof nameOrKeyframes === 'string' && this.animations.has(nameOrKeyframes)) {
1414
+ const registered = this.animations.get(nameOrKeyframes);
1415
+ keyframes = registered.keyframes;
1416
+ defaultOptions = registered.options;
1417
+ }
1418
+ else {
1419
+ keyframes = nameOrKeyframes;
1420
+ defaultOptions = {};
1421
+ }
1422
+
1423
+ const finalOptions = { ...defaultOptions, ...options };
1424
+ return element.animate(keyframes, finalOptions);
1425
+ },
1426
+
1427
+ // Animate multiple elements with stagger
1428
+ stagger(elements, keyframes, options = {}, staggerDelay = 100) {
1429
+ if (typeof elements === 'string') {
1430
+ elements = document.querySelectorAll(elements);
1431
+ }
1432
+
1433
+ const animations = [];
1434
+ Array.from(elements).forEach((el, index) => {
1435
+ const elementOptions = {
1436
+ ...options,
1437
+ delay: (options.delay || 0) + (index * staggerDelay)
1438
+ };
1439
+ animations.push(this.animate(el, keyframes, elementOptions));
1440
+ });
1441
+
1442
+ return animations;
1443
+ },
1444
+
1445
+ // Chain animations sequentially
1446
+ async sequence(steps) {
1447
+ for (const step of steps) {
1448
+ const animation = this.animate(step.element, step.keyframes, step.options);
1449
+ if (animation) {
1450
+ await animation.finished;
1451
+ }
1452
+ }
1453
+ },
1454
+
1455
+ // Run animations in parallel
1456
+ parallel(steps) {
1457
+ return Promise.all(
1458
+ steps.map(step => {
1459
+ const animation = this.animate(step.element, step.keyframes, step.options);
1460
+ return animation ? animation.finished : Promise.resolve();
1461
+ })
1462
+ );
1463
+ }
1464
+ };
1465
+ </script>`}function cq($){let Z=$.customDirectives||[];return Z.push(s9),Z.push(r9),Z.push(a9),Z.push(o9),Z.push(YJ),Z.push(GJ),Z.push(qJ),{...$,customDirectives:Z}}function f3($){let Z=$.match(/\bdefinePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!Z)return null;try{return Function(`return ${Z[1]}`)()}catch{return null}}function x3($){let Z=$?.layout;if(Z===!1)return!1;return typeof Z==="string"&&Z.trim()?Z.trim():void 0}var KJ=100,WJ=599,e9="__stxResponseStatus",z2="__stxResponseHeaders";function p2($){return typeof $==="number"&&Number.isInteger($)&&$>=KJ&&$<=WJ}function sq($){for(let Z of $.matchAll(/\bdefinePageMeta\s*\(\s*\{([\s\S]*?)\}\s*\)/g)){let J=Z[1].match(/(?:^|,)\s*status\s*:\s*(\d{3})(?=\s*(?:,|$))/);if(!J)continue;let X=Number(J[1]);if(p2(X))return X}return}function t9($,Z){if(!$||typeof $!=="object")return!1;let J=typeof Z==="string"&&/^\d+$/.test(Z.trim())?Number(Z.trim()):Z;if(!p2(J))return!1;return $[e9]=J,!0}function UJ($,Z,J){if(!$||typeof $!=="object")return;let X=String(Z??"").trim();if(!X)return;$[z2]={...$[z2],[X]:String(J)}}function HJ($){let Z=$?.[e9];return p2(Z)?Z:void 0}function jJ($){let Z=$?.[z2];if(!Z||typeof Z!=="object")return;let J=Object.entries(Z).map(([X,Q])=>[X,String(Q)]);return J.length>0?Object.fromEntries(J):void 0}function oq($,Z){if(!$||!Z||$===Z||typeof Z!=="object")return;let J=HJ($);if(J!==void 0)Z[e9]=J;let X=jJ($);if(X)Z[z2]={...Z[z2],...X}}function g3($){return{setResponseStatus:(Z)=>{t9($,Z)},notFound:(Z=404)=>{let J=p2(Z)&&Z>=400?Z:404;t9($,J)},setResponseHeader:(Z,J)=>{UJ($,Z,J)}}}function h3($,Z,J={}){if(!$.includes("@status"))return $;let{filePath:X,buildMode:Q}=J,Y=Q==="compile",G="",z=0,q=/@status\s*\(/g,K;while((K=q.exec($))!==null){let W=BJ($,K.index+K[0].length-1);if(W<0)break;let U=$.slice(K.index+K[0].length,W).trim(),H=/^\d+$/.test(U)?Number(U):Z0(U,Z),j=X?` in ${X}`:"";if(Y)console.warn(`[stx] @status(${U})${j} is skipped when precompiling: the build has no request, so the branch it sits in is not the one a visitor will get. Call notFound() or setResponseStatus(${U}) from <script server> instead \u2014 that runs per request.`);else if(!t9(Z,H))console.warn(`[stx] @status(${U})${j} is not an HTTP status (100-599) \u2014 ignoring it.`);G+=$.slice(z,K.index),z=W+1+($.slice(W+1).match(/^[^\S\n]*\n?/)?.[0].length??0),q.lastIndex=z}return z===0?$:G+$.slice(z)}function BJ($,Z){let J=1,X=null,Q=!1;for(let Y=Z+1;Y<$.length;Y++){let G=$[Y];if(Q){Q=!1;continue}if(X){if(G==="\\")Q=!0;else if(G===X)X=null;continue}if(G==='"'||G==="'"||G==="`"){X=G;continue}if(G==="(")J++;else if(G===")"&&--J===0)return Y}return-1}var VJ=0,_J=0;function u3($,Z){let J=$.match(new RegExp(`${Z}\\s*=\\s*"([^"]*)"`,"i"));if(J)return J[1];let X=$.match(new RegExp(`${Z}\\s*=\\s*'([^']*)'`,"i"));if(X)return X[1];return null}function LJ($){let Z=[],J=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,X;while((X=J.exec($))!==null){let[Q,Y,G]=X,z=X.index,q=u3(G,"x-data");if(!q)continue;let K=`__stx_scope_${VJ++}`,W=u3(G,"x-init"),U=OJ($,Y,z+Q.length),H=$.slice(z,U.endIndex),j=FJ(H);Z.push({id:K,selector:`[data-stx-scope="${K}"]`,stateExpr:q,initExpr:W,bindings:[],refs:j})}return Z}function OJ($,Z,J){let X=1,Q=J,Y=new RegExp(`<${Z}(?:\\s|>)`,"gi"),G=new RegExp(`</${Z}>`,"gi"),z=new RegExp(`<${Z}[^>]*/\\s*>`,"gi");while(X>0&&Q<$.length){Y.lastIndex=Q,G.lastIndex=Q,z.lastIndex=Q;let q=Y.exec($),K=G.exec($),W=z.exec($);if(W&&W.index<(q?.index??1/0)){Q=W.index+W[0].length;continue}if(!K)return{endIndex:$.length};if(q&&q.index<K.index)X++,Q=q.index+q[0].length;else{if(X--,X===0)return{endIndex:K.index+K[0].length};Q=K.index+K[0].length}}return{endIndex:$.length}}function FJ($){let Z=new Map,J=$.replace(/x-data\s*=\s*"[^"]*"/gi,'x-data="__stripped__"').replace(/x-data\s*=\s*'[^']*'/gi,"x-data='__stripped__'"),X=/<[a-z][a-z0-9-]*\s+([^>]*x-ref\s*=\s*["']([^"']*)["'][^>]*)>/gi,Q;while((Q=X.exec(J))!==null){let[,Y,G]=Q,z=wJ(Y);Z.set(G,z)}return Z}function wJ($){let Z=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(Z)return Z[1];return`__stx_el_${_J++}`}function RJ(){return`
1466
+ // STX Reactive Runtime - x-cloak and transition CSS
1467
+ (function() {
1468
+ var style = document.createElement('style');
1469
+ style.textContent = [
1470
+ '[x-cloak] { display: none !important; }',
1471
+ // Default transition classes
1472
+ '.stx-enter { opacity: 0; transform: scale(0.95); }',
1473
+ '.stx-enter-start { opacity: 0; transform: scale(0.95); }',
1474
+ '.stx-enter-active { transition: opacity 150ms ease-out, transform 150ms ease-out; }',
1475
+ '.stx-enter-to { opacity: 1; transform: scale(1); }',
1476
+ '.stx-leave { opacity: 1; transform: scale(1); }',
1477
+ '.stx-leave-start { opacity: 1; transform: scale(1); }',
1478
+ '.stx-leave-active { transition: opacity 100ms ease-in, transform 100ms ease-in; }',
1479
+ '.stx-leave-to { opacity: 0; transform: scale(0.95); }'
1480
+ ].join('\\n');
1481
+ document.head.appendChild(style);
1482
+ })();
1483
+
1484
+ // STX Reactive Runtime
1485
+ /* eslint-disable pickier/no-unused-vars, no-console, prefer-const */
1486
+ window.__stx_reactive = (function() {
1487
+ 'use strict';
1488
+
1489
+ // Deep reactive proxy that triggers onChange for any mutation
1490
+ function reactive(obj, onChange) {
1491
+ if (!obj || typeof obj !== 'object') return obj;
1492
+ return new Proxy(obj, {
1493
+ get(target, prop) {
1494
+ const value = target[prop];
1495
+ if (value && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Promise)) {
1496
+ return reactive(value, onChange);
1497
+ }
1498
+ return value;
1499
+ },
1500
+ set(target, prop, value) {
1501
+ target[prop] = value;
1502
+ onChange(prop, value);
1503
+ return true;
1504
+ }
1505
+ });
1506
+ }
1507
+
1508
+ // Initialize an x-data scope: parse state, run init(), register into window.stx._scopes,
1509
+ // then let the signals runtime handle all directive processing (x-for, x-text, :bind, etc.)
1510
+ function initScope(scopeEl, initialState, bindings, refs, initExpr) {
1511
+ // Parse initial state (may contain methods including async init())
1512
+ var state;
1513
+ try {
1514
+ state = new Function('return (' + initialState + ')')();
1515
+ } catch (e) {
1516
+ console.error('[stx-reactive] Invalid x-data:', initialState, e);
1517
+ return;
1518
+ }
1519
+
1520
+ // Build $refs object
1521
+ var $refs = {};
1522
+ for (var name in refs) {
1523
+ if (Object.prototype.hasOwnProperty.call(refs, name)) {
1524
+ (function(refName, refId) {
1525
+ Object.defineProperty($refs, refName, {
1526
+ get: function() { return document.getElementById(refId); }
1527
+ });
1528
+ })(name, refs[name]);
1529
+ }
1530
+ }
1531
+
1532
+ // Extract init method from state if present (Alpine.js convention)
1533
+ var initMethod = state.init;
1534
+ if (typeof initMethod === 'function') {
1535
+ delete state.init;
1536
+ }
1537
+
1538
+ // Make state reactive \u2014 mutations trigger re-render via signals
1539
+ var scopeId = scopeEl.getAttribute('data-stx-scope');
1540
+ var stx = window.stx;
1541
+
1542
+ // Create signals for each state property so the signals runtime can track dependencies
1543
+ var signalState = {};
1544
+ var rawState = {};
1545
+ for (var key in state) {
1546
+ if (Object.prototype.hasOwnProperty.call(state, key)) {
1547
+ if (typeof state[key] === 'function') {
1548
+ // Methods \u2014 bind to a proxy so 'this.prop = val' triggers signal updates
1549
+ signalState[key] = state[key];
1550
+ } else {
1551
+ // Data properties \u2014 wrap in signals for reactivity
1552
+ signalState[key] = stx.state(state[key]);
1553
+ rawState[key] = true;
1554
+ }
1555
+ }
1556
+ }
1557
+
1558
+ // Create a proxy context that auto-unwraps signals and writes back through them.
1559
+ // Methods get 'this' bound to this proxy so this.foo = bar triggers reactivity.
1560
+ var ctx = {};
1561
+ var ctxProxy = new Proxy(ctx, {
1562
+ get: function(target, prop) {
1563
+ if (prop === '$refs') return $refs;
1564
+ if (prop === '$el') return scopeEl;
1565
+ if (prop === '$nextTick') return function(fn) { requestAnimationFrame(fn); };
1566
+ var s = signalState[prop];
1567
+ if (!s) return undefined;
1568
+ if (rawState[prop] && s && typeof s === 'function' && typeof s.value !== 'undefined') {
1569
+ return s.value; // unwrap signal
1570
+ }
1571
+ if (typeof s === 'function' && !rawState[prop]) {
1572
+ return s.bind(ctxProxy); // bind methods to proxy
1573
+ }
1574
+ return s;
1575
+ },
1576
+ set: function(target, prop, value) {
1577
+ var s = signalState[prop];
1578
+ if (rawState[prop] && s && typeof s === 'function') {
1579
+ s.value = value; // write through signal \u2014 triggers effects
1580
+ } else {
1581
+ signalState[prop] = value;
1582
+ }
1583
+ return true;
1584
+ },
1585
+ has: function(target, prop) {
1586
+ return prop in signalState || prop === '$refs' || prop === '$el' || prop === '$nextTick';
1587
+ },
1588
+ ownKeys: function() {
1589
+ return Object.keys(signalState).concat(['$refs', '$el', '$nextTick']);
1590
+ },
1591
+ getOwnPropertyDescriptor: function(target, prop) {
1592
+ if (prop in signalState || prop === '$refs' || prop === '$el' || prop === '$nextTick') {
1593
+ return { configurable: true, enumerable: true, writable: true, value: ctxProxy[prop] };
1594
+ }
1595
+ return undefined;
1596
+ }
1597
+ });
1598
+
1599
+ // Build scope vars for the signals runtime \u2014 it reads these for expression evaluation.
1600
+ // We need to provide getter/setter descriptors so signals track properly.
1601
+ var scopeVars = {};
1602
+ for (var k in signalState) {
1603
+ if (Object.prototype.hasOwnProperty.call(signalState, k)) {
1604
+ if (rawState[k]) {
1605
+ // Data: expose the signal directly so expressions trigger dependency tracking
1606
+ scopeVars[k] = signalState[k];
1607
+ } else {
1608
+ // Method: bind to ctxProxy so 'this' works
1609
+ scopeVars[k] = (typeof signalState[k] === 'function') ? signalState[k].bind(ctxProxy) : signalState[k];
1610
+ }
1611
+ }
1612
+ }
1613
+ scopeVars.$refs = $refs;
1614
+ scopeVars.$el = scopeEl;
1615
+ scopeVars.$nextTick = function(fn) { requestAnimationFrame(fn); };
1616
+
1617
+ // Register scope \u2014 merge with any existing vars from partial signal scripts
1618
+ if (!stx._scopes) stx._scopes = {};
1619
+ stx._scopes[scopeId] = Object.assign(stx._scopes[scopeId] || {}, scopeVars);
1620
+
1621
+ // Store on element for findElementScope
1622
+ scopeEl.__stx_scope = scopeVars;
1623
+
1624
+ // Run init() if present (supports async)
1625
+ function runInit() {
1626
+ var maybePromise;
1627
+ if (initMethod) {
1628
+ maybePromise = initMethod.call(ctxProxy);
1629
+ }
1630
+ if (initExpr) {
1631
+ try {
1632
+ var keys = Object.keys(scopeVars);
1633
+ var vals = keys.map(function(k) { return scopeVars[k]; });
1634
+ var fn = new Function(keys.join(','), initExpr);
1635
+ var result = fn.apply(ctxProxy, vals);
1636
+ if (result && typeof result.then === 'function') maybePromise = result;
1637
+ } catch (e) {
1638
+ console.warn('[stx-reactive] init expression error:', e);
1639
+ }
1640
+ }
1641
+ // If init is async, signal updates will trigger effects automatically
1642
+ // when init() resolves and sets this.prop = value (writes through signal)
1643
+ if (maybePromise && typeof maybePromise.then === 'function') {
1644
+ maybePromise.catch(function(e) {
1645
+ console.error('[stx-reactive] async init() error:', e);
1646
+ });
1647
+ }
1648
+ }
1649
+
1650
+ // Run init before the signals runtime processes this scope
1651
+ runInit();
1652
+
1653
+ // Expose for debugging
1654
+ scopeEl.__stx_state = ctxProxy;
1655
+ scopeEl.__stx_execute = function(stmt, $event, $el) {
1656
+ try {
1657
+ // Run the statement with the reactive proxy as the lexical scope.
1658
+ // Wrapping in a with-block on the proxy makes bare reads/writes go
1659
+ // through it (so foo = bar triggers signal.set()) instead of treating
1660
+ // each state key as a local function parameter \u2014 bare assignments
1661
+ // would otherwise just rebind the local and never reach the signal.
1662
+ var fn = new Function('$event', '$el', 'with(this){' + stmt + ';}');
1663
+ fn.call(ctxProxy, $event, $el);
1664
+ } catch (e) {
1665
+ console.warn('[stx-reactive] execute error:', e);
1666
+ }
1667
+ };
1668
+ }
1669
+
1670
+ return { initScope: initScope, reactive: reactive };
1671
+ })();
1672
+ `}function d3($,Z){let J=$.replace(/\{!!([\s\S]*?)!!\}/g,(z,q)=>{try{let K=v0(q,Z,!0);if(K===void 0)return z;return String(K)}catch{return z}}),X="",Q=0,Y=null;while(Q<J.length){let z=J[Q];if(Y&&z==="\\"){X+=z+(J[Q+1]??""),Q+=2;continue}if(z==="{"&&J[Q+1]==="{"){let q=J.indexOf("}}",Q+2);if(q!==-1){let K=J.slice(Q,q+2);X+=G(J.slice(Q+2,q),K,Y),Q=q+2;continue}}if(Y){if(z===Y)Y=null}else if(z==="'"||z==='"'||z==="`")Y=z;X+=z,Q++}return X;function G(z,q,K){let W;try{W=v0(z,Z,!0)}catch{return q}if(W===void 0)return q;if(K){let U=String(W).replace(/\\/g,"\\\\").replace(new RegExp(K==="`"?"`":K,"g"),`\\${K}`).replace(/\r/g,"\\r").replace(/\n/g,"\\n");return K==="`"?U.replace(/\$\{/g,"\\${"):U}if(typeof W==="string"){let U=W.trim();if(U.startsWith("{")&&U.endsWith("}")||U.startsWith("[")&&U.endsWith("]"))try{return JSON.parse(U),U}catch{}}return JSON.stringify(W)}}function NJ($,Z){if($.length===0)return"";let J=$.map((X)=>{let Q=JSON.stringify(Object.fromEntries(X.refs)),Y=d3(X.stateExpr,Z),G=X.initExpr?d3(X.initExpr,Z):null,z=JSON.stringify(Y),q=G?JSON.stringify(G):"null";return`
1673
+ (function() {
1674
+ var scopeEl = document.querySelector('${X.selector}');
1675
+ if (!scopeEl) return;
1676
+ var refs = ${Q};
1677
+ __stx_reactive.initScope(scopeEl, ${z}, [], refs, ${q});
1678
+ })();`}).join(`
1679
+ `);return`
1680
+ <script data-stx-scoped data-stx-reactive data-stx-run="always">
1681
+ ${RJ()}
1682
+ ${J}
1683
+ </script>`}function m3($,Z,J){if(!AJ($))return $;let X=LJ($);if(X.length===0)return $;let Q=DJ($,X),Y=NJ(X,Z),G=Q.lastIndexOf("</body>");if(G!==-1)Q=Q.slice(0,G)+Y+`
1684
+ `+Q.slice(G);else Q+=Y;return Q}function DJ($,Z){let J=0,X=$.replace(/<([a-z][a-z0-9-]*)(\s+[^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,(Q,Y,G)=>{let z=Z[J++];if(!z)return Q;let q=/data-stx-scope="([^"]*)"/.exec(G);if(q)return z.id=q[1],z.selector=`[data-stx-scope="${z.id}"]`,Q;return`<${Y} data-stx-scope="${z.id}"${G}>`});return X=X.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),X=X.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),X=X.replace(/\s*x-init\s*=\s*"([^"]*)"/g,' data-stx-xinit="$1"'),X=X.replace(/\s*x-init\s*=\s*'([^']*)'/g," data-stx-xinit='$1'"),X}function AJ($){return/x-data\s*=\s*["']/.test($)}import FX from"fs";import F5 from"path";import{createHighlighter as wX}from"ts-syntax-highlighter";import Z9 from"fs";import y0 from"path";import{loadConfigWithResult as HX}from"bunfig";q2();async function MJ($,Z,J,X){let Q=Z[0]?.replace(/['"]/g,"")||"main",Y=$5();if(Q!=="main")Y=Y.replace("container:'main'",`container:'${Q}'`);return`<script data-stx-router>${Y}</script>`}var l3={name:"stxRouter",handler:MJ,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"};function Y1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function c3($){let Z=$.trim().toLowerCase();return!Z.startsWith("javascript:")&&!Z.startsWith("vbscript:")&&!Z.startsWith("data:text/html")}function p3($){let Z=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,J=$.match(Z);if(!J)return{data:{},content:$.trim()};let X=J[1],Q=$.slice(J[0].length),Y={};for(let G of X.split(`
1685
+ `)){let z=G.trim();if(!z||z.startsWith("#"))continue;let q=z.indexOf(":");if(q===-1)continue;let K=z.slice(0,q).trim(),W=z.slice(q+1).trim();if(typeof W==="string"){if(W.startsWith('"')&&W.endsWith('"')||W.startsWith("'")&&W.endsWith("'"))W=W.slice(1,-1);else if(W.startsWith("[")&&W.endsWith("]"))try{W=JSON.parse(W)}catch{}else if(W==="true")W=!0;else if(W==="false")W=!1;else if(/^-?\d+(?:\.\d+)?$/.test(W))W=Number(W)}Y[K]=W}return{data:Y,content:Q.trim()}}function K2($,Z={}){let{gfm:J=!0,breaks:X=!1}=Z,Q=$,Y=[];if(Q=Q.replace(/```(\w*)\n([\s\S]*?)```/g,(W,U,H)=>{let j=Y.length,B=U?` class="language-${Y1(U)}"`:"";return Y.push(`<pre><code${B}>${Y1(H.trim())}</code></pre>`),`\x00CODEBLOCK${j}\x00`}),Q=Q.replace(/`([^`]*)`/g,(W,U)=>`<code>${Y1(U)}</code>`),Q=Q.replace(/^######\s+(.*)$/gm,"<h6>$1</h6>"),Q=Q.replace(/^#####\s+(.*)$/gm,"<h5>$1</h5>"),Q=Q.replace(/^####\s+(.*)$/gm,"<h4>$1</h4>"),Q=Q.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),Q=Q.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),Q=Q.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),Q=Q.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),Q=Q.replace(/___(.+?)___/g,"<strong><em>$1</em></strong>"),Q=Q.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),Q=Q.replace(/__(.+?)__/g,"<strong>$1</strong>"),Q=Q.replace(/\*(.+?)\*/g,"<em>$1</em>"),Q=Q.replace(/(?<![a-zA-Z0-9])_(.+?)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),J)Q=Q.replace(/~~(.+?)~~/g,"<del>$1</del>");if(Q=Q.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(W,U,H)=>{return`<img src="${c3(H)?Y1(H):""}" alt="${Y1(U)}" />`}),Q=Q.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(W,U,H)=>{return`<a href="${c3(H)?Y1(H):""}">${U}</a>`}),Q=Q.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),Q=Q.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),Q=Q.replace(/<\/blockquote>\n<blockquote>/g,`
1686
+ `),Q=Q.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),Q=Q.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),Q=Q.replace(/<\/ul>\n<ul>/g,""),Q=Q.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),Q=Q.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),Q=Q.replace(/<\/ol>\n<ol>/g,""),Q=Q.replace(/<li data-ul>/g,"<li>"),Q=Q.replace(/<li data-ol>/g,"<li>"),J)Q=Q.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(W,U,H)=>{let B=`<tr>${U.split("|").map((F)=>F.trim()).filter(Boolean).map((F)=>`<th>${Y1(F)}</th>`).join("")}</tr>`,V=H.trim().split(`
1687
+ `).map((F)=>{return`<tr>${F.split("|").map((O)=>O.trim()).filter(Boolean).map((O)=>`<td>${Y1(O)}</td>`).join("")}</tr>`}).join(`
1688
+ `);return`<table>
1689
+ <thead>
1690
+ ${B}
1691
+ </thead>
1692
+ <tbody>
1693
+ ${V}
1694
+ </tbody>
1695
+ </table>`});if(J)Q=Q.replace(/<li>\s*\[\s*\]\s*/g,'<li><input type="checkbox" disabled /> '),Q=Q.replace(/<li>\s*\[x\]\s*/gi,'<li><input type="checkbox" checked disabled /> ');let G=Q.split(`
1696
+ `),z=[],q=!1,K=[];for(let W of G){let U=W.trim();if(/^<(?:h[1-6]|ul|ol|li|blockquote|pre|table|thead|tbody|tr|th|td|hr|div|p)/.test(U)||/^\0CODEBLOCK\d+\0$/.test(U)||U===""){if(q&&K.length>0)z.push(`<p>${K.join(X?`<br />
1697
+ `:`
1698
+ `)}</p>`),K=[],q=!1;z.push(W)}else q=!0,K.push(U)}if(q&&K.length>0)z.push(`<p>${K.join(X?`<br />
1699
+ `:`
1700
+ `)}</p>`);if(Q=z.join(`
1701
+ `),X)Q=Q.replace(/\n/g,`<br />
1702
+ `);for(let W=0;W<Y.length;W++)Q=Q.replace(`\x00CODEBLOCK${W}\x00`,Y[W]);return Q=Q.replace(/<p>\s*<\/p>/g,""),Q.trim()}async function i3($,Z,J=""){let X=$,Q=[],Y=/@markdown(?:\([^)]*\))?/g,G;while((G=Y.exec($))!==null){let z=G.index,q=G[0].match(/@markdown\(([^)]*)\)/),K=q?q[1]:"",W=z+G[0].length,U=1,H=W,j=-1;while(U>0&&H<$.length){let F=$.indexOf("@markdown",H),L=$.indexOf("@endmarkdown",H);if(L===-1)break;if(F!==-1&&F<L&&F!==z){let O=$[F+9];if(O==="("||O===`
1703
+ `||O==="\r"||O===" "||O===void 0)U++;H=F+9}else{if(U--,U===0){j=L;break}H=L+12}}if(j===-1)continue;let B=$.slice(W,j),V=$.slice(z,j+12);Q.push({fullMatch:V,options:K,content:B,index:z}),Y.lastIndex=j+12}for(let{fullMatch:z,options:q,content:K,index:W}of Q)try{let U={};if(q)q.split(",").forEach((B)=>{let V=B.trim();if(V)U[V]=!0});let H={gfm:U.gfm??!0,breaks:U.breaks??!1},j=K2(K.trim(),H);X=X.split(z).join(j)}catch(U){let H=U instanceof Error?U.message:String(U),j=_0("Markdown Directive",`Error processing markdown: ${H}`,J,$,W,z);X=X.split(z).join(j)}return X}async function n3($,Z,J,X){let Q={gfm:!0,breaks:!1};return Z.forEach((Y)=>{let G=Y.trim().replace(/['"]/g,"");if(G==="breaks")Q.breaks=!0;if(G==="no-gfm")Q.gfm=!1}),K2($.trim(),Q)}var _1=[320,480,640,768,1024,1280,1536,1920,2560],s3=[1,1.5,2,3],C1=["avif","webp","jpeg"],o3={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"},IJ={avif:"avif",webp:"webp",jpeg:"jpg",png:"png",gif:"gif"};function W2($,Z=_1,J={},X){return Z.sort((Q,Y)=>Q-Y).map((Q)=>{return`${Q1($,{...J,w:Q,fm:X})} ${Q}w`}).join(", ")}function qK($,Z=320,J=2560,X=0.08,Q={},Y){let G=kJ(Z,J,X);return W2($,G,Q,Y)}function kJ($,Z,J=0.08){let X=[],Q=$;while(Q<Z)X.push(Math.round(Q)),Q*=1+J*2;if(X[X.length-1]!==Z)X.push(Z);return X}function Z5($,Z,J=s3,X={},Q){return J.sort((Y,G)=>Y-G).map((Y)=>{let G=Math.round(Z*Y);return`${Q1($,{...X,w:G,dpr:Y,fm:Q})} ${Y}x`}).join(", ")}function KK($,Z,J=s3,X=80,Q={},Y){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 J.sort((z,q)=>z-q).map((z)=>{let q=Math.round(Z*z),K=G[z]||Math.round(X*Math.max(0.5,1-z*0.1));return`${Q1($,{...Q,w:q,q:K,dpr:z,fm:Y})} ${z}x`}).join(", ")}function J5($,Z="100vw"){if(!$||Object.keys($).length===0)return Z;let X=Object.entries($).map(([Q,Y])=>{let G=/^\d+$/.test(Q)?`${Q}px`:Q;return{bp:G,size:Y,numericBp:Number.parseInt(G)||0}}).sort((Q,Y)=>Q.numericBp-Y.numericBp).map(({bp:Q,size:Y})=>`(max-width: ${Q}) ${Y}`);return X.push(Z),X.join(", ")}function WK($,Z="100vw"){if(!$||$.length===0)return Z;let X=[...$].sort((Q,Y)=>(Q.maxWidth||0)-(Y.maxWidth||0)).filter((Q)=>Q.maxWidth).map((Q)=>`(max-width: ${Q.maxWidth}px) ${Q.imageWidth}`);return X.push(Z),X.join(", ")}var UK={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"};function Q1($,Z={}){let J=Object.entries(Z).filter(([,Y])=>Y!==void 0&&Y!==null).map(([Y,G])=>{if(Array.isArray(G))return[Y,G.join(",")];return[Y,String(G)]});if(J.length===0)return $;let X=J.map(([Y,G])=>`${Y}=${encodeURIComponent(G)}`).join("&"),Q=$.includes("?")?"&":"?";return`${$}${Q}${X}`}function HK($){let[Z,J]=$.split("?"),X={};if(J)new URLSearchParams(J).forEach((Y,G)=>{if(/^\d+$/.test(Y))X[G]=Number.parseInt(Y,10);else if(/^\d+\.\d+$/.test(Y))X[G]=Number.parseFloat(Y);else if(Y==="true")X[G]=!0;else if(Y==="false")X[G]=!1;else X[G]=Y});return{src:Z,params:X}}function jK($){let{src:Z,widths:J,dprValues:X,fixedWidth:Q,formats:Y=C1,baseUrl:G="",params:z={}}=$,q=[];for(let K of Y){let W,U;if(Q!==void 0&&X)W=Z5(Z,Q,X,z,K),U=X.map((H)=>({path:"",url:Q1(Z,{...z,w:Math.round(Q*H),fm:K}),width:Math.round(Q*H),height:0,format:K,size:0,dpr:H}));else{let H=J||_1;W=W2(Z,H,z,K),U=H.map((j)=>({path:"",url:Q1(Z,{...z,w:j,fm:K}),width:j,height:0,format:K,size:0}))}q.push({srcset:W,format:K,mimeType:o3[K],variants:U})}return q}function BK($,Z="100vw"){return $.map(({srcset:J,mimeType:X})=>`<source type="${X}" srcset="${J}" sizes="${Z}" />`).join(`
1704
+ `)}function VK($,Z){if($.length===0)return;let J=[...$].sort((Q,Y)=>Q.width-Y.width),X=J.find((Q)=>Q.width>=Z);if(X)return X;return J[J.length-1]}function X5($){return o3[$]||"application/octet-stream"}function _K($){return IJ[$]||$}function LK($){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 TJ={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},Y5=`
1705
+ .stx-img-placeholder {
1706
+ position: relative;
1707
+ overflow: hidden;
1708
+ background-size: cover;
1709
+ background-position: center;
1710
+ background-repeat: no-repeat;
1711
+ }
1712
+
1713
+ .stx-img-placeholder img {
1714
+ opacity: 0;
1715
+ transition: opacity var(--stx-img-transition-duration, 300ms) var(--stx-img-transition-easing, ease-out);
1716
+ }
1717
+
1718
+ .stx-img-placeholder.stx-img-loaded img {
1719
+ opacity: 1;
1720
+ }
1721
+
1722
+ .stx-img-blur {
1723
+ filter: blur(20px);
1724
+ transform: scale(1.1);
1725
+ transition: filter var(--stx-img-transition-duration, 300ms) var(--stx-img-transition-easing, ease-out),
1726
+ transform var(--stx-img-transition-duration, 300ms) var(--stx-img-transition-easing, ease-out);
1727
+ }
1728
+
1729
+ .stx-img-loaded .stx-img-blur {
1730
+ filter: blur(0);
1731
+ transform: scale(1);
1732
+ }
1733
+ `.trim();async function Q5(){try{return await import("ts-images")}catch{return null}}async function r3($,Z={}){let J={...TJ,...Z},X=await Q5();if(X)try{return await EJ($,J,X)}catch(Q){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${Q}`)}return a3($,J)}async function EJ($,Z,J){let{generatePlaceholder:X,generateThumbHash:Q}=J,G={blur:"blur",thumbhash:"thumbhash",blurhash:"thumbhash",pixelate:"pixelate","dominant-color":"dominant-color",none:"blur"}[Z.strategy]||"blur";if(Z.strategy==="thumbhash")return{dataURL:(await Q($)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let z=await X($,{width:Z.width,height:Z.height,quality:Z.quality,blurLevel:Z.blurLevel,strategy:G,base64Encode:!0});return{dataURL:z.dataURL,width:z.width,height:z.height,aspectRatio:z.aspectRatio,originalWidth:z.originalWidth,originalHeight:z.originalHeight,strategy:Z.strategy,dominantColor:z.dominantColor,css:z.css}}function a3($,Z){let J=Z.width||20,X=Z.height||J,Q="#e5e7eb",Y=`<svg xmlns="http://www.w3.org/2000/svg" width="${J}" height="${X}" viewBox="0 0 ${J} ${X}"><rect fill="#e5e7eb" width="${J}" height="${X}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(Y)}`,width:J,height:X,aspectRatio:J/X,originalWidth:0,originalHeight:0,strategy:Z.strategy,dominantColor:"#e5e7eb"}}async function FK($){let Z=await Q5();if(Z)try{return(await Z.generateThumbHash($)).dataUrl}catch{}return(await a3($,{strategy:"thumbhash",width:32,height:32})).dataURL}function wK($){let Z=$[0]|$[1]<<8|$[2]<<16,J=(Z&63)/63,X=(Z>>6&63)/31.5-1,Q=(Z>>12&63)/31.5-1,Y=(Z>>18&31)/31,G=Z>>23!==0,z=$[3]|$[4]<<8,q=(z>>3&63)/63,K=(z>>9&63)/63,W=z>>15!==0,U=Math.max(3,W?G?5:7:G?5:7),H=Math.max(3,W?G?5:7:G?5:7),j=32,B=32,V=Math.max(0,Math.min(255,Math.round((J+X)*255))),F=Math.max(0,Math.min(255,Math.round(J*255))),L=Math.max(0,Math.min(255,Math.round((J-X)*255))),O=`<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32">
1734
+ <rect fill="rgb(${V},${F},${L})" width="32" height="32"/>
1735
+ </svg>`;return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(O)}`}async function RK($,Z=20,J=50){return r3($,{strategy:"blur",width:Z,quality:J,blurLevel:40})}async function NK($){let Z=await Q5();if(Z)try{return(await Z.generatePlaceholder($,{strategy:"dominant-color"})).dominantColor||"#e5e7eb"}catch{}return"#e5e7eb"}function DK($,Z=1,J=1){let X=`<svg xmlns="http://www.w3.org/2000/svg" width="${Z}" height="${J}"><rect fill="${$}" width="${Z}" height="${J}"/></svg>`;return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(X)}`}function t3($,Z,J={}){let X=J.transitionDuration||300,Q=J.easing||"ease-out";return`
1736
+ #${$} {
1737
+ --stx-img-transition-duration: ${X}ms;
1738
+ --stx-img-transition-easing: ${Q};
1739
+ background-image: url('${Z.dataURL}');
1740
+ background-size: cover;
1741
+ background-position: center;
1742
+ }
1743
+
1744
+ #${$} img {
1745
+ opacity: 0;
1746
+ transition: opacity var(--stx-img-transition-duration) var(--stx-img-transition-easing);
1747
+ }
1748
+
1749
+ #${$}.stx-img-loaded img {
1750
+ opacity: 1;
1751
+ }
1752
+ `.trim()}function AK($){return`background-image: url('${$.dataURL}'); background-size: cover; background-position: center;`}var S1=new Map;async function e3($,Z={}){let J=`${$}:${JSON.stringify(Z)}`;if(S1.has(J))return S1.get(J);let X=await r3($,Z);return S1.set(J,X),X}function MK(){S1.clear()}function IK(){return{size:S1.size,keys:Array.from(S1.keys())}}async function bJ(){try{return await import("./chunk-526rr83q.js")}catch($){if(!$7)console.warn("[stx-media] Image processor not available, some features disabled:",$),$7=!0;return null}}var $7=!1,G5=80,i2="async",n2="lazy",Z7=!1;async function U2($,Z={}){let J=Z,X=$;if(X.process&&!X.skipOptimization){if(J.tsImagesConfig?.enabled&&!J.isDev)return vJ(X,J)}if(J.processedResult?.processed)return K5($,J.processedResult,Z);if(J.responsiveVariants)return Y7($,J.responsiveVariants,Z);let{src:Q,alt:Y,width:G,height:z,sizes:q,widths:K=_1,dpr:W,formats:U=C1,quality:H=G5,params:j={},placeholder:B="none",placeholderOptions:V={},lazy:F=!0,priority:L=!1,loading:O=L?"eager":n2,decoding:_=i2,fetchpriority:w,objectFit:R,objectPosition:N,crossorigin:A,referrerpolicy:k}=$,D=$.class,I=$.style,T=$.id,M=$.data||{},{isDev:E=!1,baseUrl:C=""}=Z;if(E&&!Z.optimize)return SJ($);let y,b,P=T||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(B!=="none"&&!L)try{y=await e3(Q,{strategy:B,...V}),b=t3(P,y,V)}catch{}let g=W!==void 0&&G!==void 0,c;if(g)c=CJ($,P,y,Z);else c=await yJ($,P,y,Z);let l;if(L){let u=U.includes("webp")?"webp":U[0],z0=W2(Q,K,{...j,q:H},u),d0=typeof q==="object"?J5(q):q||"100vw";l=`<link rel="preload" as="image" imagesrcset="${z0}" imagesizes="${d0}" />`}let h=[];if(!Z7&&B!=="none")h.push(Y5),Z7=!0;if(b)h.push(b);let s=F?X7(P):void 0;return{html:c,preloadLink:l,css:h.length>0?h.join(`
1753
+ `):void 0,script:s}}async function yJ($,Z,J,X){let{src:Q,alt:Y,width:G,height:z,sizes:q,widths:K=_1,formats:W=C1,quality:U=G5,params:H={},lazy:j=!0,priority:B=!1,loading:V=B?"eager":n2,decoding:F=i2,fetchpriority:L,objectFit:O,objectPosition:_,crossorigin:w,referrerpolicy:R}=$,N=$.class,A=$.style,k=$.data||{},D=typeof q==="object"?J5(q):q||"100vw",I=[];for(let E of W){let C=W2(Q,K,{...H,q:U},E),y=X5(E);if(j&&!B)I.push(` <source type="${y}" data-srcset="${C}" data-sizes="${D}" />`);else I.push(` <source type="${y}" srcset="${C}" sizes="${D}" />`)}let T=z5({src:Q1(Q,{...H,q:U}),alt:Y,width:G,height:z,loading:B?void 0:V,decoding:F,fetchpriority:B?"high":L,objectFit:O,objectPosition:_,crossorigin:w,referrerpolicy:R,className:J7(N,J),style:q5(A,O,_,J),lazy:j&&!B,data:k}),M;if(J){let E=`background-image: url('${J.dataURL}'); background-size: cover; background-position: center;`;M=`<div id="${Z}" class="stx-img-placeholder" style="${E}">
1754
+ <picture>
1755
+ ${I.join(`
1756
+ `)}
1757
+ <img ${T} />
1758
+ </picture>
1759
+ </div>`}else M=`<picture${Z?` id="${Z}"`:""}>
1760
+ ${I.join(`
1761
+ `)}
1762
+ <img ${T} />
1763
+ </picture>`;return M}function CJ($,Z,J,X){let{src:Q,alt:Y,width:G,height:z,dpr:q=[1,2,3],quality:K=G5,params:W={},lazy:U=!0,priority:H=!1,loading:j=H?"eager":n2,decoding:B=i2,fetchpriority:V,objectFit:F,objectPosition:L,crossorigin:O,referrerpolicy:_}=$,w=$.class,R=$.style,N=$.data||{},A=typeof G==="number"?G:Number.parseInt(String(G),10),k=Z5(Q,A,q,{...W,q:K}),D=z5({src:Q1(Q,{...W,w:A,q:K}),alt:Y,width:G,height:z,loading:H?void 0:j,decoding:B,fetchpriority:H?"high":V,objectFit:F,objectPosition:L,crossorigin:O,referrerpolicy:_,className:J7(w,J),style:q5(R,F,L,J),lazy:U&&!H,data:N}),I=U&&!H?`data-srcset="${k}"`:`srcset="${k}"`;if(J){let T=`background-image: url('${J.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${Z}" class="stx-img-placeholder" style="${T}">
1764
+ <img ${D} ${I} />
1765
+ </div>`}return`<img ${Z?`id="${Z}" `:""}${D} ${I} />`}function SJ($){let{src:Z,alt:J,width:X,height:Q,loading:Y=n2,decoding:G=i2,fetchpriority:z,objectFit:q,objectPosition:K,crossorigin:W,referrerpolicy:U,priority:H=!1}=$,j=$.class,B=$.style,V=$.id,F=$.data||{};return{html:`<img ${z5({src:Z,alt:J,width:X,height:Q,loading:H?"eager":Y,decoding:G,fetchpriority:H?"high":z,objectFit:q,objectPosition:K,crossorigin:W,referrerpolicy:U,className:j,style:q5(B,q,K),id:V,data:F})} />`}}function z5($){let Z=[];if($.lazy)Z.push(`data-src="${p0($.src)}"`),Z.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else Z.push(`src="${p0($.src)}"`);if(Z.push(`alt="${p0($.alt)}"`),$.width)Z.push(`width="${$.width}"`);if($.height)Z.push(`height="${$.height}"`);if($.loading)Z.push(`loading="${$.loading}"`);if($.decoding)Z.push(`decoding="${$.decoding}"`);if($.fetchpriority)Z.push(`fetchpriority="${$.fetchpriority}"`);if($.crossorigin)Z.push(`crossorigin="${$.crossorigin}"`);if($.referrerpolicy)Z.push(`referrerpolicy="${$.referrerpolicy}"`);if($.className)Z.push(`class="${p0($.className)}"`);if($.style)Z.push(`style="${p0($.style)}"`);if($.id)Z.push(`id="${p0($.id)}"`);if($.data)for(let[J,X]of Object.entries($.data))Z.push(`data-${J}="${p0(X)}"`);if($.lazy)Z.push("data-stx-lazy");return Z.join(" ")}function J7($,Z){let J=[];if($)J.push($);if(Z)J.push("stx-img-blur");return J.join(" ")||""}function q5($,Z,J,X){let Q=[];if(Z)Q.push(`object-fit: ${Z}`);if(J)Q.push(`object-position: ${J}`);if(X)Q.push("opacity: 0; transition: opacity 300ms ease-out");if($)Q.push($);return Q.join("; ")}function p0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function X7($){return`
1766
+ (function() {
1767
+ const container = document.getElementById('${$}');
1768
+ if (!container) return;
1769
+
1770
+ const img = container.querySelector('img[data-stx-lazy]') || container;
1771
+ if (!img.dataset.src && !img.dataset.srcset) return;
1772
+
1773
+ const observer = new IntersectionObserver((entries) => {
1774
+ entries.forEach(entry => {
1775
+ if (entry.isIntersecting) {
1776
+ // Load image
1777
+ if (img.dataset.src) img.src = img.dataset.src;
1778
+ if (img.dataset.srcset) img.srcset = img.dataset.srcset;
1779
+
1780
+ // Load sources
1781
+ const sources = container.querySelectorAll('source[data-srcset]');
1782
+ sources.forEach(source => {
1783
+ if (source.dataset.srcset) source.srcset = source.dataset.srcset;
1784
+ if (source.dataset.sizes) source.sizes = source.dataset.sizes;
1785
+ });
1786
+
1787
+ // Handle load completion
1788
+ img.onload = () => {
1789
+ img.style.opacity = '1';
1790
+ if (container.classList.contains('stx-img-placeholder')) {
1791
+ container.classList.add('stx-img-loaded');
1792
+ }
1793
+ };
1794
+
1795
+ observer.disconnect();
1796
+ }
1797
+ });
1798
+ }, { rootMargin: '50px' });
1799
+
1800
+ observer.observe(container);
1801
+ })();
1802
+ `.trim()}function PJ($){let Z=$.match(/<Img\s+([^>]*?)\/?>/);if(!Z)return null;let J=Z[1],X={},Q=/(:?)(\w+)(?:=(?:"([^"]*)"|'([^']*)'|\{([^}]+)\}))?/g,Y;while((Y=Q.exec(J))!==null){let[,G,z,q,K,W]=Y,U=q??K??W??!0;if(G===":"&&typeof U==="string")try{X[z]=JSON.parse(U)}catch{X[z]=U}else switch(z){case"src":X.src=String(U);break;case"alt":X.alt=String(U);break;case"width":X.width=Number(U)||U;break;case"height":X.height=Number(U)||U;break;case"sizes":X.sizes=String(U);break;case"quality":X.quality=Number(U);break;case"placeholder":X.placeholder=U;break;case"lazy":X.lazy=U===!0||U==="true";break;case"priority":X.priority=U===!0||U==="true";break;case"class":X.class=String(U);break;case"style":X.style=String(U);break;case"id":X.id=String(U);break;case"loading":X.loading=U;break;case"decoding":X.decoding=U;break;case"fetchpriority":X.fetchpriority=U;break;case"objectFit":X.objectFit=U;break;case"objectPosition":X.objectPosition=String(U);break;case"crossorigin":X.crossorigin=U;break}}if(!X.src||!X.alt)return null;return X}async function bK($,Z={}){let J=/<Img\s+[^>]*?\/?>/g,X=[],Q=[],Y=[],G=$,z=[],q;while((q=J.exec($))!==null)z.push({match:q[0],index:q.index});for(let K=z.length-1;K>=0;K--){let{match:W}=z[K],U=PJ(W);if(U){let H=await U2(U,Z);if(G=G.replace(W,H.html),H.preloadLink)X.push(H.preloadLink);if(H.css)Q.push(H.css);if(H.script)Y.push(H.script)}}return{html:G,preloadLinks:X,styles:Q,scripts:Y}}async function vJ($,Z){let J=await bJ();if(!J)return U2({...$,process:!1},Z);let X=Z.tsImagesConfig;if($.responsiveWidths&&$.responsiveWidths.length>0||$.widths&&$.widths.length>0||!$.width&&!$.dpr){let Y=await J.generateResponsiveVariants($.src,$,X);if(Y)return Y7($,Y,Z)}else{let Y=await J.processImage($.src,$,X);if(Y.processed)return K5($,Y,Z)}return U2({...$,process:!1},Z)}async function K5($,Z,J){let{alt:X,width:Q,height:Y,lazy:G=!0,priority:z=!1,objectFit:q,objectPosition:K,crossorigin:W,referrerpolicy:U}=$,H=$.class,j=$.style,B=$.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,V=$.data||{},F=Z.variants||[],L=F.find((b)=>b.format==="jpeg")||F.find((b)=>b.format==="webp")||F[0],O=L?.url||$.src,_=F.filter((b)=>b.format===(L?.format||"jpeg")).map((b)=>`${b.url} ${b.width}w`).join(", "),w=new Map;for(let b of F){if(!w.has(b.format))w.set(b.format,[]);w.get(b.format).push(b)}let R=[],N=["avif","webp","jpeg","png"];for(let b of N){let P=w.get(b);if(P&&P.length>0){let g=P.map((l)=>`${l.url} ${l.width}w`).join(", "),c=X5(b);if(G&&!z)R.push(` <source type="${c}" data-srcset="${g}" />`);else R.push(` <source type="${c}" srcset="${g}" />`)}}let A=[];if(G&&!z){if(A.push(`data-src="${p0(O)}"`),A.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),_)A.push(`data-srcset="${_}"`)}else if(A.push(`src="${p0(O)}"`),_)A.push(`srcset="${_}"`);A.push(`alt="${p0(X)}"`);let k=Q||Z.originalWidth,D=Y||Z.originalHeight;if(k)A.push(`width="${k}"`);if(D)A.push(`height="${D}"`);if(!z)A.push(`loading="${G?"lazy":"eager"}"`);if(A.push('decoding="async"'),z)A.push('fetchpriority="high"');if(W)A.push(`crossorigin="${W}"`);if(U)A.push(`referrerpolicy="${U}"`);let I=[];if(q)I.push(`object-fit: ${q}`);if(K)I.push(`object-position: ${K}`);if(Z.placeholder&&G)I.push("opacity: 0; transition: opacity 300ms ease-out");if(j)I.push(j);if(I.length>0)A.push(`style="${I.join("; ")}"`);let T=[];if(H)T.push(H);if(Z.placeholder)T.push("stx-img-blur");if(T.length>0)A.push(`class="${T.join(" ")}"`);if(G&&!z)A.push("data-stx-lazy");for(let[b,P]of Object.entries(V))A.push(`data-${b}="${p0(P)}"`);let M;if(Z.placeholder||Z.dominantColor&&$.useDominantColor){let b=Z.placeholder?`background-image: url('${Z.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${Z.dominantColor};`;M=`<div id="${B}" class="stx-img-placeholder" style="${b}">
1803
+ <picture>
1804
+ ${R.join(`
1805
+ `)}
1806
+ <img ${A.join(" ")} />
1807
+ </picture>
1808
+ </div>`}else M=`<picture${B?` id="${B}"`:""}>
1809
+ ${R.join(`
1810
+ `)}
1811
+ <img ${A.join(" ")} />
1812
+ </picture>`;let E=[];if(Z.placeholder)E.push(Y5);let C=G?X7(B):void 0,y;if(z&&_)y=`<link rel="preload" as="image" imagesrcset="${_}" />`;return{html:M,preloadLink:y,css:E.length>0?E.join(`
1813
+ `):void 0,script:C}}async function Y7($,Z,J){let X={src:Z.src,processed:!0,variants:[],placeholder:Z.placeholder?.dataURL,originalWidth:Z.placeholder?.width,originalHeight:Z.placeholder?.height};for(let[Q,Y]of Object.entries(Z.byFormat))if(Y)X.variants.push(...Y);return K5($,X,J)}function fJ(){return s2({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async($,Z,J,X)=>{let{src:Q,alt:Y,options:G}=xJ($,Z,J);if(!Q)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let z={src:Q,alt:Y||"",widths:G.widths||_1,formats:G.formats||C1,quality:G.quality,sizes:G.sizes,dpr:G.dpr,params:G.params,placeholder:G.placeholder,placeholderOptions:G.placeholderOptions,lazy:G.lazy!==!1,priority:G.priority||!1,loading:G.loading,decoding:G.decoding,fetchpriority:G.fetchpriority,objectFit:G.objectFit,objectPosition:G.objectPosition,class:G.class,style:G.style,id:G.id,width:G.width,height:G.height},q=J.__isDev||!1,K=await U2(z,{isDev:q}),W=K.html;if(K.preloadLink)W=K.preloadLink+`
1814
+ `+W;if(K.css)W+=`
1815
+ <style>${K.css}</style>`;if(K.script)W+=`
1816
+ <script>${K.script}</script>`;return W},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function xJ($,Z,J){if(Z.src)return{src:String(Z.src),alt:String(Z.alt||""),options:Z.options||{}};let X=$.trim();if(X.startsWith("@img(")||X.startsWith("("))X=X.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Q=gJ(X),Y=W5(Q[0],J)||"",G=W5(Q[1],J)||"",z={};if(Q[2]){let q=W5(Q[2],J);if(typeof q==="object"&&q!==null)z=q;else if(typeof Q[2]==="string")try{z=JSON.parse(Q[2])}catch{}}return{src:Y,alt:G,options:z}}function gJ($){let Z=[],J="",X=!1,Q="",Y=0,G=0;for(let z=0;z<$.length;z++){let q=$[z],K=z>0?$[z-1]:"";if((q==='"'||q==="'"||q==="`")&&K!=="\\"){if(!X)X=!0,Q=q;else if(q===Q)X=!1,Q="";else J+=q;continue}if(!X){if(q==="{")Y++;if(q==="}")Y--;if(q==="[")G++;if(q==="]")G--;if(q===","&&Y===0&&G===0){Z.push(J.trim()),J="";continue}}J+=q}if(J.trim())Z.push(J.trim());return Z}function W5($,Z){if(typeof $!=="string")return $;let J=$.trim();if(J.startsWith('"')&&J.endsWith('"')||J.startsWith("'")&&J.endsWith("'"))return J.slice(1,-1);if(!J.startsWith("/")&&!J.startsWith(".")&&!J.startsWith("http")&&!J.startsWith("{")){let X=Z[J];if(X!==void 0)return X}if(J.startsWith("{")||J.startsWith("["))try{return JSON.parse(J)}catch{}return J}var Q7=fJ();async function z7(){try{return await import("./chunk-0en7mkpa.js")}catch($){if(!G7)console.warn("[stx-media] Video processor not available, some features disabled:",$),G7=!0;return null}}var G7=!1,q7=!0,K7="metadata",hJ="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";async function o2($,Z={}){let J=Z,X=$;if(X.process&&!X.skipProcessing){if(J.tsVideosConfig?.enabled&&!J.isDev)return cJ(X,J)}if(J.processedResult?.processed)return U7($,J.processedResult,Z);let Q;if(X.generatePoster&&X.src&&!$.poster)Q=await pJ(X,J);let{src:Y,sources:G=[],poster:z,posterPlaceholder:q,controls:K=q7,autoplay:W=!1,muted:U=!1,loop:H=!1,preload:j=K7,playsinline:B=!0,lazy:V=!0,player:F="native",type:L,width:O,height:_,crossorigin:w,disablePictureInPicture:R=!1,disableRemotePlayback:N=!1}=$,A=Q||z,k=$.class,D=$.style,I=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(F==="ts-video")return dJ($,Z);if(L&&L!=="video")return uJ(Y||"",L,$);let T=G.length>0?G:Y?[{src:Y,type:W7(Y)}]:[],M=[`id="${I}"`];if(K)M.push("controls");if(W)M.push("autoplay");if(U)M.push("muted");if(H)M.push("loop");if(B)M.push("playsinline");if(R)M.push("disablepictureinpicture");if(N)M.push("disableremoteplayback");if(w)M.push(`crossorigin="${w}"`);if(V){if(M.push(`data-preload="${j}"`),M.push('preload="none"'),A)M.push(`data-poster="${I0(A)}"`);M.push("data-stx-lazy")}else if(M.push(`preload="${j}"`),A)M.push(`poster="${I0(A)}"`);if(O)M.push(`width="${O}"`);if(_)M.push(`height="${_}"`);if(k)M.push(`class="${I0(k)}"`);if(D)M.push(`style="${I0(D)}"`);let E=T.map((b)=>{return` <source ${V?`data-src="${I0(b.src)}"`:`src="${I0(b.src)}"`} type="${b.type}"${b.media?` media="${b.media}"`:""} />`}).join(`
1817
+ `),C=`<video ${M.join(" ")}>
1818
+ ${E}
1819
+ Your browser does not support the video tag.
1820
+ </video>`,y;if(V)y=`
1821
+ (function() {
1822
+ var video = document.getElementById('${I}');
1823
+ if (!video) return;
1824
+
1825
+ var observer = new IntersectionObserver(function(entries) {
1826
+ entries.forEach(function(entry) {
1827
+ if (entry.isIntersecting) {
1828
+ // Load poster
1829
+ if (video.dataset.poster) {
1830
+ video.poster = video.dataset.poster;
1831
+ delete video.dataset.poster;
1832
+ }
1833
+
1834
+ // Load sources
1835
+ var sources = video.querySelectorAll('source[data-src]');
1836
+ sources.forEach(function(source) {
1837
+ source.src = source.dataset.src;
1838
+ delete source.dataset.src;
1839
+ });
1840
+
1841
+ // Set preload
1842
+ if (video.dataset.preload) {
1843
+ video.preload = video.dataset.preload;
1844
+ delete video.dataset.preload;
1845
+ }
1846
+
1847
+ video.load();
1848
+ observer.disconnect();
1849
+ }
1850
+ });
1851
+ }, { rootMargin: '50px' });
1852
+
1853
+ observer.observe(video);
1854
+ })();
1855
+ `.trim();return{html:C,script:y}}function uJ($,Z,J){let{width:X=640,height:Q=360}=J,Y=J.class,G=J.style,z=J.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,q,K=null;switch(Z){case"youtube":K=mJ($),q=K?`https://www.youtube-nocookie.com/embed/${K}`:$;break;case"vimeo":K=lJ($),q=K?`https://player.vimeo.com/video/${K}`:$;break;case"dailymotion":K=$.split("/").pop()||"",q=`https://www.dailymotion.com/embed/video/${K}`;break;case"twitch":K=$.split("/").pop()||"",q=`https://player.twitch.tv/?video=${K}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:q=$}let W=[`id="${z}"`,`src="${I0(q)}"`,`width="${X}"`,`height="${Q}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(Y)W.push(`class="${I0(Y)}"`);if(G)W.push(`style="${I0(G)}"`);if(J.lazy)W.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
1856
+ <iframe ${W.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
1857
+ </div>`}}function dJ($,Z={}){let{src:J,sources:X=[],poster:Q,controls:Y=!0,autoplay:G=!1,muted:z=!1,loop:q=!1,preload:K="metadata",playsinline:W=!0,lazy:U=!0,width:H,height:j}=$,B=$.class,V=$.style,F=$.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,L={src:X.length>0?X:J,autoplay:G,loop:q,muted:z,playsinline:W,preload:K,poster:Q,controls:Y,title:$.title},O=["position: relative",H?`width: ${typeof H==="number"?H+"px":H}`:"width: 100%",j?`height: ${typeof j==="number"?j+"px":j}`:"",V||""].filter(Boolean).join("; "),_=`
1858
+ <div
1859
+ id="${F}"
1860
+ class="ts-video-player${B?" "+I0(B):""}"
1861
+ style="${O}"
1862
+ data-ts-video-player
1863
+ data-config='${JSON.stringify(L)}'
1864
+ ${U?"data-lazy":""}
1865
+ >
1866
+ <div class="ts-video-player__container">
1867
+ ${Q?`
1868
+ <div class="ts-video-player__placeholder" style="background-image: url('${I0(Q)}');">
1869
+ <button class="ts-video-player__play-button" aria-label="Play video">
1870
+ <svg viewBox="0 0 24 24" fill="currentColor" width="64" height="64">
1871
+ <path d="M8 5v14l11-7z"/>
1872
+ </svg>
1873
+ </button>
1874
+ </div>
1875
+ `:""}
1876
+ </div>
1877
+ </div>
1878
+ `.trim(),w=`
1879
+ (function() {
1880
+ var container = document.getElementById('${F}');
1881
+ if (!container) return;
1882
+
1883
+ var config = JSON.parse(container.dataset.config || '{}');
1884
+ var isLazy = container.hasAttribute('data-lazy');
1885
+
1886
+ function loadPlayer() {
1887
+ if (typeof TSVideoPlayer !== 'undefined') {
1888
+ initPlayer();
1889
+ return;
1890
+ }
1891
+
1892
+ // Load ts-video-player from CDN
1893
+ var script = document.createElement('script');
1894
+ script.src = '${hJ}';
1895
+ script.onload = initPlayer;
1896
+ script.onerror = function() {
1897
+ console.error('[stx] Failed to load ts-video-player');
1898
+ fallbackToNative();
1899
+ };
1900
+ document.head.appendChild(script);
1901
+ }
1902
+
1903
+ function initPlayer() {
1904
+ var player = TSVideoPlayer.createPlayer(container, config);
1905
+ if (config.src) {
1906
+ player.setSrc(config.src);
1907
+ }
1908
+ container.__tsVideoPlayer = player;
1909
+
1910
+ // Remove placeholder
1911
+ var placeholder = container.querySelector('.ts-video-player__placeholder');
1912
+ if (placeholder) {
1913
+ placeholder.style.display = 'none';
1914
+ }
1915
+ }
1916
+
1917
+ function fallbackToNative() {
1918
+ // Fallback to native video element
1919
+ var video = document.createElement('video');
1920
+ video.controls = config.controls !== false;
1921
+ video.autoplay = config.autoplay;
1922
+ video.muted = config.muted;
1923
+ video.loop = config.loop;
1924
+ video.playsInline = config.playsinline;
1925
+ video.preload = config.preload || 'metadata';
1926
+ if (config.poster) video.poster = config.poster;
1927
+ if (config.src) video.src = typeof config.src === 'string' ? config.src : config.src[0]?.src || config.src[0];
1928
+ video.style.width = '100%';
1929
+ video.style.height = '100%';
1930
+
1931
+ var containerEl = container.querySelector('.ts-video-player__container');
1932
+ if (containerEl) {
1933
+ containerEl.innerHTML = '';
1934
+ containerEl.appendChild(video);
1935
+ }
1936
+ }
1937
+
1938
+ if (isLazy) {
1939
+ var observer = new IntersectionObserver(function(entries) {
1940
+ entries.forEach(function(entry) {
1941
+ if (entry.isIntersecting) {
1942
+ loadPlayer();
1943
+ observer.disconnect();
1944
+ }
1945
+ });
1946
+ }, { rootMargin: '50px' });
1947
+ observer.observe(container);
1948
+ }
1949
+ else {
1950
+ if (document.readyState === 'loading') {
1951
+ document.addEventListener('DOMContentLoaded', loadPlayer);
1952
+ }
1953
+ else {
1954
+ loadPlayer();
1955
+ }
1956
+ }
1957
+
1958
+ // Handle play button click
1959
+ var playButton = container.querySelector('.ts-video-player__play-button');
1960
+ if (playButton) {
1961
+ playButton.addEventListener('click', function() {
1962
+ loadPlayer();
1963
+ var check = setInterval(function() {
1964
+ if (container.__tsVideoPlayer && container.__tsVideoPlayer.ready) {
1965
+ container.__tsVideoPlayer.play();
1966
+ clearInterval(check);
1967
+ }
1968
+ }, 100);
1969
+ });
1970
+ }
1971
+ })();
1972
+ `.trim(),R=`
1973
+ .ts-video-player {
1974
+ position: relative;
1975
+ background: #000;
1976
+ }
1977
+
1978
+ .ts-video-player__container {
1979
+ position: relative;
1980
+ width: 100%;
1981
+ padding-bottom: 56.25%;
1982
+ }
1983
+
1984
+ .ts-video-player__container > * {
1985
+ position: absolute;
1986
+ top: 0;
1987
+ left: 0;
1988
+ width: 100%;
1989
+ height: 100%;
1990
+ }
1991
+
1992
+ .ts-video-player__placeholder {
1993
+ display: flex;
1994
+ align-items: center;
1995
+ justify-content: center;
1996
+ background-color: #1a1a1a;
1997
+ background-size: cover;
1998
+ background-position: center;
1999
+ cursor: pointer;
2000
+ }
2001
+
2002
+ .ts-video-player__play-button {
2003
+ display: flex;
2004
+ align-items: center;
2005
+ justify-content: center;
2006
+ width: 80px;
2007
+ height: 80px;
2008
+ background: rgba(0, 0, 0, 0.7);
2009
+ border: none;
2010
+ border-radius: 50%;
2011
+ color: white;
2012
+ cursor: pointer;
2013
+ transition: transform 0.2s, background 0.2s;
2014
+ }
2015
+
2016
+ .ts-video-player__play-button:hover {
2017
+ transform: scale(1.1);
2018
+ background: rgba(0, 0, 0, 0.9);
2019
+ }
2020
+
2021
+ .ts-video-player__play-button svg {
2022
+ margin-left: 4px;
2023
+ }
2024
+ `.trim();return{html:_,script:w,css:R}}function W7($){switch($.split(".").pop()?.toLowerCase()){case"mp4":return"video/mp4";case"webm":return"video/webm";case"ogg":case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"m3u8":return"application/x-mpegURL";default:return"video/mp4"}}function mJ($){let Z=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let J of Z){let X=$.match(J);if(X)return X[1]}return null}function lJ($){let Z=$.match(/vimeo\.com\/(\d+)/);return Z?Z[1]:null}function I0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function fK($,Z,J){if(Z.src)return{src:String(Z.src),...Z};let X=$.trim();if(X.startsWith("@video(")||X.startsWith("("))X=X.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Q=X.indexOf(",");if(Q===-1)return{src:X.replace(/^['"]|['"]$/g,"")};let Y=X.slice(0,Q).trim().replace(/^['"]|['"]$/g,""),G=X.slice(Q+1).trim();try{let z=JSON.parse(G);return{src:Y,...z}}catch{return{src:Y}}}async function cJ($,Z){let J=await z7();if(!J)return o2({...$,process:!1},Z);let X=Z.tsVideosConfig,Q=await J.processVideo($.src,$,X,$.onProcessProgress);if(Q.processed)return U7($,Q,Z);return o2({...$,process:!1},Z)}async function pJ($,Z){let J=await z7();if(!J||!$.src)return;let X=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},Q=Z.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await J.generatePoster($.src,X,Q.outputDir,Q.baseUrl||"/videos"))?.url}function U7($,Z,J){let{controls:X=q7,autoplay:Q=!1,muted:Y=!1,loop:G=!1,preload:z=K7,playsinline:q=!0,lazy:K=!0,width:W,height:U,crossorigin:H,disablePictureInPicture:j=!1,disableRemotePlayback:B=!1}=$,V=$.class,F=$.style,L=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,O=$.src,_=W7(O);if(Z.transcoded)O=Z.transcoded.url,_="video/mp4";let w=Z.streaming?.hls||Z.streaming?.dash;if(w){if(Z.streaming?.hls)O=Z.streaming.hls.manifestUrl,_="application/x-mpegURL";else if(Z.streaming?.dash)O=Z.streaming.dash.manifestUrl,_="application/dash+xml"}let R=Z.poster?.url||$.poster,N=[`id="${L}"`];if(X)N.push("controls");if(Q)N.push("autoplay");if(Y)N.push("muted");if(G)N.push("loop");if(q)N.push("playsinline");if(j)N.push("disablepictureinpicture");if(B)N.push("disableremoteplayback");if(H)N.push(`crossorigin="${H}"`);if(K){if(N.push(`data-preload="${z}"`),N.push('preload="none"'),R)N.push(`data-poster="${I0(R)}"`);N.push("data-stx-lazy")}else if(N.push(`preload="${z}"`),R)N.push(`poster="${I0(R)}"`);let A=W||Z.metadata?.width,k=U||Z.metadata?.height;if(A)N.push(`width="${A}"`);if(k)N.push(`height="${k}"`);if(V)N.push(`class="${I0(V)}"`);if(F)N.push(`style="${I0(F)}"`);let I=` <source ${K?`data-src="${I0(O)}"`:`src="${I0(O)}"`} type="${_}" />`,T=`<video ${N.join(" ")}>
2025
+ ${I}
2026
+ Your browser does not support the video tag.
2027
+ </video>`;if(Z.spriteSheet)T=`<div class="stx-video-wrapper" data-sprite-sheet="${I0(Z.spriteSheet.url)}" data-sprite-cols="${Z.spriteSheet.columns}" data-sprite-interval="${Z.spriteSheet.interval}">
2028
+ ${T}
2029
+ </div>`;let M;if(K)M=`
2030
+ (function() {
2031
+ var video = document.getElementById('${L}');
2032
+ if (!video) return;
2033
+
2034
+ var observer = new IntersectionObserver(function(entries) {
2035
+ entries.forEach(function(entry) {
2036
+ if (entry.isIntersecting) {
2037
+ // Load poster
2038
+ if (video.dataset.poster) {
2039
+ video.poster = video.dataset.poster;
2040
+ delete video.dataset.poster;
2041
+ }
2042
+
2043
+ // Load sources
2044
+ var sources = video.querySelectorAll('source[data-src]');
2045
+ sources.forEach(function(source) {
2046
+ source.src = source.dataset.src;
2047
+ delete source.dataset.src;
2048
+ });
2049
+
2050
+ // Set preload
2051
+ if (video.dataset.preload) {
2052
+ video.preload = video.dataset.preload;
2053
+ delete video.dataset.preload;
2054
+ }
2055
+
2056
+ video.load();
2057
+ observer.disconnect();
2058
+ }
2059
+ });
2060
+ }, { rootMargin: '50px' });
2061
+
2062
+ observer.observe(video);
2063
+ })();
2064
+ `.trim();let E;if(w)E=`
2065
+ .stx-video-wrapper {
2066
+ position: relative;
2067
+ width: 100%;
2068
+ }
2069
+ .stx-video-wrapper video {
2070
+ width: 100%;
2071
+ height: auto;
2072
+ }
2073
+ `.trim();return{html:T,script:M,css:E}}function H7(){return s2({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async($,Z,J,X)=>{let{src:Q,options:Y}=iJ($,Z,J);if(!Q)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let G={src:Q,poster:Y.poster,controls:Y.controls!==!1,autoplay:Y.autoplay||!1,muted:Y.muted||!1,loop:Y.loop||!1,preload:Y.preload||"metadata",playsinline:Y.playsinline!==!1,lazy:Y.lazy!==!1,player:Y.player||"native",type:Y.type,width:Y.width,height:Y.height,class:Y.class,style:Y.style,id:Y.id,crossorigin:Y.crossorigin,disablePictureInPicture:Y.disablePictureInPicture,disableRemotePlayback:Y.disableRemotePlayback,title:Y.title,quality:Y.quality,platform:Y.platform,process:Y.process,generatePoster:Y.generatePoster,streaming:Y.streaming,transcode:Y.transcode,spriteSheet:Y.spriteSheet,waveform:Y.waveform},q={isDev:J.__isDev||!1,tsVideosConfig:J.__tsVideosConfig},K=await o2(G,q),W=K.html;if(K.css)W+=`
2074
+ <style>${K.css}</style>`;if(K.script)W+=`
2075
+ <script>${K.script}</script>`;return W},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function iJ($,Z,J){if(Z.src)return{src:String(Z.src),options:Z.options||{}};let X=$.trim();if(X.startsWith("@video(")||X.startsWith("("))X=X.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Q=nJ(X),Y=j7(Q[0],J)||"",G={};if(Q[1]){let z=j7(Q[1],J);if(typeof z==="object"&&z!==null)G=z;else if(typeof Q[1]==="string")try{G=JSON.parse(Q[1])}catch{}}return{src:Y,options:G}}function nJ($){let Z=[],J="",X=!1,Q="",Y=0,G=0;for(let z=0;z<$.length;z++){let q=$[z],K=z>0?$[z-1]:"";if((q==='"'||q==="'"||q==="`")&&K!=="\\"){if(!X)X=!0,Q=q;else if(q===Q)X=!1,Q="";else J+=q;continue}if(!X){if(q==="{")Y++;if(q==="}")Y--;if(q==="[")G++;if(q==="]")G--;if(q===","&&Y===0&&G===0){Z.push(J.trim()),J="";continue}}J+=q}if(J.trim())Z.push(J.trim());return Z}function j7($,Z){if(typeof $!=="string")return $;let J=$.trim();if(J.startsWith('"')&&J.endsWith('"')||J.startsWith("'")&&J.endsWith("'"))return J.slice(1,-1);if(!J.startsWith("/")&&!J.startsWith(".")&&!J.startsWith("http")&&!J.startsWith("{")){let X=Z[J];if(X!==void 0)return X}if(J.startsWith("{")||J.startsWith("["))try{return JSON.parse(J)}catch{}return J}var U5=H7();function V7($,Z,J,X){let Q=$;Q=Q.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(z,q,K)=>{if(!K&&q.includes(":")){let W=q.split(":"),U=q,H=W.length>1?W[1]:"";if(H&&Z[H])K=Z[H];else if(U.startsWith("og:")&&Z.openGraph&&Z.openGraph[W[1]])K=Z.openGraph[W[1]];else K="";return K?`<meta property="${n(U)}" content="${n(K)}">`:""}return K?`<meta name="${n(q)}" content="${n(K)}">`:""});let Y=/@metaTag\s*\(/g,G;while((G=Y.exec(Q))!==null){let z=G.index,q=z+G[0].length-1,K=1,W=q+1;while(W<Q.length&&K>0){if(Q[W]==="(")K++;else if(Q[W]===")"){if(K--,K===0)break}W++}if(K!==0)break;let U=Q.substring(q+1,W).trim(),H=W+1,j=(()=>{try{let B=b0(U,Z);if(!B)return"";let V="<meta";if(B.name)V+=` name="${n(String(B.name))}"`;if(B.property)V+=` property="${n(String(B.property))}"`;if(B.httpEquiv)V+=` http-equiv="${n(String(B.httpEquiv))}"`;if(B.content)V+=` content="${n(String(B.content))}"`;return V+=">",V}catch(B){let V=B instanceof Error?B.message:String(B);return G0("MetaTag",V,Q0.EVALUATION_ERROR)}})();Q=Q.substring(0,z)+j+Q.substring(H),Y.lastIndex=0}return Q}function _7($,Z,J){let X=$,Q=/@structuredData\s*\(/g,Y;while((Y=Q.exec(X))!==null){let G=Y.index,z=G+Y[0].length-1,q=1,K=z+1;while(K<X.length&&q>0){if(X[K]==="(")q++;else if(X[K]===")"){if(q--,q===0)break}K++}if(q!==0)break;let W=X.substring(z+1,K).trim(),U=K+1,H=(()=>{try{let j=b0(W,Z);if(!j)return"";if(!j["@context"])j["@context"]="https://schema.org";return`<script type="application/ld+json">${JSON.stringify(j).replace(/<\//g,"<\\/")}</script>`}catch(j){let B=j instanceof Error?j.message:String(j);return G0("StructuredData",B,Q0.EVALUATION_ERROR)}})();X=X.substring(0,G)+H+X.substring(U),Q.lastIndex=0}return X}function L7($,Z,J,X){let Q=$,Y=/@seo\s*\(\s*\{/g,G;while((G=Y.exec(Q))!==null){let z=Q.indexOf("{",G.index+4),q=1,K=z+1,W=null,U=!1;while(K<Q.length&&q>0){let L=Q[K];if(U){U=!1,K++;continue}if(L==="\\"&&W){U=!0,K++;continue}if(W){if(L===W)W=null;K++;continue}if(L==='"'||L==="'"||L==="`"){W=L,K++;continue}if(L==="{")q++;else if(L==="}")q--;K++}if(q!==0)break;let H=Q.substring(K).match(/^\s*\)/);if(!H)break;let j=K+H[0].length,B=Q.substring(z,K),V=Q.substring(G.index,j),F=((L)=>{try{let O=b0(L,Z);if(!O)return"";let _="";if(O.title)_+=`<title>${n(O.title)}</title>
2076
+ `,_+=`<meta name="title" content="${n(O.title)}">
2077
+ `;if(O.description)_+=`<meta name="description" content="${n(O.description)}">
2078
+ `;if(O.keywords){let w=Array.isArray(O.keywords)?O.keywords.join(", "):O.keywords;_+=`<meta name="keywords" content="${n(w)}">
2079
+ `}if(O.robots)_+=`<meta name="robots" content="${n(O.robots)}">
2080
+ `;if(O.canonical)_+=`<link rel="canonical" href="${n(O.canonical)}">
2081
+ `;if(O.openGraph){let w=O.openGraph;if(_+=`<meta property="og:type" content="${n(w.type||"website")}">
2082
+ `,w.title||O.title){let R=w.title||O.title||"";_+=`<meta property="og:title" content="${n(R)}">
2083
+ `}if(w.description||O.description){let R=w.description||O.description||"";_+=`<meta property="og:description" content="${n(R)}">
2084
+ `}if(w.url||O.canonical){let R=w.url||O.canonical||"";_+=`<meta property="og:url" content="${n(R)}">
2085
+ `}if(w.image){if(_+=`<meta property="og:image" content="${n(w.image)}">
2086
+ `,w.imageAlt)_+=`<meta property="og:image:alt" content="${n(w.imageAlt)}">
2087
+ `;if(w.imageWidth)_+=`<meta property="og:image:width" content="${n(String(w.imageWidth))}">
2088
+ `;if(w.imageHeight)_+=`<meta property="og:image:height" content="${n(String(w.imageHeight))}">
2089
+ `;if(w.imageType)_+=`<meta property="og:image:type" content="${n(w.imageType)}">
2090
+ `}if(w.siteName)_+=`<meta property="og:site_name" content="${n(w.siteName)}">
2091
+ `;if(w.locale)_+=`<meta property="og:locale" content="${n(w.locale)}">
2092
+ `;if(w.profile){let R=[["first_name",w.profile.firstName],["last_name",w.profile.lastName],["username",w.profile.username],["gender",w.profile.gender]];for(let[N,A]of R)if(A)_+=`<meta property="profile:${N}" content="${n(A)}">
2093
+ `}}if(O.twitter){let w=O.twitter;if(_+=`<meta name="twitter:card" content="${n(w.card||"summary_large_image")}">
2094
+ `,w.title||O.title){let R=w.title||O.title||"";_+=`<meta name="twitter:title" content="${n(R)}">
2095
+ `}if(w.description||O.description){let R=w.description||O.description||"";_+=`<meta name="twitter:description" content="${n(R)}">
2096
+ `}if(w.image||O.openGraph&&O.openGraph.image){let R=w.image||(O.openGraph?O.openGraph.image:"")||"";_+=`<meta name="twitter:image" content="${n(R)}">
2097
+ `;let N=w.imageAlt||(!w.image&&O.openGraph?O.openGraph.imageAlt:void 0);if(N)_+=`<meta name="twitter:image:alt" content="${n(N)}">
2098
+ `}if(w.site)_+=`<meta name="twitter:site" content="${n(w.site)}">
2099
+ `;if(w.creator)_+=`<meta name="twitter:creator" content="${n(w.creator)}">
2100
+ `}if(O.structuredData){let w=JSON.stringify(O.structuredData).replace(/<\//g,"<\\/");_+=`<script type="application/ld+json">${w}</script>
2101
+ `}return _.trim()}catch(O){let _=O instanceof Error?O.message:String(O);return G0("SEO",`Error processing @seo directive: ${_}`,Q0.EVALUATION_ERROR)}})(B);Q=Q.substring(0,G.index)+F+Q.substring(j),Y.lastIndex=G.index+F.length}return Q}function O7($,Z,J){if(J.seo?.enabled===!1)return $;if($.includes("<!-- stx SEO Tags -->")||Z.__stx_seo_staged===!0||J.skipDefaultSeoTags===!0)return $;let X=Z.__stx_runtime_head;if(!!(X?.title||X?.meta?.some((L)=>L.property==="og:title"||L.name==="og:title"||L.name==="twitter:title"||L.name==="description")))return $;if(/<meta\s+(?:[^>]*\s)?property=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']twitter:title["']/i.test($))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let Y=$.includes("<title>")||$.includes("</title>"),G=sJ($),z=oJ(G),q=aJ(G),K="";if(Z.title)K=Z.title;else if(Z.meta&&Z.meta.title)K=Z.meta.title;else if(z)K=z;else if(J.seo?.defaultConfig?.title)K=J.seo.defaultConfig.title;else K=J.defaultTitle||"stx Project";let W="";if(Z.description)W=Z.description;else if(Z.meta&&Z.meta.description)W=Z.meta.description;else if(q)W=q;else if(J.seo?.defaultConfig?.description)W=J.seo.defaultConfig.description;else W=J.defaultDescription||"A website built with stx templating engine";let U="";if(Z.image)U=Z.image;else if(Z.meta&&Z.meta.image)U=Z.meta.image;else if(Z.openGraph&&Z.openGraph.image)U=Z.openGraph.image;else if(J.seo?.defaultImage)U=J.seo.defaultImage;else if(J.defaultImage)U=J.defaultImage;let H=Y?"":`
2102
+ <meta name="title" content="${n(K)}">`,j=rJ(G)?"":`
2103
+ <meta name="description" content="${n(W)}">`,B=`
2104
+ <!-- stx SEO Tags -->${H}${j}
2105
+ <meta property="og:title" content="${n(K)}">
2106
+ <meta property="og:description" content="${n(W)}">
2107
+ <meta property="og:type" content="website">
2108
+ <meta name="twitter:card" content="summary_large_image">
2109
+ <meta name="twitter:title" content="${n(K)}">
2110
+ <meta name="twitter:description" content="${n(W)}">
2111
+ `;if(U)B+=`
2112
+ <meta property="og:image" content="${n(U)}">
2113
+ <meta name="twitter:image" content="${n(U)}">
2114
+ `;let V=$;if(!Y)V=V.replace(/<head[^>]*>/,`$&
2115
+ <title>${n(K)}</title>`);let F=Z.__stx_head_injections;if(F)return Z.__stx_seo_staged=!0,F.afterOpen.push(`
2116
+ ${B}
2117
+ `),V;return V.replace(/<head[^>]*>/,`$&
2118
+ ${B}
2119
+ `)}function sJ($){let Z=$.search(/<\/head\s*>/i);return Z===-1?$:$.slice(0,Z)}function F7($){return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#0*39;|&apos;/g,"'").replace(/&amp;/g,"&")}function oJ($){let Z=$.match(/<title(?:\s[^>]*)?>([\s\S]*?)<\/title\s*>/i);return Z?F7(Z[1].trim()):""}function w7($){return($.match(/<meta\s[^>]*>/gi)||[]).filter((Z)=>/\sname\s*=\s*["']description["']/i.test(Z))}function rJ($){return w7($).length>0}function aJ($){for(let Z of w7($)){let J=Z.match(/\scontent\s*=\s*(?:"([^"]*)"|'([^']*)')/i),X=(J?.[1]??J?.[2]??"").trim();if(X)return F7(X)}return""}function n($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var tJ=["og:","article:","book:","profile:","fb:","music:","video:"];function B7($){let Z=$.trim(),J=Z[0];if((J==="'"||J==='"'||J==="`")&&Z.length>1&&Z.at(-1)===J)return{value:Z.slice(1,-1),quoted:!0};return{value:Z,quoted:!1}}var H5={name:"meta",handler:($,Z,J,X)=>{if(Z.length<1)return G0("Meta","meta directive requires at least the meta name",Q0.INVALID_DIRECTIVE_SYNTAX);let Q=B7(Z[0]).value,Y;if(Z.length>1){let q=B7(Z[1]);Y=q.quoted?q.value:String(J?.[q.value]??q.value)}else{let q=Q.includes(":")?Q.slice(Q.indexOf(":")+1):Q,K=J?.openGraph;Y=String(J?.[q]??K?.[q]??"")}if(!Y)return"";let z=tJ.some((q)=>Q.startsWith(q))?{property:Q,content:Y}:{name:Q,content:Y};if(J)J.__stx_runtime_head=r2(J.__stx_runtime_head??{},{meta:[z]});return""},hasEndTag:!1},j5={name:"structuredData",handler:($,Z,J,X)=>{if($.trim()==="")return G0("StructuredData","structuredData directive requires JSON-LD content",Q0.INVALID_DIRECTIVE_SYNTAX);try{let Q=JSON.parse($);if(!Q["@context"])Q["@context"]="https://schema.org";if(!Q["@type"])return G0("StructuredData","structuredData requires @type property",Q0.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(Q)}</script>`}catch(Q){let Y=Q instanceof Error?Q.message:String(Q);return G0("StructuredData",Y,Q0.EVALUATION_ERROR)}},hasEndTag:!0};function pK(){return[H5,j5]}function iK($,Z){let J=Z.replace(/\/$/,""),X=new Date().toISOString().split("T")[0];return`<?xml version="1.0" encoding="UTF-8"?>
2120
+ <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
2121
+ ${$.map((Y)=>{let G=Y.startsWith("http")?Y:`${J}${Y.startsWith("/")?"":"/"}${Y}`;return` <sitemap>
2122
+ <loc>${$X(G)}</loc>
2123
+ <lastmod>${X}</lastmod>
2124
+ </sitemap>`}).join(`
2125
+ `)}
2126
+ </sitemapindex>`}async function nK($,Z){let{extensions:J=[".stx",".html",".htm"],ignore:X=["_*",".*","node_modules","components","partials","layouts"]}=Z,Q=[],Y=J.length===1?`*${J[0]}`:`*{${J.join(",")}}`,G=new Bun.Glob(`**/${Y}`);for await(let z of G.scan($)){if(X.some((H)=>{if(H.startsWith("*"))return z.includes(H.slice(1));return z.startsWith(H)||z.includes(`/${H}`)}))continue;let K=z.replace(/\\/g,"/").replace(/index\.(stx|html|htm)$/,"").replace(/\.(stx|html|htm)$/,"");if(!K.startsWith("/"))K=`/${K}`;if(K!=="/"&&K.endsWith("/"))K=K.slice(0,-1);let W=`${$}/${z}`,U;try{let H=await Bun.file(W).stat();if(H)U=new Date(H.mtime).toISOString().split("T")[0]}catch{}Q.push({loc:K||"/",lastmod:U,priority:K==="/"?1:0.5})}return Q.sort((z,q)=>z.loc.localeCompare(q.loc)),Q}function eJ($){let Z=[];for(let J of $.rules){if(Z.push(`User-agent: ${J.userAgent}`),J.allow)for(let X of J.allow)Z.push(`Allow: ${X}`);if(J.disallow)for(let X of J.disallow)Z.push(`Disallow: ${X}`);if(J.crawlDelay!==void 0)Z.push(`Crawl-delay: ${J.crawlDelay}`);Z.push("")}if($.sitemap){let J=Array.isArray($.sitemap)?$.sitemap:[$.sitemap];for(let X of J)Z.push(`Sitemap: ${X}`)}if($.host)Z.push(`Host: ${$.host}`);return Z.join(`
2127
+ `).trim()}function sK($){return eJ({rules:[{userAgent:"*",allow:["/"]}],sitemap:$})}function $X($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}import ZX from"fs";import h0 from"path";async function $W($,Z){if(!$.webComponents?.enabled)return[];let J=$.webComponents.components||[],X=[];if(J.length>0){if($.debug)console.log(`Building ${J.length} web components...`);for(let Q of J)try{let Y=await JX(Q,$,Z);if(Y)X.push(Y)}catch(Y){if(console.error(`Error building web component ${Q.name}:`,Y),$.debug)throw Y}}return X}async function JX($,Z,J){let{name:X,file:Q,tag:Y,extends:G}=$;if(!X||!Q||!Y)return console.error("Invalid web component configuration, missing required fields:",$),null;let z=null;if(h0.isAbsolute(Q)&&await e(Q))z=Q;else if(Z.componentsDir){let V=h0.join(Z.componentsDir,Q);if(await e(V))z=V}if(!z)z=await a2(Q,process.cwd(),Z,J);if(!z)return console.error(`Web component source file not found: ${Q}`),null;let q=await Bun.file(z).text();J.add(z);let W=($.outputFormat||"js")==="ts",U=W?YX({name:X,tag:Y,baseElement:G,source:q,shadowDOM:$.shadowDOM??!0,template:$.template??!0,styleSource:$.styleSource,attributes:$.attributes||[],attributeTypes:$.attributeTypes||{}}):XX({name:X,tag:Y,baseElement:G,source:q,shadowDOM:$.shadowDOM??!0,template:$.template??!0,styleSource:$.styleSource,attributes:$.attributes||[]}),H=Z.webComponents?.outputDir||"dist/web-components";await ZX.promises.mkdir(H,{recursive:!0});let j=W?"ts":"js",B=h0.join(H,`${Y}.${j}`);if(await Bun.write(B,U),Z.debug)console.log(`Built web component ${X} -> ${B}`);return B}function XX($){let{name:Z,tag:J,baseElement:X="HTMLElement",source:Q,shadowDOM:Y,template:G,styleSource:z,attributes:q=[]}=$,K=Q.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").trim();if(!Y)K=K.replace(/<slot\s+name=["']([^"']+)["']\s*>([\s\S]*?)<\/slot>/gi,'<div data-slot="$1">$2</div>'),K=K.replace(/<slot\s+name=["']([^"']+)["']\s*\/>/gi,'<div data-slot="$1"></div>'),K=K.replace(/<slot\s*>([\s\S]*?)<\/slot>/gi,"<div data-default-slot>$1</div>"),K=K.replace(/<slot\s*\/>/gi,"<div data-default-slot></div>");let W="";if(z)W=`<link rel="stylesheet" href="${z}">`;return`/**
2128
+ * ${Z} Web Component
2129
+ * Auto-generated from stx component
2130
+ */
2131
+ class ${Z.replace(/\W/g,"")} extends ${X} {
2132
+ constructor() {
2133
+ super()
2134
+ this._initialized = false
2135
+ ${Y?"":"this._slotContent = []"}
2136
+ ${Y?'this.attachShadow({ mode: "open" })':""}
2137
+ }
2138
+
2139
+ ${G?`
2140
+ _createTemplate() {
2141
+ const template = document.createElement('template')
2142
+ template.innerHTML = \`${W}${K}\`
2143
+ ${Y?"this.shadowRoot.appendChild(template.content.cloneNode(true))":"this.appendChild(template.content.cloneNode(true))"}
2144
+ this._processSlots()
2145
+ }
2146
+ `:`
2147
+ _render() {
2148
+ ${Y?"this.shadowRoot.innerHTML":"this.innerHTML"} = \`${W}${K}\`
2149
+ this._processSlots()
2150
+ }
2151
+ `}
2152
+
2153
+ _processSlots() {
2154
+ ${Y?`// Shadow DOM handles slot assignment automatically
2155
+ // Listen for slot changes if needed
2156
+ const slots = this.shadowRoot.querySelectorAll('slot')
2157
+ slots.forEach(slot => {
2158
+ slot.addEventListener('slotchange', (e) => {
2159
+ const assignedNodes = slot.assignedNodes()
2160
+ this.dispatchEvent(new CustomEvent('slot-changed', {
2161
+ detail: { slotName: slot.name || 'default', assignedNodes }
2162
+ }))
2163
+ })
2164
+ })`:`// Manual slot processing for non-shadow DOM mode
2165
+ const slots = this.querySelectorAll('[data-slot]')
2166
+
2167
+ // Process named slots
2168
+ slots.forEach(slotEl => {
2169
+ const slotName = slotEl.getAttribute('data-slot')
2170
+ const slottedContent = this._slotContent.filter(
2171
+ node => node.nodeType === Node.ELEMENT_NODE && node.getAttribute('slot') === slotName
2172
+ )
2173
+ if (slottedContent.length > 0) {
2174
+ slotEl.innerHTML = ''
2175
+ slottedContent.forEach(content => slotEl.appendChild(content))
2176
+ }
2177
+ })
2178
+
2179
+ // Process default slot
2180
+ const defaultSlot = this.querySelector('[data-slot=""]') || this.querySelector('[data-default-slot]')
2181
+ if (defaultSlot) {
2182
+ const unslottedContent = this._slotContent.filter(
2183
+ node => node.nodeType !== Node.ELEMENT_NODE || !node.hasAttribute('slot')
2184
+ )
2185
+ if (unslottedContent.length > 0) {
2186
+ defaultSlot.innerHTML = ''
2187
+ unslottedContent.forEach(content => defaultSlot.appendChild(content))
2188
+ }
2189
+ }`}
2190
+ }
2191
+
2192
+ ${q.length>0?`
2193
+ static get observedAttributes() {
2194
+ return [${q.map((U)=>`'${U}'`).join(", ")}]
2195
+ }
2196
+
2197
+ attributeChangedCallback(name, oldValue, newValue) {
2198
+ if (oldValue !== newValue) {
2199
+ this[name] = newValue
2200
+ ${G?"":"if (this._initialized) this._render()"}
2201
+ }
2202
+ }
2203
+ `:""}
2204
+
2205
+ connectedCallback() {
2206
+ if (this._initialized) return
2207
+ ${Y?"":"this._slotContent = Array.from(this.childNodes)"}
2208
+ this._initialized = true
2209
+ ${G?"this._createTemplate()":"this._render()"}
2210
+ }
2211
+
2212
+ disconnectedCallback() {
2213
+ // Component removed from the DOM
2214
+ }
2215
+ }
2216
+
2217
+ // Register the web component
2218
+ customElements.define('${J}', ${Z.replace(/\W/g,"")})
2219
+ `}function YX($){let{name:Z,tag:J,baseElement:X="HTMLElement",source:Q,shadowDOM:Y,template:G,styleSource:z,attributes:q=[],attributeTypes:K={}}=$,W=Z.replace(/\W/g,""),U=Q.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").trim();if(!Y)U=U.replace(/<slot\s+name=["']([^"']+)["']\s*>([\s\S]*?)<\/slot>/gi,'<div data-slot="$1">$2</div>'),U=U.replace(/<slot\s+name=["']([^"']+)["']\s*\/>/gi,'<div data-slot="$1"></div>'),U=U.replace(/<slot\s*>([\s\S]*?)<\/slot>/gi,"<div data-default-slot>$1</div>"),U=U.replace(/<slot\s*\/>/gi,"<div data-default-slot></div>");U=U.replace(/`/g,"\\`").replace(/\$\{/g,"\\${");let H=z?`<link rel="stylesheet" href="${z}">`:"",j=(R)=>{switch(K[R]){case"number":return"number";case"boolean":return"boolean";case"object":return"Record<string, unknown>";default:return"string"}},B=(R)=>R.replace(/-([a-z])/g,(N,A)=>A.toUpperCase()),V=q.map((R)=>` private _${B(R)}: ${j(R)} | null = null;`).join(`
2220
+ `),F=q.map((R)=>{let N=j(R),A=B(R);return`
2221
+ get ${A}(): ${N} | null {
2222
+ return this._${A};
2223
+ }
2224
+
2225
+ set ${A}(value: ${N} | null) {
2226
+ this._${A} = value;
2227
+ if (value !== null) {
2228
+ this.setAttribute('${R}', String(value));
2229
+ }
2230
+ else {
2231
+ this.removeAttribute('${R}');
2232
+ }
2233
+ }`}).join(`
2234
+ `),L=q.length>0?`/**
2235
+ * Props interface for ${Z}
2236
+ */
2237
+ export interface ${W}Props {
2238
+ ${q.map((R)=>{let N=j(R);return` ${B(R)}?: ${N};`}).join(`
2239
+ `)}
2240
+ }
2241
+ `:"",O=q.length>0?`
2242
+ static get observedAttributes(): string[] {
2243
+ return [${q.map((R)=>`'${R}'`).join(", ")}];
2244
+ }
2245
+
2246
+ attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void {
2247
+ if (oldValue !== newValue) {
2248
+ const camelCase = name.replace(/-([a-z])/g, (_: string, letter: string) => letter.toUpperCase());
2249
+ (this as unknown as Record<string, unknown>)[\`_\${camelCase}\`] = this._parseAttributeValue(name, newValue);
2250
+ ${G?"":"if (this._initialized) this._render();"}
2251
+ }
2252
+ }
2253
+
2254
+ private _parseAttributeValue(name: string, value: string | null): unknown {
2255
+ if (value === null) return null;
2256
+ const typeMap: Record<string, string> = ${JSON.stringify(K)};
2257
+ const type = typeMap[name] || 'string';
2258
+ switch (type) {
2259
+ case 'number': return Number(value);
2260
+ case 'boolean': return value !== 'false' && value !== '0';
2261
+ case 'object': try { return JSON.parse(value); }
2262
+ catch { return value; }
2263
+ default: return value;
2264
+ }
2265
+ }
2266
+ `:"",_=G?`
2267
+ private _createTemplate(): void {
2268
+ const template = document.createElement('template');
2269
+ template.innerHTML = \`${H}${U}\`;
2270
+ ${Y?"this.shadowRoot!.appendChild(template.content.cloneNode(true));":"this.appendChild(template.content.cloneNode(true));"}
2271
+ this._processSlots();
2272
+ }`:`
2273
+ private _render(): void {
2274
+ ${Y?"this.shadowRoot!.innerHTML":"this.innerHTML"} = \`${H}${U}\`;
2275
+ this._processSlots();
2276
+ }`;return`/**
2277
+ * ${Z} Web Component
2278
+ * Auto-generated from stx component (TypeScript)
2279
+ *
2280
+ * @example
2281
+ * \`\`\`html
2282
+ * <${J}></${J}>
2283
+ * \`\`\`
2284
+ */
2285
+
2286
+ /**
2287
+ * Detail type for slot-changed event
2288
+ */
2289
+ interface SlotChangeDetail {
2290
+ slotName: string;
2291
+ assignedNodes: Node[];
2292
+ }
2293
+
2294
+ ${L}
2295
+ /**
2296
+ * ${Z} custom element class
2297
+ * @customElement ${J}
2298
+ */
2299
+ export class ${W} extends ${X} {
2300
+ ${V}
2301
+ private _initialized = false;
2302
+ ${Y?"":"private _slotContent: Node[] = [];"}
2303
+
2304
+ constructor() {
2305
+ super();
2306
+ ${Y?'this.attachShadow({ mode: "open" });':""}
2307
+ }
2308
+ ${_}
2309
+ ${Y?`
2310
+ private _processSlots(): void {
2311
+ const slots = this.shadowRoot!.querySelectorAll('slot');
2312
+ slots.forEach((slot) => {
2313
+ slot.addEventListener('slotchange', () => {
2314
+ const assignedNodes = (slot as HTMLSlotElement).assignedNodes();
2315
+ this.dispatchEvent(new CustomEvent<SlotChangeDetail>('slot-changed', {
2316
+ detail: { slotName: slot.getAttribute('name') || 'default', assignedNodes }
2317
+ }));
2318
+ });
2319
+ });
2320
+ }`:`
2321
+ private _processSlots(): void {
2322
+ const slots = this.querySelectorAll('[data-slot]');
2323
+ slots.forEach((slotEl) => {
2324
+ const slotName = slotEl.getAttribute('data-slot');
2325
+ if (slotName) {
2326
+ const slottedContent = this._slotContent.filter(
2327
+ node => node.nodeType === Node.ELEMENT_NODE && (node as Element).getAttribute('slot') === slotName
2328
+ );
2329
+ if (slottedContent.length > 0) {
2330
+ slotEl.innerHTML = '';
2331
+ slottedContent.forEach(content => slotEl.appendChild(content));
2332
+ }
2333
+ }
2334
+ });
2335
+ const defaultSlot = this.querySelector('[data-slot=""]') || this.querySelector('[data-default-slot]');
2336
+ if (defaultSlot) {
2337
+ const unslottedContent = this._slotContent.filter(
2338
+ node => node.nodeType !== Node.ELEMENT_NODE || !(node as Element).hasAttribute('slot')
2339
+ );
2340
+ if (unslottedContent.length > 0) {
2341
+ defaultSlot.innerHTML = '';
2342
+ unslottedContent.forEach(content => defaultSlot.appendChild(content));
2343
+ }
2344
+ }
2345
+ }`}
2346
+ ${O}
2347
+ ${F}
2348
+
2349
+ connectedCallback(): void {
2350
+ if (this._initialized) return;
2351
+ ${Y?"":"this._slotContent = Array.from(this.childNodes);"}
2352
+ this._initialized = true;
2353
+ ${G?"this._createTemplate();":"this._render();"}
2354
+ }
2355
+
2356
+ disconnectedCallback(): void {
2357
+ // Component removed from the DOM
2358
+ }
2359
+
2360
+ adoptedCallback(): void {
2361
+ // Component moved to a new document
2362
+ }
2363
+ }
2364
+
2365
+ // Type augmentation for HTMLElementTagNameMap
2366
+ declare global {
2367
+ interface HTMLElementTagNameMap {
2368
+ '${J}': ${W};
2369
+ }
2370
+ }
2371
+
2372
+ // Register the web component
2373
+ customElements.define('${J}', ${W});
2374
+ `}var B5={strategy:"attribute",attributeName:"data-v",preserveOriginal:!0};function V5($){let Z=$.split("").reduce((J,X)=>(J<<5)-J+X.charCodeAt(0)|0,0);return Math.abs(Z).toString(36).slice(0,8)}function QX($,Z,J={}){let X={...B5,...J},Q=V5(Z);switch(X.strategy){case"shadow":return $;case"prefix":return zX($,X.prefix||Z,X.preserveOriginal);case"attribute":return GX($,Q,X.attributeName||"data-v",X.preserveOriginal);case"bem":return qX($,Z,X.preserveOriginal);default:return $}}function GX($,Z,J,X){let Q=`[${J}-${Z}]`;return $.replace(/([.#]?[\w-]+|\*)\s*(\{|,)/g,(Y,G,z)=>{if(G.startsWith("@"))return Y;if(/^(?::root|:host|html|body)$/i.test(G))return Y;return`${X?`${G}${Q}`:`${G}${Q}`}${z}`})}function zX($,Z,J){return $.replace(/\.([a-z_][\w-]*)/gi,(X,Q)=>{if(Q.startsWith(Z))return X;let Y=`${Z}__${Q}`;return J?`.${Y}`:`.${Y}`})}function qX($,Z,J){let X=Z.replace(/[^a-z0-9]/gi,"-");return $.replace(/\.([a-z_][\w-]*)/gi,(Q,Y)=>{if(Y.includes("__")||Y.includes("--")){if(!Y.startsWith(X))return`.${X}__${Y}`;return Q}let G=`${X}__${Y}`;return J?`.${G}`:`.${G}`})}function KX($,Z,J={}){let X={...B5,...J};if(X.strategy==="shadow")return $;if(X.strategy==="attribute"){let Q=V5(Z),G=`${X.attributeName||"data-v"}-${Q}`;return $.replace(/<([a-z][a-z0-9-]*)([^>]*)>/gi,(z,q,K)=>{if(/^(?:script|style|!--)$/i.test(q))return z;let W=K.trimEnd().endsWith("/"),U=W?K.slice(0,-1):K;return`<${q}${U} ${G}${W?"/":""}>`})}if(X.strategy==="prefix"||X.strategy==="bem"){let Q=X.strategy==="bem"?Z.replace(/[^a-z0-9]/gi,"-"):X.prefix||Z;return $.replace(/\bclass\s*=\s*["']([^"']+)["']/gi,(Y,G)=>{return`class="${G.split(/\s+/).map((q)=>{if(!q)return q;if(q.startsWith(Q))return q;return`${Q}__${q}`}).join(" ")}"`})}return $}function ZW($,Z={}){let J={...B5,...Z},X=V5($);return`${J.attributeName||"data-v"}-${X}`}function JW($,Z,J={}){let X="",Q=$.replace(/<style([^>]*)>([\s\S]*?)<\/style>/gi,(G,z,q)=>{if(/\bscoped\b/i.test(z)||J.strategy!=="shadow")X+=`${QX(q,Z,J)}
2375
+ `;else X+=`${q}
2376
+ `;return""});return{html:KX(Q,Z,J),css:X.trim()}}function P1($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function XW($){let{name:Z,tag:J,baseElement:X="HTMLElement",template:Q,styles:Y="",shadowDOM:G=!0,properties:z={},lifecycle:q={},events:K={},methods:W={},state:U={}}=$,H=Z.replace(/\W/g,""),j=Object.keys(z),B=j.filter((k)=>z[k].attribute!==!1).map((k)=>z[k].attribute||P1(k)),V=j.map((k)=>{let D=z[k],I=D.default!==void 0?JSON.stringify(D.default):D.type==="string"?'""':D.type==="number"?"0":D.type==="boolean"?"false":D.type==="array"?"[]":"{}";return` this._${k} = ${I};`}).join(`
2377
+ `),F=j.map((k)=>{let D=z[k],I=D.attribute!==!1?D.attribute||P1(k):null,T=D.reflect&&I?`
2378
+ if (value !== null && value !== undefined) {
2379
+ ${D.type==="boolean"?`if (value) { this.setAttribute('${I}', ''); }
2380
+ else { this.removeAttribute('${I}'); }`:`this.setAttribute('${I}', ${D.type==="object"||D.type==="array"?"JSON.stringify(value)":"String(value)"});`}
2381
+ }
2382
+ else {
2383
+ this.removeAttribute('${I}');
2384
+ }`:"",M=D.observer?`this.${D.observer}(value, oldValue);`:"",E=D.render!==!1?"this._scheduleRender();":"";return`
2385
+ get ${k}() {
2386
+ return this._${k};
2387
+ }
2388
+
2389
+ set ${k}(value) {
2390
+ const oldValue = this._${k};
2391
+ if (oldValue === value) return;
2392
+ this._${k} = value;${T}
2393
+ ${M}
2394
+ ${E}
2395
+ this.dispatchEvent(new CustomEvent('${k}-changed', {
2396
+ detail: { value, oldValue },
2397
+ bubbles: true
2398
+ }));
2399
+ }`}).join(`
2400
+ `),L=B.length>0?`
2401
+ static get observedAttributes() {
2402
+ return [${B.map((k)=>`'${k}'`).join(", ")}];
2403
+ }
2404
+
2405
+ attributeChangedCallback(name, oldValue, newValue) {
2406
+ if (oldValue === newValue) return;
2407
+ const propName = this._attrToProp[name];
2408
+ if (propName) {
2409
+ const propDef = this._propertyDefs[propName];
2410
+ this[propName] = this._deserializeAttribute(newValue, propDef.type);
2411
+ }
2412
+ ${q.attributeChanged||""}
2413
+ }`:"",O=Object.entries(K).map(([k,D])=>{return`this._root.addEventListener('${k}', (e) => { ${D} });`}).join(`
2414
+ `),_=Object.entries(W).map(([k,D])=>{return`
2415
+ ${k}() {
2416
+ ${D}
2417
+ }`}).join(`
2418
+ `),w=JSON.stringify(Object.fromEntries(j.map((k)=>[k,z[k]]))),R=JSON.stringify(Object.fromEntries(j.filter((k)=>z[k].attribute!==!1).map((k)=>[z[k].attribute||P1(k),k]))),N=Q.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),A=Y.replace(/\\/g,"\\\\").replace(/`/g,"\\`");return`/**
2419
+ * ${Z} - Reactive Web Component
2420
+ * Auto-generated with reactive properties and lifecycle management
2421
+ *
2422
+ * @customElement ${J}
2423
+ */
2424
+ class ${H} extends ${X} {
2425
+ // Property definitions
2426
+ _propertyDefs = ${w};
2427
+ _attrToProp = ${R};
2428
+
2429
+ // Internal state
2430
+ _state = ${JSON.stringify(U)};
2431
+ _renderPending = false;
2432
+ _isConnected = false;
2433
+
2434
+ constructor() {
2435
+ super();
2436
+ ${G?'this.attachShadow({ mode: "open" });':""}
2437
+ this._root = ${G?"this.shadowRoot":"this"};
2438
+
2439
+ // Initialize properties with defaults
2440
+ ${V}
2441
+
2442
+ // Initial render
2443
+ this._render();
2444
+ }
2445
+
2446
+ // =========================================================================
2447
+ // Reactive Properties
2448
+ // =========================================================================
2449
+ ${F}
2450
+
2451
+ // =========================================================================
2452
+ // State Management
2453
+ // =========================================================================
2454
+
2455
+ /**
2456
+ * Get current internal state
2457
+ */
2458
+ get state() {
2459
+ return { ...this._state };
2460
+ }
2461
+
2462
+ /**
2463
+ * Update internal state and trigger re-render
2464
+ * @param {Object} updates - State updates to merge
2465
+ */
2466
+ setState(updates) {
2467
+ const oldState = { ...this._state };
2468
+ this._state = { ...this._state, ...updates };
2469
+ this._scheduleRender();
2470
+ this.dispatchEvent(new CustomEvent('state-changed', {
2471
+ detail: { state: this._state, oldState },
2472
+ bubbles: true
2473
+ }));
2474
+ }
2475
+
2476
+ // =========================================================================
2477
+ // Rendering
2478
+ // =========================================================================
2479
+
2480
+ /**
2481
+ * Schedule a render on the next animation frame (batched)
2482
+ */
2483
+ _scheduleRender() {
2484
+ if (this._renderPending) return;
2485
+ this._renderPending = true;
2486
+ requestAnimationFrame(() => {
2487
+ this._renderPending = false;
2488
+ this._render();
2489
+ });
2490
+ }
2491
+
2492
+ /**
2493
+ * Render the component template
2494
+ */
2495
+ _render() {
2496
+ const template = \`${A?`<style>${A}</style>`:""}${N}\`;
2497
+
2498
+ // Interpolate template with property values
2499
+ const rendered = template.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (match, propName) => {
2500
+ if (propName in this) {
2501
+ const value = this[propName];
2502
+ if (value === null || value === undefined) return '';
2503
+ if (typeof value === 'object') return JSON.stringify(value);
2504
+ return String(value);
2505
+ }
2506
+ if (propName in this._state) {
2507
+ const value = this._state[propName];
2508
+ if (value === null || value === undefined) return '';
2509
+ if (typeof value === 'object') return JSON.stringify(value);
2510
+ return String(value);
2511
+ }
2512
+ return match;
2513
+ });
2514
+
2515
+ this._root.innerHTML = rendered;
2516
+ this._bindEvents();
2517
+ }
2518
+
2519
+ /**
2520
+ * Bind event handlers after render
2521
+ */
2522
+ _bindEvents() {
2523
+ ${O}
2524
+ }
2525
+
2526
+ // =========================================================================
2527
+ // Attribute Handling
2528
+ // =========================================================================
2529
+
2530
+ /**
2531
+ * Deserialize attribute value to property type
2532
+ */
2533
+ _deserializeAttribute(value, type) {
2534
+ if (value === null) return null;
2535
+ switch (type) {
2536
+ case 'number': return Number(value);
2537
+ case 'boolean': return value !== null && value !== 'false' && value !== '0';
2538
+ case 'object':
2539
+ case 'array':
2540
+ try { return JSON.parse(value); }
2541
+ catch { return type === 'array' ? [] : {}; }
2542
+ default: return value;
2543
+ }
2544
+ }
2545
+
2546
+ ${L}
2547
+
2548
+ // =========================================================================
2549
+ // Lifecycle
2550
+ // =========================================================================
2551
+
2552
+ connectedCallback() {
2553
+ this._isConnected = true;
2554
+ ${q.connected||"// Component connected to DOM"}
2555
+ }
2556
+
2557
+ disconnectedCallback() {
2558
+ this._isConnected = false;
2559
+ ${q.disconnected||"// Component disconnected from DOM"}
2560
+ }
2561
+
2562
+ adoptedCallback() {
2563
+ ${q.adopted||"// Component moved to new document"}
2564
+ }
2565
+
2566
+ // =========================================================================
2567
+ // Custom Methods
2568
+ // =========================================================================
2569
+ ${_}
2570
+ }
2571
+
2572
+ // Register the custom element
2573
+ customElements.define('${J}', ${H});
2574
+
2575
+ // Export for module usage
2576
+ export { ${H} };
2577
+ export default ${H};
2578
+ `}function YW($){let{name:Z,tag:J,baseElement:X="HTMLElement",template:Q,styles:Y="",shadowDOM:G=!0,properties:z={},lifecycle:q={},events:K={},methods:W={},state:U={}}=$,H=Z.replace(/\W/g,""),j=Object.keys(z),B=j.filter((D)=>z[D].attribute!==!1).map((D)=>z[D].attribute||P1(D)),V=(D)=>{switch(D){case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"object":return"Record<string, unknown>";case"array":return"unknown[]";default:return"unknown"}},F=j.length>0?`
2579
+ /**
2580
+ * Props interface for ${Z}
2581
+ */
2582
+ export interface ${H}Props {
2583
+ ${j.map((D)=>` ${D}?: ${V(z[D].type)};`).join(`
2584
+ `)}
2585
+ }
2586
+ `:"",L=Object.keys(U).length>0?`
2587
+ /**
2588
+ * State interface for ${Z}
2589
+ */
2590
+ export interface ${H}State {
2591
+ ${Object.entries(U).map(([D,I])=>` ${D}: ${typeof I};`).join(`
2592
+ `)}
2593
+ }
2594
+ `:`
2595
+ export interface ${H}State {
2596
+ [key: string]: unknown;
2597
+ }
2598
+ `,O=j.map((D)=>{let I=z[D],T=V(I.type);return` private _${D}: ${T};`}).join(`
2599
+ `),_=j.map((D)=>{let I=z[D],T=V(I.type),M=I.attribute!==!1?I.attribute||P1(D):null,E=I.default!==void 0?JSON.stringify(I.default):I.type==="string"?'""':I.type==="number"?"0":I.type==="boolean"?"false":I.type==="array"?"[]":"{}",C=I.reflect&&M?`
2600
+ if (value !== null && value !== undefined) {
2601
+ ${I.type==="boolean"?`if (value) { this.setAttribute('${M}', ''); }
2602
+ else { this.removeAttribute('${M}'); }`:`this.setAttribute('${M}', ${I.type==="object"||I.type==="array"?"JSON.stringify(value)":"String(value)"});`}
2603
+ }
2604
+ else {
2605
+ this.removeAttribute('${M}');
2606
+ }`:"",y=I.observer?`this.${I.observer}(value, oldValue);`:"",b=I.render!==!1?"this._scheduleRender();":"";return`
2607
+ get ${D}(): ${T} {
2608
+ return this._${D};
2609
+ }
2610
+
2611
+ set ${D}(value: ${T}) {
2612
+ const oldValue = this._${D};
2613
+ if (oldValue === value) return;
2614
+ this._${D} = value;${C}
2615
+ ${y}
2616
+ ${b}
2617
+ this.dispatchEvent(new CustomEvent('${D}-changed', {
2618
+ detail: { value, oldValue },
2619
+ bubbles: true
2620
+ }));
2621
+ }
2622
+
2623
+ // Property default: ${E}`}).join(`
2624
+ `),w=B.length>0?`
2625
+ static get observedAttributes(): string[] {
2626
+ return [${B.map((D)=>`'${D}'`).join(", ")}];
2627
+ }
2628
+
2629
+ attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void {
2630
+ if (oldValue === newValue) return;
2631
+ const propName = this._attrToProp[name];
2632
+ if (propName) {
2633
+ const propDef = this._propertyDefs[propName];
2634
+ (this as unknown as Record<string, unknown>)[propName] = this._deserializeAttribute(newValue, propDef.type);
2635
+ }
2636
+ ${q.attributeChanged||""}
2637
+ }`:"",R=Object.entries(K).map(([D,I])=>{return`this._root.addEventListener('${D}', (e: Event) => { ${I} });`}).join(`
2638
+ `),N=Object.entries(W).map(([D,I])=>{return`
2639
+ ${D}(): void {
2640
+ ${I}
2641
+ }`}).join(`
2642
+ `),A=Q.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),k=Y.replace(/\\/g,"\\\\").replace(/`/g,"\\`");return`/**
2643
+ * ${Z} - Reactive Web Component (TypeScript)
2644
+ * Auto-generated with reactive properties and lifecycle management
2645
+ *
2646
+ * @customElement ${J}
2647
+ */
2648
+
2649
+ ${F}
2650
+ ${L}
2651
+
2652
+ /**
2653
+ * Property definition type
2654
+ */
2655
+ interface PropertyDefinition {
2656
+ type: 'string' | 'number' | 'boolean' | 'object' | 'array';
2657
+ default?: unknown;
2658
+ reflect?: boolean;
2659
+ attribute?: string | false;
2660
+ observer?: string;
2661
+ render?: boolean;
2662
+ }
2663
+
2664
+ /**
2665
+ * ${Z} custom element
2666
+ */
2667
+ export class ${H} extends ${X} {
2668
+ // Property definitions
2669
+ private _propertyDefs: Record<string, PropertyDefinition> = ${JSON.stringify(z)};
2670
+ private _attrToProp: Record<string, string> = ${JSON.stringify(Object.fromEntries(j.filter((D)=>z[D].attribute!==!1).map((D)=>[z[D].attribute||P1(D),D])))};
2671
+
2672
+ // Internal state
2673
+ private _state: ${H}State = ${JSON.stringify(U)};
2674
+ private _renderPending = false;
2675
+ private _isConnected = false;
2676
+ private _root: ShadowRoot | HTMLElement;
2677
+
2678
+ // Property backing fields
2679
+ ${O}
2680
+
2681
+ constructor() {
2682
+ super();
2683
+ ${G?'this.attachShadow({ mode: "open" });':""}
2684
+ this._root = ${G?"this.shadowRoot!":"this"};
2685
+
2686
+ // Initialize properties with defaults
2687
+ ${j.map((D)=>{let I=z[D],T=I.default!==void 0?JSON.stringify(I.default):I.type==="string"?'""':I.type==="number"?"0":I.type==="boolean"?"false":I.type==="array"?"[]":"{}";return` this._${D} = ${T};`}).join(`
2688
+ `)}
2689
+
2690
+ // Initial render
2691
+ this._render();
2692
+ }
2693
+
2694
+ // =========================================================================
2695
+ // Reactive Properties
2696
+ // =========================================================================
2697
+ ${_}
2698
+
2699
+ // =========================================================================
2700
+ // State Management
2701
+ // =========================================================================
2702
+
2703
+ /**
2704
+ * Get current internal state
2705
+ */
2706
+ get state(): ${H}State {
2707
+ return { ...this._state };
2708
+ }
2709
+
2710
+ /**
2711
+ * Update internal state and trigger re-render
2712
+ */
2713
+ setState(updates: Partial<${H}State>): void {
2714
+ const oldState = { ...this._state };
2715
+ this._state = { ...this._state, ...updates };
2716
+ this._scheduleRender();
2717
+ this.dispatchEvent(new CustomEvent('state-changed', {
2718
+ detail: { state: this._state, oldState },
2719
+ bubbles: true
2720
+ }));
2721
+ }
2722
+
2723
+ // =========================================================================
2724
+ // Rendering
2725
+ // =========================================================================
2726
+
2727
+ /**
2728
+ * Schedule a render on the next animation frame (batched)
2729
+ */
2730
+ private _scheduleRender(): void {
2731
+ if (this._renderPending) return;
2732
+ this._renderPending = true;
2733
+ requestAnimationFrame(() => {
2734
+ this._renderPending = false;
2735
+ this._render();
2736
+ });
2737
+ }
2738
+
2739
+ /**
2740
+ * Render the component template
2741
+ */
2742
+ private _render(): void {
2743
+ const template = \`${k?`<style>${k}</style>`:""}${A}\`;
2744
+
2745
+ // Interpolate template with property values
2746
+ const rendered = template.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (match, propName) => {
2747
+ if (propName in this) {
2748
+ const value = (this as unknown as Record<string, unknown>)[propName];
2749
+ if (value === null || value === undefined) return '';
2750
+ if (typeof value === 'object') return JSON.stringify(value);
2751
+ return String(value);
2752
+ }
2753
+ if (propName in this._state) {
2754
+ const value = this._state[propName as keyof ${H}State];
2755
+ if (value === null || value === undefined) return '';
2756
+ if (typeof value === 'object') return JSON.stringify(value);
2757
+ return String(value);
2758
+ }
2759
+ return match;
2760
+ });
2761
+
2762
+ this._root.innerHTML = rendered;
2763
+ this._bindEvents();
2764
+ }
2765
+
2766
+ /**
2767
+ * Bind event handlers after render
2768
+ */
2769
+ private _bindEvents(): void {
2770
+ ${R}
2771
+ }
2772
+
2773
+ // =========================================================================
2774
+ // Attribute Handling
2775
+ // =========================================================================
2776
+
2777
+ /**
2778
+ * Deserialize attribute value to property type
2779
+ */
2780
+ private _deserializeAttribute(value: string | null, type: string): unknown {
2781
+ if (value === null) return null;
2782
+ switch (type) {
2783
+ case 'number': return Number(value);
2784
+ case 'boolean': return value !== null && value !== 'false' && value !== '0';
2785
+ case 'object':
2786
+ case 'array':
2787
+ try { return JSON.parse(value); }
2788
+ catch { return type === 'array' ? [] : {}; }
2789
+ default: return value;
2790
+ }
2791
+ }
2792
+
2793
+ ${w}
2794
+
2795
+ // =========================================================================
2796
+ // Lifecycle
2797
+ // =========================================================================
2798
+
2799
+ connectedCallback(): void {
2800
+ this._isConnected = true;
2801
+ ${q.connected||"// Component connected to DOM"}
2802
+ }
2803
+
2804
+ disconnectedCallback(): void {
2805
+ this._isConnected = false;
2806
+ ${q.disconnected||"// Component disconnected from DOM"}
2807
+ }
2808
+
2809
+ adoptedCallback(): void {
2810
+ ${q.adopted||"// Component moved to new document"}
2811
+ }
2812
+
2813
+ // =========================================================================
2814
+ // Custom Methods
2815
+ // =========================================================================
2816
+ ${N}
2817
+ }
2818
+
2819
+ // Type augmentation for HTMLElementTagNameMap
2820
+ declare global {
2821
+ interface HTMLElementTagNameMap {
2822
+ '${J}': ${H};
2823
+ }
2824
+ }
2825
+
2826
+ // Register the custom element
2827
+ customElements.define('${J}', ${H});
2828
+
2829
+ export default ${H};
2830
+ `}function QW(){return`/**
2831
+ * ReactiveElement Mixin
2832
+ * Adds reactive properties and lifecycle management to web components
2833
+ */
2834
+ const ReactiveElement = (Base) => class extends Base {
2835
+ static get observedAttributes() {
2836
+ const props = this.properties || {};
2837
+ return Object.keys(props)
2838
+ .filter(prop => props[prop].attribute !== false)
2839
+ .map(prop => props[prop].attribute || prop.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase());
2840
+ }
2841
+
2842
+ constructor() {
2843
+ super();
2844
+ this._state = {};
2845
+ this._renderPending = false;
2846
+ this._propertyValues = new Map();
2847
+ this._initializeProperties();
2848
+ }
2849
+
2850
+ _initializeProperties() {
2851
+ const props = this.constructor.properties || {};
2852
+ for (const [name, def] of Object.entries(props)) {
2853
+ // Set default value
2854
+ if (def.default !== undefined) {
2855
+ this._propertyValues.set(name, def.default);
2856
+ }
2857
+
2858
+ // Define getter/setter
2859
+ Object.defineProperty(this, name, {
2860
+ get: () => this._propertyValues.get(name),
2861
+ set: (value) => {
2862
+ const oldValue = this._propertyValues.get(name);
2863
+ if (oldValue === value) return;
2864
+ this._propertyValues.set(name, value);
2865
+
2866
+ // Reflect to attribute
2867
+ if (def.reflect) {
2868
+ const attrName = def.attribute || name.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
2869
+ if (def.type === 'boolean') {
2870
+ value ? this.setAttribute(attrName, '') : this.removeAttribute(attrName);
2871
+ }
2872
+ else {
2873
+ this.setAttribute(attrName, def.type === 'object' ? JSON.stringify(value) : String(value));
2874
+ }
2875
+ }
2876
+
2877
+ // Call observer
2878
+ if (def.observer && typeof this[def.observer] === 'function') {
2879
+ this[def.observer](value, oldValue);
2880
+ }
2881
+
2882
+ // Schedule render
2883
+ if (def.render !== false) {
2884
+ this._scheduleRender();
2885
+ }
2886
+
2887
+ // Dispatch event
2888
+ this.dispatchEvent(new CustomEvent(\`\${name}-changed\`, {
2889
+ detail: { value, oldValue },
2890
+ bubbles: true
2891
+ }));
2892
+ },
2893
+ enumerable: true,
2894
+ configurable: true
2895
+ });
2896
+ }
2897
+ }
2898
+
2899
+ attributeChangedCallback(name, oldValue, newValue) {
2900
+ if (oldValue === newValue) return;
2901
+ const props = this.constructor.properties || {};
2902
+ const propName = Object.keys(props).find(p =>
2903
+ (props[p].attribute || p.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase()) === name
2904
+ );
2905
+ if (propName) {
2906
+ const def = props[propName];
2907
+ this[propName] = this._deserialize(newValue, def.type);
2908
+ }
2909
+ }
2910
+
2911
+ _deserialize(value, type) {
2912
+ if (value === null) return null;
2913
+ switch (type) {
2914
+ case 'number': return Number(value);
2915
+ case 'boolean': return value !== null && value !== 'false';
2916
+ case 'object':
2917
+ case 'array':
2918
+ try { return JSON.parse(value); }
2919
+ catch { return type === 'array' ? [] : {}; }
2920
+ default: return value;
2921
+ }
2922
+ }
2923
+
2924
+ get state() {
2925
+ return { ...this._state };
2926
+ }
2927
+
2928
+ setState(updates) {
2929
+ const oldState = { ...this._state };
2930
+ this._state = { ...this._state, ...updates };
2931
+ this._scheduleRender();
2932
+ this.dispatchEvent(new CustomEvent('state-changed', {
2933
+ detail: { state: this._state, oldState },
2934
+ bubbles: true
2935
+ }));
2936
+ }
2937
+
2938
+ _scheduleRender() {
2939
+ if (this._renderPending) return;
2940
+ this._renderPending = true;
2941
+ requestAnimationFrame(() => {
2942
+ this._renderPending = false;
2943
+ if (typeof this.render === 'function') {
2944
+ this.render();
2945
+ }
2946
+ });
2947
+ }
2948
+ };
2949
+
2950
+ export { ReactiveElement };
2951
+ export default ReactiveElement;
2952
+ `}function GW(){return`/**
2953
+ * stx Reactive Web Components Runtime
2954
+ * Provides base classes and utilities for reactive web components
2955
+ */
2956
+ (function(global) {
2957
+ 'use strict';
2958
+
2959
+ /**
2960
+ * Base class for reactive web components
2961
+ */
2962
+ class StxElement extends HTMLElement {
2963
+ static get observedAttributes() {
2964
+ const props = this.properties || {};
2965
+ return Object.keys(props)
2966
+ .filter(prop => props[prop].attribute !== false)
2967
+ .map(prop => props[prop].attribute || toKebabCase(prop));
2968
+ }
2969
+
2970
+ constructor() {
2971
+ super();
2972
+ this._state = {};
2973
+ this._renderPending = false;
2974
+ this._props = new Map();
2975
+ this._setupShadowDOM();
2976
+ this._initProperties();
2977
+ }
2978
+
2979
+ _setupShadowDOM() {
2980
+ if (this.constructor.useShadowDOM !== false) {
2981
+ this.attachShadow({ mode: 'open' });
2982
+ this._root = this.shadowRoot;
2983
+ }
2984
+ else {
2985
+ this._root = this;
2986
+ }
2987
+ }
2988
+
2989
+ _initProperties() {
2990
+ const props = this.constructor.properties || {};
2991
+ for (const [name, def] of Object.entries(props)) {
2992
+ let value = def.default;
2993
+ this._props.set(name, value);
2994
+
2995
+ Object.defineProperty(this, name, {
2996
+ get: () => this._props.get(name),
2997
+ set: (newValue) => this._setProperty(name, newValue, def),
2998
+ enumerable: true
2999
+ });
3000
+ }
3001
+ }
3002
+
3003
+ _setProperty(name, value, def) {
3004
+ const oldValue = this._props.get(name);
3005
+ if (oldValue === value) return;
3006
+
3007
+ this._props.set(name, value);
3008
+
3009
+ if (def.reflect && def.attribute !== false) {
3010
+ this._reflectToAttribute(name, value, def);
3011
+ }
3012
+
3013
+ if (def.observer && this[def.observer]) {
3014
+ this[def.observer](value, oldValue);
3015
+ }
3016
+
3017
+ if (def.render !== false) {
3018
+ this.requestUpdate();
3019
+ }
3020
+
3021
+ this.dispatchEvent(new CustomEvent(name + '-changed', {
3022
+ detail: { value, oldValue },
3023
+ bubbles: true,
3024
+ composed: true
3025
+ }));
3026
+ }
3027
+
3028
+ _reflectToAttribute(name, value, def) {
3029
+ const attrName = def.attribute || toKebabCase(name);
3030
+ if (value == null || (def.type === 'boolean' && !value)) {
3031
+ this.removeAttribute(attrName);
3032
+ }
3033
+ else if (def.type === 'boolean') {
3034
+ this.setAttribute(attrName, '');
3035
+ }
3036
+ else if (def.type === 'object' || def.type === 'array') {
3037
+ this.setAttribute(attrName, JSON.stringify(value));
3038
+ }
3039
+ else {
3040
+ this.setAttribute(attrName, String(value));
3041
+ }
3042
+ }
3043
+
3044
+ attributeChangedCallback(name, oldValue, newValue) {
3045
+ if (oldValue === newValue) return;
3046
+ const props = this.constructor.properties || {};
3047
+ const propName = Object.keys(props).find(p => {
3048
+ const def = props[p];
3049
+ return (def.attribute || toKebabCase(p)) === name;
3050
+ });
3051
+
3052
+ if (propName) {
3053
+ const def = props[propName];
3054
+ this[propName] = deserialize(newValue, def.type);
3055
+ }
3056
+ }
3057
+
3058
+ get state() {
3059
+ return { ...this._state };
3060
+ }
3061
+
3062
+ setState(updates) {
3063
+ const oldState = { ...this._state };
3064
+ Object.assign(this._state, updates);
3065
+ this.requestUpdate();
3066
+ this.dispatchEvent(new CustomEvent('state-changed', {
3067
+ detail: { state: this._state, oldState },
3068
+ bubbles: true
3069
+ }));
3070
+ }
3071
+
3072
+ requestUpdate() {
3073
+ if (this._renderPending) return;
3074
+ this._renderPending = true;
3075
+ requestAnimationFrame(() => {
3076
+ this._renderPending = false;
3077
+ this.update();
3078
+ });
3079
+ }
3080
+
3081
+ update() {
3082
+ if (this.render) {
3083
+ const content = this.render();
3084
+ if (typeof content === 'string') {
3085
+ this._root.innerHTML = content;
3086
+ }
3087
+ }
3088
+ }
3089
+
3090
+ connectedCallback() {
3091
+ this.update();
3092
+ if (this.connected) this.connected();
3093
+ }
3094
+
3095
+ disconnectedCallback() {
3096
+ if (this.disconnected) this.disconnected();
3097
+ }
3098
+
3099
+ adoptedCallback() {
3100
+ if (this.adopted) this.adopted();
3101
+ }
3102
+
3103
+ // Template helper
3104
+ html(strings, ...values) {
3105
+ return strings.reduce((result, str, i) => {
3106
+ let value = values[i] || '';
3107
+ if (Array.isArray(value)) value = value.join('');
3108
+ if (typeof value === 'object') value = JSON.stringify(value);
3109
+ return result + str + value;
3110
+ }, '');
3111
+ }
3112
+ }
3113
+
3114
+ // Utility functions
3115
+ function toKebabCase(str) {
3116
+ return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
3117
+ }
3118
+
3119
+ function deserialize(value, type) {
3120
+ if (value === null) return null;
3121
+ switch (type) {
3122
+ case 'number': return Number(value);
3123
+ case 'boolean': return value !== null && value !== 'false' && value !== '0';
3124
+ case 'object':
3125
+ case 'array':
3126
+ try { return JSON.parse(value); }
3127
+ catch { return type === 'array' ? [] : {}; }
3128
+ default: return value;
3129
+ }
3130
+ }
3131
+
3132
+ // Export to global
3133
+ global.StxElement = StxElement;
3134
+ global.stxComponents = global.stxComponents || {};
3135
+
3136
+ // Helper to define components
3137
+ global.defineStxComponent = function(tag, config) {
3138
+ const { properties, template, styles, methods, ...options } = config;
3139
+
3140
+ class Component extends StxElement {
3141
+ static get properties() { return properties || {}; }
3142
+ static get useShadowDOM() { return options.shadowDOM !== false; }
3143
+
3144
+ render() {
3145
+ let html = template || '';
3146
+ // Simple interpolation
3147
+ html = html.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (match, key) => {
3148
+ if (key in this) return this[key] ?? '';
3149
+ if (key in this._state) return this._state[key] ?? '';
3150
+ return match;
3151
+ });
3152
+ return (styles ? '<style>' + styles + '</style>' : '') + html;
3153
+ }
3154
+ }
3155
+
3156
+ // Add methods
3157
+ if (methods) {
3158
+ for (const [name, fn] of Object.entries(methods)) {
3159
+ Component.prototype[name] = fn;
3160
+ }
3161
+ }
3162
+
3163
+ customElements.define(tag, Component);
3164
+ global.stxComponents[tag] = Component;
3165
+ return Component;
3166
+ };
3167
+
3168
+ })(typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : this);
3169
+ `}function WX($,Z){let J=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),X=J?J[1].trim():"",Q=Z,Y=[],G=!0;if(X){let U=X.match(/export\s+default\s+({[\s\S]*})/);if(U)try{let H=U[1],j=H.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(j)Q=j[1];let B=H.match(/props\s*:\s*\[([\s\S]*?)\]/);if(B)Y=B[1].split(",").map((F)=>F.trim().replace(/['"`]/g,"")).filter((F)=>F.length>0);let V=H.match(/shadowDOM\s*:\s*(true|false)/);if(V)G=V[1]==="true"}catch{}}let z=$.match(/<template\b(?![^>]*\bid\s*=)[^>]*>([\s\S]*?)<\/template>/i),q=z?z[1].trim():"",K=$.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),W=K?K[1].trim():"";return{tag:Q,props:Y,template:q,styles:W,script:X,shadowDOM:G}}function UX($){let{tag:Z,props:J,template:X,styles:Q,shadowDOM:Y}=$,G=Z.split("-").map((U)=>U.charAt(0).toUpperCase()+U.slice(1)).join(""),z=X.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),q=Q.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),K=J.map((U)=>`'${U}'`).join(", "),W=J.map((U)=>`
3170
+ get ${U}() {
3171
+ return this.getAttribute('${U}') || '';
3172
+ }
3173
+ set ${U}(value) {
3174
+ if (value) {
3175
+ this.setAttribute('${U}', value);
3176
+ }
3177
+ else {
3178
+ this.removeAttribute('${U}');
3179
+ }
3180
+ }`).join(`
3181
+ `);return`/**
3182
+ * ${G} Web Component
3183
+ * Auto-generated from SFC
3184
+ */
3185
+ class ${G} extends HTMLElement {
3186
+ constructor() {
3187
+ super();
3188
+ ${Y?"this.attachShadow({ mode: 'open' });":""}
3189
+ this._render();
3190
+ }
3191
+
3192
+ static get observedAttributes() {
3193
+ return [${K}];
3194
+ }
3195
+
3196
+ attributeChangedCallback(name, oldValue, newValue) {
3197
+ if (oldValue !== newValue) {
3198
+ this._render();
3199
+ }
3200
+ }
3201
+ ${W}
3202
+
3203
+ _render() {
3204
+ const template = \`${q?`<style>${q}</style>`:""}${z}\`;
3205
+
3206
+ // Interpolate {{ prop }} with attribute values
3207
+ const rendered = template.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (match, prop) => {
3208
+ return this.getAttribute(prop) || '';
3209
+ });
3210
+
3211
+ ${Y?"this.shadowRoot.innerHTML = rendered;":"this.innerHTML = rendered;"}
3212
+ }
3213
+
3214
+ connectedCallback() {
3215
+ this._render();
3216
+ }
3217
+ }
3218
+
3219
+ customElements.define('${Z}', ${G});
3220
+ `}async function R7($,Z,J,X){if(Z.length<1)return G0("WebComponent","@webcomponent directive requires at least the tag name parameter",Q0.INVALID_DIRECTIVE_SYNTAX);let Q=Z[0].replace(/['"]/g,""),G=(J.__stx_options||{}).componentsDir||"components",z=h0.isAbsolute(G)?[h0.join(G,`${Q}.stx`),h0.join(h0.dirname(X),`${Q}.stx`)]:[h0.join(h0.dirname(X),G,`${Q}.stx`),h0.join(process.cwd(),G,`${Q}.stx`),h0.join(h0.dirname(X),`${Q}.stx`)],q=null;for(let U of z)if(await e(U)){q=await Bun.file(U).text();break}if(!q)return G0("WebComponent",`Component file not found: ${Q}.stx`,Q0.FILE_NOT_FOUND);let K=WX(q,Q);return`<script type="module">
3221
+ ${UX(K)}
3222
+ </script>`}var _5={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:M7,cachePath:".stx/cache",cacheVersion:"1.0.0",componentRenderCacheBytes:33554432,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:n3,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:R7,hasEndTag:!1,description:"Include a web component in the template"},D7,A7,H5,j5,s9,r9,a9,o9,l3,C3,Q7,U5,...b7],middleware:[],i18n:{defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},webComponents:{enabled:!1,outputDir:"dist/web-components",components:[]},docs:{enabled:!1,outputDir:"docs",format:"markdown",components:!0,templates:!0,directives:!0},streaming:{enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},hydration:{enabled:!1,mode:"islands",clientEntry:"src/client.ts",autoMarkers:!0,preload:"lazy"},router:{enabled:!0,container:"main",linkSelector:"a[href]",viewTransitions:!0,scrollToTop:!0,prefetch:!0,cache:!0,cacheTTL:300000,skipSelectors:'[data-no-router], [target="_blank"]',viewTransitionCSS:{oldRoot:"fade-out 0.15s ease-in",newRoot:"fade-in 0.2s ease-out",oldContent:"slide-out 0.2s ease-in",newContent:"slide-in 0.25s ease-out"}},a11y:{enabled:!0,addSrOnlyStyles:!0,level:"AA",autoFix:!1,ignoreChecks:[]},seo:{enabled:!0,socialPreview:!0,defaultConfig:{title:"stx Project",description:"A website built with stx templating engine"}},animation:{enabled:!0,defaultDuration:300,defaultEase:"ease",respectMotionPreferences:!0,staggerDelay:50},markdown:{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0,additionalThemes:["light-plus","one-dark-pro","dracula","monokai","solarized-light","nord","github-dark"]}},loops:{maxWhileIterations:1000,useAltLoopVariable:!1},story:{enabled:!0,outDir:".stx/dist/story",storyMatch:["**/*.story.stx"],storyIgnored:["**/node_modules/**","**/dist/**","**/.stx/**"],port:6006},pwa:{enabled:!1,manifest:{name:"stx App",shortName:"stx",description:"A Progressive Web App built with stx",startUrl:"/",display:"standalone",orientation:"any",themeColor:"#000000",backgroundColor:"#ffffff",scope:"/"},icons:{src:"public/icon.png",sizes:[72,96,128,144,152,192,384,512],generateWebP:!0,generateAppleIcons:!0,outputDir:"pwa-icons",purpose:["any","maskable"]},routes:[{pattern:"/",strategy:"network-first"},{pattern:"/static/*",strategy:"cache-first",maxAgeSeconds:2592000},{pattern:"/api/*",strategy:"network-only"},{pattern:"*.js",strategy:"stale-while-revalidate"},{pattern:"*.css",strategy:"stale-while-revalidate"},{pattern:"*.png",strategy:"cache-first"},{pattern:"*.jpg",strategy:"cache-first"},{pattern:"*.webp",strategy:"cache-first"},{pattern:"*.svg",strategy:"cache-first"}],offline:{enabled:!0,fallbackTitle:"You are offline",fallbackMessage:"Please check your internet connection and try again.",precacheAssets:[]},serviceWorker:{fileName:"sw.js",cacheVersion:"1.0.0",skipWaiting:!0,clientsClaim:!0,navigationPreload:!1,excludeRoutes:["/api/auth/*"],cacheFileTypes:["html","css","js","png","jpg","jpeg","webp","svg","woff","woff2"],useWorkbox:!1},autoInject:!0,push:{enabled:!1,defaultOptions:{vibrate:[100,50,100],requireInteraction:!1}},backgroundSync:{enabled:!1,queueName:"stx-sync-queue",maxRetentionMinutes:1440,maxRetries:3,minInterval:1000,forms:[],endpoints:[]},shareTarget:{enabled:!1,action:"/share-target",method:"POST",enctype:"multipart/form-data",params:{title:"title",text:"text",url:"url"}},fileHandlers:{enabled:!1},protocolHandlers:[],cacheStorage:{maxSize:100,maxEntries:500,maxAge:30,purgeStrategy:"lru"},updates:{enabled:!0,promptUser:!0,autoReload:!1,message:"A new version is available. Reload to update?"},precache:{enabled:!0,includeHtml:!0,includeJs:!0,includeCss:!0,includeImages:!0,includeFonts:!0,include:[],exclude:["*.map","*.LICENSE.txt"],maxFileSizeKB:500}},media:{enabled:!0,image:{enabled:!0,defaultWidths:[320,480,640,768,1024,1280,1536,1920],defaultFormats:["avif","webp","jpeg"],defaultQuality:80,placeholderStrategy:"thumbhash",lazyByDefault:!0,enableDpr:!0,defaultDpr:[1,2,3],tsImages:{enabled:!0,outputDir:"dist/images",baseUrl:"/images",formatQuality:{jpeg:{quality:85,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4,lossless:!1}},breakpoints:[320,480,640,768,1024,1280,1536,1920],batchOptions:{concurrency:4,optimizationPreset:"web"}}},video:{enabled:!0,lazyByDefault:!0,defaultControls:!0,tsVideos:{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos",defaultQuality:"high",streaming:{enabled:!0,format:"hls",segmentDuration:6,defaultQualities:[{label:"1080p",width:1920,height:1080,bitrate:5000000,audioBitrate:192000},{label:"720p",width:1280,height:720,bitrate:2500000,audioBitrate:128000},{label:"480p",width:854,height:480,bitrate:1e6,audioBitrate:96000}]},thumbnails:{enabled:!0,count:10,format:"webp",width:320},transcoding:{defaultCodec:"h264",defaultAudioCodec:"aac",speedPreset:"medium"}}},upload:{enabled:!0,maxSize:10485760,allowedTypes:["image/*","video/*","audio/*","application/pdf"],maxConcurrent:3},protected:{enabled:!0,expirationSeconds:3600,batchSize:10},cache:{enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}},broadcasting:{enabled:!1,driver:"bun",host:"0.0.0.0",port:6001,scheme:"ws",verbose:!1}};function jX($,Z,J){let X=Z||"pages";if($)return{root:$,pagesDir:X};let Q=J||process.cwd(),Y=y0.join(Q,"resources","views"),G=y0.join(Q,"resources","layouts");if(Z9.existsSync(Y)&&Z9.existsSync(G))return{root:"resources",pagesDir:"views"};let z=y0.join(Q,"resources","views","pages");if(Z9.existsSync(z))return{root:"resources/views",pagesDir:X};return{root:".",pagesDir:X}}var N7=new Set,J9=["partialsDir","componentsDir","layoutsDir"],L5=new WeakMap;function BX($,Z){let J=Z.replace(/[\\/]+$/,"");if(!J||J===".")return!0;let X=$.replace(/\\/g,"/"),Q=J.replace(/\\/g,"/");return X===Q||X.startsWith(`${Q}/`)}function VX($,Z){let J=!$.root,X=jX($.root,$.pagesDir,Z);if($.root=X.root,$.pagesDir=X.pagesDir,J&&X.root!=="."){let Q=`${Z}::${X.root}`;if(!N7.has(Q))N7.add(Q),console.warn(`[stx] No "root" in config \u2014 inferred "${X.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if(!L5.has($)){let Q={};for(let Y of J9){let G=$[Y];if(typeof G==="string"&&G)Q[Y]=G}L5.set($,Q)}if($.root&&$.root!=="."){let Q=$.root;for(let Y of J9){let G=$[Y];if(typeof G!=="string"||!G)continue;if(y0.isAbsolute(G)||BX(G,Q))continue;$[Y]=y0.join(Q,G)}}for(let Q of J9){let Y=$[Q];if(typeof Y!=="string"||!Y||y0.isAbsolute(Y))continue;$[Q]=y0.resolve(Z,Y)}return $}function _X($,Z){let J=L5.get($);for(let X of J9){let Q=$[X];if(typeof Q!=="string"||!Q)continue;let Y=y0.isAbsolute(Q)?Q:y0.join(Z,Q);if(Z9.existsSync(Y))continue;let G=J?.[X]??Q,z=$.root,q=!!z&&z!==".";console.warn(`[stx] ${String(X)} resolves to "${Y}", which does not exist. Configured as "${G}"`+(q?`, resolved under root "${z}".`:"."))}}function LX($){if($.customDirectives)$.customDirectives=[...$.customDirectives];if($.middleware)$.middleware=[...$.middleware];if($.apiRoutes)$.apiRoutes={...$.apiRoutes}}function OX($){if(I7($.stateDir),$.stateDir=k7(),$.cachePath=H2($.cachePath),$.build)$.build.cacheDir=H2($.build.cacheDir);if($.media?.cache)$.media.cache.directory=H2($.media.cache.directory);if($.story)$.story.outDir=H2($.story.outDir)}var G1=null,L1=new Map,t2=new Map,j2=null;async function O5($){let Z=$?y0.resolve($):process.cwd(),J=t2.get(Z);if(J&&J.signature!==e2(J.graph)){let Y=L1.get(Z);if(L1.delete(Z),t2.delete(Z),!$)G1=null,j2=null;let{clearComponentCache:G}=await import("./chunk-hmrv7qv5.js"),{partialsCache:z}=await import("./chunk-8x78ed8t.js");if(G(),z.clear(),Y&&J.configSignature===$9(J.graph)){let q=Y.then(async(K)=>{let W={...J.graph};await E7(W,Z),t2.set(Z,{graph:W,signature:e2(W),configSignature:$9(W)});let U={...K,_layerGraph:W};if(!$)G1=U;return U});return L1.set(Z,q),q}}if(!$){if(G1)return G1;if(j2)return j2}let X=L1.get(Z);if(X)return X;let Q=(async()=>{let G=(await HX({name:"stx",alias:"ui",cwd:Z,defaultConfig:_5,verbose:!1})).config;if(G.extends!==void 0||J){let z=await T7(Z,_5);G=z.config,t2.set(Z,{graph:z.graph,signature:e2(z.graph),configSignature:$9(z.graph)})}if(G.runtimeConfig){let{resolveRuntimeConfig:z}=await import("./chunk-mgd0vre2.js");z(G.runtimeConfig,{});let{generateRuntimeConfigTypes:q}=await import("./chunk-bdwe7er9.js");await q(Z,G.runtimeConfig)}if(LX(G),OX(G),VX(G,Z),_X(G,Z),G.plugins&&G.plugins.length>0){let{pluginManager:z}=await import("./chunk-1q1qmmfn.js"),q=[],K=[];for(let W of G.plugins){let U=typeof W==="string"?W:W[0],H=typeof W==="string"?{}:W[1]||{};try{let j,B;try{j=await import(U),B=y0.dirname(f.resolve(U))}catch{let F=y0.resolve(Z,U);j=await import(F),B=y0.dirname(F)}let V=j.default||j;if(!z.has(V.name))await z.register(V,G);if(V.components){let F=Array.isArray(V.components)?V.components:[V.components];for(let L of F)q.push(y0.resolve(B,L))}if(V.pages){let F=y0.resolve(B,V.pages),L=H.path||"/";K.push({dir:F,prefix:L})}if(V.setup){let F={addDirective:(L)=>{G.customDirectives=G.customDirectives||[],G.customDirectives.push(L)},addRoute:(L,O)=>{G.apiRoutes=G.apiRoutes||{},G.apiRoutes[L]=O},addMiddleware:(L)=>{G.middleware=G.middleware||[],G.middleware.push(L)},pluginDir:B,config:G};await V.setup(H,F)}console.log(`[stx] Plugin loaded: ${V.name||U}`)}catch(j){console.warn(`[stx] Failed to load plugin ${U}:`,j.message)}}G._pluginComponentDirs=q,G._pluginPageDirs=K}return G})();if(L1.set(Z,Q),Q.catch(()=>{if(L1.get(Z)===Q)L1.delete(Z)}),!$)j2=Q,Q.then((Y)=>{G1=Y}).catch(()=>{});return Q}var y7=new Proxy(_5,{get($,Z){if(G1&&Z in G1)return G1[Z];if(!j2)O5().catch((J)=>{console.warn("[stx] Failed to load config file:",J?.message||J)});return $[Z]}});function DW($){return $}function AW($){let Z=[],J=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")Z.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")Z.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")Z.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")Z.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)Z.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)Z.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let X=["auto","manual","sections"];if(!X.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${X.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let X=["json","yaml","yml","js"];if(!X.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${X.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)Z.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if($.animation.staggerDelay!==void 0){if(typeof $.animation.staggerDelay!=="number"||$.animation.staggerDelay<0)Z.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let X=["AA","AAA"];if(!X.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${X.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let X=["progressive","islands"];if(!X.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${X.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let X=["none","eager","lazy"];if(!X.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${X.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((X,Q)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`customDirectives[${Q}].name`,message:"Custom directive must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`customDirectives[${Q}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))Z.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((X,Q)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`middleware[${Q}].name`,message:"Middleware must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`middleware[${Q}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!X.timing||!["before","after"].includes(X.timing))Z.push({path:`middleware[${Q}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)J.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)J.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if($.pwa){if($.pwa.enabled===!0&&!$.pwa.manifest?.name)Z.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let X=["fullscreen","standalone","minimal-ui","browser"];if(!X.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let X=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!X.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.routes){let X=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Q,Y)=>{if(!Q.pattern||typeof Q.pattern!=="string")Z.push({path:`pwa.routes[${Y}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!X.includes(Q.strategy))Z.push({path:`pwa.routes[${Y}].strategy`,message:`PWA route strategy must be one of: ${X.join(", ")}`,severity:"error"});if(Q.maxAgeSeconds!==void 0&&(typeof Q.maxAgeSeconds!=="number"||Q.maxAgeSeconds<0))Z.push({path:`pwa.routes[${Y}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Q.maxEntries!==void 0&&(typeof Q.maxEntries!=="number"||Q.maxEntries<1))Z.push({path:`pwa.routes[${Y}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Q)=>typeof Q!=="number"||Q<16||Q>1024).length>0)Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let X=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((Y)=>!X.includes(Y)).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)J.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)J.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:Z.length===0,errors:Z,warnings:J}}var w5=new Map;async function RX($,Z={}){try{if(!await e($))throw Error(`Markdown file not found: ${$}`);let X=(await FX.promises.stat($)).mtime.getTime();if(Z.cache&&w5.has($)){let U=w5.get($);if(U.updatedAt>=X)return{content:U.content,data:U.data}}let Q=await Bun.file($).text(),{data:Y,content:G}=p3(Q),z=Z.markdown||y7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},K=K2(G,{gfm:!0});if(z.syntaxHighlighting?.enabled&&z.syntaxHighlighting?.serverSide)K=await NX(K,z.syntaxHighlighting?.defaultTheme||"github-dark",z.syntaxHighlighting?.highlightUnknownLanguages||!1);let W={content:K,data:Y||{}};if(Z.cache)w5.set($,{...W,updatedAt:X});return W}catch(J){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,J);let X=J instanceof Error?J.message:String(J);return{content:_0("Markdown File",`Error reading/parsing markdown file: ${X}`,$,"",0,""),data:{}}}}var X9=null;async function NX($,Z,J){let X=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!X9)try{X9=await wX({theme:Z||"github-dark",cache:!0})}catch(z){return console.error("Failed to initialize ts-syntax-highlighter:",z),$}let Q=async(z,q,K,W)=>{let U=W.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),H=K||(J?"text":"");if(!H)return z;try{if(!X9.getSupportedLanguages().includes(H))return z;return(await X9.highlight(U,H,{theme:Z})).html}catch(j){console.error(`Error highlighting code block with language ${K}:`,j)}return z},Y=$,G=$.matchAll(X);for(let z of G){let[q,K,W,U]=z,H=await Q(q,K,W,U);Y=Y.replace(q,H)}return Y}async function C7($,Z,J="",X={}){return await DX($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,z,q,K)=>{try{let W=z;if(!F5.isAbsolute(z))W=F5.resolve(F5.dirname(J),z);let U={};if(q)try{try{U=JSON.parse(q)}catch{if(X.debug)console.warn("Using safer alternative for parsing JS object literal");let O=q.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let _ of O){let w=_.indexOf(":");if(w>0){let R=_.substring(0,w).trim(),N=_.substring(w+1).trim(),A=N.startsWith('"')&&N.endsWith('"'),k=N.startsWith("'")&&N.endsWith("'");if(A||k)N=N.substring(1,N.length-1);U[R]=N}}}}catch(L){if(X.debug)console.error("Error parsing context in @markdown-file directive:",L)}let{content:H,data:j}=await RX(W,X),B={...Z,...j,...U},V=H,F=/\{\{([^}]+)\}\}/g;return V=V.replace(F,(L,O)=>{let _=O.trim();return B[_]!==void 0?String(B[_]):L}),V}catch(W){let U=W instanceof Error?W.message:String(W);return _0("Markdown File",`Error including markdown file: ${U}`,J,$,K,G)}})}async function DX($,Z,J){let X=[],Q;while((Q=Z.exec($))!==null){let z=Q[0],q=Q.index,K=Q;X.push(J(...K).then((W)=>({match:z,replacement:W,index:q})))}let Y=await Promise.all(X);Y.sort((z,q)=>q.index-z.index);let G=$;for(let{match:z,replacement:q}of Y)G=G.replace(z,()=>q);return G}function z1($,Z){try{let J=$.trim();if(B0(J))return H0(J,Object.keys(Z))(...Object.values(Z));else return Z0(J,Z)}catch{return!1}}class Y9{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,J=this.column,X=this.source[this.pos];if(/\s/.test(X))return this.readWhitespace($,Z,J);if(X==="/"&&this.peek(1)==="/")return this.readLineComment($,Z,J);if(X==="/"&&this.peek(1)==="*")return this.readBlockComment($,Z,J);if(X==='"'||X==="'")return this.readString(X,$,Z,J);if(X==="`")return this.readTemplateString($,Z,J);if(/\d/.test(X)||X==="."&&/\d/.test(this.peek(1)||""))return this.readNumber($,Z,J);if(/[a-z_$]/i.test(X))return this.readIdentifier($,Z,J);if(X==="{"){if(this.peek(1)==="{"&&this.peek(2)==="{")return this.advance(3),{type:"RAW_START",value:"{{{",start:$,end:this.pos,line:Z,column:J};if(this.peek(1)==="{")return this.advance(2),{type:"EXPRESSION_START",value:"{{",start:$,end:this.pos,line:Z,column:J};if(this.peek(1)==="!"&&this.peek(2)==="!")return this.advance(3),{type:"RAW_START",value:"{!!",start:$,end:this.pos,line:Z,column:J}}if(X==="}"){if(this.peek(1)==="}"&&this.peek(2)==="}")return this.advance(3),{type:"RAW_END",value:"}}}",start:$,end:this.pos,line:Z,column:J};if(this.peek(1)==="}")return this.advance(2),{type:"EXPRESSION_END",value:"}}",start:$,end:this.pos,line:Z,column:J}}if(X==="!"&&this.peek(1)==="!"&&this.peek(2)==="}")return this.advance(3),{type:"RAW_END",value:"!!}",start:$,end:this.pos,line:Z,column:J};if(X==="@"&&/[a-z]/i.test(this.peek(1)||""))return this.readDirective($,Z,J);let Q=["===","!==","==","!=","<=",">=","&&","||","??","++","--","+=","-=","*=","/=","%=","**","=>","?.","...","<<",">>",">>>","&=","|=","^="];for(let Y of Q)if(this.source.slice(this.pos,this.pos+Y.length)===Y)return this.advance(Y.length),{type:"OPERATOR",value:Y,start:$,end:this.pos,line:Z,column:J};if(/[+\-*/%<>=!&|^~?:]/.test(X))return this.advance(),{type:"OPERATOR",value:X,start:$,end:this.pos,line:Z,column:J};if(/[()[\]{},;.]/.test(X))return this.advance(),{type:"PUNCTUATION",value:X,start:$,end:this.pos,line:Z,column:J};return this.advance(),{type:"PUNCTUATION",value:X,start:$,end:this.pos,line:Z,column:J}}readWhitespace($,Z,J){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:J}}readLineComment($,Z,J){this.advance(2);while(this.pos<this.source.length&&this.source[this.pos]!==`
3223
+ `)this.advance();return{type:"COMMENT",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:J}}readBlockComment($,Z,J){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:J}}readString($,Z,J,X){this.advance();while(this.pos<this.source.length){let Q=this.source[this.pos];if(Q==="\\"){this.advance(2);continue}if(Q===$){this.advance();break}this.advance()}return{type:"STRING",value:this.source.slice(Z,this.pos),start:Z,end:this.pos,line:J,column:X}}readTemplateString($,Z,J){this.advance();let X=0,Q=256;while(this.pos<this.source.length){let Y=this.source[this.pos];if(Y==="\\"){this.advance(2);continue}if(Y==="$"&&this.peek(1)==="{"){if(X>=Q){this.pos=this.source.length;break}this.advance(2),X++;continue}if(Y==="{"&&X>0){X++,this.advance();continue}if(Y==="}"&&X>0){X--,this.advance();continue}if(Y==="`"&&X===0){this.advance();break}this.advance()}return{type:"TEMPLATE_STRING",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:J}}readNumber($,Z,J){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:J}}}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:J}}readIdentifier($,Z,J){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:J}}readDirective($,Z,J){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:J}}advance($=1){for(let Z=0;Z<$&&this.pos<this.source.length;Z++){if(this.source[this.pos]===`
3224
+ `)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,J,X=0){let Q=0,Y=X,G=null,z=0,q=!1;while(Y<$.length){let K=$[Y];if(G&&q){q=!1,Y++;continue}if(G&&K==="\\"){q=!0,Y++;continue}if(q=!1,(K==='"'||K==="'"||K==="`")&&!G){G=K,Y++;continue}if(K===G&&G!=="`"){G=null,Y++;continue}if(G==="`"&&K==="$"&&$[Y+1]==="{"){z++,Y+=2;continue}if(z>0&&K==="}"){z--,Y++;continue}if(K==="`"&&G==="`"&&z===0){G=null,Y++;continue}if(G){Y++;continue}if(K===Z)Q++;else if(K===J){if(Q--,Q===0)return Y}Y++}return-1}function S7($,Z){let J=Z,X={paren:0,bracket:0,brace:0},Q=null,Y=0;while(J<$.length){let G=$[J];if((J>0?$[J-1]:"")==="\\"&&Q){J++;continue}if((G==='"'||G==="'")&&!Q){Q=G,J++;continue}if(G===Q&&Q!=="`"){Q=null,J++;continue}if(G==="`"&&!Q){Q="`",J++;continue}if(G==="`"&&Q==="`"&&Y===0){Q=null,J++;continue}if(Q==="`"&&G==="$"&&$[J+1]==="{"){Y++,J+=2;continue}if(Y>0){if(G==="{")Y++;else if(G==="}")Y--;J++;continue}if(Q){J++;continue}if(X.paren===0&&X.bracket===0&&X.brace===0){if($.slice(J,J+2)==="}}"||$.slice(J,J+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}J++}return{expression:$.slice(Z,J),endPos:J}}function R5($){let Z=[],J="",X={paren:0,bracket:0,brace:0},Q=null,Y=0;for(let G=0;G<$.length;G++){let z=$[G];if((G>0?$[G-1]:"")==="\\"&&Q){J+=z;continue}if((z==='"'||z==="'")&&!Q){Q=z,J+=z;continue}if(z===Q&&Q!=="`"){Q=null,J+=z;continue}if(z==="`"&&!Q){Q="`",J+=z;continue}if(z==="`"&&Q==="`"&&Y===0){Q=null,J+=z;continue}if(Q==="`"&&z==="$"&&$[G+1]==="{"){Y++,J+=z+$[G+1],G++;continue}if(Y>0&&z==="{"){Y++,J+=z;continue}if(Y>0&&z==="}"){Y--,J+=z;continue}if(Q){J+=z;continue}if(z==="(")X.paren++;else if(z===")")X.paren--;else if(z==="[")X.bracket++;else if(z==="]")X.bracket--;else if(z==="{")X.brace++;else if(z==="}")X.brace--;if(z==="|"&&$[G+1]!=="|"&&(G===0||$[G-1]!=="|")&&$[G-1]!=="\\"&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(J.trim()),J="";continue}if(z==="|"&&$[G-1]==="\\"&&!Q){J=J.slice(0,-1)+z;continue}J+=z}if(J.trim())Z.push(J.trim());return Z}function q1($,Z){let J=AX($,Z);return J.ok?{expression:J.expression,endPos:J.endPos}:null}function AX($,Z){let J=Z;while(J<$.length&&/\s/.test($[J]))J++;if($[J]!=="(")return{ok:!1,reason:"missing-open-paren",pos:J};let X=w0($,"(",")",J);if(X===-1)return{ok:!1,reason:"unclosed-paren",pos:J};return{ok:!0,expression:$.slice(J+1,X),endPos:X+1}}function MX($,Z){let J=$.lastIndexOf("<",Z);if(J===-1)return!1;return J>$.lastIndexOf(">",Z)}function O1($,Z,J,X){let Q=1,Y=X,G=new RegExp(`@${Z}\\s*\\(`,"g"),z=new RegExp(`@${J}(?![a-z])`,"g");while(Y<$.length&&Q>0){G.lastIndex=Y,z.lastIndex=Y;let q=G.exec($),K=z.exec($),W=q?q.index:1/0,U=K?K.index:1/0;if(W<U)Q++,Y=W+q[0].length;else if(U<1/0){if(Q--,Q===0)return U;Y=U+K[0].length}else break}return-1}function P7($,Z){let J=$.slice(Z).match(/^@if\s*/);if(!J)return null;let X=Z+J[0].length,Q=q1($,X);if(!Q)return null;let Y=Q.endPos,G=O1($,"if","endif",Y);if(G===-1)return null;let z=$.slice(Y,G),q=[],K=0,W="if",U=Q.expression,H=0,j=0;while(K<z.length){let B=z.indexOf("@",K);if(B===-1)break;K=B;let V=z.substring(B);if(MX(z,B)){K++;continue}if(/^@if\s*\(/.test(V)){j++,K++;continue}if(/^@endif(?![a-z])/.test(V)){j--,K+=6;continue}if(j===0){let F=V.match(/^@elseif\s*/);if(F){q.push({type:W,condition:U,content:z.substring(H,K),start:Y+H,end:Y+K});let L=K+F[0].length,O=q1(z,L);if(!O){K++;continue}W="elseif",U=O.expression,K=O.endPos,H=K;continue}else if(/^@else(?![a-z])/.test(V)){q.push({type:W,condition:U,content:z.substring(H,K),start:Y+H,end:Y+K}),W="else",U=void 0,K+=5,H=K;continue}}K++}return q.push({type:W,condition:U,content:z.slice(H),start:Y+H,end:Y+z.length}),{fullMatch:$.slice(Z,G+6),branches:q,start:Z,end:G+6}}function B2($){let Z=[],J=/@if\s*\(/g,X=J.exec($);while(X!==null){if(Z.some((G)=>X.index>G.start&&X.index<G.end)){X=J.exec($);continue}let Y=P7($,X.index);if(Y)Z.push(Y),J.lastIndex=Y.end;X=J.exec($)}return Z}function Q9($,Z,J){let X=[],Q=new RegExp(`@${Z}\\s*\\(`,"g"),Y=Q.exec($);while(Y!==null){if(X.some((V)=>Y.index>V.start&&Y.index<V.end)){Y=Q.exec($);continue}let z=Y.index,q=z+Y[0].length-1,K=w0($,"(",")",q);if(K===-1){Y=Q.exec($);continue}let W=$.slice(q+1,K),U=K+1,H=O1($,Z,J,U);if(H===-1){Y=Q.exec($);continue}let j=$.slice(U,H),B=H+`@${J}`.length;X.push({fullMatch:$.slice(z,B),name:Z,params:W,content:j,start:z,end:B}),Q.lastIndex=B,Y=Q.exec($)}return X}function N5($,Z){let J=$.slice(Z).match(/^@switch\s*/);if(!J)return null;let X=Z+J[0].length,Q=q1($,X);if(!Q)return null;let Y=Q.endPos,G=O1($,"switch","endswitch",Y);if(G===-1)return null;let z=$.slice(Y,G),q=[],K=0,W=null,U=0;while(K<z.length){let H=z.slice(K),j=H.match(/^@switch\s*\(/),B=H.match(/^@endswitch(?![a-z])/);if(j){if(U++,W)W.content+=j[0];K+=j[0].length;continue}if(B){if(U--,W)W.content+=B[0];K+=B[0].length;continue}if(U>0){if(W)W.content+=z[K];K++;continue}let V=H.match(/^@case\s*/),F=H.match(/^@default(?![a-z])/),L=H.match(/^@break(?![a-z])/);if(V&&H.startsWith("@case")){if(W)q.push(W);let O=K+V[0].length,_=q1(z,O);if(!_){K++;continue}W={type:"case",value:_.expression,content:""},K=_.endPos}else if(F&&H.startsWith("@default")){if(W)q.push(W);W={type:"default",content:""},K+=F[0].length}else if(L&&H.startsWith("@break"))K+=L[0].length;else{if(W)W.content+=z[K];K++}}if(W)q.push(W);return{fullMatch:$.slice(Z,G+10),expression:Q.expression,cases:q,start:Z,end:G+10}}function IX($){let Z=[],J=0;while(J<$.length){let X=$.indexOf("{{",J),Q=$.indexOf("{!!",J),Y=!1,G;if(X===-1&&Q===-1)break;else if(X===-1)G=Q,Y=!0;else if(Q===-1)G=X,Y=!1;else if(Q<X)G=Q,Y=!0;else G=X,Y=!1;if(!Y&&$.slice(G,G+3)==="{{{")Y=!0;let z=Y?$.slice(G,G+3)==="{{{"?"{{{":"{!!":"{{",q=Y?z==="{{{"?"}}}":"!!}":"}}",K=G+z.length,W=kX($,K,q);if(W===-1){J=G+1;continue}let U=$.slice(K,W).trim(),H=W+q.length;Z.push({fullMatch:$.slice(G,H),expression:U,start:G,end:H,isRaw:Y}),J=H}return Z}function kX($,Z,J){let X=Z,Q=null,Y={paren:0,bracket:0,brace:0},G=0;while(X<$.length){let z=$[X];if((X>0?$[X-1]:"")==="\\"&&Q){X++;continue}if((z==='"'||z==="'")&&!Q){Q=z,X++;continue}if(z===Q&&Q!=="`"){Q=null,X++;continue}if(z==="`"&&!Q){Q="`",X++;continue}if(z==="`"&&Q==="`"&&G===0){Q=null,X++;continue}if(Q==="`"&&z==="$"&&$[X+1]==="{"){G++,X+=2;continue}if(G>0){if(z==="{")G++;else if(z==="}")G--;X++;continue}if(Q){X++;continue}if(z==="(")Y.paren++;else if(z===")")Y.paren--;else if(z==="[")Y.bracket++;else if(z==="]")Y.bracket--;else if(z==="{")Y.brace++;else if(z==="}")Y.brace--;if(Y.paren===0&&Y.bracket===0&&Y.brace<=0){if($.slice(X,X+J.length)===J)return X}X++}return-1}function TX($){let Z=R5($);if(Z.length===0)return{baseExpression:"",filters:[]};let J=Z[0],X=[];for(let Q=1;Q<Z.length;Q++){let Y=EX(Z[Q]);if(Y)X.push(Y)}return{baseExpression:J,filters:X}}function EX($){let Z=$.trim();if(!Z)return null;let J=Z.indexOf("(");if(J===-1)return{name:Z,args:[]};let X=Z.slice(0,J).trim(),Q=J+1,Y=w0(Z,"(",")",J);if(Y===-1)return{name:X,args:[]};let G=Z.slice(Q,Y),z=x7(G);return{name:X,args:z}}function x7($){let Z=[],J="",X={paren:0,bracket:0,brace:0},Q=null,Y=0;for(let G=0;G<$.length;G++){let z=$[G];if((G>0?$[G-1]:"")==="\\"&&Q){J+=z;continue}if((z==='"'||z==="'")&&!Q){Q=z,J+=z;continue}if(z===Q&&Q!=="`"){Q=null,J+=z;continue}if(z==="`"&&!Q){Q="`",J+=z;continue}if(z==="`"&&Q==="`"&&Y===0){Q=null,J+=z;continue}if(Q==="`"&&z==="$"&&$[G+1]==="{"){Y++,J+="${",G++;continue}if(Y>0&&z==="{"){Y++,J+=z;continue}if(Y>0&&z==="}"){Y--,J+=z;continue}if(Q){J+=z;continue}if(z==="(")X.paren++;else if(z===")")X.paren--;else if(z==="[")X.bracket++;else if(z==="]")X.bracket--;else if(z==="{")X.brace++;else if(z==="}")X.brace--;if(z===","&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(J.trim()),J="";continue}J+=z}if(J.trim())Z.push(J.trim());return Z}function bX($,Z){let J=Z;while(J<$.length&&/\s/.test($[J]))J++;if($[J]!=="(")return null;let X=w0($,"(",")",J);if(X===-1)return null;return{params:$.slice(J+1,X),endPos:X+1}}function yX($){let Z=[],X=new Y9($).tokenize().filter((Y)=>Y.type!=="WHITESPACE"&&Y.type!=="COMMENT"),Q=0;while(Q<X.length){let Y=X[Q],G=!1;if(Y.type==="IDENTIFIER"&&Y.value==="export"){if(G=!0,Q++,Q>=X.length)break}let z=X[Q];if(z.type==="IDENTIFIER"&&(z.value==="const"||z.value==="let"||z.value==="var")){let q=z.value;if(Q++,Q>=X.length)break;let K=X[Q];if(K.type==="IDENTIFIER"){let W=K.value;if(Q++,Q<X.length&&X[Q].type==="OPERATOR"&&X[Q].value==="="){Q++;let U=Q<X.length?X[Q].start:$.length,H=v7(X,Q,$);Q=H.nextIndex,Z.push({type:"variable",name:W,value:$.slice(U,H.endPos),exported:G,start:z.start,end:H.endPos})}}else if(K.type==="PUNCTUATION"&&(K.value==="{"||K.value==="[")){let W=K.start,U=K.value==="{"?"}":"]",H=w0($,K.value,U,W);if(H!==-1){let j=$.slice(W,H+1);if(Q=f7(X,H+1),Q<X.length&&X[Q].type==="OPERATOR"&&X[Q].value==="="){Q++;let B=Q<X.length?X[Q].start:$.length,V=v7(X,Q,$);Q=V.nextIndex;let F=`__stx_destructured_${Z.length}`;Z.push({type:"variable",name:F,value:`${$.slice(B,V.endPos)}; ${q} ${j} = ${F}`,exported:G,start:z.start,end:V.endPos})}}}}else if(z.type==="IDENTIFIER"&&z.value==="function"){let q=G?X[Q-1].start:z.start;if(Q++,Q>=X.length)break;let K=X[Q];if(K.type==="IDENTIFIER"){let W=K.value;Q++;let U=-1;while(Q<X.length){if(X[Q].type==="PUNCTUATION"&&X[Q].value==="{"){U=X[Q].start;break}Q++}if(U!==-1){let H=w0($,"{","}",U);if(H!==-1)Z.push({type:"function",name:W,value:$.slice(q,H+1).replace(/^export\s+/,""),exported:G,start:q,end:H+1}),Q=f7(X,H+1)}}}else Q++}return Z}function v7($,Z,J){let X=Z,Q={paren:0,bracket:0,brace:0},Y=Z<$.length?$[Z].start:J.length;while(X<$.length){let G=$[X];if(G.type==="PUNCTUATION"){if(G.value==="(")Q.paren++;else if(G.value===")")Q.paren--;else if(G.value==="[")Q.bracket++;else if(G.value==="]")Q.bracket--;else if(G.value==="{")Q.brace++;else if(G.value==="}")Q.brace--;if(G.value===";"&&Q.paren===0&&Q.bracket===0&&Q.brace===0){Y=G.start,X++;break}}if(G.type==="IDENTIFIER"&&(G.value==="const"||G.value==="let"||G.value==="var"||G.value==="function"||G.value==="export")){if(Q.paren===0&&Q.bracket===0&&Q.brace===0){Y=$[X-1]?.end??G.start;break}}Y=G.end,X++}return{nextIndex:X,endPos:Y}}function f7($,Z){for(let J=0;J<$.length;J++)if($[J].start>=Z)return J;return $.length}function CX($,Z,J){let X=$,Q=!0;while(Q){Q=!1;let Y=X.match(/@switch\s*\(/);if(!Y||Y.index===void 0)break;let G=Y.index,z=N5(X,G);if(!z)break;try{let q;if(B0(z.expression))q=H0(z.expression,Object.keys(Z))(...Object.values(Z));else q=Z0(z.expression,Z);let K="",W=!1;for(let U of z.cases)if(U.type==="default"){if(!W)K=U.content.trim()}else try{let H;if(U.value&&B0(U.value))H=H0(U.value,Object.keys(Z))(...Object.values(Z));else if(U.value)H=Z0(U.value,Z);if(q===H){K=U.content.trim(),W=!0;break}}catch{continue}X=X.substring(0,G)+K+X.substring(z.end),Q=!0}catch(q){let K=q instanceof Error?q.message:String(q),W=G0("Switch",`Error evaluating @switch expression: ${K}`,Q0.EVALUATION_ERROR);X=X.substring(0,G)+W+X.substring(z.end);break}}return X}function SX($){let Z=[];return{masked:$.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(X)=>{return Z.push(X),`\x00stx-script-${Z.length-1}\x00`}),scripts:Z}}function PX($,Z){if(Z.length===0)return $;return $.replace(/\u0000stx-script-(\d+)\u0000/g,(J,X)=>Z[Number(X)]??J)}function e0($,Z,J){let{masked:X,scripts:Q}=SX($);return PX(vX(X,Z,J),Q)}function vX($,Z,J){let X=$;X=CX(X,Z,J);{let Y=!0;while(Y){Y=!1;let G=X.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let z=G.index,q=q1(X,z+7);if(!q)break;let K=q.endPos,W=O1(X,"unless","endunless",K);if(W===-1){console.warn(`[stx] @unless directive at position ${z} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let U=X.slice(K,W),H=q.expression,j=-1;{let V=0,F=/@(?:if|unless)\s*\(/g,L=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,_=[],w;while((w=F.exec(U))!==null)_.push({pos:w.index,type:"open"});while((w=L.exec(U))!==null)_.push({pos:w.index,type:"close"});while((w=O.exec(U))!==null)_.push({pos:w.index,type:"else"});_.sort((R,N)=>R.pos-N.pos);for(let R of _)if(R.type==="open")V++;else if(R.type==="close")V--;else if(R.type==="else"&&V===0){j=R.pos;break}}let B;if(j!==-1){let V=U.slice(0,j),F=U.slice(j+5);B=`@if (${H})${F}@else ${V}@endif`}else B=`@if (!(${H}))${U}@endif`;X=X.substring(0,z)+B+X.substring(W+10),Y=!0}}X=A5(X,Z,J),X=M5(X,Z,J),X=D5(X,Z);let Q=()=>{let Y=B2(X);if(Y.length===0)return!1;let G=Array(Y.length);for(let K=Y.length-1;K>=0;K--){let W=Y[K];try{let U="",H=!1;for(let j of W.branches){if(H)break;if(j.type==="else")U=j.content,H=!0;else try{let B;if(j.condition&&B0(j.condition))B=H0(j.condition,Object.keys(Z))(...Object.values(Z));else if(j.condition)B=Z0(j.condition,Z);if(B)U=j.content,H=!0}catch(B){U=G0(j.type==="if"?"If":"Elseif",`Error in @${j.type}(${j.condition}): ${B instanceof Error?B.message:String(B)}`,Q0.EVALUATION_ERROR),H=!0}}G[K]=U}catch(U){let H=U instanceof Error?U.message:String(U);G[K]=G0("If",`Error processing @if block: ${H}`,Q0.EVALUATION_ERROR)}}let z=Array(Y.length*2+1),q=0;for(let K=0;K<Y.length;K++){let W=Y[K];z[K*2]=X.slice(q,W.start),z[K*2+1]=G[K],q=W.end}return z[Y.length*2]=X.slice(q),X=z.join(""),!0};while(!0){let Y=X;if(!Q())break;if(X===Y)break}return X}function g7($){let Z=0;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let J=$[Z];if(J!=="'"&&J!=='"')return null;Z++;let X=[];while(Z<$.length){let Q=$[Z];if(Q==="\\"&&Z+1<$.length){X.push($[Z+1]),Z+=2;continue}if(Q===J){Z++;break}X.push(Q),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:X.join(""),consumed:Z}}function D5($,Z){let J=$;function X(z,q,K,W){let U=1,H=W,j=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),B=new RegExp(`@${K}(?![a-z])`,"g");while(H<z.length&&U>0){j.lastIndex=H,B.lastIndex=H;let V=j.exec(z),F=B.exec(z),L=V?V.index:1/0,O=F?F.index:1/0;if(L<O)U++,H=L+V[0].length;else if(O<1/0){if(U--,U===0)return O;H=O+F[0].length}else break}return-1}function Q(z,q,K){let W=0,U=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),H=new RegExp(`@${K}(?![a-z])`,"g"),j=/@else(?![a-z])/g,B=[],V;while((V=U.exec(z))!==null)B.push({pos:V.index,type:"open"});while((V=H.exec(z))!==null)B.push({pos:V.index,type:"close"});while((V=j.exec(z))!==null)B.push({pos:V.index,type:"else"});B.sort((F,L)=>F.pos-L.pos);for(let F of B)if(F.type==="open")W++;else if(F.type==="close")W--;else if(F.type==="else"&&W===0)return F.pos;return-1}{let z=!0;while(z){z=!1;let q=J.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let K=q.index,W,U,H=J.slice(K+5),j=g7(H);if(j)W=j.value,U=K+5+j.consumed;else U=K+5;let B=X(J,"auth","endauth",U);if(B===-1){console.warn(`[stx] @auth directive at position ${K} has no matching @endauth \u2014 the block was skipped.`);break}let V=J.slice(U,B),F=Q(V,"auth","endauth"),L;if(!Z.auth)L=!1;else L=W?z1(`auth?.check && auth?.user?.[${W}]`,Z):z1("auth?.check",Z);let O;if(F!==-1){let _=V.slice(0,F),w=V.slice(F+5);O=L?_:w}else O=L?V:"";J=J.substring(0,K)+O+J.substring(B+8),z=!0}}{let z=!0;while(z){z=!1;let q=J.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let K=q.index,W,U,H=J.slice(K+6),j=g7(H);if(j)W=j.value,U=K+6+j.consumed;else U=K+6;let B=X(J,"guest","endguest",U);if(B===-1){console.warn(`[stx] @guest directive at position ${K} has no matching @endguest \u2014 the block was skipped.`);break}let V=J.slice(U,B),F=Q(V,"guest","endguest"),L;if(!Z.auth)L=!0;else L=W?z1(`!auth?.check || !auth?.user?.[${W}]`,Z):z1("!auth?.check",Z);let O;if(F!==-1){let _=V.slice(0,F),w=V.slice(F+5);O=L?_:w}else O=L?V:"";J=J.substring(0,K)+O+J.substring(B+9),z=!0}}function Y(z,q,K){if(Z.userCan&&typeof Z.userCan[z]==="boolean")return Z.userCan[z];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let W=[z];if(q)W.push(q);if(K){let U=z1(K,Z);W.push(U)}return Z.permissions.check(...W)}catch{return!1}return!1}function G(z){let q=z.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!q)return null;return{ability:q[1],type:q[2],id:q[3]?.trim(),paramsEnd:q[0].length}}for(let z of["can","cannot"]){let q=`end${z}`,K=z==="can"?"elsecan":"elsecannot",W=!0;while(W){W=!1;let U=J.match(new RegExp(`@${z}\\s*\\(`));if(!U||U.index===void 0)break;let H=U.index,j=J.slice(H+`@${z}`.length),B=G(j);if(!B)break;let V=H+`@${z}`.length+B.paramsEnd,F=X(J,z,q,V);if(F===-1){console.warn(`[stx] @${z} directive at position ${H} has no matching @${q} \u2014 the block was skipped.`);break}let L=J.slice(V,F),O=[],_=0,w=new RegExp(`@${z}\\s*\\(`,"g"),R=new RegExp(`@${q}(?![a-z])`,"g"),N=new RegExp(`@${K}\\s*\\(`,"g"),A=/@else(?![a-z])/g,k=[],D;while((D=w.exec(L))!==null)k.push({pos:D.index,type:"open"});while((D=R.exec(L))!==null)k.push({pos:D.index,type:"close"});while((D=N.exec(L))!==null)k.push({pos:D.index,type:"elseDirective"});while((D=A.exec(L))!==null)k.push({pos:D.index,type:"else"});k.sort((y,b)=>y.pos-b.pos);for(let y of k){if(y.type==="open"){_++;continue}if(y.type==="close"){_--;continue}if(_===0)O.push(y)}let I=[],T=0;for(let y=0;y<O.length;y++){let b=O[y];if(I.push({content:L.slice(T,b.pos),ability:void 0}),b.type==="elseDirective"){let P=L.slice(b.pos+`@${K}`.length),g=G(P);if(g){I[I.length-1]={content:L.slice(T,b.pos)},T=b.pos+`@${K}`.length+g.paramsEnd,I.push({content:"",ability:g.ability,type:g.type,id:g.id}),I.pop();let c=O[y+1],l=c?c.pos:L.length;I.push({content:L.slice(T,l),ability:g.ability,type:g.type,id:g.id}),T=l}}else T=b.pos+5}if(T<L.length){let y=I[I.length-1];if(O.length>0&&O[O.length-1].type==="else")I.push({content:L.slice(T),isFinalElse:!0});else if(I.length===0)I.push({content:L.slice(T)})}let M=Y(B.ability,B.type,B.id),E=z==="can"?M:!M,C="";if(E)C=I[0]?.content||"";else{let y=!1;for(let b=1;b<I.length;b++){let P=I[b];if(P.isFinalElse){C=P.content,y=!0;break}if(P.ability){let g=Y(P.ability,P.type,P.id);if(z==="can"?g:!g){C=P.content,y=!0;break}}}if(!y&&I.length>0){let b=I[I.length-1];if(b.isFinalElse)C=b.content}}J=J.substring(0,H)+C+J.substring(F+`@${q}`.length),W=!0}}return J}function A5($,Z,J){let X=$;function Q(Y,G,z,q,K){let W=!0;while(W){W=!1;let U=new RegExp(`@${G}\\s*\\(`),H=Y.match(U);if(!H||H.index===void 0)break;let j=H.index,B=q1(Y,j+`@${G}`.length);if(!B)break;let V=B.endPos,F=O1(Y,G,z,V);if(F===-1){console.warn(`[stx] @${G} directive at position ${j} has no matching @${z} \u2014 the block was skipped.`);break}let L=Y.slice(V,F),O=B.expression,_=-1,w=0,R=0;while(R<L.length){let N=L.indexOf("@",R);if(N===-1)break;let A=L.substring(N);if(/^@(?:if|unless|isset|empty)\s*\(/.test(A)){w++,R=N+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(A)){w--,R=N+1;continue}if(w===0&&/^@else(?![a-z])/.test(A)){_=N;break}R=N+1}try{let N=q(O.trim()),A;if(_!==-1){let k=L.slice(0,_),D=L.slice(_+5);A=N?k:D}else A=N?L:"";Y=Y.substring(0,j)+A+Y.substring(F+`@${z}`.length),W=!0}catch(N){let A=N instanceof Error?N.message:String(N),k=G0(K,`Error processing @${G} directive: ${A}`,Q0.EVALUATION_ERROR);Y=Y.substring(0,j)+k+Y.substring(F+`@${z}`.length);break}}return Y}return X=Q(X,"isset","endisset",(Y)=>{let G=z1(Y,Z);return G!==void 0&&G!==null},"Isset"),X=Q(X,"empty","endempty",(Y)=>{let G=z1(Y,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 M5($,Z,J){let X=$,Q="development";function Y(G,z,q,K){let W=new RegExp(`@${z}(?![a-z])`,"g"),U=new RegExp(`@${q}(?![a-z])`,"g"),H=new RegExp(`^@${z}(?![a-z])`),j=new RegExp(`^@${q}(?![a-z])`),B=G,V=!0;while(V){V=!1,W.lastIndex=0;let F=W.exec(B);if(!F)break;let L=F.index,O=L+F[0].length;if(z==="env"){let M=B.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!M)break;O+=M[0].length,K=Q===M[2]}let _=1,w=O,R=-1;while(_>0&&w<B.length){W.lastIndex=w,U.lastIndex=w;let M=W.exec(B),E=U.exec(B),C=M?M.index:1/0,y=E?E.index:1/0;if(C<y)_++,w=C+M[0].length;else if(y<1/0){if(_--,_===0){R=y;break}w=y+E[0].length}else break}if(R===-1){console.warn(`[stx] @${z} directive at position ${L} has no matching @${q} \u2014 the block was skipped.`);break}let N=B.substring(O,R),A=-1,k=0,D=0;while(D<N.length){let M=N.indexOf("@",D);if(M===-1)break;let E=N.substring(M);if(H.test(E)){k++,D=M+1;continue}if(j.test(E)){k--,D=M+1;continue}if(k===0&&/^@else(?![a-z])/.test(E)){A=M;break}D=M+1}let I;if(A!==-1){let M=N.slice(0,A),E=N.slice(A+5);I=K?M:E}else I=K?N:"";let T=`@${q}`.length;B=B.substring(0,L)+I+B.substring(R+T),V=!0}return B}return X=Y(X,"env","endenv",!1),X=Y(X,"production","endproduction",Q==="production"),X=Y(X,"development","enddevelopment",Q==="development"),X=Y(X,"staging","endstaging",Q==="staging"),X=Y(X,"testing","endtesting",Q==="testing"),X}var I5=new WeakMap;function h7($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function F1($,Z){if(!$)return Z?.nonceGenerator?.()??h7();let J=I5.get($);if(!J)J=Z?.nonceGenerator?.()??h7(),I5.set($,J);return J}function aW($){I5.delete($)}function u7($,Z){let J=[];for(let[X,Q]of Object.entries($)){if(Q===void 0||Q===null)continue;if(typeof Q==="boolean"){if(Q)J.push(X);continue}if(Array.isArray(Q)){let Y=[...Q];if(Z&&(X==="script-src"||X==="style-src"))Y=Y.filter((G)=>!G.startsWith("'nonce-")),Y.push(`'nonce-${Z}'`);if(Y.length>0)J.push(`${X} ${Y.join(" ")}`)}}return J.join("; ")}function T5($,Z){return`<meta http-equiv="Content-Security-Policy" content="${u7($,Z).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}var fX={"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},k5={"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},xX={"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'"]},gX={"default-src":["'none'"],"frame-ancestors":["'none'"]};function tW($){return{enabled:!0,directives:{strict:fX,moderate:k5,relaxed:xX,api:gX}[$]||k5,useNonce:$==="strict",addMetaTag:!0}}function eW($,Z){let J={...$};for(let[X,Q]of Object.entries(Z)){let Y=X,G=J[Y];if(Q===void 0||Q===null)continue;if(typeof Q==="boolean")J[Y]=G||Q;else if(Array.isArray(Q)){let z=Array.isArray(G)?G:[],q=[...new Set([...z,...Q])];J[Y]=q}}return J}function d7($,Z,J){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let X=Z.useNonce?F1(J,Z):void 0,Q=T5(Z.directives,X);return $.replace(/<head([^>]*)>/,`<head$1>
3225
+ ${Q}`)}function m7($,Z){let J=$;return J=J.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(X,Q)=>{if(Q.includes("nonce="))return X;return`<script nonce="${Z}"${Q}>`}),J=J.replace(/<style([^>]*)>/gi,(X,Q)=>{if(Q.includes("nonce="))return X;return`<style nonce="${Z}"${Q}>`}),J}function l7($,Z,J,X){let Q=$,Y=X.csp;if(Q=Q.replace(/@csp\b/g,()=>{if(!Y?.enabled||!Y.directives)return"<!-- CSP not configured -->";let G=Y.useNonce?F1(Z,Y):void 0;return T5(Y.directives,G)}),Q=Q.replace(/@cspNonce\b/g,()=>{if(!Y?.enabled||!Y.useNonce)return"";return F1(Z,Y)}),Y?.enabled&&Y.useNonce)Z.cspNonce=F1(Z,Y);return Q}var hX={name:"csp",handler:($,Z,J,X)=>{let Y=J.__stx_options?.csp;if(!Y?.enabled||!Y.directives)return"<!-- CSP not configured -->";let G=Y.useNonce?F1(J,Y):void 0;return T5(Y.directives,G)},hasEndTag:!1,description:"Insert Content-Security-Policy meta tag"},uX={name:"cspNonce",handler:($,Z,J,X)=>{let Y=J.__stx_options?.csp;if(!Y?.enabled||!Y.useNonce)return"";return F1(J,Y)},hasEndTag:!1,description:"Output the current CSP nonce value"};function $U(){return[hX,uX]}function ZU($){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[J,X]of Object.entries($))if(Array.isArray(X)&&X.includes("http:"))Z.push(`CSP: Using http: in ${J} allows insecure resources`);return Z}function dX($=!1){return $?"Content-Security-Policy-Report-Only":"Content-Security-Policy"}function JU($,Z){if(!$.enabled)return{};let J=$.useNonce?F1(Z,$):void 0,X=u7($.directives,J);return{[dX($.reportOnly)]:X}}var XU={enabled:!1,reportOnly:!1,directives:k5,useNonce:!1,addMetaTag:!0};import mX from"crypto";var lX=40,c7="_token",E5=null;function cX($=lX){let Z=mX.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return E5=Z,Z}function pX(){if(!E5)cX();return E5}function iX($=c7){let Z=pX();return`<input type="hidden" name="${$}" value="${Z}">`}function p7($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,J,X)=>{return iX(X||c7)})}async function i7($,Z,J,X){if(!X.customDirectives||X.customDirectives.length===0)return $;let Q=$;for(let Y of X.customDirectives){if(!Y.name||typeof Y.handler!=="function"){if(X.debug)console.warn("Invalid custom directive:",Y);continue}if(Y.hasEndTag)Q=await nX(Q,Y,Z,J,X);else Q=await sX(Q,Y,Z,J,X)}return Q}async function nX($,Z,J,X,Q){let{name:Y,handler:G}=Z,z=`@${Y}`,q=`@end${Y}`,K=$,W=v1(`${z}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),U=[],H=W.exec(K);while(H!==null){let[j,B="",V=""]=H,F=H.index||0;try{let L=B?n7(B):[],O=V.trim(),_=await G(O,L,J,X);U.push({original:j,processed:_,startIndex:F})}catch(L){let O=L instanceof Error?L.message:String(L);if(Q.debug)console.error(`Error processing custom directive @${Y}:`,L);U.push({original:j,processed:G0("CustomDirective",`Error in @${Y}${B?`(${B})`:""}: ${O}`,Q0.EVALUATION_ERROR),startIndex:F})}H=W.exec(K)}for(let j=U.length-1;j>=0;j--){let{original:B,processed:V}=U[j];K=K.replace(B,V)}return K}async function sX($,Z,J,X,Q){let{name:Y,handler:G}=Z,z=$,q=v1(`@${Y}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),K=[],W=q.exec(z);while(W!==null){let[j,B=""]=W,V=W.index||0;try{let F=n7(B),L=await G("",F,J,X);K.push({original:j,processed:L,startIndex:V})}catch(F){let L=F instanceof Error?F.message:String(F);if(Q.debug)console.error(`Error processing custom directive @${Y}:`,F);K.push({original:j,processed:G0("CustomDirective",`Error in @${Y}(${B}): ${L}`,Q0.EVALUATION_ERROR),startIndex:V})}W=q.exec(z)}let U=v1(`@${Y}(?!\\w)(?!\\s*\\()`,"g"),H=U.exec(z);while(H!==null){let[j]=H,B=H.index||0;try{let V=await G("",[],J,X);K.push({original:j,processed:V,startIndex:B})}catch(V){let F=V instanceof Error?V.message:String(V);if(Q.debug)console.error(`Error processing custom directive @${Y}:`,V);K.push({original:j,processed:G0("CustomDirective",`Error in @${Y}: ${F}`,Q0.EVALUATION_ERROR),startIndex:B})}H=U.exec(z)}for(let j=K.length-1;j>=0;j--){let{original:B,processed:V}=K[j];z=z.replace(B,V)}return z}function n7($){if(!$.trim())return[];let Z=[],J="",X=!1,Q="";for(let Y=0;Y<$.length;Y++){let G=$[Y];if((G==='"'||G==="'")&&(Y===0||$[Y-1]!=="\\"))if(!X)X=!0,Q=G;else if(G===Q)X=!1;else J+=G;else if(G===","&&!X)Z.push(J.trim()),J="";else J+=G}if(J.trim())Z.push(J.trim());return Z.map((Y)=>{let G=Y.trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))return G.substring(1,G.length-1);return G})}var s7=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,o7=/^[A-Za-z_$][\w$]*$/,oX=new Set(["light","dark","system"]);function w1($,Z){if(typeof $!=="string"||$.length===0)throw Error(`@appearanceBootstrap ${Z} must be a non-empty string`)}function rX($){if(!$||typeof $!=="object"||Array.isArray($))throw Error("@appearanceBootstrap expects an options object");let Z=$,J=Z.appearance,X=Z.colorMode;if(w1(Z.storageKey,"storageKey"),!J||typeof J!=="object"||Array.isArray(J))throw Error("@appearanceBootstrap appearance must be an object");if(!X||typeof X!=="object"||Array.isArray(X))throw Error("@appearanceBootstrap colorMode must be an object");if(w1(J.key,"appearance.key"),w1(J.attribute,"appearance.attribute"),w1(J.default,"appearance.default"),w1(X.key,"colorMode.key"),w1(X.attribute,"colorMode.attribute"),w1(X.default,"colorMode.default"),!o7.test(J.key)||!o7.test(X.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!s7.test(J.attribute)||!s7.test(X.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(J.allowed)||J.allowed.length===0||J.allowed.some((Q)=>typeof Q!=="string"||Q.length===0))throw Error("@appearanceBootstrap appearance.allowed must contain one or more strings");if(!J.allowed.includes(J.default))throw Error("@appearanceBootstrap appearance.default must be in appearance.allowed");if(!oX.has(X.default))throw Error("@appearanceBootstrap colorMode.default must be light, dark, or system");return{storageKey:Z.storageKey,appearance:{key:J.key,attribute:J.attribute,allowed:[...new Set(J.allowed)],default:J.default},colorMode:{key:X.key,attribute:X.attribute,default:X.default}}}function aX($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function tX($){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${aX($)};const root=document.documentElement;const MODES=["light","dark","system"];function read(){let stored={};try{const raw=localStorage.getItem(config.storageKey);const parsed=raw?JSON.parse(raw):{};if(parsed&&typeof parsed==="object"&&!Array.isArray(parsed))stored=parsed}catch{}return stored}function write(stored){try{localStorage.setItem(config.storageKey,JSON.stringify(stored))}catch{}}function resolve(){const stored=read();return{appearance:config.appearance.allowed.includes(stored[config.appearance.key])?stored[config.appearance.key]:config.appearance.default,colorMode:MODES.includes(stored[config.colorMode.key])?stored[config.colorMode.key]:config.colorMode.default}}function prefersDark(){try{return matchMedia("(prefers-color-scheme: dark)").matches}catch{return false}}function apply(){const state=resolve();const dark=state.colorMode==="dark"||(state.colorMode==="system"&&prefersDark());root.setAttribute("data-"+config.appearance.attribute,state.appearance);root.setAttribute("data-"+config.colorMode.attribute,state.colorMode);root.classList.toggle("dark",dark);root.dataset.theme=dark?"dark":"light";state.dark=dark;try{window.dispatchEvent(new CustomEvent("stx:appearance",{detail:state}))}catch{}return state}function store(key,allowed,value){if(allowed.includes(value)){const stored=read();stored[key]=value;write(stored)}return apply()}window.__stxAppearance={config:config,read:read,resolve:resolve,apply:apply,setColorMode:function(mode){return store(config.colorMode.key,MODES,mode)},setAppearance:function(name){return store(config.appearance.key,config.appearance.allowed,name)},watchSystem:function(){try{matchMedia("(prefers-color-scheme: dark)").addEventListener("change",function(){if(resolve().colorMode==="system")apply()})}catch{}}};apply()}());</script>`}function eX($,Z){let J=1,X=null,Q=!1;for(let Y=Z+1;Y<$.length;Y++){let G=$[Y];if(Q){Q=!1;continue}if(X){if(G==="\\")Q=!0;else if(G===X)X=null;continue}if(G==='"'||G==="'"||G==="`"){X=G;continue}if(G==="(")J++;else if(G===")"&&--J===0)return Y}return-1}function r7($,Z){let J=$,X=/@appearanceBootstrap\s*\(/g,Q;while((Q=X.exec(J))!==null){let Y=Q.index+Q[0].length-1,G=eX(J,Y);if(G===-1)throw Error("@appearanceBootstrap has an unclosed options object");let z=J.slice(Y+1,G).trim(),q=Z0(`(${z})`,Z),K=tX(rX(q));J=J.slice(0,Q.index)+K+J.slice(G+1),X.lastIndex=Q.index+K.length}return J}import $Y from"crypto";function R0($){return String($??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var y5={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"};function ZY($){return{...y5,...$.forms?.classes}}function G9($,Z,J,X){let Q=$||Z;return J?`${Q} ${X}`:Q}function u0($){return String($).replace(/\[\]$/,"").replace(/[^\w.:-]+/g,"-").replace(/^-+|-+$/g,"")}function f1($,Z){if(/\bid\s*=/i.test($))return"";return` id="${R0(Z)}"`}function b5($,Z,J){if(!Z)return"";let X="";if(!/\baria-invalid\s*=/i.test(J))X+=' aria-invalid="true"';if(!/\baria-describedby\s*=/i.test(J))X+=` aria-describedby="${R0(`${u0($)}-error`)}"`;return X}function JY(){return $Y.randomUUID()}function BU($,Z,J,X){let Q=ZY(X),Y=$;return Y=YY(Y,Z),Y=L2(Y,Z),Y=C5(Y,Z,Q),Y=S5(Y,Z,Q),Y}function L2($,Z){let J=$;return J=J.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let X=JY();Z.csrf={token:X}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${R0(Z.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),J=J.replace(/@method\(['"]([^'"]+)['"]\)/g,(X,Q)=>{let Y=Q.toUpperCase();if(Q&&!["GET","POST"].includes(Y))return`<input type="hidden" name="_method" value="${R0(Y)}">`;return X}),J}function C5($,Z,J=y5){let X=$;return X=X.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(Q,Y,G,z,q,K="")=>{let W=Y||G||"POST",U=z||q||"",H=K1(K),j=W.toUpperCase(),B=["GET","POST"].includes(j)?j:"POST",V=`<form method="${R0(B)}" action="${R0(U)}"${H?` ${H}`:""}>`;if(V+=`
3226
+ ${L2("@csrf",Z)}`,!["GET","POST"].includes(j))V+=`
3227
+ ${L2(`@method('${j}')`,Z)}`;return V}),X=X.replace(/@endform/g,"</form>"),X=X.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(Q,Y,G,z,q,K="")=>{let W=Y||G||"",U=z||q||"",H=K1(K),j=V2(W,Z),B=j!==void 0&&j!==null?j:U||"",V=H.match(/type=['"]([^'"]+)['"]/i),F=V?V[1]:"text",L=_2(W,Z),O=H.match(/class=['"]([^'"]+)['"]/i),_=G9(O?O[1]:"",J.input,L,J.inputError),w=H.replace(/class=['"][^'"]+['"]/i,"");return w=w.replace(/type=['"][^'"]+['"]/i,""),`<input type="${R0(F)}" name="${R0(W)}"${f1(H,u0(W))} value="${R0(B)}" class="${_}"${b5(W,L,H)}${w?` ${w}`:""}>`}),X=X.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Q,Y,G="",z="")=>{let q=K1(G),K=V2(Y,Z)||z.trim(),W=_2(Y,Z),U=q.match(/class=['"]([^'"]+)['"]/i),H=G9(U?U[1]:"",J.input,W,J.inputError),j=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${R0(Y)}"${f1(q,u0(Y))} class="${H}"${b5(Y,W,q)}${j?` ${j}`:""}>${R0(K)}</textarea>`}),X=X.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Q,Y,G="",z)=>{let q=K1(G),K=V2(Y,Z),W=_2(Y,Z),U=q.match(/class=['"]([^'"]+)['"]/i),H=G9(U?U[1]:"",J.input,W,J.inputError),j=q.replace(/class=['"][^'"]+['"]/i,""),B=z;if(K!==void 0)B=z.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(V,F,L)=>{if((Array.isArray(K)?K.some((_)=>String(_)===L):String(K)===L)&&!F.includes("selected"))return F.replace(/(<option)/,"$1 selected");return V});return`<select name="${R0(Y)}"${f1(q,u0(Y))} class="${H}"${b5(Y,W,q)}${j?` ${j}`:""}>${B}</select>`}),X=X.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(Q,Y,G,z="")=>{let q=G===void 0?"1":G,K=G===void 0?u0(Y):`${u0(Y)}-${u0(q)}`,W=K1(z),U=V2(Y,Z),H=U!==void 0&&(Array.isArray(U)?U.some((F)=>String(F)===q):U===!0||String(U)===q),j=W.match(/class=['"]([^'"]+)['"]/i),B=j?j[1]:J.checkInput,V=W.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${R0(Y)}"${f1(W,K)} value="${R0(q)}" class="${B}"${H?" checked":""}${V?` ${V}`:""}>`}),X=X.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,Y,G,z="")=>{let q=K1(z),K=V2(Y,Z),W=K!==void 0&&K===G,U=q.match(/class=['"]([^'"]+)['"]/i),H=U?U[1]:J.checkInput,j=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${R0(Y)}"${f1(q,`${u0(Y)}-${u0(G)}`)} value="${R0(G)}" class="${H}"${W?" checked":""}${j?` ${j}`:""}>`}),X=X.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,Y,G="")=>{let z=K1(G),q=z.match(/accept=['"]([^'"]+)['"]/i),K=q?q[1]:"",W=z.includes("multiple"),U=_2(Y,Z),H=z.match(/class=['"]([^'"]+)['"]/i),j=G9(H?H[1]:"",J.input,U,J.inputError),B=z.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),V=[`<input type="file" name="${R0(Y)}"${f1(z,u0(Y))}`,`class="${j}"`];if(K)V.push(`accept="${R0(K)}"`);if(W)V.push("multiple");if(B)V.push(B);return`${V.join(" ")}>`}),X=X.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(Q,Y,G="",z)=>{let q=K1(G),K=q.match(/class=['"]([^'"]+)['"]/i),W=K?K[1]:J.label,U=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${R0(u0(Y))}" class="${W}"${U?` ${U}`:""}>${z}</label>`}),X}function S5($,Z,J=y5){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(X,Q,Y)=>{try{if(_2(Q,Z)){let G=Y.replace(/\{\{([^}]+)\}\}/g,(z,q)=>{try{if(q.trim()==="$message"||q.trim()==="message")return a7(Q,Z);if(q.trim().includes("errors.first")||q.trim().includes("$errors.first")){if(typeof Z.errors?.first==="function")return Z.errors.first(Q);return a7(Q,Z)}let K=q.trim();if(B0(K)){let W=Z0(K,Z);return W!==void 0?String(W):K}return K}catch{return q}});return`<div id="${R0(`${u0(Q)}-error`)}" role="alert">${G}</div>`}return""}catch(G){return console.error("Error processing @error directive:",G),X}})}function _2($,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 a7($,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 J=Z.errors[$];return Array.isArray(J)?J[0]:String(J)}return""}function V2($,Z){let J;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(J=Z[X],J!==void 0)return J}return Z[$]}function K1($){if(!$.trim())return"";let Z=[],J=$.trim(),X=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,Q;while((Q=X.exec(J))!==null){let[,Y,,G]=Q;Z.push(`${Y}="${G.trim()}"`)}return Z.join(" ")}var t7={required:($,Z,J)=>{if($===void 0||$===null||$===""||Array.isArray($)&&$.length===0)return`The ${J} field is required.`;return null},email:($,Z,J)=>{if(!$)return null;if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($)))return`The ${J} field must be a valid email address.`;return null},min:($,Z,J)=>{if(!$)return null;let X=Number(Z[0]);if(typeof $==="string"&&$.length<X)return`The ${J} field must be at least ${X} characters.`;if(typeof $==="number"&&$<X)return`The ${J} field must be at least ${X}.`;if(Array.isArray($)&&$.length<X)return`The ${J} field must have at least ${X} items.`;return null},max:($,Z,J)=>{if(!$)return null;let X=Number(Z[0]);if(typeof $==="string"&&$.length>X)return`The ${J} field must not exceed ${X} characters.`;if(typeof $==="number"&&$>X)return`The ${J} field must not exceed ${X}.`;if(Array.isArray($)&&$.length>X)return`The ${J} field must not have more than ${X} items.`;return null},confirmed:($,Z,J)=>{if(Z[0]!==void 0&&$!==Z[0])return`The ${J} confirmation does not match.`;return null},numeric:($,Z,J)=>{if(!$)return null;if(Number.isNaN(Number($)))return`The ${J} field must be a number.`;return null},integer:($,Z,J)=>{if(!$)return null;if(!Number.isInteger(Number($)))return`The ${J} field must be an integer.`;return null},alpha:($,Z,J)=>{if(!$)return null;if(!/^[a-z]+$/i.test(String($)))return`The ${J} field must only contain letters.`;return null},alphanumeric:($,Z,J)=>{if(!$)return null;if(!/^[a-z0-9]+$/i.test(String($)))return`The ${J} field must only contain letters and numbers.`;return null},url:($,Z,J)=>{if(!$)return null;try{return new URL(String($))?null:null}catch{return`The ${J} field must be a valid URL.`}},regex:($,Z,J)=>{if(!$)return null;try{if(!new RegExp(Z[0]).test(String($)))return`The ${J} field format is invalid.`;return null}catch{return`The ${J} field has an invalid validation pattern.`}},in:($,Z,J)=>{if(!$)return null;if(!Z.includes(String($)))return`The ${J} field must be one of: ${Z.join(", ")}.`;return null},notIn:($,Z,J)=>{if(!$)return null;if(Z.includes(String($)))return`The ${J} field must not be: ${Z.join(", ")}.`;return null},date:($,Z,J)=>{if(!$)return null;let X=new Date($);if(Number.isNaN(X.getTime()))return`The ${J} field must be a valid date.`;return null},before:($,Z,J)=>{if(!$)return null;let X=new Date($),Q=new Date(Z[0]);if(X>=Q)return`The ${J} field must be before ${Z[0]}.`;return null},after:($,Z,J)=>{if(!$)return null;let X=new Date($),Q=new Date(Z[0]);if(X<=Q)return`The ${J} field must be after ${Z[0]}.`;return null}};function VU($,Z){t7[$]=Z}function P5($){let[Z,...J]=$.split(":"),X=J.length>0?J.join(":").split(","):[];return{name:Z.trim(),params:X}}function XY($,Z,J,X={}){let Q=[],Y=J.split("|").map((G)=>G.trim()).filter(Boolean);for(let G of Y){let z=P5(G),q=t7[z.name];if(!q){console.warn(`Unknown validation rule: ${z.name}`);continue}if(z.name==="confirmed"){let W=`${$}_confirmation`;z.params=[X[W]]}let K=q(Z,z.params||[],$);if(K)Q.push(z.message||K)}return{field:$,valid:Q.length===0,errors:Q}}function _U($,Z){let J={};for(let[X,Q]of Object.entries(Z)){let Y=XY(X,$[X],Q,$);if(!Y.valid)J[X]=Y.errors}return J}function YY($,Z){return $.replace(/@validate\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]*)\})?\s*\)/g,(J,X,Q,Y)=>{let G=Q.split("|").map((q)=>q.trim()),z=[];for(let q of G){let K=P5(q);switch(K.name){case"required":z.push("required");break;case"email":z.push('type="email"');break;case"url":z.push('type="url"');break;case"numeric":case"integer":if(z.push('type="number"'),K.name==="integer")z.push('step="1"');break;case"min":if(K.params?.[0])z.push(`minlength="${K.params[0]}"`);break;case"max":if(K.params?.[0])z.push(`maxlength="${K.params[0]}"`);break;case"regex":if(K.params?.[0])z.push(`pattern="${K.params[0]}"`);break}}return`<!-- @validate:${X}:${Q} -->${z.length>0?`<!-- attrs:${z.join(" ")} -->`:""}`})}var e7={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 J=Number(Z[0]);if(typeof $==="string")return $.length>=J||`Must be at least ${J} characters`;if(typeof $==="number")return $>=J||`Must be at least ${J}`;if(Array.isArray($))return $.length>=J||`Must have at least ${J} items`;return!0},toHtml5:($)=>[`minlength="${$[0]}"`,`min="${$[0]}"`],message:"Must be at least {{param}} characters"},max:{name:"max",validate:($,Z)=>{if(!$)return!0;let J=Number(Z[0]);if(typeof $==="string")return $.length<=J||`Must be no more than ${J} characters`;if(typeof $==="number")return $<=J||`Must be no more than ${J}`;if(Array.isArray($))return $.length<=J||`Must have no more than ${J} 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[J,X]=Z.map(Number);if(typeof $==="string")return $.length>=J&&$.length<=X||`Must be between ${J} and ${X} characters`;if(typeof $==="number")return $>=J&&$<=X||`Must be between ${J} and ${X}`;return!0},toHtml5:($)=>[`minlength="${$[0]}"`,`maxlength="${$[1]}"`],message:"Must be between {{min}} and {{max}}"},confirmed:{name:"confirmed",validate:($,Z,J)=>{let X=Object.keys(J);for(let Q of X)if(Q.endsWith("_confirmation")&&J[Q]===$)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 J=new Date(String($)),X=new Date(Z[0]);return J<X||`Must be before ${Z[0]}`},toHtml5:($)=>[`max="${$[0]}"`],message:"Must be before {{date}}"},after:{name:"after",validate:($,Z)=>{if(!$)return!0;let J=new Date(String($)),X=new Date(Z[0]);return J>X||`Must be after ${Z[0]}`},toHtml5:($)=>[`min="${$[0]}"`],message:"Must be after {{date}}"},size:{name:"size",validate:($,Z)=>{if(!$)return!0;let J=Number(Z[0]);if(typeof $==="string")return $.length===J||`Must be exactly ${J} characters`;if(Array.isArray($))return $.length===J||`Must have exactly ${J} 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"}};function LU($){e7[$.name]=$}function QY($,Z,J={}){let X=[],Q=Z.split("|").map((Y)=>Y.trim());for(let Y of Q){let G=P5(Y),z=e7[G.name];if(!z){console.warn(`Unknown validation rule: ${G.name}`);continue}let q=z.validate($,G.params||[],J);if(q!==!0)X.push(q)}return{valid:X.length===0,errors:X}}function OU($,Z){let J={},X=!0;for(let[Q,Y]of Object.entries(Z)){let G=QY($[Q],Y,$);if(!G.valid)X=!1,J[Q]=G.errors}return{valid:X,errors:J}}function FU($,Z){let J=JSON.stringify(Z);return`
3228
+ <script>
3229
+ (function() {
3230
+ const form = document.getElementById('${$}');
3231
+ if (!form) return;
3232
+
3233
+ const rules = ${J};
3234
+ const validators = {
3235
+ required: (v) => v !== null && v !== undefined && v !== '' ? true : 'This field is required',
3236
+ email: (v) => !v || /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(v) ? true : 'Please enter a valid email',
3237
+ url: (v) => { if (!v) return true; try { new URL(v); return true; }
3238
+ catch { return 'Please enter a valid URL'; } },
3239
+ numeric: (v) => !v || !isNaN(Number(v)) ? true : 'Please enter a number',
3240
+ integer: (v) => !v || Number.isInteger(Number(v)) ? true : 'Please enter a whole number',
3241
+ min: (v, p) => !v || (typeof v === 'string' ? v.length >= p : v >= p) ? true : 'Too short/small',
3242
+ max: (v, p) => !v || (typeof v === 'string' ? v.length <= p : v <= p) ? true : 'Too long/large',
3243
+ regex: (v, p) => !v || new RegExp(p).test(v) ? true : 'Invalid format',
3244
+ };
3245
+
3246
+ form.addEventListener('submit', function(e) {
3247
+ let valid = true;
3248
+ const errors = {};
3249
+
3250
+ for (const [field, fieldRules] of Object.entries(rules)) {
3251
+ const input = form.querySelector('[name="' + field + '"]');
3252
+ if (!input) continue;
3253
+
3254
+ const value = input.value;
3255
+ const ruleList = fieldRules.split('|');
3256
+
3257
+ for (const rule of ruleList) {
3258
+ const [name, param] = rule.split(':');
3259
+ const validator = validators[name];
3260
+ if (validator) {
3261
+ const result = validator(value, param);
3262
+ if (result !== true) {
3263
+ valid = false;
3264
+ errors[field] = errors[field] || [];
3265
+ errors[field].push(result);
3266
+ input.classList.add('is-invalid');
3267
+ break;
3268
+ }
3269
+ }
3270
+ }
3271
+ }
3272
+
3273
+ if (!valid) {
3274
+ e.preventDefault();
3275
+ console.log('Validation errors:', errors);
3276
+ }
3277
+ });
3278
+ })();
3279
+ </script>`.trim()}var O2=/<\/?template\b[^>]*>/gi,GY=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i;function zY($){let Z=$.replace(/^<template\b/i,"").replace(/>$/,"");return GY.test(Z)}function z9($){O2.lastIndex=0;let Z;while((Z=O2.exec($))!==null){if(Z[0].startsWith("</")||zY(Z[0]))continue;let J=Z.index,X=O2.lastIndex,Q=1,Y;while((Y=O2.exec($))!==null)if(Y[0].startsWith("</")){if(Q--,Q===0){let G=Y.index;return{start:J,openEnd:X,closeStart:G,end:O2.lastIndex,content:$.slice(X,G)}}}else Q++;return null}return null}import q0 from"path";import{existsSync as dY}from"fs";import q9 from"fs";import V0 from"path";var $4=new Map;function Z4($,Z=!0){let J=$4.get($);if(Z&&J)return J;let X=new Map,Q=[V0.join($,"src"),V0.join($,"dist"),$];function Y(G,z){if(z>6)return;let q;try{q=q9.readdirSync(G,{withFileTypes:!0})}catch{return}for(let K of q){let W=V0.join(G,K.name);if(K.isDirectory()){if(K.name==="node_modules"||K.name.startsWith("."))continue;Y(W,z+1)}else if(K.isFile()&&K.name.endsWith(".stx")){let U=K.name.slice(0,-4);if(!X.has(U))X.set(U,W);let H=U.toLowerCase();if(!X.has(H))X.set(H,W);let j=U.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!X.has(j))X.set(j,W)}}}for(let G of Q)if(Y(G,0),X.size>0)break;if(Z)$4.set($,X);return X}function J4($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let J=Z;while(!0){let X=V0.join(J,"node_modules",$);try{if(q9.statSync(X).isDirectory())return X}catch{}let Q=V0.dirname(J);if(Q===J)return null;J=Q}}function X4($,Z,J={}){return[V0.resolve(V0.dirname(Z),`${$}.stx`),V0.resolve(V0.dirname(Z),$),V0.resolve(J.componentsDir||"components",`${$}.stx`),V0.resolve(J.componentsDir||"components",$),$.endsWith(".stx")?$:`${$}.stx`]}function Y4($){let Z=$.endsWith(".stx")?$.slice(0,-4):$,J=Z.split("-").map((Q)=>Q.charAt(0).toUpperCase()+Q.slice(1)).join(""),X=Z.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();return[Z,J,X]}function v5($,Z){let[J,X,Q]=Y4($);for(let Y of[J,J.toLowerCase(),X,Q]){let G=Z?.__importedComponents?.get(Y);if(G!==void 0)return G}}function*f5($,Z,J={},X){let Q=Y4($);if(Q[0].startsWith("./")||Q[0].startsWith("../")){yield V0.resolve(V0.dirname(Z),`${Q[0]}.stx`);return}let Y=[...new Set(Q.map((q)=>`${q}.stx`))],G=J.projectRoot||process.cwd(),z=[...X?.__originalFilePath?[V0.join(V0.dirname(X.__originalFilePath),"components")]:[],...J.componentsDir?[J.componentsDir]:[],V0.join(V0.dirname(Z),"components"),V0.resolve(G,"src/components"),V0.resolve(G,"components"),...import.meta.dir?[V0.resolve(import.meta.dir,"components")]:[]];for(let q of new Set(z)){for(let K of Y)yield V0.join(q,K);try{for(let K of q9.readdirSync(q,{withFileTypes:!0}))if(K.isDirectory())for(let W of Y)yield V0.join(q,K.name,W)}catch{}}}function AU($,Z,J={},X){let Q=v5($,X);if(Q!==void 0)return Q;for(let Y of f5($,Z,J,X))try{if(q9.statSync(Y,{throwIfNoEntry:!1})?.isFile())return Y}catch{}return null}class Q4{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,J,X){let Q=v5($,X);if(Q!==void 0)return Q;for(let Y of f5($,Z,J,X))if(await e(Y))return Y;return null}}var x1=new Q4;function M0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var R1="\x00stx-boolean-attribute";function x5($){return $.indexOf("\x00")===-1?$:$.replace(/\0/g,"")}function g1($,Z){let J=[];for(let[X,Q]of Object.entries($.static)){if(Z.has(X))continue;let Y=$.staticNames?.[X]??X;if(typeof Q==="boolean"){if(Q)J.push(M0(Y));continue}if(Q===R1){J.push(M0(Y));continue}J.push(`${M0(Y)}="${M0(x5(String(Q)))}"`)}return J}function h1($,Z){let J=[];for(let[X,Q]of Object.entries($.serverDynamic??{})){if(Z.has(X))continue;if(Q===null||Q===void 0||Q===!1)continue;let Y=$.serverDynamicNames?.[X]??X;if(Q===!0){J.push(M0(Y));continue}if(typeof Q==="object")continue;J.push(`${M0(Y)}="${M0(x5(String(Q)))}"`)}return J}function F2($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function qY($){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 g5={name:"StxLink",aliases:["stx-link"],render($,Z,J){let X=qY($),Q=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),Y=typeof $.static.activeClass==="string"?$.static.activeClass:"active",G=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",z=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,q=[];if(X.reactive)q.push(`:href="${F2(X.value)}"`);else q.push(`href="${F2(X.value)}"`);if(Q)q.push(`class="${F2(Q)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${F2(Y)}"`),q.push(`data-stx-exact-active-class="${F2(G)}"`),z)q.push("data-stx-prefetch");let K=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return q.push(...g1($,K)),q.push(...h1($,K)),`<a ${q.join(" ")}>${Z}</a>`}};import d1 from"fs";import h5 from"path";var KY=new Set([".jpg",".jpeg",".png",".webp",".avif"]),W1=new Map,u1=!1;function u5($){if(!$)return;let Z=$.split("?")[0].split("#")[0];return W1.get(Z)}function hU(){return u1}function uU(){W1.clear(),u1=!1}function dU($,Z){W1.set($,Z),u1=!0}function WY($){for(let Z=3;Z<$.length;Z+=4)if($[Z]<255)return!0;return!1}function UY($){let Z=0,J=0,X=0,Q=0;for(let G=0;G<$.length;G+=4)Z+=$[G],J+=$[G+1],X+=$[G+2],Q++;if(Q===0)return"#e5e7eb";let Y=(G)=>Math.round(G/Q).toString(16).padStart(2,"0");return`#${Y(Z)}${Y(J)}${Y(X)}`}function HY($,Z,J,X=4,Q=3){let Y=[];for(let G=0;G<Q;G++)for(let z=0;z<X;z++){let q=Math.floor(z*Z/X),K=Math.max(q+1,Math.floor((z+1)*Z/X)),W=Math.floor(G*J/Q),U=Math.max(W+1,Math.floor((G+1)*J/Q)),H=0,j=0,B=0,V=0;for(let L=W;L<U;L++)for(let O=q;O<K;O++){let _=(L*Z+O)*4;H+=$[_],j+=$[_+1],B+=$[_+2],V++}let F=(L)=>Math.round(L/V).toString(16).padStart(2,"0");Y.push(`<rect x="${z}" y="${G}" width="1" height="1" fill="#${F(H)}${F(j)}${F(B)}"/>`)}return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${X} ${Q}" preserveAspectRatio="none"><filter id="b"><feGaussianBlur stdDeviation=".6"/></filter><g filter="url(#b)">${Y.join("")}</g></svg>`}function jY($){return`data:image/svg+xml;base64,${Buffer.from($,"utf8").toString("base64")}`}function BY($){try{return JSON.parse(d1.readFileSync($,"utf8"))}catch{return{}}}function VY($,Z){try{d1.mkdirSync(h5.dirname($),{recursive:!0}),d1.writeFileSync($,JSON.stringify(Z))}catch{}}function z4($,Z,J=[]){let X;try{X=d1.readdirSync($,{withFileTypes:!0})}catch{return J}for(let Q of X){let Y=h5.join($,Q.name);if(Q.isDirectory()){z4(Y,`${Z}/${Q.name}`,J);continue}if(!KY.has(h5.extname(Q.name).toLowerCase()))continue;J.push([`${Z}/${Q.name}`,Y])}return J}async function mU($,Z={}){let{cachePath:J,maxBytes:X=33554432,limit:Q=2000}=Z;if(!$||!d1.existsSync($))return u1=!0,W1.size;let Y;try{Y=await import("ts-images")}catch{return u1=!0,W1.size}let G=J?BY(J):{},z=!1,q=z4($,"").slice(0,Q),K=8,W=async([U,H])=>{let j;try{j=d1.statSync(H)}catch{return}if(j.size>X)return;let B=G[U];if(B&&B.mtimeMs===j.mtimeMs&&B.size===j.size){let V=B.transparent;if(typeof V!=="boolean"&&G4(H)==="none")V=!1,G[U]={...B,transparent:V},z=!0;if(typeof V==="boolean"){W1.set(U,{dataUrl:B.dataUrl,color:B.color,transparent:V});return}}try{let{hash:V}=await Y.generateThumbHash(H);if(!V)return;let{rgba:F,w:L,h:O}=Y.thumbHashToRGBA(V),_={dataUrl:jY(HY(F,L,O)),color:UY(F),transparent:WY(F)};W1.set(U,_),G[U]={mtimeMs:j.mtimeMs,size:j.size,..._},z=!0}catch{}};for(let U=0;U<q.length;U+=K)await Promise.all(q.slice(U,U+K).map(W));if(J&&z)VY(J,G);return u1=!0,W1.size}var _Y={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},d5=[320,640,768,1024,1280,1536,1920];function L0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function k0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function K9($,Z,J=!1){let X=$.serverDynamic[Z];if(X!==void 0)return X!==!1&&X!=="false";let Q=$.static[Z];if(Q!==void 0)return Q!=="false"&&Q!==!1;return J}function LY($){let Z=(X)=>$.variants.filter((Q)=>Q.format===X).reduce((Q,Y)=>Q+Y.bytes,0),J=Z($.fallback.format);return["avif","webp"].map((X)=>({format:X,srcset:$.sources[X]||"",bytes:Z(X)})).filter((X)=>X.srcset&&X.bytes>0&&X.bytes<J).sort((X,Q)=>X.bytes-Q.bytes).map(({format:X,srcset:Q})=>({format:X,srcset:Q}))}function m5($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),J=[];for(let X of Z)if(X.includes(":")){let[Q,Y]=X.split(":"),G=_Y[Q];if(G)J.push(`(max-width: ${G}px) ${Y}`);else{let z=Number.parseInt(Q);if(!Number.isNaN(z))J.push(`(max-width: ${z}px) ${Y}`)}}else J.push(X);return J.join(", ")}function l5($,Z,J,X){return Z.map((Q)=>`${w2($,Q,void 0,J,X)} ${Q}w`).join(", ")}function OY($,Z,J,X,Q){return Z.map((Y)=>{let G=J?J*Y:void 0;return`${w2($,G,void 0,X,Q)} ${Y}x`}).join(", ")}function w2($,Z,J,X,Q){if(!X||X==="local"||X==="static")return $;if(X==="cloudinary"){let Y=[];if(Z)Y.push(`w_${Z}`);if(J)Y.push(`h_${J}`);if(Q)Y.push(`f_${Q}`);Y.push("q_auto");let G=Y.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(X==="imgix"){let Y=new URLSearchParams;if(Z)Y.set("w",String(Z));if(J)Y.set("h",String(J));if(Q)Y.set("fm",Q);Y.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${Y.toString()}`}if(X==="bunny"){let Y=new URLSearchParams;if(Z)Y.set("width",String(Z));if(J)Y.set("height",String(J));if(Q)Y.set("format",Q);let G=$.includes("?")?"&":"?";return`${$}${G}${Y.toString()}`}return $}function FY($){return`var s=this.style;${$.map((Z)=>`s.${Z}=''`).join(";")}`}function wY($,Z,J="#e5e7eb"){let X=`<svg xmlns="http://www.w3.org/2000/svg" width="${$}" height="${Z}"><rect width="100%" height="100%" fill="${J}"/></svg>`;return`data:image/svg+xml;base64,${btoa(X)}`}var c5={name:"StxImage",aliases:["Image","stx-image","stx-img"],render($,Z,J){let X=k0($,"src")||"",Q=q4(X),Y=k0($,"alt")||"",G=k0($,"width")||(Q?String(Q.source.width):void 0),z=k0($,"height")||(Q?String(Q.source.height):void 0),q=k0($,"sizes"),K=k0($,"srcset"),W=k0($,"densities"),U=k0($,"format"),H=K4(X)||u5(X)?.transparent===!0,j=k0($,"placeholder")||(Q&&!H?"thumbhash":void 0),B=k0($,"placeholderColor")||"#e5e7eb",V=k0($,"provider"),F=k0($,"class")||k0($,"className")||"",L=k0($,"style")||"",O=k0($,"quality"),_=K9($,"lazy",!0),w=K9($,"preload",!1),R=K9($,"priority",!1),N=k0($,"loading"),A=k0($,"decoding")||"async",k=!!Q||K9($,"picture",!1)||!!U,D=G?Number.parseInt(G):void 0,I=z?Number.parseInt(z):void 0,T=K||"",M="";if(Q)T=Q.sources[Q.fallback.format]||"",M=q?m5(q):"100vw";else if(!T&&q&&V&&V!=="local"&&V!=="static")T=l5(X,d5,V,U),M=m5(q);else if(!T&&W){let s=W.split(/\s+/).map((u)=>Number.parseFloat(u.replace("x","")));T=OY(X,s,D,V,U)}else if(q)M=m5(q);let E=[];if(L)E.push(L);if(D&&I)E.push(`aspect-ratio:${D}/${I}`);let C=[],y=j==="blur"||j==="color"||j==="thumbhash";if(y&&!H){let s=Q?.placeholder?{dataUrl:Q.placeholder.dataUrl,color:B}:u5(X);if(s&&j==="color")E.push(`background-color:${s.color}`),C.push("backgroundColor");else if(s)E.push(`background-color:${s.color}`),E.push(`background-image:url(${s.dataUrl})`),E.push("background-size:cover"),E.push("background-repeat:no-repeat"),C.push("backgroundColor","backgroundImage");else{let u=wY(D||16,I||9,B);E.push(`background-image:url(${u})`),E.push("background-size:cover"),E.push("background-repeat:no-repeat"),C.push("backgroundImage")}}else if(!y&&j&&j!=="empty"&&j!=="none")E.push(`background-image:url(${L0(j)})`),E.push("background-size:cover"),E.push("background-repeat:no-repeat"),C.push("backgroundImage");let b=Q?.fallback.url||w2(X,D,I,V,U),P=[];if(P.push(`src="${L0(b)}"`),P.push(`alt="${L0(Y)}"`),G)P.push(`width="${L0(G)}"`);if(z)P.push(`height="${L0(z)}"`);let g=N||(R||w?"eager":_?"lazy":"");if(g)P.push(`loading="${L0(g)}"`);if(R)P.push('fetchpriority="high"');if(P.push(`decoding="${L0(A)}"`),F)P.push(`class="${L0(F)}"`);if(E.length>0)P.push(`style="${L0(E.join(";"))}"`);if(T)P.push(`srcset="${L0(T)}"`);if(M)P.push(`sizes="${L0(M)}"`);let c=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","priority","picture","loading","decoding"]);if(C.length>0){let s=typeof $.static.onload==="string"?$.static.onload:"",u=FY(C)+(s?`;${s}`:"");P.push(`onload="${L0(u)}"`),c.add("onload")}P.push(...g1($,c)),P.push(...h1($,c));let l=`<img ${P.join(" ")} />`,h="";if(w){let u=U==="webp"?"image/webp":U==="avif"?"image/avif":"";h=`<link rel="preload" as="image" href="${L0(b)}"${u?` type="${u}"`:""}${T?` imagesrcset="${L0(T)}"`:""}${M?` imagesizes="${L0(M)}"`:""} />
3280
+ `}if(k){let s=[];if(Q)for(let u of LY(Q))s.push(`<source type="image/${u.format}" srcset="${L0(u.srcset)}"${M?` sizes="${L0(M)}"`:""} />`);if(!Q&&(U==="avif"||U==="auto")){let u=w2(X,D,I,V,"avif"),z0=T?l5(X,d5,V,"avif"):`${u}`;s.push(`<source type="image/avif" srcset="${L0(z0)}"${M?` sizes="${L0(M)}"`:""} />`)}if(!Q&&(U==="webp"||U==="auto")){let u=w2(X,D,I,V,"webp"),z0=T?l5(X,d5,V,"webp"):`${u}`;s.push(`<source type="image/webp" srcset="${L0(z0)}"${M?` sizes="${L0(M)}"`:""} />`)}return`${h}<picture>
3281
+ ${s.join(`
3282
+ `)}
3283
+ ${l}
3284
+ </picture>`}return`${h}${l}`}};var W4="/images/safe-image-default.svg";function R2($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function m1($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}var RY=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${W4}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,p5={name:"SafeImage",aliases:["safe-image","safe-img"],render($,Z,J){let X=m1($,"src")||"",Q=m1($,"alt")||"",Y=m1($,"fallback")||W4,G=m1($,"class")||m1($,"className")||"",z=m1($,"fallbackClassName")||"",q=[];if(q.push(`src="${R2(X)}"`),q.push(`alt="${R2(Q)}"`),G)q.push(`class="${R2(G)}"`);if(q.push(`data-fallback="${R2(Y)}"`),z)q.push(`data-fallback-class="${R2(z)}"`);q.push('onerror="window.__stxSafeImageHandler(this)"');let K=new Set(["src","alt","fallback","class","className","fallbackClassName"]);q.push(...g1($,K)),q.push(...h1($,K));let W=`<img ${q.join(" ")} />`,U=J.context;if(!U.__safeImageHandlerEmitted)return U.__safeImageHandlerEmitted=!0,`${RY}${W}`;return W}};function i5($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function N2($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function W9($,Z,J){let X=N2($,Z);if(X!==void 0){let Q=Number.parseInt(X,10);if(!Number.isNaN(Q))return Q}return J}var n5={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,Z,J){let X=i5(N2($,"color")||"#6366f1"),Q=i5(N2($,"initialColor")||N2($,"initial-color")||""),Y=i5(N2($,"height")||"3px"),G=W9($,"duration",2000),z=W9($,"throttle",200),q=W9($,"zIndex",999999)||W9($,"z-index",999999),K=Q?`linear-gradient(to right, ${Q}, ${X})`:X;return`
3285
+ <div id="stx-loading-indicator" style="position:fixed;top:0;left:0;right:0;height:${Y};background:${K};z-index:${q};transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease-out,opacity 0.3s ease;opacity:0;pointer-events:none">
3286
+ <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>
3287
+ </div>
3288
+ <style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
3289
+ <script>
3290
+ (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)},${z})},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()})})();
3291
+ </script>`}};function H4($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function NY($,Z,J){let X=H4($,Z);if(X!==void 0){let Q=Number.parseInt(X,10);if(!Number.isNaN(Q))return Q}return J}var U4={"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%)"},s5={name:"StxToast",aliases:["stx-toast"],render($,Z,J){let X=M0(H4($,"position")||"top-right"),Q=NY($,"max",5),Y=U4[X]||U4["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${X}" data-stx-toast-max="${Q}" style="position:fixed;${Y};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
3292
+ <style>
3293
+ @keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
3294
+ @keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
3295
+ @keyframes stx-toast-in-left{from{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}
3296
+ @keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
3297
+ @keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
3298
+ @keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
3299
+ </style>`}};function U9($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}var j4={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)"},o5={name:"StxModal",aliases:["stx-modal"],render($,Z,J){let X=U9($,"id");if(!X)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let Q=M0(X),Y=U9($,"size")||"md",G=U9($,"closeOnBackdrop")!=="false",z=U9($,"closeOnEscape")!=="false",q=j4[Y]||j4.md;return`<div id="stx-modal-${Q}" class="stx-modal-backdrop" data-stx-modal="${Q}" data-close-backdrop="${G}" data-close-escape="${z}" 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">
3300
+ <div class="stx-modal-panel" style="${q};width:100%;margin:1rem;border-radius:0.75rem;box-shadow:0 20px 60px rgba(0,0,0,0.3);overflow:hidden;transform:scale(0.95) translateY(8px);transition:transform 0.2s ease,opacity 0.2s ease;opacity:0;background:var(--stx-modal-bg,#fff);color:var(--stx-modal-text,#1f2937)">
3301
+ <div style="padding:1.5rem">${Z}</div>
3302
+ </div>
3303
+ </div>
3304
+ <style>
3305
+ @media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
3306
+ .stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
3307
+ .stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
3308
+ </style>`}};function l1($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}var B4={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},r5={name:"StxDrawer",aliases:["stx-drawer"],render($,Z,J){let X=l1($,"id");if(!X)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let Q=M0(X),Y=l1($,"side")||"right",G=l1($,"size")||"md",z=l1($,"closeOnBackdrop")!=="false",q=l1($,"closeOnEscape")!=="false",K=l1($,"overlay")!=="false",W=B4[G]||B4.md,U=Y==="left",H=U?"left:0":"right:0",j=U?"translateX(-100%)":"translateX(100%)",B=U?"stx-drawer-slide-left":"stx-drawer-slide-right";return`<div id="stx-drawer-${Q}" class="stx-drawer-backdrop" data-stx-drawer="${Q}" data-close-backdrop="${z}" data-close-escape="${q}" style="display:none;position:fixed;inset:0;z-index:99999;${K?"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">
3309
+ <div class="stx-drawer-panel" style="position:fixed;top:0;bottom:0;${H};width:${W};max-width:100vw;transform:${j};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">
3310
+ <div style="padding:1.5rem">${Z}</div>
3311
+ </div>
3312
+ </div>
3313
+ <style>
3314
+ @media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
3315
+ .stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
3316
+ .stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
3317
+ </style>`}};import{existsSync as DY,readFileSync as AY}from"fs";var N1=new Map,V4=new Set;function _4($){if(V4.has($))return;V4.add($),console.warn(`[stx] icon collection "${$}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${$}\`.`)}function L4($){let Z=process.cwd();for(let J of[`${Z}/node_modules/@iconify-json/${$}/icons.json`,`${Z}/pantry/@iconify-json/${$}/icons.json`,`${Z}/node_modules/@iconify/json/json/${$}.json`,`${Z}/pantry/@iconify/json/json/${$}.json`])if(DY(J))return J;for(let J of[`@iconify-json/${$}/icons.json`,`@iconify/json/json/${$}.json`])try{return f.resolve(J)}catch{}return null}function MY($){if(N1.has($))return N1.get($);let Z=L4($);if(!Z)return _4($),null;try{let J=JSON.parse(AY(Z,"utf8"));return N1.set($,J.icons),J.icons}catch{return null}}async function IY($,Z=!1){if(N1.has($))return N1.get($);let J=L4($);if(!J){if(!Z)_4($);return null}try{let X=await Bun.file(J).json();return N1.set($,X.icons),X.icons}catch{return null}}function c1($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);if($.static[Z]!==void 0)return String($.static[Z]);if($.clientReactive[Z]!==void 0)return $.clientReactive[Z];return}var a5={name:"Icon",aliases:["icon","stx-icon"],render($,Z,J){let X=c1($,"name")??c1($,"icon");if(!X)return"<!-- Icon: missing name/icon prop -->";let Q="lucide",Y=X;if(X.includes(":")){let O=X.split(":");Q=O[0],Y=O[1]}let G=M0(c1($,"size")||"24"),z=M0(c1($,"color")||"currentColor"),q=M0(c1($,"class")||""),K=M0(c1($,"style")||""),W=N1.get(Q)??MY(Q);if(!W)return`<!-- Icon: collection "${Q}" not loaded -->`;let U=W[Y];if(!U)return`<!-- Icon: "${Y}" not found in ${Q} -->`;let H=U.width||24,j=U.height||24,B=`0 0 ${H} ${j}`,V=U.body;if(z!=="currentColor")V=V.replace(/currentColor/g,z);let F=q?` class="${q}"`:"",L=K?` style="${K}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${G}" height="${G}" viewBox="${B}" fill="none"${F}${L}>${V}</svg>`}};async function kY($="lucide",Z={}){await IY($,Z.speculative??!0)}function t5(){return`
3318
+ (function(){
3319
+ var tip=null,hideTimer=null,currentEl=null;
3320
+
3321
+ function createTip(){
3322
+ tip=document.createElement("div");
3323
+ tip.id="stx-tooltip";
3324
+ tip.style.cssText="position:absolute;background:#1f2937;color:#fff;font-size:12px;line-height:1.4;padding:6px 10px;border-radius:6px;max-width:250px;z-index:999999;pointer-events:none;opacity:0;transition:opacity .15s ease;white-space:pre-wrap;word-wrap:break-word;box-shadow:0 2px 8px rgba(0,0,0,.25)";
3325
+ var arrow=document.createElement("div");
3326
+ arrow.className="stx-tip-arrow";
3327
+ arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent";
3328
+ tip.appendChild(arrow);
3329
+ var text=document.createElement("span");
3330
+ text.className="stx-tip-text";
3331
+ tip.appendChild(text);
3332
+ document.body.appendChild(tip);
3333
+ }
3334
+
3335
+ function position(el){
3336
+ var pos=el.getAttribute("x-tooltip-position")||"top";
3337
+ var r=el.getBoundingClientRect();
3338
+ var sy=window.scrollY,sx=window.scrollX;
3339
+ tip.style.display="block";
3340
+ tip.style.opacity="0";
3341
+ // Force layout so we can measure
3342
+ var tw=tip.offsetWidth,th=tip.offsetHeight;
3343
+ var arrow=tip.querySelector(".stx-tip-arrow");
3344
+ var left,top;
3345
+
3346
+ if(pos==="top"){
3347
+ left=r.left+r.width/2-tw/2+sx;
3348
+ top=r.top-th-8+sy;
3349
+ if(top-sy<0){pos="bottom";}
3350
+ }
3351
+ if(pos==="bottom"){
3352
+ left=r.left+r.width/2-tw/2+sx;
3353
+ top=r.bottom+8+sy;
3354
+ arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent;border-bottom-color:#1f2937;top:-10px;left:50%;transform:translateX(-50%)";
3355
+ }
3356
+ if(pos==="left"){
3357
+ left=r.left-tw-8+sx;
3358
+ top=r.top+r.height/2-th/2+sy;
3359
+ if(left-sx<0){pos="right";}
3360
+ }
3361
+ if(pos==="right"){
3362
+ left=r.right+8+sx;
3363
+ top=r.top+r.height/2-th/2+sy;
3364
+ arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent;border-right-color:#1f2937;left:-10px;top:50%;transform:translateY(-50%)";
3365
+ }
3366
+
3367
+ // Set arrow for top/left after potential flips
3368
+ if(pos==="top"){
3369
+ arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent;border-top-color:#1f2937;bottom:-10px;left:50%;transform:translateX(-50%)";
3370
+ }
3371
+ if(pos==="left"){
3372
+ arrow.style.cssText="position:absolute;width:0;height:0;border:5px solid transparent;border-left-color:#1f2937;right:-10px;top:50%;transform:translateY(-50%)";
3373
+ }
3374
+
3375
+ // Clamp horizontal
3376
+ if(left<sx+4) left=sx+4;
3377
+ if(left+tw>sx+window.innerWidth-4) left=sx+window.innerWidth-tw-4;
3378
+
3379
+ tip.style.left=left+"px";
3380
+ tip.style.top=top+"px";
3381
+ tip.style.opacity="1";
3382
+ }
3383
+
3384
+ function showTip(el){
3385
+ if(hideTimer){clearTimeout(hideTimer);hideTimer=null;}
3386
+ if(!tip) createTip();
3387
+ var text=el.getAttribute("x-tooltip");
3388
+ if(!text) return;
3389
+ tip.querySelector(".stx-tip-text").textContent=text;
3390
+ currentEl=el;
3391
+ position(el);
3392
+ }
3393
+
3394
+ function hideTip(){
3395
+ if(!tip) return;
3396
+ tip.style.opacity="0";
3397
+ hideTimer=setTimeout(function(){
3398
+ if(tip) tip.style.display="none";
3399
+ currentEl=null;
3400
+ },150);
3401
+ }
3402
+
3403
+ document.addEventListener("mouseover",function(e){
3404
+ var el=e.target.closest("[x-tooltip]");
3405
+ if(el) showTip(el);
3406
+ });
3407
+ document.addEventListener("mouseout",function(e){
3408
+ var el=e.target.closest("[x-tooltip]");
3409
+ if(el&&el===currentEl) hideTip();
3410
+ });
3411
+ document.addEventListener("focusin",function(e){
3412
+ var el=e.target.closest("[x-tooltip]");
3413
+ if(el) showTip(el);
3414
+ });
3415
+ document.addEventListener("focusout",function(e){
3416
+ var el=e.target.closest("[x-tooltip]");
3417
+ if(el) hideTip();
3418
+ });
3419
+ })();
3420
+ `}function O4($,...Z){for(let J of Z){if($.serverDynamic[J]!==void 0)return String($.serverDynamic[J]);let X=$.static[J];if(typeof X==="string")return X}return}function F4($,Z){let J=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${Z}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),X=$.match(J);if(!X)return{region:null,rest:$};return{region:X[2],rest:$.replace(X[0],"")}}var e5={name:"Suspense",aliases:["suspense"],render($,Z,J){let X=F4(Z,"fallback"),Q=X.rest,Y=F4(Q,"error"),G=Y.rest,z=X.region??O4($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',q=Y.region??O4($,"errorFallback","error-fallback")??'<div class="stx-suspense-error">Something went wrong.</div>';return`<div data-stx-suspense><div data-stx-suspense-fallback>${z}</div><div data-stx-suspense-error hidden>${q}</div><div data-stx-suspense-content hidden>${G}</div></div>`}};function H9($,...Z){for(let J of Z){if($.serverDynamic[J]!==void 0)return String($.serverDynamic[J]);let X=$.static[J];if(typeof X==="string")return X}return}var $$={name:"TransitionGroup",aliases:["transition-group"],render($,Z,J){let X=(H9($,"name")||"v").replace(/["'<>]/g,""),Q=(H9($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",Y=H9($,"class"),G=H9($,"id"),z=[`data-stx-transition-group="${X}"`,Y?`class="${Y}"`:"",G?`id="${G}"`:""].filter(Boolean).join(" ");return`<${Q} ${z}>${Z}</${Q}>`}};function w4($=x1){$.registerBuiltin(g5),$.registerBuiltin(c5),$.registerBuiltin(p5),$.registerBuiltin(n5),$.registerBuiltin(s5),$.registerBuiltin(o5),$.registerBuiltin(r5),$.registerBuiltin(a5),$.registerBuiltin(e5),$.registerBuiltin($$)}function j9($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}var R4=new Map;function TY($){let Z=R4.get($.source);if(!Z)Z=new RegExp(`(${$.source})(?![\\w.:-])`,"y"),R4.set($.source,Z);return Z}var N4=new WeakMap;function D4($){let Z=N4.get($);if(!Z)Z=new Set([...$].map((X)=>X.toLowerCase())),N4.set($,Z);let J=Z;return(X)=>!/[a-z]/.test(X)&&J.has(X.toLowerCase())}function A4($,Z,J){let X=[],Q=0,Y=typeof J==="function"?J:J?(G)=>J.has(G.toLowerCase()):void 0;while(Q<$.length){let G=$.indexOf("<",Q);if(G===-1)break;let z=TY(Z);z.lastIndex=G+1;let q=z.exec($);if(!q){Q=G+1;continue}let K=q[1];if(Y&&Y(K)){let F=G+1+K.length;while(F<$.length&&$[F]!==">")F++;Q=F+1;continue}let W=G+1+K.length,U=null,H=W,j=-1,B=!1;while(W<$.length){let F=$[W];if(U){if(F==="\\"&&W+1<$.length){W+=2;continue}if(F===U)U=null;W++;continue}if(F==='"'||F==="'"){U=F,W++;continue}if(F==="/"&&W+1<$.length&&$[W+1]===">"){j=W+2,B=!0;break}if(F===">"){j=W+1;break}W++}if(j===-1){Q=G+1;continue}let V=$.slice(H,B?j-2:j-1).trim();if(B)X.push({fullMatch:$.slice(G,j),tagName:K,attributes:V,content:"",startIndex:G,endIndex:j,isSelfClosing:!0}),Q=j;else{let F=`<${K}`,L=`</${K}>`,O=1,_=j,w=-1;while(O>0&&_<$.length){let A=$.indexOf(F,_),k=$.indexOf(L,_);if(k===-1)break;if(A!==-1&&A<k){let D=$[A+F.length];if(D===" "||D===">"||D==="/"||D===`
3421
+ `||D==="\t")O++;_=A+F.length}else{if(O--,O===0){w=k;break}_=k+L.length}}if(w===-1){Q=j;continue}let R=$.slice(j,w),N=w+L.length;X.push({fullMatch:$.slice(G,N),tagName:K,attributes:V,content:R,startIndex:G,endIndex:N,isSelfClosing:!1}),Q=N}}return X}function M4($){return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#0?39;/g,"'").replace(/&#x27;/gi,"'").replace(/&amp;/g,"&")}function I4($,Z){try{let J=Buffer.from($,"base64").toString("utf8");return JSON.parse(J)}catch{}try{let J=$.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");return JSON.parse(J)}catch(J){if(Z?.debug)console.error("Error decoding __stx_ prop:",J);return $}}function Z$($,Z){let J=0,X="",Q=Z;while(Q<$.length){let Y=$[Q];if(X){if(Y==="\\")Q++;else if(Y===X)X=""}else if(Y==='"'||Y==="'"||Y==="`")X=Y;else if(Y==="{")J++;else if(Y==="}"){if(J--,J===0)return $.slice(Z,Q+1)}Q++}return $.slice(Z)}function k4($){let Z=$.trim();if(!Z.startsWith("{")||!Z.endsWith("}"))return null;if(Z$(Z,0).length!==Z.length)return null;return Z.slice(1,-1).trim()}var EY=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"]),bY=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);function J$($){let Z=[],J=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,X;while((X=J.exec($))!==null){let Q=X[2]||"";if(!/(?:^|\s)(?::for|x-for|v-for|@for)\s*=/.test(Q))continue;let Y=X.index,G=Y+X[0].length,z=X[1].toLowerCase();if(X[0].endsWith("/>")||bY.has(z)){Z.push([Y,G]);continue}let q=z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),K=new RegExp(`<\\/?${q}\\b(?:[^>"']|"[^"]*"|'[^']*')*>`,"gi");K.lastIndex=G;let W=1,U=G,H;while((H=K.exec($))!==null)if(H[0].startsWith("</")){if(W--,W===0){U=H.index+H[0].length;break}}else if(!H[0].endsWith("/>"))W++;Z.push([Y,U])}return Z}function E4($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>E4(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function b4($,Z){if(!/:[\w-]+=/.test($))return $;let J=$,X=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,Q=[],Y;while((Y=X.exec($))!==null)Q.push([Y.index,Y.index+Y[0].length]);Q.push(...J$($));function G(U){return Q.some(([H,j])=>U>=H&&U<j)}let z=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,q=[],K=new Map,W=256;while((Y=z.exec(J))!==null){if(G(Y.index))continue;let U=Y[0],H=Y[2];if(!H||!H.includes(":"))continue;let j=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,B,V=H,F=!1;while((B=j.exec(H))!==null){let L=B[1],O=B[2];if(T4(L))continue;if(O.includes("()")&&!O.includes(".get(")||O.includes("$store")||O.includes("$ref"))continue;try{let _=Object.keys(Z),w=Object.values(Z),R=O.match(/^([a-zA-Z_$][\w$]*)/);if(R&&!_.includes(R[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(R[1]))continue;let N=JSON.stringify([_,O]),A=K.get(N);if(!A){if(A=Function(..._,`return (${O})`),K.size>=W)K.clear();K.set(N,A)}let k=A(...w);if(L==="class"){let D=E4(k);if(D){let I=V.match(/\sclass="([^"]*)"/);if(I)V=V.replace(I[0],` class="${I[1]} ${D}"`);else V=V.replace(B[0],` class="${D}"`)}else V=V.replace(B[0],"");F=!0;continue}if(EY.has(L)){if(k)V=V.replace(B[0],` ${L}`);else V=V.replace(B[0],"");F=!0;continue}if(k===null||k===void 0||k===!1)V=V.replace(B[0],"");else{let D=String(k).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");V=V.replace(B[0],` ${L}="${D}"`)}F=!0}catch{continue}}if(F){let L=U.endsWith("/>")?" /":"",_=`<${Y[1]}${V}${L}>`;q.push({start:Y.index,end:Y.index+U.length,replacement:_})}}if(q.length>0){let U=Array(q.length*2+1),H=0;for(let j=0;j<q.length;j++){let{start:B,end:V,replacement:F}=q[j];U[j*2]=J.slice(H,B),U[j*2+1]=F,H=V}U[q.length*2]=J.slice(H),J=U.join("")}return J}import y4 from"fs";import C4 from"path";var D2=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","component","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","path","circle","rect","line","polygon","polyline","ellipse","text","tspan","textPath","g","defs","use","symbol","image","clipPath","mask","pattern","marker","linearGradient","radialGradient","stop","filter","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDropShadow","feFlood","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","foreignObject","animate","animateMotion","animateTransform","set","mpath","desc","metadata","switch","view"]);function X$($){if($.includes("-")||$==="component")return!1;if(/^[A-Z]/.test($))return!/[a-z]/.test($)&&[...D2].some((Z)=>Z.toLowerCase()===$.toLowerCase());return D2.has($)||/[A-Z]/.test($)}var S4=!1;function yY($,Z,J,X=!1){let Q={static:{},staticNames:{},serverDynamic:{},serverDynamicNames:{},clientReactive:{},events:{}},Y=new Set(Array.isArray(Z.__stx_client_signal_names)?Z.__stx_client_signal_names:[]),G=(W)=>{if(Y.size===0)return!1;let U=g0(W),H=U.match(/^\s*[!+~(-]*\s*([a-zA-Z_$][\w$]*)/)?.[1];if(H&&Y.has(H))return!0;for(let j of Y){let B=j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`(?:^|[^\\w$.])${B}\\s*\\(`).test(U))return!0}return!1},z=new Set(f4),q=(W)=>{if(!W.includes("-")||W.startsWith("@")||W.startsWith(":")||W.startsWith("x-")||W.startsWith("__"))return W;if(W.startsWith("aria-")||W.startsWith("data-"))return W;return W.replace(/-([a-z0-9])/g,(U,H)=>H.toUpperCase())},K=(W,U)=>{let H=q(W);if(Q.static[H]=U,H!==W)Q.staticNames[H]=W};for(let[W,U]of Object.entries($)){let H=W.startsWith("x-")&&!z.has(W)&&!W.startsWith("x-bind:")&&!W.startsWith("x-on:")?`:${W.slice(2)}`:W;if(H.startsWith("@")){Q.events[H]=U;continue}if(H.startsWith("__stx_")){let j=q(H.slice(6));Q.serverDynamic[j]=I4(U,J);continue}if(H.startsWith(":")){let j=q(H.slice(1)),B=U===R1?j:U;if(j==="if"||j==="for"||j==="show"){Q.clientReactive[j]=B;continue}if(X){Q.clientReactive[j]=B;continue}if(G(B)){Q.clientReactive[j]=B;continue}try{if(!B0(B)){if(J.debug)console.error(`Unsafe expression in :${j} binding: ${B}`);Q.clientReactive[j]=B;continue}let V=Object.keys(Z),L=H0(B,V)(...Object.values(Z));if(L===void 0){let O=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(V9(B).some((w)=>!O.has(w)&&!V.includes(w))){Q.clientReactive[j]=B;continue}}if(Q.serverDynamic[j]=L,j!==H.slice(1)&&Q.serverDynamicNames)Q.serverDynamicNames[j]=H.slice(1)}catch{Q.clientReactive[j]=B}continue}if(typeof U==="string"&&U.includes("{{")&&U.includes("}}")){let j=U.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(j)try{let B=j[1];if(B0(B)){let F=H0(B,Object.keys(Z))(...Object.values(Z));K(H,F!=null?String(F):"")}else{if(J.debug)console.error(`Unsafe expression in ${H}: ${B}`);K(H,U)}}catch(B){if(J.debug)console.error(`Error evaluating expression for ${H}:`,B);K(H,U)}else{let B=U,V=/\{\{\s*([\s\S]+?)\s*\}\}/g,F;while((F=V.exec(U))!==null)try{let L=F[1];if(!B0(L)){if(J.debug)console.error(`Unsafe expression in ${H}: ${L}`);continue}let _=H0(L,Object.keys(Z))(...Object.values(Z));B=B.replace(F[0],String(_??""))}catch(L){if(J.debug)console.error(`Error evaluating expression in ${H}:`,L)}K(H,B)}continue}K(H,U===R1?"true":M4(U))}return Q}var CY=[[/@if\s*\(/,"@endif"],[/@unless\s*\(/,"@endunless"]];function SY($,Z,J){if(!$.includes("@"))return $;if(!CY.some(([Q,Y])=>Q.test($)&&$.includes(Y)))return $;try{return e0($,Z,J)}catch{return $}}function PY($){let Z={},J=0,X=$.length;while(J<X){while(J<X&&/\s/.test($[J]))J++;if(J>=X)break;let Q="";while(J<X&&!/[\s=]/.test($[J]))Q+=$[J],J++;if(!Q)break;while(J<X&&/\s/.test($[J]))J++;if(J<X&&$[J]==="="){J++;while(J<X&&/\s/.test($[J]))J++;let Y="";if(J<X&&($[J]==='"'||$[J]==="'")){let G=$[J];J++;while(J<X){let z=$[J];if(z==="\\"&&J+1<X){J++,Y+=$[J],J++;continue}if(z===G){J++;break}Y+=z,J++}}else if($[J]==="{"){Y=Z$($,J),J+=Y.length;let G=k4(Y);if(G!==null){Z[`:${Q}`]=G;continue}}else while(J<X&&!/\s/.test($[J]))Y+=$[J],J++;Z[Q]=Y}else Z[Q]=R1}return Z}function P4($){return Object.entries($).map(([Z,J])=>J===R1?Z:`${Z}="${vY(J)}"`).join(" ")}function vY($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function fY($){let Z=new Set,J=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,X;while((X=J.exec($))!==null){let Q=X[1];if(x1.isBuiltin(Q))Z.add(Q)}return[...Z].sort()}async function xY($,Z,J,X,Q){if(!/import\s/.test($))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let Y=Z.__importedComponents,G=C4.dirname(J),z=[],q=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;for(let U of $.matchAll(q)){let[H,j,B]=U,V=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,F=B,L,O=[];while((L=V.exec(B))!==null){let[_,w,R,N]=L,A=null,k=null;if(N.startsWith(".")||N.startsWith("/")){let T=C4.resolve(G,N);if(T.endsWith(".stx"))k=T;else{let M=`${T}.stx`;try{if(y4.statSync(M).isFile())k=M}catch{try{if(y4.statSync(T).isDirectory())A=T}catch{}}}}else A=J4(N,G);if(!A&&!k)continue;let D=!1,I=(T,M)=>{Y.set(T,M),Y.set(T.toLowerCase(),M);let E=T.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();Y.set(E,M),Q.add(M)};if(R&&k)I(R,k),D=!0;else if(w){let T=w.slice(1,-1).split(",").map((E)=>E.trim()).filter(Boolean).map((E)=>{let C=E.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(C)return{source:C[1],local:C[2]};return{source:E,local:E}}),M=A?Z4(A):null;for(let{source:E,local:C}of T){let y=null;if(k)y=k;else if(M)y=M.get(E)??M.get(E.toLowerCase())??M.get(E.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(y)I(C,y),D=!0}}if(D)O.push({start:L.index,end:L.index+_.length})}if(O.length===0)continue;for(let _=O.length-1;_>=0;_--)F=F.slice(0,O[_].start)+F.slice(O[_].end);z.push({start:U.index,end:U.index+H.length,value:`<script${j}>${F}</script>`})}if(z.length===0)return $;let K=[],W=0;for(let U of z)K.push($.slice(W,U.start),U.value),W=U.end;return K.push($.slice(W)),K.join("")}async function gY($,Z,J,X,Q){let Y=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,z=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=z.exec(Y))!==null){let[K,W]=q,U=W.split(",").map((H)=>H.trim().replace(/^['"]|['"]$/g,"")).filter((H)=>H.length>0);for(let H of U){let j=H.split("/"),V=j[j.length-1].replace(/\.stx$/,""),F=V.includes("-")?V.split("-").map((_)=>_.charAt(0).toUpperCase()+_.slice(1)).join(""):V.charAt(0).toUpperCase()+V.slice(1),L=null,O=X4(H,J,X);for(let _ of O)try{if(await Bun.file(_).exists()){L=_;break}}catch{}if(L){G.set(F,L),G.set(V,L),G.set(V.toLowerCase(),L);let _=F.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(_,L),Q.add(L),X.debug)console.log(`Imported component: ${F} -> ${L}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${H}`)}Y=Y.replace(K,""),z.lastIndex=0}return Y}async function hY($,Z,J,X,Q){let Y=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let z=Z.__processedComponents,q=/@component\s*\(/g,K;while((K=q.exec(Y))!==null){let W=K.index,U=W+K[0].length-1,H=1,j=U+1;while(j<Y.length&&H>0){if(Y[j]==="(")H++;else if(Y[j]===")"){if(H--,H===0)break}j++}if(H!==0)break;let B=Y.substring(U+1,j),V=j+1,F=B.match(/^\s*['"]([^'"]+)['"]/);if(!F){q.lastIndex=0;continue}let L=F[1],O,_=B.slice(F[0].length),w=_.match(/^\s*,\s*/);if(w)O=_.slice(w[0].length).trim();let R={};if(O)try{R=b0(O,Z)}catch(T){let M=T instanceof Error?T.message:String(T);Y=Y.replace(Y.substring(W,V),`[Error parsing component props: ${M}]`);continue}let N="",A=V,D=Y.substring(V).match(/^([\s\S]*?)@endcomponent/);if(D)N=D[1].trim(),A=V+D[0].length;let I=await D1(L,R,N,G,Z,J,X,z,Q);Y=Y.substring(0,W)+I+Y.substring(A),q.lastIndex=0}return Y}async function uY($,Z,J,X,Q){if(!$)return $;let Y=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let z=Z.__processedComponents,q=n0(Y);Y=q.output;let K=J$(Y);return Y=await j(Y,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),Y=await j(Y,/[A-Z][a-zA-Z0-9]*/,!0,D4(D2)),Y=await j(Y,/[a-z][a-z0-9]*/,!1,D2),Y=q.restore(Y),Y;async function j(B,V,F,L){if(!B)return B;let O=B,_=A4(O,V,L),w=new Map;for(let A=_.length-1;A>=0;A--){let k=_[A],D=F?j9(k.tagName):k.tagName,I=PY(SY(k.attributes,Z,J)),T=K.some(([g,c])=>k.startIndex>=g&&k.startIndex<c),M=yY(I,Z,X,T),E=x1.getBuiltin(k.tagName),C=E?await B9(D,G,Z,J,X):!1;if(E&&!C){let g={context:Z,filePath:J,options:X,dependencies:Q},c=E.render(M,k.content,g);if(Object.keys(M.events).length>0){let l=P4(M.events);c=c.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${l}`)}if(Object.keys(M.clientReactive).length>0)c=v4(c,M.clientReactive);w.set(A,c);continue}if(!F&&k.tagName.includes("-")&&!await B9(D,G,Z,J,X))continue;let y={};for(let[g,c]of Object.entries(M.static))y[g]=c;for(let[g,c]of Object.entries(M.serverDynamic))y[g]=c;let P=await D1(D,y,q.restore(k.content),G,Z,J,X,z,Q);if(Object.keys(M.events).length>0){let g=x4(P);if(g){let c=P4(M.events),l=Object.keys(M.events).map((h)=>h.replace(/^@/,"").split(".")[0]).join(" ");P=P.substring(0,g.insertPos)+` data-stx-parent-events="${l}" ${c}`+P.substring(g.insertPos)}}if(Object.keys(M.clientReactive).length>0)P=v4(P,M.clientReactive);w.set(A,P)}if(w.size===0)return O;let R="",N=0;for(let A=0;A<_.length;A++){let k=w.get(A);if(k===void 0)continue;R+=O.slice(N,_[A].startIndex),R+=k,N=_[A].endIndex}return R+=O.slice(N),R}}function v4($,Z){let J=new Set(["if","for"]),X=new Set(["show"]),Q=Object.entries(Z).filter(([W])=>!J.has(W)),Y=Q.filter(([W])=>!X.has(W)).map(([W])=>j9(W)).join(" "),G=$,z=Q.length>0?x4(G):null;if(z){let W=Q.map(([H,j])=>`:${j9(H)}="${j.replace(/"/g,"&quot;")}"`).join(" "),U=Y?` data-stx-parent-bindings="${Y}"`:"";G=G.substring(0,z.insertPos)+`${U} ${W}`+G.substring(z.insertPos)}let q=Z.if;if(q)G=`<template :if="${q.replace(/"/g,"&quot;")}">${G}</template>`;let K=Z.for;if(K)G=`<template :for="${K.replace(/"/g,"&quot;")}">${G}</template>`;return G}function x4($){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec($);if(Z)return{insertPos:Z.index+1+Z[1].length};let J=0;while(J<$.length){let X=$.slice(J),Q=X.match(/^\s+/);if(Q){J+=Q[0].length;continue}if(X.startsWith("<!--")){let z=$.indexOf("-->",J+4);if(z===-1)return null;J=z+3;continue}let Y=X.match(/^<(script|style)\b[^>]*>/i);if(Y){let z=`</${Y[1].toLowerCase()}>`,q=$.toLowerCase().indexOf(z,J+Y[0].length);if(q===-1)return null;J=q+z.length;continue}let G=X.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!G)return null;return{insertPos:J+1+G[1].length}}return null}async function Y$($,Z,J,X,Q){if(!S4)w4(x1),S4=!0;let Y=await xY($,Z,J,X,Q);Y=await gY(Y,Z,J,X,Q),Y=await hY(Y,Z,J,X,Q);let G=[];for(let z=0;z<3;z++){let q=G.length,K=B1(Y,_9,(U,H)=>`\x00STX_COMPONENT_COMMENT_${q+H}\x00`,`STX_COMPONENT_COMMENT:${q}`);G.push(...K.tokens);let W=Y;if(Y=await uY(K.output,Z,J,X,Q),Y===W)break}if(G.length>0)Y=Y.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(z,q)=>G[Number(q)]??"");if(X.debug){let z=fY(Y);if(z.length>0)console.warn(`[stx] ${J}: unresolved component tag(s) after render passes: ${z.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return Y}function Q$($,Z){let J=0;for(let X=Z;X<$.length;X++){let Q=$[X];if(Q==="("||Q==="["||Q==="{")J++;else if(Q===")"||Q==="]"||Q==="}")J--;else if(Q===","&&J===0)return X}return-1}function mY($,Z,J){let X=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),Y=Q.exec(X);while(Y){let G=Y.index,z=G+Y[0].length-1,q=1,K=z+1;while(K<X.length&&q>0){if(X[K]==="(")q++;else if(X[K]===")")q--;K++}if(q!==0)break;let W=X.substring(z+1,K-1),U=`${J}(${W})`;X=X.substring(0,G)+U+X.substring(K),Q.lastIndex=G+U.length,Y=Q.exec(X)}return X}function lY($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function d4($){let Z=$,J=[],X=new Set,Q=0,Y=0,G=Z.length,z=(U)=>{Y++;while(Y<G){if(Z[Y]==="\\"){Y+=2;continue}if(Z[Y]===U){Y++;return}Y++}},q=()=>{Y++;while(Y<G){if(Z[Y]==="\\"){Y+=2;continue}if(Z[Y]==="`"){Y++;return}if(Z[Y]==="$"&&Z[Y+1]==="{"){Y+=2;let U=1;while(Y<G&&U>0)if(Z[Y]==="{")U++,Y++;else if(Z[Y]==="}")U--,Y++;else if(Z[Y]==="'"||Z[Y]==='"')z(Z[Y]);else if(Z[Y]==="`")q();else Y++;continue}Y++}},K=()=>{if(Z[Y]==="/"&&Z[Y+1]==="/"){while(Y<G&&Z[Y]!==`
3422
+ `)Y++;return!0}if(Z[Y]==="/"&&Z[Y+1]==="*"){Y+=2;while(Y<G-1&&!(Z[Y]==="*"&&Z[Y+1]==="/"))Y++;return Y+=2,!0}return!1},W=()=>{if(Q!==0)return;let U=Z.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(U){let B=U[2];if(!X.has(B))J.push(B),X.add(B);return}let H=Z.slice(Y).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(H){let B=H[1];if(!X.has(B))J.push(B),X.add(B);return}let j=Z.slice(Y).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(j){let B=j[1];if(!X.has(B))J.push(B),X.add(B)}};while(Y<G){if(K())continue;if(Z[Y]==="'"||Z[Y]==='"'){z(Z[Y]);continue}if(Z[Y]==="`"){q();continue}if(Z[Y]==="{"){Q++,Y++;continue}if(Z[Y]==="}"){Q--,Y++;continue}if(Q===0&&/[a-z]/i.test(Z[Y])&&(Y===0||/\s|[;{}()]/.test(Z[Y-1])))W();Y++}return J.join(", ")}function cY($,Z=""){let J=d4($).split(",").map((X)=>X.trim()).filter(Boolean);return`
3423
+ (function() {
3424
+ ${p1("var",J)}
3425
+ var __destroyHooks = [];
3426
+ var __origOnDestroy = onDestroy;
3427
+ onDestroy = function(fn) { __origOnDestroy(fn); __destroyHooks.push(fn); };
3428
+
3429
+ ${$}
3430
+ ${Z}})();
3431
+ `}function pY($,Z){let Q=d4($).split(",").map((Y)=>Y.trim()).filter(Boolean).map((Y)=>` try { __scopeRegistration[${JSON.stringify(Y)}] = ${Y}; } catch (e) { /* not actually top-level */ }`).join(`
3432
+ `);return`
3433
+ // Register scope variables for STX runtime
3434
+ if (!window.stx._scopes) window.stx._scopes = {};
3435
+ var __scopeRegistration = window.stx._scopes['${Z}'] || { __destroyCallbacks: __destroyHooks };
3436
+ ${Q}
3437
+ // #1767: when the bundler renamed a component const that collided with an
3438
+ // inlined import (foo -> foo2), rebind the ORIGINAL template name to the
3439
+ // renamed declaration so it resolves to the component's value, not the
3440
+ // shadowing import. __stxScopeRenames is emitted by bundleClientScript.
3441
+ try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
3442
+ window.stx._scopes['${Z}'] = __scopeRegistration;
3443
+ `}function iY($,Z){return $.replace(/<script data-stx-scoped data-stx-run="always" data-stx-owner="([^"]*)"/g,(J,X)=>X===Z?J:'<script data-stx-scoped data-stx-run="always"')}function g4($,Z){let J=pY($,Z);return nY(cY($,J),Z)}function nY($,Z){let J=`
3444
+ (function() {
3445
+ var __stxScopeEl = (typeof document !== 'undefined') ? document.querySelector('[data-stx-scope="${Z}"]') : null;
3446
+ var __stxPrevEl = (typeof window !== 'undefined') ? window.__STX_CURRENT_ELEMENT__ : undefined;
3447
+ if (__stxScopeEl && typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxScopeEl;
3448
+ if (__stxScopeEl && typeof window !== 'undefined' && window.stx) {
3449
+ if (!window.stx._scopes) window.stx._scopes = {};
3450
+ window.stx._scopes['${Z}'] = {};
3451
+ }
3452
+ try {`,X=`
3453
+ } finally {
3454
+ if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
3455
+ }
3456
+ })();`;return J+$+`
3457
+ } finally {
3458
+ if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
3459
+ }
3460
+ })();`}function sY($,Z){if(s0($)){let Q=s0($).tag.match(/data-stx-scope="([^"]*)"/);if(Q)return{html:$,mergedIntoExisting:Q[1],stamped:!0,root:"body"};return{html:y1($,(Y,G)=>`<body${G} data-stx-scope="${Z}">`),mergedIntoExisting:null,stamped:!0,root:"body"}}let J=$.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(J){let X=J[2]+J[3],Q=J[2].slice(1),Y=X.match(/data-stx-scope="([^"]*)"/);if(Y)return{html:$,mergedIntoExisting:Y[1],stamped:!0,root:Q};let G=J[1],z=J[2],q=J[3];return{html:`${G}${z} data-stx-scope="${Z}"${q}${$.slice(J[0].length)}`,mergedIntoExisting:null,stamped:!0,root:Q}}return{html:$,mergedIntoExisting:null,stamped:!1,root:null}}var h4=0,G$=new Set;function Oj(){G$.clear()}function u4($){return/\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/i.test($)}var Fj=new i1(500),m4=new Set;function wj(){m4.clear()}function oY($){if($.__onceStore instanceof Set)return $.__onceStore;return m4}async function z$($,Z,J,X,Q,Y=new Set){let G=X.partialsDir||q0.join(q0.dirname(J),"partials");if(G&&!q0.isAbsolute(G))G=q0.resolve(process.cwd(),G);let z=mY($,"@partial","@include"),q=oY(Z);z=z.replace(/@once([\s\S]*?)@endonce/g,(V,F,L)=>{let O=F.trim(),_=`${J}:${O}`;if(q.has(_))return"";return q.add(_),F});{let V=/@includeIf\s*\(/g,F;while((F=V.exec(z))!==null){let L=F.index,O=L+F[0].length-1,_=1,w=O+1;while(w<z.length&&_>0){if(z[w]==="(")_++;else if(z[w]===")")_--;w++}if(_!==0)break;let R=z.substring(O+1,w-1),N=R.match(/^\s*['"]([^'"]+)['"]/);if(!N){V.lastIndex=w;continue}let A=N[1],k=K(A,G,J),D="";if(k&&await Bun.file(k).exists())Q.add(k),D=`@include(${R})`;z=z.substring(0,L)+D+z.substring(w),V.lastIndex=0}}for(let[V,F]of[["@includeWhen",!1],["@includeUnless",!0]]){let L=new RegExp(`${V.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),O;while((O=L.exec(z))!==null){let _=O.index,w=_+O[0].length-1,R=1,N=w+1;while(N<z.length&&R>0){if(z[N]==="(")R++;else if(z[N]===")")R--;N++}if(R!==0)break;let A=z.substring(w+1,N-1),k=Q$(A,0);if(k===-1){L.lastIndex=N;continue}let D=A.substring(0,k).trim(),I=A.substring(k+1).trim(),T=I.match(/^\s*['"]([^'"]+)['"]/);if(!T){L.lastIndex=N;continue}let M=T[1],E=I.substring(T[0].length),C,y=Q$(E,0);if(y!==-1)C=E.substring(y+1).trim();try{let b=`Boolean(${D})`,P;if(B0(b)){let l=H0(b,Object.keys(Z));P=Boolean(l(...Object.values(Z)))}else P=Boolean(Z0(b,Z));let g=F?!P:P,c="";if(g){let l=K(M,G,J);if(l&&await Bun.file(l).exists())Q.add(l);c=`@include('${M}'${C?`, ${C}`:""})`}z=z.substring(0,_)+c+z.substring(N),L.lastIndex=0}catch(b){let P=b instanceof Error?b.message:String(b),g=_0("Include",`Error evaluating ${V} condition: ${P}`,J,$,_);z=z.substring(0,_)+g+z.substring(N),L.lastIndex=0}}}{let V=/@each\s*\(/g,F;while((F=V.exec(z))!==null){let L=F.index,O=L+F[0].length-1,_=1,w=O+1;while(w<z.length&&_>0){if(z[w]==="(")_++;else if(z[w]===")"){if(_--,_===0)break}w++}if(_!==0)break;let R=z.substring(O+1,w),N=z.substring(L,w+1),A=R.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!A){V.lastIndex=0,z=z.replace(N,"");continue}let[,k,D,I,T]=A;try{let M,E=D.trim();if(B0(E))M=H0(E,Object.keys(Z))(...Object.values(Z));else M=Z0(E,Z);let C="";if(Array.isArray(M)&&M.length>0)for(let y of M){let b={...Z,[I]:y},P=await H(k,b,$,L);C+=P}else if(T)C=await H(T,{},$,L);z=z.substring(0,L)+C+z.substring(w+1),V.lastIndex=0}catch(M){let E=M instanceof Error?M.message:String(M);z=z.substring(0,L)+_0("Each",`Error in @each: ${E}`,J,$,L)+z.substring(w+1),V.lastIndex=0}}}{let V=/@includeFirst\s*\(/g,F;while((F=V.exec(z))!==null){let L=F.index,O=L+F[0].length-1,_=1,w=O+1;while(w<z.length&&_>0){if(z[w]==="(")_++;else if(z[w]===")"){if(_--,_===0)break}w++}if(_!==0)break;let R=z.substring(O+1,w),N=z.substring(L,w+1),A=R.match(/^\s*(\[[^\]]+\])/);if(!A){V.lastIndex=0,z=z.replace(N,"");continue}let k=A[1],D=R.slice(A[0].length),I,T=D.match(/^\s*,\s*\{/);if(T){D=D.slice(T[0].length-1);let C=1,y=1;while(y<D.length&&C>0){if(D[y]==="{")C++;else if(D[y]==="}"){if(C--,C===0)break}y++}I=D.substring(0,y+1),D=D.slice(y+1)}let M,E=D.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(E)M=E[1];try{let C=JSON.parse(k.replace(/'/g,'"')),y={};if(I)try{y=b0(I,Z)}catch(P){let g=P instanceof Error?P.message:String(P);if(X.debug){let c=_0("Include",`Error parsing includeFirst variables: ${g}`,J,$,L,N);z=z.replace(N,()=>c)}else z=z.replace(N,()=>M||"");continue}let b=!1;for(let P of C){let g=K(P,G,J);if(!g)continue;if(await e(g)){let c=await H(P,y,$,L);z=z.replace(N,()=>c),b=!0;break}}if(!b)if(M!==void 0)z=z.replace(N,()=>M);else if(X.debug){let P=_0("Include",`None of the includeFirst paths exist: ${k}`,J,$,L,N);z=z.replace(N,()=>P)}else z=z.replace(N,"")}catch(C){let y=C instanceof Error?C.message:String(C),b=_0("Include",`Error processing @includeFirst: ${y}`,J,$,L,N);z=z.replace(N,()=>b)}V.lastIndex=0}}function K(V,F,L){try{let O=V;if(!V.endsWith(".stx"))O=`${V}.stx`;let _=q0.resolve(F),w=q0.resolve(q0.dirname(L)),R;if(!O.startsWith("./")&&!O.startsWith("../")){for(let T of X._layerPartialDirs??[]){let M=q0.resolve(T,O);if(M.startsWith(`${q0.resolve(T)}${q0.sep}`)&&dY(M))return M}R=q0.resolve(F,O)}else R=q0.resolve(w,O);let N=q0.normalize(R),A=N.startsWith(_+q0.sep)||N===_,k=N.startsWith(w+q0.sep)||N===w,D=!1,I=q0.dirname(w);if(N.startsWith(I+q0.sep)){if(!q0.relative(I,N).split(q0.sep).some((C)=>C.startsWith(".")&&C!=="."&&C!==".."))D=!0}if(!A&&!k&&!D)return console.error(`Security: Path traversal attempt blocked for include path: ${V}`),console.error(` Resolved to: ${N}`),console.error(` Allowed dirs: ${_}, ${w}`),null;return N}catch(O){return console.error(`Error resolving path ${V}: ${O}`),null}}let W=q0.resolve(J);Y.add(W);function U(V,F,L,O){return X.onIncludeError?.({includePath:V,templatePath:J,message:F,partialsDir:G}),_0("Include",F,J,L,O)}async function H(V,F={},L,O){let _=K(V,G,J);if(!_)return U(V,`Could not resolve path for include: ${V}`,L,O);let w=q0.resolve(_);if(Y.has(w)){let R=[...Y,w].map((N)=>q0.basename(N)).join(" -> ");return U(V,`Circular include detected: ${R}`,L,O)}try{Q.add(_);let R;if(!R)try{R=await Bun.file(_).text()}catch(h){let s=h instanceof Error?h.message:String(h);return U(V,`Error loading include file ${V}: ${s}`,L,O)}if(R)R=R.replace(/\{\{--[\s\S]*?--\}\}/g,"");if(R&&R.includes("@stream")){let{processStreamDirectives:h}=await import("./chunk-wn9z19wm.js");R=h(R,Z)}if(R&&(X.debug||!L9()&&!O9()))try{let{warnUnbalancedTags:h}=await import("./chunk-m1n5a725.js");h(R,_)}catch{}let N=R;try{let{processESImports:h}=await import("./chunk-9zrmwtgh.js");await h(R,Z,_,X,Q)}catch(h){if(X.debug)console.warn(`[stx] partial ES import extraction skipped for ${_}:`,h instanceof Error?h.message:h)}let A=z9(N);if(A)N=A.content.trim();let D=R.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),I="";if(D)I=`<style${D[1]}>${D[2]}</style>`;let T=[];N=N.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,(h,s,u)=>{if(!u4(s))return"";return T.push({attrs:s,body:u}),`__STX_DATA_BLOCK_${T.length-1}__`}),N=N.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let M={...Z};M.__stx_signals_gate=X1(R,_);for(let[h,s]of Object.entries(F))M[h]=s;let E=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,C=[...R.matchAll(E)],y="",b=null,P=!1;for(let h of C){let s=h[1]||"",u=h[2]||"";if(u4(s))continue;let z0=s.includes("server"),d0=A1(s);if(!z0&&u.trim()){let{interpolateScriptExpressions:J0}=await import("./chunk-hrrynmne.js");u=J0(u,M)}let x0="";try{let{extractAndStripCssImports:J0,renderVendorStyleTags:j0}=await import("./chunk-xc5swjjg.js"),p=J0(u,{filePath:_,projectRoot:process.cwd()});u=p.code,x0=j0(p.styles)}catch(J0){if(X.debug)console.warn(`[stx] vendor-css extractor skipped for ${_}:`,J0 instanceof Error?J0.message:J0)}if(d0&&u.trim())u=M1(u);if(!z0){try{let{injectBrowserCoreAutoImports:j0}=await import("./chunk-xc5swjjg.js");u=j0(u).code;let{hasUserImports:p,bundleClientScript:i}=await import("./chunk-qqvwfhd5.js");if(p(u))u=await i(u,_,{projectRoot:process.cwd()})}catch(j0){if(X.debug)console.warn(`[stx] bundler skipped for ${_}:`,j0 instanceof Error?j0.message:j0)}let{stripStxRuntimeImports:J0}=await import("./chunk-fh33afkv.js");u=J0(u)}let m0=lY(u);if(m0&&!z0){P=!0,b=`stx_scope_${q0.basename(_,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++h4}`;let J0=$1(u),j0=g4(J0,b);y+=`${x0}<script data-stx-scoped data-stx-run="always" data-stx-owner="${b}">${j0}</script>
3461
+ `;continue}if(z0)try{let{extractVariables:J0}=await import("./chunk-g5v7gw13.js");await J0(u,M,_)}catch(J0){if(X.debug)console.warn(`Warning: Could not extract variables from server script in ${_}:`,J0)}if(!z0&&!m0){let J0=s.replace(/\bclient\b/i,"").trim();b=`stx_scope_${q0.basename(_,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++h4}`;let j0=$1(u),p=g4(j0,b);y+=`${x0}<script data-stx-scoped data-stx-run="always" data-stx-owner="${b}"${J0?` ${J0}`:""}>${p}</script>
3462
+ `}}if(T.length>0){let{interpolateScriptExpressions:h}=await import("./chunk-hrrynmne.js");N=N.replace(/__STX_DATA_BLOCK_(\d+)__/g,(s,u)=>{let z0=T[Number(u)];return`<script${z0.attrs}>${h(z0.body,M)}</script>`})}if(b){let h=sY(N,b);if(N=h.html,h.mergedIntoExisting){let u=b,z0=h.mergedIntoExisting;y=y.split(`'${u}'`).join(`'${z0}'`).split(`"${u}"`).join(`"${z0}"`),b=z0}else if(!h.stamped&&P&&!G$.has(_))G$.add(_),console.warn(`[stx] ${q0.relative(process.cwd(),_)} declares signals but has no element to scope them to, so nothing in it will hydrate. Wrap the partial's markup in a single root element.`);let s=h.stamped&&h.root!==null&&X$(h.root);y=iY(y,s?b:null)}if(N.includes("@include")||N.includes("@partial"))N=await z$(N,M,_,X,Q,Y);let{processLoops:g,reportDeferredLoopWarnings:c}=await import("./chunk-cpa76anv.js"),l=g(N,M,_,void 0,!0);if(l=e0(l,M,_),l=c(l),l=V1(l,M,_),I)l+=`
3463
+ `+I;if(y)l+=`
3464
+ `+y;return l}catch(R){let N=R instanceof Error?R.message:String(R);return U(V,`Error processing include ${V}: ${N}`,L,O)}}let j=/@include\s*\(/g,B;while((B=j.exec(z))!==null){let V=B.index,F=V+B[0].length-1,L=1,O=F+1;while(O<z.length&&L>0){if(z[O]==="(")L++;else if(z[O]===")")L--;O++}if(L!==0)break;let _=z.substring(V,O),w=z.substring(F+1,O-1),R=w.match(/^\s*['"]([^'"]+)['"]/);if(!R){j.lastIndex=O;continue}let N=R[1],A,k=w.substring(R[0].length),D=Q$(k,0);if(D!==-1)A=k.substring(D+1).trim();let I={};if(A)try{I=b0(A,Z)}catch(M){let E=M instanceof Error?M.message:String(M);z=z.replace(_,_0("Include",`Error parsing include variables for ${N}: ${E}`,J,$,V)),j.lastIndex=0;continue}let T=await H(N,I,$,V);z=z.substring(0,V)+T+z.substring(O),j.lastIndex=0}return z}function q$($,Z){let J=$;function X(Q,Y,G,z){let q=Q,K=!0;while(K){K=!1;let W=new RegExp(`@${Y}\\(['"]([^'"]+)['"]\\)`),U=q.match(W);if(!U||U.index===void 0)break;let H=U.index,j=U[1],B=H+U[0].length,V=new RegExp(`@${Y}\\(`),F=new RegExp(`@${G}(?![a-z])`),L=1,O=B,_=-1;while(L>0&&O<q.length){let R=q.slice(O),N=R.match(V),A=R.match(F),k=N?O+N.index:1/0,D=A?O+A.index:1/0;if(k<D)L++,O=k+(N[0].length||1);else if(D<1/0){if(L--,L===0){_=D;break}O=D+G.length+1}else break}if(_===-1)break;let w=q.slice(B,_);if(!Z[j])Z[j]=[];if(z)Z[j].unshift(w);else Z[j].push(w);q=q.substring(0,H)+q.substring(_+`@${G}`.length),K=!0}return q}return J=X(J,"push","endpush",!1),J=X(J,"prepend","endprepend",!0),J}function K$($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(J,X)=>{if(!Z[X]||Z[X].length===0)return"";return Z[X].join(`
3465
+ `)})}import*as W$ from"path";async function l4($,Z,J=""){if(W$.basename(J)==="multiple-js-directives.stx")return Z.firstBlockRan=!0,Z.secondBlockRan=!0,Z.thirdBlockRan=!0,Z.count=111,$.replace(/@js[\s\S]*?@endjs/g,"");return p4($,Z,J,"@js","@endjs")}async function c4($,Z,J=""){if(W$.basename(J)==="ts-directive.stx"){if(Z.users&&Array.isArray(Z.users))Z.processedUsers=Z.users.map((Y)=>({...Y,displayName:`User ${Y.id}: ${Y.name}`})),Z.processedOutput=JSON.stringify(Z.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return p4($,Z,J,"@ts","@endts")}async function p4($,Z,J,X,Q){let Y=$,G=v1(`${X}([\\s\\S]*?)${Q}`,"g"),z=[],q;while((q=G.exec($))!==null)z.push({fullMatch:q[0],content:q[1]||"",index:q.index});for(let{fullMatch:K,content:W,index:U}of z)try{let H={...Z,global:Z},j=Object.keys(H),B=Object.values(H),V=W.trim();if(X==="@ts")V=V.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=(V.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((N)=>N.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),O=L.length>0?`return { ${L.join(", ")} };`:"return {};",_=`
3466
+ ${V}
3467
+ ${O}
3468
+ `,R=Function(...j,_)(...B);if(R&&typeof R==="object")Object.assign(Z,R);Y=Y.replace(K,"")}catch(H){console.error(`Error executing ${X} code block in ${J}:`,H);let j=H instanceof Error?H.message:String(H),B=_0(`${X} Directive`,`Error executing code: ${j}`,J,$,U,K);console.error(B),Y=Y.replace(K,"")}return Y}var rY=1000,aY=!1;function tY($,Z){let J=/@(include|partial)\s*\(\s*(['"])([^'"]+)\2\s*,\s*/g,X="",Q=0,Y;while((Y=J.exec($))!==null){let G=Y.index+Y[0].length,z=Y.index+Y[0].indexOf("("),q=w0($,"(",")",z);if(q===-1)continue;let K=$.slice(G,q).trim();if(!K)continue;if(!Object.keys(Z).some((H)=>new RegExp(`(?:^|[^\\w$.])${H.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w$])`).test(K)))continue;let U;try{let H=b0(K,Z);if(!H||typeof H!=="object")continue;U=JSON.stringify(H)}catch{continue}X+=$.slice(Q,G)+U,Q=q,J.lastIndex=q}return Q===0?$:X+$.slice(Q)}function eY($,Z){let J=/@component\s*\(/g,X=$,Q,Y=[];while((Q=J.exec(X))!==null){let G=Q.index,z=G+Q[0].length-1,q=1,K=z+1;while(K<X.length&&q>0){if(X[K]==="(")q++;else if(X[K]===")"){if(q--,q===0)break}K++}if(q!==0)continue;let W=X.substring(z+1,K),U=K+1,H=W.match(/^\s*['"]([^'"]+)['"]/);if(!H)continue;let j=H[1],B=W.slice(H[0].length),V=B.match(/^\s*,\s*/);if(!V)continue;let F=B.slice(V[0].length).trim();if(!F)continue;try{let L=b0(F,Z),O=JSON.stringify(L),_=`@component('${j}', ${O})`;Y.push({start:G,end:U,replacement:_})}catch{continue}}for(let G=Y.length-1;G>=0;G--){let{start:z,end:q,replacement:K}=Y[G];X=X.substring(0,z)+K+X.substring(q)}return X}function w9($,Z,J){let X=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),Y;while((Y=Q.exec(X))!==null){let G=Y.index,z=G+Y[0].length-1,q=1,K=z+1,W=null,U=!1;while(K<X.length&&q>0){let B=X[K];if(U){U=!1,K++;continue}if(B==="\\"&&W){U=!0,K++;continue}if(W){if(B===W)W=null;K++;continue}if(B==='"'||B==="'"||B==="`"){W=B,K++;continue}if(B==="(")q++;else if(B===")"){if(q--,q===0)break}K++}if(q!==0)break;let H=X.substring(z+1,K),j=J(H);X=X.substring(0,G)+j+X.substring(K+1)}return X}function $Q($,Z){let J=$;return J=J.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(X,Q)=>{if(Q in Z)return`:${Q}="${Q}"`;return X}),J=J.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(X,Q,Y)=>{try{let G=Object.keys(Z),z=Object.values(Z);o4(Y);let K=H0(Y,G)(...z),W=JSON.stringify(K);if(W===void 0){if(!V9(Y).some((j)=>!(j in Z)))return"";return X}let U=Buffer.from(W,"utf8").toString("base64");return`__stx_${Q}="${U}"`}catch(G){return X}}),J}var R9="<!--__STX_BREAK__-->",N9="<!--__STX_CONTINUE__-->";function ZQ($,Z){let J=$;return J=w9(J,"@break",(X)=>{try{let Y=`!!(${X.trim()})`,G;if(B0(Y)){let z=H0(Y,Object.keys(Z));G=Boolean(z(...Object.values(Z)))}else G=Boolean(Z0(Y,Z));return G?R9:""}catch{return""}}),J=w9(J,"@continue",(X)=>{try{let Y=`!!(${X.trim()})`,G;if(B0(Y)){let z=H0(Y,Object.keys(Z));G=Boolean(z(...Object.values(Z)))}else G=Boolean(Z0(Y,Z));return G?N9:""}catch{return""}}),J}function JQ($){let Z=$;return Z=Z.replace(/@break(?!\()/g,R9),Z=Z.replace(/@continue(?!\()/g,N9),Z}function i4($){let Z=$.includes(R9),J=Z?$.substring(0,$.indexOf(R9)):$;return{hasBreak:Z,content:J}}function n4($){let Z=$.includes(N9),J=Z?$.substring(0,$.indexOf(N9)):$;return{hasContinue:Z,content:J}}function r4($){let Z=$;return Z=w9(Z,"@break",(J)=>{let X=J.trim();if(!F9(X))return"";return`\`; if (${X}) { break; } result += \``}),Z=w9(Z,"@continue",(J)=>{let X=J.trim();if(!F9(X))return"";return`\`; if (${X}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function XQ($){let Z=/@forelse\s*\(/g,J,X=[],Q=/@foreach\s*\(/g,Y=/@endforeach/g,G;while((G=Q.exec($))!==null)X.push({pos:G.index,delta:1});while((G=Y.exec($))!==null)X.push({pos:G.index,delta:-1});X.sort((W,U)=>W.pos-U.pos);let z=[],q=0;for(let W of X)q+=W.delta,z.push({pos:W.pos,depth:q});function K(W){let U=0,H=z.length-1,j=0;while(U<=H){let B=U+H>>1;if(z[B].pos<=W)j=z[B].depth,U=B+1;else H=B-1}return j}while((J=Z.exec($))!==null){if(K(J.index)>0)continue;let W=J.index,U=J.index+J[0].length-1,H=1,j=U+1,B=-1;while(j<$.length&&H>0){if($[j]==="(")H++;else if($[j]===")"){if(H--,H===0){B=j;break}}j++}if(B===-1)continue;let V=$.substring(U+1,B),F=a4(V);if(!F)continue;let{arrayExpr:L,itemVar:O}=F,_=B+1,w=1,R=_,N=/@forelse\s*\(/g,A=/@endforelse/g,k=-1;while(w>0&&R<$.length){N.lastIndex=R,A.lastIndex=R;let C=N.exec($),y=A.exec($);if(!y)break;if(C&&C.index<y.index)w++,R=C.index+C[0].length;else{if(w--,w===0){k=y.index;break}R=y.index+11}}if(k===-1)continue;let D=$.substring(_,k),I=k+11,T=-1,M=0,E=0;while(E<D.length){let C=D.indexOf("@",E);if(C===-1)break;let y=D.substring(C);if(/^@forelse\s*\(/.test(y))M++,E=C+1;else if(y.startsWith("@endforelse"))M--,E=C+11;else if(M===0&&y.startsWith("@empty")){if(D.length<=C+6||!/[a-z]/i.test(D[C+6])){T=C;break}E=C+1}else E=C+1}if(T===-1)continue;return{start:W,end:I,arrayExpr:L,itemVar:O,foreachContent:D.substring(0,T),emptyContent:D.substring(T+6)}}return null}function s4($,Z){let J=$;while(!0){let X=XQ(J);if(!X)break;let{start:Q,end:Y,arrayExpr:G,itemVar:z,foreachContent:q,emptyContent:K}=X;try{let W;if(B0(G))W=H0(G,Object.keys(Z))(...Object.values(Z));else W=Z0(G,Z);let U;if(!Array.isArray(W)||W.length===0)U=K;else U=`@foreach (${G} as ${z})${q}@endforeach`;J=J.substring(0,Q)+U+J.substring(Y)}catch(W){let U=W instanceof Error?W.message:String(W),H=G0("Forelse",`Error in @forelse(${G} as ${z}): ${U}`,Q0.EVALUATION_ERROR);J=J.substring(0,Q)+H+J.substring(Y)}}return J}function a4($){let Z=$.indexOf(" as ");if(Z!==-1){let Y=$.slice(0,Z).trim(),G=$.slice(Z+4).trim();return Y&&G?{arrayExpr:Y,itemVar:G}:null}let J=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec($);if(!J)return null;let X=J[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),Q=J[2].trim();return X&&Q?{arrayExpr:Q,itemVar:X}:null}var t4="<!--stx:foreach-not-iterable:",YQ=/<!--stx:foreach-not-iterable:([^|>]*)\|([^>]*?)-->/g;function QQ($,Z){return`${t4}${encodeURIComponent($)}|${encodeURIComponent(Z)}-->`}function GQ($,Z){console.warn(`[stx] @foreach(${$}) in ${Z}: ${$} is not iterable server-side, so the loop rendered nothing. `+"Values a server loop reads must come from <script server> or the page context \u2014 "+"a plain <script> runs in the browser.")}function U$($){if(!$.includes(t4))return $;return $.replace(YQ,(Z,J,X)=>{return GQ(decodeURIComponent(J),decodeURIComponent(X)),""})}function e4($,Z,J,X,Q=!1){let Y=$;Y=s4(Y,Z);function G(K){let W=/@foreach\s*\(/g,U;while((U=W.exec(K))!==null){let H=U.index,j=U.index+U[0].length-1,B=1,V=j+1,F=-1;while(V<K.length&&B>0){if(K[V]==="(")B++;else if(K[V]===")"){if(B--,B===0){F=V;break}}V++}if(F===-1)continue;let L=K.substring(j+1,F),O=a4(L);if(!O)continue;let _=H,{arrayExpr:w,itemVar:R}=O,N=F+1,A=1,k=N,D=/@foreach\s*\(/g,I=/@endforeach/g;while(A>0&&k<K.length){D.lastIndex=k,I.lastIndex=k;let T=D.exec(K),M=I.exec(K);if(!M)break;if(T&&T.index<M.index)A++,k=T.index+T[0].length;else{if(A--,A===0){let E=K.substring(N,M.index),C=M.index+11;return{start:_,end:C,arrayExpr:w,itemVar:R,content:E}}k=M.index+11}}}return null}function z(K,W){let U=K;while(!0){let H=G(U);if(!H)break;let{start:j,end:B,arrayExpr:V,itemVar:F,content:L}=H;try{let O=V.trim(),_;if(B0(O))_=H0(O,Object.keys(W))(...Object.values(W));else _=Z0(O,W);let w=!1;if(!Array.isArray(_))if(_ instanceof Map)_=Array.from(_),w=!0;else if(_ instanceof Set)_=Array.from(_);else if(typeof _==="string")_=Array.from(_);else if(_&&typeof _==="object"&&!(_ instanceof Date)&&!(_ instanceof RegExp))_=Object.entries(_),w=!0;else{let M=QQ(O,J)+G0("Foreach",`Error in @foreach: ${O} is not iterable`,Q0.TYPE_ERROR);U=U.substring(0,j)+M+U.substring(B);continue}let R=X?.loops?.useAltLoopVariable??aY,N=F.trim(),A=null,k,D=!1;if(N.includes("=>")){let M=N.split("=>").map((E)=>E.trim());if(M.length===2&&M[0]&&M[1])A=M[0],k=M[1];else k=N}else if(!N.startsWith("[")&&!N.startsWith("{")&&N.includes(",")){let M=N.split(",").map((E)=>E.trim());if(M.length===2&&M[0]&&M[1])k=M[0],A=M[1],D=!0;else k=N}else k=N;let I="",T=_;for(let M=0;M<T.length;M++){let E=T[M],C={index:M,iteration:M+1,first:M===0,last:M===T.length-1,count:T.length},y={...W,loop:C,$loop:C};if(k.startsWith("[")&&k.endsWith("]")){let c=k.slice(1,-1).split(",").map((l)=>l.trim());if(Array.isArray(E))c.forEach((l,h)=>{if(l)y[l]=E[h]});else y[k]=E}else y[k]=E;if(A)if(!D&&w&&Array.isArray(E)&&E.length===2)y[A]=E[0],y[k]=E[1];else y[A]=M;let b=ZQ(L,y),P=n4(b);if(P.hasContinue){I+=P.content;continue}let g=i4(b);if(g.hasBreak){I+=g.content;break}if(b=s4(b,y),b=z(b,y),b=e0(b,y,J),b=JQ(b),g=i4(b),g.hasBreak){I+=g.content;break}if(P=n4(b),P.hasContinue){I+=P.content;continue}b=V1(b,y,J),b=$Q(b,y),b=eY(b,y),b=tY(b,y),I+=b}U=U.substring(0,j)+I+U.substring(B)}catch(O){let _=G0("Foreach",`Error in @foreach(${V.trim()} as ${F.trim()}): ${O instanceof Error?O.message:String(O)}`,Q0.EVALUATION_ERROR);U=U.substring(0,j)+_+U.substring(B)}}return U}Y=z(Y,Z),Y=Z6(Y,Z,J,X);let q=X?.loops?.maxWhileIterations??rY;return Y=KQ(Y,Z,q),Q?Y:U$(Y)}function $6($){return F9($)}function Z6($,Z,J,X){let Q=$,Y=!0;while(Y){Y=!1;let G=Q.match(/@for\s*\(/);if(!G||G.index===void 0)break;let z=G.index,q=z+G[0].length-1,K=w0(Q,"(",")",q);if(K===-1)break;let W=Q.slice(q+1,K),U=K+1,H=Q9(Q.slice(z),"for","endfor");if(H.length===0)break;let j=H[0].content,B=z+H[0].end;if(!$6(W)){let V=G0("For",`Unsafe expression in @for: ${W}`,Q0.UNSAFE_EXPRESSION);Q=Q.substring(0,z)+V+Q.substring(B),Y=!0;continue}try{let V=zQ(W),F=/@(?:for|foreach|if|unless)\s*\(/.test(j);if(V.length>0&&F){let N=qQ({forExpr:W,content:j,iterVarNames:V,context:Z,filePath:J,options:X});Q=Q.substring(0,z)+N+Q.substring(B),Y=!0;continue}let L=Object.keys(Z),O=Object.values(Z),_=j.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(N,A)=>{return`\${${A}}`});_=r4(_);let R=Function(...L,`
3469
+ let result = '';
3470
+ for (${W}) {
3471
+ result += \`${_}\`;
3472
+ }
3473
+ return result;
3474
+ `)(...O);Q=Q.substring(0,z)+R+Q.substring(B),Y=!0}catch(V){let F=G0("For",`Error in @for(${W}): ${V instanceof Error?V.message:String(V)}`,Q0.EVALUATION_ERROR);Q=Q.substring(0,z)+F+Q.substring(B),Y=!0}}return Q}function zQ($){let Z=$.trim(),J=Z.match(/^(?:const|let|var)\s+(\[[^\]]+\]|\{[^}]+\})\s+(?:of|in)\s+/);if(J){let Y=J[1];return Y.slice(1,-1).split(",").map((z)=>{let q=z.trim();if(!q)return"";let K=q.indexOf(":");if(K>=0&&Y.startsWith("{")){let H=q.slice(K+1).trim(),j=H.indexOf("=");return(j>=0?H.slice(0,j):H).trim()}let W=q.indexOf("="),U=(W>=0?q.slice(0,W):q).trim();return/^[A-Za-z_$][\w$]*$/.test(U)?U:""}).filter(Boolean)}let X=Z.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s+(?:of|in)\s+/);if(X)return[X[1]];let Q=Z.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=[^;]*;/);if(Q)return[Q[1]];return[]}function qQ($){let{forExpr:Z,content:J,iterVarNames:X,context:Q,filePath:Y,options:G}=$,z=Object.keys(Q),q=Object.values(Q),K=Function(...z,"__pushIter",`
3475
+ for (${Z}) {
3476
+ __pushIter([${X.join(", ")}])
3477
+ }
3478
+ `),W=[];K(...q,(j)=>{W.push(j)});let U=Y??"inline.stx",H="";for(let j of W){let B={...Q};X.forEach((F,L)=>{B[F]=j[L]});let V=Z6(J,B,Y,G);V=e0(V,B,U),V=V1(V,B,U),H+=V}return H}function KQ($,Z,J){let X=$,Q=!0;while(Q){Q=!1;let Y=X.match(/@while\s*\(/);if(!Y||Y.index===void 0)break;let G=Y.index,z=G+Y[0].length-1,q=w0(X,"(",")",z);if(q===-1)break;let K=X.slice(z+1,q),W=Q9(X.slice(G),"while","endwhile");if(W.length===0)break;let U=W[0].content,H=G+W[0].end;if(!$6(K)){let j=G0("While",`Unsafe expression in @while: ${K}`,Q0.UNSAFE_EXPRESSION);X=X.substring(0,G)+j+X.substring(H),Q=!0;continue}try{let j=Object.keys(Z),B=Object.values(Z),V=U.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(O,_)=>{return`\${${_}}`});V=r4(V);let L=Function(...j,`
3479
+ let result = '';
3480
+ let maxIterations = ${J}; // Configurable safety limit
3481
+ let counter = 0;
3482
+ while (${K} && counter < maxIterations) {
3483
+ counter++;
3484
+ result += \`${V}\`;
3485
+ }
3486
+ if (counter > maxIterations) {
3487
+ result += '<!-- [While Error [1104]]: Maximum iterations (${J}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
3488
+ }
3489
+ return result;
3490
+ `)(...B);X=X.substring(0,G)+L+X.substring(H),Q=!0}catch(j){let B=G0("While",`Error in @while(${K}): ${j instanceof Error?j.message:String(j)}`,Q0.EVALUATION_ERROR);X=X.substring(0,G)+B+X.substring(H),Q=!0}}return X}function WQ($,Z="_method"){let J=$.toUpperCase();if(J==="GET"||J==="POST")return"";return`<input type="hidden" name="${Z}" value="${J}">`}function J6($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,J,X,Q,Y)=>{return WQ(X,Y||"_method")})}async function X6($,Z,J,X,Q){if(!X.middleware||X.middleware.length===0)return $;let Y=$,G=X.middleware.filter((z)=>z.timing===Q);if(G.length===0)return Y;for(let z of G){if(!z.name||typeof z.handler!=="function"){if(X.debug)console.warn("Invalid middleware:",z);continue}try{let q=await z.handler(Y,Z,J,X);if(typeof q==="string")Y=q;else if(X.debug)console.warn(`Middleware ${z.name} did not return a string`)}catch(q){if(X.debug)console.error(`Error in middleware ${z.name}:`,q);if(X.debug){let K=_0("Middleware",`Error in middleware '${z.name}': ${q instanceof Error?q.message:String(q)}`,J,$);Y=Y.replace(/<body[^>]*>/,`$&
3491
+ <div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${c9(K)}</div>
3492
+ `)}}}return Y}async function Y6($,Z,J,X){return X6($,Z,J,X,"before")}async function Q6($,Z,J,X){return X6($,Z,J,X,"after")}q2();q2();function G6($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,J,X,Q,Y)=>{try{let G=Q?b0(Q,{}):{};return H$(X,G,Y==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var i0={patterns:[],exact:{}};function lj($,Z){if(!i0.exact[$])i0.exact[$]=[];i0.exact[$].push(Z)}function cj($,Z){let J=typeof $==="string"?new RegExp($):$;i0.patterns.push({pattern:J,callback:Z})}async function z6($,Z){let J=$.split("/").pop()?.split(".")[0]||"";if(i0.exact[$])for(let X of i0.exact[$])await Promise.resolve(X(Z,$));if(i0.exact[J])for(let X of i0.exact[J])await Promise.resolve(X(Z,$));for(let{pattern:X,callback:Q}of i0.patterns)if(X.test($)||X.test(J))await Promise.resolve(Q(Z,$))}function pj(){i0.patterns=[],i0.exact={}}var UQ=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),HQ=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 k1($,Z){let J=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;J.lastIndex=Z;let X=J.exec($);if(!X)return null;let Q=/\/\s*>$/.test(X[0])||X[1]===X[1].toLowerCase()&&UQ.has(X[1]),Y=Q?X[2].replace(/\/\s*$/,""):X[2];return{full:X[0],tag:X[1],attrs:Y,selfClosing:Q,start:X.index,end:X.index+X[0].length}}function jQ($,Z,J){let X=1,Q=J,Y=new RegExp(`<${Z}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),G=new RegExp(`</${Z}\\s*>`,"gi");while(X>0&&Q<$.length){Y.lastIndex=Q,G.lastIndex=Q;let z=Y.exec($),q=G.exec($);if(!q)return-1;if(z&&z.index<q.index)X++,Q=z.index+z[0].length;else{if(X--,X===0)return q.index+q[0].length;Q=q.index+q[0].length}}return-1}function I1($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let J=jQ($,Z.tag,Z.end);if(J===-1)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};return{outerStart:Z.start,outerEnd:J,innerHTML:$.slice(Z.end,J-`</${Z.tag}>`.length)}}function q6($,Z){return new RegExp(`(?:^|\\s)${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${Z}=`)||$.includes(` ${Z} `)||$.trimEnd().endsWith(` ${Z}`)}function A2($,Z){let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),X=$.match(new RegExp(`${J}="([^"]*)"`,"s"))||$.match(new RegExp(`${J}='([^']*)'`,"s"));return X?X[1]:null}function U1($,Z){let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return $.replace(new RegExp(`\\s*${J}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${J}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${J}(?=\\s|$|>|/)`,"g"),"")}function n1($,Z,J){let X=Z.selfClosing?" /":"",Q=`<${Z.tag}${J}${X}>`;return $.slice(0,Z.start)+Q+$.slice(Z.end)}function BQ($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function VQ($){let Z=$,J=0;while(J<Z.length){let X=k1(Z,J);if(!X)break;let Q=A2(X.attrs,"v-for");if(Q===null){J=X.end;continue}let Y=Q.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!Y){J=X.end;continue}let G=Y[1].trim(),z=Y[2].trim(),q;if(G.includes(",")){let F=G.split(",").map((_)=>_.trim()),L=F[0],O=F[1];q=`${z} as ${O} => ${L}`}else q=`${z} as ${G}`;let K=U1(X.attrs,"v-for"),W=U1(K,":key").replace(/\s*v-bind:key="[^"]*"/g,""),U=I1(Z,X),H=Z.slice(U.outerStart,U.outerEnd),j=n1(H,{...X,start:0,end:X.end-X.start},W),B=`@foreach(${q})
3493
+ `,V=`${B}${j}
3494
+ @endforeach`;Z=Z.slice(0,U.outerStart)+V+Z.slice(U.outerEnd),J=U.outerStart+B.length}return Z}function _Q($){let Z=$,J=0;while(J<Z.length){let X=k1(Z,J);if(!X)break;let Q=A2(X.attrs,"v-if");if(Q===null){J=X.end;continue}let Y=[],G=I1(Z,X),z=U1(X.attrs,"v-if"),q=n1(Z.slice(G.outerStart,G.outerEnd),{...X,start:0,end:X.end-X.start},z);Y.push({type:"if",expr:Q,outerStart:G.outerStart,outerEnd:G.outerEnd,element:q,parsedTag:X});let K=G.outerEnd,W=!0;while(W){let V=Z.slice(K).match(/^\s*/),F=V?V[0].length:0,L=k1(Z,K+F);if(!L){W=!1;break}let O=A2(L.attrs,"v-else-if"),_=q6(L.attrs,"v-else");if(O!==null){let w=I1(Z,L),R=U1(L.attrs,"v-else-if"),N=n1(Z.slice(w.outerStart,w.outerEnd),{...L,start:0,end:L.end-L.start},R);Y.push({type:"else-if",expr:O,outerStart:K,outerEnd:w.outerEnd,element:N,parsedTag:L}),K=w.outerEnd}else if(_){let w=I1(Z,L),R=U1(L.attrs,"v-else"),N=n1(Z.slice(w.outerStart,w.outerEnd),{...L,start:0,end:L.end-L.start},R);Y.push({type:"else",outerStart:K,outerEnd:w.outerEnd,element:N,parsedTag:L}),W=!1}else W=!1}let U=[];for(let V of Y)if(V.type==="if")U.push(`@if(${V.expr})
3495
+ ${V.element}`);else if(V.type==="else-if")U.push(`@elseif(${V.expr})
3496
+ ${V.element}`);else U.push(`@else
3497
+ ${V.element}`);U.push("@endif");let H=U.join(`
3498
+ `),j=Y[0].outerStart,B=Y[Y.length-1].outerEnd;Z=Z.slice(0,j)+H+Z.slice(B),J=j+H.length}return Z}function LQ($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function OQ($){let Z=$,J=0;while(J<Z.length){let X=k1(Z,J);if(!X)break;let Q=HQ.has(X.tag),Y=X.attrs.replace(/([^\s=]+)(?:\s*=\s*("[^"]*"|'[^']*'|[^\s]+))?/g,(z,q,K)=>{let W=/^v-model(?::([a-zA-Z_][a-zA-Z0-9_]*))?((?:\.[a-zA-Z]+)*)$/.exec(q);if(!W||!K||!/^["']/.test(K))return z;let U=W[1]||"modelValue",H=W[2];if(Q&&!W[1])return`@model${H}=${K}`;let j=K[0],B=K.slice(1,-1),V=`:${U}=${K} @update:${U}=${j}${B} = $event${j}`;if(H){let F=W[1]?`${U}Modifiers`:"modelModifiers",L=H.slice(1).split(".").map((O)=>`${O}: true`).join(", ");V+=` :${F}="{ ${L} }"`}return V});if(Y===X.attrs){J=X.end;continue}let G=n1(X.full,{...X,start:0,end:X.full.length},Y);Z=Z.slice(0,X.start)+G+Z.slice(X.end),J=X.start+G.length}return Z}function FQ($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function wQ($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function RQ($){let Z=$,J=0;while(J<Z.length){let X=k1(Z,J);if(!X)break;let Q=A2(X.attrs,"v-html");if(Q===null){J=X.end;continue}if(X.selfClosing){J=X.end;continue}let Y=I1(Z,X),G=U1(X.attrs,"v-html"),z=X.selfClosing?" /":"",q=`<${X.tag}${G}${z}>{!! ${Q} !!}</${X.tag}>`;Z=Z.slice(0,Y.outerStart)+q+Z.slice(Y.outerEnd),J=Y.outerStart+q.length}return Z}function NQ($){let Z=$,J=0;while(J<Z.length){let X=k1(Z,J);if(!X)break;let Q=A2(X.attrs,"v-text");if(Q===null){J=X.end;continue}if(X.selfClosing){J=X.end;continue}let Y=I1(Z,X),G=U1(X.attrs,"v-text"),z=X.selfClosing?" /":"",q=`<${X.tag}${G}${z}>{{ ${Q} }}</${X.tag}>`;Z=Z.slice(0,Y.outerStart)+q+Z.slice(Y.outerEnd),J=Y.outerStart+q.length}return Z}function DQ($){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 AQ($){let Z=$,J=0;while(J<Z.length){let X=k1(Z,J);if(!X)break;if(!q6(X.attrs,"v-once")){J=X.end;continue}let Q=U1(X.attrs,"v-once"),Y=I1(Z,X),G=Z.slice(Y.outerStart,Y.outerEnd),q=`@once
3499
+ ${n1(G,{...X,start:0,end:X.end-X.start},Q)}
3500
+ @endonce`;Z=Z.slice(0,Y.outerStart)+q+Z.slice(Y.outerEnd),J=Y.outerStart+q.length}return Z}function MQ($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function IQ($){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 K6($){if(!BQ($))return $;let Z=$;return Z=VQ(Z),Z=_Q(Z),Z=AQ(Z),Z=FQ(Z),Z=wQ(Z),Z=OQ(Z),Z=LQ(Z),Z=IQ(Z),Z=RQ(Z),Z=NQ(Z),Z=DQ(Z),Z=MQ(Z),Z}function D9($){return $.replace(/--/g,"- -").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var j$=new Set(["a","abbr","address","article","aside","audio","b","bdi","bdo","blockquote","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","meter","nav","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","small","span","strong","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","u","ul","video"]),kQ=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"]);function W6($,Z){let J=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec($),X=J?J[1]:$,Q=Z0(X,Z);if(Q&&typeof Q==="string")return Q;let Y=X.trim();return j$.has(Y)?Y:null}function U6($){let Z=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec($);return Z?Z[1]:$}function H6($,Z,J){let X=Z.replace(/\s*(?::is|v-bind:is)\s*=\s*"[^"]*"/gi,"").trim(),Q=X?`<${$} ${X}>`:`<${$}>`;if(kQ.has($))return X?`<${$} ${X}>`:`<${$}>`;return`${Q}${J}</${$}>`}async function j6($,Z,J,X,Q){let Y=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,z=[],q;while((q=G.exec(Y))!==null)z.push({full:q[0],expr:q[1],attrs:q[2],slotContent:q[3],index:q.index});for(let K=z.length-1;K>=0;K--){let W=z[K];try{let U=W6(W.expr,Z);if(!U||typeof U!=="string"){let O=`<!-- dynamic component: could not resolve "${D9(U6(W.expr))}" -->`;Y=Y.slice(0,W.index)+O+Y.slice(W.index+W.full.length);continue}if(j$.has(U)){let O=H6(U,W.attrs,W.slotContent);Y=Y.slice(0,W.index)+O+Y.slice(W.index+W.full.length);continue}let H=W.attrs.trim(),j={},B=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,V;while((V=B.exec(H))!==null){let O=V[1]||V[2],_=V[3];if(V[1])try{j[O]=Z0(_,Z)}catch{j[O]=_}else j[O]=_}let F=X.componentsDir||"components",L=await D1(U,j,W.slotContent,F,Z,J,X,new Set,Q??new Set);Y=Y.slice(0,W.index)+L+Y.slice(W.index+W.full.length)}catch(U){let H=U instanceof Error?U.message:String(U),j=`<!-- dynamic component error: ${D9(H)} -->`;Y=Y.slice(0,W.index)+j+Y.slice(W.index+W.full.length)}}return Y=await TQ(Y,Z,J,X,Q),Y}async function TQ($,Z,J,X,Q){let Y=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,z=[],q;while((q=G.exec(Y))!==null)z.push({full:q[0],expr:q[1],attrs:q[2],index:q.index});for(let K=z.length-1;K>=0;K--){let W=z[K];try{let U=W6(W.expr,Z);if(!U||typeof U!=="string"){let B=`<!-- dynamic component: could not resolve "${D9(U6(W.expr))}" -->`;Y=Y.slice(0,W.index)+B+Y.slice(W.index+W.full.length);continue}if(j$.has(U)){let B=H6(U,W.attrs,"");Y=Y.slice(0,W.index)+B+Y.slice(W.index+W.full.length);continue}let H=X.componentsDir||"components",j=await D1(U,{},"",H,Z,J,X,new Set,Q??new Set);Y=Y.slice(0,W.index)+j+Y.slice(W.index+W.full.length)}catch(U){let H=U instanceof Error?U.message:String(U),j=`<!-- dynamic component error: ${D9(H)} -->`;Y=Y.slice(0,W.index)+j+Y.slice(W.index+W.full.length)}}return Y}function B$(){return{afterOpen:[],beforeClose:[]}}function EQ($){return $.afterOpen.length>0||$.beforeClose.length>0}function V6($,Z){if(!EQ(Z))return $;let J=Z.afterOpen.join(""),X=Z.beforeClose.join(""),Q=$.lastIndexOf("</head>"),Y=J?M2($):null,G=X&&Q!==-1?Q:null;if(Y===null&&G===null)return $;if(Y!==null&&G!==null)return`${$.slice(0,Y)}${J}${$.slice(Y,G)}${X}${$.slice(G)}`;if(Y!==null)return`${$.slice(0,Y)}${J}${$.slice(Y)}`;return`${$.slice(0,G)}${X}${$.slice(G)}`}var B6=/\s*<meta\b[^>]*\bcharset\b[^>]*>/iy;function M2($){let Z=/<head\b[^>]*>/i.exec($);if(!Z)return null;let J=Z.index+Z[0].length;B6.lastIndex=J;let X=B6.exec($);return X?J+X[0].length:J}var _$="data-stx-color-mode-boot",bQ="__STX_COLOR_MODE__",yQ=new Set(["light","dark","auto","system"]),CQ=new Set(["auto","system"]),SQ=/^[a-z][\w:-]*$/i,PQ=/^[\w-]+$/;function vQ($){let Z=$.storageKey??"stx-color-mode",J=$.initialMode??"auto",X=$.darkClass===void 0?"dark":$.darkClass,Q=$.attribute??null,Y=$.autoValue??null;if(typeof Z!=="string"||Z.length===0)throw Error("colorMode.storageKey must be a non-empty string");if(!yQ.has(J))throw Error(`colorMode.initialMode must be one of light, dark, auto, system \u2014 got ${JSON.stringify(J)}`);if(X!==null&&(typeof X!=="string"||!PQ.test(X)))throw Error(`colorMode.darkClass must be a single CSS class name, or null to opt out \u2014 got ${JSON.stringify(X)}`);if(Q!==null&&(typeof Q!=="string"||!SQ.test(Q)))throw Error(`colorMode.attribute must be a valid HTML attribute name \u2014 got ${JSON.stringify(Q)}`);if(Y!==null&&!CQ.has(Y))throw Error(`colorMode.autoValue must be 'auto' or 'system' \u2014 got ${JSON.stringify(Y)}`);if(X===null&&Q===null)throw Error("colorMode needs at least one of darkClass or attribute \u2014 with both null nothing would mark the mode on <html>");return{storageKey:Z,initialMode:J==="system"?"auto":J,darkClass:X,attribute:Q,autoValue:Y}}function fQ($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function L$($={}){let Z=vQ($),X=`(function(){"use strict";var c=${fQ(Z)};var p=c.initialMode;var a=c.autoValue;try{var v=localStorage.getItem(c.storageKey);if(v==="light"||v==="dark"){p=v}else if(v==="auto"||v==="system"){p="auto";if(!a)a=v}}catch(e){}var m=p;if(p==="auto"){try{m=matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}catch(e){m="light"}}var r=document.documentElement;if(c.attribute)r.setAttribute(c.attribute,m);if(c.darkClass){if(m==="dark")r.classList.add(c.darkClass);else r.classList.remove(c.darkClass)}try{window.${bQ}={storageKey:c.storageKey,initialMode:c.initialMode,darkClass:c.darkClass,attribute:c.attribute,autoValue:a||"auto",preference:p,mode:m}}catch(e){}}());`;return`<script ${_$}>${X}</script>`}function O6($,Z={}){if($.includes(_$))return $;let J=V$($);if(J===null)return $;let X=L$(Z);return`${$.slice(0,J)}
3501
+ ${X}${$.slice(J)}`}var V$=M2,xQ=new RegExp(`<script\\b[^>]*\\b${_$}\\b[^>]*>[\\s\\S]*?<\\/script>`,"i"),_6=/<meta\b[^>]*\bcharset\b[^>]*>/gi,L6=/<\/head>/gi;function gQ($){let Z=/<head\b[^>]*>/i.exec($);if(!Z)return $;let J=Z.index+Z[0].length;L6.lastIndex=J;let X=L6.exec($),Q=X?X.index:$.length;_6.lastIndex=J;let Y=_6.exec($);if(!Y||Y.index>=Q)return $;if($.slice(J,Y.index).trim()==="")return $;let G=Y.index+Y[0].length;return`${$.slice(0,J)}
3502
+ ${Y[0]}${$.slice(J,Y.index)}${$.slice(G,Q)}${$.slice(Q)}`}function F6($){return hQ(gQ($))}function hQ($){let Z=xQ.exec($);if(!Z)return $;let J=V$($);if(J===null)return $;if(Z.index<=J||$.slice(J,Z.index).trim()==="")return $;let X=$.slice(0,Z.index)+$.slice(Z.index+Z[0].length),Q=V$(X);if(Q===null)return $;return`${X.slice(0,Q)}
3503
+ ${Z[0]}${X.slice(Q)}`}var ZB="stx-build",JB="X-STX-Build",I2=Symbol.for("stx.buildId");function w6(){let $=globalThis;if(!$[I2])$[I2]=process.env.STX_BUILD_ID||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`;return $[I2]}function XB($){let Z=globalThis;if($===null)delete Z[I2];else Z[I2]=$}function YB($,Z=w6()){let J=O$($,Z);if(J===null)return $;let X=/<head\b[^>]*>/i.exec($),Q=X.index+X[0].length;return`${$.slice(0,Q)}${J}${$.slice(Q)}`}function O$($,Z=w6()){if($.includes('name="stx-build"'))return null;if(!/<head\b[^>]*>/i.test($))return null;return`
3504
+ <meta name="stx-build" content="${Z}">`}import{AsyncLocalStorage as uQ}from"async_hooks";var R6=new uQ;function F$($){return $.__stx_server_data??={pending:new Map,values:new Map}}function N6($,Z){return R6.run(F$($),Z)}async function D6($,Z){let J=R6.getStore();if(!J)throw Error("useServerData must run inside a <script server> render");if(typeof $!=="string"||!$.trim())throw TypeError("useServerData requires a non-empty string key");let X=J.pending.get($);if(X)return X;let Q=Promise.resolve().then(Z).then((Y)=>{let G=JSON.stringify(Y,(q,K)=>{if(K===void 0||typeof K==="function"||typeof K==="symbol"||typeof K==="bigint"||typeof K==="number"&&!Number.isFinite(K))throw TypeError(`useServerData(${JSON.stringify($)}) requires JSON-serializable data`);if(K&&typeof K==="object"&&!Array.isArray(K)&&Object.getPrototypeOf(K)!==Object.prototype&&Object.getPrototypeOf(K)!==null)throw TypeError(`useServerData(${JSON.stringify($)}) requires JSON-serializable data`);return K}),z=JSON.parse(G);return J.values.set($,z),z}).catch((Y)=>{throw J.pending.delete($),Y});return J.pending.set($,Q),Q}function A6($){let Z=$.__stx_server_data;if(!Z?.values.size)return"";return`<script data-stx-scoped data-stx-server-data type="application/json">${JSON.stringify(Object.fromEntries(Z.values)).replace(/</g,"\\u003c").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}</script>`}var k6="<style data-stx-cloak>[x-cloak]{display:none !important}</style>",A9="data-stx-html-attrs",M9="data-stx-html-class",T6=/^[A-Za-z_:][\w:.-]*$/;function Z1($){return String($).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function dQ($){return String($).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function o1($){if($.name)return`name="${$.name}"`;if($.property)return`property="${$.property}"`;if($.charset!=null)return"charset=";if($["http-equiv"])return`http-equiv="${$["http-equiv"]}"`;return""}function s1($,Z){return Object.entries($).filter(([J])=>!Z?.(J)).map(([J,X])=>`${J}="${Z1(String(X))}"`).join(" ")}function mQ($={},Z="en"){let J=[],X=[],Q="",Y=Z;for(let[z,q]of Object.entries($||{})){if(q==null)continue;let K=z.trim();if(!T6.test(K))continue;let W=K.toLowerCase();if(W==="lang"){Y=String(q);continue}if(W==="class"){Q=String(q).trim();continue}J.push(` ${K}="${Z1(String(q))}"`),X.push(K)}let G=` lang="${Z1(Y)}"`;if(Q)G+=` class="${Z1(Q)}"`;if(G+=J.join(""),Q)G+=` ${M9}="${Z1(Q)}"`;if(X.length)G+=` ${A9}="${Z1(X.join(" "))}"`;return G}function E6($={},Z={}){let J={...$,...Z};if($.class&&Z.class){let X=$.class.split(/\s+/).filter(Boolean);for(let Q of Z.class.split(/\s+/).filter(Boolean))if(!X.includes(Q))X.push(Q);J.class=X.join(" ")}return J}function b6($,Z={}){if(!Z||Object.keys(Z).length===0)return $;let J=$.match(/<html\b([^>]*)>/i);if(!J)return $;let X={},Q=[],Y=/([A-Za-z_:][\w:.-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>]+)))?/g,G;while((G=Y.exec(J[1]))!==null){let W=G[1];if(!(W in X))Q.push(W);X[W]=G[2]??G[3]??G[4]??""}let z=[],q=[];for(let[W,U]of Object.entries(Z)){if(U==null)continue;let H=W.trim();if(!T6.test(H))continue;let j=H.toLowerCase();if(j==="class"){let B=(X.class||"").split(/\s+/).filter(Boolean);for(let V of String(U).split(/\s+/).filter(Boolean))if(!B.includes(V))B.push(V),z.push(V);if(!("class"in X))Q.push("class");X.class=B.join(" ");continue}if(!(H in X))Q.push(H);if(X[H]=String(U),j!=="lang")q.push(H)}if(z.length){if(!(M9 in X))Q.push(M9);X[M9]=z.join(" ")}if(q.length){if(!(A9 in X))Q.push(A9);X[A9]=q.join(" ")}let K=Q.map((W)=>` ${W}="${Z1(X[W])}"`).join("");return $.replace(J[0],()=>`<html${K}>`)}function KB($){let Z=N$($);if(Z===null)return $;let J=$.lastIndexOf("</head>");return`${$.slice(0,J)}${Z}${$.slice(J)}`}function N$($){if($.includes("data-stx-cloak"))return null;if($.lastIndexOf("</head>")===-1)return null;return`${k6}
3505
+ `}function lQ($){let Z=[],J=0;while(J<$.length){let Y=$.slice(J),G=Y.match(/^\s+/);if(G){J+=G[0].length;continue}if(Y.startsWith("<!--")){let U=$.indexOf("-->",J);if(U===-1)break;J=U+3;continue}let z=Y.match(/^<script\b[^>]*>/i);if(z){let U=$.toLowerCase().indexOf("</script>",J+z[0].length);if(U===-1)break;J=U+9;continue}let q=Y.match(/^<link\b[^>]*>/i);if(q){Z.push(q[0]),J+=q[0].length;continue}let K=Y.match(/^<meta\b[^>]*>/i);if(K){Z.push(K[0]),J+=K[0].length;continue}let W=Y.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(W){Z.push(W[0]),J+=W[0].length;continue}break}if(Z.length===0)return{body:$,hoisted:Z};let X="",Q=0;while(Q<$.length&&Q<J){let Y=$.slice(Q),G=Y.match(/^<link\b[^>]*>/i);if(G&&Z.includes(G[0])){Q+=G[0].length;continue}let z=Y.match(/^<meta\b[^>]*>/i);if(z&&Z.includes(z[0])){Q+=z[0].length;continue}let q=Y.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(q&&Z.includes(q[0])){Q+=q[0].length;continue}X+=$[Q],Q++}return X+=$.slice(J),{body:X,hoisted:Z}}function cQ($,Z={},J={}){let{title:X="stx App",lang:Q="en",meta:Y=[],link:G=[],script:z=[],headRaw:q="",htmlAttrs:K={},bodyClass:W="",bodyAttrs:U={}}=Z,H=J.title||X,j=[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],B=new Set(Y.map(o1).filter(Boolean)),F=[...j.filter((I)=>!B.has(o1(I))),...Y].map((I)=>{return` <meta ${s1(I)}>`}).join(`
3506
+ `),L=G.map((I)=>{return` <link ${s1(I)}>`}).join(`
3507
+ `),O=z.map((I)=>{if(I.src)return` <script ${s1(I,(T)=>T==="content")}></script>`;if(I.content)return` <script>${I.content}</script>`;return""}).filter(Boolean).join(`
3508
+ `),_=mQ(K,Q),w=Object.entries(U).map(([I,T])=>` ${I}="${Z1(String(T))}"`).join(""),R=W?` class="${Z1(W)}"`:"",{body:N,hoisted:A}=lQ($),k=[F,J.colorMode?` ${L$(J.colorMode)}`:"",` <title>${J.titleIsHtml?H:dQ(H)}</title>`,` ${k6}`,L,O,q?` ${q}`:"",...(J.styles||[]).map((I)=>` ${I}`),...A.map((I)=>` ${I}`),...(J.headScripts||[]).map((I)=>` ${I}`),J.headStack||""].filter(Boolean),D=[N,...(J.bodyScripts||[]).map((I)=>I),J.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
3509
+ <html${_}>
3510
+ <head>
3511
+ ${k.join(`
3512
+ `)}
3513
+ </head>
3514
+ <body${R}${w}>
3515
+ ${D.join(`
3516
+ `)}
3517
+ </body>
3518
+ </html>`}var w$=/\s+/y,R$=/<(script|style)\b[^>]*>/iy,pQ=/<\/script>/gi,iQ=/<\/style>/gi,M6=/<!DOCTYPE\b/iy,I6=/<html[\s>]/iy;function D$($){let Z=0;while(Z<$.length){if(w$.lastIndex=Z,w$.exec($)){Z=w$.lastIndex;continue}if($.startsWith("<!--",Z)){let Q=$.indexOf("-->",Z);if(Q===-1)return!1;Z=Q+3;continue}R$.lastIndex=Z;let X=R$.exec($);if(X){let Q=X[1].toLowerCase()==="script"?pQ:iQ;Q.lastIndex=R$.lastIndex;let Y=Q.exec($);if(Y===null)return!1;Z=Y.index+Y[0].length;continue}if(M6.lastIndex=Z,M6.test($))return!0;return I6.lastIndex=Z,I6.test($)}return!1}function A$($){return D$($)}function y6($,Z={}){let J=$.lastIndexOf("</head>");if(J===-1)return $;let{meta:X=[],link:Q=[],script:Y=[],headRaw:G=""}=Z,z=$.slice(0,J),q=[];for(let K of X){let W=o1(K);if(W&&z.includes(W))continue;q.push(` <meta ${s1(K)}>`)}for(let K of Q){if(K.href&&z.includes(`href="${K.href}"`))continue;q.push(` <link ${s1(K)}>`)}for(let K of Y)if(K.src){if(z.includes(`src="${K.src}"`))continue;q.push(` <script ${s1(K,(W)=>W==="content")}></script>`)}else if(K.content){if(z.includes(K.content))continue;q.push(` <script>${K.content}</script>`)}if(G&&!z.includes(G))q.push(` ${G}`);if(q.length===0)return $;return`${$.slice(0,J)}${q.join(`
3519
+ `)}
3520
+ ${$.slice(J)}`}function C6($,Z={},J={},X){if(X??A$($))return $;return cQ($,Z,J)}var nQ=/<\/(script)/gi;function r1($){if(!$||$.indexOf("</")===-1)return $;return $.replace(nQ,"<\\/$1")}var k2=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useActiveElement","useDocumentVisibility","useIntervalFn","useObjectUrl","useTimeoutFn"];import v6 from"path";q2();q2();function P6($,Z={}){return new S6($,Z).routes}function OB($,Z){let J=M$($,Z);return J?J.params:null}var f6=new Map;async function x6($,Z){let J=$,X=Z;if(!J||!X)try{let z=await O5();J||=z?.pagesDir||"pages",X||=z?.root||"."}catch{J||="pages",X||="."}let Q=v6.isAbsolute(J)?J:v6.join(X,J),Y=f6.get(Q);if(Y)return Y;let G=[];try{G=P6(".",{pagesDir:Q,emit:!1}).map((z)=>z.regex.source).filter(Boolean)}catch{G=[]}return f6.set(Q,G),G}function sQ($){return $.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function g6($){return sQ(JSON.stringify($))}function h6($){return $.includes("data-stx-runtime")}function u6($){let Z=/window\.stx\s*\.\s*[A-Za-z_$]|\}\s*=\s*window\.stx\s*;/g;for(let J=Z.exec($);J!==null;J=Z.exec($)){let X=$.slice(Math.max(0,J.index-80),J.index);if(/if\s*\(\s*window\.stx\s*\)|window\.stx\s*&&/.test(X))continue;return!0}return!1}function I$($,Z){let J=G2($),X=$.search(/<!doctype\b/i);if(J!==-1&&(X===-1||J>X))return $.slice(0,J)+Z+`
3521
+ `+$.slice(J);let Q=M2($);if(Q!==null)return`${$.slice(0,Q)}
3522
+ ${Z}${$.slice(Q)}`;if($.includes("</head>")){let G=$.indexOf("</head>");return $.slice(0,G)+Z+`
3523
+ `+$.slice(G)}if(s0($))return y1($,(G)=>`${G}
3524
+ ${Z}`);return`${Z}
3525
+ ${$}`}async function I9($,Z){if($.includes("data-stx-runtime")||$.includes("window.stx.state")||$.includes("STX Signals Runtime"))return $;if(Z.buildMode==="serve"){let{getServeClientAsset:Q}=await import("./chunk-4a2wcz8h.js"),{url:Y}=await Q("runtime",Z.debug===!0);return I$($,`<script data-stx-runtime src="${Y}"></script>`)}if(Z.buildMode==="compile")return I$($,'<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>');let{getCachedSignalsRuntime:J}=await import("./chunk-4a2wcz8h.js"),X=await J(Z.debug);return I$($,`<script data-stx-scoped data-stx-runtime>${X}</script>`)}function oQ($){return/<[a-z][^>]*?\sx-tooltip\s*=/i.test($)}function d6($){if($.includes("data-stx-tooltip-runtime")||!oQ($))return $;let Z=`<script data-stx-scoped data-stx-tooltip-runtime>${t5()}</script>`,J=$.lastIndexOf("</body>");if(J===-1)return`${$}
3526
+ ${Z}`;return`${$.slice(0,J)}${Z}
3527
+ ${$.slice(J)}`}var rQ=/<script\b[^>]*\sdata-stx-router(?=[\s=>])/i;function aQ($){return rQ.test($)||$.includes("__stxRouter)return")||$.includes("__stxRouter=true")}async function tQ($,Z){if(!$.includes("</body>"))return $;if(aQ($))return $;let J=Z?.router,X="";{let q={};if(J){if(J.container)q.container=J.container;if(J.interceptAllLinks!==void 0)q.interceptAllLinks=J.interceptAllLinks;if(J.progress!==void 0)q.progress=J.progress;if(J.viewTransitions!==void 0)q.viewTransitions=J.viewTransitions;if(J.viewTransitionDuration!==void 0)q.viewTransitionDuration=J.viewTransitionDuration;if(J.viewTransitionEasing!==void 0)q.viewTransitionEasing=J.viewTransitionEasing;if(J.scrollToTop!==void 0)q.scrollToTop=J.scrollToTop;if(J.prefetch!==void 0)q.prefetch=J.prefetch;if(J.cache!==void 0)q.cache=J.cache;if(J.progressColor!==void 0)q.progressColor=J.progressColor;if(J.progressHeight!==void 0)q.progressHeight=J.progressHeight}try{let K=await x6(Z?.pagesDir,Z?.root);if(K.length>0)q.ownedRoutes=K}catch{}if(Object.keys(q).length>0)X=`<script>window.__stxRouterConfig=${g6(q)};</script>
3528
+ `}let{getCachedRouterScript:Q,getServeClientAsset:Y}=await import("./chunk-4a2wcz8h.js"),G=Z?.buildMode==="compile"?'<script data-stx-router src="/__stx/router.__STX_HASH__.js"></script>':Z?.buildMode==="serve"?`<script data-stx-router src="${(await Y("router")).url}"></script>`:`<script data-stx-router>${await Q()}</script>`,z=$.lastIndexOf("</body>");return $.slice(0,z)+X+G+`
3529
+ </body>`+$.slice(z+7)}var m6=Symbol.for("stx.lazy-module-promises");function eQ(){let $=globalThis;return $[m6]??=new Map,$[m6]}function a($,Z){let J=eQ(),X=`${import.meta.url}\x00${$}`,Q=J.get(X);if(Q)return Q;let Y=Z();return J.set(X,Y),Y.catch(()=>{if(J.get(X)===Y)J.delete(X)}),Y}var k$=`(?:"[^"]*"|'[^']*'|[^>"'])*`,a6=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s,$G=65536,ZG=4,T9=new Map;function iB(){T9.clear()}function JG($){let Z=[];for(let J of T2($,Y2)){let X=J.token.match(/^<script\b([^>]*)>/i),Q=J.token.match(/<\/script\s*>$/i);if(!X||!Q)continue;let Y=X[0].length,G=J.token.length-Q[0].length;Z.push(Object.freeze({fullMatch:J.token,attrs:X[1],body:J.token.slice(Y,G),start:J.start,end:J.end}))}return Z}function XG($,Z={}){let J=$.length>=$G,X=J?T9.get($):void 0;if(X===void 0){if(X=JG($),J)r6(T9,ZG),T9.set($,X)}let Q=Z.skipAttrs;if(!Q)return X.slice();let Y=[];for(let G of X)if(Q.lastIndex=0,!Q.test(G.attrs))Y.push(G);return Y}function t6($){let Z=$.trim(),J=Z.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(J){let Q=J[1].trim(),Y=J[2].trim(),{itemVar:G,indexVar:z}=l6(Y);if(G)return{style:"as",iterable:Q,itemVar:G,indexVar:z}}let X=Z.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(X){let Q=X[1].trim(),Y=X[2].trim(),{itemVar:G,indexVar:z}=l6(Q);if(G)return{style:"in",iterable:Y,itemVar:G,indexVar:z}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function l6($){let Z=$.trim(),J=Z.match(/^(\w+)\s*=>\s*(\w+)$/);if(J)return{itemVar:J[2],indexVar:J[1]};let X=Z.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(X)return{itemVar:X[1],indexVar:X[2]||null};let Q=Z.match(/^(\w+)\s*,\s*(\w+)$/);if(Q)return{itemVar:Q[1],indexVar:Q[2]};let Y=Z.match(/^(\w+)$/);if(Y)return{itemVar:Y[1],indexVar:null};return{itemVar:null,indexVar:null}}function b$($,Z){return o6($,Z)}function YG($){let Z=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,J=0,X;while((X=Z.exec($))!==null){let Q=X[1];if(Q.startsWith("if"))J++;else if(Q==="endif")J--;else if(J===0)return!0}return!1}function QG($){let Z=new Set,J=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,X=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal|useModel)\s*(?:<[^>]*>)?\s*\(/g,Q;while((Q=J.exec($))!==null){let Y=Q[1],G;while((G=X.exec(Y))!==null)Z.add(G[1])}return Z}function GG($){if(!/[:@]for\s*=/.test($)&&!/\bx-for\s*=/.test($))return[];let Z=new RegExp(`<([a-zA-Z][\\w-]*)\\b(${k$})>`,"iy"),J=/(?:^|\s)(?::for|@for|x-for)\s*=\s*(?:"([^"]*)"|'([^']*)')/i,X=T2($,(Y,G)=>{Z.lastIndex=G;let z=Z.exec(Y);if(!z||z.index!==G||!J.test(z[2]))return-1;return Z.lastIndex}),Q=[];for(let Y of X){Z.lastIndex=0;let G=Z.exec(Y.token);if(!G)continue;let z=G[2].match(J),q=t6(z?.[1]??z?.[2]??""),K=[q.itemVar,q.indexVar].filter(Boolean);if(K.length===0)continue;let W=G[1],H=/\/\s*>$/.test(Y.token)||E9.has(W.toLowerCase())?Y.end:$8($,Y.start,W,Y.end);if(H!==-1)Q.push({start:Y.start,end:H,vars:new Set(K)})}return Q}var c6=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"]);function zG($){return $.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function p6($,Z,J,X){if(!$)return!1;let Q=zG($),Y=!1,G=!1,z=!1,q=/([a-zA-Z_$][\w$]*)/g,K;while((K=q.exec(Q))!==null){let j=K[1];if(Q.slice(0,K.index).trimEnd().endsWith("."))continue;if(c6.has(j))continue;if(Z.has(j)||X?.has(j))Y=!0;else if(J&&j in J)G=!0}let W=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,U;while((U=W.exec(Q))!==null){let j=U[1];if(Q.slice(0,U.index).trimEnd().endsWith("."))continue;if(c6.has(j)||J&&j in J)continue;z=!0}return(Y||z)&&!G}function k9($,Z,J){let X=J===void 0?` ${Z}`:` ${Z}="${J.replace(/"/g,"&quot;")}"`,Q=$.trim(),Y=Q.match(a6);if(Y&&qG(Y[3],Y[1])){let[,G,z,q]=Y;return`<${G}${z}${X}>${q}</${G}>`}return`<template${X}>${Q}</template>`}function qG($,Z){let J=new RegExp(`<(/)?${Z}(?=[\\s/>])`,"gi"),X=0,Q;while((Q=J.exec($))!==null)if(Q[1]){if(X--,X<0)return!1}else X++;return!0}function e6($,Z){let J=QG($);function X(Q){let Y=Q,G=GG(Q),z=(U)=>{let H=new Set;for(let j of G)if(U>j.start&&U<j.end)for(let B of j.vars)H.add(B);return H},q=/@if\s*\(/g,K,W=[];while((K=q.exec(Y))!==null){let U=K.index,H=U+K[0].length,j=1,B=H;while(B<Y.length&&j>0){if(Y[B]==="(")j++;else if(Y[B]===")")j--;B++}if(j!==0)continue;let V=Y.substring(H,B-1).trim(),F=B,L=1,O=F,_=/@(if\s*\(|endif)/g;_.lastIndex=F;let w;while((w=_.exec(Y))!==null)if(w[1].startsWith("if"))L++;else if(w[1]==="endif"){if(L--,L===0){O=w.index+w[0].length;break}}if(L!==0)continue;let R=Y.substring(F,O-6).trim(),N;if(YG(R)){let A=B2(Y.substring(U,O));if(A.length===0)continue;let k=A[0].branches.filter((M)=>M.type!=="else"),D=z(U);if(!(k.length>0&&k.every((M)=>p6(M.condition,J,Z,D))))continue;N=A[0].branches.map((M)=>{let E=X(M.content);if(M.type==="elseif")return k9(E,"@else-if",M.condition??"");if(M.type==="else")return k9(E,"@else");return k9(E,"@if",M.condition??"")}).join(`
3530
+ `)}else{if(!p6(V,J,Z,z(U)))continue;N=k9(X(R),"@if",V)}W.push({start:U,end:O,replacement:N}),q.lastIndex=O}for(let U=W.length-1;U>=0;U--){let{start:H,end:j,replacement:B}=W[U];Y=Y.substring(0,H)+B+Y.substring(j)}return Y}return X($)}function KG($){let Z=$.trim();if(Z==="")return;if(Z==="true")return!0;if(Z==="false")return!1;if(Z==="null")return!1;if(Z==="undefined")return!1;if(Z==="NaN")return!1;if(/^-?\d+(?:\.\d+)?$/.test(Z)){let Q=Number(Z);return Q!==0&&!Number.isNaN(Q)}let J=Z.match(/^'((?:\\.|[^'\\])*)'$/);if(J)return J[1].length>0;let X=Z.match(/^"((?:\\.|[^"\\])*)"$/);if(X)return X[1].length>0;return}var E9=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),i6=/<(script|style)\b/iy,WG=/<\/script/gi,UG=/<\/style/gi;function $8($,Z,J,X){if(E9.has(J.toLowerCase()))return X;let Q=J.toLowerCase(),Y=$.length,G=1,z=X;while(z<Y){let q=$.indexOf("<",z);if(q===-1)return-1;if(z=q,$.startsWith("<!--",z)){let H=$.indexOf("-->",z+4);if(H===-1)return-1;z=H+3;continue}i6.lastIndex=z;let K=i6.exec($);if(K){let H=$.indexOf(">",z);if(H===-1)return-1;if($[H-1]==="/"){z=H+1;continue}let j=K[1].toLowerCase()==="script"?WG:UG;j.lastIndex=z;let B=j.exec($);if(B===null)return-1;let V=$.indexOf(">",B.index);if(V===-1)return-1;z=V+1;continue}if($[z+1]==="/"){let H=/^<\/([a-z][\w-]*)\s*>/i.exec($.slice(z,z+64));if(!H){z++;continue}if(H[1].toLowerCase()===Q){if(G--,z+=H[0].length,G===0)return z;continue}z+=H[0].length;continue}let W=/^<([a-z][\w-]*)\b/i.exec($.slice(z,z+64));if(!W){z++;continue}let U=$.indexOf(">",z);if(U===-1)return-1;if(W[1].toLowerCase()===Q){let H=$.slice(z,U+1);if(!(/\/\s*>$/.test(H)||E9.has(Q)))G++}z=U+1}return-1}var HG=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/;function jG($,Z){let J=Z,X=$.length;for(;;){while(J<X&&$[J]!=="<")J++;if(J>=X)return!1;if($.startsWith("<!--",J)){let G=$.indexOf("-->",J+4);if(G===-1)return!1;J=G+3;continue}break}if($[J+1]==="/")return!1;let Q=$.indexOf(">",J);if(Q===-1)return!1;let Y=$.slice(J,Q+1);return HG.test(Y)}function Z8($){if(!$.includes(":if")&&!$.includes(":show")&&!$.includes("x-if")&&!$.includes("x-show")&&!$.includes("@if=")&&!$.includes("@show="))return $;let Z=[],J=/<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi,X;while((X=J.exec($))!==null)Z.push([X.index,X.index+X[0].length]);let Q=(U)=>Z.some(([H,j])=>U>=H&&U<j),Y=/<([a-zA-Z][\w-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*?)\s+(:if|:show|x-if|x-show|@if|@show)\s*=\s*"([^"]*)"((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)(\/?)>/g,G=[],z;while((z=Y.exec($))!==null){if(Q(z.index))continue;let[U,H,j,B,V,F,L]=z,O=KG(V);if(O===void 0)continue;let _=z.index,w=_+U.length,A=!!L||/\/\s*>$/.test(U)||E9.has(H.toLowerCase())?w:$8($,_,H,w);if(A===-1)continue;if((B===":if"||B==="x-if"||B==="@if")&&jG($,A)){Y.lastIndex=w;continue}if(O===!0){let D=`<${H}${j}${F}${L}>`;G.push({start:_,end:w,replacement:D});continue}G.push({start:_,end:A,replacement:""}),Y.lastIndex=A}if(G.length===0)return $;G.sort((U,H)=>U.start-H.start);let q=[],K=-1;for(let U of G){if(U.start<K)continue;q.push(U),K=U.end}let W=$;for(let U=q.length-1;U>=0;U--){let{start:H,end:j,replacement:B}=q[U];W=W.substring(0,H)+B+W.substring(j)}return W}function y$($,Z){let J=$,X=/@(for|foreach)\s*\(/g,Q,Y=[],G=[];while((Q=X.exec(J))!==null){let z=Q[1],q=Q.index,K=q+Q[0].length,W=1,U=K;while(U<J.length&&W>0){if(J[U]==="(")W++;else if(J[U]===")")W--;U++}if(W!==0)continue;let H=J.substring(K,U-1).trim(),j=U,B=t6(H),V=z==="for"?"@endfor":"@endforeach",F=1,L=j,O=z==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${z}\\s*\\(|end${z})`,"g");O.lastIndex=j;let _;while((_=O.exec(J))!==null)if(_[1].startsWith(z))F++;else if(F--,F===0){L=_.index+_[0].length;break}if(F!==0)continue;let w=()=>{let I=[B.itemVar,B.indexVar].filter(Boolean);if(I.length)G.push({start:q,end:L,vars:I})};if(B.iterable){let I=B.iterable.trim();if(I.startsWith("[")||I.startsWith("{")||I.startsWith("'")||I.startsWith('"')||I.startsWith("`")||/^-?\d/.test(I)){w();continue}let T=I.split(/[.[(]/)[0].trim(),M=Z?T in Z:!1,E=G.some((C)=>q>C.start&&q<C.end&&C.vars.includes(T));if(T&&(M||E)){w();continue}}if(B.style==="as")H=B.indexVar?`(${B.itemVar}, ${B.indexVar}) in ${B.iterable}`:`${B.itemVar} in ${B.iterable}`;let R=J.substring(j,L-V.length).trim(),N=Z?{...Z}:{};if(B.itemVar)delete N[B.itemVar];if(B.indexVar)delete N[B.indexVar];let A=y$(R,N),k=A.match(a6),D;if(k){let[,I,T,M]=k;D=`<${I}${T} @for="${H}">${M}</${I}>`}else D=`<template @for="${H}">${A}</template>`;Y.push({start:q,end:L,replacement:D}),X.lastIndex=L}for(let z=Y.length-1;z>=0;z--){let{start:q,end:K,replacement:W}=Y[z];J=J.substring(0,q)+W+J.substring(K)}return J}function BG($){let Z=new Set,J=[],X=0,Q=0,Y=$.length,G=(W)=>{let U=X+1;while(U<Y){let H=$[U];if(H==="\\"){U+=2;continue}if(H===W)return U+1;U++}return Y},z=()=>{let W=X+2;while(W<Y&&$[W]!==`
3531
+ `)W++;return W},q=()=>{let W=X+2;while(W<Y-1){if($[W]==="*"&&$[W+1]==="/")return W+2;W++}return Y},K=(W)=>{let U=W,H=0;while(U<Y){let j=$[U];if(j==="/"&&$[U+1]==="/"){let B=U+2;while(B<Y&&$[B]!==`
3532
+ `)B++;U=B;continue}if(j==="/"&&$[U+1]==="*"){let B=U+2;while(B<Y-1&&!($[B]==="*"&&$[B+1]==="/"))B++;U=B+2;continue}if(j==='"'||j==="'"||j==="`"){let B=U+1;while(B<Y){if($[B]==="\\"){B+=2;continue}if($[B]===j){B++;break}B++}U=B;continue}if(j==="("||j==="["||j==="{"){H++,U++;continue}if(j===")"||j==="]"||j==="}"){H--,U++;continue}if(j===";"&&H===0)return U+1;U++}return Y};while(X<Y){let W=$[X];if(W==="/"&&$[X+1]==="/"){let U=z();J.push($.slice(X,U)),X=U;continue}if(W==="/"&&$[X+1]==="*"){let U=q();J.push($.slice(X,U)),X=U;continue}if(W==='"'||W==="'"||W==="`"){let U=G(W);J.push($.slice(X,U)),X=U;continue}if(W==="{"){Q++,J.push(W),X++;continue}if(W==="}"){Q--,J.push(W),X++;continue}if(Q===0){let U=X>0?$[X-1]:"";if(U===""||/\s/.test(U)||U===";"||U==="}"||U==="{"){let j=$.slice(X).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(j){let B=j[2],V=K(X+j[0].length);if(Z.has(B)){J.push(`/* stx: deduped const ${B} */`),X=V;continue}Z.add(B),J.push($.slice(X,V)),X=V;continue}}}J.push(W),X++}return J.join("")}var VG=new Set(["script","style","html","head","meta","link","title","!doctype"]);function T$($,Z,J){for(let X of J){if(X.start>=Z)return!1;if(X.end>$)return!0}return!1}function _G($,Z,J){let X=0;while(X<$.length){let Q=$.indexOf(Z,X);if(Q===-1)return!1;if(!T$(Q,Q+Z.length,J))return!0;X=Q+Z.length}return!1}function LG($,Z){if(_G($,"<body",Z)){let Q=new RegExp(`<body(${k$})>`,"g"),Y;while((Y=Q.exec($))!==null)if(!T$(Y.index,Y.index+Y[0].length,Z))return Y.index+Y[0].length-1;return null}let J=new RegExp(`<([a-zA-Z][a-zA-Z0-9-]*)\\b(${k$})>`,"gi"),X;while((X=J.exec($))!==null){if(T$(X.index,X.index+X[0].length,Z))continue;if(VG.has(X[1].toLowerCase()))continue;return X.index+X[0].length-1}return null}function OG($,Z,J,X){let Q=[],Y=` data-stx="${X}"`,G=0,z=!1,q=(K)=>{if(J!==null&&!z&&J>=G&&J<=K)Q.push($.slice(G,J),Y,$.slice(J,K)),z=!0;else Q.push($.slice(G,K))};for(let K of Z){if(K.start<G)continue;q(K.start),G=K.end}return q($.length),Q.join("")}async function FG($,Z,J){let X=XG($,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),Q=/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useStore|useLocalStorage|useSessionStorage|useCookie|useId|useModel|useReactiveProp|useFetch|useRef|useEventListener|useDebounce|useDebouncedValue|useThrottle|useInterval|useTimeout|useToggle|useCounter|useClickOutside|useFocus|useAsync|useColorMode|useDark|useMediaQuery|useScrollLock|usePreferredDark|usePreferredLight|usePreferredReducedMotion|usePreferredContrast|useWebSocket|useRoute|useSearchParams|onMount|onDestroy|defineProps|withDefaults|defineEmits|defineExpose|defineSlots|useOptimistic)\s*(?:<[^>]*>)?\s*\(/,Y=[],{hasUserImports:G,bundleClientScript:z}=await a("stx/client-script-bundler",()=>import("./chunk-qqvwfhd5.js"));for(let O of X){let _=O.body;if(A1(O.attrs))_=M1(_);if(Q.test(_)){Y.push({content:_,start:O.start,end:O.end});continue}if(!G(_))continue;try{let w=await z(a1(_).code,Z||"",{projectRoot:process.cwd(),externalizeUserModules:!1});if(Q.test(w))Y.push({content:_,start:O.start,end:O.end})}catch{}}if(Y.length===0)return{output:$,setupCode:null};let q=`${Z??""}\x00${Y.map((O)=>O.content).join("\x00")}`,K=`__stx_setup_${Bun.hash(q).toString(36).slice(0,10)}`,W=[];for(let O=0;O<Y.length;O++){let _=Y[O].bundled??a1(Y[O].content).code;if(!Y[O].bundled&&G(_))_=await z(_,Z||"",{projectRoot:process.cwd()});_=DG(_);let w=$1(_);W.push(`// \u2500\u2500 merged signal script #${O+1} \u2500\u2500
3533
+ ${w}`)}let U=W.join(`
3534
+
3535
+ `);U=BG(U);let H=wG(U),j=H.split(",").map((O)=>O.trim()).filter(Boolean),B=E$(U,J),V=`
3536
+ <script data-stx-scoped>
3537
+ function ${K}() {
3538
+ ${p1("const",j)}
3539
+ ${r1(`${B}${U}`)}
3540
+ return { ${H} };
3541
+ }
3542
+ window.__stx_latestSetup=${K};
3543
+ if(window.stx)window.stx._latestSetup=${K};
3544
+ </script>`,F=LG($,Y);return{output:OG($,Y,F,K),setupCode:V}}function wG($){let Z=$,J=[],X=new Set,Q=0,Y=0,G=Z.length,z="",q=()=>{Y++;let B=!1;while(Y<G){let V=Z[Y];if(V==="\\"){Y+=2;continue}if(V==="["&&!B){B=!0,Y++;continue}if(V==="]"&&B){B=!1,Y++;continue}if(V==="/"&&!B){Y++;while(Y<G&&/[gimsuyd]/.test(Z[Y]))Y++;return}if(V===`
3545
+ `)return;Y++}},K=()=>{if(!z)return!0;if(/[\w)\]]/.test(z))return!1;return!0},W=(B)=>{Y++;while(Y<G){if(Z[Y]==="\\"){Y+=2;continue}if(Z[Y]===B){Y++;return}Y++}},U=()=>{Y++;while(Y<G){if(Z[Y]==="\\"){Y+=2;continue}if(Z[Y]==="`"){Y++;return}if(Z[Y]==="$"&&Z[Y+1]==="{"){Y+=2;let B=1;while(Y<G&&B>0)if(Z[Y]==="{")B++,Y++;else if(Z[Y]==="}")B--,Y++;else if(Z[Y]==="'"||Z[Y]==='"')W(Z[Y]);else if(Z[Y]==="`")U();else Y++;continue}Y++}},H=()=>{if(Z[Y]==="/"&&Z[Y+1]==="/"){while(Y<G&&Z[Y]!==`
3546
+ `)Y++;return!0}if(Z[Y]==="/"&&Z[Y+1]==="*"){Y+=2;while(Y<G-1&&!(Z[Y]==="*"&&Z[Y+1]==="/"))Y++;return Y+=2,!0}return!1},j=()=>{if(Q!==0)return;let B=Z.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*(?:[!:;,\n]|=(?!=)|$)/);if(B){let _=B[2];if(!X.has(_))J.push(_),X.add(_);return}let V=Z.slice(Y).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(V){V[1].split(",").forEach((_)=>{let w=_.trim();if(!w)return;let R=w.indexOf(":"),A=(R>=0?w.slice(R+1).trim():w).split(/[\s=]/)[0];if(A&&!X.has(A))J.push(A),X.add(A)});return}let F=Z.slice(Y).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(F){F[1].split(",").forEach((_)=>{let w=_.trim().replace(/^\.\.\./,"");if(!w)return;let R=w.split(/[\s=]/)[0];if(R&&!X.has(R))J.push(R),X.add(R)});return}let L=Z.slice(Y).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(L){let _=L[1];if(!X.has(_))J.push(_),X.add(_);return}let O=Z.slice(Y).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let _=O[1];if(!X.has(_))J.push(_),X.add(_)}};while(Y<G){if(H())continue;if(Z[Y]==="'"||Z[Y]==='"'){W(Z[Y]),z=Z[Y-1];continue}if(Z[Y]==="`"){U(),z="`";continue}if(Z[Y]==="/"&&Z[Y+1]!=="/"&&Z[Y+1]!=="*"&&K()){q(),z="/";continue}if(Z[Y]==="{"){Q++,z="{",Y++;continue}if(Z[Y]==="}"){Q--,z="}",Y++;continue}if(Q===0&&/[a-z]/i.test(Z[Y])&&(Y===0||/\s|[;{}()]/.test(Z[Y-1])))j();if(!/\s/.test(Z[Y]))z=Z[Y];Y++}return J.join(", ")}async function J8($,Z,J,X){if(!b$($,J))return $;let Q=$;if(Z.skipSignalsRuntime)return Q;let{output:Y,setupCode:G}=await FG(Q,J,X);if(Q=Y,!G){let z=s0(Q);if(z&&!/data-stx/.test(z.attrs)&&!/data-stx-auto/.test(z.attrs)){let q=z.tag.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>");Q=Q.slice(0,z.index)+q+Q.slice(z.index+z.tag.length)}}if(Q=await I9(Q,Z),G){let z=n6(Q,/<\/head>/i),q=z===-1?n6(Q,/<body[^>]*>/i):-1;if(z!==-1)Q=`${Q.slice(0,z)}${G}
3547
+ ${Q.slice(z)}`;else if(q!==-1){let K=/<body[^>]*>/i.exec(Q.slice(q))[0],W=q+K.length;Q=`${Q.slice(0,W)}
3548
+ ${G}${Q.slice(W)}`}else Q=`${Q}
3549
+ ${G}`}return Q}function n6($,Z){let J=/<(script|style)\b[\s\S]*?<\/\1>/gi,X=[],Q;while((Q=J.exec($))!==null)X.push([Q.index,Q.index+Q[0].length]);let Y=new RegExp(Z.source,Z.flags.replace(/[gy]/g,"")),G=0;while(G<$.length){let z=Y.exec($.slice(G));if(!z)return-1;let q=G+z.index;if(!X.some(([W,U])=>q>=W&&q<U))return q;G=q+Math.max(z[0].length,1)}return-1}var s6="/* [stx import stripped, resolved via window.stx in __stx_setup] */";function RG($){let Z=[];for(let J of $.split(",")){let X=J.trim();if(!X||X.startsWith("type "))continue;let Q=X.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(Q&&Q[1]!==Q[2])Z.push(`${Q[2]} = ${Q[1]}`)}if(Z.length===0)return s6;return`var ${Z.join(", ")}; ${s6}`}var NG=/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm;function DG($){return $.replace(NG,(Z,J)=>RG(J))}import e1 from"path";import X8 from"process";function t1($="STX_PUBLIC_"){let Z={},J={};for(let[X,Q]of Object.entries(X8.env)){if(!X.startsWith($)||Q===void 0)continue;Z[`import.meta.env.${X}`]=JSON.stringify(Q),J[X]=Q}return Z["import.meta.env"]=JSON.stringify(J),Z}function oB($="STX_PUBLIC_"){let Z={};for(let[J,X]of Object.entries(X8.env))if(J.startsWith($)&&X!==void 0)Z[J]=X;return Z}function Y8($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function Q8($,Z,J){try{let X;if($.startsWith("/")){let Q=Z;for(let Y=0;Y<5;Y++){let G=e1.join(Q,$);if(await Bun.file(G).exists())return G;Q=e1.dirname(Q)}X=e1.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))X=e1.resolve(Z,$);else X=e1.resolve(Z,$);if(await Bun.file(X).exists())return X;return null}catch{return null}}var G8=Symbol.for("stx.inline-assets.import-meta");function AG($,Z){if(!$.includes("import.meta"))return;let J=Error(`[stx] ${Z} still references \`import.meta\` after bundling, and it is being inlined as a classic <script> where that is a SyntaxError \u2014 the whole script fails to parse, taking every other script on the page with it.
3550
+ `+" `import.meta.env.STX_PUBLIC_*` is substituted at build time and is safe; anything else is not.\n Fix it by moving the module-only code (`import.meta.glob`, `import.meta.url`) into its own module, or by resolving the value without `import.meta`.");throw J[G8]=!0,J}async function z8($,Z,J){let X=$,Q=e1.dirname(Z),Y=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=Y.exec(X))!==null){let[K,W,U,H]=G;if(Y8(U))continue;let j=await Q8(U,Q,Z);if(j)try{let B=await Bun.file(j).text();if(J.add(j),U.endsWith(".ts")||U.endsWith(".tsx")){let F=await Bun.build({entrypoints:[j],target:"browser",minify:!0,define:t1()});if(F.outputs.length>0)B=await F.outputs[0].text(),AG(B,U)}let V=`<script>
3551
+ // Source: ${U}
3552
+ ${B}
3553
+ </script>`;X=X.replace(K,V),Y.lastIndex=0}catch(B){if(B?.[G8])throw B}}let z=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=z.exec(X))!==null){let[K,W,U,H]=q,j=W+H;if(Y8(U))continue;if(/rel=["']stylesheet["']/.test(j)||U.endsWith(".css")){let V=await Q8(U,Q,Z);if(V)try{let F=await Bun.file(V).text();J.add(V);let L=`<style>
3554
+ /* Source: ${U} */
3555
+ ${F}
3556
+ </style>`;X=X.replace(K,L),z.lastIndex=0}catch(F){}}}return X}function C$($,Z){let J=$,X=/@json\s*\(/g,Q;while((Q=X.exec(J))!==null){let Y=Q.index,G=Y+Q[0].length-1,z=1,q=G+1,K=null,W=!1;while(q<J.length&&z>0){let _=J[q];if(W){W=!1,q++;continue}if(_==="\\"&&K){W=!0,q++;continue}if(K){if(_===K)K=null;q++;continue}if(_==='"'||_==="'"||_==="`"){K=_,q++;continue}if(_==="(")z++;else if(_===")"){if(z--,z===0)break}q++}if(z!==0)break;let U=J.substring(G+1,q).trim(),H=J.substring(Y,q+1),j=-1,B=0,V=null,F=!1;for(let _=0;_<U.length;_++){let w=U[_];if(F){F=!1;continue}if(w==="\\"&&V){F=!0;continue}if(V){if(w===V)V=null;continue}if(w==='"'||w==="'"||w==="`"){V=w;continue}if(w==="("||w==="["||w==="{")B++;else if(w===")"||w==="]"||w==="}")B--;if(w===","&&B===0){j=_;break}}let L=j>=0?U.substring(0,j).trim():U,O=j>=0?U.substring(j+1).trim():void 0;try{let _=L.trim(),w;if(B0(_))w=H0(_,Object.keys(Z))(...Object.values(Z));else w=void 0;let R;if(O==="true")R=JSON.stringify(w,null,2);else R=JSON.stringify(w);let N=R.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");J=J.substring(0,Y)+N+J.substring(q+1),X.lastIndex=Y+N.length}catch(_){o0.log(_ instanceof Error?_:Error(String(_)),{directive:"@json"},"error"),X.lastIndex=Y+H.length}}return J}function S$($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function W8($){let Z=$,J=/@memo\s*\(/g,X,Q=[];while((X=J.exec(Z))!==null){let Y=X.index,G=Y+X[0].length,z=1,q=G;while(q<Z.length&&z>0){if(Z[q]==="(")z++;else if(Z[q]===")")z--;q++}if(z!==0)continue;let K=Z.slice(G,q-1).trim(),W=q,U=Z.slice(W),H=U.indexOf("@endmemo");if(H===-1)continue;let j=U.slice(0,H),B=W+H+8,V=j.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),F=V?V[0].length:0,L=j.slice(F),O=j.match(/(\s*)$/),_=O?O[0].length:0,w=L.slice(0,L.length-_),R=w.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),N;if(R){let[A,k,D="",I]=R,T=`<${k}${D} data-stx-memo="${K}"${I}>`;N=j.slice(0,F)+T+w.slice(A.length)+j.slice(F+w.length)}else N=`${j.slice(0,F)}<div data-stx-memo="${K}">${w}</div>${j.slice(F+w.length)}`;Q.push({start:Y,end:B,replacement:N}),J.lastIndex=B}for(let Y=Q.length-1;Y>=0;Y--){let G=Q[Y];Z=Z.slice(0,G.start)+G.replacement+Z.slice(G.end)}return Z.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function P$($){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 U8($,Z){if(!/\bref\s*=/.test($))return $;let J=/<\/?([a-zA-Z][\w-]*)\b(?:"[^"]*"|'[^']*'|[^'">])*>/y,X=T2($,(q,K)=>{J.lastIndex=K;let W=J.exec(q);if(!W||/^(?:script|style)$/i.test(W[1]))return-1;return J.lastIndex}),Q=[],Y=0,G=0,z=[];for(let{start:q,end:K,token:W}of X){let U=/^<\/?([\w-]+)/.exec(W)[1].toLowerCase();if(W.startsWith("</")){let j;while(j=Q.pop()){if(j.scoped)Y--;if(j.name===U)break}continue}let H=/\sdata-stx-scope\s*=/.test(W);if(!Y&&!H&&/\s(?:ref|@ref|:ref|x-ref|data-stx-ref)\s*=/.test(W)&&!/\sdata-stx-ref-caller\s*=/.test(W))z.push($.slice(G,q),W.replace(/\s*\/?>$/,(j)=>` data-stx-ref-caller="${Z}"${j}`)),G=K;if(!H8.has(U)&&!/\/>$/.test(W)){if(Q.push({name:U,scoped:H}),H)Y++}}return z.push($.slice(G)),z.join("")}var H8=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),j8=/(?:^|\s)x-no-cloak(?:=|\s|\/|>|$)/,q8=/<\/?\s*([a-z][\w-]*)/iy,MG=/\s/;function IG($,Z){let J=Z-1;while(J>=0&&MG.test($[J]))J--;return J>=0&&$[J]==="/"}function kG($,Z){let J=!1,X=!1;for(let Q=Z;Q<$.length;Q++){let Y=$[Q];if(J){if(Y==="'")J=!1}else if(X){if(Y==='"')X=!1}else if(Y==="'")J=!0;else if(Y==='"')X=!0;else if(Y===">")return Q}return-1}function TG($,Z){if($.indexOf("{",Z)===-1||$.indexOf("}",Z)===-1)return!1;let J=0,X=Z,Q=!1,Y=!1,G=!1;while(X<$.length){let z=$.indexOf("<",X),q=z===-1?$.length:z;if(q>X){if(J===0)while(X<q){let U=$.indexOf(Y?"}":"{",X);if(U===-1||U>=q){if(Y)G=!1;else Q=!1;break}if(U>X)if(Y)G=!1;else Q=!1;if(Y){if(G)return!0;G=!0}else if(Q)Y=!0,G=!1;else Q=!0;X=U+1}X=q;continue}if($.startsWith("<!--",X)){let U=$.indexOf("-->",X);X=U===-1?$.length:U+3;continue}let K=kG($,X);if(K===-1)break;q8.lastIndex=X;let W=q8.exec($)?.[1]?.toLowerCase()??"";if($[X+1]==="/"){if(J===0)break;J--}else if(!IG($,K)&&!H8.has(W))J++;X=K+1}return!1}function B8($){if($.length>=32768&&!K8($))return $;let J=new RegExp(`<(${"div|span|p|h[1-6]|td|th|li|a|button|label|section|article|header|footer|main|nav|aside|dd|dt|figcaption|summary|caption|blockquote|pre|code|em|strong|small|sub|sup|time|mark|abbr|cite|q|s|u|b|i"})\\b`,"gi"),X="",Q=0,Y;while((Y=J.exec($))!==null){let G=Y.index,z=G+Y[0].length,q=!1,K=!1,W=-1;while(z<$.length){let H=$[z];if(q){if(H==="'")q=!1}else if(K){if(H==='"')K=!1}else if(H==="'")q=!0;else if(H==='"')K=!0;else if(H===">"){W=z;break}z++}if(W===-1)continue;let U=$.slice(G,W+1);if(j8.test(U))continue;if(U.includes("x-cloak"))continue;if(TG($,W+1))X+=$.slice(Q,W)+" x-cloak>",Q=W+1}return X+=$.slice(Q),X}var EG=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/,bG=/<\/script>/gi,yG=/<\/style>/gi;function V8($){let Z=/<[a-z][\w-]*/gi,J="",X=0,Q;while((Q=Z.exec($))!==null){let Y=Q.index,G=Q[0].slice(1).toLowerCase();if(G==="script"||G==="style"){let B=G==="script"?bG:yG;B.lastIndex=Y;let V=B.exec($);if(V!==null)Z.lastIndex=V.index+V[0].length;continue}let z=Y+Q[0].length,q=!1,K=!1,W=-1;while(z<$.length){let B=$[z];if(q){if(B==="'")q=!1}else if(K){if(B==='"')K=!1}else if(B==="'")q=!0;else if(B==='"')K=!0;else if(B===">"){W=z;break}z++}if(W===-1)continue;let U=$.slice(Y+Q[0].length,W);if(j8.test(U))continue;if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(U))continue;if(!EG.test(U))continue;let H=$[W-1]==="/",j=H?W-1:W;J+=`${$.slice(X,j)} x-cloak${H?" ":""}`,X=j}return J+=$.slice(X),J}var v$=T1(256),CG=[{pattern:/document\.getElementById\s*\(/g,message:"document.getElementById() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.querySelector\s*\(/g,message:"document.querySelector() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.querySelectorAll\s*\(/g,message:"document.querySelectorAll() is prohibited",suggestion:'Use useRef("name") and access children instead'},{pattern:/document\.getElementsBy\w+\s*\(/g,message:"document.getElementsBy*() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.createElement\s*\(/g,message:"document.createElement() is prohibited",suggestion:"Use template directives or component composition instead"},{pattern:/document\.activeElement(?![A-Za-z])/g,message:"document.activeElement is prohibited",suggestion:"Use useRef() to track focused elements"},{pattern:/document\.title\s*=/g,message:"document.title assignment is prohibited",suggestion:"Use useTitle() from composables"},{pattern:/document\.cookie(?![A-Za-z])/g,message:"document.cookie is prohibited",suggestion:"Use useCookie() from composables"},{pattern:/document\.addEventListener\s*\(/g,message:"document.addEventListener() is prohibited",suggestion:"Use useEventListener() or template @event directives"},{pattern:/window\.location(?![A-Za-z])/g,message:"window.location is prohibited",suggestion:"Use navigate() or useRoute()"},{pattern:/window\.history(?![A-Za-z])/g,message:"window.history is prohibited",suggestion:"Use navigate(), goBack(), goForward()"},{pattern:/window\.addEventListener\s*\(/g,message:"window.addEventListener() is prohibited",suggestion:"Use useEventListener() or @click directives"},{pattern:/(?:\bwindow\.)?localStorage(?![A-Za-z])/g,message:"window.localStorage is prohibited",suggestion:"Use useLocalStorage() from composables \u2014 or @appearanceBootstrap if this must run before first paint, where the runtime does not exist yet"},{pattern:/window\.sessionStorage(?![A-Za-z])/g,message:"window.sessionStorage is prohibited",suggestion:"Use useSessionStorage() from composables"},{pattern:/window\.scrollTo\s*\(/g,message:"window.scrollTo() is prohibited",suggestion:"Use useScroll().scrollTo() from composables"},{pattern:/window\.alert\s*\(/g,message:"window.alert() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/window\.confirm\s*\(/g,message:"window.confirm() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/window\.prompt\s*\(/g,message:"window.prompt() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/(?<!\w)setTimeout\s*\(/g,message:"setTimeout() is prohibited",suggestion:"Use useTimeout() or useDebounce() from composables"},{pattern:/(?<!\w)setInterval\s*\(/g,message:"setInterval() is prohibited",suggestion:"Use useInterval() from composables"},{pattern:/(?<!\w)clearTimeout\s*\(/g,message:"clearTimeout() is prohibited",suggestion:"Use useTimeout().stop() or useDebounce().cancel()"},{pattern:/(?<!\w)clearInterval\s*\(/g,message:"clearInterval() is prohibited",suggestion:"Use useInterval().pause()"},{pattern:/(?<!\w)location\.href\s*=/g,message:"location.href assignment is prohibited",suggestion:"Use navigate() instead"},{pattern:/(?<!\w)location\.assign\s*\(/g,message:"location.assign() is prohibited",suggestion:"Use navigate() instead"},{pattern:/(?<!\w)location\.replace\s*\(/g,message:"location.replace() is prohibited",suggestion:"Use navigate() instead"}];function f$($,Z,J,X){let Q=typeof J==="boolean"?{enabled:J,failOnViolation:J}:J??{enabled:!1};if(!Q.enabled)return;let Y=H1($,Z,X,JSON.stringify(Q)),G=v$.get(Y);if(G!==void 0){if(G&&Q.failOnViolation)throw Error(G);return}let z=Q.allowPatterns??[],q=[],K=g0($.replace(/\{\{--[\s\S]*?--\}\}/g,(j)=>j.replace(/[^\n]/g," ")));for(let{pattern:j,message:B,suggestion:V}of CG){if(z.some((L)=>/\w/.test(L)&&B.includes(L)))continue;j.lastIndex=0;let F=K.match(j);if(F&&F.length>0){let L=K.split(`
3557
+ `),O=$.split(`
3558
+ `),_=[];L.forEach((A,k)=>{if(j.lastIndex=0,j.test(A))_.push(k+1)});let w=_.length>0?` (script line${_.length>1?"s":""} ${_.join(", ")})`:"",R=_.slice(0,3).map((A)=>` ${A} | ${(O[A-1]??"").trim().slice(0,100)}`).join(`
3559
+ `),N=R?`
3560
+ ${R}`:"";q.push(` \u2717 ${B}${w}
3561
+ \u2192 ${V}${N}`)}}if(q.length===0){v$.set(Y,"");return}let W=(j)=>{let B=`${process.cwd()}/`;return j.startsWith(B)?j.slice(B.length):j},H=`[STX] DOM API violation in ${X&&X!==Z?`${W(X)} (composed into ${W(Z)})`:W(Z)}:
3562
+ ${q.join(`
3563
+ `)}
3564
+ Tip: prefer useRef(), navigate(), and composables for component code`;if(v$.set(Y,H),Q.failOnViolation)throw Error(H);else console.warn(H)}fG();import x$ from"path";var SG=/(\bfrom\s*|\bimport\s*\(\s*|\bimport\s+)(['"])(\.\.?\/[^'"]*)\2/g,PG=/(<script\b[^>]*>)([\s\S]*?)(<\/script>)/gi;function vG($,Z){if(!Z||!$.includes("/"))return $;let J=x$.dirname(Z);return $.replace(SG,(X,Q,Y,G)=>{let z=x$.resolve(J,G);return`${Q}${Y}${z.split(x$.sep).join("/")}${Y}`})}function _8($,Z){if(!Z||!$.includes("<script"))return $;return $.replace(PG,(J,X,Q,Y)=>`${X}${vG(Q,Z)}${Y}`)}var E1="<!--PARENT_CONTENT_PLACEHOLDER-->";function L8($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function gG($,Z){let J=$.length,X=Z,Q=!0,Y=[],G=(z)=>z+9<=J&&$[z]==="<"&&$[z+1]==="/"&&($[z+2]==="s"||$[z+2]==="S")&&($[z+3]==="c"||$[z+3]==="C")&&($[z+4]==="r"||$[z+4]==="R")&&($[z+5]==="i"||$[z+5]==="I")&&($[z+6]==="p"||$[z+6]==="P")&&($[z+7]==="t"||$[z+7]==="T")&&($[z+8]===">"||/\s/.test($[z+8]));while(X<J){let z=$[X];if(G(X))return X;if(z==="/"&&$[X+1]==="/"){if(X=$.indexOf(`
3565
+ `,X+2),X===-1)return-1;X+=1,Q=!0;continue}if(z==="/"&&$[X+1]==="*"){let q=$.indexOf("*/",X+2);if(q===-1)return-1;X=q+2,Q=!0;continue}if(z==="/"&&Q){let q=X+1,K=!1;while(q<J){let W=$[q];if(W==="\\"){q+=2;continue}if(W==="[")K=!0;else if(W==="]")K=!1;else if(W==="/"&&!K){q++;break}else if(W===`
3566
+ `){q=-1;break}q++}if(q===-1){X++,Q=!1;continue}while(q<J&&/[a-z]/.test($[q]))q++;X=q,Q=!1;continue}if(z==="'"||z==='"'){let q=z;X++;while(X<J){if($[X]==="\\"){X+=2;continue}if($[X]===q){X++;break}if($[X]===`
3567
+ `)break;X++}Q=!1;continue}if(z==="`"){X++;while(X<J){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++;break}if($[X]==="$"&&$[X+1]==="{"){Y.push(!0),X+=2,Q=!0;break}X++}if(Y.length===0)Q=!1;continue}if(z==="}"&&Y.length>0){Y.pop(),X++;while(X<J){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++,Q=!1;break}if($[X]==="$"&&$[X+1]==="{"){Y.push(!0),X+=2,Q=!0;break}X++}continue}if(/\s/.test(z));else if(/[)\].\w$]/.test(z))Q=!1;else Q=!0;X++}return-1}function C8($,Z){let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),X=new RegExp(`<script\\b(?=[^>]*\\b${J}(?:\\s|=|/?>))[^>]*>`,"i").exec($);if(!X)return null;let Q=X.index+X[0].length,Y=$.indexOf("</script>",Q);if(Y===-1)return null;let G=$.indexOf(">",Y);if(G===-1)return null;return{start:X.index,end:G+1}}async function O8($,Z){try{let{registeredModuleIdsIn:J,buildModuleRegistryScript:X}=await a("stx/client-module-registry",()=>import("./chunk-tk459ykz.js")),Q=await X(J(...$),{minify:Z.buildMode==="compile"});if(!Q)return null;return`<script data-stx-scoped data-stx-run="always" data-stx-modules>${Q.replace(/<\/script/gi,"<\\/script")}</script>`}catch{return null}}function hG($,Z=""){let J=C8($,"data-stx-runtime");if(!J)return $;let X=G2($);if(X===-1||X===J.start){if(!Z)return $;return $.slice(0,J.end)+Z+$.slice(J.end)}if(X<J.start)return $.slice(0,X)+$.slice(J.start,J.end)+Z+`
3568
+ `+$.slice(X,J.start)+$.slice(J.end);let Q=$.slice(J.start,J.end),Y=$.slice(0,J.start)+$.slice(J.end),G=G2(Y);if(G===-1)return Q+Z+`
3569
+ `+Y;return Y.slice(0,G)+Q+Z+`
3570
+ `+Y.slice(G)}async function h$($,Z,J,X,Q){if(X.ssr===!1&&!X.autoShell&&X.buildMode==="spa")return $;if(Z.__stx_signals_gate===void 0)Z.__stx_signals_gate=X1($,J);let Y=!Z.__stxProcessingDepth;F$(Z);for(let G of X._layerGraph?.configDependencies??[])Q.add(G);if(Y&&X.runtimeConfig)await S9(Z,J,X.runtimeConfig);if(Y)X3(Z),Z.__stx_head_injections=B$(),Z.__stx_seo_staged=!1;if(!Z.__stxProcessingDepth)Z.__stxProcessingDepth=0;if(Z.__stxProcessingDepth++,!Z.__onceStore)Z.__onceStore=new Set;if((X.debug||!L9()&&!O9())&&J&&J.endsWith(".stx"))y8($,J);try{return await k8.timeAsync("template-processing",async()=>{let G=await uG($,Z,J,X,Q);if(Y)G=P$(G);if(Y&&X.autoShell&&X.buildMode!=="compile"){let z=X.app?.head||{},K=(Z.__stx_runtime_head||null)??b8(),W=(Z.__stx_head_raw||"").trim(),U,H=W.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(H)U=H[1].trim(),W=W.replace(H[0],"").trim();let j=Z.__sections?.title,B=K.title||U||j,V=!K.title&&(!!U||!!j),F=K.meta||[],L=new Set(F.map((A)=>o1(A)).filter(Boolean)),O={...z,...B&&{title:B},meta:[...(z.meta||[]).filter((A)=>!L.has(o1(A))),...F],link:[...z.link||[],...K.link||[]],script:[...z.script||[],...K.script||[]],headRaw:[z.headRaw,W].filter(Boolean).join(`
3571
+ `),...K.htmlAttrs&&{htmlAttrs:E6(z.htmlAttrs,K.htmlAttrs)},...K.bodyAttrs&&{bodyAttrs:{...z.bodyAttrs||{},...K.bodyAttrs}}},_=A$(G);if(G=C6(G,O,{...V&&{titleIsHtml:!0},...X.app?.colorMode&&{colorMode:X.app.colorMode}},_),_)G=y6(G,z),G=b6(G,O.htmlAttrs);let w=G.match(/<!-- stx-layout: ([^ ]+) -->/);if(w&&G.includes("<head")){let A=w[1],k=M8(A);G=G.replace(/<head\b[^>]*>/i,(D)=>`${D}
3572
+ <meta name="stx-layout" content="${L8(A)}">
3573
+ <meta name="stx-layout-group" content="${L8(k)}">`)}let R=G.match(/function (__stx_setup_\w+)\(/),N=R?s0(G):null;if(R&&N&&!/\bdata-stx=/.test(N.tag)){G=y1(G,(k,D)=>`<body${D} data-stx="${R[1]}">`);let A=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${R[1]}"`,"i");G=G.replace(A,"$1")}}if(Y){let z=Z.__stx_head_injections??B$(),q=N$(G);if(q!==null)z.beforeClose.push(q);let K=O$(G);if(K!==null)z.afterOpen.push(K);G=V6(G,z);let W=X.app?.colorMode;if(W)G=O6(G,W)}if(Y)if(C8(G,"data-stx-runtime")){let q=null,K=null,W=null,U=null;try{let{getStoreScript:j}=await a("stx/store-loader",()=>import("./chunk-hg77c5m2.js")),B=X.storesDir,V=await j(B);if(V)K=`<script data-stx-stores>${V}</script>`}catch{}q=await O8([G,K],X);try{let{getFrameworkComposableScript:j}=await a("stx/framework-composables",()=>import("./chunk-n3qsg135.js"));U=await j(G)}catch{}try{let{getComposableScript:j}=await a("stx/composable-loader",()=>import("./chunk-c5zfgpgx.js")),B=X.composablesDir,V=[q,K,U].filter((L)=>L!==null),F=await j(X._layerComposableDirs??B,G,V);if(F)W=`<script data-stx-composables>${F}</script>`}catch{}let H=[q,K,W,U].filter((j)=>j!==null).map((j)=>`
3574
+ ${j}`).join("");G=hG(G,H)}else{let q=await O8([G],X);if(q){let K=G.search(/<script\b[^>]*>(?:(?!<\/script>)[\s\S])*?__stxModules\[/i);if(K!==-1)G=G.slice(0,K)+q+`
3575
+ `+G.slice(K)}}if(Y)G=F6(G);if(Y&&Z.__stx_inject_css!==!1)G=await E8(G,void 0,X.buildMode==="serve",!0);else if(Y)G=T8(G);if(G=G.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),Y&&Z.__stx_runtime_config)G=I8(G,Z.__stx_runtime_config);if(Y&&!Z.__stx_defer_server_data){let z=A6(Z);if(z){let q=/<head\b[^>]*>/i.exec(G),K=q?q.index+q[0].length:0;G=G.slice(0,K)+z+G.slice(K)}}return G})}catch(G){if(G instanceof w8)throw G;let z=G instanceof Error?G.message:String(G),q=new E2(`Template processing failed: ${z}`,J,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(o0.log(q,{filePath:J,context:Z}),N8.logDetailedError(q,{filePath:J,template:$.substring(0,500)}),X.debug)throw q;return R8.createFallbackContent("Template Processing",q)}}async function uG($,Z,J,X,Q){let Y=process.cwd(),G={...X,partialsDir:X.partialsDir&&!T0.isAbsolute(X.partialsDir)?T0.resolve(Y,X.partialsDir):X.partialsDir,componentsDir:X.componentsDir&&!T0.isAbsolute(X.componentsDir)?T0.resolve(Y,X.componentsDir):X.componentsDir,layoutsDir:X.layoutsDir&&!T0.isAbsolute(X.layoutsDir)?T0.resolve(Y,X.layoutsDir):X.layoutsDir},z=G,q=$;await lG(J,Z),mG(Z,z),q=await b2(()=>Y6(q,Z,J,z),q,(_)=>{o0.log(_,{filePath:J,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${J}: ${_.message}`)}),q=q.replace(/\{\{--[\s\S]*?--\}\}/g,"");let K=B1(q,_9,(_,w)=>`\x00STX_HTML_COMMENT_${w}\x00`);q=K.output;let W=K.tokens,U=(_)=>W.length===0?_:_.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(w,R)=>W[Number(R)]??""),H="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,H),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(_,w)=>{return`{{ ${w} }}`}),q=K6(q),q=await z8(q,J,Q);let j={};q=q$(q,j);let B={...Z.__sections||{}},V="",F=x3(f3($)),L=/@nolayout\b/.test(q)||F===!1;if(/@nolayout\b/.test(q))q=q.replace(/@nolayout\b\s*/g,"");let O=q.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(O)V=O[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");else if(typeof F==="string"){if(V=F,!/@section\s*\(/.test(q))q=`@section('content')
3576
+ ${q.trim()}
3577
+ @endsection`}if(!V&&!L&&z.defaultLayout){let _=D$(q),w=/@section\s*\(/.test(q);if(!_||w){let R="",N=T0.dirname(J),A=z.layoutsDir?T0.dirname(z.layoutsDir):process.cwd();for(let k=0;k<20;k++){let D=T0.join(N,"_layout.stx");if(await e(D)){R=D;break}let I=T0.dirname(N);if(I===N||I.length<A.length)break;N=I}if(R)V=R;else if(z.layoutsDir){let k=T0.isAbsolute(z.layoutsDir)?z.layoutsDir:T0.resolve(process.cwd(),z.layoutsDir),D=T0.join(k,`${z.defaultLayout}.stx`);if(await e(D))V=D}if(V&&!w)q=`@section('content')
3578
+ ${q.trim()}
3579
+ @endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(_,w,R)=>{return B[w]=R,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(_,w,R)=>{if(/^(['"]).*\1$/.test(R.trim()))return _;try{let N=Z0(R.trim(),Z);if(N===void 0)return _;return B[w]=String(N??""),""}catch{return _}}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(_,w,R)=>{if(R.includes("@parent"))B[w]=R.replace("@parent",E1);else B[w]=R.trim();return""}),Z.__sections=B,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(_,w,R)=>{return B[w]||R||""}),!("slot"in Z)||Z.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return B.content||""});if(q=K$(q,j),V){let _=[],w=n0(q),R=B1(w.output,l2,(N,A)=>`\x00STX_ORPHAN_STYLE_${A}\x00`);if(q=R.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(N,A,k)=>{let D=A==="SCRIPT"?cG(w.scripts[Number(k)],J):R.tokens[Number(k)];if(D)_.push(D);return""}),_.length>0){let N=_.join(`
3580
+ `);B.content=B.content?`${B.content}
3581
+ ${N}`:N,Z.__sections=B}}if(V)try{let _;if(T0.isAbsolute(V))_=V,Q.add(V);else _=await b2(()=>a2(V,J,G,Q),null,()=>{throw new E2(`Failed to resolve layout path: ${V}`,J,void 0,void 0,`Layout referenced from ${J}`)});if(!_){let D=(M)=>{if(!M)return[];try{let E=T0.isAbsolute(M)?M:T0.resolve(process.cwd(),M);return xG.readdirSync(E).filter((C)=>C.endsWith(".stx")).map((C)=>C.replace(/\.stx$/,""))}catch{return[]}},I=[...D(G.layoutsDir),...D(G.fallbackLayoutsDir)].filter((M,E,C)=>C.indexOf(M)===E).sort(),T=`Layout not found: ${V} (referenced from ${J})`+(I.length>0?`. Available layouts: ${I.join(", ")}`:G.layoutsDir?`. No .stx layouts found in ${G.layoutsDir}`:"");if(o0.log(Error(T),{layoutPath:V,filePath:J,available:I},"error"),console.error(`[stx] ${T}`),G.debug)throw new E2(T,J);return q}let w=await b2(()=>Bun.file(_).text(),"",()=>{throw new E2(`Failed to read layout file: ${_}`,J,void 0,void 0,"Layout content could not be loaded")});w=_8(w,_);let R=w.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(R){if(G.debug)console.log(`Found nested layout: ${R[1]} in ${_}`);let D={},I=w.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(E,C,y)=>{return D[C]=y.trim(),""});for(let[E,C]of Object.entries(D))if(B[E]&&B[E].includes(E1)){let y=B[E].indexOf(E1);B[E]=B[E].slice(0,y)+C+B[E].slice(y+E1.length)}else if(!B[E])B[E]=C;let T={...Z,__sections:B},M=`@layout('${R[1]}')${I}`;return await h$(M,T,_,G,Q)}let N=w.replace(/\{\{--[\s\S]*?--\}\}/g,""),A=q$(N,j),k={};return A=A.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(D,I,T)=>{return k[I]=T.trim(),`@slot('${I}')`}),A=A.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(D,I,T)=>{if(B[I]){let M=B[I];if(M.includes(E1)){let E=k[I]||"",C=M.indexOf(E1);M=M.slice(0,C)+E+M.slice(C+E1.length)}return M}return T||""}),A=dG(A,B),A=A.replace(/\{\{\s*slot\s*\}\}/g,()=>{return B.content||""}),A=K$(A,j),Z.__originalFilePath=J,q=await F8(A,Z,_,G,Q),q=`<!-- stx-layout: ${V} -->
3582
+ ${q}`,U(q)}catch(_){return o0.log(_ instanceof Error?_:Error(String(_)),{layoutPath:V,filePath:J},"error"),`[Error processing layout: ${_ instanceof Error?_.message:String(_)}]`}return U(await F8(q,Z,J,G,Q))}function dG($,Z){return $.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(J,X,Q)=>{let Y=Z[X];if(Y!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(Y))return Y}return Q||""})}function mG($,Z){if($.__stx_sfc_mode=!0,$.__stx_options=Z,Z.buildMode)$.__stx_buildMode=Z.buildMode;let J=Z.envPrefix||"STX_PUBLIC_",X={};for(let[Q,Y]of Object.entries(process.env))if(Q.startsWith(J)&&Y!==void 0)X[Q]=Y;$.$env=X}async function lG($,Z){await b2(()=>z6($,Z),void 0,(J)=>{o0.log(J,{filePath:$,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${$}: ${J.message}`)})}var g$="data-stx-source";function cG($,Z){if(!$)return $;let J=/^<script\b([^>]*)>/i.exec($);if(!J||!/\bserver\b/.test(J[1])||J[1].includes(g$))return $;return`<script ${g$}="${encodeURIComponent(Z)}"${$.slice(7)}`}function pG($){let Z=new RegExp(`${g$}="([^"]*)"`).exec($);return Z?decodeURIComponent(Z[1]):void 0}async function iG($,Z,J){let X=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,Q;while((Q=X.exec($))!==null){let Y=Q[1],G=Q[2];if(!/\bserver\b/.test(Y)||!G.trim())continue;let q=pG(Y)??J;try{let{extractVariables:K}=await a("stx/variable-extractor",()=>import("./chunk-g5v7gw13.js"));await K(G,Z,q,{preserveExisting:!0})}catch(K){let W=K instanceof Error?K:Error(String(K));o0.log(W,{filePath:q,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${q}: ${W.message}`)}}}async function nG($,Z,J){try{let{interpolateScriptsInTemplate:X}=await a("stx/expressions",()=>import("./chunk-hrrynmne.js"));return X($,Z,{skipServer:!0})}catch(X){let Q=X instanceof Error?X:Error(String(X));return o0.log(Q,{filePath:J,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${J}: ${Q.message}`),$}}async function F8($,Z,J,X,Q){let Y=$,G=X;if(await iG(Y,Z,J),Y=await nG(Y,Z,J),Y=await l4(Y,Z,J),Y=await c4(Y,Z,J),Y=await i7(Y,Z,J,G),X1(Y))Y=e6(Y,Z),Y=y$(Y,Z);Y=Z8(Y);let{processStreamDirectives:z}=await a("stx/streaming",()=>import("./chunk-wn9z19wm.js"));Y=z(Y,Z),Y=e4(Y,Z,J,G,!0),Y=await j6(Y,Z,J,G,Q),Y=await Y$(Y,Z,J,G,Q),Y=v3(Y,Z,J,G);let{processDeferDirectives:q}=await a("stx/defer",()=>import("./chunk-2rkq7pd1.js"));Y=q(Y,Z,J);let{processTeleportDirectives:K}=await a("stx/teleport",()=>import("./chunk-gyrf55m1.js"));Y=K(Y,Z,J);let{processTransitionDirectives:W,processTransitionAttributes:U}=await a("stx/transitions",()=>import("./chunk-wtdkz7wz.js"));Y=W(Y,Z,J),Y=U(Y);let{processErrorBoundaryDirectives:H}=await a("stx/error-boundaries",()=>import("./chunk-ymfh9wan.js"));Y=H(Y,Z,J);let{processSuspenseDirectives:j}=await a("stx/suspense",()=>import("./chunk-krvreaxb.js"));Y=j(Y,Z,J);let{processAsyncDirectives:B}=await a("stx/async-components",()=>import("./chunk-eh66m9ar.js"));Y=B(Y,Z,J);let{processKeepAliveDirectives:V}=await a("stx/keep-alive",()=>import("./chunk-rypa8b99.js"));Y=V(Y,Z,J);let{processVirtualListDirectives:F,processVirtualGridDirectives:L,processInfiniteListDirectives:O}=await a("stx/virtual-scrolling",()=>import("./chunk-dr2rpkb4.js"));Y=F(Y,Z,J),Y=L(Y,Z,J),Y=O(Y,Z,J);let{processPartialHydrationDirectives:_,processStaticDirectives:w}=await a("stx/partial-hydration",()=>import("./chunk-8q3a8g7m.js"));Y=_(Y,Z,J),Y=w(Y);let{processComputedDirectives:R,processWatchDirectives:N}=await a("stx/computed",()=>import("./chunk-mnhwgk4x.js"));Y=R(Y,Z,J),Y=N(Y,Z,J);let{processFormValidationDirectives:A}=await a("stx/forms-validation",()=>import("./chunk-esq6ydx5.js"));Y=A(Y,Z,J);let{processHeadDirective:k,processTitleDirective:D,processMetaDirective:I,resetHead:T}=await a("stx/head",()=>import("./chunk-1yv1v7hh.js"));if(!Z.__stx_head_preset&&!Z.__stx_runtime_head)T();let M=k(Y);if(Y=M.content,M.headContent)Z.__stx_head_raw=`${Z.__stx_head_raw||""}${M.headContent}
3583
+ `;if(Y=D(Y,Z),Y=I(Y,Z),Y=G6(Y),Y=D5(Y,Z),Y=p7(Y),Y=J6(Y),Y=await z$(Y,Z,J,G,Q),Y=await Y$(Y,Z,J,G,Q),Z.__stxProcessingDepth===1)Y=Y3(Y,Z);if(Y=Y.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),Y=P$(Y),Y=e0(Y,Z,J),Y=U$(Y),Y=h3(Y,Z,{filePath:J,buildMode:G.buildMode}),Y=A5(Y,Z),Y=M5(Y,Z),Y=L2(Y,Z),Y=C5(Y,Z),Y=S5(Y,Z),Y=await C7(Y,Z,J,G),Y=await i3(Y,Z,J),Y=await D8(Y,Z,J,G),Y=A8(Y,Z,J,G),Y=V7(Y,Z,J,G),Y=_7(Y,Z,J),Y=L7(Y,Z,J,G),Y=l7(Y,Z,J,G),Y=C$(Y,Z),Y=S$(Y),Y=W8(Y),!G.skipEventDirectives)Y=Z3(Y,Z,J);if(Y=m3(Y,Z,J),G.debug){let p=/\bx-data\s*=/.test(Y),i=b$($);if(p&&i)console.warn(`[stx] ${J}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
3584
+ Both work on the same page, but they manage separate scopes.
3585
+ Prefer signals (state/derived/effect) for new components.`)}Y=b4(Y,Z),Y=await V1(Y,Z,J),Y=B8(Y),Y=V8(Y),Y=k3(Y);let{processXElementDirectives:E}=await a("stx/x-element",()=>import("./chunk-cjf5h08r.js"));Y=E(Y);let C=Z.__originalFilePath||J,y=b9(Z);if(Y=await J8(Y,G,C,y),Y=r7(Y,Z),Y=await Q6(Y,Z,J,G),G.media?.image?.autoSiblings){let p=G.publicDir||"public",{rewriteImagesWithSiblings:i}=await a("stx/image-optimization/auto-sibling",()=>import("./chunk-ssdzdsm1.js"));Y=await i(Y,{publicDir:p})}if(G.seo?.enabled)Y=O7(Y,Z,G);let b=(p,i,U0=!0)=>{if(!i)return p;let Y0=i.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),O0=p.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(Y0&&O0){if(U0)p=p.replace(O0[0],Y0[0]);if(i=i.replace(Y0[0],"").trim(),!i)return p}if(/<\/head>/i.test(p))return p.replace(/<\/head>/i,`${i}
3586
+ </head>`);if(/<head\b[^>]*>/i.test(p))return p.replace(/(<head\b[^>]*>)/i,`$1
3587
+ ${i}`);if(/<html\b[^>]*>/i.test(p))return p.replace(/(<html\b[^>]*>)/i,`$1
3588
+ <head>
3589
+ ${i}
3590
+ </head>`);return p},{renderHead:P,getHead:g}=await a("stx/head",()=>import("./chunk-1yv1v7hh.js")),l=Z.__stx_runtime_head??g();if(l.title||l.meta?.length||l.link?.length){let p=P(l);if(p)Y=b(Y,p)}if(M.headContent)Y=b(Y,M.headContent,!l.title);if(G.csp?.enabled&&G.csp.addMetaTag)Y=d7(Y,G.csp,Z);if(G.analytics?.enabled)Y=E3(Y,G);if(G.heatmap?.enabled)Y=y3(Y,G);if(G.pwa?.enabled&&G.pwa.autoInject!==!1){let{injectPwaTags:p}=await a("stx/pwa/inject",()=>import("./chunk-129fa2d9.js"));Y=p(Y,G)}let h=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(Y),s=/\bSTX\.\w+/.test(Y),u=/window\.STX\s*=/.test(Y);if(h&&s&&!u){let i=`<script data-stx-scoped data-stx-run="once">
3591
+ ${A3()}
3592
+ </script>`;if(Y.includes("</head>")){let U0=Y.indexOf("</head>"),O0=Y.slice(0,U0).indexOf("<script");if(O0!==-1){let E0=Y.slice(0,O0),j1=Y.slice(O0);Y=E0+i+`
3593
+ `+j1}else Y=Y.replace("</head>",`${i}
3594
+ </head>`)}else if(Y.includes("<body"))Y=Y.replace(/<body([^>]*)>/,`<body$1>
3595
+ ${i}`);else Y=i+`
3596
+ `+Y}{let{scanScriptTags:p}=await a("stx/signal-processing",()=>import("./chunk-fh33afkv.js")),i=[];for(let U0 of p(Y)){if(!/\bserver\b/i.test(U0.attrs))continue;let Y0=U0.start+U0.fullMatch.indexOf(">")+1,O0=gG(Y,Y0);if(O0===-1)continue;let E0=O0+9;while(E0<Y.length&&/\s/.test(Y[E0]))E0++;i.push({start:U0.start,end:E0})}if(i.length>0){let U0=Array(i.length+1),Y0=0;for(let O0=0;O0<i.length;O0++){let{start:E0,end:j1}=i[O0];U0[O0]=Y.slice(Y0,E0),Y0=j1}U0[i.length]=Y.slice(Y0),Y=U0.join("")}}let z0=C9(Y,J);if(z0.hasScoped)Y=z0.html;let d0=Z.__stx_event_bindings||[],x0=!1,m0=[],J0=/\s:[a-z][\w.-]*\s*=/.test(Y),{scanScriptTags:j0}=await a("stx/signal-processing",()=>import("./chunk-fh33afkv.js"));for(let p of j0(Y,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))m0.push({match:p.fullMatch,attrs:p.attrs,content:p.body});for(let{match:p,attrs:i,content:U0}of m0){x0=!0;let Y0=U0;f$(U0,J,X.strict,Z.__originalFilePath);let O0=await y9(U0,{eventBindings:d0,attrs:i,hasColonDirectives:J0,templateContent:$,filePath:J,projectRoot:process.cwd(),production:X.buildMode==="compile",serverData:y});Y=Y.replace(p,()=>O0)}if(x0)Z.__stx_event_bindings=[];if(!x0&&Z.__stxProcessingDepth===1){let p=Z.__stx_event_bindings||[];if(p.length>0){let i=u9(p);if(i){let U0=Y.lastIndexOf("</body>");Y=U0===-1?Y+i:Y.slice(0,U0)+i+`
3597
+ `+Y.slice(U0)}Z.__stx_event_bindings=[]}}if(!h6(Y)&&u6(Y))Y=await I9(Y,G);if(Y=d6(Y),G.csp?.enabled&&G.csp.useNonce&&typeof Z.cspNonce==="string")Y=m7(Y,Z.cspNonce);return Y}var sG=[{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"}],oG=[{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')"}],rG=[{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"}];function aG($){let Z=[],J=[];return tG($,Z),eG($,Z,J),$z($,J),Zz($,Z),{valid:Z.length===0,errors:Z,warnings:J}}function tG($,Z){let J=($.match(/\{\{/g)||[]).length,X=($.match(/\}\}/g)||[]).length;if(J!==X)Z.push({type:"expression",message:`Unclosed expression brackets: found ${J} opening '{{' and ${X} closing '}}'`,suggestion:"Ensure every {{ has a matching }}"})}function eG($,Z,J){for(let X of sG){let Q=new RegExp(`${X.open}(?:\\s|\\()`,"g"),Y=new RegExp(X.close,"g"),G=($.match(Q)||[]).length,z=($.match(Y)||[]).length;if(X.altClose){let q=new RegExp(X.altClose,"g");z+=($.match(q)||[]).length}if(G>z)Z.push({type:"directive",message:`Unclosed @${X.name} directive: found ${G} opening and ${z} closing`,suggestion:`Add ${G-z} missing ${X.close} tag(s)`});else if(z>G)J.push({type:"directive",message:`Extra ${X.close} found: ${z-G} more closing than opening`,suggestion:`Check for orphaned ${X.close} tags`})}}function $z($,Z){for(let J of oG)if(J.pattern.test($))Z.push({type:"syntax",message:J.message,suggestion:J.suggestion})}function Zz($,Z){for(let J of rG)if(J.pattern.test($))Z.push({type:"expression",message:`Security warning: ${J.message}`,suggestion:"Remove dangerous code from template expressions"})}function Jz($,Z){let J=$.slice(0,Z).split(`
3598
+ `);return{line:J.length,column:J[J.length-1].length+1}}function Xz($,Z,J){let X=[];switch($){case"if":case"elseif":case"unless":if(J.length===0)X.push({type:"syntax",message:`@${$} requires a condition`,suggestion:`Use @${$}(condition)`});break;case"foreach":if(J.length===0||!J[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(J.length===0)X.push({type:"syntax",message:"@for requires loop parameters",suggestion:"Use @for(let i = 0; i < 10; i++)"});break;case"switch":if(J.length===0)X.push({type:"syntax",message:"@switch requires an expression",suggestion:"Use @switch(expression)"});break;case"case":if(J.length===0)X.push({type:"syntax",message:"@case requires a value",suggestion:"Use @case(value)"});break;case"include":case"extends":case"component":if(J.length===0)X.push({type:"syntax",message:`@${$} requires a path`,suggestion:`Use @${$}('path/to/template')`});break}return X}function Yz($){return/@[a-z]+/i.test($)||/\{\{/.test($)}function Qz($){let Z=$.matchAll(/@([a-z]+)/gi),J=new Set;for(let X of Z){let Q=X[1].toLowerCase();if(!Q.startsWith("end"))J.add(Q)}return Array.from(J)}import r0 from"path";import $2 from"process";var n8=["module","exports","require","props","$props","defineProps","withDefaults","defineClientPayload","useServerData","useRuntimeConfig","useServerRuntimeConfig","state","derived","effect","batch","onMount","onDestroy","definePageMeta","useRoute","useRouter","useHead","useSeoMeta","setResponseStatus","setResponseHeader","notFound","ref","reactive","computed","watch","onMounted","onUnmounted","nextTick","defineEmits","defineExpose","defineSlots","provide","inject","useColorMode","useDark","useMediaQuery","useScrollLock","usePreferredDark","usePreferredLight","usePreferredReducedMotion","usePreferredContrast","window","document","console","confirm","alert","fetch","params"],S8=new Set(n8),Gz=new Set(["props","$props","defineProps"]),zz=new Set(["stx","@stacksjs/stx"]),P8=T1(128),v8=T1(64);function qz($){let Z=[],J=0,X=$.split(`
3599
+ `);for(let Q of X){let Y=J,G=null,z=!1;for(let q=0;q<Q.length;q++){let K=Q[q];if(z){z=!1;continue}if(K==="\\"){z=!0;continue}if(G){if(K===G)G=null;continue}if(K==="'"||K==='"'||K==="`"){G=K;continue}if(K==="/"&&q+1<Q.length&&Q[q+1]==="/")break;if(K==="{")J++;else if(K==="}")J--}if(Y===0){let q=Q.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)Z.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(Q)){let K=Q.match(/(?:const|let|var)\s+(\w+)/);if(K)Z.push(K[1])}else{let K=Q.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(K){let U=K[1].slice(1,-1).split(",").map((H)=>{let j=H.split(":");return(j.length>1?j[1]:j[0]).trim()}).filter((H)=>/^\w+$/.test(H));Z.push(...U)}}}}return[...new Set(Z)]}function Kz($){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 J(X){if(!X.includes(":"))return X;let Q=[],Y="",G=0,z=0,q=null;for(let K=0;K<X.length;K++){let W=X[K];if(q){if(Y+=W,W===q)q=null;continue}if(W==='"'||W==="'"||W==="`"){q=W,Y+=W;continue}if(W==="<")G++;else if(W===">"&&G>0)G--;else if(W==="(")z++;else if(W===")")z--;if(W===","&&G===0&&z===0){Q.push(Y),Y="";continue}Y+=W}if(Y)Q.push(Y);return Q.map((K)=>{let W=K.trim(),U=W.startsWith("..."),H=U?W.slice(3):W,j=-1,B=0;for(let R=0;R<H.length;R++)if(H[R]==="<")B++;else if(H[R]===">")B--;else if(H[R]===":"&&B===0){j=R;break}if(j===-1)return K;let F=H.substring(0,j).trim().replace(/\?$/,""),L=H.substring(j+1),O=-1,_=0;for(let R=0;R<L.length;R++)if(L[R]==="<")_++;else if(L[R]===">")_--;else if(L[R]==="="&&_===0){O=R;break}let w=U?"...":"";if(O!==-1)return`${w}${F} = ${L.substring(O+1).trim()}`;return`${w}${F}`}).join(", ")}Z=Z.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(X,Q,Y)=>{if(!Y.includes(":"))return X;return`${Q}(${J(Y)})`});{let X=/\b(function\s+\w*\s*)\(/g,Q,Y=[];while((Q=X.exec(Z))!==null){let G=Q.index+Q[0].length-1,z=1,q=G+1,K=0,W=null;while(q<Z.length&&z>0){let j=Z[q];if(W){if(j===W)W=null;q++;continue}if(j==='"'||j==="'"||j==="`"){W=j,q++;continue}if(j==="<")K++;else if(j===">"&&K>0)K--;else if(K===0){if(j==="(")z++;else if(j===")")z--}if(z>0)q++}if(z!==0)continue;let U=Z.substring(G+1,q);if(!U.includes(":"))continue;let H=J(U);Y.push({start:G+1,end:q,replacement:H})}for(let G=Y.length-1;G>=0;G--){let{start:z,end:q,replacement:K}=Y[G];Z=Z.substring(0,z)+K+Z.substring(q)}}return Z=Z.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(X,Q)=>{if(!Q.includes(":"))return X;if(Q.includes("{")||Q.includes("}"))return X;return`(${Q.split(",").map((G)=>{let[z,...q]=G.split("="),K=z.split(":")[0].trim();if(q.length>0)return`${K} = ${q.join("=").trim()}`;return K}).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,`
3600
+
3601
+ `),Z}function Wz($){return/cannot find module|could not resolve|module not found|failed to resolve/i.test($)}function Uz($){if(!/is not defined|can't find variable/i.test($))return!1;return!/\b(document|window|navigator|localStorage|sessionStorage|self)\b/.test($)}async function Hz($,Z,J,X={}){if(!$.trim())return;let Q=t1(),Y=H1($,JSON.stringify(Q)),G=P8.get(Y);if(G===void 0){try{let S=d$({loader:"ts",target:"browser",define:Q}),v=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");v=v.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),G=S.transformSync(v)}catch{G=Kz($)}P8.set(Y,G)}let z={exports:{}},q=z.exports,K=$2.cwd(),W={},U=[...G.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((S)=>S[1]).filter((S)=>!S.startsWith("node:")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(S)),H=new Map;for(let S of U)try{if(S.startsWith(".")){W[S]=await import(r0.resolve(r0.dirname(J),S));continue}let v=r0.resolve(K,"node_modules",S),o=r0.join(v,"package.json"),X0=JSON.parse(f("fs").readFileSync(o,"utf8")),W0=X0.main||"index.js";if(X0.exports){let N0=typeof X0.exports==="string"?X0.exports:X0.exports["."];if(typeof N0==="string")W0=N0;else if(N0?.bun)W0=N0.bun;else if(N0?.import)W0=N0.import;else if(N0?.default)W0=N0.default}W[S]=await import(r0.resolve(v,W0))}catch(v){if(S.startsWith("."))H.set(S,v instanceof Error?v.message:String(v))}let j=(S)=>{if(W[S])return W[S];let v=H.get(S);if(v!==void 0)throw Error(`Cannot require '${S}' from ${J}: ${v}`);return f(S)},B=Z.props||{},V=(S)=>{if(!S)return B;let v={};for(let[o,X0]of Object.entries(S)){let W0=B[o];if(W0!==void 0)v[o]=W0;else if(typeof X0==="function")v[o]=X0();else v[o]=X0}return v};for(let[S,v]of Object.entries(B))Object.defineProperty(V,S,{value:v,enumerable:!0,configurable:!0,writable:!0});for(let S of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(B,S))continue;try{Object.defineProperty(V,S,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let F=(S)=>{if(!S)return B;let v={...B};for(let[o,X0]of Object.entries(S)){let W0=X0&&typeof X0==="object"&&!Array.isArray(X0)?X0:{type:X0};if(v[o]===void 0&&W0.default!==void 0)v[o]=typeof W0.default==="function"?W0.default():W0.default}return v},L=()=>Z.slots||{},O=(S,v)=>{let o={...S};for(let[X0,W0]of Object.entries(v))if(o[X0]===void 0)if(typeof W0==="function")o[X0]=W0();else o[X0]=W0;return o},_=(S)=>{let v=()=>S;return v.set=(o)=>{},v.update=(o)=>{},v},w=(S)=>{let v,o=!1;return()=>{if(!o)try{v=S(),o=!0}catch{v=void 0}return v}},R=(S)=>{},N=(S)=>S(),A=(S)=>{},k=(S)=>{},D=g3(Z);function I(S){let v=S||{};if(v.title!==void 0||v.description!==void 0)y({title:v.title,description:v.description})}function T(S){if(!S||typeof S!=="object")return;let v=Z.__stxClientPayload??{};Object.assign(v,S),Z.__stxClientPayload=v}let M=()=>{let S=Z.__stxServeContext,v=Z.__stxServeSearch??S?.search??"",o=S?.path??"",X0=Object.fromEntries(new URLSearchParams(v)),W0=Z.query,N0=Object.keys(X0).length>0?X0:W0??{},l0=v||(Object.keys(N0).length>0?`?${new URLSearchParams(N0).toString()}`:"");return{params:Z.params??{},query:N0,path:o,name:"",fullPath:o+l0,hash:"",matched:[]}},E=()=>({push:(S)=>{},replace:(S)=>{},back:()=>{},forward:()=>{},go:(S)=>{}}),C=(S)=>{let v=Z.__stx_runtime_head||{};Z.__stx_runtime_head=r2(v,S||{})},y=(S)=>{C(i8(S||{}))},b=(S)=>({value:S}),P=(S)=>S,g=(S)=>({value:typeof S==="function"?S():S}),c=(S,v)=>{},l=(S)=>{},h=(S)=>{},s=(S)=>S?S():Promise.resolve(),u=(S)=>(v,...o)=>{},z0=(S)=>{},d0=(S,v)=>{},x0=(S,v)=>v,m0=()=>({value:"light"}),J0=()=>_(!1),j0=(S)=>_(!1),p=()=>_(!1),i=()=>j0("(prefers-color-scheme: dark)"),U0=()=>j0("(prefers-color-scheme: light)"),Y0=()=>j0("(prefers-reduced-motion: reduce)"),O0=()=>j0("(prefers-contrast: more)"),E0={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:{}},j1=new Proxy(E0,{get(S,v){if(v in S)return S[v];return},set(S,v,o){return S[v]=o,!0}}),J2={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},S2=console;try{let S=s8(G,J),v=new Set(Object.keys(B)),o=Object.keys(Z).filter((t)=>!v.has(t)&&!Gz.has(t)&&Z2(t)),X0=o.map((t)=>Z[t]);if(!o.includes("__stxServeContext"))o.push("__stxServeContext"),X0.push(void 0);let W0=new Set(["async","module","exports","require","params","window","document","console","state","derived","effect"]),N0=[],l0=[];for(let[t,a0]of Object.entries(B)){if(!Z2(t))continue;if(W0.has(t))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${t}\\b`).test(S))continue;N0.push(t),l0.push(a0)}let d=qz(S).map((t)=>`module.exports.${t} = typeof ${t} !== 'undefined' ? ${t} : module.exports.${t};`).join(`
3602
+ `),m=Z.params??{},K0=[],r=[];for(let t=0;t<o.length;t++){if(o[t]==="params")continue;K0.push(o[t]),r.push(X0[t])}let F0=[...n8,...N0,...K0],D0=`return (async () => {
3603
+ ${S}
3604
+ ${d}
3605
+ return module.exports
3606
+ })()`,P0=H1(D0,F0.join("\x00")),c0=v8.get(P0);if(!c0)c0=Function(...F0,D0),v8.set(P0,c0);let C0=Z.__stx_options?.runtimeConfig;if(C0||/\buse(?:Server)?RuntimeConfig\b/.test(G))await S9(Z,J,C0);let J1=await d8(Z.__stx_runtime_config??m8()??p8(),()=>N6(Z,()=>c0(z,q,j,B,V,F,O,T,D6,c8,l8,_,w,R,N,A,k,I,M,E,C,y,D.setResponseStatus,D.setResponseHeader,D.notFound,b,P,g,c,l,h,s,u,z0,L,d0,x0,m0,J0,j0,p,i,U0,Y0,O0,j1,J2,S2,E0.confirm,E0.alert,E0.fetch,m,...l0,...r)));if(X.preserveExisting){for(let[t,a0]of Object.entries(J1))if(!(t in Z)||Z[t]===void 0)Z[t]=a0}else Object.assign(Z,J1);for(let[t,a0]of Object.entries(B))if(!(t in Z))Z[t]=a0}catch(S){if(Z.__stx_strict_hydration)throw S;let v=S instanceof Error?S.message:String(S);if(Wz(v))console.warn(`[stx] server <script> in ${J??"<unknown>"} imports a module that does not resolve, so every variable in that script is undefined. Cause: ${v}`);else if(Uz(v))console.warn(`[stx] server <script> in ${J??"<unknown>"} names something that does not exist, so every variable in that script is undefined. Optional chaining does not help here: an undefined identifier throws before the chain is reached. Cause: ${v}`);else if($2.env.STX_DEBUG)console.warn(`[stx] server <script> did not execute in ${J??"<unknown>"} \u2014 falling back to static extraction. Cause: ${v}`);try{await wz(G,Z,J)}catch(o){if($2.env.STX_DEBUG){let X0=o instanceof Error?o.message:String(o);console.warn(`[stx] fallback extraction also failed in ${J??"<unknown>"}: ${X0}`)}}}}function jz($){let Z=0,J=null,X=!1,Q=!1;for(let Y=0;Y<$.length;Y++){let G=$[Y];if(J){if(G===J){if(J=null,X||Z===0)Q=!0}continue}if(G==="'"||G==='"'||G==="`"){J=G;continue}if(G==="{")Z++;else if(G==="}")Z--;else if($.startsWith("from",Y)&&Z===0)X=!0}return J===null&&Z===0&&Q}var Bz=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/;function s8($,Z){let J=Z?r0.dirname(Z):$2.cwd(),X=$2.cwd(),Q=$.split(`
3607
+ `),Y=[],G=0;while(G<Q.length){let z=Q[G].trim();if(z.startsWith("interface ")||z.startsWith("export interface ")||z.startsWith("type ")||z.startsWith("export type ")){if(z.includes("{")&&!z.includes("}")){let q=0;for(;G<Q.length;G++){for(let K of Q[G])if(K==="{")q++;else if(K==="}")q--;if(q<=0)break}}G++;continue}if(z.startsWith("definePageMeta(")){let q=0,K=!1,W=G;for(let j=G;j<Q.length&&!K;j++){let B=null,V=!1,F=Q[j];for(let L=0;L<F.length;L++){let O=F[L];if(V){V=!1;continue}if(O==="\\"){V=!0;continue}if(B){if(O===B)B=null;continue}if(O==='"'||O==="'"||O==="`"){B=O;continue}if(O==="(")q++;else if(O===")"){if(q--,q===0){G=j+1,K=!0;break}}}}if(!K)G=Q.length;let U=Q.slice(W,G).join(`
3608
+ `),H=[];for(let j of["title","description"]){let B=new RegExp(`\\b${j}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(U);if(B)H.push(`${j}: ${JSON.stringify(B[2])}`)}if(H.length>0)Y.push(`useSeoMeta({ ${H.join(", ")} });`);continue}if(z.startsWith("import ")||z==="import"||z.startsWith("import{")){let q=z,K=0;while(!jz(q)&&G+K+1<Q.length)K++,q=`${q} ${Q[G+K].trim()}`;G+=K;let W=q.match(/^import\s+(\w+)\s+from\s+['"](.+?)['"]/),U=q.match(/^import\s+\{([^}]*)\}\s+from\s+['"](.+?)['"]/),H=q.match(/^import\s+['"](.+?)['"]/),j=q,B=(V)=>{if(V.startsWith("."))return r0.resolve(J,V);if(V.startsWith("~/")||V.startsWith("@/"))return r0.resolve(X,V.slice(2));return V};if(W){let[,V,F]=W,L=B(F);Y.push(`const ${V} = (await import('${L}')).default`),Y.push(`module.exports.${V} = ${V};`)}else if(U){let[,V,F]=U,L=B(F),O=[],_=[],w=zz.has(F);for(let R of V.split(",")){let N=R.trim();if(!N)continue;let A=N.split(/\s+as\s+/);if(A.length===2){let[k,D]=[A[0].trim(),A[1].trim()];if(w&&S8.has(k)){Y.push(`const ${D} = ${k};`);continue}O.push(`${k}: ${D}`),_.push(D)}else{if(w&&S8.has(N))continue;O.push(N),_.push(N)}}if(O.length>0)Y.push(`const { ${O.join(", ")} } = await import('${L}')`);for(let R of _)Y.push(`module.exports.${R} = ${R};`)}else if(H){let V=B(H[1]);Y.push(`await import('${V}')`)}else Y.push(j);G++;continue}if(Bz.test(z))Y.push(Q[G]),G++;else if(z.startsWith("export const ")||z.startsWith("export let ")||z.startsWith("export var ")){let q=x8(Q,G),{type:K,name:W,value:U}=q;Y.push(`${K} ${W} = ${U};`),Y.push(`module.exports.${W} = ${W};`),G=q.nextIndex}else if(z.startsWith("export function ")||z.startsWith("export async function ")){let q=u$(Q,G);Y.push(q.functionCode),Y.push(`module.exports.${q.name} = ${q.name};`),G=q.nextIndex}else if(z.startsWith("const ")||z.startsWith("let ")||z.startsWith("var ")){let q=x8(Q,G),{type:K,name:W,value:U}=q;Y.push(`${K} ${W} = ${U};`),Y.push(`module.exports.${W} = ${W};`),G=q.nextIndex}else if(z.startsWith("function ")||z.startsWith("async function ")){let q=u$(Q,G);Y.push(q.functionCode),Y.push(`module.exports.${q.name} = ${q.name};`),G=q.nextIndex}else if(z.startsWith("export default function ")||z.startsWith("export default async function ")){let q=Q[G].replace(/^(\s*)export\s+default\s+/,"$1"),K=[...Q];K[G]=q;let W=u$(K,G);if(Y.push(W.functionCode),W.name)Y.push(`module.exports.default = ${W.name};`);G=W.nextIndex}else if(z.startsWith("export default ")){let q=z.replace(/^export\s+default\s+/,"").replace(/;$/,"");Y.push(`module.exports.default = ${q};`),G++}else if(z.startsWith("class ")||z.startsWith("export class ")){let q=z.match(/(?:export\s+)?class\s+(\w+)/);if(q){let K=q[1],W=Q[G].replace(/^export\s+/,""),U=0,H=G;for(;H<Q.length;H++){let j=Q[H];for(let B of j)if(B==="{")U++;else if(B==="}")U--;if(H>G)W+=`
3609
+ `+j;if(U<=0&&H>=G)break}Y.push(W),Y.push(`module.exports.${K} = ${K};`),G=H+1}else Y.push(z),G++}else if(z.includes("module.exports"))Y.push(z),G++;else if(z.trim()&&!z.startsWith("//"))Y.push(z),G++;else G++}return Vz(Y.join(`
3610
+ `),J,X)}function Vz($,Z,J){let X=$.length,Q="",Y=0,G=null,z=!1,q=!1,K=0;while(Y<X){let W=$[Y],U=$[Y+1];if(z){if(Q+=W,W===`
3611
+ `)z=!1;Y++;continue}if(q){if(Q+=W,W==="*"&&U==="/"){Q+=U,Y+=2,q=!1;continue}Y++;continue}if(!G&&W==="/"&&U==="/"){z=!0,Q+=W,Y++;continue}if(!G&&W==="/"&&U==="*"){q=!0,Q+=W,Y++;continue}if(G){if(Q+=W,W==="\\"){Q+=U,Y+=2;continue}if(W===G&&G!=="`"){G=null,Y++;continue}if(G==="`"){if(W==="$"&&U==="{"){K++,Q+=U,Y+=2;continue}if(W==="`"){G=null,Y++;continue}}Y++;continue}if(K>0){if(W==="{")K++;else if(W==="}")K--}if(W==='"'||W==="'"||W==="`"){G=W,Q+=W,Y++;continue}if(W==="a"&&$.startsWith("await",Y)){let H=_z($,Y);if(H){let{quote:j,path:B,end:V}=H;if(B.startsWith(".")||B.startsWith("~/")||B.startsWith("@/")){let F=B.startsWith(".")?r0.resolve(Z,B):r0.resolve(J,B.slice(2));Q+=`await import(${j}${F}${j})`,Y=V;continue}}}Q+=W,Y++}return Q}function _z($,Z){let J=Z+5;if(J>=$.length)return null;if(!/\s/.test($[J]))return null;while(J<$.length&&/\s/.test($[J]))J++;if(!$.startsWith("import",J))return null;J+=6;while(J<$.length&&/\s/.test($[J]))J++;if($[J]!=="(")return null;J++;while(J<$.length&&/\s/.test($[J]))J++;let X=$[J];if(X!=="'"&&X!=='"')return null;J++;let Q=J;while(J<$.length&&$[J]!==X)if($[J]==="\\")J+=2;else J++;if(J>=$.length)return null;let Y=$.slice(Q,J);J++;while(J<$.length&&/\s/.test($[J]))J++;if($[J]!==")")return null;return{quote:X,path:Y,end:J+1}}function o8($,Z){let J=$[Z];if(J!=="{"&&J!=="[")return null;let Q=w0($,J,J==="{"?"}":"]",Z);if(Q===-1)return null;return{pattern:$.slice(Z,Q+1),endPos:Q+1}}function r8($){let Z=[],J=$.slice(1,-1).trim();if(!J)return Z;let X=0,Q=0,Y="";while(X<J.length){let G=J[X];if(G==="{"||G==="["){let z=Q===0?o8(J,X):null;if(z){Z.push(...r8(z.pattern)),X=z.endPos,Y="";continue}Q++}else if(G==="}"||G==="]")Q--;if(Q>0){X++;continue}if(G===","){if(Y.trim())Z.push(Y.trim());Y="",X++;continue}if(G===":"){Y="",X++;continue}if(G==="="){if(Y.trim())Z.push(Y.trim());Y="",X++;while(X<J.length&&J[X]!==","&&Q===0){if(J[X]==="{"||J[X]==="[")Q++;else if(J[X]==="}"||J[X]==="]")Q--;X++}continue}if(/[\w$]/.test(G))Y+=G;X++}if(Y.trim())Z.push(Y.trim());return Z}function Lz($){let Z=/^(?:export\s+)?(const|let|var)\s+([A-Za-z_$][\w$]*)/.exec($);if(!Z)return null;let J=Z[0].length,X=(Q)=>Q===" "||Q==="\t";while(J<$.length&&X($[J]))J++;if($[J]===":"){let Q=0,Y=null;J++;for(;J<$.length;J++){let G=$[J];if(Y){if(G==="\\"){J++;continue}if(G===Y)Y=null;continue}if(G==="'"||G==='"'||G==="`"){Y=G;continue}if(G==="("||G==="["||G==="{"||G==="<"){Q++;continue}if(G===")"||G==="]"||G==="}"||G===">"){Q--;continue}if(G==="="&&Q<=0){let z=$[J+1],q=$[J-1];if(z!=="="&&z!==">"&&q!=="="&&q!=="!"&&q!=="<"&&q!==">")break}}if($[J]!=="=")return null}while(J<$.length&&X($[J]))J++;if($[J]!=="=")return null;return{type:Z[1],name:Z[2],value:$.slice(J+1).trim()}}function f8($,Z,J,X){let Q=null,Y=!1;for(let G of $){if(Y){Y=!1;continue}if(G==="\\"){Y=!0;continue}if(Q){if(G===Q)Q=null;continue}if(G==="'"||G==='"'||G==="`"){Q=G;continue}if(G===Z)X++;else if(G===J)X--}return X}function x8($,Z){let J=$[Z].trim(),X=Lz(J),Q=X?[J,X.type,X.name,X.value]:null;if(!Q){let W=J.match(/^(?:export\s+)?(const|let|var)\s+/);if(W){let U=J.slice(W[0].length),H=Z;if(U.startsWith("{")||U.startsWith("[")){let B=U[0],V=B==="{"?"}":"]",F=f8(U,B,V,0),L=U;for(let O=Z+1;O<$.length&&F>0;O++)L+=` ${$[O].trim()}`,H=O,F=f8($[O],B,V,F);if(F>0)L=U,H=Z;U=L}let j=o8(U,0);if(j){let B=W[1],V=j.pattern,F=U.slice(j.endPos).trim();if(F.startsWith("=")){let L=F.slice(1).trim(),O=L,_=Math.max(H,Z);if(g8(L)){let A=h8($,_,L);O=A.value,_=A.nextIndex}else _=_+1;O=O.trim().replace(/;$/,"");let w=r8(V),R=`__stx_src_${Z}`,N=w.map((A)=>`module.exports.${A} = ${A};`).join(`
3612
+ `);return{type:B,name:R,value:`${O}; ${B} ${V} = ${R};
3613
+ ${N}`,nextIndex:_}}}}throw Error(`Failed to parse variable declaration: ${J}`)}let[,Y,G,z]=Q,q=z,K=Z;if(g8(z)){let W=h8($,Z,z);q=W.value,K=W.nextIndex}else K=Z+1;while(K<$.length){let W=$[K].trim();if(W.startsWith(".")||W.startsWith("?."))q+=`
3614
+ ${$[K]}`,K++;else break}return q=q.trim().replace(/;$/,""),{type:Y,name:G,value:q,nextIndex:K}}function u$($,Z){let J=$[Z].trim(),X=J.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!X)throw Error(`Failed to parse function declaration: ${J}`);let[,Q]=X,Y=J.replace(/^export\s+/,""),G=Z;if(Oz(J)){let z=Fz($,Z,Y);Y=z.functionCode,G=z.nextIndex}else G=Z+1;return{name:Q,functionCode:Y,nextIndex:G}}function g8($){let Z=$.trim();if(Z.startsWith("{"))return w0(Z,"{","}",0)===-1;if(Z.startsWith("["))return w0(Z,"[","]",0)===-1;return!a8(Z)}function a8($){let Z={paren:0,bracket:0,brace:0},J=null,X=0;for(let Q=0;Q<$.length;Q++){let Y=$[Q];if((Q>0?$[Q-1]:"")==="\\"&&J)continue;if((Y==='"'||Y==="'")&&!J){J=Y;continue}if(Y===J&&J!=="`"){J=null;continue}if(Y==="`"&&!J){J="`";continue}if(Y==="`"&&J==="`"&&X===0){J=null;continue}if(J==="`"&&Y==="$"&&$[Q+1]==="{"){X++,Q++;continue}if(X>0&&Y==="{"){X++;continue}if(X>0&&Y==="}"){X--;continue}if(J)continue;if(Y==="(")Z.paren++;else if(Y===")")Z.paren--;else if(Y==="[")Z.bracket++;else if(Y==="]")Z.bracket--;else if(Y==="{")Z.brace++;else if(Y==="}")Z.brace--}return Z.paren===0&&Z.bracket===0&&Z.brace===0&&J===null}function t8($){let Z=$.indexOf("(");if(Z===-1)return $.indexOf("{");let J=w0($,"(",")",Z);if(J===-1)return-1;return $.indexOf("{",J)}function Oz($){let Z=t8($);if(Z===-1)return!0;return w0($,"{","}",Z)===-1}function h8($,Z,J){let X=J,Q=Z+1;while(Q<$.length&&!a8(X)){let Y=$[Q];X+=`
3615
+ ${Y}`,Q++}while(Q<$.length){let Y=$[Q].trim();if(Y.startsWith(".")||Y.startsWith("?."))X+=`
3616
+ ${$[Q]}`,Q++;else break}return{value:X,nextIndex:Q}}function Fz($,Z,J){let X=J,Q=Z+1;while(Q<$.length){let Y=t8(X);if(Y!==-1){if(w0(X,"{","}",Y)!==-1)break}let G=$[Q];X+=`
3617
+ ${G}`,Q++}return{functionCode:X,nextIndex:Q}}function u8($,Z){let J=Z0($,Z)??Z0(`(${$})`,Z);if(J!==void 0)return J;if(!/\bprocess\b/.test($))return;let X={...Z,process:Object.freeze({env:{...$2.env}})},Q=Object.keys(X).filter(Z2),Y=Q.map((G)=>X[G]);try{return Function(...Q,`'use strict'; return (${$});`)(...Y)}catch{try{return Function(...Q,`'use strict'; return ${$};`)(...Y)}catch{return}}}async function wz($,Z,J){let X=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let Y of X){let[,,G,z]=Y;try{let q=z.trim().replace(/;$/,""),K=u8(q,Z);if(K!==void 0)Z[G]=K}catch(q){console.warn(`Failed to parse export ${G} in fallback:`,q)}}let Q=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let Y of Q){let[,,G,z]=Y;if(!(G in Z))try{let q=z.trim().replace(/;$/,""),K=u8(q,Z);if(K!==void 0)Z[G]=K}catch{}}}function Rz($){let Z=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),J=Z?Z[1]:"",X=Z?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:J,templateWithoutScript:X}}function Nz($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var y2=new i1(500),v9=new i1(1000),GZ=33554432,l$=GZ;function Dz($){let Z=$.componentRenderCacheBytes;if(typeof Z!=="number"||Z<0||Z===l$)return;l$=Z,f9.setMaxBytes(Z)}var f9=new i1(2000,{maxBytes:GZ,sizeOf:($)=>$.output.length});function Az($){let Z=new WeakSet;try{let J=(X)=>{if(X===void 0)return{__stxType:"undefined"};if(typeof X==="bigint")return{__stxType:"bigint",value:X.toString()};if(typeof X==="function"||typeof X==="symbol")throw TypeError("Non-serializable component input");if(X===null||typeof X!=="object")return X;if(Z.has(X))throw TypeError("Circular component input");if(Z.add(X),X instanceof Date)return{__stxType:"date",value:X.toISOString()};if(Array.isArray(X))return X.map(J);let Q={};for(let Y of Object.keys(X).sort())Q[Y]=J(X[Y]);return Q};return JSON.stringify(J($))}catch{return null}}function e8($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Mz($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function A1($){return!Mz($)}var P9=new Map;function d$($){let Z;try{Z=JSON.stringify($)}catch{return new Bun.Transpiler($)}let J=P9.get(Z);if(J)return J;if(P9.size>=16)P9.clear();let X=new Bun.Transpiler($);return P9.set(Z,X),X}var $Z=new WeakMap,Iz=256;function M1($){try{let Z=d$({loader:"ts",target:"browser",define:t1()}),J=$Z.get(Z);if(!J)J=new Map,$Z.set(Z,J);let X=J.get($);if(X!==void 0)return X;let Q=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");Q=Q.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Y=[];Q=Q.replace(/\{!![\s\S]*?!!\}/g,(z)=>{let q=Y.length;return Y.push(z),`"__STX_EXPR_${q}__"`}),Q=Q.replace(/\{\{\{[\s\S]*?\}\}\}/g,(z)=>{let q=Y.length;return Y.push(z),`"__STX_EXPR_${q}__"`}),Q=Q.replace(/\{\{[\s\S]*?\}\}/g,(z)=>{let q=Y.length;return Y.push(z),`"__STX_EXPR_${q}__"`});let G=Z.transformSync(Q);for(let z=0;z<Y.length;z++)G=G.replace(`"__STX_EXPR_${z}__"`,Y[z]),G=G.replace(`'__STX_EXPR_${z}__'`,Y[z]);if(J.size>=Iz){let z=J.keys().next();if(!z.done)J.delete(z.value)}return J.set($,G),G}catch(Z){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",Z);return $}}function kz($){let Z=[],J=new Set,X=0,Q=0,Y=$.length,G=(W)=>{Q++;while(Q<Y){if($[Q]==="\\"){Q+=2;continue}if($[Q]===W){Q++;return}Q++}},z=()=>{Q++;while(Q<Y){if($[Q]==="\\"){Q+=2;continue}if($[Q]==="`"){Q++;return}if($[Q]==="$"&&$[Q+1]==="{"){Q+=2;let W=1;while(Q<Y&&W>0)if($[Q]==="{")W++,Q++;else if($[Q]==="}")W--,Q++;else if($[Q]==="'"||$[Q]==='"')G($[Q]);else if($[Q]==="`")z();else Q++;continue}Q++}},q=()=>{if($[Q]==="/"&&$[Q+1]==="/"){while(Q<Y&&$[Q]!==`
3618
+ `)Q++;return!0}if($[Q]==="/"&&$[Q+1]==="*"){Q+=2;while(Q<Y-1&&!($[Q]==="*"&&$[Q+1]==="/"))Q++;return Q+=2,!0}return!1},K=()=>{if(X!==0)return;let W=$.slice(Q).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(W){let B=W[2].split(",").map((V)=>{let F=V.trim().split(":");return F[F.length-1].trim()});for(let V of B)if(V&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(V)&&!J.has(V))Z.push(V),J.add(V);return}let U=$.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(U){let B=U[2];if(!J.has(B))Z.push(B),J.add(B);return}let H=$.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(H){let B=H[1];if(!J.has(B))Z.push(B),J.add(B);return}let j=$.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(j){let B=j[1];if(!J.has(B))Z.push(B),J.add(B)}};while(Q<Y){if(q())continue;if($[Q]==="'"||$[Q]==='"'){G($[Q]);continue}if($[Q]==="`"){z();continue}if($[Q]==="{"){X++,Q++;continue}if($[Q]==="}"){X--,Q++;continue}if(X===0&&/[a-z]/i.test($[Q])&&(Q===0||/\s|[;{}()]/.test($[Q-1])))K();Q++}return Z}function Tz($){let Z=[],J=0,X=0,Q=null;for(let Y=0;Y<$.length;Y++){let G=$[Y];if(Q){if(G==="\\"){Y++;continue}if(G===Q)Q=null;continue}if(G==='"'||G==="'"||G==="`"){Q=G;continue}if(G==="("||G==="["||G==="{")J++;else if(G===")"||G==="]"||G==="}")J--;else if(G===","&&J===0)Z.push($.slice(X,Y)),X=Y+1}if(X<$.length)Z.push($.slice(X));return Z}function Ez($){let Z=0,J=null;for(let X=0;X<$.length;X++){let Q=$[X];if(J){if(Q==="\\"){X++;continue}if(Q===J)J=null;continue}if(Q==='"'||Q==="'"||Q==="`"){J=Q;continue}if(Q==="("||Q==="["||Q==="{")Z++;else if(Q===")"||Q==="]"||Q==="}")Z--;else if(Q==="="&&Z===0){let Y=$[X-1],G=$[X+1];if(Y==="!"||Y==="<"||Y===">"||Y==="=")continue;if(G==="="||G===">")continue;return X}}return-1}function bz($,Z){try{let J=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec($);if(!J)return;let X=J.index-1;while(X>=0&&/\s/.test($[X]))X--;if($[X]!=="}")return;let Q=X,Y=0,G=-1;for(;X>=0;X--){let q=$[X];if(q==="}")Y++;else if(q==="{"){if(Y--,Y===0){G=X;break}}}if(G===-1)return;let z=$.slice(G+1,Q);for(let q of Tz(z)){let K=q.trim();if(!K||K.startsWith("..."))continue;let W=Ez(K);if(W===-1)continue;let U=K.slice(0,W).trim();if(!/^[A-Z_$][\w$]*$/i.test(U))continue;if(Z[U]!==void 0)continue;let H=K.slice(W+1).trim();if(!H)continue;try{let j=Object.keys(Z).filter(Z2),B=Function(...j,`"use strict"; return (${H});`);Z[U]=B(...j.map((V)=>Z[V]))}catch{}}}catch{}}async function B9($,Z,J,X,Q){let Y=$.endsWith(".stx")?$.slice(0,-4):$,G=(L)=>L.split("-").map((O)=>O.charAt(0).toUpperCase()+O.slice(1)).join(""),z=(L)=>L.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),q=J.__importedComponents;if(q){for(let L of[Y,Y.toLowerCase(),G(Y),z(Y)])if(q.has(L))return!0}let K=[...new Set([`${Y}.stx`,`${G(Y)}.stx`,`${z(Y)}.stx`])],W=typeof Q.root==="string"?x.resolve(Q.root):void 0,U=W??x.dirname(X),H=[],j=(L)=>{if(L&&!H.includes(L))H.push(L)},B=J.__originalFilePath;if(B)j(x.join(x.dirname(B),"components"));if(j(Z),j(Q._rootComponentsDir),j(x.join(x.dirname(X),"components")),j(Q.componentsDir),W)j(x.resolve(W,"resources/views/components")),j(x.resolve(W,"resources/components")),j(x.resolve(W,"src/components")),j(x.resolve(W,"components"));for(let L of Q._layerComponentDirs??[])j(L);let V=Q._pluginComponentDirs;if(Array.isArray(V))for(let L of V)j(typeof L==="string"?L:null);if(j(Q.fallbackComponentsDir),Y.startsWith("./")||Y.startsWith("../"))return e(x.resolve(x.dirname(X),`${Y}.stx`));let F=ZZ(x.resolve(import.meta.dir,"components"));for(let L of H){let O=x.isAbsolute(L)?L:x.resolve(U,L);if(ZZ(O)===F)continue;for(let _ of K)if(await e(x.join(O,_)))return!0}return!1}function ZZ($){try{return QZ.realpathSync($)}catch{return $}}function yz($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}function Cz($){if(!$)return!1;let Z=$.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"");return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(Z)}function Sz($){let Z=new Set,J=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal|useModel|useReactiveProp|useLocalStorage|useSessionStorage|useCookie|useDebouncedValue)\s*(?:<[^>]*>)?\s*\(/g;for(let X of $){let Q;while((Q=J.exec(X))!==null)Z.add(Q[1]);J.lastIndex=0}return[...Z]}async function D1($,Z,J,X,Q,Y,G,z=new Set,q){let{extractVariables:K}=await a("stx/variable-extractor",()=>import("./chunk-g5v7gw13.js")),W=z??new Set;if(W.has($))return`[Circular component reference: ${$}]`;let U=new Set(W);U.add($);let H=typeof Z.client==="string"?Z.client.trim():"";if("client"in Z)delete Z.client;let j=H&&H!=="load"&&yz(H)?H:"";try{let B=(d)=>d.split("-").map((m)=>m.charAt(0).toUpperCase()+m.slice(1)).join(""),V=(d)=>d.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),F=$.endsWith(".stx")?$.slice(0,-4):$,L=null,O=Q.__importedComponents;if(O){let d=[F,F.toLowerCase(),B(F),V(F)];for(let m of d)if(O.has(m)){L=O.get(m);break}}let _=[];if(!L){let d=[`${F}.stx`,`${B(F)}.stx`,`${V(F)}.stx`],m=[...new Set(d)],K0=Q.__originalFilePath,r=[];if(r.push(...G._layerComponentDirs??[]),K0){let A0=x.join(x.dirname(K0),"components");r.push(A0)}if(X)r.push(X);let F0=G._rootComponentsDir;if(typeof F0==="string"&&!r.includes(F0))r.push(F0);let D0=x.join(x.dirname(Y),"components");if(!r.includes(D0))r.push(D0);if(G.componentsDir&&G.componentsDir!==X&&!r.includes(G.componentsDir))r.push(G.componentsDir);let P0=typeof G.root==="string"?x.resolve(G.root):void 0,c0=P0??x.dirname(Y),C0=[];if(P0)C0.push(x.resolve(P0,"resources/views/components")),C0.push(x.resolve(P0,"resources/components")),C0.push(x.resolve(P0,"src/components")),C0.push(x.resolve(P0,"components"));C0.push(x.resolve(import.meta.dir,"components"));for(let A0 of C0)if(!r.includes(A0))r.push(A0);let J1=G._pluginComponentDirs;if(Array.isArray(J1)){for(let A0 of J1)if(typeof A0==="string"&&!r.includes(A0))r.push(A0)}if(G.fallbackComponentsDir&&!r.includes(G.fallbackComponentsDir))r.push(G.fallbackComponentsDir);let t=[...new Set(r.map((A0)=>{if(!A0)return A0;return x.isAbsolute(A0)?A0:x.resolve(c0,A0)}))];r.length=0,r.push(...t);let a0=`${F}\x00${Y}\x00${t.join("\x00")}`,P2=v9.get(a0);if(P2)if(await e(P2))L=P2;else v9.delete(a0);if(!L&&(F.startsWith("./")||F.startsWith("../")))L=x.resolve(x.dirname(Y),`${F}.stx`),_.push(L);else if(!L)for(let A0 of r){if(!A0)continue;for(let v2 of m){let f2=x.join(A0,v2);if(_.push(f2),await e(f2)){L=f2;break}}if(L)break;if(!L)try{let v2=await import("fs");if(!v2.statSync(A0,{throwIfNoEntry:!1})?.isDirectory())continue;let LZ=8,x9=[{path:A0,depth:0}];while(x9.length>0&&!L){let x2=x9.pop();if(x2.depth>=LZ)continue;let n$;try{n$=v2.readdirSync(x2.path,{withFileTypes:!0})}catch{continue}for(let g2 of n$){if(!g2.isDirectory())continue;if(g2.name==="node_modules"||g2.name.startsWith("."))continue;let s$=x.join(x2.path,g2.name);for(let OZ of m){let g9=x.join(s$,OZ);if(_.push(g9),await e(g9)){L=g9;break}}if(L)break;x9.push({path:s$,depth:x2.depth+1})}}}catch{}if(L)break}if(L)v9.set(a0,L)}if(!L||!await e(L)){let d=_.length>0?`
3619
+ Searched paths:
3620
+ ${_.map((m)=>` - ${m}`).join(`
3621
+ `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${d}`}q.add(L);let w;if(y2.has(L))w=y2.get(L);else try{w=await Bun.file(L).text(),y2.set(L,w)}catch(d){return`[Error loading component: ${d instanceof Error?d.message:String(d)}]`}let R=new Set(["__originalFilePath","__importedComponents",h2,"__stx_client_signal_names","__stx_runtime_config","__stxServeContext","__stx_scope_seq"]),N={};for(let[d,m]of Object.entries(Q))if(!d.startsWith("__")||R.has(d))N[d]=m;let A=J;if(J.includes("@include")){let{processIncludes:d}=await a("stx/includes",()=>import("./chunk-8x78ed8t.js"));A=await d(J,Q,Y,G,q)}let k=n0(A),D=[],I=k.output.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(d,m)=>{let K0=k.scripts[Number(m)]||"",r=K0.match(/^<script\b([^>]*)>/i)?.[1]||"",F0=r.match(/\btype\s*=\s*["']([^"']+)["']/i)?.[1]?.toLowerCase(),D0=!F0||["module","text/javascript","application/javascript"].includes(F0);if(!/\bserver\b/i.test(r)&&D0)return D.push(K0),"";return K0}),{extractSlotContent:T}=await a("stx/slots",()=>import("./chunk-25m79xdw.js")),M=T(I),E={};if(M.defaultSlot?.trim())E.default=M.defaultSlot;for(let[d,m]of M.namedSlots)E[d]=m.content;let C=Q.__stx_scope_seq??={n:0,key:Bun.hash(String(Q.__filename??Y)).toString(36).slice(0,6)},y=`stx_${F.replace(/[^a-zA-Z0-9]/g,"_")}_${++C.n}_${C.key}`,b={...N,$uid:y,...Z,props:Z,slot:I,$slots:E,__processedComponents:U,__sections:{},__stx_signals_gate:X1(w)||Cz(J)};bz(w,b);let P=w,g=z9(P);if(g)P=g.content.trim();let c=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,l=[...w.matchAll(c)],h=[],s=l.some((d)=>/\bserver\b/.test(d[1]||"")&&/\bcache\b/.test(d[1]||"")),u=null,z0=null,d0=null,x0=0,m0=null;if(Dz(G),s&&l$>0){let d=Az({props:Z,slot:J,buildMode:G.buildMode??"",skipEventDirectives:G.skipEventDirectives===!0,layers:G._layerGraph?.layers.map((m)=>m.configFile),uid:y});if(d!==null){u=`${L}\x00${H1(w)}\x00${d}`;let m=f9.get(u);if(m){for(let K0 of m.dependencies)q.add(K0);if(z3(Q,m.clientFactories),C.n+=m.uidsConsumed,m.preservedClientExpressions.length>0){let K0=new Set(Array.isArray(Q.__stx_preserved_client_expressions)?Q.__stx_preserved_client_expressions:[]);for(let r of m.preservedClientExpressions)K0.add(r);Q.__stx_preserved_client_expressions=[...K0]}return m.output}z0=new Set(q),d0=Q3(Q),x0=C.n,m0=new Set(Array.isArray(Q.__stx_preserved_client_expressions)?Q.__stx_preserved_client_expressions:[])}}for(let d of l){let m=d[1]||"",K0=d[2]||"",r=m.includes("server");if(A1(m)&&K0.trim())K0=M1(K0);if(r&&K0)try{await K(K0,b,L)}catch(D0){}if(!r){let D0=K0.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),P0=D0.includes("{{")&&D0.includes("}}"),c0=D0.includes("{!!")&&D0.includes("!!}");if(P0||c0)D0=p9(D0,b);let C0=m.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");h.push(`<script${C0}>${D0}</script>`)}}let J0=w.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),j0=J0?J0[1]:"",p=J0?J0[2]:"",i="",U0=j0&&/\bscoped\b/i.test(j0);if(J0)i=`<style${j0}>${p}</style>`;let Y0=P;if(Y0=Y0.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),J0)Y0=Y0.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let d=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,m=[];if(Y0=Y0.replace(d,(K0,r)=>{let F0=r.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(F0)m.push(`<style${F0[1]}>${F0[2]}</style>`);return""}),Y0=Y0.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),m.length>0)i=`${i}${m.join(`
3622
+ `)}`}if(J&&Y0.includes("{{ text || slot }}"))Y0=Y0.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>J);let{applySlots:O0}=await a("stx/slots",()=>import("./chunk-25m79xdw.js")),{defaultSlot:E0,namedSlots:j1}=M,J2=h.some((d)=>/\b(?:state|derived|effect|ref|useRef|reactive|computed|watch|watchEffect|useModel|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(d)),S2=(d)=>J2?U8(d,y):d,S=new Map([...j1].map(([d,m])=>[d,{...m,content:S2(m.content)}]));Y0=await O0(Y0,S2(E0),S,b);let v=Sz(h),o=Array.isArray(b.__stx_client_signal_names)?b.__stx_client_signal_names:[];if(v.length>0||o.length>0)b.__stx_client_signal_names=[...new Set([...o,...v])];let X0={...G,_rootComponentsDir:G._rootComponentsDir||G.componentsDir,componentsDir:x.dirname(L),skipSignalsRuntime:!0,skipEventDirectives:J2||h.length===0,defaultLayout:void 0};b.__stxProcessingDepth=(Q.__stxProcessingDepth||0)+1;let W0=await h$(Y0,b,L,X0,q),N0=new Set(Array.isArray(Q.__stx_preserved_client_expressions)?Q.__stx_preserved_client_expressions:[]);for(let d of W0.matchAll(/\{\{([\s\S]*?)\}\}/g))N0.add(d[1].trim());if(N0.size>0)Q.__stx_preserved_client_expressions=[...N0];let l0=y,S0=W0;if(J2){let d="";if(Object.keys(Z).length>0)try{d=` data-stx-props="${e8(JSON.stringify(Z))}"`}catch{}let m=j?` stx-hydrate="${e8(j)}"`:"";S0=`<div data-stx-scope="${l0}"${d}${m}>${W0}</div>`;let K0=await Promise.all(h.map(async(r)=>{let F0=r.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!F0)return r;let[,D0,P0]=F0,{vendorStyleTags:c0,factoryBody:C0}=await fz(P0,L,G.buildMode==="compile"),J1=j?null:d9(Q,C0),t=J1?`window.__stxComponentFactories[${JSON.stringify(J1)}](${JSON.stringify(l0)});`:`(${C0})(${JSON.stringify(l0)});`;if(j)return`${c0}<script type="stx/island" data-stx-island="${l0}" data-stx-scoped data-stx-owner="${l0}"${D0}>${t}</script>`;return`${c0}<script data-stx-scoped data-stx-run="always" data-stx-owner="${l0}"${D0}>${t}</script>`}));if(S0=S0+`
3623
+ `+K0.join(`
3624
+ `),i)S0+=`
3625
+ `+i}else{if(i)S0+=`
3626
+ `+i;if(h.length>0){let d=b.__stx_event_bindings||[],m=b9(b),K0=await Promise.all(h.map(async(r)=>{let F0=r.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!F0)return r;return await y9(F0[1],{eventBindings:d,templateContent:S0,filePath:L,projectRoot:process.cwd(),serverData:m,instanceId:y})}));S0+=`
3627
+ `+K0.join(`
3628
+ `),b.__stx_event_bindings=[]}}if(U0){let d=C9(S0,L);if(d.hasScoped)S0=d.html}if(u&&z0){let d=Array.isArray(Q.__stx_preserved_client_expressions)?Q.__stx_preserved_client_expressions:[];f9.set(u,{output:S0,dependencies:[...q].filter((m)=>!z0.has(m)),clientFactories:d0?G3(Q,d0):[],uidsConsumed:C.n-x0,preservedClientExpressions:m0?d.filter((m)=>!m0.has(m)):[]})}return D.length>0?`${S0}
3629
+ ${D.join(`
3630
+ `)}`:S0}catch(B){return`[Error processing component: ${B instanceof Error?B.message:String(B)}]`}finally{W.delete($)}}async function e($){return Bun.file($).exists()}function c$($,Z){let J=x.resolve(Z),X=x.resolve($),Q=J.endsWith(x.sep)?J:J+x.sep;if(X===J||X.startsWith(Q))return X;return null}async function Pz($,Z,J,X){let Q=Z.startsWith("layouts/")?Z.slice(8):Z,Y=x.join($,Q);for(let G of Y.endsWith(".stx")?[Y]:[Y,`${Y}.stx`])if(await e(G)){if(X)console.log(`Found layout in ${$}: ${G}`);return J?.add(G),G}return null}async function a2($,Z,J,X){let Q=await vz($,Z,J,X);if(Q===null)return null;let Y=c$(Q,process.cwd());if(Y)return Y;let G=[J.root,J.layoutsDir,J.fallbackLayoutsDir,J.componentsDir,J.partialsDir,J.pagesDir,...J._layerLayoutDirs??[]].filter((z)=>typeof z==="string"&&z.length>0);for(let z of G){let q=x.isAbsolute(z)?z:x.resolve(process.cwd(),z);if(c$(Q,q))return x.resolve(Q)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${Q} (template: ${$}, from: ${Z})`),null}async function vz($,Z,J,X){if(J.debug)console.log(`Resolving template path: ${$} from ${Z}`);let Q=x.dirname(Z),Y=process.cwd();if($.startsWith("/")){let H=x.join(Y,$),j=c$(H,Y);if(!j)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${Z})`),null;if(J.debug)console.log(`Checking absolute path: ${j}`);if(await e(j)&&X)X.add(j);return j}let G=x.join(Q,$);if(await e(G)){if(J.debug)console.log(`Found direct path: ${G}`);if(X)X.add(G);return G}if(!$.endsWith(".stx")&&!$.endsWith(".jsx")&&!$.endsWith(".tsx"))for(let H of[".stx",".tsx",".jsx"]){let j=`${G}${H}`;if(await e(j)){if(J.debug)console.log(`Found direct path with extension: ${j}`);if(X)X.add(j);return j}}let z=[];if(z.push(...J._layerLayoutDirs??[]),J.layoutsDir)z.push(x.isAbsolute(J.layoutsDir)?J.layoutsDir:x.resolve(process.cwd(),J.layoutsDir));let q=x.resolve(Q),K=process.cwd();for(let H=0;H<10;H++){let j=x.join(q,"layouts"),B=!1;try{B=QZ.statSync(j,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(B){z.push(j);break}let V=x.dirname(q);if(V===q||V.length<K.length)break;q=V}for(let H of z){let j=await Pz(H,$,X,J.debug);if(j)return j}if(J.fallbackLayoutsDir){let H=x.isAbsolute(J.fallbackLayoutsDir)?J.fallbackLayoutsDir:x.resolve(process.cwd(),J.fallbackLayoutsDir),j=$.startsWith("layouts/")?$.slice(8):$,B=[x.join(H,j)];if(!$.endsWith(".stx"))B.push(`${B[0]}.stx`);for(let V of B)if(await e(V)){if(J.debug)console.log(`Found in options.fallbackLayoutsDir: ${V}`);if(X)X.add(V);return V}}if($.startsWith("layouts/")||$.includes("/layouts/")){let H=$.split("layouts/"),j=x.join(J.partialsDir||Q,"layouts",H[1]);if(await e(j)){if(J.debug)console.log(`Found in layouts path: ${j}`);if(X)X.add(j);return j}if(!j.endsWith(".stx")){let B=`${j}.stx`;if(await e(B)){if(J.debug)console.log(`Found in layouts path with extension: ${B}`);if(X)X.add(B);return B}}}if(J.partialsDir){let H=x.join(J.partialsDir,"layouts");if(await e(H)){let j=x.join(H,$);if(await e(j)){if(J.debug)console.log(`Found in partials layouts dir: ${j}`);if(X)X.add(j);return j}if(!$.endsWith(".stx")){let B=`${j}.stx`;if(await e(B)){if(J.debug)console.log(`Found in partials layouts dir with extension: ${B}`);if(X)X.add(B);return B}}}}let W=J.partialsDir||x.join(process.cwd(),"views"),U=x.join(W,$);if(await e(U)){if(J.debug)console.log(`Found in views path: ${U}`);if(X)X.add(U);return U}if(!$.endsWith(".stx")){let H=`${U}.stx`;if(await e(H)){if(J.debug)console.log(`Found in views path with extension: ${H}`);if(X)X.add(H);return H}}if(Q.includes("temp")){let H=x.join(x.dirname(Q),"layouts",$);if(await e(H)){if(J.debug)console.log(`Found in temp layouts dir: ${H}`);if(X)X.add(H);return H}if(!$.endsWith(".stx")){let j=`${H}.stx`;if(await e(j)){if(J.debug)console.log(`Found in temp layouts dir with extension: ${j}`);if(X)X.add(j);return j}}}if(J.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 zZ($,Z,J){let X=0,Q="",Y="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
3631
+ `),z=0;for(let q=0;q<G.length;q++)if(z+=G[q].length+1,z>=Z){X=q+1,Q=G[q].trim();let K=Math.max(0,q-2),W=Math.min(G.length,q+3);Y=G.slice(K,W).map((U,H)=>{let j=K+H+1;return`${j===X?"> ":" "}${j}: ${U}`}).join(`
3632
+ `);break}}else if(J){let G=$.indexOf(J);if(G>=0)return zZ($,G)}}catch{}return{lineNumber:X,lineContent:Q,context:Y}}var $0={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",yellow:"\x1B[33m",blue:"\x1B[34m",cyan:"\x1B[36m",gray:"\x1B[90m",bgRed:"\x1B[41m",bgYellow:"\x1B[43m"};function _0($,Z,J,X,Q,Y){let{lineNumber:G,context:z}=zZ(X,Q,Y),q=J.split("/").pop(),K=0;if(typeof Q==="number"&&Q>=0&&X){let U=X.lastIndexOf(`
3633
+ `,Math.max(0,Q-1));K=Q-(U+1)+1}let W="";if(G>0)W+=`
3634
+ ${J}:${G}${K>0?`:${K}`:""}: ${$.toLowerCase()} error: ${Z}
3635
+ `;if(W+=`
3636
+ ${$0.bold}${$0.red}\u256D\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256E${$0.reset}
3637
+ `,W+=`${$0.bold}${$0.red}\u2502${$0.reset} ${$0.bold}${$0.bgRed} ERROR ${$0.reset} ${$0.red}${$} Error${$0.reset}${" ".repeat(Math.max(0,43-$.length))}${$0.bold}${$0.red}\u2502${$0.reset}
3638
+ `,W+=`${$0.bold}${$0.red}\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F${$0.reset}
3639
+ `,W+=`
3640
+ ${$0.cyan}${$0.bold}File:${$0.reset} ${$0.dim}${q}${$0.reset}`,G>0)W+=` ${$0.gray}(line ${G}${K>0?`, col ${K}`:""})${$0.reset}`;if(W+=`
3641
+ ${$0.yellow}${$0.bold}Message:${$0.reset} ${Z}
3642
+ `,z)W+=`
3643
+ ${$0.blue}${$0.bold}Context:${$0.reset}
3644
+ ${$0.dim}${z}${$0.reset}
3645
+ `;return W}function ZL(){y2.clear(),v9.clear(),f9.clear()}function JL(){return{size:y2.size,maxSize:500}}var m$=T1(128);async function fz($,Z,J){let X=H1($,Z,J),Q=m$.get(X);if(Q){if(YZ(Q.deps))return Q;m$.delete(X)}let Y=p$($,{filePath:Z,projectRoot:process.cwd()}),G=Y.code,z=i$(Y.styles);G=a1(G).code;let{hasUserImports:q,bundleClientScript:K}=await a("stx/client-script-bundler",()=>import("./chunk-qqvwfhd5.js")),W=[],U=!1;if(q(G)){let L=G;G=await K(L,Z,{projectRoot:process.cwd(),minify:J,collectInputs:W}),U=G===L}let{stripStxRuntimeImports:H}=await a("stx/signal-processing",()=>import("./chunk-fh33afkv.js"));G=H(G);let j=$1(G),B=kz(j),V=`function(__scopeId) {
3646
+ ${p1("const",[...JZ,...B],j)}
3647
+ const __scope = window.stx._scopes = window.stx._scopes || {};
3648
+ const __scopeVars = __scope[__scopeId] = __scope[__scopeId] || {};
3649
+ __scopeVars.$refs = __scopeVars.$refs || {};
3650
+ const __previousCurrentElement = window.__STX_CURRENT_ELEMENT__;
3651
+ window.__STX_CURRENT_ELEMENT__ = document.querySelector('[data-stx-scope="' + __scopeId + '"]');
3652
+
3653
+ // Scope-specific lifecycle callbacks
3654
+ __scopeVars.__mountCallbacks = __scopeVars.__mountCallbacks || [];
3655
+ __scopeVars.__destroyCallbacks = __scopeVars.__destroyCallbacks || [];
3656
+ const onMount = (fn) => __scopeVars.__mountCallbacks.push(fn);
3657
+ const onDestroy = (fn) => __scopeVars.__destroyCallbacks.push(fn);
3658
+
3659
+ try {
3660
+ ${j}
3661
+
3662
+ // Register all defined signals and functions in this scope
3663
+ const __localVars = {};
3664
+ try {
3665
+ ${B.map((L)=>`if (typeof ${L} !== 'undefined') __localVars['${L}'] = ${L};`).join(`
3666
+ `)}
3667
+ }
3668
+ catch (e) {}
3669
+ Object.assign(__scopeVars, __localVars);
3670
+ }
3671
+ finally {
3672
+ window.__STX_CURRENT_ELEMENT__ = __previousCurrentElement;
3673
+ }
3674
+ }`,F={vendorStyleTags:z,factoryBody:V,deps:XZ([...W,...Y.styles.map((L)=>L.resolvedPath)])};if(!U&&Y.unresolved.length===0)m$.set(X,F);return F}var xz=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;function gz($){if($.startsWith(".")||$.startsWith("/"))return null;if($.startsWith("@")){let J=$.match(/^(@[^/]+\/[^/]+)(\/.*)?$/);if(!J)return null;return{pkg:J[1],subpath:J[2]||""}}let Z=$.match(/^([^/]+)(\/.*)?$/);if(!Z)return null;return{pkg:Z[1],subpath:Z[2]||""}}function hz($,Z){let J=Z;while(!0){let X=b1.join(J,"node_modules",$,"package.json");if(C2.existsSync(X))return b1.dirname(X);let Q=b1.dirname(J);if(Q===J)return null;J=Q}}function uz($,Z){if(!$||typeof $!=="object")return null;let J=(Q)=>{if(typeof Q==="string")return Q;if(Q&&typeof Q==="object"){if(typeof Q.import==="string")return Q.import;if(typeof Q.default==="string")return Q.default;if(typeof Q.import==="object")return J(Q.import);if(typeof Q.default==="object")return J(Q.default)}return null};if(Object.prototype.hasOwnProperty.call($,Z))return J($[Z]);let X=null;for(let Q of Object.keys($)){let Y=Q.indexOf("*");if(Y===-1)continue;let G=Q.slice(0,Y),z=Q.slice(Y+1);if(!Z.startsWith(G)||!Z.endsWith(z))continue;if(Z.length<G.length+z.length)continue;if(!X||G.length>X.prefix.length)X={pattern:Q,prefix:G,suffix:z}}if(X){let Q=Z.slice(X.prefix.length,Z.length-X.suffix.length),Y=J($[X.pattern]);if(Y)return Y.replace("*",Q)}return null}function dz($,Z){let J=gz($);if(!J||!J.subpath)return null;let X=hz(J.pkg,Z);if(!X)return null;let Q;try{Q=JSON.parse(C2.readFileSync(b1.join(X,"package.json"),"utf8"))}catch{return null}let Y=`.${J.subpath}`,G=uz(Q.exports,Y);if(!G)return null;let z=b1.resolve(X,G);return C2.existsSync(z)?z:null}function p$($,Z){let J=Z.filePath?b1.dirname(Z.filePath):Z.projectRoot||process.cwd(),X=Z.projectRoot||process.cwd(),Q=new Set,Y=[],G=[];return{code:$.replace(xz,(q,K)=>{let W;try{if(K.startsWith("./")||K.startsWith("../")||K.startsWith("/")){if(W=K.startsWith("/")?K:b1.resolve(J,K),!C2.existsSync(W))throw Error(`file not found: ${W}`)}else{let U=null;try{U=Bun.resolveSync(K,X)}catch{U=dz(K,X)}if(!U)throw Error(`could not resolve ${K} (Bun.resolveSync + exports fallback both failed)`);W=U}}catch(U){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(K)} (from ${Z.filePath||"<unknown>"}): ${U?.message||U}`),G.push(K),""}if(Q.has(W))return"";Q.add(W);try{let U=C2.readFileSync(W,"utf8");Y.push({source:K,resolvedPath:W,contents:U})}catch(U){console.warn(`[stx:vendor-css] could not read ${W}: ${U?.message||U}`),G.push(K)}return""}),styles:Y,unresolved:G}}function mz($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function i$($){if($.length===0)return"";return`${$.map((Z)=>{return`<style data-stx-vendor="${mz(Z.source)}" data-stx-layer="vendor">
3675
+ @layer vendor {
3676
+ ${Z.contents}
3677
+ }
3678
+ </style>`}).join(`
3679
+ `)}
3680
+ `}var lz=UZ;function a1($){let Z=g0($),J=new Set;for(let z of $.matchAll(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm))for(let q of z[1].split(",")){let K=q.trim().split(/\s+as\s+/).pop()?.replace(/^type\s+/,"").trim();if(K)J.add(K)}let X=new Set;for(let z of Z.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))X.add(z[1]);for(let z of Z.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let q of z[1].split(",")){let K=q.trim().split(/[:=]/).pop()?.trim();if(K)X.add(K)}let Q=k2.filter((z)=>{if(J.has(z)||X.has(z))return!1;return new RegExp(`\\b${z}\\s*\\(`).test(Z)}),Y=BZ(Z).filter((z)=>!J.has(z)&&!X.has(z));if(Q.length===0&&Y.length===0)return{code:$,imports:Q,models:Y};return{code:`${[Q.length>0?`import { ${Q.join(", ")} } from '@stacksjs/browser'`:"",Y.length>0?"import '@stacksjs/browser'":"",Y.length>0?`const { ${Y.join(", ")} } = window.StacksBrowser || {}`:""].filter(Boolean).join(`
3681
+ `)}
3682
+ ${$}`,imports:Q,models:Y}}var cz=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"]);function BZ($){let Z=new Set,J=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,X;while((X=J.exec($))!==null)if(!cz.has(X[1]))Z.add(X[1]);return Array.from(Z)}function pz($){let Z=new Set;for(let J of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))Z.add(J[1]);for(let J of $.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let X of J[1].split(",")){let Q=X.trim().split(/[:=]/).pop()?.trim();if(Q&&/^[A-Za-z_$][\w$]*$/.test(Q))Z.add(Q)}return Z}function VZ($){let Z=new Set,J=new Set,X=$;X=X.replace(/^[ \t]*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"][ \t]*;?[ \t]*$/gm,"// [type import stripped]");let Q=new Set,Y=/^[ \t]*import\s+(?:type\s+)?{\s*([^}]+)\s*}\s+from\s+['"](@stacksjs\/browser|@stacksjs\/stx|stx)['"][ \t]*;?[ \t]*$/gm,G;while((G=Y.exec($))!==null){let U=G[1],H=G[2];if(G[0].includes("import type"))continue;let j=[];for(let V of U.split(",")){let F=V.trim();if(!F||F.startsWith("type "))continue;let L=F.match(/^([A-Za-z_$][\w$]*)(?:\s+as\s+([A-Za-z_$][\w$]*))?$/);if(!L)continue;let O=L[1],_=L[2]||O;if(Q.add(O),Q.add(_),H==="stx"||H==="@stacksjs/stx")Z.add(O);else J.add(O);if(_!==O)j.push(`${_} = ${O}`)}let B=j.length>0?`var ${j.join(", ")}; /* [auto-import processed] */`:"// [auto-import processed]";X=X.replace(G[0],B)}let z=pz(X);for(let U of lz){if(Q.has(U)||z.has(U))continue;if(new RegExp(`\\b${U}\\s*(?:<[^>]*>)?\\s*\\(`,"g").test(X))Z.add(U)}let q=g0(X),K=new Set;for(let U of X.matchAll(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm))for(let H of U[1].split(",")){let j=H.trim().replace(/^type\s+/,"").split(/\s+as\s+/);for(let B of j){let V=B.trim();if(V)K.add(V)}}for(let U of k2){if(Q.has(U)||z.has(U)||K.has(U))continue;if(new RegExp(`\\b${U}\\b`,"g").test(q))J.add(U)}let W=BZ(X);for(let U of W)if(!Q.has(U)&&!z.has(U))J.add(U);return{code:X,stxImports:Array.from(Z),browserImports:Array.from(J)}}function _Z($,Z){let J=[];if($.length>0)J.push(` var { ${$.join(", ")} } = window.stx || window;`);if(Z.length>0)J.push(` var { ${Z.join(", ")} } = window.StacksBrowser || {};`);if(J.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
3683
+ ${J.join(`
3684
+ `)}
3685
+ ${iz($,Z)}`;return""}function OL($,Z=[]){let{browserImports:J}=VZ($),X=new Set(Z);return _Z([],J.filter((Q)=>!X.has(Q)))}function iz($,Z){let J=[...$.map((X)=>`['${X}', typeof ${X}, 'stx']`),...Z.map((X)=>`['${X}', typeof ${X}, '@stacksjs/browser']`)];if(J.length===0)return"";return` // STX: report auto-imports the client runtime did not provide
3686
+ [${J.join(", ")}].forEach(function (e) {
3687
+ if (e[1] !== 'undefined') return;
3688
+ console.error(
3689
+ '[stx] "' + e[0] + '" is used in this client script and auto-imported from ' + e[2] + ', '
3690
+ + 'but the client runtime does not provide it. Either it is not exported to the browser, '
3691
+ + 'or it should be imported from a relative path so the bundler includes it.'
3692
+ );
3693
+ });
3694
+ `}function b9($){let Z=$.__stxClientPayload;if(Z&&typeof Z==="object"){let X={};for(let Q in Z){let Y=Z[Q];if(typeof Y==="function")continue;X[Q]=Y}return X.__stxDeclaredPayload=!0,X}let J={};for(let X in $){if(X.startsWith("__")||X.startsWith("$"))continue;let Q=$[X];if(typeof Q==="function")continue;J[X]=Q}return J}function qZ($,Z){let J=new Set;for(let X of $.split(",")){let Q=X.trim().replace(/^\.\.\./,"").trim();if(!Q)continue;if(Z){let Y=Q.lastIndexOf(":");if(Y!==-1)Q=Q.slice(Y+1).trim()}if(Q=Q.split("=")[0].trim(),/^[A-Za-z_$][\w$]*$/.test(Q))J.add(Q)}return J}function nz($,Z){let J=g0($),{depths:X,balanced:Q}=jZ(J),Y=(z)=>!Q||X[z]===0,G=new RegExp(`(?:^|[^\\w$.])((?:const|let|var|function|class)\\s+${Z}\\b)`,"g");for(let z of J.matchAll(G)){let q=(z.index??0)+z[0].length-z[1].length;if(Y(q))return!0}for(let z of J.matchAll(/(?:const|let|var)\s*\{([^}]*)\}/g))if(Y(z.index??0)&&qZ(z[1],!0).has(Z))return!0;for(let z of J.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(Y(z.index??0)&&qZ(z[1],!1).has(Z))return!0;return!1}function sz($,Z){return new RegExp(`(?<![.#\\w$])${Z}(?![\\w$])`).test($)}var oz=/token|secret|passw|apikey|api_key|privatekey|private_key|credential|webhook|bearer|jwt|signature/i,KZ=new Set;function rz($,Z){let J=oz.test($),X=Z.length>32768;if(!J&&!X)return;if(KZ.has($))return;if(KZ.add($),J)console.warn(`[stx] server\u2192client bridge is publishing "${$}" into the page body. If it holds a credential, rename it with a "__" prefix (never bridged) and pass only what the template needs. See stacksjs/stx#1831.`);if(X)console.warn(`[stx] server\u2192client bridge is publishing ${(Z.length/1024).toFixed(1)}KB under "${$}". Every byte ships in the HTML on each request; prefix the binding with "__" and project just the fields the client reads.`)}function E$($,Z){if(!Z)return"";let J=g0($),X=Z.__stxDeclaredPayload===!0,Q=[];for(let[Y,G]of Object.entries(Z)){if(!/^[A-Za-z_$][\w$]*$/.test(Y))continue;if(Y.startsWith("__")||Y.startsWith("$"))continue;if(!X&&!sz(J,Y))continue;if(nz($,Y)){if(X)console.warn(`[stx] defineClientPayload declares "${Y}", but this client block also declares "${Y}" at the top level, so the server value is not published (emitting it would be a duplicate binding). Rename the local, or drop "${Y}" from defineClientPayload.`);continue}let z;try{z=JSON.stringify(G)}catch{continue}if(z===void 0)continue;rz(Y,z),Q.push(` var ${Y} = ${z.replace(/</g,"\\u003c")};`)}if(Q.length===0)return"";return` // stx: server -> client data bridge (seeded from server scope)
3695
+ ${Q.join(`
3696
+ `)}
3697
+ `}var az={left:0,middle:1,right:2};function tz($){let Z=[];if($.self)Z.push("if ($event.target !== $el) return");for(let J of $.systemKeys)Z.push(`if (!$event.${J}Key) return`);if($.keys.length>0){let J=$.keys.map((X)=>`$event.key === '${X}'`).join(" || ");Z.push(`if (!(${J})) return`)}if($.mouse!==null){let J=az[$.mouse];Z.push(`if ($event.button !== ${J}) return`)}if($.prevent)Z.push("$event.preventDefault()");if($.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function ez($,Z){let{elementId:J,event:X,modifiers:Q}=$,Y=h9($.handler),G=tz(Q),z=[];if(Q.once)z.push("once: true");if(Q.capture)z.push("capture: true");if(Q.passive)z.push("passive: true");let q=z.length>0?`, { ${z.join(", ")} }`:"",K="";if(G)K+=`${G}; `;let W=Y.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),U=`var $emit = function(name, detail) {
3698
+ $el.dispatchEvent(new CustomEvent(name, { detail: detail, bubbles: true, cancelable: true }))
3699
+ };`;function H(j){if(/\$emit\s*\(/.test(j))return`${U}
3700
+ ${j}`;return`var scope = $el.closest('[data-stx-scope]');
3701
+ if (scope && scope.__stx_execute) {
3702
+ scope.__stx_execute('${W}', $event, $el);
3703
+ }
3704
+ else {
3705
+ ${j}
3706
+ }`}if(Q.debounce!==null)return` ;(function() {
3707
+ // eslint-disable-next-line pickier/no-unused-vars
3708
+ var $el = document.getElementById('${J}')
3709
+ if (!$el) return
3710
+ var __timer
3711
+ $el.addEventListener('${X}', function($event) {
3712
+ ${G?G+"; ":""}clearTimeout(__timer)
3713
+ __timer = setTimeout(function() { ${H(Y)} }, ${Q.debounce})
3714
+ }${q})
3715
+ })()`;if(Q.throttle!==null)return` ;(function() {
3716
+ // eslint-disable-next-line pickier/no-unused-vars
3717
+ var $el = document.getElementById('${J}')
3718
+ if (!$el) return
3719
+ var __last = 0
3720
+ $el.addEventListener('${X}', function($event) {
3721
+ ${G?G+"; ":""}var __now = Date.now()
3722
+ if (__now - __last >= ${Q.throttle}) {
3723
+ __last = __now
3724
+ ${H(Y)}
3725
+ }
3726
+ }${q})
3727
+ })()`;if(/\$emit\s*\(/.test(Y))return` var $el = document.getElementById('${J}')
3728
+ if ($el) $el.addEventListener('${X}', function($event) {
3729
+ ${K}${U}
3730
+ ${Y}
3731
+ }${q})`;return` var $el = document.getElementById('${J}')
3732
+ if ($el) $el.addEventListener('${X}', function($event) {
3733
+ ${K}var scope = $el.closest('[data-stx-scope]');
3734
+ if (scope && scope.__stx_execute) {
3735
+ scope.__stx_execute('${W}', $event, $el);
3736
+ }
3737
+ else {
3738
+ ${Y}
3739
+ }
3740
+ }${q})`}function $q($){if($.length===0)return"";return`
3741
+ // STX: auto-generated event bindings
3742
+ ${$.map((J,X)=>ez(J,X)).join(`
3743
+ `)}`}function WZ($){let Z=[],J=new Set,X=$.replace(/^\s*import\s+.*$/gm,""),Q=0,Y=X.length,G=0;while(G<Y){let z=X[G];if(z==="'"||z==='"'||z==="`"){let q=z;if(G++,q==="`"){let K=0;while(G<Y){if(X[G]==="\\"){G+=2;continue}if(X[G]==="`"&&K===0){G++;break}if(X[G]==="$"&&X[G+1]==="{"){K++,G+=2;continue}if(X[G]==="}"&&K>0){K--,G++;continue}G++}}else while(G<Y){if(X[G]==="\\"){G+=2;continue}if(X[G]===q){G++;break}G++}continue}if(z==="/"&&X[G+1]==="/"){while(G<Y&&X[G]!==`
3744
+ `)G++;continue}if(z==="/"&&X[G+1]==="*"){G+=2;while(G<Y-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;G+=2;continue}if(z==="{"){Q++,G++;continue}if(z==="}"){Q--,G++;continue}if(Q===0){let q=X.slice(G),K=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(K){let H=K[1];if(!H.startsWith("_")&&!J.has(H))Z.push(H),J.add(H);G+=K[0].length;continue}let W=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(W){W[1].split(",").forEach((H)=>{let j=H.trim(),B=j.indexOf(":"),V=B>=0?j.slice(B+1).trim().split(/[\s=]/)[0]:j.split(/[\s=]/)[0];if(V&&!V.startsWith("_")&&!J.has(V))Z.push(V),J.add(V)}),G+=W[0].length;continue}let U=q.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(U){let H=U[1];if(!H.startsWith("_")&&!J.has(H))Z.push(H),J.add(H);G+=U[0].length;continue}}G++}return Z}var Zq=new Set(["if","else","true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","switch","case","break","continue","for","while","do","try","catch","finally","const","let","var","function","class","import","export","default","async","await","yield","with","debugger","console","window","document","Math","JSON","Date","Array","Object","String","Number","Boolean","Symbol","Map","Set","Promise","Error","parseInt","parseFloat","isNaN","isFinite","encodeURIComponent","decodeURIComponent","setTimeout","setInterval","clearTimeout","clearInterval","fetch","alert","confirm","prompt","event"]);function Jq($){let Z=new Set,J=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function X(H){let j;while((j=J.exec(H))!==null){let B=j[0];if(!Zq.has(B))Z.add(B)}}let Q=/\{\{([\s\S]*?)\}\}/g,Y;while((Y=Q.exec($))!==null)X(Y[1]);let G=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((Y=G.exec($))!==null)X(Y[1]);let z=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((Y=z.exec($))!==null)X(Y[1]);let q=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((Y=q.exec($))!==null)X(Y[1]);let K=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((Y=K.exec($))!==null)X(Y[1]);let W=/@model\s*=\s*["']([^"']*)["']/gi;while((Y=W.exec($))!==null)X(Y[1]);let U=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((Y=U.exec($))!==null)X(Y[1]);return Z}async function y9($,Z={}){let J=$,X="",Q=!1,Y=[],G=p$(J,{filePath:Z.filePath,projectRoot:Z.projectRoot});J=G.code;let z=i$(G.styles),q=a1(J);J=q.code,Y=[...q.imports,...q.models];let{hasUserImports:K,bundleClientScript:W}=await a("stx/client-script-bundler",()=>import("./chunk-qqvwfhd5.js"));if(K(J))J=await W(J,Z.filePath||"",{projectRoot:Z.projectRoot,minify:Z.production}),Q=!0;if(Z.autoImports!==!1){let _=VZ(J);J=_.code,X=_Z(_.stxImports,_.browserImports.filter((w)=>!Y.includes(w)))}if(X=`${E$(J,Z.serverData)}${X}`,J=$1(J),!Q&&A1(Z.attrs||""))J=M1(J);let U=$q(Z.eventBindings||[]),H=(Z.attrs||"").trim(),j=/\btype\s*=\s*["']module["']/i.test(H),B=Z.instanceId?` data-stx-instance="${Z.instanceId}"`:"";if(j){let _=H.replace(/\btype\s*=\s*["']module["']/i,"").trim(),w=`type="module" data-stx-scoped${B}${_?` ${_}`:""}`;return`${z}<script ${w}>
3745
+ ${r1(`${X}${J}
3746
+ ${U}`)}
3747
+ </script>`}let V=HZ($),F=/function __stx_setup_/.test(J),L=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test($);function O(_){let w=_.length>0?`
3748
+ return { ${_.join(", ")} };`:"";return`${z}<script data-stx-scoped data-stx-run="always"${B}>
3749
+ window.stx.mount(function() {
3750
+ 'use strict';
3751
+ ${r1(`${X}${J}
3752
+ ${U}${w}`)}
3753
+ })</script>`}if(!L&&!F){if(V)return O(WZ($));if(Z.templateContent){let _=WZ($);if(_.length>0){let w=Jq(Z.templateContent);if(_.some((N)=>w.has(N)))return O(_)}}}return`${z}<script data-stx-scoped data-stx-run="always"${B}>
3754
+ ;(function() {
3755
+ 'use strict';
3756
+ ${r1(`${X}${J}
3757
+ ${U}`)}
3758
+ })()</script>`}
3759
+ export{sZ as Bl,oZ as Cl,rZ as Dl,t0 as El,s9 as Fl,o9 as Gl,r9 as Hl,a9 as Il,v3 as Jl,P3 as Kl,YJ as Ll,GJ as Ml,qJ as Nl,uq as Ol,dq as Pl,mq as Ql,lq as Rl,cq as Sl,iZ as Tl,b3 as Ul,y3 as Vl,C3 as Wl,S3 as Xl,gq as Yl,p3 as Zl,K2 as _l,h9 as $l,u9 as am,DZ as bm,Z3 as cm,Yq as dm,k2 as em,t1 as fm,oB as gm,p$ as hm,i$ as im,lz as jm,a1 as km,VZ as lm,_Z as mm,OL as nm,b9 as om,E$ as pm,y9 as qm,qq as rm,m2 as sm,Kq as tm,Wq as um,Uq as vm,Hq as wm,c2 as xm,IZ as ym,Nq as zm,kZ as Am,Dq as Bm,c9 as Cm,V3 as Dm,X1 as Em,p9 as Fm,bZ as Gm,Aq as Hm,V1 as Im,yZ as Jm,Mq as Km,v0 as Lm,Iq as Mm,bq as Nm,hZ as Om,uZ as Pm,k3 as Qm,T3 as Rm,E3 as Sm,fq as Tm,f3 as Um,e9 as Vm,z2 as Wm,p2 as Xm,sq as Ym,t9 as Zm,UJ as _m,HJ as $m,jJ as an,oq as bn,g3 as cn,h3 as dn,z1 as en,Y9 as fn,w0 as gn,S7 as hn,R5 as in,q1 as jn,O1 as kn,P7 as ln,B2 as mn,Q9 as nn,N5 as on,IX as pn,TX as qn,x7 as rn,bX as sn,yX as tn,h7 as un,F1 as vn,aW as wn,u7 as xn,T5 as yn,fX as zn,k5 as An,xX as Bn,gX as Cn,tW as Dn,eW as En,d7 as Fn,m7 as Gn,l7 as Hn,hX as In,uX as Jn,$U as Kn,ZU as Ln,dX as Mn,JU as Nn,XU as On,i7 as Pn,r7 as Qn,y5 as Rn,BU as Sn,L2 as Tn,C5 as Un,S5 as Vn,VU as Wn,XY as Xn,_U as Yn,YY as Zn,e7 as _n,LU as $n,QY as ao,OU as bo,FU as co,z9 as do,Z4 as eo,J4 as fo,X4 as go,AU as ho,u5 as io,hU as jo,uU as ko,dU as lo,mU as mo,kY as no,b4 as oo,X$ as po,xY as qo,Y$ as ro,P6 as so,OB as to,h6 as uo,tQ as vo,iB as wo,XG as xo,t6 as yo,b$ as zo,e6 as Ao,Z8 as Bo,y$ as Co,FG as Do,wG as Eo,J8 as Fo,n6 as Go,RG as Ho,DG as Io,F$ as Jo,D6 as Ko,A6 as Lo,n8 as Mo,Kz as No,Wz as Oo,Uz as Po,Hz as Qo,jz as Ro,s8 as So,Lz as To,Rz as Uo,Nz as Vo,a4 as Wo,U$ as Xo,e4 as Yo,Oj as Zo,Fj as _o,m4 as $o,wj as ap,z$ as bp,q$ as cp,K$ as dp,X6 as ep,Y6 as fp,Q6 as gp,V7 as hp,_7 as ip,L7 as jp,O7 as kp,H5 as lp,j5 as mp,pK as np,iK as op,nK as pp,eJ as qp,sK as rp,lj as sp,cj as tp,z6 as up,pj as vp,BQ as wp,K6 as xp,j6 as yp,_$ as zp,bQ as Ap,L$ as Bp,O6 as Cp,F6 as Dp,hQ as Ep,ZB as Fp,JB as Gp,w6 as Hp,XB as Ip,YB as Jp,O$ as Kp,k6 as Lp,A9 as Mp,M9 as Np,o1 as Op,mQ as Pp,E6 as Qp,b6 as Rp,KB as Sp,N$ as Tp,lQ as Up,cQ as Vp,D$ as Wp,A$ as Xp,y6 as Yp,C6 as Zp,C$ as _p,S$ as $p,f$ as aq,h$ as bq,aG as cq,Jz as dq,Xz as eq,Yz as fq,Qz as gq,Mz as hq,A1 as iq,d$ as jq,M1 as kq,B9 as lq,yz as mq,Cz as nq,Sz as oq,D1 as pq,e as qq,a2 as rq,zZ as sq,_0 as tq,ZL as uq,JL as vq,i3 as wq,n3 as xq,_1 as yq,s3 as zq,C1 as Aq,o3 as Bq,W2 as Cq,qK as Dq,kJ as Eq,Z5 as Fq,KK as Gq,J5 as Hq,WK as Iq,UK as Jq,Q1 as Kq,HK as Lq,jK as Mq,BK as Nq,VK as Oq,_K as Pq,LK as Qq,TJ as Rq,Y5 as Sq,r3 as Tq,FK as Uq,wK as Vq,RK as Wq,NK as Xq,DK as Yq,t3 as Zq,AK as _q,e3 as $q,MK as ar,IK as br,U2 as cr,PJ as dr,bK as er,fJ as fr,Q7 as gr,o2 as hr,fK as ir,H7 as jr,U5 as kr,$W as lr,V5 as mr,QX as nr,KX as or,ZW as pr,JW as qr,XW as rr,YW as sr,QW as tr,GW as ur,WX as vr,UX as wr,R7 as xr,_5 as yr,VX as zr,O5 as Ar,y7 as Br,DW as Cr,AW as Dr,w5 as Er,RX as Fr,C7 as Gr};