@ohos-ports/stacksjs-stx 0.2.287-beta.0

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 (946) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +1042 -0
  3. package/dist/a11y.d.ts +256 -0
  4. package/dist/a11y.js +671 -0
  5. package/dist/analytics.d.ts +40 -0
  6. package/dist/analytics.js +159 -0
  7. package/dist/analyzer.d.ts +68 -0
  8. package/dist/analyzer.js +240 -0
  9. package/dist/animation.d.ts +123 -0
  10. package/dist/animation.js +688 -0
  11. package/dist/app-shell.d.ts +76 -0
  12. package/dist/app-shell.js +209 -0
  13. package/dist/app.d.ts +65 -0
  14. package/dist/app.js +79 -0
  15. package/dist/appearance-bootstrap.d.ts +54 -0
  16. package/dist/appearance-bootstrap.js +92 -0
  17. package/dist/asset-roots.d.ts +32 -0
  18. package/dist/asset-roots.js +7 -0
  19. package/dist/assets.d.ts +21 -0
  20. package/dist/assets.js +155 -0
  21. package/dist/ast.d.ts +265 -0
  22. package/dist/ast.js +630 -0
  23. package/dist/async-components.d.ts +123 -0
  24. package/dist/async-components.js +428 -0
  25. package/dist/auth.d.ts +13 -0
  26. package/dist/auth.js +12 -0
  27. package/dist/broadcasting.d.ts +77 -0
  28. package/dist/broadcasting.js +103 -0
  29. package/dist/browser-composables.d.ts +348 -0
  30. package/dist/browser-composables.js +606 -0
  31. package/dist/browser-core-imports.d.ts +12 -0
  32. package/dist/browser-core-imports.js +28 -0
  33. package/dist/build-assets.d.ts +32 -0
  34. package/dist/build-assets.js +29 -0
  35. package/dist/build-externalize-repeated.d.ts +34 -0
  36. package/dist/build-externalize-repeated.js +101 -0
  37. package/dist/build-externalize.d.ts +73 -0
  38. package/dist/build-externalize.js +80 -0
  39. package/dist/build-id.d.ts +57 -0
  40. package/dist/build-id.js +25 -0
  41. package/dist/build-message.d.ts +81 -0
  42. package/dist/build-message.js +65 -0
  43. package/dist/build-mode-detector.d.ts +26 -0
  44. package/dist/build-mode-detector.js +50 -0
  45. package/dist/build-optimizer.d.ts +101 -0
  46. package/dist/build-optimizer.js +433 -0
  47. package/dist/build-views.d.ts +56 -0
  48. package/dist/build-views.js +180 -0
  49. package/dist/build.d.ts +31 -0
  50. package/dist/build.js +34 -0
  51. package/dist/builtins/attrs.d.ts +49 -0
  52. package/dist/builtins/attrs.js +39 -0
  53. package/dist/builtins/drawer.d.ts +24 -0
  54. package/dist/builtins/drawer.js +37 -0
  55. package/dist/builtins/escape.d.ts +12 -0
  56. package/dist/builtins/escape.js +3 -0
  57. package/dist/builtins/icon.d.ts +45 -0
  58. package/dist/builtins/icon.js +100 -0
  59. package/dist/builtins/image-delivery.d.ts +16 -0
  60. package/dist/builtins/image-delivery.js +115 -0
  61. package/dist/builtins/image-placeholder.d.ts +78 -0
  62. package/dist/builtins/image-placeholder.js +137 -0
  63. package/dist/builtins/index.d.ts +26 -0
  64. package/dist/builtins/index.js +34 -0
  65. package/dist/builtins/modal.d.ts +26 -0
  66. package/dist/builtins/modal.js +38 -0
  67. package/dist/builtins/safe-image.d.ts +44 -0
  68. package/dist/builtins/safe-image.js +45 -0
  69. package/dist/builtins/stx-image.d.ts +29 -0
  70. package/dist/builtins/stx-image.js +222 -0
  71. package/dist/builtins/stx-link.d.ts +11 -0
  72. package/dist/builtins/stx-link.js +35 -0
  73. package/dist/builtins/stx-loading-indicator.d.ts +13 -0
  74. package/dist/builtins/stx-loading-indicator.js +35 -0
  75. package/dist/builtins/suspense.d.ts +30 -0
  76. package/dist/builtins/suspense.js +24 -0
  77. package/dist/builtins/toast.d.ts +19 -0
  78. package/dist/builtins/toast.js +42 -0
  79. package/dist/builtins/tooltip.d.ts +18 -0
  80. package/dist/builtins/tooltip.js +106 -0
  81. package/dist/builtins/transition-group.d.ts +27 -0
  82. package/dist/builtins/transition-group.js +22 -0
  83. package/dist/bun-shim.js +496 -0
  84. package/dist/bundle-analyzer/collector.d.ts +66 -0
  85. package/dist/bundle-analyzer/collector.js +233 -0
  86. package/dist/bundle-analyzer/index.d.ts +98 -0
  87. package/dist/bundle-analyzer/index.js +82 -0
  88. package/dist/bundle-analyzer/report.d.ts +39 -0
  89. package/dist/bundle-analyzer/report.js +318 -0
  90. package/dist/bundle-analyzer/treemap.d.ts +19 -0
  91. package/dist/bundle-analyzer/treemap.js +594 -0
  92. package/dist/bundle-analyzer.js +499 -0
  93. package/dist/caching.d.ts +69 -0
  94. package/dist/caching.js +135 -0
  95. package/dist/chunk-0y46fbkx.js +3 -0
  96. package/dist/chunk-122tyfre.js +2 -0
  97. package/dist/chunk-19nfvxfw.js +43 -0
  98. package/dist/chunk-1kah92n2.js +3 -0
  99. package/dist/chunk-1kms3b9d.js +2 -0
  100. package/dist/chunk-1q4y74mh.js +1194 -0
  101. package/dist/chunk-248e84r1.js +4 -0
  102. package/dist/chunk-24ps8kft.js +2 -0
  103. package/dist/chunk-2et5hxfv.js +2 -0
  104. package/dist/chunk-2r1rd8f0.js +2 -0
  105. package/dist/chunk-2tk1zkrz.js +2 -0
  106. package/dist/chunk-38ejahd9.js +3 -0
  107. package/dist/chunk-3zv4wz87.js +2 -0
  108. package/dist/chunk-4122k1bh.js +2 -0
  109. package/dist/chunk-45az9zht.js +2 -0
  110. package/dist/chunk-4qr85f07.js +2 -0
  111. package/dist/chunk-4ww3znrr.js +15 -0
  112. package/dist/chunk-54st8g2j.js +397 -0
  113. package/dist/chunk-58f0mthg.js +3 -0
  114. package/dist/chunk-5a19dhx5.js +2 -0
  115. package/dist/chunk-5kk8gsj2.js +3 -0
  116. package/dist/chunk-5w1e3yxs.js +499 -0
  117. package/dist/chunk-6gdycmxr.js +2 -0
  118. package/dist/chunk-6hmnaza7.js +4473 -0
  119. package/dist/chunk-71t0yan0.js +5 -0
  120. package/dist/chunk-74cv4ta1.js +3 -0
  121. package/dist/chunk-74v15e8z.js +2 -0
  122. package/dist/chunk-7b329e5v.js +3 -0
  123. package/dist/chunk-7q9mwh4v.js +84 -0
  124. package/dist/chunk-866y9d8b.js +8169 -0
  125. package/dist/chunk-8fwerspy.js +2 -0
  126. package/dist/chunk-8mjdpr94.js +147 -0
  127. package/dist/chunk-92mj1t26.js +60 -0
  128. package/dist/chunk-9b22663r.js +2 -0
  129. package/dist/chunk-9hjdgm4d.js +2 -0
  130. package/dist/chunk-9n0gvfrg.js +4 -0
  131. package/dist/chunk-9wr7zcad.js +18 -0
  132. package/dist/chunk-9y0g8kzt.js +358 -0
  133. package/dist/chunk-a0nfbmeh.js +3 -0
  134. package/dist/chunk-acn1b56m.js +1280 -0
  135. package/dist/chunk-awkq3xfx.js +2 -0
  136. package/dist/chunk-b6ej2fdf.js +1814 -0
  137. package/dist/chunk-b8rrnqry.js +2 -0
  138. package/dist/chunk-bfqfs07m.js +3022 -0
  139. package/dist/chunk-bs6kapy7.js +2 -0
  140. package/dist/chunk-btav940g.js +2 -0
  141. package/dist/chunk-bz820epz.js +3 -0
  142. package/dist/chunk-ccspd3mc.js +2 -0
  143. package/dist/chunk-csbgwaa5.js +2 -0
  144. package/dist/chunk-d8t4sjsp.js +2 -0
  145. package/dist/chunk-dap191q2.js +2 -0
  146. package/dist/chunk-de7fye10.js +4 -0
  147. package/dist/chunk-dgrt76d2.js +2 -0
  148. package/dist/chunk-dhh5q7qt.js +3 -0
  149. package/dist/chunk-dsffsqnt.js +2 -0
  150. package/dist/chunk-dtq7y5ym.js +2 -0
  151. package/dist/chunk-fed3xsp9.js +3 -0
  152. package/dist/chunk-ferav3bw.js +19 -0
  153. package/dist/chunk-fvhm8psm.js +3 -0
  154. package/dist/chunk-g4vpzv6b.js +2 -0
  155. package/dist/chunk-g9csmj0s.js +2 -0
  156. package/dist/chunk-gtcrpmz1.js +2 -0
  157. package/dist/chunk-h4xh8cms.js +4 -0
  158. package/dist/chunk-h8yqsz9m.js +2 -0
  159. package/dist/chunk-hcq5dw7a.js +2 -0
  160. package/dist/chunk-hm0xha6c.js +12 -0
  161. package/dist/chunk-hpybjwwf.js +8 -0
  162. package/dist/chunk-jegt35zh.js +2 -0
  163. package/dist/chunk-jr3jp3ev.js +8 -0
  164. package/dist/chunk-k56rjjc0.js +24 -0
  165. package/dist/chunk-kdh37tp8.js +194 -0
  166. package/dist/chunk-kxzb4et3.js +29 -0
  167. package/dist/chunk-mf4n3x1j.js +14 -0
  168. package/dist/chunk-mkd9kjgb.js +3 -0
  169. package/dist/chunk-mxfh1nxg.js +2 -0
  170. package/dist/chunk-n3ggrhb3.js +3 -0
  171. package/dist/chunk-nkb3scg6.js +8 -0
  172. package/dist/chunk-nnd4wq8j.js +231 -0
  173. package/dist/chunk-nsp1cw38.js +11 -0
  174. package/dist/chunk-nx5qkm8k.js +30 -0
  175. package/dist/chunk-p3242nck.js +2 -0
  176. package/dist/chunk-p98kfh94.js +2 -0
  177. package/dist/chunk-pkaabd8h.js +3 -0
  178. package/dist/chunk-pzm13sdc.js +3 -0
  179. package/dist/chunk-q4p5k2p3.js +2 -0
  180. package/dist/chunk-q9n5swx7.js +3 -0
  181. package/dist/chunk-qc1f74ek.js +3 -0
  182. package/dist/chunk-qpyjak7z.js +2 -0
  183. package/dist/chunk-qr82je1m.js +22 -0
  184. package/dist/chunk-qy73j6m4.js +288 -0
  185. package/dist/chunk-qzkhpsam.js +505 -0
  186. package/dist/chunk-r3ayvdz3.js +2 -0
  187. package/dist/chunk-r7r66978.js +2 -0
  188. package/dist/chunk-rbb7dvja.js +30 -0
  189. package/dist/chunk-refwkt87.js +71 -0
  190. package/dist/chunk-rj4kajww.js +2 -0
  191. package/dist/chunk-rp4rjjmf.js +2 -0
  192. package/dist/chunk-se0p17c2.js +898 -0
  193. package/dist/chunk-sj9pmene.js +2 -0
  194. package/dist/chunk-sscwkffs.js +2 -0
  195. package/dist/chunk-svpqxn2c.js +2 -0
  196. package/dist/chunk-t6nseeb9.js +351 -0
  197. package/dist/chunk-t8y1ggdy.js +2 -0
  198. package/dist/chunk-tndhnk9e.js +2 -0
  199. package/dist/chunk-v5e1gxwm.js +3 -0
  200. package/dist/chunk-vqxmxgaj.js +4 -0
  201. package/dist/chunk-vrrax298.js +2 -0
  202. package/dist/chunk-w3ycm4na.js +3 -0
  203. package/dist/chunk-wcm80anz.js +321 -0
  204. package/dist/chunk-wrzwgkbx.js +22 -0
  205. package/dist/chunk-x650vjcp.js +302 -0
  206. package/dist/chunk-xgnc1wy6.js +116 -0
  207. package/dist/chunk-xpp135ad.js +11 -0
  208. package/dist/chunk-xttsqmkm.js +216 -0
  209. package/dist/chunk-y11cxbxd.js +3757 -0
  210. package/dist/chunk-y7m2dpd3.js +341 -0
  211. package/dist/chunk-y98jsjqq.js +2 -0
  212. package/dist/chunk-ya386h70.js +2 -0
  213. package/dist/chunk-ydrz60kr.js +2 -0
  214. package/dist/chunk-ypmqf7tm.js +4 -0
  215. package/dist/chunk-z4jhj5e5.js +28 -0
  216. package/dist/chunk-zg75gjns.js +2 -0
  217. package/dist/chunk-zqqx1qaj.js +2 -0
  218. package/dist/cli-flags.d.ts +34 -0
  219. package/dist/cli-flags.js +20 -0
  220. package/dist/cli.js +174 -0
  221. package/dist/client/directive.d.ts +17 -0
  222. package/dist/client/directive.js +14 -0
  223. package/dist/client/index.d.ts +7 -0
  224. package/dist/client/index.js +2 -0
  225. package/dist/client-helpers.d.ts +317 -0
  226. package/dist/client-helpers.js +312 -0
  227. package/dist/client-script-bundler.d.ts +103 -0
  228. package/dist/client-script-bundler.js +390 -0
  229. package/dist/client-script.d.ts +215 -0
  230. package/dist/client-script.js +865 -0
  231. package/dist/client.d.ts +21 -0
  232. package/dist/client.js +73 -0
  233. package/dist/codemod.d.ts +33 -0
  234. package/dist/codemod.js +244 -0
  235. package/dist/color-mode-boot.d.ts +92 -0
  236. package/dist/color-mode-boot.js +72 -0
  237. package/dist/component-client-factories.d.ts +33 -0
  238. package/dist/component-client-factories.js +77 -0
  239. package/dist/component-hmr.d.ts +107 -0
  240. package/dist/component-hmr.js +585 -0
  241. package/dist/component-library.d.ts +38 -0
  242. package/dist/component-library.js +994 -0
  243. package/dist/component-processing.d.ts +198 -0
  244. package/dist/component-processing.js +677 -0
  245. package/dist/component-registry.d.ts +127 -0
  246. package/dist/component-registry.js +90 -0
  247. package/dist/component-renderer.d.ts +52 -0
  248. package/dist/component-renderer.js +790 -0
  249. package/dist/components/StxImage.stx +12 -0
  250. package/dist/components/StxLink.stx +18 -0
  251. package/dist/components.d.ts +28 -0
  252. package/dist/components.js +213 -0
  253. package/dist/composable-loader.d.ts +62 -0
  254. package/dist/composable-loader.js +190 -0
  255. package/dist/composables/index.d.ts +417 -0
  256. package/dist/composables/index.js +222 -0
  257. package/dist/composables/use-battery.d.ts +46 -0
  258. package/dist/composables/use-battery.js +101 -0
  259. package/dist/composables/use-broadcast-channel.d.ts +59 -0
  260. package/dist/composables/use-broadcast-channel.js +80 -0
  261. package/dist/composables/use-channel.d.ts +67 -0
  262. package/dist/composables/use-channel.js +124 -0
  263. package/dist/composables/use-clipboard.d.ts +30 -0
  264. package/dist/composables/use-clipboard.js +90 -0
  265. package/dist/composables/use-color-mode.d.ts +67 -0
  266. package/dist/composables/use-color-mode.js +152 -0
  267. package/dist/composables/use-cookie.d.ts +59 -0
  268. package/dist/composables/use-cookie.js +86 -0
  269. package/dist/composables/use-device-orientation.d.ts +116 -0
  270. package/dist/composables/use-device-orientation.js +181 -0
  271. package/dist/composables/use-event-listener.d.ts +35 -0
  272. package/dist/composables/use-event-listener.js +27 -0
  273. package/dist/composables/use-event-source.d.ts +90 -0
  274. package/dist/composables/use-event-source.js +166 -0
  275. package/dist/composables/use-eye-dropper.d.ts +117 -0
  276. package/dist/composables/use-eye-dropper.js +142 -0
  277. package/dist/composables/use-fetch.d.ts +59 -0
  278. package/dist/composables/use-fetch.js +273 -0
  279. package/dist/composables/use-form.d.ts +91 -0
  280. package/dist/composables/use-form.js +112 -0
  281. package/dist/composables/use-fullscreen.d.ts +47 -0
  282. package/dist/composables/use-fullscreen.js +110 -0
  283. package/dist/composables/use-geolocation.d.ts +62 -0
  284. package/dist/composables/use-geolocation.js +101 -0
  285. package/dist/composables/use-idle.d.ts +102 -0
  286. package/dist/composables/use-idle.js +182 -0
  287. package/dist/composables/use-intersection-observer.d.ts +83 -0
  288. package/dist/composables/use-intersection-observer.js +168 -0
  289. package/dist/composables/use-keyboard.d.ts +100 -0
  290. package/dist/composables/use-keyboard.js +224 -0
  291. package/dist/composables/use-media-query.d.ts +56 -0
  292. package/dist/composables/use-media-query.js +62 -0
  293. package/dist/composables/use-meta.d.ts +35 -0
  294. package/dist/composables/use-meta.js +48 -0
  295. package/dist/composables/use-mouse.d.ts +65 -0
  296. package/dist/composables/use-mouse.js +286 -0
  297. package/dist/composables/use-mutation-observer.d.ts +101 -0
  298. package/dist/composables/use-mutation-observer.js +129 -0
  299. package/dist/composables/use-network.d.ts +40 -0
  300. package/dist/composables/use-network.js +85 -0
  301. package/dist/composables/use-notification.d.ts +98 -0
  302. package/dist/composables/use-notification.js +94 -0
  303. package/dist/composables/use-permissions.d.ts +119 -0
  304. package/dist/composables/use-permissions.js +132 -0
  305. package/dist/composables/use-query.d.ts +48 -0
  306. package/dist/composables/use-query.js +0 -0
  307. package/dist/composables/use-resize-observer.d.ts +60 -0
  308. package/dist/composables/use-resize-observer.js +157 -0
  309. package/dist/composables/use-router.d.ts +80 -0
  310. package/dist/composables/use-router.js +105 -0
  311. package/dist/composables/use-scroll-lock.d.ts +13 -0
  312. package/dist/composables/use-scroll-lock.js +55 -0
  313. package/dist/composables/use-share.d.ts +74 -0
  314. package/dist/composables/use-share.js +104 -0
  315. package/dist/composables/use-speech.d.ts +117 -0
  316. package/dist/composables/use-speech.js +294 -0
  317. package/dist/composables/use-storage.d.ts +69 -0
  318. package/dist/composables/use-storage.js +196 -0
  319. package/dist/composables/use-text-selection.d.ts +121 -0
  320. package/dist/composables/use-text-selection.js +205 -0
  321. package/dist/composables/use-timer.d.ts +92 -0
  322. package/dist/composables/use-timer.js +193 -0
  323. package/dist/composables/use-utilities.d.ts +103 -0
  324. package/dist/composables/use-utilities.js +176 -0
  325. package/dist/composables/use-wake-lock.d.ts +85 -0
  326. package/dist/composables/use-wake-lock.js +122 -0
  327. package/dist/composables/use-websocket.d.ts +70 -0
  328. package/dist/composables/use-websocket.js +165 -0
  329. package/dist/composables/use-window.d.ts +84 -0
  330. package/dist/composables/use-window.js +163 -0
  331. package/dist/composables.d.ts +287 -0
  332. package/dist/composables.js +562 -0
  333. package/dist/composition-api.d.ts +197 -0
  334. package/dist/composition-api.js +199 -0
  335. package/dist/compression.d.ts +30 -0
  336. package/dist/compression.js +107 -0
  337. package/dist/computed.d.ts +138 -0
  338. package/dist/computed.js +382 -0
  339. package/dist/conditionals.d.ts +48 -0
  340. package/dist/conditionals.js +626 -0
  341. package/dist/config.d.ts +77 -0
  342. package/dist/config.js +828 -0
  343. package/dist/cookie-serialize.d.ts +40 -0
  344. package/dist/cookie-serialize.js +18 -0
  345. package/dist/craft-bridge.d.ts +525 -0
  346. package/dist/craft-bridge.js +511 -0
  347. package/dist/craft-compiler.d.ts +245 -0
  348. package/dist/craft-compiler.js +810 -0
  349. package/dist/craft-components.d.ts +739 -0
  350. package/dist/craft-components.js +1074 -0
  351. package/dist/craft-entry.d.ts +6 -0
  352. package/dist/craft-entry.js +9 -0
  353. package/dist/craft-ssr.d.ts +147 -0
  354. package/dist/craft-ssr.js +559 -0
  355. package/dist/craft.js +9 -0
  356. package/dist/csp.d.ts +295 -0
  357. package/dist/csp.js +220 -0
  358. package/dist/csrf.d.ts +38 -0
  359. package/dist/csrf.js +38 -0
  360. package/dist/custom-directives.d.ts +5 -0
  361. package/dist/custom-directives.js +136 -0
  362. package/dist/database.d.ts +391 -0
  363. package/dist/database.js +5 -0
  364. package/dist/defer.d.ts +28 -0
  365. package/dist/defer.js +156 -0
  366. package/dist/deploy/config-generators.d.ts +75 -0
  367. package/dist/deploy/config-generators.js +214 -0
  368. package/dist/deploy/index.d.ts +88 -0
  369. package/dist/deploy/index.js +203 -0
  370. package/dist/deploy/netlify.d.ts +109 -0
  371. package/dist/deploy/netlify.js +167 -0
  372. package/dist/desktop.d.ts +16 -0
  373. package/dist/desktop.js +1 -0
  374. package/dist/dev-server/index.d.ts +22 -0
  375. package/dist/dev-server/index.js +7 -0
  376. package/dist/dev-server/keyboard-shortcuts.d.ts +34 -0
  377. package/dist/dev-server/keyboard-shortcuts.js +81 -0
  378. package/dist/dev-server/native-window.d.ts +59 -0
  379. package/dist/dev-server/native-window.js +91 -0
  380. package/dist/dev-server/port-utils.d.ts +27 -0
  381. package/dist/dev-server/port-utils.js +40 -0
  382. package/dist/dev-server/serve-app.d.ts +15 -0
  383. package/dist/dev-server/serve-app.js +727 -0
  384. package/dist/dev-server/serve-file.d.ts +3 -0
  385. package/dist/dev-server/serve-file.js +443 -0
  386. package/dist/dev-server/serve-markdown.d.ts +3 -0
  387. package/dist/dev-server/serve-markdown.js +284 -0
  388. package/dist/dev-server/serve-multi.d.ts +5 -0
  389. package/dist/dev-server/serve-multi.js +596 -0
  390. package/dist/dev-server/terminal-colors.d.ts +56 -0
  391. package/dist/dev-server/terminal-colors.js +45 -0
  392. package/dist/dev-server/theme-selector.d.ts +32 -0
  393. package/dist/dev-server/theme-selector.js +111 -0
  394. package/dist/dev-server/ts-css.d.ts +108 -0
  395. package/dist/dev-server/ts-css.js +438 -0
  396. package/dist/dev-server/types.d.ts +99 -0
  397. package/dist/dev-server/types.js +43 -0
  398. package/dist/dev-server.d.ts +6 -0
  399. package/dist/dev-server.js +4 -0
  400. package/dist/devtools.d.ts +182 -0
  401. package/dist/devtools.js +593 -0
  402. package/dist/directive-api.d.ts +154 -0
  403. package/dist/directive-api.js +355 -0
  404. package/dist/docs.d.ts +56 -0
  405. package/dist/docs.js +567 -0
  406. package/dist/doctor.d.ts +29 -0
  407. package/dist/doctor.js +123 -0
  408. package/dist/document-shell.d.ts +218 -0
  409. package/dist/document-shell.js +338 -0
  410. package/dist/dynamic-components.d.ts +23 -0
  411. package/dist/dynamic-components.js +197 -0
  412. package/dist/edge-runtime.d.ts +193 -0
  413. package/dist/edge-runtime.js +525 -0
  414. package/dist/env.d.ts +3 -0
  415. package/dist/env.js +9 -0
  416. package/dist/error-boundaries.d.ts +78 -0
  417. package/dist/error-boundaries.js +281 -0
  418. package/dist/error-handling.d.ts +14 -0
  419. package/dist/error-handling.js +1 -0
  420. package/dist/errors/codes.d.ts +92 -0
  421. package/dist/errors/codes.js +97 -0
  422. package/dist/errors/formatter.d.ts +84 -0
  423. package/dist/errors/formatter.js +196 -0
  424. package/dist/errors/index.d.ts +12 -0
  425. package/dist/errors/index.js +44 -0
  426. package/dist/errors/logger.d.ts +135 -0
  427. package/dist/errors/logger.js +250 -0
  428. package/dist/errors/sanitizer.d.ts +73 -0
  429. package/dist/errors/sanitizer.js +181 -0
  430. package/dist/errors/types.d.ts +92 -0
  431. package/dist/errors/types.js +86 -0
  432. package/dist/events.d.ts +145 -0
  433. package/dist/events.js +396 -0
  434. package/dist/expressions.d.ts +180 -0
  435. package/dist/expressions.js +719 -0
  436. package/dist/find-body-tag.d.ts +50 -0
  437. package/dist/find-body-tag.js +57 -0
  438. package/dist/formatter.d.ts +19 -0
  439. package/dist/formatter.js +265 -0
  440. package/dist/forms-validation.d.ts +189 -0
  441. package/dist/forms-validation.js +421 -0
  442. package/dist/forms.d.ts +224 -0
  443. package/dist/forms.js +729 -0
  444. package/dist/fragment-container.d.ts +57 -0
  445. package/dist/fragment-container.js +123 -0
  446. package/dist/framework-composables.d.ts +73 -0
  447. package/dist/framework-composables.js +126 -0
  448. package/dist/head-injection.d.ts +61 -0
  449. package/dist/head-injection.js +28 -0
  450. package/dist/head.d.ts +282 -0
  451. package/dist/head.js +231 -0
  452. package/dist/heatmap.d.ts +206 -0
  453. package/dist/heatmap.js +566 -0
  454. package/dist/hot-reload.d.ts +87 -0
  455. package/dist/hot-reload.js +373 -0
  456. package/dist/html-masking.d.ts +125 -0
  457. package/dist/html-masking.js +196 -0
  458. package/dist/hydration-runtime.d.ts +44 -0
  459. package/dist/hydration-runtime.js +195 -0
  460. package/dist/hydration.d.ts +135 -0
  461. package/dist/hydration.js +654 -0
  462. package/dist/i18n.d.ts +342 -0
  463. package/dist/i18n.js +678 -0
  464. package/dist/image-optimization/auto-sibling.d.ts +42 -0
  465. package/dist/image-optimization/auto-sibling.js +88 -0
  466. package/dist/image-optimization/build-plugin.d.ts +54 -0
  467. package/dist/image-optimization/build-plugin.js +241 -0
  468. package/dist/image-optimization/component.d.ts +46 -0
  469. package/dist/image-optimization/component.js +244 -0
  470. package/dist/image-optimization/directive.d.ts +30 -0
  471. package/dist/image-optimization/directive.js +203 -0
  472. package/dist/image-optimization/index.d.ts +156 -0
  473. package/dist/image-optimization/index.js +54 -0
  474. package/dist/image-optimization/processor.d.ts +140 -0
  475. package/dist/image-optimization/processor.js +262 -0
  476. package/dist/image-optimization/serve.d.ts +54 -0
  477. package/dist/image-optimization/serve.js +102 -0
  478. package/dist/import-rebase.d.ts +16 -0
  479. package/dist/import-rebase.js +16 -0
  480. package/dist/imported-signals.d.ts +43 -0
  481. package/dist/imported-signals.js +35 -0
  482. package/dist/includes.d.ts +171 -0
  483. package/dist/includes.js +764 -0
  484. package/dist/index.d.ts +365 -0
  485. package/dist/index.js +202 -0
  486. package/dist/init.d.ts +39 -0
  487. package/dist/init.js +505 -0
  488. package/dist/inline-assets.d.ts +28 -0
  489. package/dist/inline-assets.js +82 -0
  490. package/dist/interactive.d.ts +14 -0
  491. package/dist/interactive.js +383 -0
  492. package/dist/internal-markdown.d.ts +22 -0
  493. package/dist/internal-markdown.js +141 -0
  494. package/dist/island-chunking.d.ts +48 -0
  495. package/dist/island-chunking.js +52 -0
  496. package/dist/isolated-build.d.ts +12 -0
  497. package/dist/isolated-build.js +18 -0
  498. package/dist/js-ts.d.ts +10 -0
  499. package/dist/js-ts.js +60 -0
  500. package/dist/jsx-runtime.d.ts +92 -0
  501. package/dist/jsx-runtime.js +289 -0
  502. package/dist/keep-alive.d.ts +108 -0
  503. package/dist/keep-alive.js +421 -0
  504. package/dist/layout-types.d.ts +45 -0
  505. package/dist/layout-types.js +56 -0
  506. package/dist/lazy-loader.d.ts +90 -0
  507. package/dist/lazy-loader.js +245 -0
  508. package/dist/lazy-module.d.ts +11 -0
  509. package/dist/lazy-module.js +18 -0
  510. package/dist/loading-indicator.d.ts +50 -0
  511. package/dist/loading-indicator.js +322 -0
  512. package/dist/loops.d.ts +91 -0
  513. package/dist/loops.js +690 -0
  514. package/dist/manifest.d.ts +41 -0
  515. package/dist/manifest.js +31 -0
  516. package/dist/markdown-view.d.ts +25 -0
  517. package/dist/markdown-view.js +39 -0
  518. package/dist/markdown.d.ts +10 -0
  519. package/dist/markdown.js +68 -0
  520. package/dist/media/client/blur-up.d.ts +66 -0
  521. package/dist/media/client/blur-up.js +217 -0
  522. package/dist/media/client/index.d.ts +93 -0
  523. package/dist/media/client/index.js +53 -0
  524. package/dist/media/client/lazy-load.d.ts +74 -0
  525. package/dist/media/client/lazy-load.js +283 -0
  526. package/dist/media/client/upload-handler.d.ts +80 -0
  527. package/dist/media/client/upload-handler.js +354 -0
  528. package/dist/media/image/component.d.ts +60 -0
  529. package/dist/media/image/component.js +574 -0
  530. package/dist/media/image/directive.d.ts +23 -0
  531. package/dist/media/image/directive.js +160 -0
  532. package/dist/media/image/editing.d.ts +212 -0
  533. package/dist/media/image/editing.js +193 -0
  534. package/dist/media/image/index.d.ts +142 -0
  535. package/dist/media/image/index.js +80 -0
  536. package/dist/media/image/placeholder.d.ts +89 -0
  537. package/dist/media/image/placeholder.js +188 -0
  538. package/dist/media/image/processor/cache.d.ts +53 -0
  539. package/dist/media/image/processor/cache.js +51 -0
  540. package/dist/media/image/processor/index.d.ts +11 -0
  541. package/dist/media/image/processor/index.js +3 -0
  542. package/dist/media/image/processor/optimizer.d.ts +24 -0
  543. package/dist/media/image/processor/optimizer.js +202 -0
  544. package/dist/media/image/processor/responsive.d.ts +28 -0
  545. package/dist/media/image/processor/responsive.js +162 -0
  546. package/dist/media/image/srcset.d.ts +157 -0
  547. package/dist/media/image/srcset.js +194 -0
  548. package/dist/media/index.d.ts +331 -0
  549. package/dist/media/index.js +198 -0
  550. package/dist/media/manager/embed.d.ts +25 -0
  551. package/dist/media/manager/embed.js +253 -0
  552. package/dist/media/protected/component.d.ts +33 -0
  553. package/dist/media/protected/component.js +235 -0
  554. package/dist/media/protected/index.d.ts +47 -0
  555. package/dist/media/protected/index.js +20 -0
  556. package/dist/media/protected/signature.d.ts +72 -0
  557. package/dist/media/protected/signature.js +205 -0
  558. package/dist/media/shared/cache.d.ts +76 -0
  559. package/dist/media/shared/cache.js +132 -0
  560. package/dist/media/shared/hash.d.ts +31 -0
  561. package/dist/media/shared/hash.js +35 -0
  562. package/dist/media/shared/index.d.ts +7 -0
  563. package/dist/media/shared/index.js +2 -0
  564. package/dist/media/types.d.ts +1477 -0
  565. package/dist/media/types.js +0 -0
  566. package/dist/media/upload/component.d.ts +9 -0
  567. package/dist/media/upload/component.js +320 -0
  568. package/dist/media/upload/index.d.ts +8 -0
  569. package/dist/media/upload/index.js +1 -0
  570. package/dist/media/video/directive.d.ts +23 -0
  571. package/dist/media/video/directive.js +142 -0
  572. package/dist/media/video/index.d.ts +76 -0
  573. package/dist/media/video/index.js +583 -0
  574. package/dist/media/video/processor/cache.d.ts +55 -0
  575. package/dist/media/video/processor/cache.js +52 -0
  576. package/dist/media/video/processor/index.d.ts +12 -0
  577. package/dist/media/video/processor/index.js +4 -0
  578. package/dist/media/video/processor/streaming.d.ts +26 -0
  579. package/dist/media/video/processor/streaming.js +197 -0
  580. package/dist/media/video/processor/thumbnail.d.ts +35 -0
  581. package/dist/media/video/processor/thumbnail.js +134 -0
  582. package/dist/media/video/processor/transcoder.d.ts +19 -0
  583. package/dist/media/video/processor/transcoder.js +283 -0
  584. package/dist/menubar.d.ts +65 -0
  585. package/dist/menubar.js +99 -0
  586. package/dist/method-spoofing.d.ts +20 -0
  587. package/dist/method-spoofing.js +17 -0
  588. package/dist/middleware.d.ts +112 -0
  589. package/dist/middleware.js +40 -0
  590. package/dist/misc-directives.d.ts +55 -0
  591. package/dist/misc-directives.js +328 -0
  592. package/dist/native-build.d.ts +88 -0
  593. package/dist/native-build.js +575 -0
  594. package/dist/owned-routes.d.ts +42 -0
  595. package/dist/owned-routes.js +26 -0
  596. package/dist/page-action.d.ts +73 -0
  597. package/dist/page-action.js +91 -0
  598. package/dist/page-meta.d.ts +38 -0
  599. package/dist/page-meta.js +16 -0
  600. package/dist/page-response.d.ts +120 -0
  601. package/dist/page-response.js +117 -0
  602. package/dist/parser/directive-parser.d.ts +119 -0
  603. package/dist/parser/directive-parser.js +249 -0
  604. package/dist/parser/expression-parser.d.ts +58 -0
  605. package/dist/parser/expression-parser.js +358 -0
  606. package/dist/parser/index.d.ts +13 -0
  607. package/dist/parser/index.js +23 -0
  608. package/dist/parser/tokenizer.d.ts +77 -0
  609. package/dist/parser/tokenizer.js +534 -0
  610. package/dist/partial-hydration.d.ts +123 -0
  611. package/dist/partial-hydration.js +427 -0
  612. package/dist/performance-utils.d.ts +318 -0
  613. package/dist/performance-utils.js +466 -0
  614. package/dist/placeholder.d.ts +54 -0
  615. package/dist/placeholder.js +35 -0
  616. package/dist/plugin-system.d.ts +301 -0
  617. package/dist/plugin-system.js +214 -0
  618. package/dist/plugin.d.ts +3 -0
  619. package/dist/plugin.js +174 -0
  620. package/dist/precompiler.d.ts +43 -0
  621. package/dist/precompiler.js +670 -0
  622. package/dist/process.d.ts +16 -0
  623. package/dist/process.js +879 -0
  624. package/dist/production-build.d.ts +163 -0
  625. package/dist/production-build.js +596 -0
  626. package/dist/production-builder.d.ts +42 -0
  627. package/dist/production-builder.js +146 -0
  628. package/dist/production-server.d.ts +19 -0
  629. package/dist/production-server.js +208 -0
  630. package/dist/prop-sentinels.d.ts +31 -0
  631. package/dist/prop-sentinels.js +7 -0
  632. package/dist/props.d.ts +216 -0
  633. package/dist/props.js +224 -0
  634. package/dist/public-env.d.ts +29 -0
  635. package/dist/public-env.js +19 -0
  636. package/dist/pwa/audit.d.ts +42 -0
  637. package/dist/pwa/audit.js +255 -0
  638. package/dist/pwa/directives.d.ts +38 -0
  639. package/dist/pwa/directives.js +332 -0
  640. package/dist/pwa/icons.d.ts +42 -0
  641. package/dist/pwa/icons.js +109 -0
  642. package/dist/pwa/index.d.ts +104 -0
  643. package/dist/pwa/index.js +47 -0
  644. package/dist/pwa/inject.d.ts +32 -0
  645. package/dist/pwa/inject.js +102 -0
  646. package/dist/pwa/manifest.d.ts +104 -0
  647. package/dist/pwa/manifest.js +186 -0
  648. package/dist/pwa/offline.d.ts +8 -0
  649. package/dist/pwa/offline.js +259 -0
  650. package/dist/pwa/precache.d.ts +35 -0
  651. package/dist/pwa/precache.js +116 -0
  652. package/dist/pwa/service-worker.d.ts +33 -0
  653. package/dist/pwa/service-worker.js +860 -0
  654. package/dist/pwa/workbox-strategies.d.ts +100 -0
  655. package/dist/pwa/workbox-strategies.js +167 -0
  656. package/dist/pwa/workbox.d.ts +51 -0
  657. package/dist/pwa/workbox.js +382 -0
  658. package/dist/pwa.d.ts +52 -0
  659. package/dist/pwa.js +236 -0
  660. package/dist/reactive-bindings.d.ts +47 -0
  661. package/dist/reactive-bindings.js +268 -0
  662. package/dist/reactive-tracking.d.ts +81 -0
  663. package/dist/reactive-tracking.js +49 -0
  664. package/dist/reactive.d.ts +117 -0
  665. package/dist/reactive.js +593 -0
  666. package/dist/reactivity.d.ts +206 -0
  667. package/dist/reactivity.js +574 -0
  668. package/dist/release.d.ts +1 -0
  669. package/dist/release.js +1 -0
  670. package/dist/render-memo.d.ts +40 -0
  671. package/dist/render-memo.js +33 -0
  672. package/dist/render.d.ts +54 -0
  673. package/dist/render.js +153 -0
  674. package/dist/resolve-stx-targets.d.ts +49 -0
  675. package/dist/resolve-stx-targets.js +38 -0
  676. package/dist/route-middleware.d.ts +2 -0
  677. package/dist/route-middleware.js +17 -0
  678. package/dist/route-types.d.ts +134 -0
  679. package/dist/route-types.js +24 -0
  680. package/dist/router.d.ts +9 -0
  681. package/dist/router.js +9 -0
  682. package/dist/routes.d.ts +6 -0
  683. package/dist/routes.js +14 -0
  684. package/dist/runtime-globals.d.ts +236 -0
  685. package/dist/runtime-globals.js +230 -0
  686. package/dist/runtime-injection.d.ts +113 -0
  687. package/dist/runtime-injection.js +156 -0
  688. package/dist/runtime.d.ts +140 -0
  689. package/dist/runtime.js +94 -0
  690. package/dist/safe-evaluator.d.ts +165 -0
  691. package/dist/safe-evaluator.js +461 -0
  692. package/dist/scaffolding.d.ts +113 -0
  693. package/dist/scaffolding.js +897 -0
  694. package/dist/screenshot.d.ts +22 -0
  695. package/dist/screenshot.js +100 -0
  696. package/dist/script-classifier.d.ts +41 -0
  697. package/dist/script-classifier.js +51 -0
  698. package/dist/script-emit.d.ts +50 -0
  699. package/dist/script-emit.js +11 -0
  700. package/dist/script-json.d.ts +36 -0
  701. package/dist/script-json.js +6 -0
  702. package/dist/script-validation.d.ts +26 -0
  703. package/dist/script-validation.js +179 -0
  704. package/dist/seo.d.ts +225 -0
  705. package/dist/seo.js +486 -0
  706. package/dist/serve.d.ts +44 -0
  707. package/dist/serve.js +233 -0
  708. package/dist/server-bindings.d.ts +39 -0
  709. package/dist/server-bindings.js +171 -0
  710. package/dist/server-components.d.ts +138 -0
  711. package/dist/server-components.js +427 -0
  712. package/dist/sfc-template.d.ts +17 -0
  713. package/dist/sfc-template.js +32 -0
  714. package/dist/signal-processing.d.ts +222 -0
  715. package/dist/signal-processing.js +1081 -0
  716. package/dist/signals-api.d.ts +459 -0
  717. package/dist/signals-api.js +172 -0
  718. package/dist/signals.d.ts +41 -0
  719. package/dist/signals.js +8233 -0
  720. package/dist/site-builder/build.d.ts +18 -0
  721. package/dist/site-builder/build.js +252 -0
  722. package/dist/site-builder/i18n.d.ts +104 -0
  723. package/dist/site-builder/i18n.js +150 -0
  724. package/dist/site-builder/index.d.ts +27 -0
  725. package/dist/site-builder/index.js +16 -0
  726. package/dist/site-builder/robots.d.ts +2 -0
  727. package/dist/site-builder/robots.js +26 -0
  728. package/dist/site-builder/router.d.ts +10 -0
  729. package/dist/site-builder/router.js +27 -0
  730. package/dist/site-builder/seo.d.ts +8 -0
  731. package/dist/site-builder/seo.js +67 -0
  732. package/dist/site-builder/sitemap.d.ts +10 -0
  733. package/dist/site-builder/sitemap.js +26 -0
  734. package/dist/site-builder/theme.d.ts +12 -0
  735. package/dist/site-builder/theme.js +38 -0
  736. package/dist/site-builder/types.d.ts +74 -0
  737. package/dist/site-builder/types.js +0 -0
  738. package/dist/site-url.d.ts +46 -0
  739. package/dist/site-url.js +70 -0
  740. package/dist/slots.d.ts +129 -0
  741. package/dist/slots.js +286 -0
  742. package/dist/source-maps.d.ts +98 -0
  743. package/dist/source-maps.js +350 -0
  744. package/dist/source-signature.d.ts +45 -0
  745. package/dist/source-signature.js +20 -0
  746. package/dist/spa-nav.d.ts +49 -0
  747. package/dist/spa-nav.js +12 -0
  748. package/dist/spa-shell.d.ts +21 -0
  749. package/dist/spa-shell.js +34 -0
  750. package/dist/ssg.d.ts +357 -0
  751. package/dist/ssg.js +94 -0
  752. package/dist/ssr.d.ts +116 -0
  753. package/dist/ssr.js +339 -0
  754. package/dist/state-dir.d.ts +36 -0
  755. package/dist/state-dir.js +22 -0
  756. package/dist/state-management.d.ts +299 -0
  757. package/dist/state-management.js +519 -0
  758. package/dist/store-imports.d.ts +47 -0
  759. package/dist/store-imports.js +16 -0
  760. package/dist/store-loader.d.ts +15 -0
  761. package/dist/store-loader.js +111 -0
  762. package/dist/stores-client.d.ts +70 -0
  763. package/dist/stores-client.js +132 -0
  764. package/dist/story/addons.d.ts +123 -0
  765. package/dist/story/addons.js +261 -0
  766. package/dist/story/analytics.d.ts +163 -0
  767. package/dist/story/analytics.js +235 -0
  768. package/dist/story/auto-stories.d.ts +38 -0
  769. package/dist/story/auto-stories.js +158 -0
  770. package/dist/story/bookmarks.d.ts +102 -0
  771. package/dist/story/bookmarks.js +277 -0
  772. package/dist/story/bun-test.d.ts +45 -0
  773. package/dist/story/bun-test.js +102 -0
  774. package/dist/story/cli.d.ts +132 -0
  775. package/dist/story/cli.js +155 -0
  776. package/dist/story/collect/analyzer.d.ts +33 -0
  777. package/dist/story/collect/analyzer.js +305 -0
  778. package/dist/story/collect/index.d.ts +31 -0
  779. package/dist/story/collect/index.js +27 -0
  780. package/dist/story/collect/parser.d.ts +17 -0
  781. package/dist/story/collect/parser.js +129 -0
  782. package/dist/story/collect/scanner.d.ts +17 -0
  783. package/dist/story/collect/scanner.js +101 -0
  784. package/dist/story/collect/tree.d.ts +24 -0
  785. package/dist/story/collect/tree.js +110 -0
  786. package/dist/story/commands/build.d.ts +19 -0
  787. package/dist/story/commands/build.js +172 -0
  788. package/dist/story/commands/dev.d.ts +23 -0
  789. package/dist/story/commands/dev.js +78 -0
  790. package/dist/story/commands/index.d.ts +9 -0
  791. package/dist/story/commands/index.js +3 -0
  792. package/dist/story/commands/preview.d.ts +21 -0
  793. package/dist/story/commands/preview.js +56 -0
  794. package/dist/story/compiled-output.d.ts +27 -0
  795. package/dist/story/compiled-output.js +151 -0
  796. package/dist/story/composition.d.ts +47 -0
  797. package/dist/story/composition.js +261 -0
  798. package/dist/story/config-watcher.d.ts +33 -0
  799. package/dist/story/config-watcher.js +67 -0
  800. package/dist/story/config.d.ts +29 -0
  801. package/dist/story/config.js +64 -0
  802. package/dist/story/context.d.ts +27 -0
  803. package/dist/story/context.js +27 -0
  804. package/dist/story/controls/index.d.ts +54 -0
  805. package/dist/story/controls/index.js +320 -0
  806. package/dist/story/desktop-preview.d.ts +34 -0
  807. package/dist/story/desktop-preview.js +105 -0
  808. package/dist/story/docs-generator.d.ts +30 -0
  809. package/dist/story/docs-generator.js +187 -0
  810. package/dist/story/errors.d.ts +47 -0
  811. package/dist/story/errors.js +239 -0
  812. package/dist/story/figma-export.d.ts +169 -0
  813. package/dist/story/figma-export.js +224 -0
  814. package/dist/story/generator.d.ts +21 -0
  815. package/dist/story/generator.js +165 -0
  816. package/dist/story/hmr.d.ts +62 -0
  817. package/dist/story/hmr.js +131 -0
  818. package/dist/story/hot-swap.d.ts +46 -0
  819. package/dist/story/hot-swap.js +207 -0
  820. package/dist/story/index.d.ts +99 -0
  821. package/dist/story/index.js +49 -0
  822. package/dist/story/interactions.d.ts +53 -0
  823. package/dist/story/interactions.js +225 -0
  824. package/dist/story/keyboard-shortcuts.d.ts +39 -0
  825. package/dist/story/keyboard-shortcuts.js +345 -0
  826. package/dist/story/output.d.ts +115 -0
  827. package/dist/story/output.js +153 -0
  828. package/dist/story/performance.d.ts +129 -0
  829. package/dist/story/performance.js +252 -0
  830. package/dist/story/presets.d.ts +123 -0
  831. package/dist/story/presets.js +289 -0
  832. package/dist/story/props-validation.d.ts +45 -0
  833. package/dist/story/props-validation.js +215 -0
  834. package/dist/story/renderer.d.ts +69 -0
  835. package/dist/story/renderer.js +209 -0
  836. package/dist/story/search-index.d.ts +47 -0
  837. package/dist/story/search-index.js +106 -0
  838. package/dist/story/search.d.ts +56 -0
  839. package/dist/story/search.js +140 -0
  840. package/dist/story/server.d.ts +31 -0
  841. package/dist/story/server.js +965 -0
  842. package/dist/story/setup.d.ts +56 -0
  843. package/dist/story/setup.js +78 -0
  844. package/dist/story/snapshots.d.ts +65 -0
  845. package/dist/story/snapshots.js +171 -0
  846. package/dist/story/testing.d.ts +83 -0
  847. package/dist/story/testing.js +164 -0
  848. package/dist/story/theme.d.ts +68 -0
  849. package/dist/story/theme.js +170 -0
  850. package/dist/story/ts-css.d.ts +29 -0
  851. package/dist/story/ts-css.js +189 -0
  852. package/dist/story/types.d.ts +342 -0
  853. package/dist/story/types.js +0 -0
  854. package/dist/story/ui/code-panel.d.ts +43 -0
  855. package/dist/story/ui/code-panel.js +175 -0
  856. package/dist/story/ui/controls-panel.d.ts +25 -0
  857. package/dist/story/ui/controls-panel.js +168 -0
  858. package/dist/story/ui/index.d.ts +8 -0
  859. package/dist/story/ui/index.js +4 -0
  860. package/dist/story/ui/navigation.d.ts +55 -0
  861. package/dist/story/ui/navigation.js +250 -0
  862. package/dist/story/ui/preview.d.ts +46 -0
  863. package/dist/story/ui/preview.js +251 -0
  864. package/dist/story/visual-testing.d.ts +45 -0
  865. package/dist/story/visual-testing.js +248 -0
  866. package/dist/streaming.d.ts +238 -0
  867. package/dist/streaming.js +537 -0
  868. package/dist/strict-lint.d.ts +52 -0
  869. package/dist/strict-lint.js +269 -0
  870. package/dist/strip-literals.d.ts +40 -0
  871. package/dist/strip-literals.js +149 -0
  872. package/dist/stx-virtual-ts.d.ts +358 -0
  873. package/dist/stx-virtual-ts.js +670 -0
  874. package/dist/stx.d.ts +924 -0
  875. package/dist/style-scoping.d.ts +42 -0
  876. package/dist/style-scoping.js +82 -0
  877. package/dist/suspense.d.ts +98 -0
  878. package/dist/suspense.js +398 -0
  879. package/dist/teleport.d.ts +31 -0
  880. package/dist/teleport.js +109 -0
  881. package/dist/template-compiler.d.ts +33 -0
  882. package/dist/template-compiler.js +68 -0
  883. package/dist/template-hydrator.d.ts +28 -0
  884. package/dist/template-hydrator.js +95 -0
  885. package/dist/template-tag-balance.d.ts +32 -0
  886. package/dist/template-tag-balance.js +93 -0
  887. package/dist/testing.d.ts +330 -0
  888. package/dist/testing.js +588 -0
  889. package/dist/theme-tokens.d.ts +88 -0
  890. package/dist/theme-tokens.js +71 -0
  891. package/dist/transitions.d.ts +99 -0
  892. package/dist/transitions.js +443 -0
  893. package/dist/ts-css-config.d.ts +71 -0
  894. package/dist/ts-css-config.js +44 -0
  895. package/dist/type-checker.d.ts +85 -0
  896. package/dist/type-checker.js +581 -0
  897. package/dist/typecheck.d.ts +70 -0
  898. package/dist/typecheck.js +365 -0
  899. package/dist/types/component-types.d.ts +248 -0
  900. package/dist/types/component-types.js +0 -0
  901. package/dist/types/config-types.d.ts +938 -0
  902. package/dist/types/config-types.js +0 -0
  903. package/dist/types/context-types.d.ts +122 -0
  904. package/dist/types/context-types.js +0 -0
  905. package/dist/types/csp-types.d.ts +83 -0
  906. package/dist/types/csp-types.js +0 -0
  907. package/dist/types/directive-types.d.ts +315 -0
  908. package/dist/types/directive-types.js +3 -0
  909. package/dist/types/index.d.ts +20 -0
  910. package/dist/types/index.js +1 -0
  911. package/dist/types/pwa-types.d.ts +338 -0
  912. package/dist/types/pwa-types.js +0 -0
  913. package/dist/types.d.ts +27 -0
  914. package/dist/types.js +1 -0
  915. package/dist/typescript-templates.d.ts +156 -0
  916. package/dist/typescript-templates.js +386 -0
  917. package/dist/unresolved-identifiers.d.ts +52 -0
  918. package/dist/unresolved-identifiers.js +148 -0
  919. package/dist/utils.d.ts +112 -0
  920. package/dist/utils.js +1170 -0
  921. package/dist/validator.d.ts +80 -0
  922. package/dist/validator.js +171 -0
  923. package/dist/variable-extractor.d.ts +142 -0
  924. package/dist/variable-extractor.js +1306 -0
  925. package/dist/view-composers.d.ts +171 -0
  926. package/dist/view-composers.js +29 -0
  927. package/dist/virtual-scrolling.d.ts +127 -0
  928. package/dist/virtual-scrolling.js +454 -0
  929. package/dist/visual-editor.d.ts +185 -0
  930. package/dist/visual-editor.js +735 -0
  931. package/dist/visual-testing.d.ts +135 -0
  932. package/dist/visual-testing.js +126 -0
  933. package/dist/vue-template.d.ts +39 -0
  934. package/dist/vue-template.js +476 -0
  935. package/dist/web-components/css-scoping.d.ts +64 -0
  936. package/dist/web-components/css-scoping.js +210 -0
  937. package/dist/web-components/index.d.ts +29 -0
  938. package/dist/web-components/index.js +13 -0
  939. package/dist/web-components/reactive-generator.d.ts +72 -0
  940. package/dist/web-components/reactive-generator.js +484 -0
  941. package/dist/web-components.d.ts +253 -0
  942. package/dist/web-components.js +1466 -0
  943. package/dist/x-element.d.ts +42 -0
  944. package/dist/x-element.js +301 -0
  945. package/package.json +107 -0
  946. package/stx.d.ts +924 -0
