@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
package/dist/events.js
ADDED
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
import { templateHasReactiveContext } from "./runtime-globals.js";
|
|
2
|
+
const DOM_EVENTS = new Set([
|
|
3
|
+
"click",
|
|
4
|
+
"dblclick",
|
|
5
|
+
"mousedown",
|
|
6
|
+
"mouseup",
|
|
7
|
+
"mousemove",
|
|
8
|
+
"mouseenter",
|
|
9
|
+
"mouseleave",
|
|
10
|
+
"mouseover",
|
|
11
|
+
"mouseout",
|
|
12
|
+
"contextmenu",
|
|
13
|
+
"wheel",
|
|
14
|
+
"keydown",
|
|
15
|
+
"keyup",
|
|
16
|
+
"keypress",
|
|
17
|
+
"submit",
|
|
18
|
+
"reset",
|
|
19
|
+
"change",
|
|
20
|
+
"input",
|
|
21
|
+
"focus",
|
|
22
|
+
"blur",
|
|
23
|
+
"focusin",
|
|
24
|
+
"focusout",
|
|
25
|
+
"select",
|
|
26
|
+
"invalid",
|
|
27
|
+
"touchstart",
|
|
28
|
+
"touchend",
|
|
29
|
+
"touchmove",
|
|
30
|
+
"touchcancel",
|
|
31
|
+
"drag",
|
|
32
|
+
"dragstart",
|
|
33
|
+
"dragend",
|
|
34
|
+
"dragenter",
|
|
35
|
+
"dragleave",
|
|
36
|
+
"dragover",
|
|
37
|
+
"drop",
|
|
38
|
+
"scroll",
|
|
39
|
+
"resize",
|
|
40
|
+
"load",
|
|
41
|
+
"error",
|
|
42
|
+
"abort",
|
|
43
|
+
"animationstart",
|
|
44
|
+
"animationend",
|
|
45
|
+
"animationiteration",
|
|
46
|
+
"transitionstart",
|
|
47
|
+
"transitionend",
|
|
48
|
+
"transitionrun",
|
|
49
|
+
"transitioncancel",
|
|
50
|
+
"mounted",
|
|
51
|
+
"unmounted"
|
|
52
|
+
]), KEY_ALIASES = {
|
|
53
|
+
enter: "Enter",
|
|
54
|
+
tab: "Tab",
|
|
55
|
+
delete: "Delete",
|
|
56
|
+
backspace: "Backspace",
|
|
57
|
+
esc: "Escape",
|
|
58
|
+
escape: "Escape",
|
|
59
|
+
space: " ",
|
|
60
|
+
up: "ArrowUp",
|
|
61
|
+
down: "ArrowDown",
|
|
62
|
+
left: "ArrowLeft",
|
|
63
|
+
right: "ArrowRight",
|
|
64
|
+
home: "Home",
|
|
65
|
+
end: "End",
|
|
66
|
+
pageup: "PageUp",
|
|
67
|
+
pagedown: "PageDown"
|
|
68
|
+
}, SYSTEM_KEYS = new Set(["ctrl", "alt", "shift", "meta"]), MOUSE_BUTTONS = {
|
|
69
|
+
left: 0,
|
|
70
|
+
middle: 1,
|
|
71
|
+
right: 2
|
|
72
|
+
};
|
|
73
|
+
function parseModifiers(parts) {
|
|
74
|
+
const modifiers = {
|
|
75
|
+
prevent: !1,
|
|
76
|
+
stop: !1,
|
|
77
|
+
once: !1,
|
|
78
|
+
capture: !1,
|
|
79
|
+
self: !1,
|
|
80
|
+
passive: !1,
|
|
81
|
+
keys: [],
|
|
82
|
+
systemKeys: [],
|
|
83
|
+
mouse: null,
|
|
84
|
+
debounce: null,
|
|
85
|
+
throttle: null
|
|
86
|
+
};
|
|
87
|
+
for (const part of parts) {
|
|
88
|
+
const lowerPart = part.toLowerCase();
|
|
89
|
+
if (lowerPart === "prevent")
|
|
90
|
+
modifiers.prevent = !0;
|
|
91
|
+
else if (lowerPart === "stop")
|
|
92
|
+
modifiers.stop = !0;
|
|
93
|
+
else if (lowerPart === "once")
|
|
94
|
+
modifiers.once = !0;
|
|
95
|
+
else if (lowerPart === "capture")
|
|
96
|
+
modifiers.capture = !0;
|
|
97
|
+
else if (lowerPart === "self")
|
|
98
|
+
modifiers.self = !0;
|
|
99
|
+
else if (lowerPart === "passive")
|
|
100
|
+
modifiers.passive = !0;
|
|
101
|
+
else if (SYSTEM_KEYS.has(lowerPart))
|
|
102
|
+
modifiers.systemKeys.push(lowerPart);
|
|
103
|
+
else if (lowerPart in MOUSE_BUTTONS)
|
|
104
|
+
modifiers.mouse = lowerPart;
|
|
105
|
+
else if (lowerPart in KEY_ALIASES || /^[a-z]$/.test(lowerPart))
|
|
106
|
+
modifiers.keys.push(KEY_ALIASES[lowerPart] || lowerPart.toUpperCase());
|
|
107
|
+
else if (lowerPart.startsWith("debounce")) {
|
|
108
|
+
const match = lowerPart.match(/debounce(?:\.(\d+))?/);
|
|
109
|
+
modifiers.debounce = match?.[1] ? Number.parseInt(match[1], 10) : 300;
|
|
110
|
+
} else if (lowerPart.startsWith("throttle")) {
|
|
111
|
+
const match = lowerPart.match(/throttle(?:\.(\d+))?/);
|
|
112
|
+
modifiers.throttle = match?.[1] ? Number.parseInt(match[1], 10) : 300;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return modifiers;
|
|
116
|
+
}
|
|
117
|
+
function findElementsWithEvents(template) {
|
|
118
|
+
const elements = [];
|
|
119
|
+
let idCounter = 0;
|
|
120
|
+
const tagRegex = /<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi;
|
|
121
|
+
let match;
|
|
122
|
+
while ((match = tagRegex.exec(template)) !== null) {
|
|
123
|
+
const [fullMatch, _tagName, attributesStr] = match, startIndex = match.index, endIndex = startIndex + fullMatch.length, elementId = `__stx_evt_${idCounter++}`, events = [], doubleQuoteRegex = /@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi;
|
|
124
|
+
let attrMatch;
|
|
125
|
+
while ((attrMatch = doubleQuoteRegex.exec(attributesStr)) !== null) {
|
|
126
|
+
const [, eventWithModifiers, handler] = attrMatch, parts = eventWithModifiers.split("."), eventName = parts[0];
|
|
127
|
+
if (!DOM_EVENTS.has(eventName))
|
|
128
|
+
continue;
|
|
129
|
+
events.push({
|
|
130
|
+
attribute: `@${eventWithModifiers}`,
|
|
131
|
+
event: eventName,
|
|
132
|
+
handler,
|
|
133
|
+
modifiers: parseModifiers(parts.slice(1)),
|
|
134
|
+
elementId
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
const singleQuoteRegex = /@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;
|
|
138
|
+
while ((attrMatch = singleQuoteRegex.exec(attributesStr)) !== null) {
|
|
139
|
+
const [, eventWithModifiers, handler] = attrMatch, parts = eventWithModifiers.split("."), eventName = parts[0];
|
|
140
|
+
if (!DOM_EVENTS.has(eventName))
|
|
141
|
+
continue;
|
|
142
|
+
events.push({
|
|
143
|
+
attribute: `@${eventWithModifiers}`,
|
|
144
|
+
event: eventName,
|
|
145
|
+
handler,
|
|
146
|
+
modifiers: parseModifiers(parts.slice(1)),
|
|
147
|
+
elementId
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
if (events.length > 0)
|
|
151
|
+
elements.push({
|
|
152
|
+
originalTag: fullMatch,
|
|
153
|
+
elementId,
|
|
154
|
+
events,
|
|
155
|
+
startIndex,
|
|
156
|
+
endIndex
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
return elements;
|
|
160
|
+
}
|
|
161
|
+
function generateModifierChecks(event) {
|
|
162
|
+
const checks = [], { modifiers } = event;
|
|
163
|
+
if (modifiers.self)
|
|
164
|
+
checks.push("if ($event.target !== $el) return");
|
|
165
|
+
for (const key of modifiers.systemKeys)
|
|
166
|
+
checks.push(`if (!$event.${key}Key) return`);
|
|
167
|
+
if (modifiers.keys.length > 0) {
|
|
168
|
+
const keyChecks = modifiers.keys.map((k) => `$event.key === '${k}'`).join(" || ");
|
|
169
|
+
checks.push(`if (!(${keyChecks})) return`);
|
|
170
|
+
}
|
|
171
|
+
if (modifiers.mouse !== null) {
|
|
172
|
+
const button = MOUSE_BUTTONS[modifiers.mouse];
|
|
173
|
+
checks.push(`if ($event.button !== ${button}) return`);
|
|
174
|
+
}
|
|
175
|
+
if (modifiers.prevent)
|
|
176
|
+
checks.push("$event.preventDefault()");
|
|
177
|
+
if (modifiers.stop)
|
|
178
|
+
checks.push("$event.stopPropagation()");
|
|
179
|
+
return checks.join("; ");
|
|
180
|
+
}
|
|
181
|
+
function wrapHandler(handler, modifiers) {
|
|
182
|
+
let wrapped = handler;
|
|
183
|
+
if (modifiers.debounce !== null)
|
|
184
|
+
wrapped = `__stx_debounce(() => { ${wrapped} }, ${modifiers.debounce})`;
|
|
185
|
+
else if (modifiers.throttle !== null)
|
|
186
|
+
wrapped = `__stx_throttle(() => { ${wrapped} }, ${modifiers.throttle})`;
|
|
187
|
+
return wrapped;
|
|
188
|
+
}
|
|
189
|
+
export function asInvocableStatement(handler) {
|
|
190
|
+
const name = handler.trim();
|
|
191
|
+
if (!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(name))
|
|
192
|
+
return handler;
|
|
193
|
+
return `if (typeof ${name} === 'function' && !${name}._isSignal) ${name}($event);`;
|
|
194
|
+
}
|
|
195
|
+
function generateEventListener(event) {
|
|
196
|
+
const { modifiers } = event, elementId = event.elementId.replace(/\\/g, "\\\\").replace(/'/g, "\\'"), checks = generateModifierChecks(event), handler = wrapHandler(asInvocableStatement(event.handler), modifiers), options = [];
|
|
197
|
+
if (modifiers.once)
|
|
198
|
+
options.push("once: true");
|
|
199
|
+
if (modifiers.capture)
|
|
200
|
+
options.push("capture: true");
|
|
201
|
+
if (modifiers.passive)
|
|
202
|
+
options.push("passive: true");
|
|
203
|
+
const optionsStr = options.length > 0 ? `, { ${options.join(", ")} }` : "", escapedHandler = handler.replace(/\\/g, "\\\\").replace(/'/g, "\\'").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t");
|
|
204
|
+
if (event.event === "mounted")
|
|
205
|
+
return `
|
|
206
|
+
(function() {
|
|
207
|
+
var $el = document.getElementById('${elementId}');
|
|
208
|
+
if (!$el) return;
|
|
209
|
+
// Run mounted handler immediately (DOM is ready)
|
|
210
|
+
var scope = $el.closest('[data-stx-scope]');
|
|
211
|
+
if (scope && scope.__stx_execute) {
|
|
212
|
+
scope.__stx_execute('${escapedHandler}', null, $el);
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
__stx_runHandler('${escapedHandler}', null, $el);
|
|
216
|
+
}
|
|
217
|
+
})();`;
|
|
218
|
+
if (event.event === "unmounted")
|
|
219
|
+
return `
|
|
220
|
+
(function() {
|
|
221
|
+
var $el = document.getElementById('${elementId}');
|
|
222
|
+
if (!$el) return;
|
|
223
|
+
// Set up MutationObserver to detect removal
|
|
224
|
+
var observer = new MutationObserver(function(mutations) {
|
|
225
|
+
for (var m of mutations) {
|
|
226
|
+
for (var node of m.removedNodes) {
|
|
227
|
+
if (node === $el || (node.contains && node.contains($el))) {
|
|
228
|
+
observer.disconnect();
|
|
229
|
+
var scope = $el.closest('[data-stx-scope]');
|
|
230
|
+
if (scope && scope.__stx_execute) {
|
|
231
|
+
scope.__stx_execute('${escapedHandler}', null, $el);
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
__stx_runHandler('${escapedHandler}', null, $el);
|
|
235
|
+
}
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
observer.observe(document.body, { childList: true, subtree: true });
|
|
242
|
+
// Store observer for cleanup
|
|
243
|
+
$el.__stx_unmount_observer = observer;
|
|
244
|
+
})();`;
|
|
245
|
+
return `
|
|
246
|
+
(function() {
|
|
247
|
+
var $el = document.getElementById('${elementId}');
|
|
248
|
+
if (!$el) return;
|
|
249
|
+
// eslint-disable-next-line pickier/no-unused-vars
|
|
250
|
+
$el.addEventListener('${event.event}', function($event) {
|
|
251
|
+
${checks ? checks + ";" : ""}
|
|
252
|
+
// Find the closest reactive scope and execute within its context
|
|
253
|
+
var scope = $el.closest('[data-stx-scope]');
|
|
254
|
+
if (scope && scope.__stx_execute) {
|
|
255
|
+
scope.__stx_execute('${escapedHandler}', $event, $el);
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
// Fallback for non-reactive context (entity-safe; decoded + run in memory)
|
|
259
|
+
__stx_runHandler('${escapedHandler}', $event, $el);
|
|
260
|
+
}
|
|
261
|
+
}${optionsStr});
|
|
262
|
+
})();`;
|
|
263
|
+
}
|
|
264
|
+
export function generateRuntimeScript(events) {
|
|
265
|
+
if (events.length === 0)
|
|
266
|
+
return "";
|
|
267
|
+
return `
|
|
268
|
+
<script data-stx-events>
|
|
269
|
+
(function() {
|
|
270
|
+
'use strict';
|
|
271
|
+
|
|
272
|
+
// Utility functions
|
|
273
|
+
function __stx_debounce(fn, delay) {
|
|
274
|
+
var timeout;
|
|
275
|
+
return function() {
|
|
276
|
+
var args = arguments;
|
|
277
|
+
var ctx = this;
|
|
278
|
+
clearTimeout(timeout);
|
|
279
|
+
timeout = setTimeout(function() { fn.apply(ctx, args); }, delay);
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
function __stx_throttle(fn, delay) {
|
|
284
|
+
var last = 0;
|
|
285
|
+
return function() {
|
|
286
|
+
var now = Date.now();
|
|
287
|
+
if (now - last >= delay) {
|
|
288
|
+
last = now;
|
|
289
|
+
fn.apply(this, arguments);
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
// Non-reactive fallback runner. The handler is embedded HTML-entity-encoded
|
|
295
|
+
// so the surrounding script element can never contain raw markup, including
|
|
296
|
+
// its own closing tag; we decode it to JS only in memory here, then run it
|
|
297
|
+
// with $event/$el in scope.
|
|
298
|
+
//
|
|
299
|
+
// This comment must not spell that closing tag out. It used to, as an
|
|
300
|
+
// example, and a browser ends the script element at the FIRST one it sees \u2014
|
|
301
|
+
// so everything below this line, __stx_runHandler included, was emitted as
|
|
302
|
+
// page text and no listener was ever bound. The comment about escaping was
|
|
303
|
+
// the thing that needed escaping.
|
|
304
|
+
function __stx_runHandler(h, $event, $el) {
|
|
305
|
+
var code = h
|
|
306
|
+
.replace(/</g, '<')
|
|
307
|
+
.replace(/>/g, '>')
|
|
308
|
+
.replace(/"/g, '"')
|
|
309
|
+
.replace(/'/g, "'")
|
|
310
|
+
.replace(/'/g, "'")
|
|
311
|
+
.replace(/&/g, '&');
|
|
312
|
+
try {
|
|
313
|
+
// eslint-disable-next-line no-new-func
|
|
314
|
+
(new Function('$event', '$el', code)).call($el, $event, $el);
|
|
315
|
+
}
|
|
316
|
+
catch (e) {
|
|
317
|
+
if (typeof console !== 'undefined') console.error('[stx] event handler error:', e);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
// Event listeners
|
|
322
|
+
${events.map(generateEventListener).join(`
|
|
323
|
+
`)}
|
|
324
|
+
})();
|
|
325
|
+
</script>`;
|
|
326
|
+
}
|
|
327
|
+
export function extractAndProcessEvents(template) {
|
|
328
|
+
const elements = findElementsWithEvents(template);
|
|
329
|
+
if (elements.length === 0)
|
|
330
|
+
return { template, bindings: [] };
|
|
331
|
+
let output = template;
|
|
332
|
+
const allBindings = [];
|
|
333
|
+
for (let i = elements.length - 1;i >= 0; i--) {
|
|
334
|
+
const element = elements[i];
|
|
335
|
+
let newTag = element.originalTag;
|
|
336
|
+
if (!newTag.includes(" id="))
|
|
337
|
+
newTag = newTag.replace(/^<([a-z][a-z0-9-]*)/, `<$1 id="${element.elementId}"`);
|
|
338
|
+
else {
|
|
339
|
+
const idMatch = newTag.match(/id=["']([^"']+)["']/);
|
|
340
|
+
if (idMatch)
|
|
341
|
+
for (const evt of element.events)
|
|
342
|
+
evt.elementId = idMatch[1];
|
|
343
|
+
}
|
|
344
|
+
for (const evt of element.events) {
|
|
345
|
+
const escapedAttr = evt.attribute.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), doubleQuotePattern = new RegExp(`\\s*${escapedAttr}\\s*=\\s*"[^"]*"`, "g"), singleQuotePattern = new RegExp(`\\s*${escapedAttr}\\s*=\\s*'[^']*'`, "g");
|
|
346
|
+
newTag = newTag.replace(doubleQuotePattern, "");
|
|
347
|
+
newTag = newTag.replace(singleQuotePattern, "");
|
|
348
|
+
}
|
|
349
|
+
output = output.slice(0, element.startIndex) + newTag + output.slice(element.endIndex);
|
|
350
|
+
allBindings.push(...element.events);
|
|
351
|
+
}
|
|
352
|
+
return { template: output, bindings: allBindings };
|
|
353
|
+
}
|
|
354
|
+
export function processEventDirectives(template, context, _filePath) {
|
|
355
|
+
if (templateHasReactiveContext(template))
|
|
356
|
+
return template;
|
|
357
|
+
if (context.__stx_sfc_mode) {
|
|
358
|
+
if (/x-data\s*=\s*["']/.test(template))
|
|
359
|
+
return template;
|
|
360
|
+
const { template: processed, bindings } = extractAndProcessEvents(template), existing = context.__stx_event_bindings || [];
|
|
361
|
+
context.__stx_event_bindings = [...existing, ...bindings];
|
|
362
|
+
return processed;
|
|
363
|
+
}
|
|
364
|
+
const elements = findElementsWithEvents(template);
|
|
365
|
+
if (elements.length === 0)
|
|
366
|
+
return template;
|
|
367
|
+
let output = template;
|
|
368
|
+
for (let i = elements.length - 1;i >= 0; i--) {
|
|
369
|
+
const element = elements[i];
|
|
370
|
+
let newTag = element.originalTag;
|
|
371
|
+
if (!newTag.includes(" id="))
|
|
372
|
+
newTag = newTag.replace(/^<([a-z][a-z0-9-]*)/, `<$1 id="${element.elementId}"`);
|
|
373
|
+
else {
|
|
374
|
+
const idMatch = newTag.match(/id=["']([^"']+)["']/);
|
|
375
|
+
if (idMatch)
|
|
376
|
+
for (const evt of element.events)
|
|
377
|
+
evt.elementId = idMatch[1];
|
|
378
|
+
}
|
|
379
|
+
for (const evt of element.events) {
|
|
380
|
+
const escapedAttr = evt.attribute.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), doubleQuotePattern = new RegExp(`\\s*${escapedAttr}\\s*=\\s*"[^"]*"`, "g"), singleQuotePattern = new RegExp(`\\s*${escapedAttr}\\s*=\\s*'[^']*'`, "g");
|
|
381
|
+
newTag = newTag.replace(doubleQuotePattern, "");
|
|
382
|
+
newTag = newTag.replace(singleQuotePattern, "");
|
|
383
|
+
}
|
|
384
|
+
output = output.slice(0, element.startIndex) + newTag + output.slice(element.endIndex);
|
|
385
|
+
}
|
|
386
|
+
const script = generateRuntimeScript(elements.flatMap((el) => el.events)), bodyIdx = output.lastIndexOf("</body>");
|
|
387
|
+
if (bodyIdx !== -1)
|
|
388
|
+
output = output.slice(0, bodyIdx) + script + `
|
|
389
|
+
` + output.slice(bodyIdx);
|
|
390
|
+
else
|
|
391
|
+
output += script;
|
|
392
|
+
return output;
|
|
393
|
+
}
|
|
394
|
+
export function hasEventDirectives(template) {
|
|
395
|
+
return /@[a-z]+(?:\.[a-z]+)*\s*=\s*["'][^"']*["']/i.test(template);
|
|
396
|
+
}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module for processing template expressions and filters
|
|
3
|
+
*
|
|
4
|
+
* Expression Syntax:
|
|
5
|
+
* ==================
|
|
6
|
+
* - `{{ expression }}` - Escaped output (HTML entities escaped)
|
|
7
|
+
* - `{!! expression !!}` - Raw/unescaped output
|
|
8
|
+
* - `{{ expression | filter }}` - Apply filter to expression
|
|
9
|
+
* - `{{ expression | filter:arg1,arg2 }}` - Filter with arguments
|
|
10
|
+
* - `{{ expression | filter1 | filter2 }}` - Filter chain
|
|
11
|
+
*
|
|
12
|
+
* Filter Parsing:
|
|
13
|
+
* ===============
|
|
14
|
+
* The filter parser uses character-by-character parsing to handle:
|
|
15
|
+
* - Pipe `|` as filter separator (but not `||` logical OR)
|
|
16
|
+
* - Colon `:` as argument separator
|
|
17
|
+
* - Quoted strings with proper escape handling
|
|
18
|
+
* - Nested parentheses in expressions
|
|
19
|
+
*
|
|
20
|
+
* Key parsing rules:
|
|
21
|
+
* - `||` (double pipe) is preserved as logical OR, not filter separator
|
|
22
|
+
* - Arguments after `:` are split by `,` respecting quotes and parens
|
|
23
|
+
* - Filter names must be alphanumeric with underscores
|
|
24
|
+
*
|
|
25
|
+
* Available Built-in Filters:
|
|
26
|
+
* ===========================
|
|
27
|
+
* String: uppercase, lowercase, capitalize, truncate, replace, stripTags
|
|
28
|
+
* Number: number, currency, abs, round
|
|
29
|
+
* Array: join, first, last, length, reverse, slice
|
|
30
|
+
* Utility: escape, json, default, urlencode
|
|
31
|
+
* i18n: translate, pluralize, date
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* Add basic filter support to expressions
|
|
35
|
+
* Filter functions receive the value to transform, optional args, and the context object
|
|
36
|
+
*/
|
|
37
|
+
export type FilterFunction = (value: any, context: Record<string, any>, ...args: any[]) => any;
|
|
38
|
+
export declare const defaultFilters: Record<string, FilterFunction>;
|
|
39
|
+
/**
|
|
40
|
+
* Register a custom filter
|
|
41
|
+
*
|
|
42
|
+
* @param name - Filter name (used in templates as {{ value | filterName }})
|
|
43
|
+
* @param fn - Filter function
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* // Register a custom filter
|
|
48
|
+
* registerFilter('reverse', (value) => {
|
|
49
|
+
* return String(value).split('').reverse().join('')
|
|
50
|
+
* })
|
|
51
|
+
*
|
|
52
|
+
* // Use in template: {{ name | reverse }}
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare function registerFilter(name: string, fn: FilterFunction): void;
|
|
56
|
+
/**
|
|
57
|
+
* Register multiple custom filters at once
|
|
58
|
+
*
|
|
59
|
+
* @param filters - Object mapping filter names to functions
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* registerFilters({
|
|
64
|
+
* reverse: (value) => String(value).split('').reverse().join(''),
|
|
65
|
+
* double: (value) => Number(value) * 2,
|
|
66
|
+
* })
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export declare function registerFilters(filters: Record<string, FilterFunction>): void;
|
|
70
|
+
/**
|
|
71
|
+
* Get all available filters (built-in + custom)
|
|
72
|
+
*/
|
|
73
|
+
export declare function getAllFilters(): Record<string, FilterFunction>;
|
|
74
|
+
/**
|
|
75
|
+
* Clear all custom filters (useful for testing)
|
|
76
|
+
*/
|
|
77
|
+
export declare function clearCustomFilters(): void;
|
|
78
|
+
/**
|
|
79
|
+
* HTML escape function to prevent XSS
|
|
80
|
+
*/
|
|
81
|
+
export declare function escapeHtml(unsafe: string): string;
|
|
82
|
+
/**
|
|
83
|
+
* Escape a *value* for HTML output: the markup characters, and the template's
|
|
84
|
+
* own syntax with them.
|
|
85
|
+
*
|
|
86
|
+
* **A value is data, never a template.** The pipeline runs more than one
|
|
87
|
+
* expression pass over composed output - a loop body is processed per
|
|
88
|
+
* iteration and the finished page again, a section is spliced into its layout,
|
|
89
|
+
* an include into its parent - so whatever one pass emits, the next one reads.
|
|
90
|
+
* Without neutralising the opening braces here, a value of `{{ secret }}` is
|
|
91
|
+
* evaluated against the page's own scope on the second pass, and every field a
|
|
92
|
+
* person can type into becomes server-side template injection: a repository
|
|
93
|
+
* description, an issue title, a branch name.
|
|
94
|
+
*
|
|
95
|
+
* Reproduced in a real application before this existed: a description of
|
|
96
|
+
* `probe {{ 6*7 }} here` rendered as `probe 42 here`, and one of
|
|
97
|
+
* `{{ ownerHandle }}` printed the view's own local variable.
|
|
98
|
+
*
|
|
99
|
+
* **Only a brace that opens template syntax is encoded** - a run of `{`, or a
|
|
100
|
+
* `{` before `!`. A lone brace is left exactly as it was, so a JSON value, a
|
|
101
|
+
* CSS snippet, or prose about `{` renders byte for byte as it always did; this
|
|
102
|
+
* is a security fix and it should not rewrite everybody's output as the price.
|
|
103
|
+
*
|
|
104
|
+
* Character references rather than sentinel tokens, so there is nothing to
|
|
105
|
+
* restore afterwards and no code path that can leak a placeholder into a page.
|
|
106
|
+
* The DOM is unaffected: a reader sees `{{ secret }}`, an attribute parses back
|
|
107
|
+
* to `{`, and `JSON.parse` of a data attribute still works, because the browser
|
|
108
|
+
* decodes references before anything reads them.
|
|
109
|
+
*/
|
|
110
|
+
export declare function escapeHtmlValue(unsafe: string): string;
|
|
111
|
+
/**
|
|
112
|
+
* Check if a template uses signals (state, derived, effect) in its script blocks
|
|
113
|
+
* or has reactive attributes (@if, @for) with function call expressions
|
|
114
|
+
*
|
|
115
|
+
* `filePath` lets a script that factors its signals into an imported module be
|
|
116
|
+
* recognised too. Without it the scan is text-only, which is what every caller
|
|
117
|
+
* did before and is still correct for a script that declares its own signals.
|
|
118
|
+
*/
|
|
119
|
+
export declare function usesSignalsInScript(template: string, filePath?: string): boolean;
|
|
120
|
+
export declare function interpolateScriptExpressions(scriptBody: string, context: Record<string, any>): string;
|
|
121
|
+
/**
|
|
122
|
+
* Interpolate expressions in a `<script>` tag's ATTRIBUTES.
|
|
123
|
+
*
|
|
124
|
+
* Attributes are HTML, not JavaScript, so they get HTML rules rather than the
|
|
125
|
+
* JSON-stringifying rules {@link interpolateScriptExpressions} applies to a
|
|
126
|
+
* body: `data-id="{{ id }}"` must become `data-id="7"`, never `data-id=""7""`.
|
|
127
|
+
*
|
|
128
|
+
* This is the only channel a module island has for server data. A module
|
|
129
|
+
* script is emitted verbatim — no IIFE, no server-data bridge — so
|
|
130
|
+
* `<script type="module" data-session="{{ id }}">` was the documented way to
|
|
131
|
+
* pass a value in, and it shipped the literal text `{{ id }}` to the browser.
|
|
132
|
+
* The failure is silent: the markup looks right, and only the code reading
|
|
133
|
+
* `dataset.session` sees a mustache.
|
|
134
|
+
*
|
|
135
|
+
* Unresolvable expressions are left untouched, matching the "preserve for the
|
|
136
|
+
* client" semantics used everywhere else.
|
|
137
|
+
*/
|
|
138
|
+
export declare function interpolateScriptAttributes(attrs: string, context: Record<string, any>): string;
|
|
139
|
+
/**
|
|
140
|
+
* Options for {@link interpolateScriptsInTemplate}.
|
|
141
|
+
*/
|
|
142
|
+
export interface InterpolateScriptsOptions {
|
|
143
|
+
/**
|
|
144
|
+
* Skip `<script server>` tags. Useful when the template still contains
|
|
145
|
+
* unstripped server scripts (e.g. inside `processDirectives`) whose bodies
|
|
146
|
+
* are executed rather than embedded — running `{{ }}` substitution on
|
|
147
|
+
* them would produce invalid JS. Default: `false`.
|
|
148
|
+
*/
|
|
149
|
+
skipServer?: boolean;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Interpolate server expressions inside every `<script>` tag in a template,
|
|
153
|
+
* skipping any script that opts out via `data-raw`, `type="application/json"`,
|
|
154
|
+
* or a `src=` attribute (external scripts don't have inline content to template).
|
|
155
|
+
*
|
|
156
|
+
* Each matched script has its body passed through {@link interpolateScriptExpressions}
|
|
157
|
+
* and its attributes through {@link interpolateScriptAttributes}. Tag structure
|
|
158
|
+
* is otherwise untouched.
|
|
159
|
+
*/
|
|
160
|
+
export declare function interpolateScriptsInTemplate(template: string, context: Record<string, any>, options?: InterpolateScriptsOptions): string;
|
|
161
|
+
/**
|
|
162
|
+
* Process template expressions including variables, filters, and operations
|
|
163
|
+
*/
|
|
164
|
+
export declare function processExpressions(template: string, context: Record<string, any>, filePath: string): string;
|
|
165
|
+
/**
|
|
166
|
+
* Apply filters to a value
|
|
167
|
+
*/
|
|
168
|
+
export declare function applyFilters(value: any, filterExpression: string, context: Record<string, any>): any;
|
|
169
|
+
/**
|
|
170
|
+
* Evaluate an expression within the given context
|
|
171
|
+
* @param {string} expression - The expression to evaluate
|
|
172
|
+
* @param {Record<string, any>} context - The context object containing variables
|
|
173
|
+
* @param {boolean} silent - Whether to silently handle errors (return undefined) or throw
|
|
174
|
+
* @returns The evaluated result
|
|
175
|
+
*/
|
|
176
|
+
export declare function evaluateExpression(expression: string, context: Record<string, any>, silent?: boolean): any;
|
|
177
|
+
/**
|
|
178
|
+
* HTML unescape function to reverse escapeHtml
|
|
179
|
+
*/
|
|
180
|
+
export declare function unescapeHtml(html: string): string;
|