@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,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parameter and Content Sanitization
|
|
3
|
+
*
|
|
4
|
+
* Provides sanitization utilities for directive parameters, file paths,
|
|
5
|
+
* expressions, and component props.
|
|
6
|
+
*
|
|
7
|
+
* @module errors/sanitizer
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Options for parameter sanitization
|
|
11
|
+
*/
|
|
12
|
+
export interface SanitizeOptions {
|
|
13
|
+
/** Allow HTML in parameter values (default: false) */
|
|
14
|
+
allowHtml?: boolean;
|
|
15
|
+
/** Maximum length for string parameters (default: 10000) */
|
|
16
|
+
maxLength?: number;
|
|
17
|
+
/** Allow special characters (default: true for most, false for paths) */
|
|
18
|
+
allowSpecialChars?: boolean;
|
|
19
|
+
/** Custom sanitization function */
|
|
20
|
+
customSanitizer?: (value: string) => string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Result of parameter sanitization
|
|
24
|
+
*/
|
|
25
|
+
export interface SanitizedParam {
|
|
26
|
+
/** Sanitized value */
|
|
27
|
+
value: string;
|
|
28
|
+
/** Whether the value was modified */
|
|
29
|
+
modified: boolean;
|
|
30
|
+
/** Warnings generated during sanitization */
|
|
31
|
+
warnings: string[];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Validation utilities
|
|
35
|
+
*/
|
|
36
|
+
export declare const validators: {
|
|
37
|
+
/**
|
|
38
|
+
* Validate file path is safe and doesn't escape the allowed directory
|
|
39
|
+
*/
|
|
40
|
+
isValidFilePath(filePath: string, allowedDir?: string): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Validate template variable name
|
|
43
|
+
*/
|
|
44
|
+
isValidVariableName(name: string): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Validate directive name
|
|
47
|
+
*/
|
|
48
|
+
isValidDirectiveName(name: string): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Check if string contains potentially malicious content
|
|
51
|
+
*/
|
|
52
|
+
isSafeContent(content: string): boolean;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Sanitize a directive parameter value
|
|
56
|
+
*/
|
|
57
|
+
export declare function sanitizeDirectiveParam(param: string, options?: SanitizeOptions): SanitizedParam;
|
|
58
|
+
/**
|
|
59
|
+
* Sanitize a file path parameter
|
|
60
|
+
*/
|
|
61
|
+
export declare function sanitizeFilePath(filePath: string, baseDir?: string): string | null;
|
|
62
|
+
/**
|
|
63
|
+
* Sanitize an expression parameter (used in @if, @foreach, etc.)
|
|
64
|
+
*/
|
|
65
|
+
export declare function sanitizeExpression(expr: string): SanitizedParam;
|
|
66
|
+
/**
|
|
67
|
+
* Sanitize multiple directive parameters at once
|
|
68
|
+
*/
|
|
69
|
+
export declare function sanitizeDirectiveParams(params: string[], options?: SanitizeOptions): SanitizedParam[];
|
|
70
|
+
/**
|
|
71
|
+
* Validate and sanitize component props
|
|
72
|
+
*/
|
|
73
|
+
export declare function sanitizeComponentProps(props: Record<string, unknown>): Record<string, unknown>;
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
export const validators = {
|
|
3
|
+
isValidFilePath(filePath, allowedDir) {
|
|
4
|
+
const normalizedPath = filePath.replace(/\\/g, "/");
|
|
5
|
+
if (normalizedPath.includes("\x00"))
|
|
6
|
+
return !1;
|
|
7
|
+
if (normalizedPath.includes("../") || normalizedPath.includes("..\\") || normalizedPath === ".." || normalizedPath.startsWith("../") || normalizedPath.endsWith("/..") || normalizedPath.includes("/..\\") || normalizedPath.includes("\\../"))
|
|
8
|
+
return !1;
|
|
9
|
+
if (/^[a-z][a-z0-9+.-]*:/i.test(normalizedPath))
|
|
10
|
+
return !1;
|
|
11
|
+
if (normalizedPath.startsWith("/")) {
|
|
12
|
+
if ([
|
|
13
|
+
"/etc/",
|
|
14
|
+
"/root/",
|
|
15
|
+
"/var/",
|
|
16
|
+
"/usr/",
|
|
17
|
+
"/bin/",
|
|
18
|
+
"/sbin/",
|
|
19
|
+
"/proc/",
|
|
20
|
+
"/sys/",
|
|
21
|
+
"/dev/",
|
|
22
|
+
"/boot/",
|
|
23
|
+
"/home/",
|
|
24
|
+
"/private/",
|
|
25
|
+
"/Library/",
|
|
26
|
+
"/System/"
|
|
27
|
+
].some((p) => normalizedPath === p.slice(0, -1) || normalizedPath.startsWith(p)))
|
|
28
|
+
return !1;
|
|
29
|
+
}
|
|
30
|
+
if (/^[a-z]:/i.test(normalizedPath)) {
|
|
31
|
+
if ([
|
|
32
|
+
"Windows/",
|
|
33
|
+
"Windows\\",
|
|
34
|
+
"System32/",
|
|
35
|
+
"System32\\",
|
|
36
|
+
"Program Files/",
|
|
37
|
+
"Program Files\\"
|
|
38
|
+
].some((p) => normalizedPath.includes(p)))
|
|
39
|
+
return !1;
|
|
40
|
+
}
|
|
41
|
+
if (allowedDir) {
|
|
42
|
+
const resolvedPath = path.resolve(allowedDir, filePath), normalizedAllowedDir = path.resolve(allowedDir);
|
|
43
|
+
if (!resolvedPath.startsWith(normalizedAllowedDir + path.sep) && resolvedPath !== normalizedAllowedDir)
|
|
44
|
+
return !1;
|
|
45
|
+
}
|
|
46
|
+
return !0;
|
|
47
|
+
},
|
|
48
|
+
isValidVariableName(name) {
|
|
49
|
+
return /^[a-z_$]\w*$/i.test(name);
|
|
50
|
+
},
|
|
51
|
+
isValidDirectiveName(name) {
|
|
52
|
+
return /^[a-z][\w-]*$/i.test(name);
|
|
53
|
+
},
|
|
54
|
+
isSafeContent(content) {
|
|
55
|
+
return ![
|
|
56
|
+
/<script[^>]*>[\s\S]*?<\/script>/i,
|
|
57
|
+
/javascript:/i,
|
|
58
|
+
/data:text\/html/i,
|
|
59
|
+
/vbscript:/i,
|
|
60
|
+
/on\w+\s*=/i
|
|
61
|
+
].some((pattern) => pattern.test(content));
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
function escapeHtml(str) {
|
|
65
|
+
const htmlEntities = {
|
|
66
|
+
"&": "&",
|
|
67
|
+
"<": "<",
|
|
68
|
+
">": ">",
|
|
69
|
+
'"': """,
|
|
70
|
+
"'": "'"
|
|
71
|
+
};
|
|
72
|
+
return str.replace(/[&<>"']/g, (char) => htmlEntities[char] || char);
|
|
73
|
+
}
|
|
74
|
+
export function sanitizeDirectiveParam(param, options = {}) {
|
|
75
|
+
const {
|
|
76
|
+
allowHtml = !1,
|
|
77
|
+
maxLength = 1e4,
|
|
78
|
+
allowSpecialChars = !0,
|
|
79
|
+
customSanitizer
|
|
80
|
+
} = options, warnings = [];
|
|
81
|
+
let value = param, modified = !1;
|
|
82
|
+
if (customSanitizer) {
|
|
83
|
+
const customResult = customSanitizer(value);
|
|
84
|
+
if (customResult !== value) {
|
|
85
|
+
value = customResult;
|
|
86
|
+
modified = !0;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (value.includes("\x00")) {
|
|
90
|
+
value = value.replace(/\0/g, "");
|
|
91
|
+
modified = !0;
|
|
92
|
+
warnings.push("Null bytes removed from parameter");
|
|
93
|
+
}
|
|
94
|
+
if (value.length > maxLength) {
|
|
95
|
+
value = value.substring(0, maxLength);
|
|
96
|
+
modified = !0;
|
|
97
|
+
warnings.push(`Parameter truncated to ${maxLength} characters`);
|
|
98
|
+
}
|
|
99
|
+
if (!allowHtml && /<[^>]+>/.test(value)) {
|
|
100
|
+
value = escapeHtml(value);
|
|
101
|
+
modified = !0;
|
|
102
|
+
warnings.push("HTML content was escaped");
|
|
103
|
+
}
|
|
104
|
+
const dangerousPatterns = [
|
|
105
|
+
{ pattern: /javascript:/gi, replacement: "", name: "javascript: URI" },
|
|
106
|
+
{ pattern: /vbscript:/gi, replacement: "", name: "vbscript: URI" },
|
|
107
|
+
{ pattern: /data:text\/html/gi, replacement: "", name: "data:text/html URI" }
|
|
108
|
+
];
|
|
109
|
+
for (const { pattern, replacement, name } of dangerousPatterns)
|
|
110
|
+
if (pattern.test(value)) {
|
|
111
|
+
value = value.replace(pattern, replacement);
|
|
112
|
+
modified = !0;
|
|
113
|
+
warnings.push(`Removed ${name} from parameter`);
|
|
114
|
+
}
|
|
115
|
+
if (!allowSpecialChars) {
|
|
116
|
+
const originalValue = value;
|
|
117
|
+
value = value.split("").filter((char) => {
|
|
118
|
+
const code = char.charCodeAt(0);
|
|
119
|
+
return code >= 32 && code !== 127;
|
|
120
|
+
}).join("");
|
|
121
|
+
if (value !== originalValue) {
|
|
122
|
+
modified = !0;
|
|
123
|
+
warnings.push("Control characters removed");
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return { value, modified, warnings };
|
|
127
|
+
}
|
|
128
|
+
export function sanitizeFilePath(filePath, baseDir) {
|
|
129
|
+
let sanitized = filePath.replace(/\0/g, "");
|
|
130
|
+
sanitized = sanitized.replace(/\\/g, "/");
|
|
131
|
+
sanitized = sanitized.replace(/^[a-z][a-z0-9+.-]*:/i, "");
|
|
132
|
+
while (sanitized.includes("../") || sanitized.includes("./"))
|
|
133
|
+
sanitized = sanitized.replace(/\.\.\//g, "").replace(/\.\//g, "");
|
|
134
|
+
if (!validators.isValidFilePath(sanitized, baseDir))
|
|
135
|
+
return null;
|
|
136
|
+
return sanitized;
|
|
137
|
+
}
|
|
138
|
+
export function sanitizeExpression(expr) {
|
|
139
|
+
const warnings = [];
|
|
140
|
+
let value = expr.trim(), modified = value !== expr;
|
|
141
|
+
const dangerousExprPatterns = [
|
|
142
|
+
{ pattern: /\beval\s*\(/gi, name: "eval()" },
|
|
143
|
+
{ pattern: /\bFunction\s*\(/gi, name: "Function()" },
|
|
144
|
+
{ pattern: /\bsetTimeout\s*\(/gi, name: "setTimeout()" },
|
|
145
|
+
{ pattern: /\bsetInterval\s*\(/gi, name: "setInterval()" },
|
|
146
|
+
{ pattern: /\bimport\s*\(/gi, name: "dynamic import()" },
|
|
147
|
+
{ pattern: /\brequire\s*\(/gi, name: "require()" },
|
|
148
|
+
{ pattern: /\b__proto__\b/gi, name: "__proto__" },
|
|
149
|
+
{ pattern: /\bconstructor\b/gi, name: "constructor" },
|
|
150
|
+
{ pattern: /\bprototype\b/gi, name: "prototype" }
|
|
151
|
+
];
|
|
152
|
+
for (const { pattern, name } of dangerousExprPatterns)
|
|
153
|
+
if (pattern.test(value))
|
|
154
|
+
warnings.push(`Potentially dangerous pattern detected: ${name}`);
|
|
155
|
+
if (value.includes("\x00")) {
|
|
156
|
+
value = value.replace(/\0/g, "");
|
|
157
|
+
modified = !0;
|
|
158
|
+
warnings.push("Null bytes removed from expression");
|
|
159
|
+
}
|
|
160
|
+
return { value, modified, warnings };
|
|
161
|
+
}
|
|
162
|
+
export function sanitizeDirectiveParams(params, options = {}) {
|
|
163
|
+
return params.map((param) => sanitizeDirectiveParam(param, options));
|
|
164
|
+
}
|
|
165
|
+
export function sanitizeComponentProps(props) {
|
|
166
|
+
const sanitized = {};
|
|
167
|
+
for (const [key, value] of Object.entries(props)) {
|
|
168
|
+
if (!validators.isValidVariableName(key))
|
|
169
|
+
continue;
|
|
170
|
+
if (typeof value === "string") {
|
|
171
|
+
const result = sanitizeDirectiveParam(value);
|
|
172
|
+
sanitized[key] = result.value;
|
|
173
|
+
} else if (Array.isArray(value))
|
|
174
|
+
sanitized[key] = value.map((item) => typeof item === "string" ? sanitizeDirectiveParam(item).value : item);
|
|
175
|
+
else if (typeof value === "object" && value !== null)
|
|
176
|
+
sanitized[key] = sanitizeComponentProps(value);
|
|
177
|
+
else
|
|
178
|
+
sanitized[key] = value;
|
|
179
|
+
}
|
|
180
|
+
return sanitized;
|
|
181
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error Types and Classes
|
|
3
|
+
*
|
|
4
|
+
* Custom error classes for better error classification and handling.
|
|
5
|
+
*
|
|
6
|
+
* @module errors/types
|
|
7
|
+
*/
|
|
8
|
+
import type { ErrorCode } from './codes';
|
|
9
|
+
/**
|
|
10
|
+
* Error handling configuration
|
|
11
|
+
*/
|
|
12
|
+
export interface ErrorConfig {
|
|
13
|
+
/** Show relative paths instead of absolute (default: false) */
|
|
14
|
+
showRelativePaths: boolean;
|
|
15
|
+
/** Base directory for relative path calculation */
|
|
16
|
+
baseDir?: string;
|
|
17
|
+
/** Enable auto-recovery for common syntax errors (default: false in production) */
|
|
18
|
+
enableAutoRecovery: boolean;
|
|
19
|
+
/** Log warnings when auto-recovery is applied */
|
|
20
|
+
logRecoveryWarnings: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Configure error handling behavior
|
|
24
|
+
*/
|
|
25
|
+
export declare function configureErrorHandling(config: Partial<ErrorConfig>): void;
|
|
26
|
+
/**
|
|
27
|
+
* Get current error configuration
|
|
28
|
+
*/
|
|
29
|
+
export declare function getErrorConfig(): ErrorConfig;
|
|
30
|
+
/**
|
|
31
|
+
* Reset error configuration to defaults
|
|
32
|
+
*/
|
|
33
|
+
export declare function resetErrorConfig(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Format file path based on configuration
|
|
36
|
+
*/
|
|
37
|
+
export declare function formatFilePath(filePath: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Base STX error class
|
|
40
|
+
*/
|
|
41
|
+
export declare class StxError extends Error {
|
|
42
|
+
code: string;
|
|
43
|
+
filePath?: string | undefined;
|
|
44
|
+
line?: number | undefined;
|
|
45
|
+
column?: number | undefined;
|
|
46
|
+
context?: string | undefined;
|
|
47
|
+
/** Numeric error code for programmatic handling */
|
|
48
|
+
numericCode: ErrorCode;
|
|
49
|
+
constructor(message: string, code: string, filePath?: string | undefined, line?: number | undefined, column?: number | undefined, context?: string | undefined, numericCode?: ErrorCode);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Syntax error in template
|
|
53
|
+
*/
|
|
54
|
+
export declare class StxSyntaxError extends StxError {
|
|
55
|
+
constructor(message: string, filePath?: string, line?: number, column?: number, context?: string, numericCode?: ErrorCode);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Runtime error during template processing
|
|
59
|
+
*/
|
|
60
|
+
export declare class StxRuntimeError extends StxError {
|
|
61
|
+
constructor(message: string, filePath?: string, line?: number, column?: number, context?: string, numericCode?: ErrorCode);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Security-related error
|
|
65
|
+
*/
|
|
66
|
+
export declare class StxSecurityError extends StxError {
|
|
67
|
+
constructor(message: string, filePath?: string, line?: number, column?: number, context?: string, numericCode?: ErrorCode);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* File operation error
|
|
71
|
+
*/
|
|
72
|
+
export declare class StxFileError extends StxError {
|
|
73
|
+
constructor(message: string, filePath?: string, line?: number, column?: number, context?: string, numericCode?: ErrorCode);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Validation error - these are ALWAYS fatal and cannot be recovered from.
|
|
77
|
+
* Used for enforcing coding standards like prohibited DOM API usage.
|
|
78
|
+
*/
|
|
79
|
+
export declare class StxValidationError extends StxError {
|
|
80
|
+
/** Validation errors are always fatal and should never be caught/recovered */
|
|
81
|
+
readonly isFatal: boolean;
|
|
82
|
+
constructor(message: string, filePath?: string, line?: number, column?: number, context?: string, numericCode?: ErrorCode);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Error context information
|
|
86
|
+
*/
|
|
87
|
+
export interface ErrorContext {
|
|
88
|
+
filePath: string;
|
|
89
|
+
template: string;
|
|
90
|
+
offset: number;
|
|
91
|
+
match: string;
|
|
92
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { isDevelopment } from "../env.js";
|
|
3
|
+
import { ErrorCodes } from "./codes.js";
|
|
4
|
+
const defaultErrorConfig = {
|
|
5
|
+
showRelativePaths: !1,
|
|
6
|
+
enableAutoRecovery: isDevelopment(),
|
|
7
|
+
logRecoveryWarnings: !0
|
|
8
|
+
};
|
|
9
|
+
let currentErrorConfig = { ...defaultErrorConfig };
|
|
10
|
+
export function configureErrorHandling(config) {
|
|
11
|
+
currentErrorConfig = { ...currentErrorConfig, ...config };
|
|
12
|
+
}
|
|
13
|
+
export function getErrorConfig() {
|
|
14
|
+
return { ...currentErrorConfig };
|
|
15
|
+
}
|
|
16
|
+
export function resetErrorConfig() {
|
|
17
|
+
currentErrorConfig = { ...defaultErrorConfig };
|
|
18
|
+
}
|
|
19
|
+
export function formatFilePath(filePath) {
|
|
20
|
+
if (!currentErrorConfig.showRelativePaths || !filePath)
|
|
21
|
+
return filePath;
|
|
22
|
+
const baseDir = currentErrorConfig.baseDir || process.cwd();
|
|
23
|
+
try {
|
|
24
|
+
const relativePath = path.relative(baseDir, filePath);
|
|
25
|
+
return relativePath.startsWith("..") ? filePath : relativePath;
|
|
26
|
+
} catch {
|
|
27
|
+
return filePath;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export class StxError extends Error {
|
|
32
|
+
code;
|
|
33
|
+
filePath;
|
|
34
|
+
line;
|
|
35
|
+
column;
|
|
36
|
+
context;
|
|
37
|
+
numericCode;
|
|
38
|
+
constructor(message, code, filePath, line, column, context, numericCode) {
|
|
39
|
+
super(message);
|
|
40
|
+
this.code = code;
|
|
41
|
+
this.filePath = filePath;
|
|
42
|
+
this.line = line;
|
|
43
|
+
this.column = column;
|
|
44
|
+
this.context = context;
|
|
45
|
+
this.name = "StxError";
|
|
46
|
+
this.numericCode = numericCode || ErrorCodes.EVALUATION_ERROR;
|
|
47
|
+
if (this.filePath)
|
|
48
|
+
this.filePath = formatFilePath(this.filePath);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export class StxSyntaxError extends StxError {
|
|
53
|
+
constructor(message, filePath, line, column, context, numericCode) {
|
|
54
|
+
super(message, "stx_SYNTAX_ERROR", filePath, line, column, context, numericCode || ErrorCodes.INVALID_DIRECTIVE_SYNTAX);
|
|
55
|
+
this.name = "StxSyntaxError";
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export class StxRuntimeError extends StxError {
|
|
60
|
+
constructor(message, filePath, line, column, context, numericCode) {
|
|
61
|
+
super(message, "stx_RUNTIME_ERROR", filePath, line, column, context, numericCode || ErrorCodes.EVALUATION_ERROR);
|
|
62
|
+
this.name = "StxRuntimeError";
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export class StxSecurityError extends StxError {
|
|
67
|
+
constructor(message, filePath, line, column, context, numericCode) {
|
|
68
|
+
super(message, "stx_SECURITY_ERROR", filePath, line, column, context, numericCode || ErrorCodes.UNSAFE_EXPRESSION);
|
|
69
|
+
this.name = "StxSecurityError";
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export class StxFileError extends StxError {
|
|
74
|
+
constructor(message, filePath, line, column, context, numericCode) {
|
|
75
|
+
super(message, "stx_FILE_ERROR", filePath, line, column, context, numericCode || ErrorCodes.FILE_NOT_FOUND);
|
|
76
|
+
this.name = "StxFileError";
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export class StxValidationError extends StxError {
|
|
81
|
+
isFatal = !0;
|
|
82
|
+
constructor(message, filePath, line, column, context, numericCode) {
|
|
83
|
+
super(message, "stx_VALIDATION_ERROR", filePath, line, column, context, numericCode || ErrorCodes.DOM_API_VIOLATION);
|
|
84
|
+
this.name = "StxValidationError";
|
|
85
|
+
}
|
|
86
|
+
}
|
package/dist/events.d.ts
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event Directives Module
|
|
3
|
+
*
|
|
4
|
+
* Provides Alpine.js-style event handling for STX templates.
|
|
5
|
+
* Transforms `@click`, `@keydown.enter`, etc. into client-side event listeners.
|
|
6
|
+
*
|
|
7
|
+
* ## Supported Syntax
|
|
8
|
+
*
|
|
9
|
+
* ### Basic Events
|
|
10
|
+
* ```html
|
|
11
|
+
* <button @click="count++">Increment</button>
|
|
12
|
+
* <button @click="handleClick()">Click me</button>
|
|
13
|
+
* <form @submit="handleSubmit()">...</form>
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* ### Event Modifiers
|
|
17
|
+
* ```html
|
|
18
|
+
* <form @submit.prevent="handleSubmit()">...</form>
|
|
19
|
+
* <a @click.prevent.stop="navigate()">Link</a>
|
|
20
|
+
* <button @click.once="initialize()">Init</button>
|
|
21
|
+
* <div @click.self="onlyThis()">...</div>
|
|
22
|
+
* <input @keydown.capture="log()">
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* ### Key Modifiers
|
|
26
|
+
* ```html
|
|
27
|
+
* <input @keydown.enter="submit()">
|
|
28
|
+
* <input @keyup.escape="cancel()">
|
|
29
|
+
* <input @keydown.space="toggle()">
|
|
30
|
+
* <input @keydown.ctrl.s="save()">
|
|
31
|
+
* <input @keydown.meta.enter="send()">
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* ### Mouse Modifiers
|
|
35
|
+
* ```html
|
|
36
|
+
* <div @click.left="handleLeft()">
|
|
37
|
+
* <div @click.right="handleRight()">
|
|
38
|
+
* <div @click.middle="handleMiddle()">
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* ### Special Variables
|
|
42
|
+
* ```html
|
|
43
|
+
* <input @input="value = $event.target.value">
|
|
44
|
+
* <button @click="handleClick($el)">Uses element</button>
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @module events
|
|
48
|
+
*/
|
|
49
|
+
export interface ParsedEvent {
|
|
50
|
+
/** Original attribute string (e.g., "@click.prevent") */
|
|
51
|
+
attribute: string;
|
|
52
|
+
/** Event name (e.g., "click", "keydown") */
|
|
53
|
+
event: string;
|
|
54
|
+
/** Handler expression (e.g., "count++", "handleClick()") */
|
|
55
|
+
handler: string;
|
|
56
|
+
/** Event modifiers */
|
|
57
|
+
modifiers: EventModifiers;
|
|
58
|
+
/** Unique element ID for binding */
|
|
59
|
+
elementId: string;
|
|
60
|
+
}
|
|
61
|
+
export interface EventModifiers {
|
|
62
|
+
/** Call preventDefault() */
|
|
63
|
+
prevent: boolean;
|
|
64
|
+
/** Call stopPropagation() */
|
|
65
|
+
stop: boolean;
|
|
66
|
+
/** Only fire once */
|
|
67
|
+
once: boolean;
|
|
68
|
+
/** Use capture mode */
|
|
69
|
+
capture: boolean;
|
|
70
|
+
/** Only fire if event.target === element */
|
|
71
|
+
self: boolean;
|
|
72
|
+
/** Passive event listener */
|
|
73
|
+
passive: boolean;
|
|
74
|
+
/** Key modifiers (enter, escape, space, etc.) */
|
|
75
|
+
keys: string[];
|
|
76
|
+
/** System modifiers (ctrl, alt, shift, meta) */
|
|
77
|
+
systemKeys: string[];
|
|
78
|
+
/** Mouse button (left, right, middle) */
|
|
79
|
+
mouse: string | null;
|
|
80
|
+
/** Debounce delay in ms */
|
|
81
|
+
debounce: number | null;
|
|
82
|
+
/** Throttle delay in ms */
|
|
83
|
+
throttle: number | null;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* `@click="doThing"` names a function, so it must be INVOKED — not evaluated.
|
|
87
|
+
*
|
|
88
|
+
* The declarative runtime learned this in #1695: without it the expression falls
|
|
89
|
+
* through to a generic `new Function` and runs as a discarded identifier
|
|
90
|
+
* statement, so the click silently does nothing. Every IMPERATIVE binding path
|
|
91
|
+
* still evaluated it, in three separate places — the inline `else` branch
|
|
92
|
+
* emitted by client-script.ts, the `__stx_runHandler` fallback below, and
|
|
93
|
+
* `__stx_execute` in the x-data bridge — so the declarative path disagreed with
|
|
94
|
+
* all three (#1824).
|
|
95
|
+
*
|
|
96
|
+
* Normalising here, at emit time, rather than inside each of those runtimes:
|
|
97
|
+
* the handler text is already known when it is emitted, so one transform covers
|
|
98
|
+
* every path, and the rule stays out of the generated template literals.
|
|
99
|
+
*
|
|
100
|
+
* Restricted to a plain identifier, matching the runtime's own check exactly —
|
|
101
|
+
* a dotted path would require `obj` to exist before `typeof obj.fn` could be
|
|
102
|
+
* asked. The `_isSignal` exclusion is the runtime's too, and it matters because
|
|
103
|
+
* signals ARE functions: without it `@click="count"` would read the signal
|
|
104
|
+
* instead of doing nothing.
|
|
105
|
+
*/
|
|
106
|
+
export declare function asInvocableStatement(handler: string): string;
|
|
107
|
+
/**
|
|
108
|
+
* Generate the complete runtime script
|
|
109
|
+
*/
|
|
110
|
+
export declare function generateRuntimeScript(events: ParsedEvent[]): string;
|
|
111
|
+
/**
|
|
112
|
+
* Extract and process event attributes from a template without generating
|
|
113
|
+
* a standalone script. Returns the modified template (with @event attributes
|
|
114
|
+
* removed and IDs added) and the collected event bindings as data.
|
|
115
|
+
*
|
|
116
|
+
* Used by SFC processing to inject event bindings into the component's
|
|
117
|
+
* <script client> scope instead of a separate script block.
|
|
118
|
+
*
|
|
119
|
+
* @param template - The HTML template string
|
|
120
|
+
* @returns Object with processed template and collected bindings
|
|
121
|
+
*/
|
|
122
|
+
export declare function extractAndProcessEvents(template: string): {
|
|
123
|
+
template: string;
|
|
124
|
+
bindings: ParsedEvent[];
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Process event directives in a template.
|
|
128
|
+
*
|
|
129
|
+
* Transforms `@click`, `@keydown.enter`, etc. attributes into
|
|
130
|
+
* client-side event listeners.
|
|
131
|
+
*
|
|
132
|
+
* In SFC mode (context.__stx_sfc_mode), event bindings are collected
|
|
133
|
+
* on context.__stx_event_bindings instead of generating a standalone script.
|
|
134
|
+
* This allows them to be injected into the component's <script client> scope.
|
|
135
|
+
*
|
|
136
|
+
* @param template - The HTML template string
|
|
137
|
+
* @param context - Template context
|
|
138
|
+
* @param filePath - Source file path for error messages
|
|
139
|
+
* @returns Processed template with event binding script (or just template in SFC mode)
|
|
140
|
+
*/
|
|
141
|
+
export declare function processEventDirectives(template: string, context: Record<string, unknown>, _filePath: string): string;
|
|
142
|
+
/**
|
|
143
|
+
* Check if a template contains event directives
|
|
144
|
+
*/
|
|
145
|
+
export declare function hasEventDirectives(template: string): boolean;
|