@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,40 @@
1
+ import type { CustomDirective, StxOptions } from './types';
2
+ /**
3
+ * Analytics Module
4
+ *
5
+ * Provides automatic analytics script injection for various providers:
6
+ * - Fathom Analytics (privacy-focused)
7
+ * - Google Analytics (GA4)
8
+ * - Plausible Analytics (privacy-focused, open source)
9
+ * - Self-hosted analytics (using dynamodb-tooling)
10
+ * - Custom analytics scripts
11
+ *
12
+ * ## Configuration
13
+ *
14
+ * Analytics can be configured in `stx.config.ts`:
15
+ * ```typescript
16
+ * export default {
17
+ * analytics: {
18
+ * enabled: true,
19
+ * driver: 'fathom',
20
+ * fathom: {
21
+ * siteId: 'ABCDEFGH',
22
+ * honorDnt: true,
23
+ * }
24
+ * }
25
+ * }
26
+ * ```
27
+ */
28
+ /**
29
+ * Generate analytics tracking script based on configuration
30
+ */
31
+ export declare function generateAnalyticsScript(options: StxOptions): string;
32
+ /**
33
+ * Inject analytics script into HTML
34
+ * Scripts are injected just before </head> for optimal loading
35
+ */
36
+ export declare function injectAnalytics(html: string, options: StxOptions): string;
37
+ /**
38
+ * Custom @analytics directive for explicit placement
39
+ */
40
+ export declare const analyticsDirective: CustomDirective;
@@ -0,0 +1,159 @@
1
+ export function generateAnalyticsScript(options) {
2
+ const analytics = options.analytics;
3
+ if (!analytics?.enabled)
4
+ return "";
5
+ switch (analytics.driver) {
6
+ case "fathom":
7
+ return generateFathomScript(analytics);
8
+ case "google-analytics":
9
+ return generateGoogleAnalyticsScript(analytics);
10
+ case "plausible":
11
+ return generatePlausibleScript(analytics);
12
+ case "self-hosted":
13
+ return generateSelfHostedScript(analytics);
14
+ case "custom":
15
+ return generateCustomScript(analytics);
16
+ default:
17
+ return "";
18
+ }
19
+ }
20
+ function generateFathomScript(config) {
21
+ const fathom = config.fathom;
22
+ if (!fathom?.siteId)
23
+ return "";
24
+ const scriptUrl = fathom.scriptUrl || "https://cdn.usefathom.com/script.js", defer = fathom.defer !== !1 ? " defer" : "", dataAttrs = [`data-site="${escapeAttr(fathom.siteId)}"`];
25
+ if (fathom.honorDnt)
26
+ dataAttrs.push('data-honor-dnt="true"');
27
+ if (fathom.spa)
28
+ dataAttrs.push('data-spa="auto"');
29
+ if (fathom.canonical)
30
+ dataAttrs.push(`data-canonical="${escapeAttr(fathom.canonical)}"`);
31
+ if (fathom.auto === !1)
32
+ dataAttrs.push('data-auto="false"');
33
+ return `
34
+ <!-- Fathom Analytics -->
35
+ <script src="${escapeAttr(scriptUrl)}" ${dataAttrs.join(" ")}${defer}></script>
36
+ `;
37
+ }
38
+ function generateGoogleAnalyticsScript(config) {
39
+ const ga = config.googleAnalytics;
40
+ if (!ga?.measurementId)
41
+ return "";
42
+ const measurementId = escapeAttr(ga.measurementId), debugMode = ga.debug ? `gtag('config', '${measurementId}', { 'debug_mode': true });` : "";
43
+ return `
44
+ <!-- Google Analytics -->
45
+ <script async src="https://www.googletagmanager.com/gtag/js?id=${measurementId}"></script>
46
+ <script>
47
+ window.dataLayer = window.dataLayer || [];
48
+ function gtag(){dataLayer.push(arguments);}
49
+ gtag('js', new Date());
50
+ gtag('config', '${measurementId}');
51
+ ${debugMode}
52
+ </script>
53
+ `;
54
+ }
55
+ function generatePlausibleScript(config) {
56
+ const plausible = config.plausible;
57
+ if (!plausible?.domain)
58
+ return "";
59
+ const scriptUrl = plausible.scriptUrl || "https://plausible.io/js/script.js", _dataAttrs = [`data-domain="${escapeAttr(plausible.domain)}"`];
60
+ let finalScriptUrl = scriptUrl;
61
+ const extensions = [];
62
+ if (plausible.trackLocalhost)
63
+ extensions.push("local");
64
+ if (plausible.hashMode)
65
+ extensions.push("hash");
66
+ if (extensions.length > 0 && scriptUrl === "https://plausible.io/js/script.js")
67
+ finalScriptUrl = `https://plausible.io/js/script.${extensions.join(".")}.js`;
68
+ return `
69
+ <!-- Plausible Analytics -->
70
+ <script defer data-domain="${escapeAttr(plausible.domain)}" src="${escapeAttr(finalScriptUrl)}"></script>
71
+ `;
72
+ }
73
+ function generateSelfHostedScript(config) {
74
+ const selfHosted = config.selfHosted;
75
+ if (!selfHosted?.siteId || !selfHosted?.apiEndpoint)
76
+ return "";
77
+ const siteId = escapeAttr(selfHosted.siteId), apiEndpoint = escapeAttr(selfHosted.apiEndpoint), honorDnt = selfHosted.honorDnt ? 'if(n.doNotTrack==="1")return;' : "", hashTracking = selfHosted.trackHashChanges ? "w.addEventListener('hashchange',pv);" : "", outboundTracking = selfHosted.trackOutboundLinks ? `
78
+ d.addEventListener('click',function(e){
79
+ var a=e.target.closest('a');
80
+ if(a&&a.hostname!==location.hostname){
81
+ t('outbound',{url:a.href});
82
+ }
83
+ });` : "";
84
+ return `
85
+ <!-- Self-Hosted Analytics -->
86
+ <script data-site="${siteId}" data-api="${apiEndpoint}" defer>
87
+ (function(){
88
+ 'use strict';
89
+ var d=document,w=window,n=navigator,s=d.currentScript;
90
+ var site=s.dataset.site,api=s.dataset.api;
91
+ ${honorDnt}
92
+ var q=[],sid=Math.random().toString(36).slice(2);
93
+ function t(e,p){
94
+ var x=new XMLHttpRequest();
95
+ x.open('POST',api+'/collect',true);
96
+ x.setRequestHeader('Content-Type','application/json');
97
+ x.send(JSON.stringify({
98
+ s:site,sid:sid,e:e,p:p||{},
99
+ u:location.href,r:d.referrer,t:d.title,
100
+ sw:screen.width,sh:screen.height
101
+ }));
102
+ }
103
+ function pv(){t('pageview');}
104
+ ${hashTracking}
105
+ ${outboundTracking}
106
+ if(d.readyState==='complete')pv();
107
+ else w.addEventListener('load',pv);
108
+ w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
109
+ })();
110
+ </script>
111
+ `;
112
+ }
113
+ function generateCustomScript(config) {
114
+ const custom = config.custom;
115
+ if (!custom)
116
+ return "";
117
+ if (custom.inlineScript)
118
+ return `
119
+ <!-- Custom Analytics -->
120
+ <script>
121
+ ${custom.inlineScript}
122
+ </script>
123
+ `;
124
+ if (!custom.scriptUrl)
125
+ return "";
126
+ const attrs = [];
127
+ if (custom.scriptId)
128
+ attrs.push(`id="${escapeAttr(custom.scriptId)}"`);
129
+ if (custom.attributes)
130
+ for (const [key, value] of Object.entries(custom.attributes))
131
+ attrs.push(`${escapeAttr(key)}="${escapeAttr(value)}"`);
132
+ return `
133
+ <!-- Custom Analytics -->
134
+ <script${attrs.length > 0 ? ` ${attrs.join(" ")}` : ""} src="${escapeAttr(custom.scriptUrl)}" defer></script>
135
+ `;
136
+ }
137
+ export function injectAnalytics(html, options) {
138
+ const analyticsScript = generateAnalyticsScript(options);
139
+ if (!analyticsScript)
140
+ return html;
141
+ if (!html.includes("</head>")) {
142
+ const anBodyIdx = html.lastIndexOf("</body>");
143
+ if (anBodyIdx !== -1)
144
+ return html.slice(0, anBodyIdx) + analyticsScript + html.slice(anBodyIdx);
145
+ return html + analyticsScript;
146
+ }
147
+ return html.replace("</head>", `${analyticsScript}</head>`);
148
+ }
149
+ function escapeAttr(str) {
150
+ return str.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
151
+ }
152
+ export const analyticsDirective = {
153
+ name: "analytics",
154
+ hasEndTag: !1,
155
+ handler: async (_content, _params, context, _filePath) => {
156
+ const options = context.__stx_config || {};
157
+ return generateAnalyticsScript(options);
158
+ }
159
+ };
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Analyze an stx template file
3
+ */
4
+ export declare function analyzeTemplate(filePath: string): Promise<AnalysisResult>;
5
+ /**
6
+ * Analyze multiple templates
7
+ */
8
+ // eslint-disable-next-line pickier/no-unused-vars
9
+ export declare function analyzeProject(patterns?: string[], cwd?: string): Promise<{
10
+ results: AnalysisResult[]
11
+ summary: ProjectSummary
12
+ }>;
13
+ /**
14
+ * stx Template Analyzer - Analyze templates for performance, best practices, and potential issues
15
+ */
16
+ export declare interface AnalysisResult {
17
+ file: string
18
+ metrics: TemplateMetrics
19
+ issues: Issue[]
20
+ suggestions: Suggestion[]
21
+ performance: PerformanceMetrics
22
+ }
23
+ export declare interface TemplateMetrics {
24
+ lines: number
25
+ characters: number
26
+ directives: DirectiveCount
27
+ expressions: number
28
+ components: number
29
+ layouts: number
30
+ scriptLines: number
31
+ complexity: number
32
+ }
33
+ export declare interface DirectiveCount {
34
+ conditionals: number
35
+ loops: number
36
+ includes: number
37
+ custom: number
38
+ total: number
39
+ }
40
+ export declare interface Issue {
41
+ type: 'error' | 'warning' | 'info'
42
+ category: 'performance' | 'security' | 'maintainability' | 'accessibility' | 'syntax'
43
+ message: string
44
+ line?: number
45
+ column?: number
46
+ suggestion?: string
47
+ }
48
+ export declare interface Suggestion {
49
+ type: 'optimization' | 'best-practice' | 'refactor'
50
+ message: string
51
+ impact: 'low' | 'medium' | 'high'
52
+ effort: 'low' | 'medium' | 'high'
53
+ }
54
+ export declare interface PerformanceMetrics {
55
+ estimatedRenderTime: number
56
+ complexityScore: number
57
+ cacheability: 'high' | 'medium' | 'low'
58
+ recommendations: string[]
59
+ }
60
+ export declare interface ProjectSummary {
61
+ totalFiles: number
62
+ totalLines: number
63
+ avgComplexity: number
64
+ totalIssues: number
65
+ issuesByCategory: Record<string, number>
66
+ performanceScore: number
67
+ recommendations: string[]
68
+ }
@@ -0,0 +1,240 @@
1
+ export async function analyzeTemplate(filePath) {
2
+ try {
3
+ const content = await Bun.file(filePath).text(), metrics = calculateMetrics(content), issues = findIssues(content, filePath), suggestions = generateSuggestions(content, metrics), performance = analyzePerformance(content, metrics);
4
+ return {
5
+ file: filePath,
6
+ metrics,
7
+ issues,
8
+ suggestions,
9
+ performance
10
+ };
11
+ } catch (error) {
12
+ throw Error(`Failed to analyze template ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
13
+ }
14
+ }
15
+ function calculateMetrics(content) {
16
+ const lines = content.split(`
17
+ `), scriptMatch = content.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i), scriptLines = (scriptMatch ? scriptMatch[1] : "").split(`
18
+ `).length, directives = {
19
+ conditionals: (content.match(/@(if|unless|elseif|else|endif|endunless)\b/g) || []).length,
20
+ loops: (content.match(/@(foreach|for|endforeach|endfor|while|endwhile)\b/g) || []).length,
21
+ includes: (content.match(/@(include|component|extends|section|yield)\b/g) || []).length,
22
+ custom: 0,
23
+ total: 0
24
+ };
25
+ directives.total = directives.conditionals + directives.loops + directives.includes + directives.custom;
26
+ const regularExpressions = (content.match(/\{\{[\s\S]*?\}\}/g) || []).length, rawExpressions = (content.match(/\{!![\s\S]*?!!\}/g) || []).length, directiveExpressions = (content.match(/@(?:if|unless|elseif|foreach|for|while)\s*\([^)]+\)/g) || []).length, expressions = regularExpressions + rawExpressions + directiveExpressions, components = (content.match(/<[A-Z][^>]*>/g) || []).length, layouts = (content.match(/@(?:layout|extends)\(/g) || []).length;
27
+ let maxNestingDepth = 0, currentDepth = 0;
28
+ for (const line of lines)
29
+ if (/@(?:if|unless|foreach|for|while|section)\b/.test(line) && !/@end/.test(line) && !/@else/.test(line)) {
30
+ currentDepth++;
31
+ maxNestingDepth = Math.max(maxNestingDepth, currentDepth);
32
+ } else if (/@end(?:if|unless|foreach|for|while|section)\b/.test(line))
33
+ currentDepth--;
34
+ const nestingBonus = maxNestingDepth >= 4 ? 3 : 0, complexity = Math.min(10, Math.ceil(directives.total * 0.5 + expressions * 0.1 + components * 0.3 + (scriptLines > 10 ? scriptLines * 0.05 : 0) + nestingBonus));
35
+ return {
36
+ lines: lines.length,
37
+ characters: content.length,
38
+ directives,
39
+ expressions,
40
+ components,
41
+ layouts,
42
+ scriptLines,
43
+ complexity
44
+ };
45
+ }
46
+ function findIssues(content, _filePath) {
47
+ const issues = [], unmatchedIfs = findUnmatchedDirectives(content, "if", "endif");
48
+ if (unmatchedIfs > 0)
49
+ issues.push({
50
+ type: "error",
51
+ category: "syntax",
52
+ message: `Found ${unmatchedIfs} unmatched @if directive(s)`,
53
+ suggestion: "Ensure every @if has a corresponding @endif"
54
+ });
55
+ const unmatchedForeachs = findUnmatchedDirectives(content, "foreach", "endforeach");
56
+ if (unmatchedForeachs > 0)
57
+ issues.push({
58
+ type: "error",
59
+ category: "syntax",
60
+ message: `Found ${unmatchedForeachs} unmatched @foreach directive(s)`,
61
+ suggestion: "Ensure every @foreach has a corresponding @endforeach"
62
+ });
63
+ const nestedLoops = content.match(/@foreach[\s\S]*?@foreach[\s\S]*?@endforeach[\s\S]*?@endforeach/g);
64
+ if (nestedLoops && nestedLoops.length > 0)
65
+ issues.push({
66
+ type: "warning",
67
+ category: "performance",
68
+ message: "Nested loops detected which may impact performance",
69
+ suggestion: "Consider preprocessing data or using more efficient data structures"
70
+ });
71
+ const rawOutputs = (content.match(/\{!![\s\S]*?!!\}/g) || []).length;
72
+ if (rawOutputs > 0)
73
+ issues.push({
74
+ type: "warning",
75
+ category: "security",
76
+ message: `Found ${rawOutputs} raw output expression(s) {!! !!}`,
77
+ suggestion: "Ensure raw outputs are properly sanitized to prevent XSS"
78
+ });
79
+ const images = content.match(/<img[^>]*>/g);
80
+ if (images) {
81
+ const imagesWithoutAlt = images.filter((img) => !img.includes("alt="));
82
+ if (imagesWithoutAlt.length > 0)
83
+ issues.push({
84
+ type: "warning",
85
+ category: "accessibility",
86
+ message: `Found ${imagesWithoutAlt.length} image(s) without alt attributes`,
87
+ suggestion: "Add alt attributes to all images for screen reader accessibility"
88
+ });
89
+ }
90
+ const longLines = content.split(`
91
+ `).filter((line) => line.length > 120);
92
+ if (longLines.length > 0)
93
+ issues.push({
94
+ type: "info",
95
+ category: "maintainability",
96
+ message: `Found ${longLines.length} line(s) longer than 120 characters`,
97
+ suggestion: "Consider breaking long lines for better readability"
98
+ });
99
+ const inlineStyles = (content.match(/style\s*=\s*["'][^"']*["']/g) || []).length;
100
+ if (inlineStyles > 3)
101
+ issues.push({
102
+ type: "info",
103
+ category: "maintainability",
104
+ message: `Found ${inlineStyles} inline style attributes`,
105
+ suggestion: "Consider moving styles to CSS classes for better maintainability"
106
+ });
107
+ return issues;
108
+ }
109
+ function generateSuggestions(content, metrics) {
110
+ const suggestions = [];
111
+ if (metrics.complexity > 7)
112
+ suggestions.push({
113
+ type: "refactor",
114
+ message: "Template complexity is high. Consider breaking into smaller components.",
115
+ impact: "high",
116
+ effort: "medium"
117
+ });
118
+ else if (metrics.complexity > 5 && metrics.directives.total > 8)
119
+ suggestions.push({
120
+ type: "optimization",
121
+ message: "Template has moderate complexity. Consider component extraction for reusability.",
122
+ impact: "medium",
123
+ effort: "low"
124
+ });
125
+ if (metrics.lines > 100 && metrics.components === 0)
126
+ suggestions.push({
127
+ type: "refactor",
128
+ message: "Large template with no components. Consider extracting reusable parts into components.",
129
+ impact: "medium",
130
+ effort: "medium"
131
+ });
132
+ if (metrics.expressions > 20)
133
+ suggestions.push({
134
+ type: "optimization",
135
+ message: "Many template expressions detected. Consider preprocessing some data in the script section.",
136
+ impact: "medium",
137
+ effort: "low"
138
+ });
139
+ const nestedLoops = content.match(/@foreach[\s\S]*?@foreach[\s\S]*?@endforeach[\s\S]*?@endforeach/g);
140
+ if (nestedLoops && nestedLoops.length > 0)
141
+ suggestions.push({
142
+ type: "optimization",
143
+ message: "Nested loops detected. Consider preprocessing data or optimizing data structures.",
144
+ impact: "high",
145
+ effort: "medium"
146
+ });
147
+ if (metrics.directives.total === 0 && metrics.expressions < 5)
148
+ suggestions.push({
149
+ type: "optimization",
150
+ message: "Template appears static. Consider enabling aggressive caching.",
151
+ impact: "high",
152
+ effort: "low"
153
+ });
154
+ if (metrics.scriptLines > 50)
155
+ suggestions.push({
156
+ type: "refactor",
157
+ message: "Large script section. Consider moving complex logic to external modules.",
158
+ impact: "medium",
159
+ effort: "medium"
160
+ });
161
+ return suggestions;
162
+ }
163
+ function analyzePerformance(content, metrics) {
164
+ let estimatedRenderTime = 1;
165
+ estimatedRenderTime += metrics.directives.conditionals * 0.1;
166
+ estimatedRenderTime += metrics.directives.loops * 0.5;
167
+ estimatedRenderTime += metrics.directives.includes * 2;
168
+ estimatedRenderTime += metrics.expressions * 0.05;
169
+ estimatedRenderTime += metrics.components * 1;
170
+ if (metrics.scriptLines > 10)
171
+ estimatedRenderTime += metrics.scriptLines * 0.1;
172
+ let cacheability;
173
+ if (metrics.expressions === 0 && metrics.directives.total === 0)
174
+ cacheability = "high";
175
+ else if (metrics.expressions < 5 && metrics.directives.total < 3)
176
+ cacheability = "medium";
177
+ else
178
+ cacheability = "low";
179
+ const recommendations = [];
180
+ if (estimatedRenderTime > 10)
181
+ recommendations.push("Consider optimizing template complexity");
182
+ if (cacheability === "low" && metrics.directives.total > 5)
183
+ recommendations.push("Reduce dynamic content for better caching");
184
+ if (metrics.components === 0 && metrics.lines > 40)
185
+ recommendations.push("Extract components to improve reusability and performance");
186
+ return {
187
+ estimatedRenderTime: Math.round(estimatedRenderTime * 100) / 100,
188
+ complexityScore: metrics.complexity,
189
+ cacheability,
190
+ recommendations
191
+ };
192
+ }
193
+ function findUnmatchedDirectives(content, startDirective, endDirective) {
194
+ const contentWithoutComments = content.replace(/<!--[\s\S]*?-->/g, ""), starts = (contentWithoutComments.match(new RegExp(`@${startDirective}\\b`, "g")) || []).length, ends = (contentWithoutComments.match(new RegExp(`@${endDirective}\\b`, "g")) || []).length;
195
+ return Math.abs(starts - ends);
196
+ }
197
+ export async function analyzeProject(patterns = ["**/*.stx"], cwd) {
198
+ const results = [], allFiles = [];
199
+ for (const pattern of patterns) {
200
+ const files = await Array.fromAsync(new Bun.Glob(pattern).scan({
201
+ cwd: cwd || process.cwd(),
202
+ onlyFiles: !0,
203
+ absolute: !0
204
+ }));
205
+ allFiles.push(...files.filter((f) => f.endsWith(".stx")));
206
+ }
207
+ for (const file of allFiles)
208
+ try {
209
+ const result = await analyzeTemplate(file);
210
+ results.push(result);
211
+ } catch (error) {
212
+ console.warn(`Failed to analyze ${file}:`, error);
213
+ }
214
+ const summary = generateProjectSummary(results);
215
+ return { results, summary };
216
+ }
217
+ function generateProjectSummary(results) {
218
+ const totalFiles = results.length, totalLines = results.reduce((sum, r) => sum + r.metrics.lines, 0), avgComplexity = totalFiles > 0 ? results.reduce((sum, r) => sum + r.metrics.complexity, 0) / totalFiles : 0, totalIssues = results.reduce((sum, r) => sum + r.issues.length, 0), issuesByCategory = {};
219
+ results.forEach((r) => {
220
+ r.issues.forEach((issue) => {
221
+ issuesByCategory[issue.category] = (issuesByCategory[issue.category] || 0) + 1;
222
+ });
223
+ });
224
+ const avgRenderTime = totalFiles > 0 ? results.reduce((sum, r) => sum + r.performance.estimatedRenderTime, 0) / totalFiles : 0, performanceScore = Math.max(1, Math.min(10, Math.round(10 - avgRenderTime / 2 - avgComplexity / 2))), recommendations = [];
225
+ if (avgComplexity > 6)
226
+ recommendations.push("Project has high average complexity. Consider refactoring complex templates.");
227
+ if (totalIssues > totalFiles * 2)
228
+ recommendations.push("High number of issues detected. Run detailed analysis on individual files.");
229
+ if (issuesByCategory.security > 0)
230
+ recommendations.push("Security issues found. Review raw output usage and input sanitization.");
231
+ return {
232
+ totalFiles,
233
+ totalLines,
234
+ avgComplexity: Math.round(avgComplexity * 100) / 100,
235
+ totalIssues,
236
+ issuesByCategory,
237
+ performanceScore,
238
+ recommendations
239
+ };
240
+ }
@@ -0,0 +1,123 @@
1
+ import type { CustomDirective, StxOptions } from './types';
2
+ /**
3
+ * Available transition types that can be used with @transition directive
4
+ */
5
+ export declare enum TransitionType {
6
+ Fade = "fade",
7
+ Slide = "slide",
8
+ Scale = "scale",
9
+ Flip = "flip",
10
+ Rotate = "rotate",
11
+ Custom = "custom"
12
+ }
13
+ /**
14
+ * Available transition directions that can be used with @transition directive
15
+ */
16
+ export declare enum TransitionDirection {
17
+ In = "in",
18
+ Out = "out",
19
+ Both = "both"
20
+ }
21
+ /**
22
+ * Available ease functions for transitions
23
+ */
24
+ export declare enum TransitionEase {
25
+ Linear = "linear",
26
+ Ease = "ease",
27
+ EaseIn = "ease-in",
28
+ EaseOut = "ease-out",
29
+ EaseInOut = "ease-in-out",
30
+ Spring = "spring"
31
+ }
32
+ /**
33
+ * Default transition options
34
+ */
35
+ export declare const DEFAULT_TRANSITION_OPTIONS: {
36
+ duration: number;
37
+ delay: number;
38
+ ease: string;
39
+ direction: string;
40
+ };
41
+ /**
42
+ * Transition directive for applying transitions to elements
43
+ */
44
+ export declare const transitionDirective: CustomDirective;
45
+ /**
46
+ * Scroll animation directive for triggering animations on scroll
47
+ */
48
+ export declare const scrollAnimateDirective: CustomDirective;
49
+ /**
50
+ * Animation group directive for coordinating multiple animations
51
+ */
52
+ export declare const animationGroupDirective: CustomDirective;
53
+ /**
54
+ * Motion preferences directive for controlling animation preferences
55
+ */
56
+ export declare const motionDirective: CustomDirective;
57
+ /**
58
+ * Process animation directives in the template
59
+ */
60
+ export declare function processAnimationDirectives(template: string, context: Record<string, any>, filePath: string, options: StxOptions): string;
61
+ /** Keyframe definition */
62
+ export interface Keyframe {
63
+ offset?: number;
64
+ properties: Record<string, string | number>;
65
+ easing?: string;
66
+ }
67
+ /** Animation timeline entry */
68
+ export interface TimelineEntry {
69
+ selector: string;
70
+ keyframes: Keyframe[];
71
+ options: KeyframeAnimationOptions;
72
+ }
73
+ /** Keyframe animation options */
74
+ export interface KeyframeAnimationOptions {
75
+ duration: number;
76
+ delay?: number;
77
+ easing?: string;
78
+ iterations?: number | 'infinite';
79
+ direction?: 'normal' | 'reverse' | 'alternate' | 'alternate-reverse';
80
+ fill?: 'none' | 'forwards' | 'backwards' | 'both';
81
+ }
82
+ /** Spring animation config */
83
+ export interface SpringConfig {
84
+ stiffness: number;
85
+ damping: number;
86
+ mass: number;
87
+ velocity?: number;
88
+ }
89
+ /** Preset spring configurations */
90
+ export declare const SPRING_PRESETS: Record<string, SpringConfig>;
91
+ /**
92
+ * @keyframe directive for custom keyframe animations
93
+ */
94
+ export declare const keyframeDirective: CustomDirective;
95
+ /**
96
+ * @stagger directive for staggered child animations
97
+ */
98
+ export declare const staggerDirective: CustomDirective;
99
+ /**
100
+ * @spring directive for spring physics animations
101
+ */
102
+ export declare const springDirective: CustomDirective;
103
+ /**
104
+ * Create an animation timeline for coordinated animations
105
+ */
106
+ export declare function createAnimationTimeline(entries: TimelineEntry[]): string;
107
+ /**
108
+ * Generate CSS for a custom animation
109
+ */
110
+ export declare function generateAnimationCSS(name: string, keyframes: Keyframe[], options: KeyframeAnimationOptions): string;
111
+ /**
112
+ * Parse animation shorthand string
113
+ * Format: "duration [delay] [easing] [iterations] [direction] [fill]"
114
+ */
115
+ export declare function parseAnimationShorthand(shorthand: string): KeyframeAnimationOptions;
116
+ /**
117
+ * Generate client-side animation runtime
118
+ */
119
+ export declare function generateAnimationRuntime(): string;
120
+ /**
121
+ * Register animation directives
122
+ */
123
+ export declare function registerAnimationDirectives(options: StxOptions): StxOptions;