@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,860 @@
1
+ var {require}=import.meta;import { formatSize, generatePrecacheManifest, generatePrecacheManifestJs } from "./precache.js";
2
+ export function generateServiceWorker(options, outputDir) {
3
+ const pwa = options.pwa;
4
+ if (!pwa?.enabled)
5
+ return "";
6
+ const swConfig = pwa.serviceWorker || {}, routes = pwa.routes || [], cacheVersion = swConfig.cacheVersion || "1.0.0", offlineConfig = pwa.offline, offlinePage = offlineConfig?.page ? "/offline.html" : "/offline.html", pushConfig = pwa.push, syncConfig = pwa.backgroundSync, cacheStorageConfig = pwa.cacheStorage, precacheManifest = outputDir ? generatePrecacheManifest(outputDir, options) : null, precacheManifestJs = precacheManifest ? generatePrecacheManifestJs(precacheManifest) : "[]", precacheAssets = [
7
+ "/",
8
+ "/manifest.json",
9
+ ...offlineConfig?.enabled ? [offlinePage] : [],
10
+ ...offlineConfig?.precacheAssets || []
11
+ ];
12
+ return `/**
13
+ * Service Worker - Auto-generated by stx
14
+ * Cache Version: ${cacheVersion}
15
+ *
16
+ * This service worker implements configurable caching strategies:
17
+ * - cache-first: Serve from cache, fall back to network
18
+ * - network-first: Try network, fall back to cache
19
+ * - stale-while-revalidate: Serve cached, update in background
20
+ * - network-only: Always fetch from network
21
+ * - cache-only: Only serve from cache
22
+ *
23
+ * Additional features:
24
+ * - Push notifications: ${pushConfig?.enabled ? "enabled" : "disabled"}
25
+ * - Background sync: ${syncConfig?.enabled ? "enabled" : "disabled"}
26
+ * - Cache limits: ${cacheStorageConfig?.maxSize ? `${formatSize(cacheStorageConfig.maxSize * 1024 * 1024)}` : "unlimited"}
27
+ */
28
+
29
+ const CACHE_VERSION = '${cacheVersion}';
30
+ const CACHE_NAME = 'stx-pwa-v' + CACHE_VERSION;
31
+ const OFFLINE_PAGE = '${offlinePage}';
32
+
33
+ // Assets to precache on install
34
+ const PRECACHE_ASSETS = ${JSON.stringify(precacheAssets, null, 2)};
35
+
36
+ // Auto-generated precache manifest from build output
37
+ const BUILD_PRECACHE_MANIFEST = ${precacheManifestJs};
38
+
39
+ // Route caching strategies
40
+ const ROUTE_STRATEGIES = ${JSON.stringify(routes, null, 2)};
41
+
42
+ // Routes to exclude from caching
43
+ const EXCLUDED_ROUTES = ${JSON.stringify(swConfig.excludeRoutes || [], null, 2)};
44
+
45
+ // Cache storage configuration
46
+ const CACHE_CONFIG = {
47
+ maxSize: ${cacheStorageConfig?.maxSize || 0} * 1024 * 1024, // Convert MB to bytes
48
+ maxAge: ${cacheStorageConfig?.maxAge || 0} * 24 * 60 * 60 * 1000, // Convert days to ms
49
+ maxEntries: ${cacheStorageConfig?.maxEntries || 0},
50
+ purgeStrategy: '${cacheStorageConfig?.purgeStrategy || "lru"}',
51
+ };
52
+
53
+ // Background sync configuration
54
+ const SYNC_CONFIG = {
55
+ enabled: ${syncConfig?.enabled || !1},
56
+ queueName: '${syncConfig?.queueName || "stx-sync-queue"}',
57
+ maxRetries: ${syncConfig?.maxRetries || 3},
58
+ minInterval: ${syncConfig?.minInterval || 1000},
59
+ };
60
+
61
+ // Push notification configuration
62
+ const PUSH_CONFIG = {
63
+ enabled: ${pushConfig?.enabled || !1},
64
+ defaultIcon: '${pushConfig?.defaultIcon || "/pwa-icons/icon-192x192.png"}',
65
+ defaultBadge: '${pushConfig?.defaultBadge || "/pwa-icons/icon-72x72.png"}',
66
+ };
67
+
68
+ /**
69
+ * Install event - precache essential assets
70
+ */
71
+ self.addEventListener('install', (event) => {
72
+ console.log('[SW] Installing service worker...');
73
+ ${swConfig.skipWaiting ? "self.skipWaiting();" : ""}
74
+
75
+ event.waitUntil(
76
+ caches.open(CACHE_NAME).then(async (cache) => {
77
+ // Combine manual precache assets with auto-generated manifest
78
+ const allAssets = [...PRECACHE_ASSETS];
79
+
80
+ // Add build precache manifest entries
81
+ for (const entry of BUILD_PRECACHE_MANIFEST) {
82
+ if (!allAssets.includes(entry.url)) {
83
+ allAssets.push(entry.url);
84
+ }
85
+ }
86
+
87
+ console.log('[SW] Precaching assets:', allAssets.length);
88
+
89
+ // Cache assets one by one to handle failures gracefully
90
+ const results = await Promise.allSettled(
91
+ allAssets.map(async (url) => {
92
+ try {
93
+ const response = await fetch(url);
94
+ if (response.ok) {
95
+ await cache.put(url, response);
96
+ return { url, success: true };
97
+ }
98
+ return { url, success: false, reason: response.status };
99
+ }
100
+ catch (error) {
101
+ return { url, success: false, reason: error.message };
102
+ }
103
+ })
104
+ );
105
+
106
+ const failed = results.filter(r => r.status === 'rejected' || (r.status === 'fulfilled' && !r.value.success));
107
+ if (failed.length > 0) {
108
+ console.warn('[SW] Failed to precache some assets:', failed.length);
109
+ }
110
+ })
111
+ );
112
+ });
113
+
114
+ /**
115
+ * Activate event - clean up old caches
116
+ */
117
+ self.addEventListener('activate', (event) => {
118
+ console.log('[SW] Activating service worker...');
119
+ ${swConfig.clientsClaim ? "self.clients.claim();" : ""}
120
+
121
+ event.waitUntil(
122
+ (async () => {
123
+ // Clean up old caches
124
+ const cacheNames = await caches.keys();
125
+ await Promise.all(
126
+ cacheNames
127
+ .filter((name) => name.startsWith('stx-pwa-') && name !== CACHE_NAME)
128
+ .map((name) => {
129
+ console.log('[SW] Deleting old cache:', name);
130
+ return caches.delete(name);
131
+ })
132
+ );
133
+
134
+ // Enforce cache storage limits
135
+ if (CACHE_CONFIG.maxSize > 0 || CACHE_CONFIG.maxEntries > 0) {
136
+ await enforceCacheLimits();
137
+ }
138
+ })()
139
+ );
140
+ });
141
+
142
+ /**
143
+ * Fetch event - apply caching strategies
144
+ */
145
+ self.addEventListener('fetch', (event) => {
146
+ const { request } = event;
147
+ const url = new URL(request.url);
148
+
149
+ // Only handle GET requests
150
+ if (request.method !== 'GET') {
151
+ return;
152
+ }
153
+
154
+ // Skip cross-origin requests
155
+ if (url.origin !== location.origin) {
156
+ return;
157
+ }
158
+
159
+ // Skip excluded routes
160
+ if (isExcludedRoute(url.pathname)) {
161
+ return;
162
+ }
163
+
164
+ // Find matching strategy and apply
165
+ const routeConfig = getRouteConfig(url.pathname);
166
+ event.respondWith(applyStrategy(request, routeConfig));
167
+ });
168
+
169
+ /**
170
+ * Message event - handle messages from main thread
171
+ */
172
+ self.addEventListener('message', (event) => {
173
+ const { type, payload } = event.data || {};
174
+
175
+ switch (type) {
176
+ case 'SKIP_WAITING':
177
+ console.log('[SW] Received SKIP_WAITING message');
178
+ self.skipWaiting();
179
+ break;
180
+
181
+ case 'CACHE_URLS':
182
+ if (Array.isArray(payload)) {
183
+ event.waitUntil(
184
+ caches.open(CACHE_NAME).then((cache) => cache.addAll(payload))
185
+ );
186
+ }
187
+ break;
188
+
189
+ case 'CLEAR_CACHE':
190
+ event.waitUntil(
191
+ caches.keys().then((names) =>
192
+ Promise.all(names.map((name) => caches.delete(name)))
193
+ )
194
+ );
195
+ break;
196
+
197
+ case 'GET_CACHE_SIZE':
198
+ event.waitUntil(
199
+ getCacheSize().then((size) => {
200
+ event.source?.postMessage({ type: 'CACHE_SIZE', payload: size });
201
+ })
202
+ );
203
+ break;
204
+ }
205
+ });
206
+
207
+ ${pushConfig?.enabled ? generatePushHandlers() : "// Push notifications disabled"}
208
+
209
+ ${syncConfig?.enabled ? generateSyncHandlers() : "// Background sync disabled"}
210
+
211
+ /**
212
+ * Check if a route should be excluded from caching
213
+ */
214
+ function isExcludedRoute(pathname) {
215
+ return EXCLUDED_ROUTES.some((pattern) => matchPattern(pathname, pattern));
216
+ }
217
+
218
+ /**
219
+ * Match a path against a glob pattern
220
+ * Supports: *.ext, /path/*, /path/**, exact matches
221
+ */
222
+ function matchPattern(path, pattern) {
223
+ // Handle file extension patterns like *.js, *.css
224
+ if (pattern.startsWith('*.')) {
225
+ return path.endsWith(pattern.slice(1));
226
+ }
227
+
228
+ // Handle patterns ending with /**
229
+ if (pattern.endsWith('/**')) {
230
+ const prefix = pattern.slice(0, -3);
231
+ return path.startsWith(prefix);
232
+ }
233
+
234
+ // Handle patterns ending with /*
235
+ if (pattern.endsWith('/*')) {
236
+ const prefix = pattern.slice(0, -2);
237
+ if (!path.startsWith(prefix)) return false;
238
+ const rest = path.slice(prefix.length);
239
+ return rest.length > 0 && !rest.slice(1).includes('/');
240
+ }
241
+
242
+ // Handle patterns with * in the middle
243
+ if (pattern.includes('*')) {
244
+ const parts = pattern.split('*');
245
+ if (parts.length === 2) {
246
+ return path.startsWith(parts[0]) && path.endsWith(parts[1]);
247
+ }
248
+ }
249
+
250
+ // Exact match
251
+ return path === pattern;
252
+ }
253
+
254
+ /**
255
+ * Get the cache configuration for a given path
256
+ */
257
+ function getRouteConfig(pathname) {
258
+ for (const route of ROUTE_STRATEGIES) {
259
+ if (matchPattern(pathname, route.pattern)) {
260
+ return route;
261
+ }
262
+ }
263
+ // Default to network-first for unmatched routes
264
+ return { strategy: 'network-first' };
265
+ }
266
+
267
+ /**
268
+ * Apply the appropriate caching strategy
269
+ */
270
+ async function applyStrategy(request, routeConfig) {
271
+ const { strategy, cacheName, maxAgeSeconds, maxEntries } = routeConfig;
272
+ const cache = await caches.open(cacheName || CACHE_NAME);
273
+
274
+ switch (strategy) {
275
+ case 'cache-first':
276
+ return cacheFirst(request, cache, maxAgeSeconds);
277
+
278
+ case 'network-first':
279
+ return networkFirst(request, cache);
280
+
281
+ case 'stale-while-revalidate':
282
+ return staleWhileRevalidate(request, cache);
283
+
284
+ case 'network-only':
285
+ return networkOnly(request);
286
+
287
+ case 'cache-only':
288
+ return cacheOnly(request, cache);
289
+
290
+ default:
291
+ return networkFirst(request, cache);
292
+ }
293
+ }
294
+
295
+ /**
296
+ * Cache-first strategy
297
+ * Serve from cache if available, otherwise fetch from network
298
+ */
299
+ async function cacheFirst(request, cache, maxAge) {
300
+ const cached = await cache.match(request);
301
+
302
+ if (cached) {
303
+ // Check if cache is still valid (if maxAge is set)
304
+ if (maxAge) {
305
+ const cachedDate = cached.headers.get('sw-cache-date');
306
+ if (cachedDate) {
307
+ const age = (Date.now() - new Date(cachedDate).getTime()) / 1000;
308
+ if (age > maxAge) {
309
+ // Cache expired, fetch fresh
310
+ return fetchAndCache(request, cache);
311
+ }
312
+ }
313
+ }
314
+ return cached;
315
+ }
316
+
317
+ return fetchAndCache(request, cache);
318
+ }
319
+
320
+ /**
321
+ * Network-first strategy
322
+ * Try network first, fall back to cache if offline
323
+ */
324
+ async function networkFirst(request, cache) {
325
+ try {
326
+ const response = await fetch(request);
327
+ if (response.ok) {
328
+ const cloned = response.clone();
329
+ cache.put(request, cloned);
330
+ }
331
+ return response;
332
+ }
333
+ catch (error) {
334
+ const cached = await cache.match(request);
335
+ if (cached) {
336
+ return cached;
337
+ }
338
+ return offlineResponse(request);
339
+ }
340
+ }
341
+
342
+ /**
343
+ * Stale-while-revalidate strategy
344
+ * Serve cached immediately, update cache in background
345
+ */
346
+ async function staleWhileRevalidate(request, cache) {
347
+ const cached = await cache.match(request);
348
+
349
+ // Fetch in background to update cache
350
+ const fetchPromise = fetch(request)
351
+ .then((response) => {
352
+ if (response.ok) {
353
+ cache.put(request, response.clone());
354
+ }
355
+ return response;
356
+ })
357
+ .catch(() => null);
358
+
359
+ // Return cached immediately if available, otherwise wait for fetch
360
+ if (cached) {
361
+ return cached;
362
+ }
363
+
364
+ const response = await fetchPromise;
365
+ return response || offlineResponse(request);
366
+ }
367
+
368
+ /**
369
+ * Network-only strategy
370
+ * Always fetch from network, no caching
371
+ */
372
+ async function networkOnly(request) {
373
+ try {
374
+ return await fetch(request);
375
+ }
376
+ catch (error) {
377
+ return offlineResponse(request);
378
+ }
379
+ }
380
+
381
+ /**
382
+ * Cache-only strategy
383
+ * Only serve from cache, never fetch
384
+ */
385
+ async function cacheOnly(request, cache) {
386
+ const cached = await cache.match(request);
387
+ return cached || offlineResponse(request);
388
+ }
389
+
390
+ /**
391
+ * Fetch and cache a request
392
+ */
393
+ async function fetchAndCache(request, cache) {
394
+ try {
395
+ const response = await fetch(request);
396
+ if (response.ok) {
397
+ // Add cache timestamp header
398
+ const headers = new Headers(response.headers);
399
+ headers.set('sw-cache-date', new Date().toISOString());
400
+
401
+ const cachedResponse = new Response(response.clone().body, {
402
+ status: response.status,
403
+ statusText: response.statusText,
404
+ headers,
405
+ });
406
+
407
+ cache.put(request, cachedResponse);
408
+ }
409
+ return response;
410
+ }
411
+ catch (error) {
412
+ return offlineResponse(request);
413
+ }
414
+ }
415
+
416
+ /**
417
+ * Generate offline response
418
+ */
419
+ async function offlineResponse(request) {
420
+ // For navigation requests, return offline page
421
+ if (request.mode === 'navigate') {
422
+ const cache = await caches.open(CACHE_NAME);
423
+ const offlinePage = await cache.match(OFFLINE_PAGE);
424
+ if (offlinePage) {
425
+ return offlinePage;
426
+ }
427
+ }
428
+
429
+ // Return a basic offline response
430
+ return new Response('You are offline', {
431
+ status: 503,
432
+ statusText: 'Service Unavailable',
433
+ headers: {
434
+ 'Content-Type': 'text/plain',
435
+ },
436
+ });
437
+ }
438
+
439
+ /**
440
+ * Get total cache size
441
+ */
442
+ async function getCacheSize() {
443
+ let totalSize = 0;
444
+ const cacheNames = await caches.keys();
445
+
446
+ for (const cacheName of cacheNames) {
447
+ const cache = await caches.open(cacheName);
448
+ const keys = await cache.keys();
449
+
450
+ for (const request of keys) {
451
+ const response = await cache.match(request);
452
+ if (response) {
453
+ const blob = await response.clone().blob();
454
+ totalSize += blob.size;
455
+ }
456
+ }
457
+ }
458
+
459
+ return totalSize;
460
+ }
461
+
462
+ /**
463
+ * Enforce cache storage limits
464
+ */
465
+ async function enforceCacheLimits() {
466
+ const cache = await caches.open(CACHE_NAME);
467
+ const keys = await cache.keys();
468
+
469
+ // Get cache entries with metadata
470
+ const entries = [];
471
+ for (const request of keys) {
472
+ const response = await cache.match(request);
473
+ if (response) {
474
+ const blob = await response.clone().blob();
475
+ const cachedDate = response.headers.get('sw-cache-date');
476
+ entries.push({
477
+ request,
478
+ size: blob.size,
479
+ date: cachedDate ? new Date(cachedDate) : new Date(),
480
+ });
481
+ }
482
+ }
483
+
484
+ // Check total size limit
485
+ if (CACHE_CONFIG.maxSize > 0) {
486
+ const totalSize = entries.reduce((sum, e) => sum + e.size, 0);
487
+
488
+ if (totalSize > CACHE_CONFIG.maxSize) {
489
+ console.log('[SW] Cache size exceeded, purging...');
490
+ await purgeCache(entries, cache, CACHE_CONFIG.maxSize);
491
+ }
492
+ }
493
+
494
+ // Check max entries limit
495
+ if (CACHE_CONFIG.maxEntries > 0 && entries.length > CACHE_CONFIG.maxEntries) {
496
+ console.log('[SW] Cache entries exceeded, purging...');
497
+ await purgeByEntryCount(entries, cache, CACHE_CONFIG.maxEntries);
498
+ }
499
+
500
+ // Check max age limit
501
+ if (CACHE_CONFIG.maxAge > 0) {
502
+ const now = Date.now();
503
+ const expiredEntries = entries.filter(e => (now - e.date.getTime()) > CACHE_CONFIG.maxAge);
504
+
505
+ for (const entry of expiredEntries) {
506
+ console.log('[SW] Removing expired cache entry:', entry.request.url);
507
+ await cache.delete(entry.request);
508
+ }
509
+ }
510
+ }
511
+
512
+ /**
513
+ * Purge cache to meet size limit
514
+ */
515
+ async function purgeCache(entries, cache, maxSize) {
516
+ // Sort by purge strategy
517
+ const sorted = [...entries];
518
+
519
+ switch (CACHE_CONFIG.purgeStrategy) {
520
+ case 'lru':
521
+ // Least Recently Used - remove oldest first
522
+ sorted.sort((a, b) => a.date.getTime() - b.date.getTime());
523
+ break;
524
+ case 'fifo':
525
+ // First In First Out - same as lru for our purposes
526
+ sorted.sort((a, b) => a.date.getTime() - b.date.getTime());
527
+ break;
528
+ case 'lfu':
529
+ // Least Frequently Used - we don't track frequency, use size as proxy
530
+ sorted.sort((a, b) => b.size - a.size);
531
+ break;
532
+ default:
533
+ sorted.sort((a, b) => a.date.getTime() - b.date.getTime());
534
+ }
535
+
536
+ let currentSize = entries.reduce((sum, e) => sum + e.size, 0);
537
+
538
+ for (const entry of sorted) {
539
+ if (currentSize <= maxSize * 0.8) { // Keep 80% buffer
540
+ break;
541
+ }
542
+
543
+ // Don't delete essential assets
544
+ const url = entry.request.url;
545
+ if (PRECACHE_ASSETS.some(asset => url.endsWith(asset))) {
546
+ continue;
547
+ }
548
+
549
+ console.log('[SW] Purging cache entry:', url);
550
+ await cache.delete(entry.request);
551
+ currentSize -= entry.size;
552
+ }
553
+ }
554
+
555
+ /**
556
+ * Purge cache by entry count
557
+ */
558
+ async function purgeByEntryCount(entries, cache, maxEntries) {
559
+ const sorted = [...entries].sort((a, b) => a.date.getTime() - b.date.getTime());
560
+ const toRemove = sorted.slice(0, entries.length - maxEntries);
561
+
562
+ for (const entry of toRemove) {
563
+ // Don't delete essential assets
564
+ const url = entry.request.url;
565
+ if (PRECACHE_ASSETS.some(asset => url.endsWith(asset))) {
566
+ continue;
567
+ }
568
+
569
+ await cache.delete(entry.request);
570
+ }
571
+ }
572
+
573
+ console.log('[SW] Service Worker loaded - Version:', CACHE_VERSION);
574
+ `;
575
+ }
576
+ function generatePushHandlers() {
577
+ return `
578
+ /**
579
+ * Push event - handle incoming push notifications
580
+ */
581
+ self.addEventListener('push', (event) => {
582
+ console.log('[SW] Push notification received');
583
+
584
+ let data = {
585
+ title: 'Notification',
586
+ body: 'You have a new notification',
587
+ icon: PUSH_CONFIG.defaultIcon,
588
+ badge: PUSH_CONFIG.defaultBadge,
589
+ };
590
+
591
+ if (event.data) {
592
+ try {
593
+ const payload = event.data.json();
594
+ data = { ...data, ...payload };
595
+ }
596
+ catch {
597
+ data.body = event.data.text();
598
+ }
599
+ }
600
+
601
+ const options = {
602
+ body: data.body,
603
+ icon: data.icon || PUSH_CONFIG.defaultIcon,
604
+ badge: data.badge || PUSH_CONFIG.defaultBadge,
605
+ vibrate: data.vibrate || [100, 50, 100],
606
+ data: {
607
+ url: data.url || '/',
608
+ ...data.data,
609
+ },
610
+ actions: data.actions || [],
611
+ tag: data.tag,
612
+ renotify: data.renotify || false,
613
+ requireInteraction: data.requireInteraction || false,
614
+ silent: data.silent || false,
615
+ };
616
+
617
+ event.waitUntil(
618
+ self.registration.showNotification(data.title, options)
619
+ );
620
+ });
621
+
622
+ /**
623
+ * Notification click event - handle notification interactions
624
+ */
625
+ self.addEventListener('notificationclick', (event) => {
626
+ console.log('[SW] Notification clicked:', event.action);
627
+ event.notification.close();
628
+
629
+ const url = event.notification.data?.url || '/';
630
+
631
+ event.waitUntil(
632
+ clients.matchAll({ type: 'window', includeUncontrolled: true }).then((windowClients) => {
633
+ // Check if there's already a window open with this URL
634
+ for (const client of windowClients) {
635
+ if (client.url === url && 'focus' in client) {
636
+ return client.focus();
637
+ }
638
+ }
639
+ // Open a new window
640
+ if (clients.openWindow) {
641
+ return clients.openWindow(url);
642
+ }
643
+ })
644
+ );
645
+ });
646
+
647
+ /**
648
+ * Notification close event
649
+ */
650
+ self.addEventListener('notificationclose', (event) => {
651
+ console.log('[SW] Notification closed');
652
+
653
+ // Track notification dismissal if needed
654
+ const data = event.notification.data;
655
+ if (data?.trackDismiss) {
656
+ // Could send analytics here
657
+ }
658
+ });
659
+ `;
660
+ }
661
+ function generateSyncHandlers() {
662
+ return `
663
+ /**
664
+ * Background sync queue storage (IndexedDB)
665
+ */
666
+ const SYNC_STORE = 'stx-sync-store';
667
+ let syncDb = null;
668
+
669
+ async function getSyncDb() {
670
+ if (syncDb) return syncDb;
671
+
672
+ return new Promise((resolve, reject) => {
673
+ const request = indexedDB.open(SYNC_STORE, 1);
674
+
675
+ request.onerror = () => reject(request.error);
676
+ request.onsuccess = () => {
677
+ syncDb = request.result;
678
+ resolve(syncDb);
679
+ };
680
+
681
+ request.onupgradeneeded = (event) => {
682
+ const db = event.target.result;
683
+ if (!db.objectStoreNames.contains('queue')) {
684
+ db.createObjectStore('queue', { keyPath: 'id', autoIncrement: true });
685
+ }
686
+ };
687
+ });
688
+ }
689
+
690
+ /**
691
+ * Add request to sync queue
692
+ */
693
+ async function addToSyncQueue(request) {
694
+ const db = await getSyncDb();
695
+ const tx = db.transaction('queue', 'readwrite');
696
+ const store = tx.objectStore('queue');
697
+
698
+ const data = {
699
+ url: request.url,
700
+ method: request.method,
701
+ headers: Object.fromEntries(request.headers.entries()),
702
+ body: await request.clone().text(),
703
+ timestamp: Date.now(),
704
+ retries: 0,
705
+ };
706
+
707
+ return new Promise((resolve, reject) => {
708
+ const req = store.add(data);
709
+ req.onsuccess = () => resolve(req.result);
710
+ req.onerror = () => reject(req.error);
711
+ });
712
+ }
713
+
714
+ /**
715
+ * Get all pending sync requests
716
+ */
717
+ async function getPendingSyncRequests() {
718
+ const db = await getSyncDb();
719
+ const tx = db.transaction('queue', 'readonly');
720
+ const store = tx.objectStore('queue');
721
+
722
+ return new Promise((resolve, reject) => {
723
+ const req = store.getAll();
724
+ req.onsuccess = () => resolve(req.result);
725
+ req.onerror = () => reject(req.error);
726
+ });
727
+ }
728
+
729
+ /**
730
+ * Remove request from sync queue
731
+ */
732
+ async function removeSyncRequest(id) {
733
+ const db = await getSyncDb();
734
+ const tx = db.transaction('queue', 'readwrite');
735
+ const store = tx.objectStore('queue');
736
+
737
+ return new Promise((resolve, reject) => {
738
+ const req = store.delete(id);
739
+ req.onsuccess = () => resolve();
740
+ req.onerror = () => reject(req.error);
741
+ });
742
+ }
743
+
744
+ /**
745
+ * Update sync request retry count
746
+ */
747
+ async function updateSyncRetries(id, retries) {
748
+ const db = await getSyncDb();
749
+ const tx = db.transaction('queue', 'readwrite');
750
+ const store = tx.objectStore('queue');
751
+
752
+ const req = store.get(id);
753
+ req.onsuccess = () => {
754
+ const data = req.result;
755
+ if (data) {
756
+ data.retries = retries;
757
+ store.put(data);
758
+ }
759
+ };
760
+ }
761
+
762
+ /**
763
+ * Sync event - process queued requests when online
764
+ */
765
+ self.addEventListener('sync', (event) => {
766
+ console.log('[SW] Sync event:', event.tag);
767
+
768
+ if (event.tag === SYNC_CONFIG.queueName || event.tag === 'stx-form-sync') {
769
+ event.waitUntil(processBackgroundSync());
770
+ }
771
+ });
772
+
773
+ /**
774
+ * Process all queued sync requests
775
+ */
776
+ async function processBackgroundSync() {
777
+ console.log('[SW] Processing background sync queue');
778
+
779
+ const requests = await getPendingSyncRequests();
780
+ console.log('[SW] Pending sync requests:', requests.length);
781
+
782
+ for (const request of requests) {
783
+ if (request.retries >= SYNC_CONFIG.maxRetries) {
784
+ console.log('[SW] Max retries reached, removing:', request.url);
785
+ await removeSyncRequest(request.id);
786
+ continue;
787
+ }
788
+
789
+ try {
790
+ const response = await fetch(request.url, {
791
+ method: request.method,
792
+ headers: request.headers,
793
+ body: request.method !== 'GET' ? request.body : undefined,
794
+ });
795
+
796
+ if (response.ok) {
797
+ console.log('[SW] Sync succeeded:', request.url);
798
+ await removeSyncRequest(request.id);
799
+
800
+ // Notify clients of successful sync
801
+ const clients = await self.clients.matchAll();
802
+ clients.forEach(client => {
803
+ client.postMessage({
804
+ type: 'SYNC_COMPLETE',
805
+ url: request.url,
806
+ success: true,
807
+ });
808
+ });
809
+ }
810
+ else {
811
+ throw new Error('Response not ok: ' + response.status);
812
+ }
813
+ }
814
+ catch (error) {
815
+ console.log('[SW] Sync failed, will retry:', request.url, error.message);
816
+ await updateSyncRetries(request.id, request.retries + 1);
817
+ }
818
+ }
819
+ }
820
+
821
+ /**
822
+ * Register a form for background sync
823
+ * Called from main thread via message
824
+ */
825
+ async function registerFormSync(formData) {
826
+ // Store form data in IndexedDB
827
+ await addToSyncQueue({
828
+ url: formData.action,
829
+ method: formData.method || 'POST',
830
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
831
+ clone: () => ({ text: async () => new URLSearchParams(formData.data).toString() }),
832
+ });
833
+
834
+ // Register for background sync
835
+ await self.registration.sync.register(SYNC_CONFIG.queueName);
836
+ }
837
+
838
+ // Listen for form sync requests
839
+ self.addEventListener('message', (event) => {
840
+ if (event.data?.type === 'REGISTER_FORM_SYNC') {
841
+ event.waitUntil(registerFormSync(event.data.payload));
842
+ }
843
+ });
844
+ `;
845
+ }
846
+ export function getServiceWorkerFileName(options) {
847
+ return options.pwa?.serviceWorker?.fileName || "sw.js";
848
+ }
849
+ export function isWorkboxEnabled(options) {
850
+ return options.pwa?.enabled === !0 && options.pwa?.serviceWorker?.useWorkbox === !0;
851
+ }
852
+ export function generateServiceWorkerAuto(options, outputDir) {
853
+ if (!options.pwa?.enabled)
854
+ return "";
855
+ if (isWorkboxEnabled(options)) {
856
+ const { generateWorkboxServiceWorker } = require("./workbox");
857
+ return generateWorkboxServiceWorker(options, outputDir);
858
+ }
859
+ return generateServiceWorker(options, outputDir);
860
+ }