@@ -0,0 +1,301 @@
1
+ /**
2
+ * Plugin System for stx
3
+ *
4
+ * Provides a robust plugin architecture with lifecycle hooks for extending
5
+ * the template processing pipeline.
6
+ *
7
+ * ## Plugin Lifecycle
8
+ *
9
+ * Plugins can hook into various stages of template processing:
10
+ *
11
+ * 1. **beforeProcess** - Before any directive processing begins
12
+ * 2. **afterParse** - After template is parsed but before directives run
13
+ * 3. **beforeDirective** - Before each directive type is processed
14
+ * 4. **afterDirective** - After each directive type is processed
15
+ * 5. **beforeRender** - Before final output is generated
16
+ * 6. **afterRender** - After final output is generated
17
+ * 7. **onError** - When an error occurs during processing
18
+ *
19
+ * ## Example Plugin
20
+ *
21
+ * ```typescript
22
+ * const myPlugin: StxPlugin = {
23
+ * name: 'my-plugin',
24
+ * version: '1.0.0',
25
+ *
26
+ * beforeProcess({ template, context }) {
27
+ * // Add global variables
28
+ * context.myPluginData = { initialized: true }
29
+ * return { template, context }
30
+ * },
31
+ *
32
+ * registerDirectives() {
33
+ * return [{
34
+ * name: 'myDirective',
35
+ * handler: (content, params) => content.toUpperCase(),
36
+ * hasEndTag: true
37
+ * }]
38
+ * }
39
+ * }
40
+ * ```
41
+ *
42
+ * @module plugin-system
43
+ */
44
+ import type { CustomDirective, StxOptions } from './types';
45
+ /**
46
+ * Context passed to lifecycle hooks
47
+ */
48
+ export interface PluginContext {
49
+ /** Current template content */
50
+ template: string;
51
+ /** Template context/variables */
52
+ context: Record<string, unknown>;
53
+ /** Source file path */
54
+ filePath: string;
55
+ /** Stx options */
56
+ options: StxOptions;
57
+ /** Dependencies tracked during processing */
58
+ dependencies: Set<string>;
59
+ /** Metadata for plugin communication */
60
+ metadata: Record<string, unknown>;
61
+ }
62
+ /**
63
+ * Result from a lifecycle hook
64
+ */
65
+ export interface PluginHookResult {
66
+ /** Modified template (optional) */
67
+ template?: string;
68
+ /** Modified context (optional) */
69
+ context?: Record<string, unknown>;
70
+ /** Whether to skip further processing (optional) */
71
+ skip?: boolean;
72
+ /** Additional metadata to pass along */
73
+ metadata?: Record<string, unknown>;
74
+ }
75
+ /**
76
+ * Error context passed to onError hook
77
+ */
78
+ export interface PluginErrorContext extends PluginContext {
79
+ /** The error that occurred */
80
+ error: Error;
81
+ /** Phase where error occurred */
82
+ phase: string;
83
+ /** Directive being processed (if applicable) */
84
+ directive?: string;
85
+ }
86
+ /**
87
+ * Directive type identifier for beforeDirective/afterDirective hooks
88
+ */
89
+ export type DirectivePhase = 'comments' | 'escaped' | 'stacks' | 'layouts' | 'includes' | 'js' | 'ts' | 'custom' | 'components' | 'animation' | 'routes' | 'auth' | 'csrf' | 'method' | 'loops' | 'conditionals' | 'forms' | 'markdown' | 'i18n' | 'a11y' | 'seo' | 'expressions';
90
+ /**
91
+ * Plugin definition interface
92
+ */
93
+ export interface StxPlugin {
94
+ /** Unique plugin name */
95
+ name: string;
96
+ /** Plugin version (semver) */
97
+ version?: string;
98
+ /** Plugin description */
99
+ description?: string;
100
+ /** Plugin dependencies (other plugin names) */
101
+ dependencies?: string[];
102
+ /** Order priority (lower runs first, default: 100) */
103
+ priority?: number;
104
+ /**
105
+ * Called before any template processing begins.
106
+ * Use this to initialize plugin state or modify the initial template.
107
+ */
108
+ beforeProcess?: (ctx: PluginContext) => PluginHookResult | Promise<PluginHookResult> | void;
109
+ /**
110
+ * Called after the template is parsed but before directives are processed.
111
+ * Useful for template analysis or pre-processing.
112
+ */
113
+ afterParse?: (ctx: PluginContext) => PluginHookResult | Promise<PluginHookResult> | void;
114
+ /**
115
+ * Called before a specific directive type is processed.
116
+ * @param phase - The directive phase being processed
117
+ * @param ctx - Plugin context
118
+ */
119
+ beforeDirective?: (phase: DirectivePhase, ctx: PluginContext) => PluginHookResult | Promise<PluginHookResult> | void;
120
+ /**
121
+ * Called after a specific directive type is processed.
122
+ * @param phase - The directive phase that was processed
123
+ * @param ctx - Plugin context
124
+ */
125
+ afterDirective?: (phase: DirectivePhase, ctx: PluginContext) => PluginHookResult | Promise<PluginHookResult> | void;
126
+ /**
127
+ * Called before the final render output is generated.
128
+ */
129
+ beforeRender?: (ctx: PluginContext) => PluginHookResult | Promise<PluginHookResult> | void;
130
+ /**
131
+ * Called after the final render output is generated.
132
+ */
133
+ afterRender?: (ctx: PluginContext) => PluginHookResult | Promise<PluginHookResult> | void;
134
+ /**
135
+ * Called when an error occurs during processing.
136
+ * Can return a recovery template or rethrow the error.
137
+ */
138
+ onError?: (ctx: PluginErrorContext) => PluginHookResult | Promise<PluginHookResult> | void;
139
+ /**
140
+ * Register custom directives provided by this plugin.
141
+ * Called during plugin initialization.
142
+ */
143
+ registerDirectives?: () => CustomDirective[];
144
+ /**
145
+ * Register custom expression filters.
146
+ * Called during plugin initialization.
147
+ */
148
+ registerFilters?: () => Record<string, (value: unknown, ...args: unknown[]) => unknown>;
149
+ /**
150
+ * Called when the plugin is registered.
151
+ * Use for one-time initialization.
152
+ */
153
+ onRegister?: (options: StxOptions) => void | Promise<void>;
154
+ /**
155
+ * Called when the plugin is unregistered.
156
+ * Use for cleanup.
157
+ */
158
+ onUnregister?: () => void | Promise<void>;
159
+ /** Directory of .stx components — auto-registered, available in all templates */
160
+ /**
161
+ * Component directory, or directories.
162
+ *
163
+ * An array lets one package register several roots — @stacksjs/components
164
+ * ships src/ui and src/components as siblings (#1823).
165
+ */
166
+ components?: string | string[];
167
+ /** Directory of composable functions — importable via @/functions/ */
168
+ functions?: string;
169
+ /** Directory of store definitions — auto-registered */
170
+ stores?: string;
171
+ /** Directory of page templates — merged into file-based routing */
172
+ pages?: string;
173
+ /** Directory of route middleware */
174
+ middleware?: string;
175
+ /** Setup function called when plugin is loaded — receives options and stx context */
176
+ setup?: (options: Record<string, any>, stx: PluginSetupContext) => void | Promise<void>;
177
+ }
178
+ /**
179
+ * Context passed to plugin setup() function
180
+ */
181
+ export interface PluginSetupContext {
182
+ /** Register a custom directive */
183
+ addDirective: (directive: CustomDirective) => void;
184
+ /** Register an API route handler */
185
+ addRoute: (path: string, handler: (req: Request) => Response | Promise<Response>) => void;
186
+ /** Register route middleware */
187
+ addMiddleware: (middleware: any) => void;
188
+ /** The resolved plugin directory path */
189
+ pluginDir: string;
190
+ /** The stx config */
191
+ config: StxOptions;
192
+ }
193
+ /**
194
+ * Define an stx plugin with type safety.
195
+ *
196
+ * Usage:
197
+ * ```typescript
198
+ * import { definePlugin } from 'stx'
199
+ *
200
+ * export default definePlugin({
201
+ * name: 'my-plugin',
202
+ * components: './components',
203
+ * functions: './functions',
204
+ * setup(options, stx) {
205
+ * stx.addRoute('/api/custom', handler)
206
+ * },
207
+ * })
208
+ * ```
209
+ */
210
+ export declare function definePlugin(config: StxPlugin): StxPlugin;
211
+ /**
212
+ * Plugin manager that handles registration, lifecycle, and execution
213
+ */
214
+ export declare class PluginManager {
215
+ private plugins;
216
+ private sortedPlugins;
217
+ private initialized;
218
+ /**
219
+ * Register a plugin
220
+ */
221
+ register(plugin: StxPlugin, options: StxOptions): Promise<void>;
222
+ /**
223
+ * Unregister a plugin
224
+ */
225
+ unregister(name: string): Promise<boolean>;
226
+ /**
227
+ * Get a registered plugin by name
228
+ */
229
+ get(name: string): StxPlugin | undefined;
230
+ /**
231
+ * Check if a plugin is registered
232
+ */
233
+ has(name: string): boolean;
234
+ /**
235
+ * Get all registered plugins (sorted by priority)
236
+ */
237
+ getAll(): StxPlugin[];
238
+ /**
239
+ * Get all custom directives from all plugins
240
+ */
241
+ getAllDirectives(): CustomDirective[];
242
+ /**
243
+ * Get all filters from all plugins
244
+ */
245
+ getAllFilters(): Record<string, (value: unknown, ...args: unknown[]) => unknown>;
246
+ /**
247
+ * Run beforeProcess hooks on all plugins
248
+ */
249
+ runBeforeProcess(ctx: PluginContext): Promise<PluginContext>;
250
+ /**
251
+ * Run afterParse hooks on all plugins
252
+ */
253
+ runAfterParse(ctx: PluginContext): Promise<PluginContext>;
254
+ /**
255
+ * Run beforeDirective hooks on all plugins
256
+ */
257
+ runBeforeDirective(phase: DirectivePhase, ctx: PluginContext): Promise<PluginContext>;
258
+ /**
259
+ * Run afterDirective hooks on all plugins
260
+ */
261
+ runAfterDirective(phase: DirectivePhase, ctx: PluginContext): Promise<PluginContext>;
262
+ /**
263
+ * Run beforeRender hooks on all plugins
264
+ */
265
+ runBeforeRender(ctx: PluginContext): Promise<PluginContext>;
266
+ /**
267
+ * Run afterRender hooks on all plugins
268
+ */
269
+ runAfterRender(ctx: PluginContext): Promise<PluginContext>;
270
+ /**
271
+ * Run onError hooks on all plugins
272
+ */
273
+ runOnError(ctx: PluginErrorContext): Promise<PluginContext | null>;
274
+ private sortPlugins;
275
+ private runHooks;
276
+ private runDirectiveHooks;
277
+ }
278
+ /**
279
+ * Global plugin manager instance
280
+ */
281
+ export declare const pluginManager: PluginManager;
282
+ /**
283
+ * Create a simple directive plugin
284
+ */
285
+ export declare function createDirectivePlugin(name: string, directives: CustomDirective[], options?: Partial<Omit<StxPlugin, 'name' | 'registerDirectives'>>): StxPlugin;
286
+ /**
287
+ * Create a simple filter plugin
288
+ */
289
+ export declare function createFilterPlugin(name: string, filters: Record<string, (value: unknown, ...args: unknown[]) => unknown>, options?: Partial<Omit<StxPlugin, 'name' | 'registerFilters'>>): StxPlugin;
290
+ /**
291
+ * Debug plugin that logs all lifecycle events
292
+ */
293
+ export declare const debugPlugin: StxPlugin;
294
+ /**
295
+ * Timing plugin that measures processing time
296
+ */
297
+ export declare const timingPlugin: StxPlugin;
298
+ /**
299
+ * Variables plugin that adds common variables to context
300
+ */
301
+ export declare function createVariablesPlugin(variables: Record<string, unknown>): StxPlugin;
@@ -0,0 +1,214 @@
1
+ export function definePlugin(config) {
2
+ return config;
3
+ }
4
+
5
+ export class PluginManager {
6
+ plugins = new Map;
7
+ sortedPlugins = [];
8
+ initialized = !1;
9
+ async register(plugin, options) {
10
+ if (this.plugins.has(plugin.name))
11
+ throw Error(`Plugin "${plugin.name}" is already registered`);
12
+ if (plugin.dependencies) {
13
+ for (const dep of plugin.dependencies)
14
+ if (!this.plugins.has(dep))
15
+ throw Error(`Plugin "${plugin.name}" depends on "${dep}" which is not registered`);
16
+ }
17
+ this.plugins.set(plugin.name, plugin);
18
+ if (plugin.onRegister)
19
+ await plugin.onRegister(options);
20
+ this.sortPlugins();
21
+ }
22
+ async unregister(name) {
23
+ const plugin = this.plugins.get(name);
24
+ if (!plugin)
25
+ return !1;
26
+ for (const [otherName, otherPlugin] of this.plugins)
27
+ if (otherPlugin.dependencies?.includes(name))
28
+ throw Error(`Cannot unregister "${name}" because "${otherName}" depends on it`);
29
+ if (plugin.onUnregister)
30
+ await plugin.onUnregister();
31
+ this.plugins.delete(name);
32
+ this.sortPlugins();
33
+ return !0;
34
+ }
35
+ get(name) {
36
+ return this.plugins.get(name);
37
+ }
38
+ has(name) {
39
+ return this.plugins.has(name);
40
+ }
41
+ getAll() {
42
+ return [...this.sortedPlugins];
43
+ }
44
+ getAllDirectives() {
45
+ const directives = [];
46
+ for (const plugin of this.sortedPlugins)
47
+ if (plugin.registerDirectives)
48
+ directives.push(...plugin.registerDirectives());
49
+ return directives;
50
+ }
51
+ getAllFilters() {
52
+ const filters = {};
53
+ for (const plugin of this.sortedPlugins)
54
+ if (plugin.registerFilters)
55
+ Object.assign(filters, plugin.registerFilters());
56
+ return filters;
57
+ }
58
+ async runBeforeProcess(ctx) {
59
+ return this.runHooks("beforeProcess", ctx);
60
+ }
61
+ async runAfterParse(ctx) {
62
+ return this.runHooks("afterParse", ctx);
63
+ }
64
+ async runBeforeDirective(phase, ctx) {
65
+ return this.runDirectiveHooks("beforeDirective", phase, ctx);
66
+ }
67
+ async runAfterDirective(phase, ctx) {
68
+ return this.runDirectiveHooks("afterDirective", phase, ctx);
69
+ }
70
+ async runBeforeRender(ctx) {
71
+ return this.runHooks("beforeRender", ctx);
72
+ }
73
+ async runAfterRender(ctx) {
74
+ return this.runHooks("afterRender", ctx);
75
+ }
76
+ async runOnError(ctx) {
77
+ for (const plugin of this.sortedPlugins)
78
+ if (plugin.onError)
79
+ try {
80
+ const result = await plugin.onError(ctx);
81
+ if (result) {
82
+ if (result.template !== void 0)
83
+ ctx.template = result.template;
84
+ if (result.context)
85
+ ctx.context = { ...ctx.context, ...result.context };
86
+ if (result.metadata)
87
+ ctx.metadata = { ...ctx.metadata, ...result.metadata };
88
+ if (result.skip)
89
+ return ctx;
90
+ }
91
+ } catch (hookError) {
92
+ console.error(`Error in plugin "${plugin.name}" onError hook:`, hookError);
93
+ }
94
+ return null;
95
+ }
96
+ sortPlugins() {
97
+ this.sortedPlugins = Array.from(this.plugins.values()).sort((a, b) => (a.priority ?? 100) - (b.priority ?? 100));
98
+ }
99
+ async runHooks(hookName, ctx) {
100
+ const currentCtx = { ...ctx };
101
+ for (const plugin of this.sortedPlugins) {
102
+ const hook = plugin[hookName];
103
+ if (hook)
104
+ try {
105
+ const result = await hook(currentCtx);
106
+ if (result) {
107
+ if (result.template !== void 0)
108
+ currentCtx.template = result.template;
109
+ if (result.context)
110
+ currentCtx.context = { ...currentCtx.context, ...result.context };
111
+ if (result.metadata)
112
+ currentCtx.metadata = { ...currentCtx.metadata, ...result.metadata };
113
+ if (result.skip)
114
+ break;
115
+ }
116
+ } catch (error) {
117
+ console.error(`Error in plugin "${plugin.name}" ${hookName} hook:`, error);
118
+ }
119
+ }
120
+ return currentCtx;
121
+ }
122
+ async runDirectiveHooks(hookName, phase, ctx) {
123
+ const currentCtx = { ...ctx };
124
+ for (const plugin of this.sortedPlugins) {
125
+ const hook = plugin[hookName];
126
+ if (hook)
127
+ try {
128
+ const result = await hook(phase, currentCtx);
129
+ if (result) {
130
+ if (result.template !== void 0)
131
+ currentCtx.template = result.template;
132
+ if (result.context)
133
+ currentCtx.context = { ...currentCtx.context, ...result.context };
134
+ if (result.metadata)
135
+ currentCtx.metadata = { ...currentCtx.metadata, ...result.metadata };
136
+ if (result.skip)
137
+ break;
138
+ }
139
+ } catch (error) {
140
+ console.error(`Error in plugin "${plugin.name}" ${hookName} hook:`, error);
141
+ }
142
+ }
143
+ return currentCtx;
144
+ }
145
+ }
146
+ export const pluginManager = new PluginManager;
147
+ export function createDirectivePlugin(name, directives, options = {}) {
148
+ return {
149
+ name,
150
+ ...options,
151
+ registerDirectives: () => directives
152
+ };
153
+ }
154
+ export function createFilterPlugin(name, filters, options = {}) {
155
+ return {
156
+ name,
157
+ ...options,
158
+ registerFilters: () => filters
159
+ };
160
+ }
161
+ export const debugPlugin = definePlugin({
162
+ name: "stx-debug",
163
+ version: "1.0.0",
164
+ description: "Logs all plugin lifecycle events for debugging",
165
+ priority: 0,
166
+ beforeProcess(ctx) {
167
+ console.log("[stx-debug] beforeProcess:", ctx.filePath);
168
+ },
169
+ afterParse(ctx) {
170
+ console.log("[stx-debug] afterParse:", ctx.template.length, "chars");
171
+ },
172
+ beforeDirective(phase, _ctx) {
173
+ console.log("[stx-debug] beforeDirective:", phase);
174
+ },
175
+ afterDirective(phase, _ctx) {
176
+ console.log("[stx-debug] afterDirective:", phase);
177
+ },
178
+ beforeRender(_ctx) {
179
+ console.log("[stx-debug] beforeRender");
180
+ },
181
+ afterRender(ctx) {
182
+ console.log("[stx-debug] afterRender:", ctx.template.length, "chars");
183
+ },
184
+ onError(ctx) {
185
+ console.error("[stx-debug] onError:", ctx.error.message, "in phase:", ctx.phase);
186
+ }
187
+ }), timingPlugin = definePlugin({
188
+ name: "stx-timing",
189
+ version: "1.0.0",
190
+ description: "Measures template processing time",
191
+ priority: 1,
192
+ beforeProcess(ctx) {
193
+ ctx.metadata.startTime = performance.now();
194
+ },
195
+ afterRender(ctx) {
196
+ const startTime = ctx.metadata.startTime;
197
+ if (startTime) {
198
+ const duration = performance.now() - startTime;
199
+ console.log(`[stx-timing] Processing took ${duration.toFixed(2)}ms`);
200
+ }
201
+ }
202
+ });
203
+ export function createVariablesPlugin(variables) {
204
+ return definePlugin({
205
+ name: "stx-variables",
206
+ version: "1.0.0",
207
+ description: "Adds predefined variables to template context",
208
+ beforeProcess(ctx) {
209
+ return {
210
+ context: { ...ctx.context, ...variables }
211
+ };
212
+ }
213
+ });
214
+ }
@@ -0,0 +1,3 @@
1
+ import type { BunPlugin } from 'bun';
2
+ export declare const plugin: BunPlugin;
3
+ export default plugin;
package/dist/plugin.js ADDED
@@ -0,0 +1,174 @@
1
+ import path from "node:path";
2
+ import { buildWebComponents, cacheTemplate, checkCache, extractVariables, loadStxConfig, processDirectives } from "./index.js";
3
+ import { devHelpers, errorLogger, safeExecuteAsync, StxFileError, StxRuntimeError } from "./error-handling.js";
4
+ import { isDevelopment } from "./env.js";
5
+ import { escapeHtml } from "./expressions.js";
6
+ import { performanceMonitor } from "./performance-utils.js";
7
+ import { injectRouterScript } from "./process.js";
8
+ import { findSfcTemplateBlock } from "./sfc-template.js";
9
+ export const plugin = {
10
+ name: "bun-plugin-stx",
11
+ async setup(build) {
12
+ const options = {
13
+ ...await loadStxConfig(),
14
+ ...build.config?.stx
15
+ }, allDependencies = new Set, webComponentsPath = options.webComponents?.enabled ? `./${path.relative(path.dirname(build.config?.outdir || "dist"), options.webComponents.outputDir || "dist/web-components")}` : "/web-components", builtComponents = [];
16
+ if (options.webComponents?.enabled)
17
+ try {
18
+ const components = await buildWebComponents(options, allDependencies);
19
+ builtComponents.push(...components);
20
+ if (options.debug && components.length > 0)
21
+ console.log(`Successfully built ${components.length} web components`);
22
+ } catch (error) {
23
+ console.error("Failed to build web components:", error);
24
+ }
25
+ build.onLoad({ filter: /\.stx$/ }, async ({ path: filePath }) => {
26
+ try {
27
+ const dependencies = new Set;
28
+ if (options.cache && options.cachePath) {
29
+ const cachedOutput = await checkCache(filePath, options);
30
+ if (cachedOutput) {
31
+ if (options.debug)
32
+ console.log(`Using cached version of ${filePath}`);
33
+ return {
34
+ contents: cachedOutput,
35
+ loader: "html"
36
+ };
37
+ }
38
+ }
39
+ const content = await safeExecuteAsync(() => Bun.file(filePath).text(), "", (error) => {
40
+ throw new StxFileError(`Failed to read stx file: ${filePath}`, filePath, void 0, void 0, `File read error: ${error.message}`);
41
+ });
42
+ if (!content)
43
+ throw new StxFileError(`stx file is empty: ${filePath}`, filePath);
44
+ const { scriptContent, templateContent, allScripts } = performanceMonitor.time("script-extraction", () => {
45
+ let workingContent = content;
46
+ const templateBlock = findSfcTemplateBlock(content);
47
+ if (templateBlock)
48
+ workingContent = templateBlock.content.trim();
49
+ const allScriptMatches = content.match(/<script\b[^>]*>[\s\S]*?<\/script>/gi) || [];
50
+ let serverScriptContent = "";
51
+ const clientScripts = [];
52
+ for (const scriptTag of allScriptMatches) {
53
+ const innerContent = scriptTag.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i)?.[1] || "", attrsMatch = scriptTag.match(/<script\b([^>]*)>/i), attrs = attrsMatch ? attrsMatch[1] : "";
54
+ if (/\bserver\b/i.test(attrs))
55
+ serverScriptContent = innerContent;
56
+ else
57
+ clientScripts.push(scriptTag);
58
+ }
59
+ const templateContent = workingContent.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi, "");
60
+ return { scriptContent: serverScriptContent, templateContent, allScripts: clientScripts };
61
+ }), context = {
62
+ __filename: filePath,
63
+ __dirname: path.dirname(filePath),
64
+ __stx: {
65
+ webComponentsPath,
66
+ builtComponents
67
+ }
68
+ };
69
+ await safeExecuteAsync(() => extractVariables(scriptContent, context, filePath), void 0, (error) => {
70
+ const scriptError = new StxRuntimeError(`Script execution failed in ${filePath}: ${error.message}`, filePath, void 0, void 0, scriptContent.substring(0, 100));
71
+ errorLogger.log(scriptError, { filePath, scriptContent });
72
+ if (options.debug)
73
+ throw scriptError;
74
+ });
75
+ let output = await performanceMonitor.timeAsync("directive-processing", async () => {
76
+ return await processDirectives(templateContent, context, filePath, options, dependencies);
77
+ });
78
+ if (allScripts.length > 0) {
79
+ const { interpolateScriptsInTemplate } = await import("./expressions.js"), scriptsHtml = interpolateScriptsInTemplate(allScripts.join(`
80
+ `), context), bodyCloseIdx = output.search(/<\/body>/i);
81
+ if (bodyCloseIdx !== -1)
82
+ output = output.slice(0, bodyCloseIdx) + scriptsHtml + `
83
+ ` + output.slice(bodyCloseIdx);
84
+ else
85
+ output += `
86
+ ${scriptsHtml}`;
87
+ }
88
+ output = await injectRouterScript(output);
89
+ dependencies.forEach((dep) => allDependencies.add(dep));
90
+ if (options.cache && options.cachePath) {
91
+ await cacheTemplate(filePath, output, dependencies, options);
92
+ if (options.debug)
93
+ console.log(`Cached template ${filePath} with ${dependencies.size} dependencies`);
94
+ }
95
+ return {
96
+ contents: output,
97
+ loader: "html"
98
+ };
99
+ } catch (error) {
100
+ const enhancedError = error instanceof Error ? error : new StxRuntimeError(`Plugin processing failed: ${String(error)}`, filePath);
101
+ errorLogger.log(enhancedError, { filePath, buildConfig: build.config });
102
+ devHelpers.logDetailedError(enhancedError, { filePath, plugin: "bun-plugin-stx" });
103
+ if (options.debug)
104
+ console.error("stx Plugin Error:", enhancedError);
105
+ const stxError = enhancedError, errorLine = stxError.line || null, errorContext = stxError.context || null;
106
+ return {
107
+ contents: options.debug || isDevelopment() ? `<!DOCTYPE html>
108
+ <html lang="en">
109
+ <head>
110
+ <meta charset="UTF-8">
111
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
112
+ <title>stx Rendering Error</title>
113
+ <style>
114
+ body { font-family: system-ui, -apple-system, sans-serif; max-width: 800px; margin: 40px auto; padding: 20px; line-height: 1.6; }
115
+ .error-header { color: #dc3545; border-left: 4px solid #dc3545; padding-left: 16px; margin-bottom: 24px; }
116
+ .error-details { background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 8px; padding: 16px; margin: 16px 0; }
117
+ .error-code { background: #2d3748; color: #e2e8f0; padding: 16px; border-radius: 8px; overflow-x: auto; font-family: 'Monaco', 'Menlo', monospace; font-size: 14px; }
118
+ .help-section { background: #e3f2fd; border-left: 4px solid #2196f3; padding: 16px; margin-top: 24px; }
119
+ .file-path { font-family: monospace; background: #f1f3f4; padding: 2px 6px; border-radius: 4px; }
120
+ </style>
121
+ </head>
122
+ <body>
123
+ <div class="error-header">
124
+ <h1>stx Template Error</h1>
125
+ <p>An error occurred while processing your stx template.</p>
126
+ </div>
127
+
128
+ <div class="error-details">
129
+ <h3>Error Details</h3>
130
+ <p><strong>File:</strong> <span class="file-path">${escapeHtml(filePath)}</span></p>
131
+ <p><strong>Error:</strong> ${escapeHtml(enhancedError.message)}</p>
132
+ ${errorLine ? `<p><strong>Line:</strong> ${escapeHtml(String(errorLine))}</p>` : ""}
133
+ ${errorContext ? `<p><strong>Context:</strong> ${escapeHtml(String(errorContext))}</p>` : ""}
134
+ </div>
135
+
136
+ ${enhancedError.stack ? `
137
+ <div class="error-details">
138
+ <h3>Stack Trace</h3>
139
+ <pre class="error-code">${escapeHtml(enhancedError.stack)}</pre>
140
+ </div>` : ""}
141
+
142
+ <div class="help-section">
143
+ <h3>Troubleshooting Tips</h3>
144
+ <ul>
145
+ <li>Check the syntax of your stx directives (e.g., @if, @foreach)</li>
146
+ <li>Verify that all variables used in the template are properly defined</li>
147
+ <li>Ensure script tags have valid JavaScript/TypeScript syntax</li>
148
+ <li>Run <code>stx debug ${escapeHtml(path.basename(filePath))}</code> for detailed analysis</li>
149
+ <li>Enable debug mode in your stx config for more detailed error messages</li>
150
+ </ul>
151
+ </div>
152
+ </body>
153
+ </html>` : `<!DOCTYPE html>
154
+ <html lang="en">
155
+ <head>
156
+ <meta charset="UTF-8">
157
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
158
+ <title>Error</title>
159
+ <style>
160
+ body { font-family: system-ui, -apple-system, sans-serif; max-width: 600px; margin: 80px auto; padding: 20px; text-align: center; color: #333; }
161
+ </style>
162
+ </head>
163
+ <body>
164
+ <h1>Something went wrong</h1>
165
+ <p>An internal error occurred. Please try again later.</p>
166
+ </body>
167
+ </html>`,
168
+ loader: "html"
169
+ };
170
+ }
171
+ });
172
+ }
173
+ };
174
+ export default plugin;