@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.
- package/LICENSE.md +21 -0
- package/README.md +1042 -0
- package/dist/a11y.d.ts +256 -0
- package/dist/a11y.js +671 -0
- package/dist/analytics.d.ts +40 -0
- package/dist/analytics.js +159 -0
- package/dist/analyzer.d.ts +68 -0
- package/dist/analyzer.js +240 -0
- package/dist/animation.d.ts +123 -0
- package/dist/animation.js +688 -0
- package/dist/app-shell.d.ts +76 -0
- package/dist/app-shell.js +209 -0
- package/dist/app.d.ts +65 -0
- package/dist/app.js +79 -0
- package/dist/appearance-bootstrap.d.ts +54 -0
- package/dist/appearance-bootstrap.js +92 -0
- package/dist/asset-roots.d.ts +32 -0
- package/dist/asset-roots.js +7 -0
- package/dist/assets.d.ts +21 -0
- package/dist/assets.js +155 -0
- package/dist/ast.d.ts +265 -0
- package/dist/ast.js +630 -0
- package/dist/async-components.d.ts +123 -0
- package/dist/async-components.js +428 -0
- package/dist/auth.d.ts +13 -0
- package/dist/auth.js +12 -0
- package/dist/broadcasting.d.ts +77 -0
- package/dist/broadcasting.js +103 -0
- package/dist/browser-composables.d.ts +348 -0
- package/dist/browser-composables.js +606 -0
- package/dist/browser-core-imports.d.ts +12 -0
- package/dist/browser-core-imports.js +28 -0
- package/dist/build-assets.d.ts +32 -0
- package/dist/build-assets.js +29 -0
- package/dist/build-externalize-repeated.d.ts +34 -0
- package/dist/build-externalize-repeated.js +101 -0
- package/dist/build-externalize.d.ts +73 -0
- package/dist/build-externalize.js +80 -0
- package/dist/build-id.d.ts +57 -0
- package/dist/build-id.js +25 -0
- package/dist/build-message.d.ts +81 -0
- package/dist/build-message.js +65 -0
- package/dist/build-mode-detector.d.ts +26 -0
- package/dist/build-mode-detector.js +50 -0
- package/dist/build-optimizer.d.ts +101 -0
- package/dist/build-optimizer.js +433 -0
- package/dist/build-views.d.ts +56 -0
- package/dist/build-views.js +180 -0
- package/dist/build.d.ts +31 -0
- package/dist/build.js +34 -0
- package/dist/builtins/attrs.d.ts +49 -0
- package/dist/builtins/attrs.js +39 -0
- package/dist/builtins/drawer.d.ts +24 -0
- package/dist/builtins/drawer.js +37 -0
- package/dist/builtins/escape.d.ts +12 -0
- package/dist/builtins/escape.js +3 -0
- package/dist/builtins/icon.d.ts +45 -0
- package/dist/builtins/icon.js +100 -0
- package/dist/builtins/image-delivery.d.ts +16 -0
- package/dist/builtins/image-delivery.js +115 -0
- package/dist/builtins/image-placeholder.d.ts +78 -0
- package/dist/builtins/image-placeholder.js +137 -0
- package/dist/builtins/index.d.ts +26 -0
- package/dist/builtins/index.js +34 -0
- package/dist/builtins/modal.d.ts +26 -0
- package/dist/builtins/modal.js +38 -0
- package/dist/builtins/safe-image.d.ts +44 -0
- package/dist/builtins/safe-image.js +45 -0
- package/dist/builtins/stx-image.d.ts +29 -0
- package/dist/builtins/stx-image.js +222 -0
- package/dist/builtins/stx-link.d.ts +11 -0
- package/dist/builtins/stx-link.js +35 -0
- package/dist/builtins/stx-loading-indicator.d.ts +13 -0
- package/dist/builtins/stx-loading-indicator.js +35 -0
- package/dist/builtins/suspense.d.ts +30 -0
- package/dist/builtins/suspense.js +24 -0
- package/dist/builtins/toast.d.ts +19 -0
- package/dist/builtins/toast.js +42 -0
- package/dist/builtins/tooltip.d.ts +18 -0
- package/dist/builtins/tooltip.js +106 -0
- package/dist/builtins/transition-group.d.ts +27 -0
- package/dist/builtins/transition-group.js +22 -0
- package/dist/bun-shim.js +496 -0
- package/dist/bundle-analyzer/collector.d.ts +66 -0
- package/dist/bundle-analyzer/collector.js +233 -0
- package/dist/bundle-analyzer/index.d.ts +98 -0
- package/dist/bundle-analyzer/index.js +82 -0
- package/dist/bundle-analyzer/report.d.ts +39 -0
- package/dist/bundle-analyzer/report.js +318 -0
- package/dist/bundle-analyzer/treemap.d.ts +19 -0
- package/dist/bundle-analyzer/treemap.js +594 -0
- package/dist/bundle-analyzer.js +499 -0
- package/dist/caching.d.ts +69 -0
- package/dist/caching.js +135 -0
- package/dist/chunk-0y46fbkx.js +3 -0
- package/dist/chunk-122tyfre.js +2 -0
- package/dist/chunk-19nfvxfw.js +43 -0
- package/dist/chunk-1kah92n2.js +3 -0
- package/dist/chunk-1kms3b9d.js +2 -0
- package/dist/chunk-1q4y74mh.js +1194 -0
- package/dist/chunk-248e84r1.js +4 -0
- package/dist/chunk-24ps8kft.js +2 -0
- package/dist/chunk-2et5hxfv.js +2 -0
- package/dist/chunk-2r1rd8f0.js +2 -0
- package/dist/chunk-2tk1zkrz.js +2 -0
- package/dist/chunk-38ejahd9.js +3 -0
- package/dist/chunk-3zv4wz87.js +2 -0
- package/dist/chunk-4122k1bh.js +2 -0
- package/dist/chunk-45az9zht.js +2 -0
- package/dist/chunk-4qr85f07.js +2 -0
- package/dist/chunk-4ww3znrr.js +15 -0
- package/dist/chunk-54st8g2j.js +397 -0
- package/dist/chunk-58f0mthg.js +3 -0
- package/dist/chunk-5a19dhx5.js +2 -0
- package/dist/chunk-5kk8gsj2.js +3 -0
- package/dist/chunk-5w1e3yxs.js +499 -0
- package/dist/chunk-6gdycmxr.js +2 -0
- package/dist/chunk-6hmnaza7.js +4473 -0
- package/dist/chunk-71t0yan0.js +5 -0
- package/dist/chunk-74cv4ta1.js +3 -0
- package/dist/chunk-74v15e8z.js +2 -0
- package/dist/chunk-7b329e5v.js +3 -0
- package/dist/chunk-7q9mwh4v.js +84 -0
- package/dist/chunk-866y9d8b.js +8169 -0
- package/dist/chunk-8fwerspy.js +2 -0
- package/dist/chunk-8mjdpr94.js +147 -0
- package/dist/chunk-92mj1t26.js +60 -0
- package/dist/chunk-9b22663r.js +2 -0
- package/dist/chunk-9hjdgm4d.js +2 -0
- package/dist/chunk-9n0gvfrg.js +4 -0
- package/dist/chunk-9wr7zcad.js +18 -0
- package/dist/chunk-9y0g8kzt.js +358 -0
- package/dist/chunk-a0nfbmeh.js +3 -0
- package/dist/chunk-acn1b56m.js +1280 -0
- package/dist/chunk-awkq3xfx.js +2 -0
- package/dist/chunk-b6ej2fdf.js +1814 -0
- package/dist/chunk-b8rrnqry.js +2 -0
- package/dist/chunk-bfqfs07m.js +3022 -0
- package/dist/chunk-bs6kapy7.js +2 -0
- package/dist/chunk-btav940g.js +2 -0
- package/dist/chunk-bz820epz.js +3 -0
- package/dist/chunk-ccspd3mc.js +2 -0
- package/dist/chunk-csbgwaa5.js +2 -0
- package/dist/chunk-d8t4sjsp.js +2 -0
- package/dist/chunk-dap191q2.js +2 -0
- package/dist/chunk-de7fye10.js +4 -0
- package/dist/chunk-dgrt76d2.js +2 -0
- package/dist/chunk-dhh5q7qt.js +3 -0
- package/dist/chunk-dsffsqnt.js +2 -0
- package/dist/chunk-dtq7y5ym.js +2 -0
- package/dist/chunk-fed3xsp9.js +3 -0
- package/dist/chunk-ferav3bw.js +19 -0
- package/dist/chunk-fvhm8psm.js +3 -0
- package/dist/chunk-g4vpzv6b.js +2 -0
- package/dist/chunk-g9csmj0s.js +2 -0
- package/dist/chunk-gtcrpmz1.js +2 -0
- package/dist/chunk-h4xh8cms.js +4 -0
- package/dist/chunk-h8yqsz9m.js +2 -0
- package/dist/chunk-hcq5dw7a.js +2 -0
- package/dist/chunk-hm0xha6c.js +12 -0
- package/dist/chunk-hpybjwwf.js +8 -0
- package/dist/chunk-jegt35zh.js +2 -0
- package/dist/chunk-jr3jp3ev.js +8 -0
- package/dist/chunk-k56rjjc0.js +24 -0
- package/dist/chunk-kdh37tp8.js +194 -0
- package/dist/chunk-kxzb4et3.js +29 -0
- package/dist/chunk-mf4n3x1j.js +14 -0
- package/dist/chunk-mkd9kjgb.js +3 -0
- package/dist/chunk-mxfh1nxg.js +2 -0
- package/dist/chunk-n3ggrhb3.js +3 -0
- package/dist/chunk-nkb3scg6.js +8 -0
- package/dist/chunk-nnd4wq8j.js +231 -0
- package/dist/chunk-nsp1cw38.js +11 -0
- package/dist/chunk-nx5qkm8k.js +30 -0
- package/dist/chunk-p3242nck.js +2 -0
- package/dist/chunk-p98kfh94.js +2 -0
- package/dist/chunk-pkaabd8h.js +3 -0
- package/dist/chunk-pzm13sdc.js +3 -0
- package/dist/chunk-q4p5k2p3.js +2 -0
- package/dist/chunk-q9n5swx7.js +3 -0
- package/dist/chunk-qc1f74ek.js +3 -0
- package/dist/chunk-qpyjak7z.js +2 -0
- package/dist/chunk-qr82je1m.js +22 -0
- package/dist/chunk-qy73j6m4.js +288 -0
- package/dist/chunk-qzkhpsam.js +505 -0
- package/dist/chunk-r3ayvdz3.js +2 -0
- package/dist/chunk-r7r66978.js +2 -0
- package/dist/chunk-rbb7dvja.js +30 -0
- package/dist/chunk-refwkt87.js +71 -0
- package/dist/chunk-rj4kajww.js +2 -0
- package/dist/chunk-rp4rjjmf.js +2 -0
- package/dist/chunk-se0p17c2.js +898 -0
- package/dist/chunk-sj9pmene.js +2 -0
- package/dist/chunk-sscwkffs.js +2 -0
- package/dist/chunk-svpqxn2c.js +2 -0
- package/dist/chunk-t6nseeb9.js +351 -0
- package/dist/chunk-t8y1ggdy.js +2 -0
- package/dist/chunk-tndhnk9e.js +2 -0
- package/dist/chunk-v5e1gxwm.js +3 -0
- package/dist/chunk-vqxmxgaj.js +4 -0
- package/dist/chunk-vrrax298.js +2 -0
- package/dist/chunk-w3ycm4na.js +3 -0
- package/dist/chunk-wcm80anz.js +321 -0
- package/dist/chunk-wrzwgkbx.js +22 -0
- package/dist/chunk-x650vjcp.js +302 -0
- package/dist/chunk-xgnc1wy6.js +116 -0
- package/dist/chunk-xpp135ad.js +11 -0
- package/dist/chunk-xttsqmkm.js +216 -0
- package/dist/chunk-y11cxbxd.js +3757 -0
- package/dist/chunk-y7m2dpd3.js +341 -0
- package/dist/chunk-y98jsjqq.js +2 -0
- package/dist/chunk-ya386h70.js +2 -0
- package/dist/chunk-ydrz60kr.js +2 -0
- package/dist/chunk-ypmqf7tm.js +4 -0
- package/dist/chunk-z4jhj5e5.js +28 -0
- package/dist/chunk-zg75gjns.js +2 -0
- package/dist/chunk-zqqx1qaj.js +2 -0
- package/dist/cli-flags.d.ts +34 -0
- package/dist/cli-flags.js +20 -0
- package/dist/cli.js +174 -0
- package/dist/client/directive.d.ts +17 -0
- package/dist/client/directive.js +14 -0
- package/dist/client/index.d.ts +7 -0
- package/dist/client/index.js +2 -0
- package/dist/client-helpers.d.ts +317 -0
- package/dist/client-helpers.js +312 -0
- package/dist/client-script-bundler.d.ts +103 -0
- package/dist/client-script-bundler.js +390 -0
- package/dist/client-script.d.ts +215 -0
- package/dist/client-script.js +865 -0
- package/dist/client.d.ts +21 -0
- package/dist/client.js +73 -0
- package/dist/codemod.d.ts +33 -0
- package/dist/codemod.js +244 -0
- package/dist/color-mode-boot.d.ts +92 -0
- package/dist/color-mode-boot.js +72 -0
- package/dist/component-client-factories.d.ts +33 -0
- package/dist/component-client-factories.js +77 -0
- package/dist/component-hmr.d.ts +107 -0
- package/dist/component-hmr.js +585 -0
- package/dist/component-library.d.ts +38 -0
- package/dist/component-library.js +994 -0
- package/dist/component-processing.d.ts +198 -0
- package/dist/component-processing.js +677 -0
- package/dist/component-registry.d.ts +127 -0
- package/dist/component-registry.js +90 -0
- package/dist/component-renderer.d.ts +52 -0
- package/dist/component-renderer.js +790 -0
- package/dist/components/StxImage.stx +12 -0
- package/dist/components/StxLink.stx +18 -0
- package/dist/components.d.ts +28 -0
- package/dist/components.js +213 -0
- package/dist/composable-loader.d.ts +62 -0
- package/dist/composable-loader.js +190 -0
- package/dist/composables/index.d.ts +417 -0
- package/dist/composables/index.js +222 -0
- package/dist/composables/use-battery.d.ts +46 -0
- package/dist/composables/use-battery.js +101 -0
- package/dist/composables/use-broadcast-channel.d.ts +59 -0
- package/dist/composables/use-broadcast-channel.js +80 -0
- package/dist/composables/use-channel.d.ts +67 -0
- package/dist/composables/use-channel.js +124 -0
- package/dist/composables/use-clipboard.d.ts +30 -0
- package/dist/composables/use-clipboard.js +90 -0
- package/dist/composables/use-color-mode.d.ts +67 -0
- package/dist/composables/use-color-mode.js +152 -0
- package/dist/composables/use-cookie.d.ts +59 -0
- package/dist/composables/use-cookie.js +86 -0
- package/dist/composables/use-device-orientation.d.ts +116 -0
- package/dist/composables/use-device-orientation.js +181 -0
- package/dist/composables/use-event-listener.d.ts +35 -0
- package/dist/composables/use-event-listener.js +27 -0
- package/dist/composables/use-event-source.d.ts +90 -0
- package/dist/composables/use-event-source.js +166 -0
- package/dist/composables/use-eye-dropper.d.ts +117 -0
- package/dist/composables/use-eye-dropper.js +142 -0
- package/dist/composables/use-fetch.d.ts +59 -0
- package/dist/composables/use-fetch.js +273 -0
- package/dist/composables/use-form.d.ts +91 -0
- package/dist/composables/use-form.js +112 -0
- package/dist/composables/use-fullscreen.d.ts +47 -0
- package/dist/composables/use-fullscreen.js +110 -0
- package/dist/composables/use-geolocation.d.ts +62 -0
- package/dist/composables/use-geolocation.js +101 -0
- package/dist/composables/use-idle.d.ts +102 -0
- package/dist/composables/use-idle.js +182 -0
- package/dist/composables/use-intersection-observer.d.ts +83 -0
- package/dist/composables/use-intersection-observer.js +168 -0
- package/dist/composables/use-keyboard.d.ts +100 -0
- package/dist/composables/use-keyboard.js +224 -0
- package/dist/composables/use-media-query.d.ts +56 -0
- package/dist/composables/use-media-query.js +62 -0
- package/dist/composables/use-meta.d.ts +35 -0
- package/dist/composables/use-meta.js +48 -0
- package/dist/composables/use-mouse.d.ts +65 -0
- package/dist/composables/use-mouse.js +286 -0
- package/dist/composables/use-mutation-observer.d.ts +101 -0
- package/dist/composables/use-mutation-observer.js +129 -0
- package/dist/composables/use-network.d.ts +40 -0
- package/dist/composables/use-network.js +85 -0
- package/dist/composables/use-notification.d.ts +98 -0
- package/dist/composables/use-notification.js +94 -0
- package/dist/composables/use-permissions.d.ts +119 -0
- package/dist/composables/use-permissions.js +132 -0
- package/dist/composables/use-query.d.ts +48 -0
- package/dist/composables/use-query.js +0 -0
- package/dist/composables/use-resize-observer.d.ts +60 -0
- package/dist/composables/use-resize-observer.js +157 -0
- package/dist/composables/use-router.d.ts +80 -0
- package/dist/composables/use-router.js +105 -0
- package/dist/composables/use-scroll-lock.d.ts +13 -0
- package/dist/composables/use-scroll-lock.js +55 -0
- package/dist/composables/use-share.d.ts +74 -0
- package/dist/composables/use-share.js +104 -0
- package/dist/composables/use-speech.d.ts +117 -0
- package/dist/composables/use-speech.js +294 -0
- package/dist/composables/use-storage.d.ts +69 -0
- package/dist/composables/use-storage.js +196 -0
- package/dist/composables/use-text-selection.d.ts +121 -0
- package/dist/composables/use-text-selection.js +205 -0
- package/dist/composables/use-timer.d.ts +92 -0
- package/dist/composables/use-timer.js +193 -0
- package/dist/composables/use-utilities.d.ts +103 -0
- package/dist/composables/use-utilities.js +176 -0
- package/dist/composables/use-wake-lock.d.ts +85 -0
- package/dist/composables/use-wake-lock.js +122 -0
- package/dist/composables/use-websocket.d.ts +70 -0
- package/dist/composables/use-websocket.js +165 -0
- package/dist/composables/use-window.d.ts +84 -0
- package/dist/composables/use-window.js +163 -0
- package/dist/composables.d.ts +287 -0
- package/dist/composables.js +562 -0
- package/dist/composition-api.d.ts +197 -0
- package/dist/composition-api.js +199 -0
- package/dist/compression.d.ts +30 -0
- package/dist/compression.js +107 -0
- package/dist/computed.d.ts +138 -0
- package/dist/computed.js +382 -0
- package/dist/conditionals.d.ts +48 -0
- package/dist/conditionals.js +626 -0
- package/dist/config.d.ts +77 -0
- package/dist/config.js +828 -0
- package/dist/cookie-serialize.d.ts +40 -0
- package/dist/cookie-serialize.js +18 -0
- package/dist/craft-bridge.d.ts +525 -0
- package/dist/craft-bridge.js +511 -0
- package/dist/craft-compiler.d.ts +245 -0
- package/dist/craft-compiler.js +810 -0
- package/dist/craft-components.d.ts +739 -0
- package/dist/craft-components.js +1074 -0
- package/dist/craft-entry.d.ts +6 -0
- package/dist/craft-entry.js +9 -0
- package/dist/craft-ssr.d.ts +147 -0
- package/dist/craft-ssr.js +559 -0
- package/dist/craft.js +9 -0
- package/dist/csp.d.ts +295 -0
- package/dist/csp.js +220 -0
- package/dist/csrf.d.ts +38 -0
- package/dist/csrf.js +38 -0
- package/dist/custom-directives.d.ts +5 -0
- package/dist/custom-directives.js +136 -0
- package/dist/database.d.ts +391 -0
- package/dist/database.js +5 -0
- package/dist/defer.d.ts +28 -0
- package/dist/defer.js +156 -0
- package/dist/deploy/config-generators.d.ts +75 -0
- package/dist/deploy/config-generators.js +214 -0
- package/dist/deploy/index.d.ts +88 -0
- package/dist/deploy/index.js +203 -0
- package/dist/deploy/netlify.d.ts +109 -0
- package/dist/deploy/netlify.js +167 -0
- package/dist/desktop.d.ts +16 -0
- package/dist/desktop.js +1 -0
- package/dist/dev-server/index.d.ts +22 -0
- package/dist/dev-server/index.js +7 -0
- package/dist/dev-server/keyboard-shortcuts.d.ts +34 -0
- package/dist/dev-server/keyboard-shortcuts.js +81 -0
- package/dist/dev-server/native-window.d.ts +59 -0
- package/dist/dev-server/native-window.js +91 -0
- package/dist/dev-server/port-utils.d.ts +27 -0
- package/dist/dev-server/port-utils.js +40 -0
- package/dist/dev-server/serve-app.d.ts +15 -0
- package/dist/dev-server/serve-app.js +727 -0
- package/dist/dev-server/serve-file.d.ts +3 -0
- package/dist/dev-server/serve-file.js +443 -0
- package/dist/dev-server/serve-markdown.d.ts +3 -0
- package/dist/dev-server/serve-markdown.js +284 -0
- package/dist/dev-server/serve-multi.d.ts +5 -0
- package/dist/dev-server/serve-multi.js +596 -0
- package/dist/dev-server/terminal-colors.d.ts +56 -0
- package/dist/dev-server/terminal-colors.js +45 -0
- package/dist/dev-server/theme-selector.d.ts +32 -0
- package/dist/dev-server/theme-selector.js +111 -0
- package/dist/dev-server/ts-css.d.ts +108 -0
- package/dist/dev-server/ts-css.js +438 -0
- package/dist/dev-server/types.d.ts +99 -0
- package/dist/dev-server/types.js +43 -0
- package/dist/dev-server.d.ts +6 -0
- package/dist/dev-server.js +4 -0
- package/dist/devtools.d.ts +182 -0
- package/dist/devtools.js +593 -0
- package/dist/directive-api.d.ts +154 -0
- package/dist/directive-api.js +355 -0
- package/dist/docs.d.ts +56 -0
- package/dist/docs.js +567 -0
- package/dist/doctor.d.ts +29 -0
- package/dist/doctor.js +123 -0
- package/dist/document-shell.d.ts +218 -0
- package/dist/document-shell.js +338 -0
- package/dist/dynamic-components.d.ts +23 -0
- package/dist/dynamic-components.js +197 -0
- package/dist/edge-runtime.d.ts +193 -0
- package/dist/edge-runtime.js +525 -0
- package/dist/env.d.ts +3 -0
- package/dist/env.js +9 -0
- package/dist/error-boundaries.d.ts +78 -0
- package/dist/error-boundaries.js +281 -0
- package/dist/error-handling.d.ts +14 -0
- package/dist/error-handling.js +1 -0
- package/dist/errors/codes.d.ts +92 -0
- package/dist/errors/codes.js +97 -0
- package/dist/errors/formatter.d.ts +84 -0
- package/dist/errors/formatter.js +196 -0
- package/dist/errors/index.d.ts +12 -0
- package/dist/errors/index.js +44 -0
- package/dist/errors/logger.d.ts +135 -0
- package/dist/errors/logger.js +250 -0
- package/dist/errors/sanitizer.d.ts +73 -0
- package/dist/errors/sanitizer.js +181 -0
- package/dist/errors/types.d.ts +92 -0
- package/dist/errors/types.js +86 -0
- package/dist/events.d.ts +145 -0
- package/dist/events.js +396 -0
- package/dist/expressions.d.ts +180 -0
- package/dist/expressions.js +719 -0
- package/dist/find-body-tag.d.ts +50 -0
- package/dist/find-body-tag.js +57 -0
- package/dist/formatter.d.ts +19 -0
- package/dist/formatter.js +265 -0
- package/dist/forms-validation.d.ts +189 -0
- package/dist/forms-validation.js +421 -0
- package/dist/forms.d.ts +224 -0
- package/dist/forms.js +729 -0
- package/dist/fragment-container.d.ts +57 -0
- package/dist/fragment-container.js +123 -0
- package/dist/framework-composables.d.ts +73 -0
- package/dist/framework-composables.js +126 -0
- package/dist/head-injection.d.ts +61 -0
- package/dist/head-injection.js +28 -0
- package/dist/head.d.ts +282 -0
- package/dist/head.js +231 -0
- package/dist/heatmap.d.ts +206 -0
- package/dist/heatmap.js +566 -0
- package/dist/hot-reload.d.ts +87 -0
- package/dist/hot-reload.js +373 -0
- package/dist/html-masking.d.ts +125 -0
- package/dist/html-masking.js +196 -0
- package/dist/hydration-runtime.d.ts +44 -0
- package/dist/hydration-runtime.js +195 -0
- package/dist/hydration.d.ts +135 -0
- package/dist/hydration.js +654 -0
- package/dist/i18n.d.ts +342 -0
- package/dist/i18n.js +678 -0
- package/dist/image-optimization/auto-sibling.d.ts +42 -0
- package/dist/image-optimization/auto-sibling.js +88 -0
- package/dist/image-optimization/build-plugin.d.ts +54 -0
- package/dist/image-optimization/build-plugin.js +241 -0
- package/dist/image-optimization/component.d.ts +46 -0
- package/dist/image-optimization/component.js +244 -0
- package/dist/image-optimization/directive.d.ts +30 -0
- package/dist/image-optimization/directive.js +203 -0
- package/dist/image-optimization/index.d.ts +156 -0
- package/dist/image-optimization/index.js +54 -0
- package/dist/image-optimization/processor.d.ts +140 -0
- package/dist/image-optimization/processor.js +262 -0
- package/dist/image-optimization/serve.d.ts +54 -0
- package/dist/image-optimization/serve.js +102 -0
- package/dist/import-rebase.d.ts +16 -0
- package/dist/import-rebase.js +16 -0
- package/dist/imported-signals.d.ts +43 -0
- package/dist/imported-signals.js +35 -0
- package/dist/includes.d.ts +171 -0
- package/dist/includes.js +764 -0
- package/dist/index.d.ts +365 -0
- package/dist/index.js +202 -0
- package/dist/init.d.ts +39 -0
- package/dist/init.js +505 -0
- package/dist/inline-assets.d.ts +28 -0
- package/dist/inline-assets.js +82 -0
- package/dist/interactive.d.ts +14 -0
- package/dist/interactive.js +383 -0
- package/dist/internal-markdown.d.ts +22 -0
- package/dist/internal-markdown.js +141 -0
- package/dist/island-chunking.d.ts +48 -0
- package/dist/island-chunking.js +52 -0
- package/dist/isolated-build.d.ts +12 -0
- package/dist/isolated-build.js +18 -0
- package/dist/js-ts.d.ts +10 -0
- package/dist/js-ts.js +60 -0
- package/dist/jsx-runtime.d.ts +92 -0
- package/dist/jsx-runtime.js +289 -0
- package/dist/keep-alive.d.ts +108 -0
- package/dist/keep-alive.js +421 -0
- package/dist/layout-types.d.ts +45 -0
- package/dist/layout-types.js +56 -0
- package/dist/lazy-loader.d.ts +90 -0
- package/dist/lazy-loader.js +245 -0
- package/dist/lazy-module.d.ts +11 -0
- package/dist/lazy-module.js +18 -0
- package/dist/loading-indicator.d.ts +50 -0
- package/dist/loading-indicator.js +322 -0
- package/dist/loops.d.ts +91 -0
- package/dist/loops.js +690 -0
- package/dist/manifest.d.ts +41 -0
- package/dist/manifest.js +31 -0
- package/dist/markdown-view.d.ts +25 -0
- package/dist/markdown-view.js +39 -0
- package/dist/markdown.d.ts +10 -0
- package/dist/markdown.js +68 -0
- package/dist/media/client/blur-up.d.ts +66 -0
- package/dist/media/client/blur-up.js +217 -0
- package/dist/media/client/index.d.ts +93 -0
- package/dist/media/client/index.js +53 -0
- package/dist/media/client/lazy-load.d.ts +74 -0
- package/dist/media/client/lazy-load.js +283 -0
- package/dist/media/client/upload-handler.d.ts +80 -0
- package/dist/media/client/upload-handler.js +354 -0
- package/dist/media/image/component.d.ts +60 -0
- package/dist/media/image/component.js +574 -0
- package/dist/media/image/directive.d.ts +23 -0
- package/dist/media/image/directive.js +160 -0
- package/dist/media/image/editing.d.ts +212 -0
- package/dist/media/image/editing.js +193 -0
- package/dist/media/image/index.d.ts +142 -0
- package/dist/media/image/index.js +80 -0
- package/dist/media/image/placeholder.d.ts +89 -0
- package/dist/media/image/placeholder.js +188 -0
- package/dist/media/image/processor/cache.d.ts +53 -0
- package/dist/media/image/processor/cache.js +51 -0
- package/dist/media/image/processor/index.d.ts +11 -0
- package/dist/media/image/processor/index.js +3 -0
- package/dist/media/image/processor/optimizer.d.ts +24 -0
- package/dist/media/image/processor/optimizer.js +202 -0
- package/dist/media/image/processor/responsive.d.ts +28 -0
- package/dist/media/image/processor/responsive.js +162 -0
- package/dist/media/image/srcset.d.ts +157 -0
- package/dist/media/image/srcset.js +194 -0
- package/dist/media/index.d.ts +331 -0
- package/dist/media/index.js +198 -0
- package/dist/media/manager/embed.d.ts +25 -0
- package/dist/media/manager/embed.js +253 -0
- package/dist/media/protected/component.d.ts +33 -0
- package/dist/media/protected/component.js +235 -0
- package/dist/media/protected/index.d.ts +47 -0
- package/dist/media/protected/index.js +20 -0
- package/dist/media/protected/signature.d.ts +72 -0
- package/dist/media/protected/signature.js +205 -0
- package/dist/media/shared/cache.d.ts +76 -0
- package/dist/media/shared/cache.js +132 -0
- package/dist/media/shared/hash.d.ts +31 -0
- package/dist/media/shared/hash.js +35 -0
- package/dist/media/shared/index.d.ts +7 -0
- package/dist/media/shared/index.js +2 -0
- package/dist/media/types.d.ts +1477 -0
- package/dist/media/types.js +0 -0
- package/dist/media/upload/component.d.ts +9 -0
- package/dist/media/upload/component.js +320 -0
- package/dist/media/upload/index.d.ts +8 -0
- package/dist/media/upload/index.js +1 -0
- package/dist/media/video/directive.d.ts +23 -0
- package/dist/media/video/directive.js +142 -0
- package/dist/media/video/index.d.ts +76 -0
- package/dist/media/video/index.js +583 -0
- package/dist/media/video/processor/cache.d.ts +55 -0
- package/dist/media/video/processor/cache.js +52 -0
- package/dist/media/video/processor/index.d.ts +12 -0
- package/dist/media/video/processor/index.js +4 -0
- package/dist/media/video/processor/streaming.d.ts +26 -0
- package/dist/media/video/processor/streaming.js +197 -0
- package/dist/media/video/processor/thumbnail.d.ts +35 -0
- package/dist/media/video/processor/thumbnail.js +134 -0
- package/dist/media/video/processor/transcoder.d.ts +19 -0
- package/dist/media/video/processor/transcoder.js +283 -0
- package/dist/menubar.d.ts +65 -0
- package/dist/menubar.js +99 -0
- package/dist/method-spoofing.d.ts +20 -0
- package/dist/method-spoofing.js +17 -0
- package/dist/middleware.d.ts +112 -0
- package/dist/middleware.js +40 -0
- package/dist/misc-directives.d.ts +55 -0
- package/dist/misc-directives.js +328 -0
- package/dist/native-build.d.ts +88 -0
- package/dist/native-build.js +575 -0
- package/dist/owned-routes.d.ts +42 -0
- package/dist/owned-routes.js +26 -0
- package/dist/page-action.d.ts +73 -0
- package/dist/page-action.js +91 -0
- package/dist/page-meta.d.ts +38 -0
- package/dist/page-meta.js +16 -0
- package/dist/page-response.d.ts +120 -0
- package/dist/page-response.js +117 -0
- package/dist/parser/directive-parser.d.ts +119 -0
- package/dist/parser/directive-parser.js +249 -0
- package/dist/parser/expression-parser.d.ts +58 -0
- package/dist/parser/expression-parser.js +358 -0
- package/dist/parser/index.d.ts +13 -0
- package/dist/parser/index.js +23 -0
- package/dist/parser/tokenizer.d.ts +77 -0
- package/dist/parser/tokenizer.js +534 -0
- package/dist/partial-hydration.d.ts +123 -0
- package/dist/partial-hydration.js +427 -0
- package/dist/performance-utils.d.ts +318 -0
- package/dist/performance-utils.js +466 -0
- package/dist/placeholder.d.ts +54 -0
- package/dist/placeholder.js +35 -0
- package/dist/plugin-system.d.ts +301 -0
- package/dist/plugin-system.js +214 -0
- package/dist/plugin.d.ts +3 -0
- package/dist/plugin.js +174 -0
- package/dist/precompiler.d.ts +43 -0
- package/dist/precompiler.js +670 -0
- package/dist/process.d.ts +16 -0
- package/dist/process.js +879 -0
- package/dist/production-build.d.ts +163 -0
- package/dist/production-build.js +596 -0
- package/dist/production-builder.d.ts +42 -0
- package/dist/production-builder.js +146 -0
- package/dist/production-server.d.ts +19 -0
- package/dist/production-server.js +208 -0
- package/dist/prop-sentinels.d.ts +31 -0
- package/dist/prop-sentinels.js +7 -0
- package/dist/props.d.ts +216 -0
- package/dist/props.js +224 -0
- package/dist/public-env.d.ts +29 -0
- package/dist/public-env.js +19 -0
- package/dist/pwa/audit.d.ts +42 -0
- package/dist/pwa/audit.js +255 -0
- package/dist/pwa/directives.d.ts +38 -0
- package/dist/pwa/directives.js +332 -0
- package/dist/pwa/icons.d.ts +42 -0
- package/dist/pwa/icons.js +109 -0
- package/dist/pwa/index.d.ts +104 -0
- package/dist/pwa/index.js +47 -0
- package/dist/pwa/inject.d.ts +32 -0
- package/dist/pwa/inject.js +102 -0
- package/dist/pwa/manifest.d.ts +104 -0
- package/dist/pwa/manifest.js +186 -0
- package/dist/pwa/offline.d.ts +8 -0
- package/dist/pwa/offline.js +259 -0
- package/dist/pwa/precache.d.ts +35 -0
- package/dist/pwa/precache.js +116 -0
- package/dist/pwa/service-worker.d.ts +33 -0
- package/dist/pwa/service-worker.js +860 -0
- package/dist/pwa/workbox-strategies.d.ts +100 -0
- package/dist/pwa/workbox-strategies.js +167 -0
- package/dist/pwa/workbox.d.ts +51 -0
- package/dist/pwa/workbox.js +382 -0
- package/dist/pwa.d.ts +52 -0
- package/dist/pwa.js +236 -0
- package/dist/reactive-bindings.d.ts +47 -0
- package/dist/reactive-bindings.js +268 -0
- package/dist/reactive-tracking.d.ts +81 -0
- package/dist/reactive-tracking.js +49 -0
- package/dist/reactive.d.ts +117 -0
- package/dist/reactive.js +593 -0
- package/dist/reactivity.d.ts +206 -0
- package/dist/reactivity.js +574 -0
- package/dist/release.d.ts +1 -0
- package/dist/release.js +1 -0
- package/dist/render-memo.d.ts +40 -0
- package/dist/render-memo.js +33 -0
- package/dist/render.d.ts +54 -0
- package/dist/render.js +153 -0
- package/dist/resolve-stx-targets.d.ts +49 -0
- package/dist/resolve-stx-targets.js +38 -0
- package/dist/route-middleware.d.ts +2 -0
- package/dist/route-middleware.js +17 -0
- package/dist/route-types.d.ts +134 -0
- package/dist/route-types.js +24 -0
- package/dist/router.d.ts +9 -0
- package/dist/router.js +9 -0
- package/dist/routes.d.ts +6 -0
- package/dist/routes.js +14 -0
- package/dist/runtime-globals.d.ts +236 -0
- package/dist/runtime-globals.js +230 -0
- package/dist/runtime-injection.d.ts +113 -0
- package/dist/runtime-injection.js +156 -0
- package/dist/runtime.d.ts +140 -0
- package/dist/runtime.js +94 -0
- package/dist/safe-evaluator.d.ts +165 -0
- package/dist/safe-evaluator.js +461 -0
- package/dist/scaffolding.d.ts +113 -0
- package/dist/scaffolding.js +897 -0
- package/dist/screenshot.d.ts +22 -0
- package/dist/screenshot.js +100 -0
- package/dist/script-classifier.d.ts +41 -0
- package/dist/script-classifier.js +51 -0
- package/dist/script-emit.d.ts +50 -0
- package/dist/script-emit.js +11 -0
- package/dist/script-json.d.ts +36 -0
- package/dist/script-json.js +6 -0
- package/dist/script-validation.d.ts +26 -0
- package/dist/script-validation.js +179 -0
- package/dist/seo.d.ts +225 -0
- package/dist/seo.js +486 -0
- package/dist/serve.d.ts +44 -0
- package/dist/serve.js +233 -0
- package/dist/server-bindings.d.ts +39 -0
- package/dist/server-bindings.js +171 -0
- package/dist/server-components.d.ts +138 -0
- package/dist/server-components.js +427 -0
- package/dist/sfc-template.d.ts +17 -0
- package/dist/sfc-template.js +32 -0
- package/dist/signal-processing.d.ts +222 -0
- package/dist/signal-processing.js +1081 -0
- package/dist/signals-api.d.ts +459 -0
- package/dist/signals-api.js +172 -0
- package/dist/signals.d.ts +41 -0
- package/dist/signals.js +8233 -0
- package/dist/site-builder/build.d.ts +18 -0
- package/dist/site-builder/build.js +252 -0
- package/dist/site-builder/i18n.d.ts +104 -0
- package/dist/site-builder/i18n.js +150 -0
- package/dist/site-builder/index.d.ts +27 -0
- package/dist/site-builder/index.js +16 -0
- package/dist/site-builder/robots.d.ts +2 -0
- package/dist/site-builder/robots.js +26 -0
- package/dist/site-builder/router.d.ts +10 -0
- package/dist/site-builder/router.js +27 -0
- package/dist/site-builder/seo.d.ts +8 -0
- package/dist/site-builder/seo.js +67 -0
- package/dist/site-builder/sitemap.d.ts +10 -0
- package/dist/site-builder/sitemap.js +26 -0
- package/dist/site-builder/theme.d.ts +12 -0
- package/dist/site-builder/theme.js +38 -0
- package/dist/site-builder/types.d.ts +74 -0
- package/dist/site-builder/types.js +0 -0
- package/dist/site-url.d.ts +46 -0
- package/dist/site-url.js +70 -0
- package/dist/slots.d.ts +129 -0
- package/dist/slots.js +286 -0
- package/dist/source-maps.d.ts +98 -0
- package/dist/source-maps.js +350 -0
- package/dist/source-signature.d.ts +45 -0
- package/dist/source-signature.js +20 -0
- package/dist/spa-nav.d.ts +49 -0
- package/dist/spa-nav.js +12 -0
- package/dist/spa-shell.d.ts +21 -0
- package/dist/spa-shell.js +34 -0
- package/dist/ssg.d.ts +357 -0
- package/dist/ssg.js +94 -0
- package/dist/ssr.d.ts +116 -0
- package/dist/ssr.js +339 -0
- package/dist/state-dir.d.ts +36 -0
- package/dist/state-dir.js +22 -0
- package/dist/state-management.d.ts +299 -0
- package/dist/state-management.js +519 -0
- package/dist/store-imports.d.ts +47 -0
- package/dist/store-imports.js +16 -0
- package/dist/store-loader.d.ts +15 -0
- package/dist/store-loader.js +111 -0
- package/dist/stores-client.d.ts +70 -0
- package/dist/stores-client.js +132 -0
- package/dist/story/addons.d.ts +123 -0
- package/dist/story/addons.js +261 -0
- package/dist/story/analytics.d.ts +163 -0
- package/dist/story/analytics.js +235 -0
- package/dist/story/auto-stories.d.ts +38 -0
- package/dist/story/auto-stories.js +158 -0
- package/dist/story/bookmarks.d.ts +102 -0
- package/dist/story/bookmarks.js +277 -0
- package/dist/story/bun-test.d.ts +45 -0
- package/dist/story/bun-test.js +102 -0
- package/dist/story/cli.d.ts +132 -0
- package/dist/story/cli.js +155 -0
- package/dist/story/collect/analyzer.d.ts +33 -0
- package/dist/story/collect/analyzer.js +305 -0
- package/dist/story/collect/index.d.ts +31 -0
- package/dist/story/collect/index.js +27 -0
- package/dist/story/collect/parser.d.ts +17 -0
- package/dist/story/collect/parser.js +129 -0
- package/dist/story/collect/scanner.d.ts +17 -0
- package/dist/story/collect/scanner.js +101 -0
- package/dist/story/collect/tree.d.ts +24 -0
- package/dist/story/collect/tree.js +110 -0
- package/dist/story/commands/build.d.ts +19 -0
- package/dist/story/commands/build.js +172 -0
- package/dist/story/commands/dev.d.ts +23 -0
- package/dist/story/commands/dev.js +78 -0
- package/dist/story/commands/index.d.ts +9 -0
- package/dist/story/commands/index.js +3 -0
- package/dist/story/commands/preview.d.ts +21 -0
- package/dist/story/commands/preview.js +56 -0
- package/dist/story/compiled-output.d.ts +27 -0
- package/dist/story/compiled-output.js +151 -0
- package/dist/story/composition.d.ts +47 -0
- package/dist/story/composition.js +261 -0
- package/dist/story/config-watcher.d.ts +33 -0
- package/dist/story/config-watcher.js +67 -0
- package/dist/story/config.d.ts +29 -0
- package/dist/story/config.js +64 -0
- package/dist/story/context.d.ts +27 -0
- package/dist/story/context.js +27 -0
- package/dist/story/controls/index.d.ts +54 -0
- package/dist/story/controls/index.js +320 -0
- package/dist/story/desktop-preview.d.ts +34 -0
- package/dist/story/desktop-preview.js +105 -0
- package/dist/story/docs-generator.d.ts +30 -0
- package/dist/story/docs-generator.js +187 -0
- package/dist/story/errors.d.ts +47 -0
- package/dist/story/errors.js +239 -0
- package/dist/story/figma-export.d.ts +169 -0
- package/dist/story/figma-export.js +224 -0
- package/dist/story/generator.d.ts +21 -0
- package/dist/story/generator.js +165 -0
- package/dist/story/hmr.d.ts +62 -0
- package/dist/story/hmr.js +131 -0
- package/dist/story/hot-swap.d.ts +46 -0
- package/dist/story/hot-swap.js +207 -0
- package/dist/story/index.d.ts +99 -0
- package/dist/story/index.js +49 -0
- package/dist/story/interactions.d.ts +53 -0
- package/dist/story/interactions.js +225 -0
- package/dist/story/keyboard-shortcuts.d.ts +39 -0
- package/dist/story/keyboard-shortcuts.js +345 -0
- package/dist/story/output.d.ts +115 -0
- package/dist/story/output.js +153 -0
- package/dist/story/performance.d.ts +129 -0
- package/dist/story/performance.js +252 -0
- package/dist/story/presets.d.ts +123 -0
- package/dist/story/presets.js +289 -0
- package/dist/story/props-validation.d.ts +45 -0
- package/dist/story/props-validation.js +215 -0
- package/dist/story/renderer.d.ts +69 -0
- package/dist/story/renderer.js +209 -0
- package/dist/story/search-index.d.ts +47 -0
- package/dist/story/search-index.js +106 -0
- package/dist/story/search.d.ts +56 -0
- package/dist/story/search.js +140 -0
- package/dist/story/server.d.ts +31 -0
- package/dist/story/server.js +965 -0
- package/dist/story/setup.d.ts +56 -0
- package/dist/story/setup.js +78 -0
- package/dist/story/snapshots.d.ts +65 -0
- package/dist/story/snapshots.js +171 -0
- package/dist/story/testing.d.ts +83 -0
- package/dist/story/testing.js +164 -0
- package/dist/story/theme.d.ts +68 -0
- package/dist/story/theme.js +170 -0
- package/dist/story/ts-css.d.ts +29 -0
- package/dist/story/ts-css.js +189 -0
- package/dist/story/types.d.ts +342 -0
- package/dist/story/types.js +0 -0
- package/dist/story/ui/code-panel.d.ts +43 -0
- package/dist/story/ui/code-panel.js +175 -0
- package/dist/story/ui/controls-panel.d.ts +25 -0
- package/dist/story/ui/controls-panel.js +168 -0
- package/dist/story/ui/index.d.ts +8 -0
- package/dist/story/ui/index.js +4 -0
- package/dist/story/ui/navigation.d.ts +55 -0
- package/dist/story/ui/navigation.js +250 -0
- package/dist/story/ui/preview.d.ts +46 -0
- package/dist/story/ui/preview.js +251 -0
- package/dist/story/visual-testing.d.ts +45 -0
- package/dist/story/visual-testing.js +248 -0
- package/dist/streaming.d.ts +238 -0
- package/dist/streaming.js +537 -0
- package/dist/strict-lint.d.ts +52 -0
- package/dist/strict-lint.js +269 -0
- package/dist/strip-literals.d.ts +40 -0
- package/dist/strip-literals.js +149 -0
- package/dist/stx-virtual-ts.d.ts +358 -0
- package/dist/stx-virtual-ts.js +670 -0
- package/dist/stx.d.ts +924 -0
- package/dist/style-scoping.d.ts +42 -0
- package/dist/style-scoping.js +82 -0
- package/dist/suspense.d.ts +98 -0
- package/dist/suspense.js +398 -0
- package/dist/teleport.d.ts +31 -0
- package/dist/teleport.js +109 -0
- package/dist/template-compiler.d.ts +33 -0
- package/dist/template-compiler.js +68 -0
- package/dist/template-hydrator.d.ts +28 -0
- package/dist/template-hydrator.js +95 -0
- package/dist/template-tag-balance.d.ts +32 -0
- package/dist/template-tag-balance.js +93 -0
- package/dist/testing.d.ts +330 -0
- package/dist/testing.js +588 -0
- package/dist/theme-tokens.d.ts +88 -0
- package/dist/theme-tokens.js +71 -0
- package/dist/transitions.d.ts +99 -0
- package/dist/transitions.js +443 -0
- package/dist/ts-css-config.d.ts +71 -0
- package/dist/ts-css-config.js +44 -0
- package/dist/type-checker.d.ts +85 -0
- package/dist/type-checker.js +581 -0
- package/dist/typecheck.d.ts +70 -0
- package/dist/typecheck.js +365 -0
- package/dist/types/component-types.d.ts +248 -0
- package/dist/types/component-types.js +0 -0
- package/dist/types/config-types.d.ts +938 -0
- package/dist/types/config-types.js +0 -0
- package/dist/types/context-types.d.ts +122 -0
- package/dist/types/context-types.js +0 -0
- package/dist/types/csp-types.d.ts +83 -0
- package/dist/types/csp-types.js +0 -0
- package/dist/types/directive-types.d.ts +315 -0
- package/dist/types/directive-types.js +3 -0
- package/dist/types/index.d.ts +20 -0
- package/dist/types/index.js +1 -0
- package/dist/types/pwa-types.d.ts +338 -0
- package/dist/types/pwa-types.js +0 -0
- package/dist/types.d.ts +27 -0
- package/dist/types.js +1 -0
- package/dist/typescript-templates.d.ts +156 -0
- package/dist/typescript-templates.js +386 -0
- package/dist/unresolved-identifiers.d.ts +52 -0
- package/dist/unresolved-identifiers.js +148 -0
- package/dist/utils.d.ts +112 -0
- package/dist/utils.js +1170 -0
- package/dist/validator.d.ts +80 -0
- package/dist/validator.js +171 -0
- package/dist/variable-extractor.d.ts +142 -0
- package/dist/variable-extractor.js +1306 -0
- package/dist/view-composers.d.ts +171 -0
- package/dist/view-composers.js +29 -0
- package/dist/virtual-scrolling.d.ts +127 -0
- package/dist/virtual-scrolling.js +454 -0
- package/dist/visual-editor.d.ts +185 -0
- package/dist/visual-editor.js +735 -0
- package/dist/visual-testing.d.ts +135 -0
- package/dist/visual-testing.js +126 -0
- package/dist/vue-template.d.ts +39 -0
- package/dist/vue-template.js +476 -0
- package/dist/web-components/css-scoping.d.ts +64 -0
- package/dist/web-components/css-scoping.js +210 -0
- package/dist/web-components/index.d.ts +29 -0
- package/dist/web-components/index.js +13 -0
- package/dist/web-components/reactive-generator.d.ts +72 -0
- package/dist/web-components/reactive-generator.js +484 -0
- package/dist/web-components.d.ts +253 -0
- package/dist/web-components.js +1466 -0
- package/dist/x-element.d.ts +42 -0
- package/dist/x-element.js +301 -0
- package/package.json +107 -0
- package/stx.d.ts +924 -0
|
@@ -0,0 +1,574 @@
|
|
|
1
|
+
import { enqueueEffect, getActiveSubscriber, isBatching, restoreActiveSubscriber, setActiveSubscriber } from "./reactive-tracking.js";
|
|
2
|
+
let currentInstance = null;
|
|
3
|
+
function structuralEqual(a, b, seen = new WeakSet) {
|
|
4
|
+
if (Object.is(a, b))
|
|
5
|
+
return !0;
|
|
6
|
+
if (typeof a !== "object" || typeof b !== "object" || a === null || b === null)
|
|
7
|
+
return !1;
|
|
8
|
+
if (seen.has(a))
|
|
9
|
+
return !0;
|
|
10
|
+
seen.add(a);
|
|
11
|
+
if (a instanceof Date && b instanceof Date)
|
|
12
|
+
return a.getTime() === b.getTime();
|
|
13
|
+
if (a instanceof RegExp && b instanceof RegExp)
|
|
14
|
+
return a.source === b.source && a.flags === b.flags;
|
|
15
|
+
if (Array.isArray(a)) {
|
|
16
|
+
if (!Array.isArray(b) || a.length !== b.length)
|
|
17
|
+
return !1;
|
|
18
|
+
for (let i = 0;i < a.length; i++)
|
|
19
|
+
if (!structuralEqual(a[i], b[i], seen))
|
|
20
|
+
return !1;
|
|
21
|
+
return !0;
|
|
22
|
+
}
|
|
23
|
+
if (Array.isArray(b))
|
|
24
|
+
return !1;
|
|
25
|
+
if (a instanceof Map) {
|
|
26
|
+
if (!(b instanceof Map) || a.size !== b.size)
|
|
27
|
+
return !1;
|
|
28
|
+
for (const [k, v] of a)
|
|
29
|
+
if (!b.has(k) || !structuralEqual(v, b.get(k), seen))
|
|
30
|
+
return !1;
|
|
31
|
+
return !0;
|
|
32
|
+
}
|
|
33
|
+
if (b instanceof Map)
|
|
34
|
+
return !1;
|
|
35
|
+
if (a instanceof Set) {
|
|
36
|
+
if (!(b instanceof Set) || a.size !== b.size)
|
|
37
|
+
return !1;
|
|
38
|
+
for (const v of a)
|
|
39
|
+
if (!b.has(v))
|
|
40
|
+
return !1;
|
|
41
|
+
return !0;
|
|
42
|
+
}
|
|
43
|
+
if (b instanceof Set)
|
|
44
|
+
return !1;
|
|
45
|
+
const aKeys = Object.keys(a), bKeys = Object.keys(b);
|
|
46
|
+
if (aKeys.length !== bKeys.length)
|
|
47
|
+
return !1;
|
|
48
|
+
for (const k of aKeys) {
|
|
49
|
+
if (!Object.prototype.hasOwnProperty.call(b, k))
|
|
50
|
+
return !1;
|
|
51
|
+
if (!structuralEqual(a[k], b[k], seen))
|
|
52
|
+
return !1;
|
|
53
|
+
}
|
|
54
|
+
return !0;
|
|
55
|
+
}
|
|
56
|
+
export function setCurrentInstance(instance) {
|
|
57
|
+
currentInstance = instance;
|
|
58
|
+
}
|
|
59
|
+
export function getCurrentInstance() {
|
|
60
|
+
return currentInstance;
|
|
61
|
+
}
|
|
62
|
+
export function createComponentInstance() {
|
|
63
|
+
return {
|
|
64
|
+
isMounted: !1,
|
|
65
|
+
isUnmounted: !1,
|
|
66
|
+
hooks: {
|
|
67
|
+
beforeMount: [],
|
|
68
|
+
mounted: [],
|
|
69
|
+
beforeUpdate: [],
|
|
70
|
+
updated: [],
|
|
71
|
+
beforeUnmount: [],
|
|
72
|
+
unmounted: []
|
|
73
|
+
},
|
|
74
|
+
effects: [],
|
|
75
|
+
scope: createScope()
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export function createScope() {
|
|
79
|
+
return {
|
|
80
|
+
refs: new Map,
|
|
81
|
+
effects: new Set,
|
|
82
|
+
cleanups: []
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
export function ref(initialValue) {
|
|
86
|
+
const subscribers = new Set, effectSubscribers = new Set;
|
|
87
|
+
let value = initialValue;
|
|
88
|
+
const id = Symbol("ref"), refObj = {
|
|
89
|
+
get value() {
|
|
90
|
+
const subscriber = getActiveSubscriber();
|
|
91
|
+
if (subscriber)
|
|
92
|
+
effectSubscribers.add(subscriber);
|
|
93
|
+
return value;
|
|
94
|
+
},
|
|
95
|
+
set value(newValue) {
|
|
96
|
+
if (!Object.is(newValue, value)) {
|
|
97
|
+
const oldValue = value;
|
|
98
|
+
value = newValue;
|
|
99
|
+
for (const callback of subscribers)
|
|
100
|
+
callback(newValue, oldValue);
|
|
101
|
+
for (const effect of effectSubscribers)
|
|
102
|
+
if (isBatching())
|
|
103
|
+
enqueueEffect(effect);
|
|
104
|
+
else
|
|
105
|
+
effect();
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
subscribe(callback) {
|
|
109
|
+
subscribers.add(callback);
|
|
110
|
+
return () => {
|
|
111
|
+
subscribers.delete(callback);
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
if (currentInstance)
|
|
116
|
+
currentInstance.scope.refs.set(id, refObj);
|
|
117
|
+
return refObj;
|
|
118
|
+
}
|
|
119
|
+
const reactiveMap = new WeakMap;
|
|
120
|
+
export function reactive(target) {
|
|
121
|
+
const existing = reactiveMap.get(target);
|
|
122
|
+
if (existing)
|
|
123
|
+
return existing;
|
|
124
|
+
const subscribers = new Map, notify = (key) => {
|
|
125
|
+
const subs = subscribers.get(key);
|
|
126
|
+
if (!subs)
|
|
127
|
+
return;
|
|
128
|
+
for (const callback of [...subs])
|
|
129
|
+
if (isBatching())
|
|
130
|
+
enqueueEffect(callback);
|
|
131
|
+
else
|
|
132
|
+
callback();
|
|
133
|
+
}, subscribe = (key, callback) => {
|
|
134
|
+
if (!subscribers.has(key))
|
|
135
|
+
subscribers.set(key, new Set);
|
|
136
|
+
subscribers.get(key).add(callback);
|
|
137
|
+
return () => {
|
|
138
|
+
subscribers.get(key)?.delete(callback);
|
|
139
|
+
};
|
|
140
|
+
}, proxy = new Proxy(target, {
|
|
141
|
+
get(obj, prop, receiver) {
|
|
142
|
+
const value = Reflect.get(obj, prop, receiver), subscriber = getActiveSubscriber();
|
|
143
|
+
if (subscriber)
|
|
144
|
+
subscribe(prop, subscriber);
|
|
145
|
+
if (value !== null && typeof value === "object" && !Array.isArray(value)) {
|
|
146
|
+
const proto = Object.getPrototypeOf(value);
|
|
147
|
+
if (proto === Object.prototype || proto === null)
|
|
148
|
+
return reactive(value);
|
|
149
|
+
}
|
|
150
|
+
return value;
|
|
151
|
+
},
|
|
152
|
+
set(obj, prop, value, receiver) {
|
|
153
|
+
const oldValue = Reflect.get(obj, prop, receiver), result = Reflect.set(obj, prop, value, receiver);
|
|
154
|
+
if (!Object.is(value, oldValue))
|
|
155
|
+
notify(prop);
|
|
156
|
+
return result;
|
|
157
|
+
},
|
|
158
|
+
deleteProperty(obj, prop) {
|
|
159
|
+
const result = Reflect.deleteProperty(obj, prop);
|
|
160
|
+
notify(prop);
|
|
161
|
+
return result;
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
reactiveMap.set(target, proxy);
|
|
165
|
+
return proxy;
|
|
166
|
+
}
|
|
167
|
+
export function computed(getter) {
|
|
168
|
+
let cachedValue, dirty = !0;
|
|
169
|
+
const subscribers = new Set, effectSubscribers = new Set, markDirty = () => {
|
|
170
|
+
dirty = !0;
|
|
171
|
+
update();
|
|
172
|
+
}, update = () => {
|
|
173
|
+
if (dirty) {
|
|
174
|
+
const oldValue = cachedValue, prevEffect = setActiveSubscriber(markDirty);
|
|
175
|
+
cachedValue = getter();
|
|
176
|
+
restoreActiveSubscriber(prevEffect);
|
|
177
|
+
dirty = !1;
|
|
178
|
+
if (!Object.is(cachedValue, oldValue)) {
|
|
179
|
+
for (const callback of subscribers)
|
|
180
|
+
callback(cachedValue, oldValue);
|
|
181
|
+
for (const effect of effectSubscribers)
|
|
182
|
+
effect();
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}, prevEffect = setActiveSubscriber(markDirty);
|
|
186
|
+
cachedValue = getter();
|
|
187
|
+
dirty = !1;
|
|
188
|
+
restoreActiveSubscriber(prevEffect);
|
|
189
|
+
return {
|
|
190
|
+
get value() {
|
|
191
|
+
const subscriber = getActiveSubscriber();
|
|
192
|
+
if (subscriber)
|
|
193
|
+
effectSubscribers.add(subscriber);
|
|
194
|
+
update();
|
|
195
|
+
return cachedValue;
|
|
196
|
+
},
|
|
197
|
+
set value(_) {
|
|
198
|
+
console.warn("[stx] Computed properties are readonly");
|
|
199
|
+
},
|
|
200
|
+
subscribe(callback) {
|
|
201
|
+
subscribers.add(callback);
|
|
202
|
+
return () => {
|
|
203
|
+
subscribers.delete(callback);
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
function afterRender(fn) {
|
|
209
|
+
if (typeof requestAnimationFrame === "function") {
|
|
210
|
+
requestAnimationFrame(() => {
|
|
211
|
+
requestAnimationFrame(fn);
|
|
212
|
+
});
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
setTimeout(fn, 0);
|
|
216
|
+
}
|
|
217
|
+
export function watch(source, callback, options = {}) {
|
|
218
|
+
const { immediate = !1, deep = !1, flush = "post" } = options;
|
|
219
|
+
let oldValue, cleanup, stopped = !1;
|
|
220
|
+
const job = () => {
|
|
221
|
+
if (stopped)
|
|
222
|
+
return;
|
|
223
|
+
const newValue = getValueTracking();
|
|
224
|
+
if ((deep ? !structuralEqual(newValue, oldValue) : !Object.is(newValue, oldValue)) || immediate) {
|
|
225
|
+
callback(newValue, oldValue);
|
|
226
|
+
if (deep && newValue !== null && typeof newValue === "object")
|
|
227
|
+
try {
|
|
228
|
+
oldValue = structuredClone(newValue);
|
|
229
|
+
} catch {
|
|
230
|
+
oldValue = newValue;
|
|
231
|
+
}
|
|
232
|
+
else
|
|
233
|
+
oldValue = newValue;
|
|
234
|
+
}
|
|
235
|
+
}, scheduler = (fn) => {
|
|
236
|
+
if (flush === "sync")
|
|
237
|
+
fn();
|
|
238
|
+
else if (flush === "pre")
|
|
239
|
+
Promise.resolve().then(fn);
|
|
240
|
+
else
|
|
241
|
+
afterRender(fn);
|
|
242
|
+
};
|
|
243
|
+
let scheduled = !1;
|
|
244
|
+
const onChange = () => {
|
|
245
|
+
if (stopped || scheduled)
|
|
246
|
+
return;
|
|
247
|
+
scheduled = !0;
|
|
248
|
+
scheduler(() => {
|
|
249
|
+
scheduled = !1;
|
|
250
|
+
job();
|
|
251
|
+
});
|
|
252
|
+
}, getValueTracking = () => {
|
|
253
|
+
if (typeof source === "function") {
|
|
254
|
+
const prevEffect = setActiveSubscriber(onChange);
|
|
255
|
+
try {
|
|
256
|
+
return source();
|
|
257
|
+
} finally {
|
|
258
|
+
restoreActiveSubscriber(prevEffect);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return source.value;
|
|
262
|
+
};
|
|
263
|
+
if (typeof source !== "function") {
|
|
264
|
+
const unsubscribe = source.subscribe(() => {
|
|
265
|
+
scheduler(job);
|
|
266
|
+
});
|
|
267
|
+
cleanup = () => {
|
|
268
|
+
stopped = !0;
|
|
269
|
+
unsubscribe();
|
|
270
|
+
};
|
|
271
|
+
} else
|
|
272
|
+
cleanup = () => {
|
|
273
|
+
stopped = !0;
|
|
274
|
+
};
|
|
275
|
+
oldValue = getValueTracking();
|
|
276
|
+
if (immediate)
|
|
277
|
+
scheduler(job);
|
|
278
|
+
if (currentInstance)
|
|
279
|
+
currentInstance.scope.cleanups.push(() => cleanup?.());
|
|
280
|
+
return () => cleanup?.();
|
|
281
|
+
}
|
|
282
|
+
export function watchMultiple(sources, callback, options = {}) {
|
|
283
|
+
const cleanups = [];
|
|
284
|
+
let oldValues = sources.map((s) => s.value);
|
|
285
|
+
for (const source of sources) {
|
|
286
|
+
const unwatch = source.subscribe(() => {
|
|
287
|
+
const newValues = sources.map((s) => s.value);
|
|
288
|
+
callback(newValues, oldValues);
|
|
289
|
+
oldValues = [...newValues];
|
|
290
|
+
});
|
|
291
|
+
cleanups.push(unwatch);
|
|
292
|
+
}
|
|
293
|
+
if (options.immediate) {
|
|
294
|
+
const newValues = sources.map((s) => s.value);
|
|
295
|
+
callback(newValues, oldValues);
|
|
296
|
+
}
|
|
297
|
+
return () => {
|
|
298
|
+
for (const cleanup of cleanups)
|
|
299
|
+
cleanup();
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
export function watchEffect(effect) {
|
|
303
|
+
let cleanup, stopped = !1;
|
|
304
|
+
const run = () => {
|
|
305
|
+
if (stopped)
|
|
306
|
+
return;
|
|
307
|
+
if (cleanup)
|
|
308
|
+
cleanup();
|
|
309
|
+
const prevEffect = setActiveSubscriber(run);
|
|
310
|
+
cleanup = effect();
|
|
311
|
+
restoreActiveSubscriber(prevEffect);
|
|
312
|
+
};
|
|
313
|
+
run();
|
|
314
|
+
if (currentInstance)
|
|
315
|
+
currentInstance.scope.cleanups.push(() => {
|
|
316
|
+
stopped = !0;
|
|
317
|
+
if (cleanup)
|
|
318
|
+
cleanup();
|
|
319
|
+
});
|
|
320
|
+
return () => {
|
|
321
|
+
stopped = !0;
|
|
322
|
+
if (cleanup)
|
|
323
|
+
cleanup();
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
export function onBeforeMount(callback) {
|
|
327
|
+
if (currentInstance)
|
|
328
|
+
currentInstance.hooks.beforeMount.push(callback);
|
|
329
|
+
else
|
|
330
|
+
console.warn("[stx] onBeforeMount called outside of component setup");
|
|
331
|
+
}
|
|
332
|
+
export function onMounted(callback) {
|
|
333
|
+
if (currentInstance)
|
|
334
|
+
currentInstance.hooks.mounted.push(callback);
|
|
335
|
+
else
|
|
336
|
+
console.warn("[stx] onMounted called outside of component setup");
|
|
337
|
+
}
|
|
338
|
+
export function onBeforeUpdate(callback) {
|
|
339
|
+
if (currentInstance)
|
|
340
|
+
currentInstance.hooks.beforeUpdate.push(callback);
|
|
341
|
+
else
|
|
342
|
+
console.warn("[stx] onBeforeUpdate called outside of component setup");
|
|
343
|
+
}
|
|
344
|
+
export function onUpdated(callback) {
|
|
345
|
+
if (currentInstance)
|
|
346
|
+
currentInstance.hooks.updated.push(callback);
|
|
347
|
+
else
|
|
348
|
+
console.warn("[stx] onUpdated called outside of component setup");
|
|
349
|
+
}
|
|
350
|
+
export function onBeforeUnmount(callback) {
|
|
351
|
+
if (currentInstance)
|
|
352
|
+
currentInstance.hooks.beforeUnmount.push(callback);
|
|
353
|
+
else
|
|
354
|
+
console.warn("[stx] onBeforeUnmount called outside of component setup");
|
|
355
|
+
}
|
|
356
|
+
export function onUnmounted(callback) {
|
|
357
|
+
if (currentInstance)
|
|
358
|
+
currentInstance.hooks.unmounted.push(callback);
|
|
359
|
+
else
|
|
360
|
+
console.warn("[stx] onUnmounted called outside of component setup");
|
|
361
|
+
}
|
|
362
|
+
export async function runHooks(instance, hookName) {
|
|
363
|
+
const hooks = instance.hooks[hookName];
|
|
364
|
+
for (const hook of hooks)
|
|
365
|
+
await hook();
|
|
366
|
+
}
|
|
367
|
+
export async function mountInstance(instance) {
|
|
368
|
+
await runHooks(instance, "beforeMount");
|
|
369
|
+
instance.isMounted = !0;
|
|
370
|
+
await runHooks(instance, "mounted");
|
|
371
|
+
}
|
|
372
|
+
export async function updateInstance(instance) {
|
|
373
|
+
if (!instance.isMounted || instance.isUnmounted)
|
|
374
|
+
return;
|
|
375
|
+
await runHooks(instance, "beforeUpdate");
|
|
376
|
+
await runHooks(instance, "updated");
|
|
377
|
+
}
|
|
378
|
+
export async function unmountInstance(instance) {
|
|
379
|
+
if (instance.isUnmounted)
|
|
380
|
+
return;
|
|
381
|
+
await runHooks(instance, "beforeUnmount");
|
|
382
|
+
for (const cleanup of instance.scope.cleanups)
|
|
383
|
+
cleanup();
|
|
384
|
+
instance.isUnmounted = !0;
|
|
385
|
+
await runHooks(instance, "unmounted");
|
|
386
|
+
}
|
|
387
|
+
export function generateClientRuntime() {
|
|
388
|
+
return `
|
|
389
|
+
<script data-stx-client-runtime>
|
|
390
|
+
(function() {
|
|
391
|
+
'use strict';
|
|
392
|
+
|
|
393
|
+
// Reactive ref implementation
|
|
394
|
+
function ref(initialValue) {
|
|
395
|
+
const subscribers = new Set();
|
|
396
|
+
let value = initialValue;
|
|
397
|
+
|
|
398
|
+
return {
|
|
399
|
+
get value() { return value; },
|
|
400
|
+
set value(newValue) {
|
|
401
|
+
if (!Object.is(newValue, value)) {
|
|
402
|
+
const oldValue = value;
|
|
403
|
+
value = newValue;
|
|
404
|
+
subscribers.forEach(cb => cb(newValue, oldValue));
|
|
405
|
+
}
|
|
406
|
+
},
|
|
407
|
+
subscribe(callback) {
|
|
408
|
+
subscribers.add(callback);
|
|
409
|
+
return () => subscribers.delete(callback);
|
|
410
|
+
}
|
|
411
|
+
};
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
// Reactive object implementation
|
|
415
|
+
function reactive(target) {
|
|
416
|
+
const subscribers = new Map();
|
|
417
|
+
|
|
418
|
+
const notify = (key) => {
|
|
419
|
+
const subs = subscribers.get(key);
|
|
420
|
+
if (subs) subs.forEach(cb => cb());
|
|
421
|
+
};
|
|
422
|
+
|
|
423
|
+
return new Proxy(target, {
|
|
424
|
+
get(obj, prop, receiver) {
|
|
425
|
+
const value = Reflect.get(obj, prop, receiver);
|
|
426
|
+
if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
|
|
427
|
+
return reactive(value);
|
|
428
|
+
}
|
|
429
|
+
return value;
|
|
430
|
+
},
|
|
431
|
+
set(obj, prop, value, receiver) {
|
|
432
|
+
const oldValue = Reflect.get(obj, prop, receiver);
|
|
433
|
+
const result = Reflect.set(obj, prop, value, receiver);
|
|
434
|
+
if (!Object.is(value, oldValue)) notify(prop);
|
|
435
|
+
return result;
|
|
436
|
+
}
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
// Computed implementation
|
|
441
|
+
function computed(getter) {
|
|
442
|
+
let cachedValue;
|
|
443
|
+
let dirty = true;
|
|
444
|
+
const subscribers = new Set();
|
|
445
|
+
|
|
446
|
+
return {
|
|
447
|
+
get value() {
|
|
448
|
+
if (dirty) {
|
|
449
|
+
cachedValue = getter();
|
|
450
|
+
dirty = false;
|
|
451
|
+
}
|
|
452
|
+
return cachedValue;
|
|
453
|
+
},
|
|
454
|
+
subscribe(callback) {
|
|
455
|
+
subscribers.add(callback);
|
|
456
|
+
return () => subscribers.delete(callback);
|
|
457
|
+
}
|
|
458
|
+
};
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
// Watch implementation
|
|
462
|
+
function watch(source, callback, options = {}) {
|
|
463
|
+
const { immediate = false } = options;
|
|
464
|
+
let oldValue = typeof source === 'function' ? source() : source.value;
|
|
465
|
+
|
|
466
|
+
const unsubscribe = (typeof source === 'function' ? { subscribe: () => {} } : source)
|
|
467
|
+
.subscribe((newValue) => {
|
|
468
|
+
callback(newValue, oldValue);
|
|
469
|
+
oldValue = newValue;
|
|
470
|
+
});
|
|
471
|
+
|
|
472
|
+
if (immediate) {
|
|
473
|
+
callback(oldValue, undefined);
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
return unsubscribe;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
// Lifecycle hooks
|
|
480
|
+
const lifecycleHooks = {
|
|
481
|
+
beforeMount: [],
|
|
482
|
+
mounted: [],
|
|
483
|
+
beforeUpdate: [],
|
|
484
|
+
updated: [],
|
|
485
|
+
beforeUnmount: [],
|
|
486
|
+
unmounted: []
|
|
487
|
+
};
|
|
488
|
+
|
|
489
|
+
function onBeforeMount(cb) { lifecycleHooks.beforeMount.push(cb); }
|
|
490
|
+
function onMounted(cb) { lifecycleHooks.mounted.push(cb); }
|
|
491
|
+
function onBeforeUpdate(cb) { lifecycleHooks.beforeUpdate.push(cb); }
|
|
492
|
+
function onUpdated(cb) { lifecycleHooks.updated.push(cb); }
|
|
493
|
+
function onBeforeUnmount(cb) { lifecycleHooks.beforeUnmount.push(cb); }
|
|
494
|
+
function onUnmounted(cb) { lifecycleHooks.unmounted.push(cb); }
|
|
495
|
+
|
|
496
|
+
// Run lifecycle hooks
|
|
497
|
+
async function runHooks(hookName) {
|
|
498
|
+
for (const hook of lifecycleHooks[hookName]) {
|
|
499
|
+
await hook();
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
// Initialize on DOM ready
|
|
504
|
+
document.addEventListener('DOMContentLoaded', async () => {
|
|
505
|
+
await runHooks('beforeMount');
|
|
506
|
+
await runHooks('mounted');
|
|
507
|
+
});
|
|
508
|
+
|
|
509
|
+
// Cleanup on page unload
|
|
510
|
+
window.addEventListener('beforeunload', async () => {
|
|
511
|
+
await runHooks('beforeUnmount');
|
|
512
|
+
await runHooks('unmounted');
|
|
513
|
+
});
|
|
514
|
+
|
|
515
|
+
// Internal state (hidden from developers)
|
|
516
|
+
var __stores = {};
|
|
517
|
+
var __routeParams = {};
|
|
518
|
+
var __middlewareState = {};
|
|
519
|
+
|
|
520
|
+
// provide() \u2014 share values across components (like Vue's provide/inject)
|
|
521
|
+
function provide(name, value) {
|
|
522
|
+
window[name] = value;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
// Expose globally for <script client> blocks.
|
|
526
|
+
// MERGE, never replace (#1804): several client bundles write window.stx
|
|
527
|
+
// and a wholesale assignment erases whichever ran first.
|
|
528
|
+
window.stx = Object.assign(window.stx || {}, {
|
|
529
|
+
// Reactivity
|
|
530
|
+
ref,
|
|
531
|
+
reactive,
|
|
532
|
+
computed,
|
|
533
|
+
watch,
|
|
534
|
+
onBeforeMount,
|
|
535
|
+
onMounted,
|
|
536
|
+
onBeforeUpdate,
|
|
537
|
+
onUpdated,
|
|
538
|
+
onBeforeUnmount,
|
|
539
|
+
onUnmounted,
|
|
540
|
+
provide,
|
|
541
|
+
|
|
542
|
+
// Store access (clean API - no window.* exposure)
|
|
543
|
+
useStore: function(name) { return __stores[name] || null; },
|
|
544
|
+
hasStore: function(name) { return name in __stores; },
|
|
545
|
+
getStoreNames: function() { return Object.keys(__stores); },
|
|
546
|
+
|
|
547
|
+
// Route params (clean API)
|
|
548
|
+
useRouteParams: function() { return __routeParams; },
|
|
549
|
+
useRouteParam: function(name) { return __routeParams[name]; },
|
|
550
|
+
|
|
551
|
+
// Middleware state (clean API)
|
|
552
|
+
useMiddlewareState: function() { return __middlewareState; },
|
|
553
|
+
|
|
554
|
+
// Internal setters (used by framework, not exposed in docs)
|
|
555
|
+
// eslint-disable-next-line pickier/no-unused-vars
|
|
556
|
+
setRouteParams: function(params) { __routeParams = params || {}; },
|
|
557
|
+
// eslint-disable-next-line pickier/no-unused-vars
|
|
558
|
+
setMiddlewareState: function(state) { __middlewareState = state || {}; },
|
|
559
|
+
registerStore: function(name, store) { __stores[name] = store; },
|
|
560
|
+
|
|
561
|
+
// SSR detection
|
|
562
|
+
isClient: function() { return true; },
|
|
563
|
+
isServer: function() { return false; }
|
|
564
|
+
});
|
|
565
|
+
window.provide = provide;
|
|
566
|
+
})();
|
|
567
|
+
</script>`;
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
export {
|
|
571
|
+
ref as createRef,
|
|
572
|
+
reactive as createReactive,
|
|
573
|
+
computed as createComputed
|
|
574
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const gitHash: string;
|
package/dist/release.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const gitHash = "f9c3713";
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memoisation for the pure, content-keyed stages of a render (stacksjs/stx#1945).
|
|
3
|
+
*
|
|
4
|
+
* SSR of an unchanged view re-ran every stage on the same bytes: the component
|
|
5
|
+
* bundle was read from disk, re-wrapped and re-inlined; the DOM-API validator
|
|
6
|
+
* re-scanned the same script; the composable scan and the css class
|
|
7
|
+
* extraction walked the same few hundred KB of page. The JS heap stayed flat —
|
|
8
|
+
* nothing was retained — but each stage makes native copies of a large string,
|
|
9
|
+
* and the allocator's high-water mark climbed by megabytes per render. The
|
|
10
|
+
* output was already byte-identical (cbe08f0b4b); nothing remembered it.
|
|
11
|
+
*
|
|
12
|
+
* Every memo here is keyed on the content it is a function of and holds a
|
|
13
|
+
* small, bounded number of entries. Where the result also depends on files,
|
|
14
|
+
* the caller records them and re-stats them on every hit, so an edit under a
|
|
15
|
+
* dev server invalidates exactly as the on-disk bundle cache does.
|
|
16
|
+
*
|
|
17
|
+
* @module render-memo
|
|
18
|
+
*/
|
|
19
|
+
import { LRUCache } from './performance-utils';
|
|
20
|
+
/** A file an artifact was built from, and its mtime when it was read. */
|
|
21
|
+
export interface DepSnapshot {
|
|
22
|
+
path: string;
|
|
23
|
+
mtimeMs: number;
|
|
24
|
+
}
|
|
25
|
+
/** A bounded memo that `clearRenderMemos` knows about. */
|
|
26
|
+
export declare function renderMemo<V>(maxSize: number): LRUCache<string, V>;
|
|
27
|
+
/** Forget everything. Wired into `clearDevCaches`. */
|
|
28
|
+
export declare function clearRenderMemos(): void;
|
|
29
|
+
/**
|
|
30
|
+
* A key for some content plus the parameters the result depends on.
|
|
31
|
+
*
|
|
32
|
+
* The content itself is not retained — a page is a few hundred KB — so it is
|
|
33
|
+
* represented by its wyhash and its length together. Two inputs would have to
|
|
34
|
+
* agree on both to share a key.
|
|
35
|
+
*/
|
|
36
|
+
export declare function contentKey(content: string, ...parts: Array<string | number | boolean | null | undefined>): string;
|
|
37
|
+
/** Record the mtimes of `paths` now. A path that cannot be stat'ed is not recorded. */
|
|
38
|
+
export declare function snapshotDeps(paths: Iterable<string>): DepSnapshot[];
|
|
39
|
+
/** Whether every recorded dep still has the mtime it had. A deleted dep counts as changed. */
|
|
40
|
+
export declare function depsUnchanged(deps: DepSnapshot[]): boolean;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import { LRUCache } from "./performance-utils.js";
|
|
3
|
+
const memos = [];
|
|
4
|
+
export function renderMemo(maxSize) {
|
|
5
|
+
const memo = new LRUCache(maxSize);
|
|
6
|
+
memos.push(memo);
|
|
7
|
+
return memo;
|
|
8
|
+
}
|
|
9
|
+
export function clearRenderMemos() {
|
|
10
|
+
for (const memo of memos)
|
|
11
|
+
memo.clear();
|
|
12
|
+
}
|
|
13
|
+
export function contentKey(content, ...parts) {
|
|
14
|
+
return `${parts.map((part) => String(part ?? "")).join("\x00")}\x00${content.length}\x00${Bun.hash(content)}`;
|
|
15
|
+
}
|
|
16
|
+
export function snapshotDeps(paths) {
|
|
17
|
+
const deps = [];
|
|
18
|
+
for (const path of new Set(paths))
|
|
19
|
+
try {
|
|
20
|
+
deps.push({ path, mtimeMs: fs.statSync(path).mtimeMs });
|
|
21
|
+
} catch {}
|
|
22
|
+
return deps;
|
|
23
|
+
}
|
|
24
|
+
export function depsUnchanged(deps) {
|
|
25
|
+
for (const dep of deps)
|
|
26
|
+
try {
|
|
27
|
+
if (fs.statSync(dep.path).mtimeMs !== dep.mtimeMs)
|
|
28
|
+
return !1;
|
|
29
|
+
} catch {
|
|
30
|
+
return !1;
|
|
31
|
+
}
|
|
32
|
+
return !0;
|
|
33
|
+
}
|
package/dist/render.d.ts
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { StxOptions } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Render a .stx template file to an HTML string.
|
|
4
|
+
*
|
|
5
|
+
* This is the primary rendering API. It:
|
|
6
|
+
* 1. Reads the template file
|
|
7
|
+
* 2. Extracts and executes server-side scripts
|
|
8
|
+
* 3. Processes all stx directives (conditionals, loops, expressions, etc.)
|
|
9
|
+
* 4. Injects client-side scripts
|
|
10
|
+
* 5. Returns the final HTML string
|
|
11
|
+
*
|
|
12
|
+
* @param filePath - Path to the .stx template file
|
|
13
|
+
* @param renderOptions - Additional rendering options
|
|
14
|
+
* @returns The rendered HTML string
|
|
15
|
+
*/
|
|
16
|
+
export declare function renderTemplate(filePath: string, renderOptions?: RenderOptions): Promise<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Render an inline stx template string to HTML.
|
|
19
|
+
*
|
|
20
|
+
* Useful when you have template content in memory rather than a file.
|
|
21
|
+
*
|
|
22
|
+
* @param template - The stx template string
|
|
23
|
+
* @param context - Variables to make available in the template
|
|
24
|
+
* @returns The rendered HTML string
|
|
25
|
+
*/
|
|
26
|
+
export declare function renderString(template: string, context?: Record<string, unknown>, options?: Omit<RenderOptions, 'context'>): Promise<string>;
|
|
27
|
+
/**
|
|
28
|
+
* Render template content that is already in memory, resolving includes and
|
|
29
|
+
* components relative to `filePath`.
|
|
30
|
+
*
|
|
31
|
+
* Use this when the template cannot be read from disk at runtime — most often an
|
|
32
|
+
* app compiled to a single binary, where the `.stx` file is embedded at build
|
|
33
|
+
* time via `import source from './app.stx' with { type: 'text' }` and
|
|
34
|
+
* `filePath` only anchors relative lookups.
|
|
35
|
+
*
|
|
36
|
+
* @param content - The stx template source
|
|
37
|
+
* @param filePath - Path the template came from, used to resolve relative includes
|
|
38
|
+
* @param renderOptions - Additional rendering options
|
|
39
|
+
*/
|
|
40
|
+
export declare function renderTemplateString(content: string, filePath: string, renderOptions?: RenderOptions): Promise<string>;
|
|
41
|
+
// ============================================================================
|
|
42
|
+
// Types
|
|
43
|
+
// ============================================================================
|
|
44
|
+
export declare interface RenderOptions {
|
|
45
|
+
markdownRenderer?: (source: string) => string | Promise<string>
|
|
46
|
+
context?: Record<string, unknown>
|
|
47
|
+
options?: Partial<StxOptions>
|
|
48
|
+
processClientScripts?: boolean
|
|
49
|
+
wrapInDocument?: boolean
|
|
50
|
+
title?: string
|
|
51
|
+
injectCSS?: boolean
|
|
52
|
+
layout?: string
|
|
53
|
+
templateOnly?: boolean
|
|
54
|
+
}
|