@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,427 @@
1
+ const componentRegistry = new Map, componentCache = new Map;
2
+ export function registerServerComponent(component) {
3
+ componentRegistry.set(component.name, {
4
+ component,
5
+ type: "server"
6
+ });
7
+ }
8
+ export function registerClientComponent(component) {
9
+ componentRegistry.set(component.name, {
10
+ component,
11
+ type: "client"
12
+ });
13
+ }
14
+ export function getComponent(name) {
15
+ return componentRegistry.get(name);
16
+ }
17
+ export function hasComponent(name) {
18
+ return componentRegistry.has(name);
19
+ }
20
+ export function getComponentNames() {
21
+ return Array.from(componentRegistry.keys());
22
+ }
23
+ export function clearComponents() {
24
+ componentRegistry.clear();
25
+ componentCache.clear();
26
+ }
27
+ function generateCacheKey(name, props) {
28
+ const propsHash = JSON.stringify(props);
29
+ return `${name}:${hashString(propsHash)}`;
30
+ }
31
+ function hashString(str) {
32
+ let hash = 0;
33
+ for (let i = 0;i < str.length; i++) {
34
+ const char = str.charCodeAt(i);
35
+ hash = (hash << 5) - hash + char;
36
+ hash = hash | 0;
37
+ }
38
+ return Math.abs(hash).toString(36);
39
+ }
40
+ function getCached(name, props, config) {
41
+ if (!config?.enabled)
42
+ return null;
43
+ const key = (config.keyGenerator || ((p) => generateCacheKey(name, p)))(props), cached = componentCache.get(key);
44
+ if (!cached)
45
+ return null;
46
+ const now = Date.now(), ttl = config.ttl || 60000;
47
+ if (now - cached.timestamp > ttl) {
48
+ if (config.staleWhileRevalidate)
49
+ return { html: cached.html, data: cached.data };
50
+ componentCache.delete(key);
51
+ return null;
52
+ }
53
+ return { html: cached.html, data: cached.data };
54
+ }
55
+ function setCached(name, props, html, data, config) {
56
+ if (!config?.enabled)
57
+ return;
58
+ const key = (config.keyGenerator || ((p) => generateCacheKey(name, p)))(props);
59
+ componentCache.set(key, {
60
+ html,
61
+ timestamp: Date.now(),
62
+ data
63
+ });
64
+ }
65
+ export function clearComponentCache(name) {
66
+ if (name) {
67
+ for (const key of componentCache.keys())
68
+ if (key.startsWith(`${name}:`))
69
+ componentCache.delete(key);
70
+ } else
71
+ componentCache.clear();
72
+ }
73
+ export async function renderServerComponent(name, options = {}) {
74
+ const startTime = performance.now(), { props = {}, signal } = options, entry = componentRegistry.get(name);
75
+ if (!entry)
76
+ throw Error(`Server component "${name}" not found`);
77
+ if (entry.type !== "server")
78
+ throw Error(`Component "${name}" is not a server component`);
79
+ const component = entry.component, cached = getCached(name, props, component.cache);
80
+ if (cached)
81
+ return {
82
+ html: cached.html,
83
+ renderTime: performance.now() - startTime,
84
+ data: cached.data,
85
+ dependencies: component.dependencies || [],
86
+ cached: !0
87
+ };
88
+ if (signal?.aborted)
89
+ throw Error("Render aborted");
90
+ try {
91
+ let data = { ...props };
92
+ if (component.loader)
93
+ data = {
94
+ ...data,
95
+ ...await component.loader(props)
96
+ };
97
+ const html = await processServerTemplate(component.template, data);
98
+ setCached(name, props, html, data, component.cache);
99
+ return {
100
+ html,
101
+ renderTime: performance.now() - startTime,
102
+ data,
103
+ dependencies: component.dependencies || [],
104
+ cached: !1
105
+ };
106
+ } catch (error) {
107
+ if (component.errorBoundary)
108
+ return {
109
+ html: await processServerTemplate(component.errorBoundary, {
110
+ error: error instanceof Error ? error.message : String(error),
111
+ ...props
112
+ }),
113
+ renderTime: performance.now() - startTime,
114
+ dependencies: component.dependencies || [],
115
+ cached: !1
116
+ };
117
+ throw error;
118
+ }
119
+ }
120
+ export async function renderClientComponent(name, options = {}) {
121
+ const startTime = performance.now(), { props = {} } = options, entry = componentRegistry.get(name);
122
+ if (!entry)
123
+ throw Error(`Client component "${name}" not found`);
124
+ if (entry.type !== "client")
125
+ throw Error(`Component "${name}" is not a client component`);
126
+ const component = entry.component, id = `cc-${name}-${Math.random().toString(36).slice(2, 9)}`, innerHtml = await processServerTemplate(component.template, props), clientPropsData = {};
127
+ if (component.clientProps) {
128
+ for (const prop of component.clientProps)
129
+ if (prop in props)
130
+ clientPropsData[prop] = props[prop];
131
+ }
132
+ const html = `<div data-client-component="${name}" data-component-id="${id}" data-priority="${component.priority || "lazy"}">
133
+ ${innerHtml}
134
+ <script type="application/json" data-component-props="${id}">${JSON.stringify(clientPropsData)}</script>
135
+ </div>`, hydrationScript = component.clientScript ? `<script type="module" data-component-script="${id}">${component.clientScript}</script>` : void 0;
136
+ return {
137
+ html,
138
+ renderTime: performance.now() - startTime,
139
+ data: props,
140
+ dependencies: [],
141
+ cached: !1,
142
+ hydrationScript
143
+ };
144
+ }
145
+ export async function renderComponent(name, options = {}) {
146
+ const entry = componentRegistry.get(name);
147
+ if (!entry)
148
+ throw Error(`Component "${name}" not found`);
149
+ if (entry.type === "server")
150
+ return renderServerComponent(name, options);
151
+ else
152
+ return renderClientComponent(name, options);
153
+ }
154
+ const suspenseStates = new Map;
155
+ export function cleanupSuspenseStates() {
156
+ for (const [id, state] of suspenseStates)
157
+ if (state.status === "resolved" || state.status === "error")
158
+ suspenseStates.delete(id);
159
+ }
160
+ export function createSuspenseBoundary(id, fallback) {
161
+ const state = {
162
+ id,
163
+ status: "pending"
164
+ };
165
+ suspenseStates.set(id, state);
166
+ return {
167
+ wrap: async (promise) => {
168
+ state.promise = promise;
169
+ try {
170
+ state.result = await promise;
171
+ state.status = "resolved";
172
+ return state.result;
173
+ } catch (error) {
174
+ state.error = error instanceof Error ? error : Error(String(error));
175
+ state.status = "error";
176
+ throw error;
177
+ }
178
+ },
179
+ getFallback: () => fallback
180
+ };
181
+ }
182
+ export function getSuspenseState(id) {
183
+ return suspenseStates.get(id);
184
+ }
185
+ export function clearSuspenseState(id) {
186
+ if (id)
187
+ suspenseStates.delete(id);
188
+ else
189
+ suspenseStates.clear();
190
+ }
191
+ export function createStreamingRenderer(components, options = {}) {
192
+ return {
193
+ renderToStream: () => {
194
+ return new ReadableStream({
195
+ async start(controller) {
196
+ for (const name of components)
197
+ try {
198
+ const result = await renderComponent(name, options);
199
+ controller.enqueue(result.html);
200
+ if (result.hydrationScript)
201
+ controller.enqueue(result.hydrationScript);
202
+ } catch (error) {
203
+ const message = error instanceof Error ? error.message : String(error);
204
+ controller.enqueue(`<!-- Error rendering ${name}: ${message} -->`);
205
+ }
206
+ controller.close();
207
+ }
208
+ });
209
+ },
210
+ renderToString: async () => {
211
+ const parts = [];
212
+ for (const name of components)
213
+ try {
214
+ const result = await renderComponent(name, options);
215
+ parts.push(result.html);
216
+ if (result.hydrationScript)
217
+ parts.push(result.hydrationScript);
218
+ } catch (error) {
219
+ const message = error instanceof Error ? error.message : String(error);
220
+ parts.push(`<!-- Error rendering ${name}: ${message} -->`);
221
+ }
222
+ return parts.join(`
223
+ `);
224
+ }
225
+ };
226
+ }
227
+ async function processServerTemplate(template, context) {
228
+ let result = template;
229
+ result = result.replace(/@foreach\s*\((\w+(?:\.\w+)*)\s+as\s+(\w+)\)([\s\S]*?)@endforeach/g, (_match, arrayExpr, itemVar, content) => {
230
+ const array = getNestedValue(context, arrayExpr.trim());
231
+ if (!Array.isArray(array))
232
+ return "";
233
+ return array.map((item, index) => {
234
+ const itemContext = { ...context, [itemVar]: item, loop: { index, first: index === 0, last: index === array.length - 1 } };
235
+ return processServerTemplateSync(content, itemContext);
236
+ }).join("");
237
+ });
238
+ result = result.replace(/@if\s*\(([^)]+)\)([\s\S]*?)@endif/g, (_match, condition, content) => {
239
+ return evaluateCondition(condition.trim(), context) ? content : "";
240
+ });
241
+ result = result.replace(/\{\{([^}]+)\}\}/g, (match, expr) => {
242
+ const trimmed = expr.trim();
243
+ if (trimmed.startsWith("await ")) {
244
+ const varName = trimmed.slice(6).split("(")[0].trim();
245
+ return String(context[varName] ?? match);
246
+ }
247
+ const parts = trimmed.split(".");
248
+ let value = context;
249
+ for (const part of parts) {
250
+ if (value === null || value === void 0)
251
+ break;
252
+ value = value[part];
253
+ }
254
+ if (value === void 0 || value === null)
255
+ return "";
256
+ return escapeHtmlValue(String(value));
257
+ });
258
+ return result;
259
+ }
260
+ function processServerTemplateSync(template, context) {
261
+ let result = template;
262
+ result = result.replace(/\{\{([^}]+)\}\}/g, (_match, expr) => {
263
+ const value = getNestedValue(context, expr.trim());
264
+ if (value === void 0 || value === null)
265
+ return "";
266
+ return escapeHtmlValue(String(value));
267
+ });
268
+ return result;
269
+ }
270
+ function getNestedValue(obj, path) {
271
+ const parts = path.split(".");
272
+ let value = obj;
273
+ for (const part of parts) {
274
+ if (value === null || value === void 0)
275
+ return;
276
+ value = value[part];
277
+ }
278
+ return value;
279
+ }
280
+ function evaluateCondition(condition, context) {
281
+ const value = getNestedValue(context, condition);
282
+ return Boolean(value);
283
+ }
284
+ function escapeHtml(str) {
285
+ return str.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#039;");
286
+ }
287
+ function escapeHtmlValue(str) {
288
+ return escapeHtml(str).replace(/\{{2,}/g, (match) => Array.from({ length: match.length }, () => "&#123;").join("&#8288;")).replace(/\{(?=!)/g, "&#123;&#8288;");
289
+ }
290
+ export const serverComponentDirective = {
291
+ name: "serverComponent",
292
+ hasEndTag: !0,
293
+ handler: (content, params, _context, _filePath) => {
294
+ if (!params || params.length === 0)
295
+ throw Error("@serverComponent requires a name parameter");
296
+ const name = params[0].replace(/['"`]/g, ""), id = `sc-${name}-${Math.random().toString(36).slice(2, 9)}`;
297
+ registerServerComponent({
298
+ name,
299
+ template: content
300
+ });
301
+ return `<div data-server-component="${name}" data-component-id="${id}">${content}</div>`;
302
+ }
303
+ }, clientComponentDirective = {
304
+ name: "clientComponent",
305
+ hasEndTag: !0,
306
+ handler: (content, params, _context, _filePath) => {
307
+ if (!params || params.length === 0)
308
+ throw Error("@clientComponent requires a name parameter");
309
+ const name = params[0].replace(/['"`]/g, ""), priority = params[1]?.replace(/['"`]/g, ""), id = `cc-${name}-${Math.random().toString(36).slice(2, 9)}`, scriptMatch = content.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i), clientScript = scriptMatch ? scriptMatch[1] : void 0, templateContent = scriptMatch ? content.replace(scriptMatch[0], "") : content;
310
+ registerClientComponent({
311
+ name,
312
+ template: templateContent,
313
+ clientScript,
314
+ priority: priority || "lazy"
315
+ });
316
+ return `<div data-client-component="${name}" data-component-id="${id}" data-priority="${priority || "lazy"}">
317
+ ${templateContent}
318
+ </div>`;
319
+ }
320
+ }, suspenseDirective = {
321
+ name: "suspense",
322
+ hasEndTag: !0,
323
+ handler: (content, params, _context, _filePath) => {
324
+ const fallback = params[0]?.replace(/['"`]/g, "") || "Loading...", id = `suspense-${Math.random().toString(36).slice(2, 9)}`;
325
+ createSuspenseBoundary(id, fallback);
326
+ return `<div data-suspense="${id}" data-fallback="${escapeHtml(fallback)}">
327
+ ${content}
328
+ </div>`;
329
+ }
330
+ };
331
+ export function registerServerComponentDirectives() {
332
+ return [
333
+ serverComponentDirective,
334
+ clientComponentDirective,
335
+ suspenseDirective
336
+ ];
337
+ }
338
+ export function generateServerComponentsRuntime() {
339
+ return `
340
+ (function() {
341
+ 'use strict';
342
+
343
+ const stxServerComponents = {
344
+ components: new Map(),
345
+
346
+ registerComponent(name, hydrator) {
347
+ this.components.set(name, hydrator);
348
+ },
349
+
350
+ hydrateComponent(element) {
351
+ const name = element.dataset.clientComponent;
352
+ const id = element.dataset.componentId;
353
+ const hydrator = this.components.get(name);
354
+
355
+ if (!hydrator) {
356
+ console.warn('[stx] No hydrator for component:', name);
357
+ return;
358
+ }
359
+
360
+ const propsEl = element.querySelector('[data-component-props="' + id + '"]');
361
+ const props = propsEl ? JSON.parse(propsEl.textContent || '{}') : {};
362
+
363
+ try {
364
+ hydrator(element, props);
365
+ element.dataset.hydrated = 'true';
366
+ }
367
+ catch (error) {
368
+ console.error('[stx] Hydration error:', name, error);
369
+ }
370
+ },
371
+
372
+ hydrateAll() {
373
+ const components = document.querySelectorAll('[data-client-component]');
374
+ const eager = [];
375
+ const lazy = [];
376
+ const idle = [];
377
+
378
+ components.forEach(el => {
379
+ const priority = el.dataset.priority || 'lazy';
380
+ if (priority === 'eager') eager.push(el);
381
+ else if (priority === 'idle') idle.push(el);
382
+ else lazy.push(el);
383
+ });
384
+
385
+ // Hydrate eager immediately
386
+ eager.forEach(el => this.hydrateComponent(el));
387
+
388
+ // Hydrate lazy on intersection
389
+ if (lazy.length && 'IntersectionObserver' in window) {
390
+ const observer = new IntersectionObserver(entries => {
391
+ entries.forEach(entry => {
392
+ if (entry.isIntersecting) {
393
+ observer.unobserve(entry.target);
394
+ this.hydrateComponent(entry.target);
395
+ }
396
+ });
397
+ }, { rootMargin: '50px' });
398
+ lazy.forEach(el => observer.observe(el));
399
+ }
400
+ else {
401
+ lazy.forEach(el => this.hydrateComponent(el));
402
+ }
403
+
404
+ // Hydrate idle during browser idle
405
+ if (idle.length && 'requestIdleCallback' in window) {
406
+ requestIdleCallback(() => {
407
+ idle.forEach(el => this.hydrateComponent(el));
408
+ });
409
+ }
410
+ else {
411
+ setTimeout(() => {
412
+ idle.forEach(el => this.hydrateComponent(el));
413
+ }, 100);
414
+ }
415
+ }
416
+ };
417
+
418
+ window.__stxServerComponents = stxServerComponents;
419
+
420
+ if (document.readyState === 'loading') {
421
+ document.addEventListener('DOMContentLoaded', () => stxServerComponents.hydrateAll());
422
+ }
423
+ else {
424
+ stxServerComponents.hydrateAll();
425
+ }
426
+ })();`;
427
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Locate the explicit wrapper `<template>` in an STX single-file component.
3
+ *
4
+ * A bare `<template>` can be an SFC wrapper, while a template carrying a
5
+ * client directive (`:for`, `@if`, `x-else`, slots, or an id) is runtime DOM
6
+ * and must stay in the rendered body. Keeping this distinction in one scanner
7
+ * avoids subtle regex boundary bugs for punctuation-prefixed attributes.
8
+ */
9
+ export interface SfcTemplateBlock {
10
+ start: number;
11
+ openEnd: number;
12
+ closeStart: number;
13
+ end: number;
14
+ content: string;
15
+ }
16
+ export declare function isClientTemplateTag(openingTag: string): boolean;
17
+ export declare function findSfcTemplateBlock(source: string): SfcTemplateBlock | null;
@@ -0,0 +1,32 @@
1
+ const TEMPLATE_TAG_RE = /<\/?template\b[^>]*>/gi, CLIENT_TEMPLATE_ATTRIBUTE_RE = /(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i;
2
+ export function isClientTemplateTag(openingTag) {
3
+ const attrs = openingTag.replace(/^<template\b/i, "").replace(/>$/, "");
4
+ return CLIENT_TEMPLATE_ATTRIBUTE_RE.test(attrs);
5
+ }
6
+ export function findSfcTemplateBlock(source) {
7
+ TEMPLATE_TAG_RE.lastIndex = 0;
8
+ let opening;
9
+ while ((opening = TEMPLATE_TAG_RE.exec(source)) !== null) {
10
+ if (opening[0].startsWith("</") || isClientTemplateTag(opening[0]))
11
+ continue;
12
+ const start = opening.index, openEnd = TEMPLATE_TAG_RE.lastIndex;
13
+ let depth = 1, nested;
14
+ while ((nested = TEMPLATE_TAG_RE.exec(source)) !== null)
15
+ if (nested[0].startsWith("</")) {
16
+ depth--;
17
+ if (depth === 0) {
18
+ const closeStart = nested.index;
19
+ return {
20
+ start,
21
+ openEnd,
22
+ closeStart,
23
+ end: TEMPLATE_TAG_RE.lastIndex,
24
+ content: source.slice(openEnd, closeStart)
25
+ };
26
+ }
27
+ } else
28
+ depth++;
29
+ return null;
30
+ }
31
+ return null;
32
+ }
@@ -0,0 +1,222 @@
1
+ /**
2
+ * Signal Processing Module
3
+ *
4
+ * Handles detection, conversion, and setup of STX signals in templates.
5
+ * Converts directive-style syntax (@if, @for) to attribute-style for the
6
+ * client-side signals runtime, and wraps signal scripts in setup functions.
7
+ *
8
+ * @module signal-processing
9
+ */
10
+ import type { StxOptions } from './types';
11
+ /**
12
+ * Scan a template for `<script>` tags in browser order: each opening tag is
13
+ * closed by the **first** subsequent `</script>` (case-insensitive), and the
14
+ * scanner then continues from after that close tag. This matches how HTML
15
+ * parsers tokenize `<script>` as a RAWTEXT element — they don't re-scan the
16
+ * body for more `<script` openings.
17
+ *
18
+ * A plain regex like `/<script[^>]*>([\s\S]*?)<\/script>/g` doesn't give you
19
+ * this property: if a script body contains the literal text `<script client>`
20
+ * (e.g. inside a JS comment), the regex matches it as a fresh script tag,
21
+ * which breaks downstream TypeScript transpilation and directive parsing.
22
+ *
23
+ * `skipAttrs` lets callers drop tags whose attribute string contains certain
24
+ * patterns (e.g. `server`, `src=`, `data-stx-scoped`).
25
+ */
26
+ export interface ScannedScriptTag {
27
+ readonly fullMatch: string;
28
+ readonly attrs: string;
29
+ readonly body: string;
30
+ readonly start: number;
31
+ readonly end: number;
32
+ }
33
+ /**
34
+ * Drop cached script scans.
35
+ *
36
+ * Nothing in the framework calls this, and nothing needs to. Entries are keyed
37
+ * on the input document itself, so an edited template is a different key and
38
+ * can never be answered with a stale result -- there is no invalidation to
39
+ * perform. It exists for callers that want a cold cache, such as tests.
40
+ */
41
+ export declare function clearScriptScanCache(): void;
42
+ export declare function scanScriptTags(html: string, opts?: {
43
+ skipAttrs?: RegExp;
44
+ }): ScannedScriptTag[];
45
+ /**
46
+ * Parsed form of a loop expression (`@for` / `@foreach` argument).
47
+ *
48
+ * `style: 'as'` — "iterable as item" / "iterable as idx => item" / "iterable as (item, idx)"
49
+ * `style: 'in'` — "item in iterable" / "(item, idx) in iterable" / "item of iterable"
50
+ * `style: 'unknown'` — fell through all parsers; iterable is `null`
51
+ */
52
+ export interface ParsedLoopExpression {
53
+ style: 'as' | 'in' | 'unknown';
54
+ iterable: string | null;
55
+ itemVar: string | null;
56
+ indexVar: string | null;
57
+ }
58
+ /**
59
+ * Parse a loop argument — accepts every syntax stx supports at runtime.
60
+ *
61
+ * ```
62
+ * parseLoopExpression('items as item') → { style:'as', iterable:'items', itemVar:'item', indexVar:null }
63
+ * parseLoopExpression('items as idx => item') → { style:'as', iterable:'items', itemVar:'item', indexVar:'idx' }
64
+ * parseLoopExpression('items as item, idx') → { style:'as', iterable:'items', itemVar:'item', indexVar:'idx' }
65
+ * parseLoopExpression('items as (item, idx)') → { style:'as', iterable:'items', itemVar:'item', indexVar:'idx' }
66
+ * parseLoopExpression('obj.list as item') → { style:'as', iterable:'obj.list', itemVar:'item', indexVar:null }
67
+ * parseLoopExpression('item in items') → { style:'in', iterable:'items', itemVar:'item', indexVar:null }
68
+ * parseLoopExpression('(item, idx) in items') → { style:'in', iterable:'items', itemVar:'item', indexVar:'idx' }
69
+ * parseLoopExpression('item of items') → { style:'in', iterable:'items', itemVar:'item', indexVar:null }
70
+ * ```
71
+ */
72
+ export declare function parseLoopExpression(expr: string): ParsedLoopExpression;
73
+ /**
74
+ * Check if template uses STX signals syntax.
75
+ *
76
+ * STX directives work seamlessly on both server and client:
77
+ * - `@if`, `@else` - Conditional rendering
78
+ * - `@for` - List iteration
79
+ * - `@show` - Toggle visibility (keeps element in DOM)
80
+ * - `@model` - Two-way binding
81
+ * - `@bind:attr` - Dynamic attribute binding
82
+ * - `@class`, `@style` - Dynamic class/style binding
83
+ * - `@click`, `@submit` - Event handling
84
+ * - Scripts containing `state(`, `derived(`, `effect(` - Signal APIs
85
+ *
86
+ * Server-side directives are processed at build time.
87
+ * Remaining directives with reactive values are handled by the client runtime.
88
+ */
89
+ export declare function hasSignalsSyntax(template: string, filePath?: string): boolean;
90
+ /**
91
+ * Convert @if(expr)...@endif directive blocks to attribute-style for signal templates.
92
+ *
93
+ * This allows the signals runtime to handle reactive conditionals instead of
94
+ * evaluating them at build time with mock values. `@if`/`v-if` (which compiles to
95
+ * `@if`) thus behave as interchangeable sugar for `:if` on signal pages — including
96
+ * `@if`/`@elseif`/`@else` chains, which become a reactive sibling chain driven by
97
+ * the runtime's `findIfChain`/`bindIfChain` (it already understands `@else-if`/`@else`).
98
+ *
99
+ * Converts:
100
+ * @if(loading())
101
+ * <div>Loading...</div>
102
+ * @endif
103
+ *
104
+ * To:
105
+ * <template @if="loading()">
106
+ * <div>Loading...</div>
107
+ * </template>
108
+ *
109
+ * And a branching chain:
110
+ * @if(a()) <p>A</p> @elseif(b()) <p>B</p> @else <p>C</p> @endif
111
+ *
112
+ * To adjacent siblings the runtime walks via nextElementSibling:
113
+ * <p @if="a()">A</p>
114
+ * <p @else-if="b()">B</p>
115
+ * <p @else>C</p>
116
+ *
117
+ * Note: Uses <template> wrapper for branches with multiple children or text nodes.
118
+ */
119
+ export declare function convertSignalDirectivesToAttributes(template: string, context?: Record<string, any>): string;
120
+ /**
121
+ * SSR pre-eval for literal-valued reactive conditional attributes
122
+ * (stacksjs/stx#1739, Phase A).
123
+ *
124
+ * The reactive `:if` / `:show` family (and the `x-if` / `x-show` /
125
+ * attribute-form `@if` aliases) is normally bound at runtime via
126
+ * `bindIf` / `bindShow`. When the attribute value is a pure literal
127
+ * — feature-flag constants like `:if="false"`, dev-only debug blocks
128
+ * like `:if="true"`, etc. — there's no reason to ship the element +
129
+ * runtime binding. Pre-evaluate and:
130
+ *
131
+ * - truthy literal ⇒ strip the attribute, keep the element
132
+ * - falsy literal ⇒ drop the element entirely (children included)
133
+ *
134
+ * Phase A intentionally handles ONE element at a time — `:else-if` /
135
+ * `:else` chain rebalancing is Phase B. So `:if="false"` with a sibling
136
+ * `:else` still drops the if-element; the else still emits as it would
137
+ * have, and the runtime picks correctly (chains where the first
138
+ * branch is gone become "always show the else branch").
139
+ *
140
+ * Skips:
141
+ * - non-literal expressions (let the runtime own them)
142
+ * - the block-form `@if(...)@endif` directive — that has its own
143
+ * server-side handler (`processConditionals`)
144
+ * - elements inside `<script>` / `<style>` bodies
145
+ */
146
+ export declare function preEvalLiteralReactiveIfs(template: string): string;
147
+ /**
148
+ * Convert @for(item in items())...@endfor directive blocks to attribute-style.
149
+ *
150
+ * Converts:
151
+ * @for(item in items())
152
+ * <div>{{ item.name }}</div>
153
+ * @endfor
154
+ *
155
+ * To:
156
+ * <template @for="item in items()">
157
+ * <div>{{ item.name }}</div>
158
+ * </template>
159
+ */
160
+ export declare function convertSignalLoopsToAttributes(template: string, context?: Record<string, any>): string;
161
+ export declare function processScriptSetup(template: string, filePath?: string, serverData?: Record<string, unknown>): Promise<{
162
+ output: string;
163
+ setupCode: string | null;
164
+ }>;
165
+ /**
166
+ * Extract exported variable names from setup script.
167
+ * Returns variables that should be exposed to the template.
168
+ * Only extracts TOP-LEVEL declarations, not variables inside nested functions.
169
+ */
170
+ export declare function extractExports(setupContent: string): string;
171
+ /**
172
+ * Main orchestrator for signal processing.
173
+ *
174
+ * Detects signal syntax, wraps scripts in setup functions, and injects the
175
+ * signals runtime. Browser helpers and model bootstraps enter the same client
176
+ * bundle as the setup code, so rendered pages never depend on bare specifiers.
177
+ */
178
+ export declare function processSignals(template: string, options: StxOptions, filePath?: string, serverData?: Record<string, unknown>): Promise<string>;
179
+ /**
180
+ * Index of the first `pattern` match in `html` that is not inside a `<script>`
181
+ * or `<style>` block, or -1 when every match is embedded.
182
+ *
183
+ * Markup landmarks cannot be located with a plain `indexOf` / `String.replace`
184
+ * once a runtime has been inlined: those scripts are hundreds of kilobytes of
185
+ * JavaScript that legitimately mention `<body>` and `</head>` in comments,
186
+ * strings and regex literals. Anchoring on the first textual hit splices
187
+ * generated markup into the middle of a script tag, which both corrupts the
188
+ * script and — when the inserted markup contains `</script>` — silently ends
189
+ * the tag early.
190
+ */
191
+ export declare function findMarkupIndexOutsideScripts(html: string, pattern: RegExp): number;
192
+ /**
193
+ * Turn the specifier list of an `import { … } from 'stx'` into local aliases.
194
+ *
195
+ * The setup function already destructures the stx API from `window.stx`, so a
196
+ * plain `{ state }` specifier needs nothing. A RENAMED one does: when the
197
+ * bundler inlines a composable that imports a name the outer script already
198
+ * binds, it emits `import { state as state2 } from '@stacksjs/stx'`. Dropping
199
+ * that line loses the mapping and every `state2(…)` call in the inlined module
200
+ * throws `state2 is not defined` — which aborts the whole setup, so no
201
+ * directive on the page ever binds.
202
+ *
203
+ * Type-only specifiers are erased: they have no runtime binding to alias.
204
+ */
205
+ export declare function rewriteStxImportSpecifiers(specifiers: string): string;
206
+ /**
207
+ * Strip the runtime imports a bundled client script carries, keeping aliases.
208
+ *
209
+ * Every wrapper that hosts bundled client code destructures the stx API from
210
+ * `window.stx` first, so a plain specifier needs no binding and the line can
211
+ * go. A renamed one (`state as state2`) must survive as a local alias or the
212
+ * inlined module's calls throw.
213
+ *
214
+ * Shared by all three wrapping paths — the merged page setup below, the
215
+ * component renderer in utils.ts, and the include/partial renderer in
216
+ * includes.ts. It lives in one place because it did not: includes.ts had no
217
+ * strip at all, so a partial whose `<script client>` imported a composable
218
+ * that imports from 'stx' emitted a bare `import` into a classic script and
219
+ * threw `SyntaxError: Cannot use import statement outside a module`, killing
220
+ * that scope's hydration on every page the partial appeared on.
221
+ */
222
+ export declare function stripStxRuntimeImports(code: string): string;