@stacksjs/stx 0.2.93 → 0.2.94

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 (551) hide show
  1. package/dist/a11y.js +1 -1
  2. package/dist/analytics.js +1 -1
  3. package/dist/analyzer.js +1 -1
  4. package/dist/animation.js +1 -1
  5. package/dist/app-shell.js +1 -1
  6. package/dist/app.js +1 -1
  7. package/dist/assets.js +1 -1
  8. package/dist/ast.js +1 -1
  9. package/dist/async-components.js +1 -1
  10. package/dist/auth.js +1 -1
  11. package/dist/broadcasting.js +1 -1
  12. package/dist/browser-composables.js +1 -1
  13. package/dist/build-assets.js +1 -1
  14. package/dist/build-mode-detector.js +1 -1
  15. package/dist/build-optimizer.js +1 -1
  16. package/dist/build-views.js +1 -1
  17. package/dist/build.js +1 -1
  18. package/dist/builtins/drawer.js +1 -1
  19. package/dist/builtins/escape.js +1 -1
  20. package/dist/builtins/icon.js +1 -1
  21. package/dist/builtins/index.js +1 -1
  22. package/dist/builtins/modal.js +1 -1
  23. package/dist/builtins/safe-image.js +1 -1
  24. package/dist/builtins/stx-image.js +1 -1
  25. package/dist/builtins/stx-link.js +1 -1
  26. package/dist/builtins/stx-loading-indicator.js +1 -1
  27. package/dist/builtins/suspense.js +1 -1
  28. package/dist/builtins/toast.js +1 -1
  29. package/dist/builtins/tooltip.js +1 -1
  30. package/dist/builtins/transition-group.js +1 -1
  31. package/dist/bundle-analyzer/collector.js +1 -1
  32. package/dist/bundle-analyzer/index.js +1 -1
  33. package/dist/bundle-analyzer/report.js +1 -1
  34. package/dist/bundle-analyzer/treemap.js +1 -1
  35. package/dist/caching.js +1 -1
  36. package/dist/{chunk-7074g241.js → chunk-03c26pjz.js} +1 -1
  37. package/dist/{chunk-n9dhs1dw.js → chunk-04mvcmcr.js} +1 -1
  38. package/dist/{chunk-hc2mf5h6.js → chunk-05hgyyqc.js} +1 -1
  39. package/dist/{chunk-kx6eb6ma.js → chunk-0g4gece6.js} +1 -1
  40. package/dist/{chunk-1v49fwr5.js → chunk-0jkwrcwj.js} +1 -1
  41. package/dist/{chunk-47kpewks.js → chunk-0m9tdm7t.js} +1 -1
  42. package/dist/{chunk-4deg33rw.js → chunk-0tatqxj2.js} +2 -2
  43. package/dist/{chunk-akf1r75r.js → chunk-0wdar532.js} +1 -1
  44. package/dist/{chunk-9cf97f9p.js → chunk-13yz561y.js} +2 -2
  45. package/dist/{chunk-rpx5fa65.js → chunk-174z0cd0.js} +2 -2
  46. package/dist/{chunk-wkz2vwkr.js → chunk-1mmykse5.js} +1 -1
  47. package/dist/{chunk-3te20hqw.js → chunk-1z2yq9em.js} +2 -2
  48. package/dist/{chunk-rw26rpek.js → chunk-25s7bckb.js} +2 -2
  49. package/dist/{chunk-xgkv66q5.js → chunk-268adc7r.js} +1 -1
  50. package/dist/{chunk-a87qqft6.js → chunk-26r6zh3t.js} +2 -2
  51. package/dist/{chunk-t0c9wvpr.js → chunk-2w3302dh.js} +1 -1
  52. package/dist/{chunk-vjbefncc.js → chunk-2xen423s.js} +1 -1
  53. package/dist/{chunk-jjdq01dv.js → chunk-3bjtemm6.js} +1 -1
  54. package/dist/{chunk-xv34zbp4.js → chunk-3jm3snz8.js} +1 -1
  55. package/dist/{chunk-e98v1bc6.js → chunk-3ngm57nt.js} +2 -2
  56. package/dist/{chunk-gz5fmp3q.js → chunk-3rh7va1z.js} +1 -1
  57. package/dist/{chunk-kypas8vy.js → chunk-3yg9hbmb.js} +1 -1
  58. package/dist/{chunk-qygvvygy.js → chunk-46mkpbkk.js} +2 -2
  59. package/dist/chunk-48cw2nde.js +2 -0
  60. package/dist/chunk-48r3qe0k.js +3 -0
  61. package/dist/{chunk-azkegjd8.js → chunk-4bt81cg3.js} +1 -1
  62. package/dist/{chunk-07y6m5xx.js → chunk-4j188175.js} +1 -1
  63. package/dist/{chunk-h7aq56qj.js → chunk-4qq8ffke.js} +1 -1
  64. package/dist/{chunk-hrnnh4tq.js → chunk-50vqeesm.js} +2 -2
  65. package/dist/{chunk-7n8g0nfn.js → chunk-52agge4n.js} +1 -1
  66. package/dist/{chunk-9t14se2t.js → chunk-57p201gb.js} +1 -1
  67. package/dist/{chunk-jpndqst5.js → chunk-5ggw1dyv.js} +1 -1
  68. package/dist/{chunk-ah88wzbg.js → chunk-5kt3ay7x.js} +1 -1
  69. package/dist/{chunk-x24s4heg.js → chunk-5p568px4.js} +1 -1
  70. package/dist/{chunk-q6zhd9yf.js → chunk-5ppkfyn2.js} +1 -1
  71. package/dist/{chunk-khdn7jwe.js → chunk-5q87fgkk.js} +2 -2
  72. package/dist/{chunk-0p1h3p3w.js → chunk-5qb761h2.js} +1 -1
  73. package/dist/{chunk-rtr974rc.js → chunk-5xvbq2gs.js} +2 -2
  74. package/dist/{chunk-p3e0cqtt.js → chunk-647849kf.js} +2 -2
  75. package/dist/{chunk-gkzq8zw4.js → chunk-6cr3eeh4.js} +1 -1
  76. package/dist/{chunk-mhgk632d.js → chunk-6djgb0hr.js} +1 -1
  77. package/dist/{chunk-tffh3b1e.js → chunk-6dqzky7x.js} +1 -1
  78. package/dist/{chunk-drjq2zwg.js → chunk-6w03t7h6.js} +2 -2
  79. package/dist/{chunk-ek2w6zvy.js → chunk-6wn85hn6.js} +1 -1
  80. package/dist/{chunk-jz73j3qs.js → chunk-6y4gqs1q.js} +1 -1
  81. package/dist/{chunk-nd9rmddh.js → chunk-75rndzbd.js} +1 -1
  82. package/dist/{chunk-7dkz6z2s.js → chunk-77tga15w.js} +2 -2
  83. package/dist/{chunk-wvf31nzs.js → chunk-7a51hkpf.js} +1 -1
  84. package/dist/{chunk-a2g2qb2y.js → chunk-7b0xdy5h.js} +1 -1
  85. package/dist/{chunk-ewa88139.js → chunk-7dy588as.js} +1 -1
  86. package/dist/{chunk-8ahwt6a4.js → chunk-7rvh2wwv.js} +1 -1
  87. package/dist/{chunk-jt0ezawy.js → chunk-7sm05m0j.js} +1 -1
  88. package/dist/{chunk-m167kjhv.js → chunk-7xcfy2fn.js} +1 -1
  89. package/dist/{chunk-keawsbpn.js → chunk-82t27pvd.js} +1 -1
  90. package/dist/{chunk-psc3wfcf.js → chunk-87kx8byz.js} +1 -1
  91. package/dist/{chunk-31dr4bys.js → chunk-8fgwhhb8.js} +2 -2
  92. package/dist/{chunk-rz2ec6g7.js → chunk-8qbax8xn.js} +1 -1
  93. package/dist/{chunk-e2q9c5vq.js → chunk-91s2hres.js} +1 -1
  94. package/dist/{chunk-yb1t2h8h.js → chunk-94g3cahw.js} +2 -2
  95. package/dist/{chunk-n98x35xd.js → chunk-957amb71.js} +1 -1
  96. package/dist/{chunk-v8j49spx.js → chunk-95w08s8v.js} +1 -1
  97. package/dist/{chunk-zy3rp1ab.js → chunk-9agvhp1x.js} +1 -1
  98. package/dist/{chunk-vgv7jvyz.js → chunk-9tmbrwwx.js} +1 -1
  99. package/dist/{chunk-3a4qsygv.js → chunk-9yz5d003.js} +2 -2
  100. package/dist/{chunk-4qcy5tx6.js → chunk-a69tvya5.js} +2 -2
  101. package/dist/{chunk-p52yzjq6.js → chunk-adjcg6wa.js} +2 -2
  102. package/dist/{chunk-w3b6m427.js → chunk-adqh2m9z.js} +1 -1
  103. package/dist/{chunk-h0hjy0kn.js → chunk-asarebzq.js} +1 -1
  104. package/dist/{chunk-43t7faps.js → chunk-aw3rp9ac.js} +1 -1
  105. package/dist/{chunk-7gd339hd.js → chunk-b0cyc09a.js} +1 -1
  106. package/dist/{chunk-09k66d8a.js → chunk-b3kkjcdh.js} +1 -1
  107. package/dist/{chunk-jnmgm2xw.js → chunk-b3prs7y0.js} +1 -1
  108. package/dist/{chunk-xw36p73h.js → chunk-b5zc9y0y.js} +2 -2
  109. package/dist/{chunk-krqn0ddk.js → chunk-baa7h4yz.js} +2 -2
  110. package/dist/{chunk-15nesxgt.js → chunk-bgec9r1v.js} +2 -2
  111. package/dist/{chunk-kdfe4t91.js → chunk-bjnjpsgn.js} +2 -2
  112. package/dist/{chunk-0a61y94n.js → chunk-bk8ew8ze.js} +2 -2
  113. package/dist/{chunk-pcntd9h4.js → chunk-bn08k7yy.js} +2 -2
  114. package/dist/{chunk-8va64c9n.js → chunk-bwxda6n1.js} +2 -2
  115. package/dist/{chunk-pa9zb7ty.js → chunk-bykjk6vj.js} +1 -1
  116. package/dist/{chunk-p3fpb79v.js → chunk-c53hyw5c.js} +1 -1
  117. package/dist/{chunk-km25cwz6.js → chunk-ca6qd1dx.js} +1 -1
  118. package/dist/{chunk-x3r64r0c.js → chunk-cdbwprfv.js} +2 -2
  119. package/dist/{chunk-tg2f1mzq.js → chunk-ceg2c2q2.js} +2 -2
  120. package/dist/{chunk-80g54ncj.js → chunk-cn409b69.js} +1 -1
  121. package/dist/{chunk-8xj7c3mf.js → chunk-cp3kwv17.js} +1 -1
  122. package/dist/{chunk-nm15ccsg.js → chunk-cpcc11vp.js} +2 -2
  123. package/dist/{chunk-y6xsqe9a.js → chunk-cr3wbrcr.js} +2 -2
  124. package/dist/{chunk-4d2y57k7.js → chunk-cygfdk1n.js} +2 -2
  125. package/dist/{chunk-xys2sxh6.js → chunk-cyp4m0vh.js} +1 -1
  126. package/dist/{chunk-27zsyhrd.js → chunk-cz25azze.js} +1 -1
  127. package/dist/{chunk-4x7kae4j.js → chunk-d77yxcds.js} +2 -2
  128. package/dist/{chunk-x05nxhyv.js → chunk-dyjnn5k8.js} +2 -2
  129. package/dist/{chunk-9jtj77jx.js → chunk-dzw95th7.js} +2 -2
  130. package/dist/{chunk-7b6s3g65.js → chunk-e0zytzdh.js} +1 -1
  131. package/dist/{chunk-b77wjyn7.js → chunk-e53h9qhd.js} +1 -1
  132. package/dist/{chunk-wazkqv7n.js → chunk-eds0f8f1.js} +2 -2
  133. package/dist/{chunk-04n64bnt.js → chunk-eh8hact1.js} +1 -1
  134. package/dist/{chunk-scpkdrdb.js → chunk-epj957jf.js} +1 -1
  135. package/dist/{chunk-trfswy66.js → chunk-eqeyaq6g.js} +1 -1
  136. package/dist/{chunk-x5g9w4hh.js → chunk-fbxt2mrx.js} +2 -2
  137. package/dist/{chunk-5shey2e4.js → chunk-fch9tk1k.js} +1 -1
  138. package/dist/{chunk-988dw6q3.js → chunk-fe7r1mq1.js} +2 -2
  139. package/dist/{chunk-8b3z0zd5.js → chunk-fhawx87n.js} +1 -1
  140. package/dist/{chunk-ynhngsdh.js → chunk-fk51yyrw.js} +1 -1
  141. package/dist/{chunk-dqn9gyhb.js → chunk-fms20x0n.js} +1 -1
  142. package/dist/{chunk-bk3j0n82.js → chunk-fs0qezn5.js} +1 -1
  143. package/dist/{chunk-2j21d3ka.js → chunk-g2hekckm.js} +1 -1
  144. package/dist/{chunk-55nwdnsd.js → chunk-g8b81pzc.js} +1 -1
  145. package/dist/{chunk-avx8aydt.js → chunk-ganag9dm.js} +2 -2
  146. package/dist/{chunk-hbgxbgam.js → chunk-gc84b1d2.js} +2 -2
  147. package/dist/{chunk-djddhmcc.js → chunk-gcf5v18y.js} +1 -1
  148. package/dist/{chunk-v7f8jj15.js → chunk-ghrx0hn1.js} +1 -1
  149. package/dist/{chunk-ckxjqqn9.js → chunk-gqpkp459.js} +2 -2
  150. package/dist/chunk-h45py5w5.js +2 -0
  151. package/dist/{chunk-aywxfqev.js → chunk-haecq01c.js} +1 -1
  152. package/dist/{chunk-hbehnm18.js → chunk-hepg894w.js} +2 -2
  153. package/dist/{chunk-29y0hk5z.js → chunk-hjdc99kb.js} +2 -2
  154. package/dist/{chunk-8n9nnqr6.js → chunk-hje9v2zh.js} +1 -1
  155. package/dist/{chunk-bdk6g1vj.js → chunk-hke99a0v.js} +2 -2
  156. package/dist/{chunk-qvrbjpdc.js → chunk-hpqr9e3x.js} +2 -2
  157. package/dist/{chunk-ht43ds42.js → chunk-hq5cem49.js} +1 -1
  158. package/dist/{chunk-8vtm0m84.js → chunk-hrampcrj.js} +1 -1
  159. package/dist/{chunk-fjk3x41y.js → chunk-ht4j68cs.js} +2 -2
  160. package/dist/{chunk-xyg1r5w0.js → chunk-j4s5qwd7.js} +2 -2
  161. package/dist/{chunk-9eq3ht5f.js → chunk-jbejwejg.js} +1 -1
  162. package/dist/{chunk-baf1hfwh.js → chunk-jfm69keq.js} +2 -2
  163. package/dist/chunk-jfrn43vh.js +2 -0
  164. package/dist/{chunk-zen6ax1y.js → chunk-jjvp4t5w.js} +2 -2
  165. package/dist/{chunk-vmxjghsm.js → chunk-jt44av4j.js} +1 -1
  166. package/dist/{chunk-k21df0pg.js → chunk-jt98jhpt.js} +1 -1
  167. package/dist/{chunk-0p0nyq50.js → chunk-k8440jxh.js} +2 -2
  168. package/dist/{chunk-y1k17c8b.js → chunk-kdxa9epn.js} +2 -2
  169. package/dist/{chunk-p1h8065h.js → chunk-kfd2hf6f.js} +2 -2
  170. package/dist/{chunk-x0770gt9.js → chunk-kh6rfz2v.js} +1 -1
  171. package/dist/{chunk-bhqgmyqw.js → chunk-kkp6rs2n.js} +1 -1
  172. package/dist/{chunk-jjb05d21.js → chunk-m59y310j.js} +2 -2
  173. package/dist/{chunk-ay9qf4zj.js → chunk-mgmyr1b9.js} +1 -1
  174. package/dist/{chunk-vw7vqd76.js → chunk-mqwbpamc.js} +1 -1
  175. package/dist/{chunk-bs3gmfxz.js → chunk-mrehzhxv.js} +1 -1
  176. package/dist/{chunk-1sr54zp8.js → chunk-mv03qb75.js} +1 -1
  177. package/dist/chunk-mwbng54r.js +2 -0
  178. package/dist/{chunk-rwrv9wbf.js → chunk-n46a5g1g.js} +1 -1
  179. package/dist/{chunk-zf2pek72.js → chunk-n944baxp.js} +1 -1
  180. package/dist/{chunk-6djzdes9.js → chunk-nanw7yhz.js} +1 -1
  181. package/dist/{chunk-g1vt329s.js → chunk-nap11ntr.js} +2 -2
  182. package/dist/{chunk-d0zjtdw4.js → chunk-ncnfa8ae.js} +2 -2
  183. package/dist/{chunk-knm8a8yx.js → chunk-pc31m5x5.js} +1 -1
  184. package/dist/{chunk-7ed3tean.js → chunk-q60knhjf.js} +1 -1
  185. package/dist/{chunk-shv88d2d.js → chunk-q6h6yvzb.js} +2 -2
  186. package/dist/{chunk-9wmq2272.js → chunk-qd5461tt.js} +1 -1
  187. package/dist/{chunk-0dx4q6yq.js → chunk-qdc3aav1.js} +1 -1
  188. package/dist/{chunk-d1qh1x2g.js → chunk-qfwzdffx.js} +2 -2
  189. package/dist/{chunk-p73meypx.js → chunk-qgxwmagw.js} +1 -1
  190. package/dist/{chunk-rw7937v4.js → chunk-qhdtssn1.js} +2 -2
  191. package/dist/{chunk-pcm1vd8w.js → chunk-qk584whs.js} +1 -1
  192. package/dist/{chunk-9zbk5zx5.js → chunk-qm4yppj5.js} +2 -2
  193. package/dist/chunk-qwyd9a1d.js +2 -0
  194. package/dist/{chunk-xs03kc1h.js → chunk-qxs6et76.js} +1 -1
  195. package/dist/{chunk-8qc1bsym.js → chunk-rb1e4cnb.js} +1 -1
  196. package/dist/{chunk-9ecv8aqj.js → chunk-rv002yn0.js} +1 -1
  197. package/dist/chunk-sjagg9qz.js +66 -0
  198. package/dist/{chunk-bndmdahk.js → chunk-sn07azv3.js} +2 -2
  199. package/dist/{chunk-5f43yz6z.js → chunk-svahbw0w.js} +2 -2
  200. package/dist/{chunk-pznnww6k.js → chunk-svhtdb0s.js} +1 -1
  201. package/dist/{chunk-tzwtg722.js → chunk-t37dp99j.js} +1 -1
  202. package/dist/{chunk-mgj88zeq.js → chunk-tj6zfxeb.js} +2 -2
  203. package/dist/{chunk-rqxf5hns.js → chunk-tmgz5t2g.js} +1 -1
  204. package/dist/{chunk-hjm2xab3.js → chunk-tr0z0e1g.js} +1 -1
  205. package/dist/{chunk-2cdvw21b.js → chunk-tx6br9r4.js} +1 -1
  206. package/dist/{chunk-hy8820vc.js → chunk-vdfwv0fp.js} +1 -1
  207. package/dist/{chunk-yrsb6j3z.js → chunk-vp2395eb.js} +2 -2
  208. package/dist/{chunk-j447q024.js → chunk-vpe6napb.js} +2 -2
  209. package/dist/{chunk-wg9k6h8w.js → chunk-vv9wfz1c.js} +2 -2
  210. package/dist/{chunk-yj4x5ehw.js → chunk-vw6ejgmy.js} +1 -1
  211. package/dist/{chunk-1xz0w746.js → chunk-w01y57f5.js} +2 -2
  212. package/dist/{chunk-8a5bxece.js → chunk-w21mwxdd.js} +1 -1
  213. package/dist/{chunk-20swzkx3.js → chunk-w4n8fqp7.js} +1 -1
  214. package/dist/{chunk-m491r0rj.js → chunk-w959hm8j.js} +1 -1
  215. package/dist/{chunk-9b6cec0v.js → chunk-wk07pwtd.js} +1 -1
  216. package/dist/{chunk-amaa1bev.js → chunk-wxvyj65q.js} +1 -1
  217. package/dist/{chunk-m8448qby.js → chunk-x1hjv24z.js} +1 -1
  218. package/dist/{chunk-frg705zq.js → chunk-x39sfpvm.js} +1 -1
  219. package/dist/{chunk-j58vh0w6.js → chunk-x4fze3q2.js} +1 -1
  220. package/dist/{chunk-35faj94w.js → chunk-x64kb787.js} +1 -1
  221. package/dist/{chunk-vg5kt6az.js → chunk-xcb0pbr6.js} +1 -1
  222. package/dist/{chunk-p077sw22.js → chunk-xhkjhxsp.js} +1 -1
  223. package/dist/{chunk-zcxzdrn7.js → chunk-xhnpsngj.js} +2 -2
  224. package/dist/{chunk-7j5e8sdj.js → chunk-xsqbk4yk.js} +2 -2
  225. package/dist/{chunk-r0jcmpv6.js → chunk-xygc53vr.js} +1 -1
  226. package/dist/{chunk-nhv099jv.js → chunk-y25pr13j.js} +1 -1
  227. package/dist/{chunk-rvptcndz.js → chunk-y4c744dk.js} +2 -2
  228. package/dist/{chunk-wfg2gm11.js → chunk-y4md9hp0.js} +1 -1
  229. package/dist/{chunk-n5kg7fpx.js → chunk-y5wazw6j.js} +1 -1
  230. package/dist/{chunk-8dhdpa5h.js → chunk-y86m1wr4.js} +2 -2
  231. package/dist/{chunk-veeerpwa.js → chunk-yaan98dd.js} +1 -1
  232. package/dist/{chunk-bxc7kjsk.js → chunk-yach037f.js} +1 -1
  233. package/dist/{chunk-06w68hyg.js → chunk-yexjrg9d.js} +2 -2
  234. package/dist/{chunk-6eqbxcrd.js → chunk-yj560gp8.js} +1 -1
  235. package/dist/{chunk-ejh8fyak.js → chunk-yr1gdceh.js} +1 -1
  236. package/dist/{chunk-r5m9xtm7.js → chunk-yw2fzq86.js} +2 -2
  237. package/dist/{chunk-h5jxydqq.js → chunk-ywkrxp2h.js} +1 -1
  238. package/dist/{chunk-j8tn8enq.js → chunk-z37xq5rx.js} +2 -2
  239. package/dist/{chunk-npfmdb6y.js → chunk-z4djtgt0.js} +1 -1
  240. package/dist/{chunk-zk3d0jjf.js → chunk-z8cjr9n9.js} +1 -1
  241. package/dist/{chunk-10debkj5.js → chunk-znxp3zha.js} +1 -1
  242. package/dist/{chunk-k848dzsa.js → chunk-zt2yag10.js} +1 -1
  243. package/dist/cli.js +1 -1
  244. package/dist/client/directive.js +1 -1
  245. package/dist/client/index.js +1 -1
  246. package/dist/client-helpers.js +1 -1
  247. package/dist/client-script-bundler.js +1 -1
  248. package/dist/client-script.js +1 -1
  249. package/dist/component-hmr.js +1 -1
  250. package/dist/component-processing.js +1 -1
  251. package/dist/component-registry.js +1 -1
  252. package/dist/component-renderer.js +1 -1
  253. package/dist/components.js +1 -1
  254. package/dist/composables/index.js +1 -1
  255. package/dist/composables/use-battery.js +1 -1
  256. package/dist/composables/use-broadcast-channel.js +1 -1
  257. package/dist/composables/use-channel.js +1 -1
  258. package/dist/composables/use-clipboard.js +1 -1
  259. package/dist/composables/use-color-mode.js +1 -1
  260. package/dist/composables/use-cookie.js +1 -1
  261. package/dist/composables/use-device-orientation.js +1 -1
  262. package/dist/composables/use-event-listener.js +1 -1
  263. package/dist/composables/use-event-source.js +1 -1
  264. package/dist/composables/use-eye-dropper.js +1 -1
  265. package/dist/composables/use-fetch.js +1 -1
  266. package/dist/composables/use-fullscreen.js +1 -1
  267. package/dist/composables/use-geolocation.js +1 -1
  268. package/dist/composables/use-idle.js +1 -1
  269. package/dist/composables/use-intersection-observer.js +1 -1
  270. package/dist/composables/use-keyboard.js +1 -1
  271. package/dist/composables/use-media-query.js +1 -1
  272. package/dist/composables/use-meta.js +1 -1
  273. package/dist/composables/use-mouse.js +1 -1
  274. package/dist/composables/use-mutation-observer.js +1 -1
  275. package/dist/composables/use-network.js +1 -1
  276. package/dist/composables/use-notification.js +1 -1
  277. package/dist/composables/use-permissions.js +1 -1
  278. package/dist/composables/use-resize-observer.js +1 -1
  279. package/dist/composables/use-router.js +1 -1
  280. package/dist/composables/use-share.js +1 -1
  281. package/dist/composables/use-speech.js +1 -1
  282. package/dist/composables/use-storage.js +1 -1
  283. package/dist/composables/use-text-selection.js +1 -1
  284. package/dist/composables/use-timer.js +1 -1
  285. package/dist/composables/use-utilities.js +1 -1
  286. package/dist/composables/use-wake-lock.js +1 -1
  287. package/dist/composables/use-websocket.js +1 -1
  288. package/dist/composables/use-window.js +1 -1
  289. package/dist/composables.js +1 -1
  290. package/dist/composition-api.js +1 -1
  291. package/dist/computed.js +1 -1
  292. package/dist/conditionals.js +1 -1
  293. package/dist/config.js +1 -1
  294. package/dist/craft-bridge.js +1 -1
  295. package/dist/craft-compiler.js +1 -1
  296. package/dist/craft-components.js +1 -1
  297. package/dist/craft-entry.js +1 -1
  298. package/dist/craft-ssr.js +1 -1
  299. package/dist/csp.js +1 -1
  300. package/dist/csrf.js +1 -1
  301. package/dist/custom-directives.js +1 -1
  302. package/dist/defer.js +1 -1
  303. package/dist/deploy/config-generators.js +1 -1
  304. package/dist/deploy/index.js +1 -1
  305. package/dist/deploy/netlify.js +1 -1
  306. package/dist/dev-server/crosswind.js +1 -1
  307. package/dist/dev-server/index.js +1 -1
  308. package/dist/dev-server/keyboard-shortcuts.js +1 -1
  309. package/dist/dev-server/native-window.js +1 -1
  310. package/dist/dev-server/port-utils.js +1 -1
  311. package/dist/dev-server/serve-app.js +6 -1
  312. package/dist/dev-server/serve-file.js +6 -1
  313. package/dist/dev-server/serve-markdown.js +1 -1
  314. package/dist/dev-server/serve-multi.js +171 -1
  315. package/dist/dev-server/terminal-colors.js +1 -1
  316. package/dist/dev-server/theme-selector.js +1 -1
  317. package/dist/dev-server/types.js +1 -1
  318. package/dist/dev-server.js +1 -1
  319. package/dist/devtools.js +1 -1
  320. package/dist/directive-api.js +1 -1
  321. package/dist/docs.js +1 -1
  322. package/dist/doctor.js +1 -1
  323. package/dist/document-shell.js +1 -1
  324. package/dist/dynamic-components.js +1 -1
  325. package/dist/edge-runtime.js +1 -1
  326. package/dist/env.js +1 -1
  327. package/dist/error-boundaries.js +1 -1
  328. package/dist/error-handling.js +1 -1
  329. package/dist/errors/codes.js +1 -1
  330. package/dist/errors/formatter.js +1 -1
  331. package/dist/errors/index.js +1 -1
  332. package/dist/errors/logger.js +1 -1
  333. package/dist/errors/sanitizer.js +1 -1
  334. package/dist/errors/types.js +1 -1
  335. package/dist/events.js +1 -1
  336. package/dist/expressions.js +1 -1
  337. package/dist/formatter.js +1 -1
  338. package/dist/forms-validation.js +1 -1
  339. package/dist/forms.js +1 -1
  340. package/dist/head.js +1 -1
  341. package/dist/heatmap.js +1 -1
  342. package/dist/hot-reload.js +1 -1
  343. package/dist/html-masking.js +1 -1
  344. package/dist/hydration-runtime.js +1 -1
  345. package/dist/hydration.js +1 -1
  346. package/dist/i18n.js +1 -1
  347. package/dist/image-optimization/auto-sibling.js +1 -1
  348. package/dist/image-optimization/build-plugin.js +1 -1
  349. package/dist/image-optimization/component.js +1 -1
  350. package/dist/image-optimization/directive.js +1 -1
  351. package/dist/image-optimization/index.js +1 -1
  352. package/dist/image-optimization/processor.js +1 -1
  353. package/dist/image-optimization/serve.js +1 -1
  354. package/dist/includes.js +1 -1
  355. package/dist/index.js +1 -1
  356. package/dist/init.js +1 -1
  357. package/dist/inline-assets.js +1 -1
  358. package/dist/interactive.js +1 -1
  359. package/dist/internal-markdown.js +1 -1
  360. package/dist/island-chunking.js +1 -1
  361. package/dist/js-ts.js +1 -1
  362. package/dist/jsx-runtime.js +1 -1
  363. package/dist/keep-alive.js +1 -1
  364. package/dist/lazy-loader.js +1 -1
  365. package/dist/loading-indicator.js +1 -1
  366. package/dist/loops.js +1 -1
  367. package/dist/manifest.js +1 -1
  368. package/dist/markdown.js +1 -1
  369. package/dist/media/client/blur-up.js +1 -1
  370. package/dist/media/client/index.js +1 -1
  371. package/dist/media/client/lazy-load.js +1 -1
  372. package/dist/media/client/upload-handler.js +1 -1
  373. package/dist/media/image/component.js +1 -1
  374. package/dist/media/image/directive.js +1 -1
  375. package/dist/media/image/editing.js +1 -1
  376. package/dist/media/image/index.js +1 -1
  377. package/dist/media/image/placeholder.js +1 -1
  378. package/dist/media/image/processor/cache.js +1 -1
  379. package/dist/media/image/processor/index.js +1 -1
  380. package/dist/media/image/processor/optimizer.js +1 -1
  381. package/dist/media/image/processor/responsive.js +1 -1
  382. package/dist/media/image/srcset.js +1 -1
  383. package/dist/media/index.js +1 -1
  384. package/dist/media/manager/embed.js +1 -1
  385. package/dist/media/protected/component.js +1 -1
  386. package/dist/media/protected/index.js +1 -1
  387. package/dist/media/protected/signature.js +1 -1
  388. package/dist/media/shared/cache.js +1 -1
  389. package/dist/media/shared/hash.js +1 -1
  390. package/dist/media/shared/index.js +1 -1
  391. package/dist/media/upload/component.js +1 -1
  392. package/dist/media/upload/index.js +1 -1
  393. package/dist/media/video/directive.js +1 -1
  394. package/dist/media/video/index.js +1 -1
  395. package/dist/media/video/processor/cache.js +1 -1
  396. package/dist/media/video/processor/index.js +1 -1
  397. package/dist/media/video/processor/streaming.js +1 -1
  398. package/dist/media/video/processor/thumbnail.js +1 -1
  399. package/dist/media/video/processor/transcoder.js +1 -1
  400. package/dist/method-spoofing.js +1 -1
  401. package/dist/middleware.js +1 -1
  402. package/dist/misc-directives.js +1 -1
  403. package/dist/native-build.js +1 -1
  404. package/dist/parser/directive-parser.js +1 -1
  405. package/dist/parser/expression-parser.js +1 -1
  406. package/dist/parser/index.js +1 -1
  407. package/dist/parser/tokenizer.js +1 -1
  408. package/dist/partial-hydration.js +1 -1
  409. package/dist/performance-utils.js +1 -1
  410. package/dist/placeholder.js +1 -1
  411. package/dist/plugin-system.js +1 -1
  412. package/dist/plugin.js +1 -1
  413. package/dist/precompiler.js +1 -1
  414. package/dist/process.js +1 -1
  415. package/dist/production-build.js +1 -1
  416. package/dist/production-builder.js +1 -1
  417. package/dist/production-server.js +1 -1
  418. package/dist/props.js +1 -1
  419. package/dist/public-env.js +1 -1
  420. package/dist/pwa/audit.js +1 -1
  421. package/dist/pwa/directives.js +1 -1
  422. package/dist/pwa/icons.js +1 -1
  423. package/dist/pwa/index.js +1 -1
  424. package/dist/pwa/inject.js +1 -1
  425. package/dist/pwa/manifest.js +1 -1
  426. package/dist/pwa/offline.js +1 -1
  427. package/dist/pwa/precache.js +1 -1
  428. package/dist/pwa/service-worker.js +1 -1
  429. package/dist/pwa/workbox-strategies.js +1 -1
  430. package/dist/pwa/workbox.js +1 -1
  431. package/dist/reactive-bindings.js +1 -1
  432. package/dist/reactive.js +1 -1
  433. package/dist/reactivity.js +1 -1
  434. package/dist/release.js +1 -1
  435. package/dist/render.js +1 -1
  436. package/dist/route-middleware.js +1 -1
  437. package/dist/router.js +1 -1
  438. package/dist/routes.js +1 -1
  439. package/dist/runtime-injection.js +1 -1
  440. package/dist/runtime.js +1 -1
  441. package/dist/safe-evaluator.js +1 -1
  442. package/dist/scaffolding.js +1 -1
  443. package/dist/screenshot.js +1 -1
  444. package/dist/script-classifier.js +1 -1
  445. package/dist/script-validation.js +1 -1
  446. package/dist/seo.js +1 -1
  447. package/dist/serve.js +1 -1
  448. package/dist/server-bindings.js +1 -1
  449. package/dist/server-components.js +1 -1
  450. package/dist/signal-processing.js +1 -1
  451. package/dist/signals-api.js +1 -1
  452. package/dist/signals.js +1 -1
  453. package/dist/site-builder/build.js +1 -1
  454. package/dist/site-builder/i18n.js +1 -1
  455. package/dist/site-builder/index.js +1 -1
  456. package/dist/site-builder/robots.js +1 -1
  457. package/dist/site-builder/router.js +1 -1
  458. package/dist/site-builder/seo.js +1 -1
  459. package/dist/site-builder/sitemap.js +1 -1
  460. package/dist/site-builder/theme.js +1 -1
  461. package/dist/slots.js +1 -1
  462. package/dist/source-maps.js +1 -1
  463. package/dist/spa-shell.js +1 -1
  464. package/dist/ssr.js +1 -1
  465. package/dist/state-management.js +1 -1
  466. package/dist/store-imports.js +1 -1
  467. package/dist/store-loader.js +1 -1
  468. package/dist/stores-client.js +1 -1
  469. package/dist/story/addons.js +1 -1
  470. package/dist/story/analytics.js +1 -1
  471. package/dist/story/auto-stories.js +1 -1
  472. package/dist/story/bookmarks.js +1 -1
  473. package/dist/story/bun-test.js +1 -1
  474. package/dist/story/cli.js +1 -1
  475. package/dist/story/collect/analyzer.js +1 -1
  476. package/dist/story/collect/index.js +1 -1
  477. package/dist/story/collect/parser.js +1 -1
  478. package/dist/story/collect/scanner.js +1 -1
  479. package/dist/story/collect/tree.js +1 -1
  480. package/dist/story/commands/build.js +1 -1
  481. package/dist/story/commands/dev.js +1 -1
  482. package/dist/story/commands/index.js +1 -1
  483. package/dist/story/commands/preview.js +1 -1
  484. package/dist/story/compiled-output.js +1 -1
  485. package/dist/story/composition.js +1 -1
  486. package/dist/story/config-watcher.js +1 -1
  487. package/dist/story/config.js +1 -1
  488. package/dist/story/context.js +1 -1
  489. package/dist/story/controls/index.js +1 -1
  490. package/dist/story/crosswind.js +1 -1
  491. package/dist/story/desktop-preview.js +1 -1
  492. package/dist/story/docs-generator.js +1 -1
  493. package/dist/story/errors.js +1 -1
  494. package/dist/story/figma-export.js +1 -1
  495. package/dist/story/generator.js +1 -1
  496. package/dist/story/hmr.js +1 -1
  497. package/dist/story/hot-swap.js +1 -1
  498. package/dist/story/index.js +1 -1
  499. package/dist/story/interactions.js +1 -1
  500. package/dist/story/keyboard-shortcuts.js +1 -1
  501. package/dist/story/output.js +1 -1
  502. package/dist/story/performance.js +1 -1
  503. package/dist/story/presets.js +1 -1
  504. package/dist/story/props-validation.js +1 -1
  505. package/dist/story/renderer.js +1 -1
  506. package/dist/story/search-index.js +1 -1
  507. package/dist/story/search.js +1 -1
  508. package/dist/story/server.js +1 -1
  509. package/dist/story/setup.js +1 -1
  510. package/dist/story/snapshots.js +1 -1
  511. package/dist/story/testing.js +1 -1
  512. package/dist/story/theme.js +1 -1
  513. package/dist/story/ui/code-panel.js +1 -1
  514. package/dist/story/ui/controls-panel.js +1 -1
  515. package/dist/story/ui/index.js +1 -1
  516. package/dist/story/ui/navigation.js +1 -1
  517. package/dist/story/ui/preview.js +1 -1
  518. package/dist/story/visual-testing.js +1 -1
  519. package/dist/streaming.js +1 -1
  520. package/dist/strict-lint.js +1 -1
  521. package/dist/style-scoping.js +1 -1
  522. package/dist/suspense.js +1 -1
  523. package/dist/teleport.js +1 -1
  524. package/dist/template-compiler.js +1 -1
  525. package/dist/template-hydrator.js +1 -1
  526. package/dist/template-tag-balance.js +1 -1
  527. package/dist/testing.js +1 -1
  528. package/dist/transitions.js +1 -1
  529. package/dist/type-checker.js +1 -1
  530. package/dist/types/directive-types.js +1 -1
  531. package/dist/types/index.js +1 -1
  532. package/dist/types.js +1 -1
  533. package/dist/typescript-templates.js +1 -1
  534. package/dist/utils.js +1 -1
  535. package/dist/validator.js +1 -1
  536. package/dist/variable-extractor.js +1 -1
  537. package/dist/view-composers.js +1 -1
  538. package/dist/virtual-scrolling.js +1 -1
  539. package/dist/visual-editor.js +1 -1
  540. package/dist/vue-template.js +1 -1
  541. package/dist/web-components/css-scoping.js +1 -1
  542. package/dist/web-components/index.js +1 -1
  543. package/dist/web-components/reactive-generator.js +1 -1
  544. package/dist/web-components.js +1 -1
  545. package/dist/x-element.js +1 -1
  546. package/package.json +5 -5
  547. package/dist/chunk-2jxbwnkz.js +0 -2
  548. package/dist/chunk-ejayeex8.js +0 -2
  549. package/dist/chunk-qa59zejf.js +0 -246
  550. package/dist/chunk-xqq1vxb6.js +0 -1
  551. package/dist/chunk-yywfvfph.js +0 -2
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Vk as H,_k as Q}from"./chunk-jpndqst5.js";import{pB as F}from"./chunk-xv34zbp4.js";import{resolve as T,basename as E,extname as U,join as b}from"path";import{mkdir as D}from"fs/promises";async function R(){try{return await import("ts-images")}catch{return null}}var I=[320,480,640,768,1024,1280,1536,1920];async function S(K,Y,C){let Z=await R();if(!Z)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let X=T(K);if(!await Q(X))return console.warn(`[stx-media] Source file not found: ${K}`),null;try{let k=Y.responsiveWidths||C.breakpoints||I,L=Y.formats||C.defaultFormats||["avif","webp","jpeg"],q=C.outputDir||"dist/images",V=C.baseUrl||"/images";await D(q,{recursive:!0});let _=await H(X),x=E(K,U(K)),M=C.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},$={src:K,byFormat:{},srcsets:{}};for(let J of L){$.byFormat[J]=[];let N=[];for(let j of k){let W=`${x}-${j}w-${_}.${J}`,B=b(q,W),G=`${V}/${W}`;try{let O=M[J]?.quality||80;if(await Q(B)){$.byFormat[J].push({path:B,url:G,width:j,height:0,format:J,size:0}),N.push(`${G} ${j}w`);continue}let z=await Z.processImage({input:X,output:B,format:J,quality:O,resize:{width:j}});if(z)$.byFormat[J].push({path:B,url:G,width:j,height:z.height||Math.round(j*(z.height||1)/(z.width||1)),format:J,size:z.outputSize||0}),N.push(`${G} ${j}w`)}catch(O){console.warn(`[stx-media] Failed to generate ${J} at ${j}w: ${O}`)}}$.srcsets[J]=N.join(", ")}let A=Y.placeholder||C.placeholderStrategy||"thumbhash";if(A!=="none")try{if(A==="thumbhash"){let J=await Z.generateThumbHash(X);$.placeholder={dataURL:J.dataUrl,width:J.width||32,height:J.height||32,strategy:"thumbhash"}}else{let J=await Z.generatePlaceholder(X,{strategy:A,width:20});$.placeholder={dataURL:J.dataURL,width:J.width,height:J.height,strategy:A}}}catch(J){console.warn(`[stx-media] Failed to generate placeholder: ${J}`)}return $.sizes=Y.sizes||y(k),$}catch(k){return console.error(`[stx-media] Responsive generation failed: ${k}`),null}}function y(K){let Y=[...K].sort((Z,X)=>Z-X),C=[];for(let Z=0;Z<Y.length-1;Z++){let X=Y[Z];C.push(`(max-width: ${X}px) ${X}px`)}return C.push(`${Y[Y.length-1]}px`),C.join(", ")}function d(K,Y="width"){if(!K||K.length===0)return"";if(Y==="dpr")return K.filter((C)=>C.dpr).map((C)=>`${C.url} ${C.dpr}x`).join(", ");return K.map((C)=>`${C.url} ${C.width}w`).join(", ")}async function m(K,Y,C){let Z=[];for(let X of Y){let k=await S(X.src,{responsiveWidths:X.widths},C);if(k){for(let[L,q]of Object.entries(k.srcsets))if(q)Z.push({media:X.media,srcset:q,type:P(L)})}}return Z}function P(K){switch(K){case"avif":return"image/avif";case"webp":return"image/webp";case"jpeg":return"image/jpeg";case"png":return"image/png";case"gif":return"image/gif";default:return"image/jpeg"}}
3
- export{I as Rk,S as Sk,d as Tk,m as Uk};
2
+ import{Sk as H,Xk as Q}from"./chunk-5ggw1dyv.js";import{rB as F}from"./chunk-3jm3snz8.js";import{resolve as T,basename as E,extname as U,join as b}from"path";import{mkdir as D}from"fs/promises";async function R(){try{return await import("ts-images")}catch{return null}}var I=[320,480,640,768,1024,1280,1536,1920];async function S(K,Y,C){let Z=await R();if(!Z)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let X=T(K);if(!await Q(X))return console.warn(`[stx-media] Source file not found: ${K}`),null;try{let k=Y.responsiveWidths||C.breakpoints||I,L=Y.formats||C.defaultFormats||["avif","webp","jpeg"],q=C.outputDir||"dist/images",V=C.baseUrl||"/images";await D(q,{recursive:!0});let _=await H(X),x=E(K,U(K)),M=C.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},$={src:K,byFormat:{},srcsets:{}};for(let J of L){$.byFormat[J]=[];let N=[];for(let j of k){let W=`${x}-${j}w-${_}.${J}`,B=b(q,W),G=`${V}/${W}`;try{let O=M[J]?.quality||80;if(await Q(B)){$.byFormat[J].push({path:B,url:G,width:j,height:0,format:J,size:0}),N.push(`${G} ${j}w`);continue}let z=await Z.processImage({input:X,output:B,format:J,quality:O,resize:{width:j}});if(z)$.byFormat[J].push({path:B,url:G,width:j,height:z.height||Math.round(j*(z.height||1)/(z.width||1)),format:J,size:z.outputSize||0}),N.push(`${G} ${j}w`)}catch(O){console.warn(`[stx-media] Failed to generate ${J} at ${j}w: ${O}`)}}$.srcsets[J]=N.join(", ")}let A=Y.placeholder||C.placeholderStrategy||"thumbhash";if(A!=="none")try{if(A==="thumbhash"){let J=await Z.generateThumbHash(X);$.placeholder={dataURL:J.dataUrl,width:J.width||32,height:J.height||32,strategy:"thumbhash"}}else{let J=await Z.generatePlaceholder(X,{strategy:A,width:20});$.placeholder={dataURL:J.dataURL,width:J.width,height:J.height,strategy:A}}}catch(J){console.warn(`[stx-media] Failed to generate placeholder: ${J}`)}return $.sizes=Y.sizes||y(k),$}catch(k){return console.error(`[stx-media] Responsive generation failed: ${k}`),null}}function y(K){let Y=[...K].sort((Z,X)=>Z-X),C=[];for(let Z=0;Z<Y.length-1;Z++){let X=Y[Z];C.push(`(max-width: ${X}px) ${X}px`)}return C.push(`${Y[Y.length-1]}px`),C.join(", ")}function d(K,Y="width"){if(!K||K.length===0)return"";if(Y==="dpr")return K.filter((C)=>C.dpr).map((C)=>`${C.url} ${C.dpr}x`).join(", ");return K.map((C)=>`${C.url} ${C.width}w`).join(", ")}async function m(K,Y,C){let Z=[];for(let X of Y){let k=await S(X.src,{responsiveWidths:X.widths},C);if(k){for(let[L,q]of Object.entries(k.srcsets))if(q)Z.push({media:X.media,srcset:q,type:P(L)})}}return Z}function P(K){switch(K){case"avif":return"image/avif";case"webp":return"image/webp";case"jpeg":return"image/jpeg";case"png":return"image/png";case"gif":return"image/gif";default:return"image/jpeg"}}
3
+ export{I as Ok,S as Pk,d as Qk,m as Rk};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{fo as y}from"./chunk-x3r64r0c.js";import{jo as q}from"./chunk-1sr54zp8.js";import{mo as K,no as M,oo as N,po as O}from"./chunk-9t14se2t.js";import{vo as H}from"./chunk-nm15ccsg.js";import{Sr as X,Yr as A}from"./chunk-1xz0w746.js";import{Sw as j}from"./chunk-0dx4q6yq.js";var{serve:F}=globalThis.Bun;import V from"fs";import E from"path";async function P(Y,J={}){let L=J.port||3000,Z=J.watch!==!1,B=E.resolve(Y);if(!V.existsSync(B))return console.error(`${j.red}Error: File not found: ${j.bright}${B}${j.reset}`),!1;if(!B.endsWith(".md"))return console.error(`${j.red}Error: File must have .md extension: ${j.bright}${B}${j.reset}`),!1;console.log(`${j.blue}Processing${j.reset} ${j.bright}${Y}${j.reset}...`);let _=null,$=async()=>{try{let{content:z,data:G}=await A(B,{markdown:{syntaxHighlighting:{serverSide:!0,enabled:!0,defaultTheme:X.markdown?.syntaxHighlighting?.defaultTheme||"github-dark",highlightUnknownLanguages:!0}}}),R=J.markdown?.syntaxHighlighting||X.markdown?.syntaxHighlighting,I=R?.defaultTheme||"github-dark",W=["github-dark"],k=R?.additionalThemes||[],C=[...new Set([...W,...k])].map((U)=>`<option value="${U}"${U===I?" selected":""}>${U}</option>`).join(`
2
+ import{go as y}from"./chunk-cdbwprfv.js";import{ko as q}from"./chunk-mv03qb75.js";import{no as K,oo as M,po as N,qo as O}from"./chunk-57p201gb.js";import{wo as H}from"./chunk-cpcc11vp.js";import{Tr as X,Zr as A}from"./chunk-w01y57f5.js";import{Tw as j}from"./chunk-qdc3aav1.js";var{serve:F}=globalThis.Bun;import V from"fs";import E from"path";async function P(Y,J={}){let L=J.port||3000,Z=J.watch!==!1,B=E.resolve(Y);if(!V.existsSync(B))return console.error(`${j.red}Error: File not found: ${j.bright}${B}${j.reset}`),!1;if(!B.endsWith(".md"))return console.error(`${j.red}Error: File must have .md extension: ${j.bright}${B}${j.reset}`),!1;console.log(`${j.blue}Processing${j.reset} ${j.bright}${Y}${j.reset}...`);let _=null,$=async()=>{try{let{content:z,data:G}=await A(B,{markdown:{syntaxHighlighting:{serverSide:!0,enabled:!0,defaultTheme:X.markdown?.syntaxHighlighting?.defaultTheme||"github-dark",highlightUnknownLanguages:!0}}}),R=J.markdown?.syntaxHighlighting||X.markdown?.syntaxHighlighting,I=R?.defaultTheme||"github-dark",W=["github-dark"],k=R?.additionalThemes||[],C=[...new Set([...W,...k])].map((U)=>`<option value="${U}"${U===I?" selected":""}>${U}</option>`).join(`
3
3
  `);return _=`
4
4
  <!DOCTYPE html>
5
5
  <html lang="en">
@@ -168,4 +168,4 @@ ${j.blue}stx${j.reset} ${j.green}${process.env.stx_VERSION||"v0.0.10"}${j.reset
168
168
  ${j.bright}\u2192 ${j.cyan}http://localhost:${D}/${j.reset}`),console.log(`
169
169
  ${j.yellow}Routes:${j.reset}`);let x=E.relative(process.cwd(),B);if(console.log(` ${j.green}\u2514\u2500 /${j.reset} \u2192 ${j.bright}${x}${j.reset}`),console.log(`
170
170
  Press ${j.cyan}h${j.reset} + ${j.cyan}Enter${j.reset} to show shortcuts`),H(Q.url.toString(),()=>{if(Z)V.watch(E.dirname(B),{recursive:!0}).close();Q.stop()}),J.native)await y(D,{title:E.basename(B,".md")});if(Z){let z=E.dirname(B);console.log(`${j.blue}Watching ${j.bright}${z}${j.reset} for changes...`);let G=V.watch(z,{recursive:!0},async(R,I)=>{if(I&&I.endsWith(".md"))console.log(`${j.yellow}File ${j.bright}${I}${j.yellow} changed, reprocessing...${j.reset}`),await $()});process.on("SIGINT",()=>{G.close(),Q.stop(),process.exit(0)})}return!0}
171
- export{P as Ln};
171
+ export{P as pf};
@@ -2227,4 +2227,4 @@ var w={button:{nativeType:"craft-button",fallbackTag:"button",fallbackClasses:"c
2227
2227
  })();
2228
2228
  </script>
2229
2229
  `,processCraftComponents:_,registerCraftComponent:A,getCraftComponents:P},S=g;
2230
- export{w as Fo,N as Go,C as Ho,_ as Io,A as Jo,P as Ko,S as Lo};
2230
+ export{w as Go,N as Ho,C as Io,_ as Jo,A as Ko,P as Lo,S as Mo};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Ks as H,Qr as g,Us as x,tr as O}from"./chunk-1xz0w746.js";import{dt as R}from"./chunk-g1vt329s.js";import b from"path";var v={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},M=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g;var T=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;function f(q){let B=[],Q=0,G;T.lastIndex=0;while((G=T.exec(q))!==null){if(G.index>Q){let X=q.slice(Q,G.index);if(X.trim())B.push({type:B.length===0?"shell":"content",content:X})}let J=G[1],K=G[2];B.push({type:"suspense",name:J,content:K}),Q=G.index+G[0].length}if(Q<q.length){let J=q.slice(Q);if(J.trim())B.push({type:B.length===0?"shell":"content",content:J})}if(B.length===0)B.push({type:"shell",content:q});return B}async function r(q,B={},Q={}){let G={...g,...Q,streaming:{...v,...Q.streaming}},J=G.streaming?.bufferSize||16384;return new ReadableStream({async start(K){try{let X=await Bun.file(q).text(),z=X.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),L=z?z[1]:"",Y=X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),j={...B,__filename:q,__dirname:b.dirname(q)};if(L.trim())await R(L,j,q);let D=f(Y),$=new Set;if(!D.some((w)=>w.type==="suspense")){let w=G.streaming?.strategy||"auto",U=new RegExp(M.source,"g");if(!(w!=="manual"&&U.test(Y))){let F=await H(Y,j,q,G,$);for(let V=0;V<F.length;V+=J)K.enqueue(F.slice(V,V+J)),await new Promise((W)=>setTimeout(W,0))}else{let F=[],V=new RegExp(M.source,"g"),W;while((W=V.exec(Y))!==null)F.push({name:W[1],content:W[2],start:W.index,end:W.index+W[0].length});let y=0;for(let A of F){if(A.start>y){let k=Y.slice(y,A.start);if(k.trim()){let E=await H(k,j,q,G,$);K.enqueue(E),await new Promise((S)=>setTimeout(S,0))}}let I=await H(A.content,j,q,G,$);K.enqueue(I),await new Promise((k)=>setTimeout(k,0)),y=A.end}if(y<Y.length){let A=Y.slice(y);if(A.trim()){let I=await H(A,j,q,G,$);K.enqueue(I)}}}}else{let w=new Map;for(let Z of D)if(Z.type==="shell"||Z.type==="content"){let F=await H(Z.content,j,q,G,$);K.enqueue(F)}else if(Z.type==="suspense"&&Z.name){let F=`stx-suspense-${Z.name}`;K.enqueue(`<div id="${F}" data-suspense="${Z.name}" style="display:contents;">
2
+ import{Ls as H,Rr as g,Vs as x,ur as O}from"./chunk-w01y57f5.js";import{et as R}from"./chunk-nap11ntr.js";import b from"path";var v={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},M=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g;var T=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;function f(q){let B=[],Q=0,G;T.lastIndex=0;while((G=T.exec(q))!==null){if(G.index>Q){let X=q.slice(Q,G.index);if(X.trim())B.push({type:B.length===0?"shell":"content",content:X})}let J=G[1],K=G[2];B.push({type:"suspense",name:J,content:K}),Q=G.index+G[0].length}if(Q<q.length){let J=q.slice(Q);if(J.trim())B.push({type:B.length===0?"shell":"content",content:J})}if(B.length===0)B.push({type:"shell",content:q});return B}async function r(q,B={},Q={}){let G={...g,...Q,streaming:{...v,...Q.streaming}},J=G.streaming?.bufferSize||16384;return new ReadableStream({async start(K){try{let X=await Bun.file(q).text(),z=X.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),L=z?z[1]:"",Y=X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),j={...B,__filename:q,__dirname:b.dirname(q)};if(L.trim())await R(L,j,q);let D=f(Y),$=new Set;if(!D.some((w)=>w.type==="suspense")){let w=G.streaming?.strategy||"auto",U=new RegExp(M.source,"g");if(!(w!=="manual"&&U.test(Y))){let F=await H(Y,j,q,G,$);for(let V=0;V<F.length;V+=J)K.enqueue(F.slice(V,V+J)),await new Promise((W)=>setTimeout(W,0))}else{let F=[],V=new RegExp(M.source,"g"),W;while((W=V.exec(Y))!==null)F.push({name:W[1],content:W[2],start:W.index,end:W.index+W[0].length});let y=0;for(let A of F){if(A.start>y){let k=Y.slice(y,A.start);if(k.trim()){let E=await H(k,j,q,G,$);K.enqueue(E),await new Promise((S)=>setTimeout(S,0))}}let I=await H(A.content,j,q,G,$);K.enqueue(I),await new Promise((k)=>setTimeout(k,0)),y=A.end}if(y<Y.length){let A=Y.slice(y);if(A.trim()){let I=await H(A,j,q,G,$);K.enqueue(I)}}}}else{let w=new Map;for(let Z of D)if(Z.type==="shell"||Z.type==="content"){let F=await H(Z.content,j,q,G,$);K.enqueue(F)}else if(Z.type==="suspense"&&Z.name){let F=`stx-suspense-${Z.name}`;K.enqueue(`<div id="${F}" data-suspense="${Z.name}" style="display:contents;">
3
3
  <template data-suspense-fallback>Loading...</template>
4
4
  </div>`),w.set(Z.name,H(Z.content,j,q,G,$))}K.enqueue(`
5
5
  <script>
@@ -191,4 +191,4 @@ else {
191
191
  stx.hydrate();
192
192
  }
193
193
  })();`}
194
- export{r as Wf,N as Xf,C as Yf,s as Zf,a as _f,o as $f,n as ag,e as bg,d as cg,h as dg,t as eg,qq as fg,Bq as gg,Gq as hg};
194
+ export{r as Tf,N as Uf,C as Vf,s as Wf,a as Xf,o as Yf,n as Zf,e as _f,d as $f,h as ag,t as bg,qq as cg,Bq as dg,Gq as eg};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
2
  import{matchRoute as v,Router as y}from"stx-router";import{findErrorPage as G,formatRoutes as H,generateRouteManifest as I,generateRouteTypes as J,matchRoute as K}from"stx-router";function A(f,j={}){return new y(f,j).routes}function C(f,j){let q=v(f,j);return q?q.params:null}
3
- export{A as Gi,C as Hi,G as Ii,H as Ji,I as Ki,J as Li,K as Mi};
3
+ export{A as Di,C as Ei,G as Fi,H as Gi,I as Hi,J as Ii,K as Ji};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
2
  function z(j){return j.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function B(j,F){if(j.serverDynamic[F]!==void 0)return String(j.serverDynamic[F]);let G=j.static[F];if(typeof G==="string")return G;return}var $="<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'/images/safe-image-default.svg';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>",w={name:"SafeImage",aliases:["safe-image","safe-img"],render(j,F,G){let W=B(j,"src")||"",X=B(j,"alt")||"",Y=B(j,"fallback")||"/images/safe-image-default.svg",O=B(j,"class")||B(j,"className")||"",Q=B(j,"fallbackClassName")||"",q=[];if(q.push(`src="${z(W)}"`),q.push(`alt="${z(X)}"`),O)q.push(`class="${z(O)}"`);if(q.push(`data-fallback="${z(Y)}"`),Q)q.push(`data-fallback-class="${z(Q)}"`);q.push('onerror="window.__stxSafeImageHandler(this)"');let Z=new Set(["src","alt","fallback","class","className","fallbackClassName"]);for(let[J,K]of Object.entries(j.static)){if(Z.has(J))continue;if(typeof K==="boolean"){if(K)q.push(z(J))}else q.push(`${z(J)}="${z(K)}"`)}let U=`<img ${q.join(" ")} />`,V=G.context;if(!V.__safeImageHandlerEmitted)return V.__safeImageHandlerEmitted=!0,`${$}${U}`;return U}};
3
- export{w as hz};
3
+ export{w as jz};
@@ -125,4 +125,4 @@ var W=typeof window<"u"&&typeof document<"u",A={color:"#6366f1",initialColor:"",
125
125
  })();
126
126
  </script>
127
127
  `}var P={useLoadingIndicator:R,initLoadingIndicator:T,generateLoadingIndicatorHtml:w};
128
- export{R as Wl,T as Xl,C as Yl,w as Zl,P as _l};
128
+ export{R as Tl,T as Ul,C as Vl,w as Wl,P as Xl};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
2
  var{defineProperty:e,getOwnPropertyNames:g,getOwnPropertyDescriptor:h}=Object,i=Object.prototype.hasOwnProperty;function j(a){return this[a]}var m=(a)=>{var b=(f??=new WeakMap).get(a),c;if(b)return b;if(b=e({},"__esModule",{value:!0}),a&&typeof a==="object"||typeof a==="function"){for(var d of g(a))if(!i.call(b,d))e(b,d,{get:j.bind(a,d),enumerable:!(c=h(a,d))||c.enumerable})}return f.set(a,b),b},f;var k=(a)=>a;function l(a,b){this[a]=k.bind(null,b)}var n=(a,b)=>{for(var c in b)e(a,c,{get:b[c],enumerable:!0,configurable:!0,set:l.bind(b,c)})};var o=(a,b)=>()=>(a&&(b=a(a=0)),b);var p=import.meta.require;
3
- export{m as mB,n as nB,o as oB,p as pB};
3
+ export{m as oB,n as pB,o as qB,p as rB};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Ks as T,Qr as B}from"./chunk-1xz0w746.js";import{dt as N}from"./chunk-g1vt329s.js";import{pB as M}from"./chunk-xv34zbp4.js";import O from"fs";import Z from"path";async function S(q,G={},z={}){let E=await Bun.file(q).text(),j=E.match(/<script\s+server\s*>([\s\S]*?)<\/script>/i),F=j?j[1]:"",J=j?E.replace(/<script\s+server\s*>[\s\S]*?<\/script>/i,""):E;J=J.replace(/<script\s+client\s*>/gi,"<script>");let K={__filename:q,__dirname:Z.dirname(q),props:G,...G};if(F)await N(F,K,q);let L={...B,...z};return await T(J,K,q,L,new Set)}async function y(q){let G=performance.now(),z={success:!0,views:[],errors:[],duration:0},{viewsDir:E,outputDir:j,componentsDir:F=Z.join(E,"components"),layoutsDir:J=Z.join(E,"layouts"),partialsDir:K=Z.join(E,"partials"),globalProps:L={},placeholders:Q={},views:U,debug:I=!1,generateManifest:R=!0}=q;if(I)console.log("Building STX views..."),console.log(` Source: ${E}`),console.log(` Output: ${j}`);O.mkdirSync(j,{recursive:!0});let A={componentsDir:F,layoutsDir:J,partialsDir:K,debug:I},_;if(U&&U.length>0)_=U;else _=O.readdirSync(E).filter((W)=>W.endsWith(".stx")).map((W)=>({input:W}));for(let H of _){let W=Z.join(E,H.input),X=H.output||H.input.replace(/\.stx$/,".html"),$=Z.join(j,X);if(I)console.log(` Building ${H.input}...`);try{let Y={...L,...H.props,...Q},k=await S(W,Y,A);await Bun.write($,k),z.views.push(X)}catch(Y){let k=Y instanceof Error?Y.message:String(Y);if(z.errors.push({file:H.input,error:k}),z.success=!1,I)console.error(` Error: ${k}`)}}if(R){let H={buildTime:new Date().toISOString(),views:z.views,placeholders:Q,errors:z.errors.length>0?z.errors:void 0};await Bun.write(Z.join(j,"manifest.json"),JSON.stringify(H,null,2))}if(z.duration=performance.now()-G,I)if(z.success)console.log(`
2
+ import{Ls as T,Rr as B}from"./chunk-w01y57f5.js";import{et as N}from"./chunk-nap11ntr.js";import{rB as M}from"./chunk-3jm3snz8.js";import O from"fs";import Z from"path";async function S(q,G={},z={}){let E=await Bun.file(q).text(),j=E.match(/<script\s+server\s*>([\s\S]*?)<\/script>/i),F=j?j[1]:"",J=j?E.replace(/<script\s+server\s*>[\s\S]*?<\/script>/i,""):E;J=J.replace(/<script\s+client\s*>/gi,"<script>");let K={__filename:q,__dirname:Z.dirname(q),props:G,...G};if(F)await N(F,K,q);let L={...B,...z};return await T(J,K,q,L,new Set)}async function y(q){let G=performance.now(),z={success:!0,views:[],errors:[],duration:0},{viewsDir:E,outputDir:j,componentsDir:F=Z.join(E,"components"),layoutsDir:J=Z.join(E,"layouts"),partialsDir:K=Z.join(E,"partials"),globalProps:L={},placeholders:Q={},views:U,debug:I=!1,generateManifest:R=!0}=q;if(I)console.log("Building STX views..."),console.log(` Source: ${E}`),console.log(` Output: ${j}`);O.mkdirSync(j,{recursive:!0});let A={componentsDir:F,layoutsDir:J,partialsDir:K,debug:I},_;if(U&&U.length>0)_=U;else _=O.readdirSync(E).filter((W)=>W.endsWith(".stx")).map((W)=>({input:W}));for(let H of _){let W=Z.join(E,H.input),X=H.output||H.input.replace(/\.stx$/,".html"),$=Z.join(j,X);if(I)console.log(` Building ${H.input}...`);try{let Y={...L,...H.props,...Q},k=await S(W,Y,A);await Bun.write($,k),z.views.push(X)}catch(Y){let k=Y instanceof Error?Y.message:String(Y);if(z.errors.push({file:H.input,error:k}),z.success=!1,I)console.error(` Error: ${k}`)}}if(R){let H={buildTime:new Date().toISOString(),views:z.views,placeholders:Q,errors:z.errors.length>0?z.errors:void 0};await Bun.write(Z.join(j,"manifest.json"),JSON.stringify(H,null,2))}if(z.duration=performance.now()-G,I)if(z.success)console.log(`
3
3
  \u2705 Built ${z.views.length} views in ${z.duration.toFixed(0)}ms`);else console.log(`
4
4
  \u26A0\uFE0F Built ${z.views.length} views with ${z.errors.length} errors`);return z}function C(q,G){let z=O.watch(q.viewsDir,{recursive:!0},async(E,j)=>{if(!j)return;if(j.endsWith(".stx")||j.endsWith(".ts")||j.endsWith(".js")){if(q.debug)console.log(`
5
5
  File changed: ${j}, rebuilding...`);let F=await y(q);G?.(F)}});return{close:()=>z.close()}}async function g(q,G={},z={}){let E={...z,skipDefaultSeoTags:!0,skipSignalsRuntime:!0},j=await S(q,G,E);j=await x(j),j=j.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),j=j.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,""),j=j.replace(/<!--\s*stx SEO Tags\s*-->/gi,""),j=j.replace(/\n\s*\n\s*\n/g,`
@@ -9,4 +9,4 @@ File changed: ${j}, rebuilding...`);let F=await y(q);G?.(F)}});return{close:()=>
9
9
  `).replace(/<\/td>/gi,"\t").replace(/<[^>]*>/g,"").replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&copy;/g,"(c)").replace(/&middot;/g,"-").replace(/\n\s*\n\s*\n/g,`
10
10
 
11
11
  `).trim()}var u=y;
12
- export{S as Bq,y as Cq,C as Dq,g as Eq,u as Fq};
12
+ export{S as Cq,y as Dq,C as Eq,g as Fq,u as Gq};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
2
  function t(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}
3
- export{t as gz};
3
+ export{t as iz};
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{Lb as P}from"./chunk-8ahwt6a4.js";import{Mb as Q}from"./chunk-jc0fc4ht.js";import{Bc as O}from"./chunk-6e4c6g46.js";import{Sc as G,Tc as J,Uc as K,Wc as M,Xc as N,ad as L}from"./chunk-yn38c15w.js";import{fe as D}from"./chunk-0qnz93q2.js";import{pB as Z}from"./chunk-xv34zbp4.js";async function $(k={}){G();let b=await D({mode:"dev"});if(!b.config.enabled){N("Story feature is disabled in config.");return}await Q(b);let T=k.port??b.config.port,j,q=async()=>{j=await P(b,{port:T,open:k.open,host:k.host}),K(b.storyFiles.length),J(j.url),L()};await q();let V=O(b,{onChange:async()=>{await j.close();let A=await D({mode:"dev"});Object.assign(b,A),await q()}}),z=async()=>{console.log(`
2
+ import{Lb as P}from"./chunk-7rvh2wwv.js";import{Mb as Q}from"./chunk-jc0fc4ht.js";import{Bc as O}from"./chunk-6e4c6g46.js";import{Sc as G,Tc as J,Uc as K,Wc as M,Xc as N,ad as L}from"./chunk-yn38c15w.js";import{fe as D}from"./chunk-0qnz93q2.js";import{rB as Z}from"./chunk-3jm3snz8.js";async function $(k={}){G();let b=await D({mode:"dev"});if(!b.config.enabled){N("Story feature is disabled in config.");return}await Q(b);let T=k.port??b.config.port,j,q=async()=>{j=await P(b,{port:T,open:k.open,host:k.host}),K(b.storyFiles.length),J(j.url),L()};await q();let V=O(b,{onChange:async()=>{await j.close();let A=await D({mode:"dev"});Object.assign(b,A),await q()}}),z=async()=>{console.log(`
3
3
  `),V.stop(),await j.close(),process.exit(0)};if(process.on("SIGINT",z),process.on("SIGTERM",z),process.stdin.isTTY)process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.on("data",async(A)=>{switch(A.toString()){case"h":L();break;case"o":try{let{exec:X}=await import("child_process"),Y=process.platform==="darwin"?"open":process.platform==="win32"?"start":"xdg-open";X(`${Y} ${j.url}`)}catch{M("Failed to open browser")}break;case"r":await j.close(),await q();break;case"c":console.clear(),G(),K(b.storyFiles.length),J(j.url);break;case"q":case"\x03":await z();break}});await new Promise(()=>{})}var U=$;
4
4
  export{$ as Jb,U as Kb};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{gz as i}from"./chunk-gz5fmp3q.js";function a(e,t){if(e.serverDynamic[t]!==void 0)return String(e.serverDynamic[t]);let o=e.static[t];if(typeof o==="string")return o;return}var r={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)"},x={name:"StxModal",aliases:["stx-modal"],render(e,t,o){let d=a(e,"id");if(!d)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let s=i(d),n=a(e,"size")||"md",l=a(e,"closeOnBackdrop")!=="false",c=a(e,"closeOnEscape")!=="false",m=r[n]||r.md;return`<div id="stx-modal-${s}" class="stx-modal-backdrop" data-stx-modal="${s}" data-close-backdrop="${l}" data-close-escape="${c}" 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">
2
+ import{iz as i}from"./chunk-3rh7va1z.js";function a(e,t){if(e.serverDynamic[t]!==void 0)return String(e.serverDynamic[t]);let o=e.static[t];if(typeof o==="string")return o;return}var r={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)"},x={name:"StxModal",aliases:["stx-modal"],render(e,t,o){let d=a(e,"id");if(!d)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let s=i(d),n=a(e,"size")||"md",l=a(e,"closeOnBackdrop")!=="false",c=a(e,"closeOnEscape")!=="false",m=r[n]||r.md;return`<div id="stx-modal-${s}" class="stx-modal-backdrop" data-stx-modal="${s}" data-close-backdrop="${l}" data-close-escape="${c}" 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">
3
3
  <div class="stx-modal-panel" style="${m};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)">
4
4
  <div style="padding:1.5rem">${t}</div>
5
5
  </div>
@@ -9,4 +9,4 @@ import{gz as i}from"./chunk-gz5fmp3q.js";function a(e,t){if(e.serverDynamic[t]!=
9
9
  .stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
10
10
  .stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
11
11
  </style>`}};
12
- export{x as fz};
12
+ export{x as hz};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ export{w as ky,A as ly,N as my,T as ny,V as oy,b as py};
@@ -0,0 +1,3 @@
1
+ // @bun
2
+ var Yq={};
3
+ export{Yq as sf};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Se as O,Ve as Q}from"./chunk-psc3wfcf.js";Q();function J(j){let q=j.pwa;if(!q?.enabled)return"";let A=q.manifest,z=q.icons?.outputDir?`/${q.icons.outputDir}`:"/pwa-icons",G=O(j),C=`
2
+ import{Se as O,Ve as Q}from"./chunk-87kx8byz.js";Q();function J(j){let q=j.pwa;if(!q?.enabled)return"";let A=q.manifest,z=q.icons?.outputDir?`/${q.icons.outputDir}`:"/pwa-icons",G=O(j),C=`
3
3
  <!-- stx PWA Meta Tags -->
4
4
  <link rel="manifest" href="/manifest.json">
5
5
  <meta name="theme-color" content="${K(A?.themeColor||"#000000")}">
@@ -1,3 +1,3 @@
1
1
  // @bun
2
2
  function z(c,j="_method"){let k=c.toUpperCase();if(k==="GET"||k==="POST")return"";return`<input type="hidden" name="${j}" value="${k}">`}function B(c){return c.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(j,k,v,A,x)=>{return z(v,x||"_method")})}function C(c,j="_method"){if(c&&typeof c[j]==="string")return c[j].toUpperCase();return null}
3
- export{z as fu,B as gu,C as hu};
3
+ export{z as gu,B as hu,C as iu};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{be as J}from"./chunk-hc2mf5h6.js";import{fe as H}from"./chunk-0qnz93q2.js";import{pB as I}from"./chunk-xv34zbp4.js";async function P(j={}){let{describe:A,test:z,expect:k}=await import("bun:test"),D=await H({mode:"build"});A("STX Story Visual Tests",()=>{z("should pass visual regression tests",async()=>{let q=await J(D,{filter:j.filter,threshold:j.threshold,update:j.update});if(console.log(`
2
+ import{be as J}from"./chunk-05hgyyqc.js";import{fe as H}from"./chunk-0qnz93q2.js";import{rB as I}from"./chunk-3jm3snz8.js";async function P(j={}){let{describe:A,test:z,expect:k}=await import("bun:test"),D=await H({mode:"build"});A("STX Story Visual Tests",()=>{z("should pass visual regression tests",async()=>{let q=await J(D,{filter:j.filter,threshold:j.threshold,update:j.update});if(console.log(`
3
3
  Visual Tests: ${q.passed}/${q.total} passed`),q.failed>0){console.log(`
4
4
  Failed tests:`);for(let E of q.failures)console.log(` \u2717 ${E.storyId} - ${E.variantId}`),console.log(` Difference: ${(E.difference??0).toFixed(2)}%`)}k(q.failed).toBe(0)},j.timeout||30000)})}async function Q(j={}){let{describe:A,test:z,expect:k}=await import("bun:test"),D=await H({mode:"build"}),{scanStoryFiles:q}=await import("./story/collect/scanner.js"),E=await q(D);A("STX Stories",()=>{for(let G of E){if(j.filter&&j.filter.length>0){if(!j.filter.some((K)=>G.fileName.toLowerCase().includes(K.toLowerCase())))continue}A(G.fileName,()=>{if(z("should render without errors",async()=>{let B=await Bun.file(G.path).text();k(B).toBeTruthy(),k(B.length).toBeGreaterThan(0)}),G.story)for(let B of G.story.variants)z(`variant: ${B.title}`,async()=>{if(k(B.title).toBeTruthy(),B.source)k(B.source.length).toBeGreaterThan(0)})})}})}async function L(j={}){let A=Date.now(),z=await H({mode:"build"}),k=await J(z,{filter:j.filter,threshold:j.threshold,update:j.update});return{passed:k.passed,failed:k.failed,total:k.total,duration:Date.now()-A}}function R(j){return`/**
5
5
  * Auto-generated story tests
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Rs as J,Sr as H}from"./chunk-1xz0w746.js";import A from"fs";import $ from"path";async function B(z){try{let G=(await Bun.file(z).text()).match(/<script\b[^>]*>([\s\S]*?)<\/script>/i);if(!G)return[];let K=G[1],q=[],j=/\/\*\*\s*([\s\S]*?)\s*\*\/\s*(?:(?:const|let|var)\s*)?(?:([\w$]+)\s*=|module\.exports\.([\w$]+)\s*=|\s*([\w$]+)\s*:)/g,O;while((O=j.exec(K))!==null){let Q=O[1],U=O[2]||O[3]||O[4];if(!U)continue;let V={name:U},X=Q.match(/@type\s+\{([^}]+)\}/i);if(X)V.type=X[1].trim();if(Q.match(/@required/i))V.required=!0;let S=Q.match(/@default\s+(.+?)(?:\s+|$)/i);if(S)V.default=S[1].trim();let _=Q.split(`
2
+ import{Ss as J,Tr as H}from"./chunk-w01y57f5.js";import A from"fs";import $ from"path";async function B(z){try{let G=(await Bun.file(z).text()).match(/<script\b[^>]*>([\s\S]*?)<\/script>/i);if(!G)return[];let K=G[1],q=[],j=/\/\*\*\s*([\s\S]*?)\s*\*\/\s*(?:(?:const|let|var)\s*)?(?:([\w$]+)\s*=|module\.exports\.([\w$]+)\s*=|\s*([\w$]+)\s*:)/g,O;while((O=j.exec(K))!==null){let Q=O[1],U=O[2]||O[3]||O[4];if(!U)continue;let V={name:U},X=Q.match(/@type\s+\{([^}]+)\}/i);if(X)V.type=X[1].trim();if(Q.match(/@required/i))V.required=!0;let S=Q.match(/@default\s+(.+?)(?:\s+|$)/i);if(S)V.default=S[1].trim();let _=Q.split(`
3
3
  `).map((Z)=>Z.trim().replace(/^\*\s*/,"")).filter((Z)=>!Z.startsWith("@")&&Z.length>0);V.description=_.join(" ").trim(),q.push(V)}if(q.length===0){let Q=K.match(/module\.exports\s*=\s*\{([^}]+)\}/i);if(Q){let V=Q[1].split(",").map((X)=>X.trim()).filter(Boolean);for(let X of V){let[Y]=X.split(":").map((S)=>S.trim());if(Y)q.push({name:Y})}}}return q}catch(I){return console.error(`Error extracting props from ${z}:`,I),[]}}async function E(z){try{let I=await Bun.file(z).text(),G=I.match(/^\s*<!--\s*([\s\S]*?)\s*-->/)||I.match(/^\s*\/\*\*\s*([\s\S]*?)\s*\*\//);if(G)return G[1].split(`
4
4
  `).map((K)=>K.trim().replace(/^\*\s*/,"")).join(" ").trim();return""}catch{return""}}async function N(z,I=!1,G){let K=$.basename(z,".stx"),q=await B(z),j=await E(z),O="";if(I&&G)O=`<${G}></${G}>`;else{let Q=q.map((U)=>{if(U.type==="boolean")return`:${U.name}="true"`;return`${U.name}="value"`}).join(`
5
5
  `);O=`<${K}
@@ -139,4 +139,4 @@ import{Rs as J,Sr as H}from"./chunk-1xz0w746.js";import A from"fs";import $ from
139
139
  <td>${j.description||"-"}</td>
140
140
  <td>${j.hasEndTag?"Yes":"No"}</td>
141
141
  </tr>`;q+="</tbody></table>";for(let j of G)if(j.example)q+=`<h3>@${j.name}</h3>`,q+=`<p>${j.description||""}</p>`,q+="<h4>Example</h4>",q+=`<pre><code>${j.example.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}</code></pre>`}return q+="</body></html>",q}function u(z=[],I=[],G=[],K){return JSON.stringify({components:z,templates:I,directives:G,extraContent:K||""},null,2)}async function P(z){try{let{componentsDir:I,templatesDir:G,webComponentsConfig:K,customDirectives:q,config:j}=z;if(!j.enabled)return!1;let O=j.outputDir||"docs";if(await A.promises.mkdir(O,{recursive:!0}),console.log("Generating documentation..."),I)console.log(`Components directory: ${I}`);if(G)console.log(`Templates directory: ${G}`);console.log(`Output directory: ${O}`);let Q=[];if(j.components!==!1&&I)console.log("Generating component documentation..."),Q=await W(I,K),console.log(`Found ${Q.length} components`);let U=[];if(j.templates!==!1&&G)console.log("Generating template documentation..."),U=await F(G),console.log(`Found ${U.length} templates`);let V=[];if(j.directives!==!1)console.log("Generating directive documentation..."),V=await y(q),console.log(`Found ${V.length} directives`);let X=j.format||"markdown",Y=j.extraContent,S="",_="";switch(X){case"markdown":S=T(Q,U,V,Y),_="md";break;case"html":S=M(Q,U,V,Y),_="html";break;case"json":S=u(Q,U,V,Y),_="json";break;default:throw Error(`Unsupported documentation format: ${X}`)}let Z=$.join(O,`stx-docs.${_}`);return await Bun.write(Z,S),console.log(`Documentation generated: ${Z}`),!0}catch(I){return console.error("Error generating documentation:",I),!1}}async function g(z){let I={enabled:!0,outputDir:z.output||"docs",format:z.format||"markdown",components:z.components!==!1,templates:z.templates!==!1,directives:z.directives!==!1,extraContent:z.extraContent},G=z.componentsDir||H.componentsDir,K=z.templatesDir||".";return P({componentsDir:G,templatesDir:K,webComponentsConfig:H.webComponents,customDirectives:H.customDirectives,config:I})}
142
- export{B as dn,E as en,N as fn,L as gn,W as hn,F as in,y as jn,T as kn,M as ln,u as mn,P as nn,g as on};
142
+ export{B as an,E as bn,N as cn,L as dn,W as en,F as fn,y as gn,T as hn,M as in,u as jn,P as kn,g as ln};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{dt as _}from"./chunk-g1vt329s.js";import{pB as M}from"./chunk-xv34zbp4.js";import X from"fs";var U=new Map;async function Z(z,q,A={}){let B=performance.now(),J=[];try{let K=await X.promises.stat(q),O=U.get(q),N;if(O&&O.mtime===K.mtimeMs)N=O.content;else N=await X.promises.readFile(q,"utf-8"),U.set(q,{content:N,mtime:K.mtimeMs,analyzed:null});let{processDirectives:G}=await import("././process.js"),Q={},L=Y(N);if(L)try{await _(L,Q,q)}catch($){J.push(`Warning: Could not extract script variables: ${$ instanceof Error?$.message:String($)}`)}if(A.props)Object.assign(Q,A.props);let W=await G(N,Q,q,{},new Set),F=D(N),b=Y(N);return W=j(W),W=E(W,Q),{html:W,css:F,js:b,errors:J,duration:performance.now()-B}}catch(K){return J.push(K instanceof Error?K.message:String(K)),{html:`<div class="stx-render-error">${k(J[0])}</div>`,css:"",js:"",errors:J,duration:performance.now()-B}}}async function w(z){try{let q=await X.promises.readFile(z,"utf-8"),A=Y(q);if(!A)return null;let B={};if(await _(A,B,z),Array.isArray(B.variants))return B.variants;return null}catch{return null}}async function T(z,q,A,B){let J=q.story?.variants;if(!J){let N=await w(q.path);if(N)J=N}if(!J&&A==="default")return Z(z,q.path,{props:B||{}});if(!J)return Z(z,q.path,{props:B||{}});let K=J.find((N)=>N.id===A);if(!K&&A==="default")return Z(z,q.path,{props:B||{}});if(!K)return{html:'<div class="stx-render-error">Variant not found</div>',css:"",js:"",errors:[`Variant '${A}' not found`],duration:0};let O={...K.state,...B};if(K.source)return R(z,K.source,O);return Z(z,q.path,{props:O})}async function R(z,q,A={}){let B=performance.now(),J=[];try{let{processDirectives:K}=await import("././process.js"),O={...A},N=Y(q);if(N)try{await _(N,O,"inline-template.stx")}catch{}let Q=await K(q,O,"inline-template.stx",{},new Set);return Q=j(Q),Q=E(Q,O),{html:Q,css:D(q),js:Y(q),errors:J,duration:performance.now()-B}}catch(K){return J.push(K instanceof Error?K.message:String(K)),{html:`<div class="stx-render-error">${k(J[0])}</div>`,css:"",js:"",errors:J,duration:performance.now()-B}}}function D(z){let q=[],A=/<style\b[^>]*>([\s\S]*?)<\/style>/gi,B=A.exec(z);while(B!==null)q.push(B[1].trim()),B=A.exec(z);return q.join(`
2
+ import{et as _}from"./chunk-nap11ntr.js";import{rB as M}from"./chunk-3jm3snz8.js";import X from"fs";var U=new Map;async function Z(z,q,A={}){let B=performance.now(),J=[];try{let K=await X.promises.stat(q),O=U.get(q),N;if(O&&O.mtime===K.mtimeMs)N=O.content;else N=await X.promises.readFile(q,"utf-8"),U.set(q,{content:N,mtime:K.mtimeMs,analyzed:null});let{processDirectives:G}=await import("././process.js"),Q={},L=Y(N);if(L)try{await _(L,Q,q)}catch($){J.push(`Warning: Could not extract script variables: ${$ instanceof Error?$.message:String($)}`)}if(A.props)Object.assign(Q,A.props);let W=await G(N,Q,q,{},new Set),F=D(N),b=Y(N);return W=j(W),W=E(W,Q),{html:W,css:F,js:b,errors:J,duration:performance.now()-B}}catch(K){return J.push(K instanceof Error?K.message:String(K)),{html:`<div class="stx-render-error">${k(J[0])}</div>`,css:"",js:"",errors:J,duration:performance.now()-B}}}async function w(z){try{let q=await X.promises.readFile(z,"utf-8"),A=Y(q);if(!A)return null;let B={};if(await _(A,B,z),Array.isArray(B.variants))return B.variants;return null}catch{return null}}async function T(z,q,A,B){let J=q.story?.variants;if(!J){let N=await w(q.path);if(N)J=N}if(!J&&A==="default")return Z(z,q.path,{props:B||{}});if(!J)return Z(z,q.path,{props:B||{}});let K=J.find((N)=>N.id===A);if(!K&&A==="default")return Z(z,q.path,{props:B||{}});if(!K)return{html:'<div class="stx-render-error">Variant not found</div>',css:"",js:"",errors:[`Variant '${A}' not found`],duration:0};let O={...K.state,...B};if(K.source)return R(z,K.source,O);return Z(z,q.path,{props:O})}async function R(z,q,A={}){let B=performance.now(),J=[];try{let{processDirectives:K}=await import("././process.js"),O={...A},N=Y(q);if(N)try{await _(N,O,"inline-template.stx")}catch{}let Q=await K(q,O,"inline-template.stx",{},new Set);return Q=j(Q),Q=E(Q,O),{html:Q,css:D(q),js:Y(q),errors:J,duration:performance.now()-B}}catch(K){return J.push(K instanceof Error?K.message:String(K)),{html:`<div class="stx-render-error">${k(J[0])}</div>`,css:"",js:"",errors:J,duration:performance.now()-B}}}function D(z){let q=[],A=/<style\b[^>]*>([\s\S]*?)<\/style>/gi,B=A.exec(z);while(B!==null)q.push(B[1].trim()),B=A.exec(z);return q.join(`
3
3
  `)}function j(z){return z.replace(/<!--[\s\S]*?-->/g,"").replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"").replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/^\s*\n/gm,"").trim()}function Y(z){let q=[],A=/<script\b[^>]*>([\s\S]*?)<\/script>/gi,B=A.exec(z);while(B!==null)q.push(B[1].trim()),B=A.exec(z);return q.join(`
4
4
  `)}function E(z,q){let A=`<script>window.__stxProps = ${JSON.stringify(q)};</script>`;return z+A}function k(z){return z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function g(){U.clear()}function u(){return{size:U.size,entries:Array.from(U.keys())}}async function I(z){let q=0;for(let A of z)try{let B=await X.promises.stat(A),J=await X.promises.readFile(A,"utf-8");U.set(A,{content:J,mtime:B.mtimeMs,analyzed:null}),q++}catch{}return q}function S(z,q={}){let{title:A="Preview",theme:B="light",background:J="#ffffff",crosswindCss:K=""}=q;return`<!DOCTYPE html>
5
5
  <html lang="en" class="${B==="dark"?"dark":""}">
@@ -80,4 +80,4 @@ else {
80
80
  <span>${Array.isArray(g)?g.join(", "):String(g)}</span>
81
81
  </div>`).join("")}
82
82
  </div>`}var q=["dark","night","monokai","dracula","nord","material","ayu","one-dark","tokyo","gruvbox","solarized-dark"];function G(b){let j=b.toLowerCase();return q.some((g)=>j.includes(g))}
83
- export{x as mo,z as no,B as oo,F as po,q as qo,G as ro};
83
+ export{x as no,z as oo,B as po,F as qo,q as ro,G as so};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
2
  import{createHash as w}from"crypto";import{readFile as D,stat as A}from"fs/promises";async function J(j){try{let q=await D(j);return w("sha256").update(q).digest("hex").slice(0,16)}catch{return""}}function K(j){return w("sha256").update(j).digest("hex").slice(0,16)}function z(j){return w("sha256").update(j).digest("hex").slice(0,16)}function L(j,q){let B=JSON.stringify(q,Object.keys(q).sort());return`${z(j)}-${z(B)}`}async function M(j){try{return(await A(j)).mtimeMs}catch{return 0}}async function N(j){try{return await A(j),!0}catch{return!1}}
3
- export{J as Vk,K as Wk,z as Xk,L as Yk,M as Zk,N as _k};
3
+ export{J as Sk,K as Tk,z as Uk,L as Vk,M as Wk,N as Xk};
@@ -7,4 +7,4 @@ function G(j){return j.replace(/[;{}()]/g,"").replace(/url/gi,"")}function E(j,q
7
7
  <script>
8
8
  (function(){var el=document.getElementById('stx-loading-indicator'),p=0,l=!1,i=null;function u(v){p=Math.min(Math.max(v,0),100);if(el){el.style.opacity=p>0?'1':'0';el.style.transform='scaleX('+(p/100)+')'}}window.stxLoading={start:function(){l=!0;p=0;u(10);if(i)clearInterval(i);i=setInterval(function(){if(!l)return;var r=90-p,inc=Math.max(0.5,r*0.1);if(p<90)u(p+inc)},${K})},finish:function(){l=!1;if(i){clearInterval(i);i=null}u(100);setTimeout(function(){if(el)el.style.opacity='0';setTimeout(function(){p=0;if(el)el.style.transform='scaleX(0)'},300)},200)},set:function(v){u(v)},clear:function(){l=!1;p=0;if(i){clearInterval(i);i=null}if(el){el.style.opacity='0';el.style.transform='scaleX(0)'}}};document.addEventListener('click',function(e){var a=e.target.closest&&e.target.closest('a');if(!a)return;var h=a.getAttribute('href');if(!h||h.startsWith('http')||h.startsWith('#')||h.startsWith('mailto:')||h.startsWith('tel:')||a.target==='_blank')return;window.stxLoading.start()});window.addEventListener('popstate',function(){window.stxLoading.start()});window.addEventListener('load',function(){window.stxLoading.finish()})})();
9
9
  </script>`}};
10
- export{O as Zy};
10
+ export{O as $y};
@@ -1163,4 +1163,4 @@ else if (data.type === 'event' && data.method) {
1163
1163
  })();
1164
1164
  </script>
1165
1165
  `,generateCraftBridgeScript:F,processCraftDirective:H,injectCraftBridge:I,isCraftEnvironment:G},N=J;
1166
- export{L as Vo,F as Wo,G as Xo,H as Yo,I as Zo,N as _o};
1166
+ export{L as Wo,F as Xo,G as Yo,H as Zo,I as _o,N as $o};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
2
  var I=null,N=[],M=!1,P=new Set,X=[],Y=[];function Z(j){let F=j,A=new Set,z=new Set,G=()=>{if(I)z.add(I);return F};return G.set=(H)=>{if(!Object.is(H,F)){let K=F;if(F=H,A.forEach((J)=>J(F,K)),M)z.forEach((J)=>P.add(J));else z.forEach((J)=>J())}},G.update=(H)=>{G.set(H(F))},G.subscribe=(H)=>{return A.add(H),()=>A.delete(H)},Object.defineProperty(G,"_isSignal",{value:!0,writable:!1}),G}function _(j){let F,A=!0,z=new Set,G=()=>{if(!A)if(A=!0,M)z.forEach((K)=>P.add(K));else z.forEach((K)=>K())},H=()=>{if(I)z.add(I);if(A){let K=I;I=G,N.push(G);try{F=j()}finally{N.pop(),I=K}A=!1}return F};return Object.defineProperty(H,"_isDerived",{value:!0,writable:!1}),H}function $(j,F={}){let A,z=!1,G=()=>{if(z)return;if(A)A(),A=void 0;let H=I;I=G,N.push(G);try{A=j()}finally{N.pop(),I=H}};if(F.immediate!==!1)G();return()=>{if(z=!0,A)A()}}function C(j){if(M){j();return}M=!0;try{j()}finally{M=!1,P.forEach((F)=>F()),P.clear()}}function S(j){X.push(j)}function W(j){Y.push(j)}function q(j){return typeof j==="function"&&j._isSignal===!0}function O(j){return typeof j==="function"&&j._isDerived===!0}function w(j){if(q(j)||O(j))return j();return j}function x(j){let F=I;I=null;try{return j()}finally{I=F}}function B(j,F){let A=typeof j==="function"?j:()=>j,z=Z([]),G=_(()=>z().reduce((J,L)=>F(J,L.action),A())),H=!1;return $(()=>{if(A(),!H){H=!0;return}if(x(()=>z().length))z.set([])}),[G,(J,L)=>{let R={action:J};z.set([...z(),R]);let Q=()=>{let T=z().filter((U)=>U!==R);if(T.length!==z().length)z.set(T)};if(L&&typeof L.then==="function")Promise.resolve(L).then(Q,Q);return Q}]}
3
- export{Z as dq,_ as eq,$ as fq,C as gq,S as hq,W as iq,q as jq,O as kq,w as lq,x as mq,B as nq};
3
+ export{Z as eq,_ as fq,$ as gq,C as hq,S as iq,W as jq,q as kq,O as lq,w as mq,x as nq,B as oq};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Lk as y,Mk as z,Ok as A}from"./chunk-ckxjqqn9.js";var E={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0};class B{config;constructor(j={}){this.config={...E,...j}}async get(j,k){return y(j,k,"image",this.config)}async set(j,k,q){return z(j,k,q,"image",this.config)}async clear(){return A("image",this.config)}updateConfig(j){this.config={...this.config,...j}}}var w=null;function x(j){if(!w)w=new B(j);else if(j)w.updateConfig(j);return w}async function G(j,k,q){let v=q?{directory:`${q.outputDir}/../.cache`}:{};return x(v).get(j,k)}async function H(j,k,q,v){let D=v?{directory:`${v.outputDir}/../.cache`}:{};return x(D).set(j,k,q)}async function J(){return x().clear()}
3
- export{B as Gk,G as Hk,H as Ik,J as Jk};
2
+ import{Ik as y,Jk as z,Lk as A}from"./chunk-gqpkp459.js";var E={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0};class B{config;constructor(j={}){this.config={...E,...j}}async get(j,k){return y(j,k,"image",this.config)}async set(j,k,q){return z(j,k,q,"image",this.config)}async clear(){return A("image",this.config)}updateConfig(j){this.config={...this.config,...j}}}var w=null;function x(j){if(!w)w=new B(j);else if(j)w.updateConfig(j);return w}async function G(j,k,q){let v=q?{directory:`${q.outputDir}/../.cache`}:{};return x(v).get(j,k)}async function H(j,k,q,v){let D=v?{directory:`${v.outputDir}/../.cache`}:{};return x(D).set(j,k,q)}async function J(){return x().clear()}
3
+ export{B as Dk,G as Ek,H as Fk,J as Gk};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
2
  function z(q,x){if(typeof window>"u")return x;return window[q]??x}function B(q,x){if(typeof window>"u")return;window[q]=x}function F(q){let A=z("__STX_STORES__",{})[q];if(!A)throw Error(`Store "${q}" not found. Make sure it's defined with defineStore().`);return A}function Q(q){return F(q)}function U(q){let x=z("__STX_STORES__",{});return q in x}function W(){let q=z("__STX_STORES__",{});return Object.keys(q)}function X(q,x=5000){return new Promise((A,H)=>{let I=Date.now(),D=()=>{let E=F(q);if(E)A(E);else if(Date.now()-I>x)H(Error(`Timeout waiting for store "${q}"`));else requestAnimationFrame(D)};D()})}function J(){return z("__STX_ROUTE_PARAMS__",{})}function K(q){return J()[q]}function Y(q){let x=K(q);if(x===void 0)throw Error(`Route parameter "${q}" not found`);return x}function L(){return z("__STX_MIDDLEWARE_STATE__",{})}function Z(q){return L()[q]}function _(){if(typeof window>"u")return;if(!z("__STX_STORES__",null))B("__STX_STORES__",{})}function $(q,x){let A=z("__STX_STORES__",{});A[q]=x,B("__STX_STORES__",A)}function w(){return z("__STX_STORE_STATE__",null)}function C(q){B("__STX_ROUTE_PARAMS__",q)}function M(q){B("__STX_MIDDLEWARE_STATE__",q)}function N(){return typeof window>"u"}function O(){return typeof window<"u"}function T(q){if(O())q()}function h(q){if(N())q()}
3
- export{F as Dh,Q as Eh,U as Fh,W as Gh,X as Hh,J as Ih,K as Jh,Y as Kh,L as Lh,Z as Mh,_ as Nh,$ as Oh,w as Ph,C as Qh,M as Rh,N as Sh,O as Th,T as Uh,h as Vh};
3
+ export{F as Ah,Q as Bh,U as Ch,W as Dh,X as Eh,J as Fh,K as Gh,Y as Hh,L as Ih,Z as Jh,_ as Kh,$ as Lh,w as Mh,C as Nh,M as Oh,N as Ph,O as Qh,T as Rh,h as Sh};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Vk as F,_k as g}from"./chunk-jpndqst5.js";import{pB as R}from"./chunk-xv34zbp4.js";import{resolve as B,basename as v,extname as S,join as Q}from"path";import{mkdir as E,writeFile as b}from"fs/promises";async function U(){try{return await import("ts-videos")}catch{return null}}var f=[{label:"1080p",width:1920,height:1080,bitrate:5000000,audioBitrate:192000},{label:"720p",width:1280,height:720,bitrate:2500000,audioBitrate:128000},{label:"480p",width:854,height:480,bitrate:1e6,audioBitrate:96000},{label:"360p",width:640,height:360,bitrate:600000,audioBitrate:64000}];async function y(W,Z,w,G,Y){let N=await U();if(!N)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let z=B(W);if(!await g(z))return null;let J=await F(z),C=v(W,S(W)),X=Q(w,`${C}-${J}-hls`);await E(X,{recursive:!0});let H=Z.length>0?Z:f,O=Y?.segmentDuration||6,V=(await new N.Input(z).getInfo()).duration||0,k=[],x=0;for(let $ of H){let _=Q(X,$.label);await E(_,{recursive:!0});let K=`${$.label}.m3u8`,j=Q(_,K);try{let M=await N.generateHLS(z,{outputDir:_,segmentDuration:O,width:$.width,height:$.height,videoBitrate:$.bitrate,audioBitrate:$.audioBitrate,playlistName:$.label});if(M)k.push({quality:$,url:`${G}/${C}-${J}-hls/${$.label}/${K}`,path:j}),x+=M.segmentCount||Math.ceil(V/O)}catch(M){console.warn(`[stx-media] Failed to generate HLS for ${$.label}: ${M}`)}}if(k.length===0)return null;let L=Q(X,"master.m3u8"),A=D(k,G,C,J);return await b(L,A),{manifestUrl:`${G}/${C}-${J}-hls/master.m3u8`,manifestPath:L,playlists:k,segmentCount:x,duration:V}}catch(z){return console.warn(`[stx-media] Failed to generate HLS manifest: ${z}`),null}}function D(W,Z,w,G){let Y=["#EXTM3U","#EXT-X-VERSION:3"];for(let N of W){let{quality:z}=N,J=z.bitrate+(z.audioBitrate||128000),C=`${z.width}x${z.height||Math.round(z.width*9/16)}`;Y.push(`#EXT-X-STREAM-INF:BANDWIDTH=${J},RESOLUTION=${C},NAME="${z.label}"`,`${z.label}/${z.label}.m3u8`)}return Y.join(`
2
+ import{Sk as F,Xk as g}from"./chunk-5ggw1dyv.js";import{rB as R}from"./chunk-3jm3snz8.js";import{resolve as B,basename as v,extname as S,join as Q}from"path";import{mkdir as E,writeFile as b}from"fs/promises";async function U(){try{return await import("ts-videos")}catch{return null}}var f=[{label:"1080p",width:1920,height:1080,bitrate:5000000,audioBitrate:192000},{label:"720p",width:1280,height:720,bitrate:2500000,audioBitrate:128000},{label:"480p",width:854,height:480,bitrate:1e6,audioBitrate:96000},{label:"360p",width:640,height:360,bitrate:600000,audioBitrate:64000}];async function y(W,Z,w,G,Y){let N=await U();if(!N)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let z=B(W);if(!await g(z))return null;let J=await F(z),C=v(W,S(W)),X=Q(w,`${C}-${J}-hls`);await E(X,{recursive:!0});let H=Z.length>0?Z:f,O=Y?.segmentDuration||6,V=(await new N.Input(z).getInfo()).duration||0,k=[],x=0;for(let $ of H){let _=Q(X,$.label);await E(_,{recursive:!0});let K=`${$.label}.m3u8`,j=Q(_,K);try{let M=await N.generateHLS(z,{outputDir:_,segmentDuration:O,width:$.width,height:$.height,videoBitrate:$.bitrate,audioBitrate:$.audioBitrate,playlistName:$.label});if(M)k.push({quality:$,url:`${G}/${C}-${J}-hls/${$.label}/${K}`,path:j}),x+=M.segmentCount||Math.ceil(V/O)}catch(M){console.warn(`[stx-media] Failed to generate HLS for ${$.label}: ${M}`)}}if(k.length===0)return null;let L=Q(X,"master.m3u8"),A=D(k,G,C,J);return await b(L,A),{manifestUrl:`${G}/${C}-${J}-hls/master.m3u8`,manifestPath:L,playlists:k,segmentCount:x,duration:V}}catch(z){return console.warn(`[stx-media] Failed to generate HLS manifest: ${z}`),null}}function D(W,Z,w,G){let Y=["#EXTM3U","#EXT-X-VERSION:3"];for(let N of W){let{quality:z}=N,J=z.bitrate+(z.audioBitrate||128000),C=`${z.width}x${z.height||Math.round(z.width*9/16)}`;Y.push(`#EXT-X-STREAM-INF:BANDWIDTH=${J},RESOLUTION=${C},NAME="${z.label}"`,`${z.label}/${z.label}.m3u8`)}return Y.join(`
3
3
  `)}async function p(W,Z,w,G,Y){let N=await U();if(!N)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let z=B(W);if(!await g(z))return null;let J=await F(z),C=v(W,S(W)),X=Q(w,`${C}-${J}-dash`);await E(X,{recursive:!0});let H=Z.length>0?Z:f,O=Y?.segmentDuration||4,I=Y?.minBufferTime||2,k=(await new N.Input(z).getInfo()).duration||0,x=[],L=[];for(let K of H){let j=Q(X,K.label);await E(j,{recursive:!0});try{if(await N.generateDASH(z,{outputDir:j,segmentDuration:O,width:K.width,height:K.height,videoBitrate:K.bitrate,audioBitrate:K.audioBitrate})){if(x.push({bandwidth:K.bitrate,width:K.width,height:K.height||Math.round(K.width*9/16),url:`${G}/${C}-${J}-dash/${K.label}/video`}),K.audioBitrate)L.push({bandwidth:K.audioBitrate,url:`${G}/${C}-${J}-dash/${K.label}/audio`})}}catch(M){console.warn(`[stx-media] Failed to generate DASH for ${K.label}: ${M}`)}}if(x.length===0)return null;let A=Q(X,"manifest.mpd"),$=h(x,L,k,O,I);await b(A,$);let _=[{type:"video",representations:x}];if(L.length>0)_.push({type:"audio",representations:L});return{manifestUrl:`${G}/${C}-${J}-dash/manifest.mpd`,manifestPath:A,adaptationSets:_,duration:k}}catch(z){return console.warn(`[stx-media] Failed to generate DASH manifest: ${z}`),null}}function h(W,Z,w,G,Y){let N=T(w),z=T(Y),J=`<?xml version="1.0" encoding="UTF-8"?>
4
4
  <MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
5
5
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -27,4 +27,4 @@ import{Vk as F,_k as g}from"./chunk-jpndqst5.js";import{pB as R}from"./chunk-xv3
27
27
  `}J+=` </AdaptationSet>
28
28
  `}return J+=` </Period>
29
29
  </MPD>`,J}function T(W){let Z=Math.floor(W/3600),w=Math.floor(W%3600/60),G=Math.floor(W%60),Y="PT";if(Z>0)Y+=`${Z}H`;if(w>0)Y+=`${w}M`;return Y+=`${G}S`,Y}
30
- export{f as Aj,y as Bj,p as Cj};
30
+ export{f as xj,y as yj,p as zj};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Mm as T,Nm as b,Om as v,Um as n,Vm as I,Wm as d,Xm as c,Zm as w}from"./chunk-4d2y57k7.js";function GG(K,B={}){let{src:X,alt:G,width:x,height:Z,sizes:q="100vw",loading:$="lazy",priority:O=!1,quality:W=v,placeholder:J="none",formats:Y=b,widths:M=T,decoding:C="async",fetchpriority:k,objectFit:U,objectPosition:D}=K,Q=K.class,E=K.style,{processedImage:P,variants:_,optimize:H=!0,isDev:R=!1}=B;if(_&&_.length>0)return p(K,_,P);if(R||!H)return s(K);return r(K)}function p(K,B,X){let{src:G,alt:x,width:Z,height:q,sizes:$="100vw",loading:O="lazy",priority:W=!1,decoding:J="async",fetchpriority:Y,objectFit:M,objectPosition:C,placeholder:k="none"}=K,U=K.class,D=K.style,Q=c(B),E=d(B),P=typeof $==="object"?I($):$,_=X?X.aspectRatio:Z&&q?Number(Z)/Number(q):void 0,H=[];if(_)H.push(`aspect-ratio: ${_}`);if(M)H.push(`object-fit: ${M}`);if(C)H.push(`object-position: ${C}`);if(D)H.push(D);let R=H.length>0?` style="${H.join("; ")}"`:"",z=U?` class="${U}"`:"",j=W?"":` loading="${O}"`,S=` decoding="${J}"`,L=Y?` fetchpriority="${Y}"`:W?' fetchpriority="high"':"",y=["avif","webp","jpeg","png"],A=[];for(let N of y){let V=Q.get(N);if(V&&V.length>0){let F=n(V),o=w(N);A.push(` <source type="${o}" srcset="${F}" sizes="${P}" />`)}}let g="",m="",f;if(k!=="none"&&X?.placeholder){let N=`img-${Math.random().toString(36).slice(2,8)}`;if(g=`<div class="stx-image-wrapper" id="${N}">`,m="</div>",k==="blur")f=`
2
+ import{Jm as T,Km as b,Lm as v,Rm as n,Sm as I,Tm as d,Um as c,Wm as w}from"./chunk-cygfdk1n.js";function GG(K,B={}){let{src:X,alt:G,width:x,height:Z,sizes:q="100vw",loading:$="lazy",priority:O=!1,quality:W=v,placeholder:J="none",formats:Y=b,widths:M=T,decoding:C="async",fetchpriority:k,objectFit:U,objectPosition:D}=K,Q=K.class,E=K.style,{processedImage:P,variants:_,optimize:H=!0,isDev:R=!1}=B;if(_&&_.length>0)return p(K,_,P);if(R||!H)return s(K);return r(K)}function p(K,B,X){let{src:G,alt:x,width:Z,height:q,sizes:$="100vw",loading:O="lazy",priority:W=!1,decoding:J="async",fetchpriority:Y,objectFit:M,objectPosition:C,placeholder:k="none"}=K,U=K.class,D=K.style,Q=c(B),E=d(B),P=typeof $==="object"?I($):$,_=X?X.aspectRatio:Z&&q?Number(Z)/Number(q):void 0,H=[];if(_)H.push(`aspect-ratio: ${_}`);if(M)H.push(`object-fit: ${M}`);if(C)H.push(`object-position: ${C}`);if(D)H.push(D);let R=H.length>0?` style="${H.join("; ")}"`:"",z=U?` class="${U}"`:"",j=W?"":` loading="${O}"`,S=` decoding="${J}"`,L=Y?` fetchpriority="${Y}"`:W?' fetchpriority="high"':"",y=["avif","webp","jpeg","png"],A=[];for(let N of y){let V=Q.get(N);if(V&&V.length>0){let F=n(V),o=w(N);A.push(` <source type="${o}" srcset="${F}" sizes="${P}" />`)}}let g="",m="",f;if(k!=="none"&&X?.placeholder){let N=`img-${Math.random().toString(36).slice(2,8)}`;if(g=`<div class="stx-image-wrapper" id="${N}">`,m="</div>",k==="blur")f=`
3
3
  #${N} {
4
4
  position: relative;
5
5
  background-image: url('${X.placeholder}');
@@ -31,4 +31,4 @@ ${A.join(`
31
31
  data-formats="${W.join(",")}"
32
32
  data-widths="${J.join(",")}"
33
33
  `.replace(/\s+/g," ").trim();return{html:`<img src="${B}" alt="${u(X)}"${_}${H}${P}${E}${R}${z}${j} ${L} />`}}function t(K){let B=K.match(/<Image\s+([^>]*?)\/?>/);if(!B)return null;let X=B[1],G={},x=/(\w+)(?:=(?:"([^"]*)"|'([^']*)'|(\{[^}]+\})))?/g,Z;while((Z=x.exec(X))!==null){let[,q,$,O,W]=Z,J=$??O??W??!0;switch(q){case"src":G.src=String(J);break;case"alt":G.alt=String(J);break;case"width":G.width=Number(J)||J;break;case"height":G.height=Number(J)||J;break;case"sizes":G.sizes=String(J);break;case"loading":G.loading=J;break;case"priority":G.priority=J===!0||J==="true";break;case"quality":G.quality=Number(J);break;case"placeholder":G.placeholder=J;break;case"class":G.class=String(J);break;case"style":G.style=String(J);break;case"decoding":G.decoding=J;break;case"fetchpriority":G.fetchpriority=J;break;case"objectFit":G.objectFit=J;break;case"objectPosition":G.objectPosition=String(J);break}}if(!G.src||!G.alt)return null;return G}async function JG(K,B){let X=/<Image\s+[^>]*?\/?>/g,G=[],x=[],Z=K,q,$=[];while((q=X.exec(K))!==null)$.push({match:q[0],index:q.index});for(let O=$.length-1;O>=0;O--){let{match:W}=$[O],J=t(W);if(J){let Y=await B(J);if(Z=Z.replace(W,Y.html),Y.preloadLink)G.push(Y.preloadLink);if(Y.placeholderCss)x.push(Y.placeholderCss)}}return{html:Z,preloadLinks:G,styles:x}}function u(K){return K.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}
34
- export{GG as Jm,t as Km,JG as Lm};
34
+ export{GG as Gm,t as Hm,JG as Im};
@@ -20,4 +20,4 @@ function E(b){return b.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/
20
20
  </script>
21
21
  </body>
22
22
  </html>`}
23
- export{K as pg};
23
+ export{K as mg};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
2
  var F=/\b(?:state|derived|effect|batch|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/;function H(j,q,w){let k={fullTag:w,content:q,attrs:j};if(/\bserver\b/.test(j))return{...k,type:"server"};if(/\bdata-stx-scoped\b/.test(j))return{...k,type:"client"};if(F.test(q))return{...k,type:"signals"};if(/\bclient\b/.test(j)||/\btype\s*=\s*["']module["']/.test(j)||/\bsrc\s*=/.test(j))return{...k,type:"client"};return{...k,type:"server"}}function J(j){let q=[],w=[],k=[],D=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,z;while((z=D.exec(j))!==null){let B=H(z[1],z[2],z[0]);switch(B.type){case"signals":q.push(B);break;case"client":w.push(B);break;case"server":k.push(B);break}}return{signals:q,client:w,server:k}}
3
- export{H as Pq,J as Qq};
3
+ export{H as Qq,J as Rq};
@@ -32,4 +32,4 @@ else {
32
32
  `}function e(B){let E=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;B=B.replace(E,(G,K)=>{return`const { ${K.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
33
33
  `});let F=/import\s*\{([^}]+)\}\s*from\s*['"]@composables['"]\s*;?\n?/g;return B=B.replace(F,(G,K)=>{return`const { ${K.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__composables
34
34
  `}),B}function BB(B){if(typeof window>"u")return;let E=window;E.__STX_STORES__=E.__STX_STORES__||{};for(let[F,G]of Object.entries(B))E.__STX_STORES__[F]=G;window.dispatchEvent(new CustomEvent("stx:stores-ready",{detail:Object.keys(B)}))}
35
- export{P as tg,z as ug,w as vg,O as wg,y as xg,k as yg,V as zg,D as Ag,h as Bg,g as Cg,v as Dg,S as Eg,b as Fg,d as Gg,m as Hg,c as Ig,n as Jg,l as Kg,x as Lg,p as Mg,i as Ng,u as Og,o as Pg,a as Qg,s as Rg,r as Sg,t as Tg,e as Ug,BB as Vg};
35
+ export{P as qg,z as rg,w as sg,O as tg,y as ug,k as vg,V as wg,D as xg,h as yg,g as zg,v as Ag,S as Bg,b as Cg,d as Dg,m as Eg,c as Fg,n as Gg,l as Hg,x as Ig,p as Jg,i as Kg,u as Lg,o as Mg,a as Ng,s as Og,r as Pg,t as Qg,e as Rg,BB as Sg};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Rr as E}from"./chunk-1xz0w746.js";import{pB as D}from"./chunk-xv34zbp4.js";import I from"path";async function M(q={}){let G=performance.now(),J=q.root||process.cwd(),j=await E(),y=j.ssr?"ssr":"ssg";console.log(`[stx build] Mode: ${y.toUpperCase()}${j.ssr?" (ssr: true in stx.config.ts)":" (default \u2014 ssr is false)"}`);let A,B;if(y==="ssg"){let{generateStaticSite:z}=await import("././ssg.js");A=await z({pagesDir:I.join(j.root||".",j.pagesDir||j.build?.pagesDir||"pages"),publicDir:j.publicDir||j.build?.publicDir||"public",outputDir:j.build?.outputDir||"dist",generate404:j.build?.generate404??!0,minify:j.build?.minify??!0,cleanOutput:j.build?.cleanOutput??!0,...q.ssg})}else{let{buildForProduction:z}=await import("././production-builder.js");B=await z({outputDir:".output",debug:q.debug,...q.ssr})}let H=Math.round(performance.now()-G);return{mode:y,ssg:A,ssr:B,duration:H}}
3
- export{M as Gp};
2
+ import{Sr as E}from"./chunk-w01y57f5.js";import{rB as D}from"./chunk-3jm3snz8.js";import I from"path";async function M(q={}){let G=performance.now(),J=q.root||process.cwd(),j=await E(),y=j.ssr?"ssr":"ssg";console.log(`[stx build] Mode: ${y.toUpperCase()}${j.ssr?" (ssr: true in stx.config.ts)":" (default \u2014 ssr is false)"}`);let A,B;if(y==="ssg"){let{generateStaticSite:z}=await import("././ssg.js");A=await z({pagesDir:I.join(j.root||".",j.pagesDir||j.build?.pagesDir||"pages"),publicDir:j.publicDir||j.build?.publicDir||"public",outputDir:j.build?.outputDir||"dist",generate404:j.build?.generate404??!0,minify:j.build?.minify??!0,cleanOutput:j.build?.cleanOutput??!0,...q.ssg})}else{let{buildForProduction:z}=await import("././production-builder.js");B=await z({outputDir:".output",debug:q.debug,...q.ssr})}let H=Math.round(performance.now()-G);return{mode:y,ssg:A,ssr:B,duration:H}}
3
+ export{M as Hp};
@@ -1,4 +1,4 @@
1
1
  // @bun
2
2
  var J=new WeakMap;function Q(j=16){let q=new Uint8Array(j);return crypto.getRandomValues(q),btoa(String.fromCharCode(...q))}function I(j,q){if(!j)return q?.nonceGenerator?.()??Q();let z=J.get(j);if(!z)z=q?.nonceGenerator?.()??Q(),J.set(j,z);return z}function A(j){J.delete(j)}function R(j,q){let z=[];for(let[F,E]of Object.entries(j)){if(E===void 0||E===null)continue;if(typeof E==="boolean"){if(E)z.push(F);continue}if(Array.isArray(E)){let B=[...E];if(q&&(F==="script-src"||F==="style-src"))B=B.filter((G)=>!G.startsWith("'nonce-")),B.push(`'nonce-${q}'`);if(B.length>0)z.push(`${F} ${B.join(" ")}`)}}return z.join("; ")}function L(j,q){return`<meta http-equiv="Content-Security-Policy" content="${R(j,q).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}var X={"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},K={"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},Y={"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'"]},Z={"default-src":["'none'"],"frame-ancestors":["'none'"]};function O(j){return{enabled:!0,directives:{strict:X,moderate:K,relaxed:Y,api:Z}[j]||K,useNonce:j==="strict",addMetaTag:!0}}function D(j,q){let z={...j};for(let[F,E]of Object.entries(q)){let B=F,G=z[B];if(E===void 0||E===null)continue;if(typeof E==="boolean")z[B]=G||E;else if(Array.isArray(E)){let U=Array.isArray(G)?G:[],W=[...new Set([...U,...E])];z[B]=W}}return z}function H(j,q,z){if(!q.enabled||!q.addMetaTag)return j;if(j.includes('http-equiv="Content-Security-Policy"'))return j;if(!j.includes("<head>")&&!j.includes("<head "))return j;let F=q.useNonce?I(z,q):void 0,E=L(q.directives,F);return j.replace(/<head([^>]*)>/,`<head$1>
3
3
  ${E}`)}function M(j,q){let z=j;return z=z.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(F,E)=>{if(E.includes("nonce="))return F;return`<script nonce="${q}"${E}>`}),z=z.replace(/<style([^>]*)>/gi,(F,E)=>{if(E.includes("nonce="))return F;return`<style nonce="${q}"${E}>`}),z}function S(j,q,z,F){let E=j,B=F.csp;if(E=E.replace(/@csp\b/g,()=>{if(!B?.enabled||!B.directives)return"<!-- CSP not configured -->";let G=B.useNonce?I(q,B):void 0;return L(B.directives,G)}),E=E.replace(/@cspNonce\b/g,()=>{if(!B?.enabled||!B.useNonce)return"";return I(q,B)}),B?.enabled&&B.useNonce)q.cspNonce=I(q,B);return E}var _={name:"csp",handler:(j,q,z,F)=>{let B=z.__stx_options?.csp;if(!B?.enabled||!B.directives)return"<!-- CSP not configured -->";let G=B.useNonce?I(z,B):void 0;return L(B.directives,G)},hasEndTag:!1,description:"Insert Content-Security-Policy meta tag"},$={name:"cspNonce",handler:(j,q,z,F)=>{let B=z.__stx_options?.csp;if(!B?.enabled||!B.useNonce)return"";return I(z,B)},hasEndTag:!1,description:"Output the current CSP nonce value"};function T(){return[_,$]}function V(j){let q=[];if(j["script-src"]?.includes("'unsafe-inline'"))q.push("CSP: Using unsafe-inline in script-src significantly reduces XSS protection");if(j["script-src"]?.includes("'unsafe-eval'"))q.push("CSP: Using unsafe-eval in script-src allows eval() and related functions");if(!j["default-src"])q.push("CSP: No default-src specified. Recommend adding default-src as a fallback");if(j["default-src"]?.includes("*"))q.push("CSP: Using * in default-src provides minimal protection");if(!j["object-src"]&&!j["default-src"]?.includes("'none'"))q.push("CSP: Consider adding object-src: none to block plugins");if(!j["base-uri"])q.push("CSP: Consider adding base-uri to prevent base tag injection attacks");for(let[z,F]of Object.entries(j))if(Array.isArray(F)&&F.includes("http:"))q.push(`CSP: Using http: in ${z} allows insecure resources`);return q}function k(j=!1){return j?"Content-Security-Policy-Report-Only":"Content-Security-Policy"}function y(j,q){if(!j.enabled)return{};let z=j.useNonce?I(q,j):void 0,F=R(j.directives,z);return{[k(j.reportOnly)]:F}}var P={enabled:!1,reportOnly:!1,directives:K,useNonce:!1,addMetaTag:!0};
4
- export{Q as Zw,I as _w,A as $w,R as ax,L as bx,X as cx,K as dx,Y as ex,Z as fx,O as gx,D as hx,H as ix,M as jx,S as kx,_ as lx,$ as mx,T as nx,V as ox,k as px,y as qx,P as rx};
4
+ export{Q as _w,I as $w,A as ax,R as bx,L as cx,X as dx,K as ex,Y as fx,Z as gx,O as hx,D as ix,H as jx,M as kx,S as lx,_ as mx,$ as nx,T as ox,V as px,k as qx,y as rx,P as sx};
@@ -166,4 +166,4 @@ ${Array.from(q.entries()).map(([j,y])=>` window.__stxIslands.register('${j}', f
166
166
  `)}
167
167
  })();
168
168
  </script>`}function F(q){let w=q.match(/<([A-Z][a-zA-Z0-9]+)[\s/>]/);if(w)return w[1];let j=q.match(/<([a-z][a-z0-9]*-[a-z0-9-]+)[\s/>]/);if(j)return j[1];return null}function G(q,w){let j={},y=/:([a-zA-Z_][\w-]*)\s*=\s*"([^"]+)"/g,z;while((z=y.exec(q))!==null){let B=z[1],A=z[2];if(A in w)j[B]=w[A];else j[B]=A}return j}
169
- export{C as pm,D as qm,F as rm,G as sm};
169
+ export{C as mm,D as nm,F as om,G as pm};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{oB as $}from"./chunk-xv34zbp4.js";import M from"fs";import Q from"path";function B(j){let w=0;for(let k=0;k<j.length;k++){let q=j[k];w=(w<<5)-w+q,w=w&w}return Math.abs(w).toString(16).padStart(8,"0")}function C(j,w){let k=Q.basename(j);for(let q of w)if(q.startsWith("*.")){let H=q.slice(1);if(k.endsWith(H))return!0}else if(q.includes("*")){let H=new RegExp(`^${q.replace(/\*/g,".*")}$`);if(H.test(k)||H.test(j))return!0}else if(k===q||j.includes(q))return!0;return!1}function L(j,w,k){let q=Q.extname(j).toLowerCase(),H=A[q],K=(k.maxFileSizeKB||500)*1024;if(w>K)return!1;if(k.exclude&&C(j,k.exclude))return!1;if(k.include&&k.include.length>0){for(let J of k.include)if(J.startsWith("*.")){if(j.endsWith(J.slice(1)))return!0}else if(j.includes(J))return!0}if(H&&k[H]===!0)return!0;if(!H)return!1;return!1}function W(j,w,k,q){let H=M.readdirSync(j,{withFileTypes:!0});for(let K of H){let J=Q.join(j,K.name);if(K.isDirectory()){if(["node_modules",".git",".stx"].includes(K.name))continue;W(J,w,k,q)}else if(K.isFile()){let U=M.statSync(J),V=Q.relative(w,J);if(L(V,U.size,k)){let X=M.readFileSync(J),Y=B(X),Z=`/${V.replace(/\\/g,"/")}`;q.push({url:Z,revision:Y,size:U.size})}}}}function F(j,w){let k=w.pwa?.precache,q=[];if(!k?.enabled)return{entries:[],totalSize:0,fileCount:0};if(!M.existsSync(j))return{entries:[],totalSize:0,fileCount:0};W(j,j,k,q),q.sort((K,J)=>K.url.localeCompare(J.url));let H=q.reduce((K,J)=>K+J.size,0);return{entries:q,totalSize:H,fileCount:q.length}}function G(j){if(j.entries.length===0)return"[]";return`[
2
+ import{qB as $}from"./chunk-3jm3snz8.js";import M from"fs";import Q from"path";function B(j){let w=0;for(let k=0;k<j.length;k++){let q=j[k];w=(w<<5)-w+q,w=w&w}return Math.abs(w).toString(16).padStart(8,"0")}function C(j,w){let k=Q.basename(j);for(let q of w)if(q.startsWith("*.")){let H=q.slice(1);if(k.endsWith(H))return!0}else if(q.includes("*")){let H=new RegExp(`^${q.replace(/\*/g,".*")}$`);if(H.test(k)||H.test(j))return!0}else if(k===q||j.includes(q))return!0;return!1}function L(j,w,k){let q=Q.extname(j).toLowerCase(),H=A[q],K=(k.maxFileSizeKB||500)*1024;if(w>K)return!1;if(k.exclude&&C(j,k.exclude))return!1;if(k.include&&k.include.length>0){for(let J of k.include)if(J.startsWith("*.")){if(j.endsWith(J.slice(1)))return!0}else if(j.includes(J))return!0}if(H&&k[H]===!0)return!0;if(!H)return!1;return!1}function W(j,w,k,q){let H=M.readdirSync(j,{withFileTypes:!0});for(let K of H){let J=Q.join(j,K.name);if(K.isDirectory()){if(["node_modules",".git",".stx"].includes(K.name))continue;W(J,w,k,q)}else if(K.isFile()){let U=M.statSync(J),V=Q.relative(w,J);if(L(V,U.size,k)){let X=M.readFileSync(J),Y=B(X),Z=`/${V.replace(/\\/g,"/")}`;q.push({url:Z,revision:Y,size:U.size})}}}}function F(j,w){let k=w.pwa?.precache,q=[];if(!k?.enabled)return{entries:[],totalSize:0,fileCount:0};if(!M.existsSync(j))return{entries:[],totalSize:0,fileCount:0};W(j,j,k,q),q.sort((K,J)=>K.url.localeCompare(J.url));let H=q.reduce((K,J)=>K+J.size,0);return{entries:q,totalSize:H,fileCount:q.length}}function G(j){if(j.entries.length===0)return"[]";return`[
3
3
  ${j.entries.map((k)=>` { url: '${k.url}', revision: '${k.revision}' }`).join(`,
4
4
  `)}
5
5
  ]`}function R(j){if(j<1024)return`${j} B`;if(j<1048576)return`${(j/1024).toFixed(1)} KB`;return`${(j/1048576).toFixed(2)} MB`}var A;var O=$(()=>{A={".html":"includeHtml",".htm":"includeHtml",".js":"includeJs",".mjs":"includeJs",".css":"includeCss",".png":"includeImages",".jpg":"includeImages",".jpeg":"includeImages",".gif":"includeImages",".webp":"includeImages",".svg":"includeImages",".ico":"includeImages",".woff":"includeFonts",".woff2":"includeFonts",".ttf":"includeFonts",".eot":"includeFonts",".otf":"includeFonts"}});
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Bx as Z}from"./chunk-9ecv8aqj.js";import{py as $}from"./chunk-zen6ax1y.js";import{Ry as _}from"./chunk-27zsyhrd.js";async function b(J,L,B,y){if(!y.customDirectives||y.customDirectives.length===0)return J;let G=J;for(let j of y.customDirectives){if(!j.name||typeof j.handler!=="function"){if(y.debug)console.warn("Invalid custom directive:",j);continue}if(j.hasEndTag)G=await D(G,j,L,B,y);else G=await Q(G,j,L,B,y)}return G}async function D(J,L,B,y,G){let{name:j,handler:k}=L,O=`@${j}`,Y=`@end${j}`,H=J,V=Z(`${O}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${Y}`,"g"),X=[],U=V.exec(H);while(U!==null){let[z,F="",A=""]=U,K=U.index||0;try{let N=F?W(F):[],w=A.trim(),q=await k(w,N,B,y);X.push({original:z,processed:q,startIndex:K})}catch(N){let w=N instanceof Error?N.message:String(N);if(G.debug)console.error(`Error processing custom directive @${j}:`,N);X.push({original:z,processed:$("CustomDirective",`Error in @${j}${F?`(${F})`:""}: ${w}`,_.EVALUATION_ERROR),startIndex:K})}U=V.exec(H)}for(let z=X.length-1;z>=0;z--){let{original:F,processed:A}=X[z];H=H.replace(F,A)}return H}async function Q(J,L,B,y,G){let{name:j,handler:k}=L,O=J,Y=Z(`@${j}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),H=[],V=Y.exec(O);while(V!==null){let[z,F=""]=V,A=V.index||0;try{let K=W(F),N=await k("",K,B,y);H.push({original:z,processed:N,startIndex:A})}catch(K){let N=K instanceof Error?K.message:String(K);if(G.debug)console.error(`Error processing custom directive @${j}:`,K);H.push({original:z,processed:$("CustomDirective",`Error in @${j}(${F}): ${N}`,_.EVALUATION_ERROR),startIndex:A})}V=Y.exec(O)}let X=Z(`@${j}(?!\\w)(?!\\s*\\()`,"g"),U=X.exec(O);while(U!==null){let[z]=U,F=U.index||0;try{let A=await k("",[],B,y);H.push({original:z,processed:A,startIndex:F})}catch(A){let K=A instanceof Error?A.message:String(A);if(G.debug)console.error(`Error processing custom directive @${j}:`,A);H.push({original:z,processed:$("CustomDirective",`Error in @${j}: ${K}`,_.EVALUATION_ERROR),startIndex:F})}U=X.exec(O)}for(let z=H.length-1;z>=0;z--){let{original:F,processed:A}=H[z];O=O.replace(F,A)}return O}function W(J){if(!J.trim())return[];let L=[],B="",y=!1,G="";for(let j=0;j<J.length;j++){let k=J[j];if((k==='"'||k==="'")&&(j===0||J[j-1]!=="\\"))if(!y)y=!0,G=k;else if(k===G)y=!1;else B+=k;else if(k===","&&!y)L.push(B.trim()),B="";else B+=k}if(B.trim())L.push(B.trim());return L.map((j)=>{let k=j.trim();if(k.startsWith('"')&&k.endsWith('"')||k.startsWith("'")&&k.endsWith("'"))return k.substring(1,k.length-1);return k})}
3
- export{b as zx};
2
+ import{Cx as Z}from"./chunk-rv002yn0.js";import{ry as $}from"./chunk-jjvp4t5w.js";import{Ty as _}from"./chunk-cz25azze.js";async function b(J,L,B,y){if(!y.customDirectives||y.customDirectives.length===0)return J;let G=J;for(let j of y.customDirectives){if(!j.name||typeof j.handler!=="function"){if(y.debug)console.warn("Invalid custom directive:",j);continue}if(j.hasEndTag)G=await D(G,j,L,B,y);else G=await Q(G,j,L,B,y)}return G}async function D(J,L,B,y,G){let{name:j,handler:k}=L,O=`@${j}`,Y=`@end${j}`,H=J,V=Z(`${O}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${Y}`,"g"),X=[],U=V.exec(H);while(U!==null){let[z,F="",A=""]=U,K=U.index||0;try{let N=F?W(F):[],w=A.trim(),q=await k(w,N,B,y);X.push({original:z,processed:q,startIndex:K})}catch(N){let w=N instanceof Error?N.message:String(N);if(G.debug)console.error(`Error processing custom directive @${j}:`,N);X.push({original:z,processed:$("CustomDirective",`Error in @${j}${F?`(${F})`:""}: ${w}`,_.EVALUATION_ERROR),startIndex:K})}U=V.exec(H)}for(let z=X.length-1;z>=0;z--){let{original:F,processed:A}=X[z];H=H.replace(F,A)}return H}async function Q(J,L,B,y,G){let{name:j,handler:k}=L,O=J,Y=Z(`@${j}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),H=[],V=Y.exec(O);while(V!==null){let[z,F=""]=V,A=V.index||0;try{let K=W(F),N=await k("",K,B,y);H.push({original:z,processed:N,startIndex:A})}catch(K){let N=K instanceof Error?K.message:String(K);if(G.debug)console.error(`Error processing custom directive @${j}:`,K);H.push({original:z,processed:$("CustomDirective",`Error in @${j}(${F}): ${N}`,_.EVALUATION_ERROR),startIndex:A})}V=Y.exec(O)}let X=Z(`@${j}(?!\\w)(?!\\s*\\()`,"g"),U=X.exec(O);while(U!==null){let[z]=U,F=U.index||0;try{let A=await k("",[],B,y);H.push({original:z,processed:A,startIndex:F})}catch(A){let K=A instanceof Error?A.message:String(A);if(G.debug)console.error(`Error processing custom directive @${j}:`,A);H.push({original:z,processed:$("CustomDirective",`Error in @${j}: ${K}`,_.EVALUATION_ERROR),startIndex:F})}U=X.exec(O)}for(let z=H.length-1;z>=0;z--){let{original:F,processed:A}=H[z];O=O.replace(F,A)}return O}function W(J){if(!J.trim())return[];let L=[],B="",y=!1,G="";for(let j=0;j<J.length;j++){let k=J[j];if((k==='"'||k==="'")&&(j===0||J[j-1]!=="\\"))if(!y)y=!0,G=k;else if(k===G)y=!1;else B+=k;else if(k===","&&!y)L.push(B.trim()),B="";else B+=k}if(B.trim())L.push(B.trim());return L.map((j)=>{let k=j.trim();if(k.startsWith('"')&&k.endsWith('"')||k.startsWith("'")&&k.endsWith("'"))return k.substring(1,k.length-1);return k})}
3
+ export{b as Ax};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
2
  var t="f9c3713";
3
- export{t as xi};
3
+ export{t as ui};
@@ -383,4 +383,4 @@ else {
383
383
  })();
384
384
  </script>
385
385
  `}function R(D,j){let q=L(j);if(!q)return D;let E=D.lastIndexOf("</body>");if(E!==-1)return D.slice(0,E)+q+D.slice(E);return D+q}var T={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async(D,j,q,E)=>{let F=q.__stx_config||{};if(j.length>0){let J=Q(j.join(" "));F.heatmap={...F.heatmap,...J,enabled:!0}}return L(F)}};function Q(D){let j={},q=D.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let E of q){let[F,J]=E.split("="),G=J?.replace(/["']/g,"");switch(F){case"endpoint":j.endpoint=G;break;case"samplingRate":j.samplingRate=Number.parseInt(G,10);break;case"batchSize":j.batchSize=Number.parseInt(G,10);break;case"trackMouse":j.trackMouse=G==="true";break;case"trackClicks":j.trackClicks=G==="true";break;case"trackScroll":j.trackScroll=G==="true";break;case"honorDnt":j.honorDnt=G==="true";break;case"debugOverlay":j.debugOverlay=G==="true";break}}return j}class M{sessions=new Map;addSession(D){let j=this.sessions.get(D.sid);if(j)j.points.push(...D.points),j.lastActivity=Math.max(j.lastActivity,D.lastActivity);else this.sessions.set(D.sid,D)}getPageData(D){let j=[];for(let q of this.sessions.values())if(q.page===D)j.push(...q.points);return j}getClickData(D){return this.getPageData(D).filter((j)=>j.type==="click")}getMovementData(D){return this.getPageData(D).filter((j)=>j.type==="move")}getScrollData(D){let j=this.getPageData(D).filter((E)=>E.type==="scroll"),q=new Map;for(let E of j)if(E.depth!==void 0)q.set(E.depth,(q.get(E.depth)||0)+1);return Array.from(q.entries()).map(([E,F])=>({depth:E,count:F})).sort((E,F)=>E.depth-F.depth)}getZoneStats(D){let j=new Map,q=this.getPageData(D);for(let E of q)if(E.zone){let F=j.get(E.zone)||{clicks:0,hovers:0};if(E.type==="click")F.clicks++;else if(E.type==="move")F.hovers++;j.set(E.zone,F)}return j}generateGridData(D,j=20){let q=this.getPageData(D),E=[];for(let J=0;J<j;J++){E[J]=[];for(let G=0;G<j;G++)E[J][G]=0}for(let J of q){let G=Math.min(Math.floor(J.x/100*j),j-1),K=Math.min(Math.floor(J.y/100*j),j-1);E[K][G]+=J.type==="click"?3:1}let F=0;for(let J of E)for(let G of J)F=Math.max(F,G);return E.map((J,G)=>J.map((K,N)=>({x:N,y:G,intensity:F>0?K/F: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 D=0;for(let j of this.sessions.values())D+=j.points.length;return D}}function U(){return new M}
386
- export{O as nw,L as ow,R as pw,T as qw,M as rw,U as sw};
386
+ export{O as ow,L as pw,R as qw,T as rw,M as sw,U as tw};
@@ -3,4 +3,4 @@ function H(k,v){let z=k.url.replace(/\/$/,""),A=new Date().toISOString().slice(0
3
3
  `)}).join(`
4
4
  `),"</urlset>",""].join(`
5
5
  `)}function E(k){return k.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}
6
- export{H as ih};
6
+ export{H as fh};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Wb as T,Xb as S,Yb as u}from"./chunk-fzm3y0r3.js";import{cc as M}from"./chunk-jjamhxpm.js";import{dc as g}from"./chunk-h5wa62ek.js";import{ic as k}from"./chunk-7n8g0nfn.js";import{oc as P,qc as U,rc as F,sc as w,xc as H}from"./chunk-s6ja2bdg.js";import{yc as v}from"./chunk-55yp0q8t.js";import{fd as L,hd as C}from"./chunk-bpgg59wa.js";import{jd as A}from"./chunk-y0qg6rrv.js";import{Fd as R}from"./chunk-hxx3za24.js";import{Ud as I}from"./chunk-pg1fvqb9.js";import{ge as W,he as _}from"./chunk-0qnz93q2.js";import{pB as f}from"./chunk-xv34zbp4.js";async function a(E,z){let J=await L(E);W(E,J);let $=A(E.config,J);_(E,$),console.log(` Found ${J.length} story files`);let X=typeof z.host==="string"?z.host:z.host===!0?"0.0.0.0":"localhost",Y=new g(E.root),O=new I(E.root),j=new R(E.root),D=P(),Z=Bun.serve({port:z.port,hostname:X,fetch:async(K,Q)=>{let B=new URL(K.url).pathname;if(B==="/__hmr"){if(Q.upgrade(K,{data:{isHmr:!0}}))return;return new Response("WebSocket upgrade failed",{status:400})}if(B.startsWith("/api/"))return q(E,B,K,{presetsManager:Y,bookmarksManager:O,analyticsTracker:j});return b(E,B,z.port)},websocket:{open(K){D.open(K)},close(K){D.close(K)},message(K,Q){D.message(K,Q)}}}),G=`http://${X}:${z.port}`,V=C(E,async(K,Q)=>{console.log(` [${K}] ${Q.relativePath}`);let N=await L(E);W(E,N);let B=A(E.config,N);if(_(E,B),K==="add")F(Q.id,{fileName:Q.fileName});else if(K==="unlink")w(Q.id);else U(Q.id,{fileName:Q.fileName})});if(z.open){let K=G;try{let{exec:Q}=await import("child_process"),N=process.platform;Q(`${N==="darwin"?"open":N==="win32"?"start":"xdg-open"} ${K}`)}catch{}}return{server:Z,url:G,close:async()=>{V(),Z.stop()}}}async function q(E,z,J,$){let{presetsManager:X,bookmarksManager:Y,analyticsTracker:O}=$;if(z==="/api/stories")return Response.json({files:E.storyFiles.map((j)=>({id:j.id,fileName:j.fileName,relativePath:j.relativePath,treePath:j.treePath})),tree:E.tree});if(z.startsWith("/api/story/")){let j=z.slice(11),D=E.storyFiles.find((Z)=>Z.id===j);if(!D)return new Response("Story not found",{status:404});try{let Z=await Bun.file(D.path).text();return Response.json({id:D.id,fileName:D.fileName,relativePath:D.relativePath,content:Z})}catch{return new Response("Error reading story",{status:500})}}if(z==="/api/config")return Response.json({theme:E.config.theme,responsivePresets:E.config.responsivePresets,backgroundPresets:E.config.backgroundPresets});if(z.startsWith("/api/render/")){let j=new URL(J.url),D=z.slice(12).split("/"),Z=D[0],G=D[1]||"default",V,K=j.searchParams.get("props");if(K)try{V=JSON.parse(K)}catch{}let Q=E.storyFiles.find((N)=>N.id===Z);if(!Q)return new Response("Story not found",{status:404});try{let N=await k(E,Q,G,V);return Response.json({html:N.html,css:N.css,js:N.js,errors:N.errors,duration:N.duration})}catch(N){return Response.json({html:"",css:"",js:"",errors:[N instanceof Error?N.message:String(N)],duration:0},{status:500})}}if(z==="/api/presets"&&J.method==="GET")return Response.json({presets:X.getAllPresets()});if(z==="/api/presets"&&J.method==="POST")try{let j=await J.json(),D=X.createPreset(j.name,j.props,{componentId:j.componentId,description:j.description});return await X.save(),Response.json(D)}catch(j){return Response.json({error:String(j)},{status:400})}if(z.startsWith("/api/presets/")&&!z.includes("/use")&&J.method==="GET"){let j=z.slice(13),D=X.getPreset(j);if(!D)return new Response("Preset not found",{status:404});return Response.json(D)}if(z.endsWith("/use")&&J.method==="POST"){let j=z.slice(13,-4),D=X.usePreset(j);if(!D)return new Response("Preset not found",{status:404});return await X.save(),Response.json(D)}if(z.startsWith("/api/presets/")&&J.method==="DELETE"){let j=z.slice(13);if(!X.deletePreset(j))return new Response("Preset not found",{status:404});return await X.save(),Response.json({success:!0})}if(z==="/api/bookmarks"&&J.method==="GET")return Response.json({bookmarks:Y.getAllBookmarks()});if(z==="/api/bookmarks"&&J.method==="POST")try{let j=await J.json(),D=Y.addBookmark(j.storyId,j.variantId,j.props,{name:j.name,notes:j.notes,color:j.color});return await Y.save(),Response.json(D)}catch(j){return Response.json({error:String(j)},{status:400})}if(z==="/api/bookmarks/toggle"&&J.method==="POST")try{let j=await J.json(),D=Y.toggleBookmark(j.storyId,j.variantId,j.props);return await Y.save(),Response.json(D)}catch(j){return Response.json({error:String(j)},{status:400})}if(z.startsWith("/api/bookmarks/")&&z!=="/api/bookmarks/toggle"&&J.method==="GET"){let j=z.slice(15),D=Y.getBookmark(j);if(!D)return new Response("Bookmark not found",{status:404});return Response.json(D)}if(z.startsWith("/api/bookmarks/")&&J.method==="DELETE"){let j=z.slice(15);if(!Y.deleteBookmark(j))return new Response("Bookmark not found",{status:404});return await Y.save(),Response.json({success:!0})}if(z==="/api/analytics/track"&&J.method==="POST")try{let j=await J.json();if(j.type==="view"&&j.componentId)O.trackView(j.componentId,j.variantId);else if(j.type==="prop_change"&&j.componentId&&j.propName)O.trackPropChange(j.componentId,j.propName,null);else if(j.type==="variant_switch"&&j.componentId&&j.variantId)O.trackVariantSwitch(j.componentId,j.variantId);else if(j.type==="search"&&j.query)O.trackSearch(j.query,0);return await O.save(),Response.json({success:!0})}catch(j){return Response.json({error:String(j)},{status:400})}if(z==="/api/analytics/summary"&&J.method==="GET")return Response.json({mostViewed:O.getMostViewedComponents(10),mostChangedProps:O.getMostChangedProps(10),searchAnalytics:O.getSearchAnalytics()});if(z.startsWith("/api/analytics/component/")&&J.method==="GET"){let j=z.slice(25),D=E.storyFiles.find((G)=>G.id===j),Z=O.getComponentAnalytics(j,D?.fileName||j);return Response.json(Z)}return new Response("Not found",{status:404})}function b(E,z,J){let $=x(E,J);return new Response($,{headers:{"Content-Type":"text/html; charset=utf-8"}})}function x(E,z){let{theme:J}=E.config,$=J.title||"STX Story",X=`ws://localhost:${z}/__hmr`,Y=H(X);return`<!DOCTYPE html>
2
+ import{Wb as T,Xb as S,Yb as u}from"./chunk-fzm3y0r3.js";import{cc as M}from"./chunk-jjamhxpm.js";import{dc as g}from"./chunk-h5wa62ek.js";import{ic as k}from"./chunk-52agge4n.js";import{oc as P,qc as U,rc as F,sc as w,xc as H}from"./chunk-s6ja2bdg.js";import{yc as v}from"./chunk-55yp0q8t.js";import{fd as L,hd as C}from"./chunk-bpgg59wa.js";import{jd as A}from"./chunk-y0qg6rrv.js";import{Fd as R}from"./chunk-hxx3za24.js";import{Ud as I}from"./chunk-pg1fvqb9.js";import{ge as W,he as _}from"./chunk-0qnz93q2.js";import{rB as f}from"./chunk-3jm3snz8.js";async function a(E,z){let J=await L(E);W(E,J);let $=A(E.config,J);_(E,$),console.log(` Found ${J.length} story files`);let X=typeof z.host==="string"?z.host:z.host===!0?"0.0.0.0":"localhost",Y=new g(E.root),O=new I(E.root),j=new R(E.root),D=P(),Z=Bun.serve({port:z.port,hostname:X,fetch:async(K,Q)=>{let B=new URL(K.url).pathname;if(B==="/__hmr"){if(Q.upgrade(K,{data:{isHmr:!0}}))return;return new Response("WebSocket upgrade failed",{status:400})}if(B.startsWith("/api/"))return q(E,B,K,{presetsManager:Y,bookmarksManager:O,analyticsTracker:j});return b(E,B,z.port)},websocket:{open(K){D.open(K)},close(K){D.close(K)},message(K,Q){D.message(K,Q)}}}),G=`http://${X}:${z.port}`,V=C(E,async(K,Q)=>{console.log(` [${K}] ${Q.relativePath}`);let N=await L(E);W(E,N);let B=A(E.config,N);if(_(E,B),K==="add")F(Q.id,{fileName:Q.fileName});else if(K==="unlink")w(Q.id);else U(Q.id,{fileName:Q.fileName})});if(z.open){let K=G;try{let{exec:Q}=await import("child_process"),N=process.platform;Q(`${N==="darwin"?"open":N==="win32"?"start":"xdg-open"} ${K}`)}catch{}}return{server:Z,url:G,close:async()=>{V(),Z.stop()}}}async function q(E,z,J,$){let{presetsManager:X,bookmarksManager:Y,analyticsTracker:O}=$;if(z==="/api/stories")return Response.json({files:E.storyFiles.map((j)=>({id:j.id,fileName:j.fileName,relativePath:j.relativePath,treePath:j.treePath})),tree:E.tree});if(z.startsWith("/api/story/")){let j=z.slice(11),D=E.storyFiles.find((Z)=>Z.id===j);if(!D)return new Response("Story not found",{status:404});try{let Z=await Bun.file(D.path).text();return Response.json({id:D.id,fileName:D.fileName,relativePath:D.relativePath,content:Z})}catch{return new Response("Error reading story",{status:500})}}if(z==="/api/config")return Response.json({theme:E.config.theme,responsivePresets:E.config.responsivePresets,backgroundPresets:E.config.backgroundPresets});if(z.startsWith("/api/render/")){let j=new URL(J.url),D=z.slice(12).split("/"),Z=D[0],G=D[1]||"default",V,K=j.searchParams.get("props");if(K)try{V=JSON.parse(K)}catch{}let Q=E.storyFiles.find((N)=>N.id===Z);if(!Q)return new Response("Story not found",{status:404});try{let N=await k(E,Q,G,V);return Response.json({html:N.html,css:N.css,js:N.js,errors:N.errors,duration:N.duration})}catch(N){return Response.json({html:"",css:"",js:"",errors:[N instanceof Error?N.message:String(N)],duration:0},{status:500})}}if(z==="/api/presets"&&J.method==="GET")return Response.json({presets:X.getAllPresets()});if(z==="/api/presets"&&J.method==="POST")try{let j=await J.json(),D=X.createPreset(j.name,j.props,{componentId:j.componentId,description:j.description});return await X.save(),Response.json(D)}catch(j){return Response.json({error:String(j)},{status:400})}if(z.startsWith("/api/presets/")&&!z.includes("/use")&&J.method==="GET"){let j=z.slice(13),D=X.getPreset(j);if(!D)return new Response("Preset not found",{status:404});return Response.json(D)}if(z.endsWith("/use")&&J.method==="POST"){let j=z.slice(13,-4),D=X.usePreset(j);if(!D)return new Response("Preset not found",{status:404});return await X.save(),Response.json(D)}if(z.startsWith("/api/presets/")&&J.method==="DELETE"){let j=z.slice(13);if(!X.deletePreset(j))return new Response("Preset not found",{status:404});return await X.save(),Response.json({success:!0})}if(z==="/api/bookmarks"&&J.method==="GET")return Response.json({bookmarks:Y.getAllBookmarks()});if(z==="/api/bookmarks"&&J.method==="POST")try{let j=await J.json(),D=Y.addBookmark(j.storyId,j.variantId,j.props,{name:j.name,notes:j.notes,color:j.color});return await Y.save(),Response.json(D)}catch(j){return Response.json({error:String(j)},{status:400})}if(z==="/api/bookmarks/toggle"&&J.method==="POST")try{let j=await J.json(),D=Y.toggleBookmark(j.storyId,j.variantId,j.props);return await Y.save(),Response.json(D)}catch(j){return Response.json({error:String(j)},{status:400})}if(z.startsWith("/api/bookmarks/")&&z!=="/api/bookmarks/toggle"&&J.method==="GET"){let j=z.slice(15),D=Y.getBookmark(j);if(!D)return new Response("Bookmark not found",{status:404});return Response.json(D)}if(z.startsWith("/api/bookmarks/")&&J.method==="DELETE"){let j=z.slice(15);if(!Y.deleteBookmark(j))return new Response("Bookmark not found",{status:404});return await Y.save(),Response.json({success:!0})}if(z==="/api/analytics/track"&&J.method==="POST")try{let j=await J.json();if(j.type==="view"&&j.componentId)O.trackView(j.componentId,j.variantId);else if(j.type==="prop_change"&&j.componentId&&j.propName)O.trackPropChange(j.componentId,j.propName,null);else if(j.type==="variant_switch"&&j.componentId&&j.variantId)O.trackVariantSwitch(j.componentId,j.variantId);else if(j.type==="search"&&j.query)O.trackSearch(j.query,0);return await O.save(),Response.json({success:!0})}catch(j){return Response.json({error:String(j)},{status:400})}if(z==="/api/analytics/summary"&&J.method==="GET")return Response.json({mostViewed:O.getMostViewedComponents(10),mostChangedProps:O.getMostChangedProps(10),searchAnalytics:O.getSearchAnalytics()});if(z.startsWith("/api/analytics/component/")&&J.method==="GET"){let j=z.slice(25),D=E.storyFiles.find((G)=>G.id===j),Z=O.getComponentAnalytics(j,D?.fileName||j);return Response.json(Z)}return new Response("Not found",{status:404})}function b(E,z,J){let $=x(E,J);return new Response($,{headers:{"Content-Type":"text/html; charset=utf-8"}})}function x(E,z){let{theme:J}=E.config,$=J.title||"STX Story",X=`ws://localhost:${z}/__hmr`,Y=H(X);return`<!DOCTYPE html>
3
3
  <html lang="en" class="${J.darkClass||"dark"}">
4
4
  <head>
5
5
  <meta charset="UTF-8">
@@ -348,4 +348,4 @@ else {
348
348
  console.log('[stx] Keep-alive runtime initialized');
349
349
  })();
350
350
  `}function Z(f){if(typeof document<"u")document.addEventListener("stx:activated",(j)=>{f(j.detail)})}function _(f){if(typeof document<"u")document.addEventListener("stx:deactivated",(j)=>{f(j.detail)})}
351
- export{Q as Pl,T as Ql,W as Rl,X as Sl,Y as Tl,Z as Ul,_ as Vl};
351
+ export{Q as Ml,T as Nl,W as Ol,X as Pl,Y as Ql,Z as Rl,_ as Sl};
@@ -1,4 +1,4 @@
1
1
  // @bun
2
2
  var P=[320,480,640,768,1024,1280,1536,1920,2560],M=[1,1.5,2,3],I=["avif","webp","jpeg"],L={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"},_={avif:"avif",webp:"webp",jpeg:"jpg",png:"png",gif:"gif"};function A(J,K=P,Z={},B){return K.sort((C,G)=>C-G).map((C)=>{return`${Y(J,{...Z,w:C,fm:B})} ${C}w`}).join(", ")}function D(J,K=320,Z=2560,B=0.08,C={},G){let $=F(K,Z,B);return A(J,$,C,G)}function F(J,K,Z=0.08){let B=[],C=J;while(C<K)B.push(Math.round(C)),C*=1+Z*2;if(B[B.length-1]!==K)B.push(K);return B}function V(J,K,Z=M,B={},C){return Z.sort((G,$)=>G-$).map((G)=>{let $=Math.round(K*G);return`${Y(J,{...B,w:$,dpr:G,fm:C})} ${G}x`}).join(", ")}function E(J,K,Z=M,B=80,C={},G){let $={1:B,1.5:Math.round(B*0.9),2:Math.round(B*0.8),3:Math.round(B*0.7),4:Math.round(B*0.6),5:Math.round(B*0.5)};return Z.sort((X,H)=>X-H).map((X)=>{let H=Math.round(K*X),j=$[X]||Math.round(B*Math.max(0.5,1-X*0.1));return`${Y(J,{...C,w:H,q:j,dpr:X,fm:G})} ${X}x`}).join(", ")}function U(J,K="100vw"){if(!J||Object.keys(J).length===0)return K;let B=Object.entries(J).map(([C,G])=>{let $=/^\d+$/.test(C)?`${C}px`:C;return{bp:$,size:G,numericBp:Number.parseInt($)||0}}).sort((C,G)=>C.numericBp-G.numericBp).map(({bp:C,size:G})=>`(max-width: ${C}) ${G}`);return B.push(K),B.join(", ")}function z(J,K="100vw"){if(!J||J.length===0)return K;let B=[...J].sort((C,G)=>(C.maxWidth||0)-(G.maxWidth||0)).filter((C)=>C.maxWidth).map((C)=>`(max-width: ${C.maxWidth}px) ${C.imageWidth}`);return B.push(K),B.join(", ")}var Q={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 Y(J,K={}){let Z=Object.entries(K).filter(([,G])=>G!==void 0&&G!==null).map(([G,$])=>{if(Array.isArray($))return[G,$.join(",")];return[G,String($)]});if(Z.length===0)return J;let B=Z.map(([G,$])=>`${G}=${encodeURIComponent($)}`).join("&"),C=J.includes("?")?"&":"?";return`${J}${C}${B}`}function T(J){let[K,Z]=J.split("?"),B={};if(Z)new URLSearchParams(Z).forEach((G,$)=>{if(/^\d+$/.test(G))B[$]=Number.parseInt(G,10);else if(/^\d+\.\d+$/.test(G))B[$]=Number.parseFloat(G);else if(G==="true")B[$]=!0;else if(G==="false")B[$]=!1;else B[$]=G});return{src:K,params:B}}function x(J){let{src:K,widths:Z,dprValues:B,fixedWidth:C,formats:G=I,baseUrl:$="",params:X={}}=J,H=[];for(let j of G){let O,q;if(C!==void 0&&B)O=V(K,C,B,X,j),q=B.map((N)=>({path:"",url:Y(K,{...X,w:Math.round(C*N),fm:j}),width:Math.round(C*N),height:0,format:j,size:0,dpr:N}));else{let N=Z||P;O=A(K,N,X,j),q=N.map((R)=>({path:"",url:Y(K,{...X,w:R,fm:j}),width:R,height:0,format:j,size:0}))}H.push({srcset:O,format:j,mimeType:L[j],variants:q})}return H}function w(J,K="100vw"){return J.map(({srcset:Z,mimeType:B})=>`<source type="${B}" srcset="${Z}" sizes="${K}" />`).join(`
3
3
  `)}function g(J,K){if(J.length===0)return;let Z=[...J].sort((C,G)=>C.width-G.width),B=Z.find((C)=>C.width>=K);if(B)return B;return Z[Z.length-1]}function S(J,K){let Z=K?J.filter((C)=>C.format===K):J;if(Z.length===0){let C=J.filter(($)=>$.format==="jpeg"),G=C.length>0?C:J;return G[Math.floor(G.length/2)]}let B=Z.sort((C,G)=>C.width-G.width);return B[Math.floor(B.length/2)]}function W(J){let K=new Map;for(let Z of J){let B=K.get(Z.format)||[];B.push(Z),K.set(Z.format,B)}return K}function k(J){return L[J]||"application/octet-stream"}function y(J){return _[J]||J}function c(J){switch(J.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}}
4
- export{P as xu,M as yu,I as zu,L as Au,_ as Bu,A as Cu,D as Du,F as Eu,V as Fu,E as Gu,U as Hu,z as Iu,Q as Ju,Y as Ku,T as Lu,x as Mu,w as Nu,g as Ou,S as Pu,W as Qu,k as Ru,y as Su,c as Tu};
4
+ export{P as yu,M as zu,I as Au,L as Bu,_ as Cu,A as Du,D as Eu,F as Fu,V as Gu,E as Hu,U as Iu,z as Ju,Q as Ku,Y as Lu,T as Mu,x as Nu,w as Ou,g as Pu,S as Qu,W as Ru,k as Su,y as Tu,c as Uu};
@@ -2,4 +2,4 @@
2
2
  function z(j){let q=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;j=j.replace(q,(w,k)=>{return`const { ${k.split(",").map((n)=>n.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
3
3
  `});let v=/import\s*\{([^}]+)\}\s*from\s*['"]@composables['"]\s*;?\n?/g;return j=j.replace(v,(w,k)=>{return`const { ${k.split(",").map((n)=>n.trim()).filter(Boolean).join(", ")} } = window.__composables
4
4
  `}),j}
5
- export{z as tt};
5
+ export{z as ut};