use-scroll-animate 10.2.0 → 10.4.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/AGENTS.md +4 -0
- package/CHANGELOG.md +35 -0
- package/README.md +67 -0
- package/bin/motionary-mcp.mjs +265 -0
- package/dist/chunks/anim-image-DDdb9q3X.js +166 -0
- package/dist/chunks/anim-image-DDdb9q3X.js.map +1 -0
- package/dist/chunks/anim-image-blQgPFFS.cjs +174 -0
- package/dist/chunks/anim-image-blQgPFFS.cjs.map +1 -0
- package/dist/chunks/audio-BpU-A1m1.cjs.map +1 -1
- package/dist/chunks/{audio-D95jwlOh.js → audio-CWt1xdZB.js} +3 -3
- package/dist/chunks/{audio-D95jwlOh.js.map → audio-CWt1xdZB.js.map} +1 -1
- package/dist/chunks/{base-BnRyfuyM.js → base-BTev8qxg.js} +2 -2
- package/dist/chunks/{base-BnRyfuyM.js.map → base-BTev8qxg.js.map} +1 -1
- package/dist/chunks/base-DBheNxJu.cjs.map +1 -1
- package/dist/chunks/bind-B_CTL6Qn.js.map +1 -1
- package/dist/chunks/bind-Ui43-n2d.cjs.map +1 -1
- package/dist/chunks/builtins-CKKZNR95.cjs.map +1 -1
- package/dist/chunks/{builtins-CqIq1zBv.js → builtins-CPmS6aDB.js} +3 -3
- package/dist/chunks/{builtins-CqIq1zBv.js.map → builtins-CPmS6aDB.js.map} +1 -1
- package/dist/chunks/core-B5T0dhFH.cjs.map +1 -1
- package/dist/chunks/{core-DsGoL9EY.js → core-BviA7nFa.js} +2 -2
- package/dist/chunks/{core-DsGoL9EY.js.map → core-BviA7nFa.js.map} +1 -1
- package/dist/chunks/core-D74Fz-dL.cjs.map +1 -1
- package/dist/chunks/core-D7cVumUu.js.map +1 -1
- package/dist/chunks/{core-XA2yhn1b.js → core-KiM7MXjL.js} +2 -2
- package/dist/chunks/{core-XA2yhn1b.js.map → core-KiM7MXjL.js.map} +1 -1
- package/dist/chunks/core-MQlXZKUG.cjs.map +1 -1
- package/dist/chunks/ease-HwYZnZat.cjs +94 -0
- package/dist/chunks/ease-HwYZnZat.cjs.map +1 -0
- package/dist/chunks/ease-XN8_0sXu.js +89 -0
- package/dist/chunks/ease-XN8_0sXu.js.map +1 -0
- package/dist/chunks/fx-B_pbhpDp.cjs.map +1 -1
- package/dist/chunks/{fx-CtnrFEg9.js → fx-CgWKqVsn.js} +2 -2
- package/dist/chunks/{fx-CtnrFEg9.js.map → fx-CgWKqVsn.js.map} +1 -1
- package/dist/chunks/generative-2LhxG5BJ.js.map +1 -1
- package/dist/chunks/generative-BHIj-NU0.cjs.map +1 -1
- package/dist/chunks/{gpu-CDcXiNA8.js → gpu-BWfgYWMY.js} +2 -2
- package/dist/chunks/{gpu-CDcXiNA8.js.map → gpu-BWfgYWMY.js.map} +1 -1
- package/dist/chunks/gpu-cUixt7kT.cjs.map +1 -1
- package/dist/chunks/index-tags-B-JBecYg.js.map +1 -1
- package/dist/chunks/index-tags-hLIF2Clq.cjs.map +1 -1
- package/dist/chunks/{keyframes-W-474DMc.js → keyframes-B5PWe5bU.js} +3 -2
- package/dist/chunks/keyframes-B5PWe5bU.js.map +1 -0
- package/dist/chunks/{keyframes-ZheOkpt0.cjs → keyframes-tC3I7anQ.cjs} +4 -3
- package/dist/chunks/keyframes-tC3I7anQ.cjs.map +1 -0
- package/dist/chunks/{manifest-D58HXVY-.js → manifest-BHx5yPN6.js} +2 -2
- package/dist/chunks/{manifest-D58HXVY-.js.map → manifest-BHx5yPN6.js.map} +1 -1
- package/dist/chunks/manifest-PaF9B8Vt.cjs.map +1 -1
- package/dist/chunks/{player-48Zy_NBG.js → player-BfHMNtiM.js} +4 -4
- package/dist/chunks/{player-48Zy_NBG.js.map → player-BfHMNtiM.js.map} +1 -1
- package/dist/chunks/player-C4y4jXSv.cjs.map +1 -1
- package/dist/chunks/presets-BYBVJVeP.js.map +1 -1
- package/dist/chunks/presets-CUHys3sK.cjs.map +1 -1
- package/dist/chunks/{registry-gFJRpPES.js → registry-BKzyg1JV.js} +2 -2
- package/dist/chunks/{registry-gFJRpPES.js.map → registry-BKzyg1JV.js.map} +1 -1
- package/dist/chunks/{registry-BIEjKngP.js → registry-CT-TT_bx.js} +3 -3
- package/dist/chunks/{registry-BIEjKngP.js.map → registry-CT-TT_bx.js.map} +1 -1
- package/dist/chunks/{registry-eJgpFAzI.cjs → registry-tzwKkldE.cjs} +2 -2
- package/dist/chunks/{registry-eJgpFAzI.cjs.map → registry-tzwKkldE.cjs.map} +1 -1
- package/dist/chunks/registry-xQZnSqqV.cjs.map +1 -1
- package/dist/chunks/shared-CkKHWrtJ.js.map +1 -1
- package/dist/chunks/shared-jkgRH-Hx.cjs.map +1 -1
- package/dist/chunks/{spring-CZDNyqWp.js → spring-BHuP55DR.js} +2 -2
- package/dist/chunks/{spring-CZDNyqWp.js.map → spring-BHuP55DR.js.map} +1 -1
- package/dist/chunks/spring-BlTQD2AV.cjs.map +1 -1
- package/dist/chunks/stagger-CCFyhzSw.cjs.map +1 -1
- package/dist/chunks/stagger-DtMKo2SK.js.map +1 -1
- package/dist/chunks/{ticker-CM_56oVy.js → ticker-C8lSGml9.js} +2 -2
- package/dist/chunks/{ticker-CM_56oVy.js.map → ticker-C8lSGml9.js.map} +1 -1
- package/dist/chunks/{ticker-D4o6enH0.cjs → ticker-Un0bvTWR.cjs} +2 -2
- package/dist/chunks/{ticker-D4o6enH0.cjs.map → ticker-Un0bvTWR.cjs.map} +1 -1
- package/dist/chunks/{tween-CqX1JBuj.js → tween-BcejKpsx.js} +15 -91
- package/dist/chunks/tween-BcejKpsx.js.map +1 -0
- package/dist/chunks/{tween-CBuWYpI-.cjs → tween-CwLLC3Ko.cjs} +15 -95
- package/dist/chunks/tween-CwLLC3Ko.cjs.map +1 -0
- package/dist/chunks/variants-CrDDJoYK.cjs.map +1 -1
- package/dist/chunks/{variants-GU3yIL4F.js → variants-CsRGUIyA.js} +2 -2
- package/dist/chunks/{variants-GU3yIL4F.js.map → variants-CsRGUIyA.js.map} +1 -1
- package/dist/components/a11y.cjs.map +1 -1
- package/dist/components/a11y.js +2 -2
- package/dist/components/a11y.js.map +1 -1
- package/dist/components/angular.cjs.map +1 -1
- package/dist/components/angular.js +8 -8
- package/dist/components/angular.js.map +1 -1
- package/dist/components/background.cjs.map +1 -1
- package/dist/components/background.js +2 -2
- package/dist/components/background.js.map +1 -1
- package/dist/components/bridge.cjs.map +1 -1
- package/dist/components/bridge.js +1 -1
- package/dist/components/bridge.js.map +1 -1
- package/dist/components/cards.cjs.map +1 -1
- package/dist/components/cards.js +2 -2
- package/dist/components/cards.js.map +1 -1
- package/dist/components/click.cjs.map +1 -1
- package/dist/components/click.js +3 -3
- package/dist/components/click.js.map +1 -1
- package/dist/components/core.cjs.map +1 -1
- package/dist/components/core.js.map +1 -1
- package/dist/components/depth.cjs.map +1 -1
- package/dist/components/depth.js +3 -3
- package/dist/components/depth.js.map +1 -1
- package/dist/components/design.cjs.map +1 -1
- package/dist/components/design.js +3 -3
- package/dist/components/design.js.map +1 -1
- package/dist/components/dsl.cjs.map +1 -1
- package/dist/components/dsl.js +2 -2
- package/dist/components/dsl.js.map +1 -1
- package/dist/components/effects.cjs.map +1 -1
- package/dist/components/effects.js +9 -9
- package/dist/components/effects.js.map +1 -1
- package/dist/components/engine.cjs.map +1 -1
- package/dist/components/engine.js +2 -2
- package/dist/components/engine.js.map +1 -1
- package/dist/components/feedback.cjs.map +1 -1
- package/dist/components/feedback.js +1 -1
- package/dist/components/feedback.js.map +1 -1
- package/dist/components/fx-3d.cjs.map +1 -1
- package/dist/components/fx-3d.js +2 -2
- package/dist/components/fx-3d.js.map +1 -1
- package/dist/components/fx-ai.cjs.map +1 -1
- package/dist/components/fx-ai.js +2 -2
- package/dist/components/fx-ai.js.map +1 -1
- package/dist/components/fx-chart.cjs.map +1 -1
- package/dist/components/fx-chart.js +2 -2
- package/dist/components/fx-chart.js.map +1 -1
- package/dist/components/fx-cinema.cjs.map +1 -1
- package/dist/components/fx-cinema.js +2 -2
- package/dist/components/fx-cinema.js.map +1 -1
- package/dist/components/fx-cyber.cjs.map +1 -1
- package/dist/components/fx-cyber.js +2 -2
- package/dist/components/fx-cyber.js.map +1 -1
- package/dist/components/fx-festival.cjs.map +1 -1
- package/dist/components/fx-festival.js +2 -2
- package/dist/components/fx-festival.js.map +1 -1
- package/dist/components/fx-focus.cjs.map +1 -1
- package/dist/components/fx-focus.js +2 -2
- package/dist/components/fx-focus.js.map +1 -1
- package/dist/components/fx-form.cjs.map +1 -1
- package/dist/components/fx-form.js +2 -2
- package/dist/components/fx-form.js.map +1 -1
- package/dist/components/fx-game.cjs.map +1 -1
- package/dist/components/fx-game.js +2 -2
- package/dist/components/fx-game.js.map +1 -1
- package/dist/components/fx-genart.cjs.map +1 -1
- package/dist/components/fx-genart.js +2 -2
- package/dist/components/fx-genart.js.map +1 -1
- package/dist/components/fx-geo.cjs.map +1 -1
- package/dist/components/fx-geo.js +2 -2
- package/dist/components/fx-geo.js.map +1 -1
- package/dist/components/fx-gesture.cjs.map +1 -1
- package/dist/components/fx-gesture.js +2 -2
- package/dist/components/fx-gesture.js.map +1 -1
- package/dist/components/fx-gpu.js +3 -3
- package/dist/components/fx-light.cjs.map +1 -1
- package/dist/components/fx-light.js +2 -2
- package/dist/components/fx-light.js.map +1 -1
- package/dist/components/fx-lottie.cjs.map +1 -1
- package/dist/components/fx-lottie.js +2 -2
- package/dist/components/fx-lottie.js.map +1 -1
- package/dist/components/fx-morph.cjs.map +1 -1
- package/dist/components/fx-morph.js +2 -2
- package/dist/components/fx-morph.js.map +1 -1
- package/dist/components/fx-music.cjs.map +1 -1
- package/dist/components/fx-music.js +3 -3
- package/dist/components/fx-music.js.map +1 -1
- package/dist/components/fx-organic.cjs.map +1 -1
- package/dist/components/fx-organic.js +2 -2
- package/dist/components/fx-organic.js.map +1 -1
- package/dist/components/fx-paper.cjs.map +1 -1
- package/dist/components/fx-paper.js +2 -2
- package/dist/components/fx-paper.js.map +1 -1
- package/dist/components/fx-perf.cjs.map +1 -1
- package/dist/components/fx-perf.js +2 -2
- package/dist/components/fx-perf.js.map +1 -1
- package/dist/components/fx-physics.cjs.map +1 -1
- package/dist/components/fx-physics.js +2 -2
- package/dist/components/fx-physics.js.map +1 -1
- package/dist/components/fx-retro.cjs.map +1 -1
- package/dist/components/fx-retro.js +2 -2
- package/dist/components/fx-retro.js.map +1 -1
- package/dist/components/fx-safe.cjs.map +1 -1
- package/dist/components/fx-safe.js +2 -2
- package/dist/components/fx-safe.js.map +1 -1
- package/dist/components/fx-shop.cjs.map +1 -1
- package/dist/components/fx-shop.js +2 -2
- package/dist/components/fx-shop.js.map +1 -1
- package/dist/components/fx-social.cjs.map +1 -1
- package/dist/components/fx-social.js +2 -2
- package/dist/components/fx-social.js.map +1 -1
- package/dist/components/fx-spatial.cjs.map +1 -1
- package/dist/components/fx-spatial.js +2 -2
- package/dist/components/fx-spatial.js.map +1 -1
- package/dist/components/fx-surface.cjs.map +1 -1
- package/dist/components/fx-surface.js +2 -2
- package/dist/components/fx-surface.js.map +1 -1
- package/dist/components/fx-text.cjs.map +1 -1
- package/dist/components/fx-text.js +2 -2
- package/dist/components/fx-text.js.map +1 -1
- package/dist/components/fx-transitions.cjs.map +1 -1
- package/dist/components/fx-transitions.js +3 -3
- package/dist/components/fx-transitions.js.map +1 -1
- package/dist/components/fx-video.cjs.map +1 -1
- package/dist/components/fx-video.js +2 -2
- package/dist/components/fx-video.js.map +1 -1
- package/dist/components/fx-weather.cjs.map +1 -1
- package/dist/components/fx-weather.js +2 -2
- package/dist/components/fx-weather.js.map +1 -1
- package/dist/components/fx.cjs.map +1 -1
- package/dist/components/fx.js +6 -6
- package/dist/components/fx.js.map +1 -1
- package/dist/components/fx2.cjs.map +1 -1
- package/dist/components/fx2.js +6 -6
- package/dist/components/fx2.js.map +1 -1
- package/dist/components/gesture.cjs.map +1 -1
- package/dist/components/gesture.js +4 -4
- package/dist/components/gesture.js.map +1 -1
- package/dist/components/interaction.cjs.map +1 -1
- package/dist/components/interaction.js +1 -1
- package/dist/components/interaction.js.map +1 -1
- package/dist/components/layout.cjs.map +1 -1
- package/dist/components/layout.js +1 -1
- package/dist/components/layout.js.map +1 -1
- package/dist/components/lazy.cjs.map +1 -1
- package/dist/components/lazy.js.map +1 -1
- package/dist/components/lite.cjs.map +1 -1
- package/dist/components/lite.js.map +1 -1
- package/dist/components/marketplace.cjs.map +1 -1
- package/dist/components/marketplace.js +4 -4
- package/dist/components/marketplace.js.map +1 -1
- package/dist/components/native.cjs.map +1 -1
- package/dist/components/native.js +3 -3
- package/dist/components/native.js.map +1 -1
- package/dist/components/packs.cjs.map +1 -1
- package/dist/components/packs.js +1 -1
- package/dist/components/packs.js.map +1 -1
- package/dist/components/page.cjs.map +1 -1
- package/dist/components/page.js +3 -3
- package/dist/components/page.js.map +1 -1
- package/dist/components/perf.cjs.map +1 -1
- package/dist/components/perf.js +2 -2
- package/dist/components/perf.js.map +1 -1
- package/dist/components/physics.cjs.map +1 -1
- package/dist/components/physics.js +3 -3
- package/dist/components/physics.js.map +1 -1
- package/dist/components/plugins.cjs.map +1 -1
- package/dist/components/plugins.js +4 -4
- package/dist/components/plugins.js.map +1 -1
- package/dist/components/react.cjs.map +1 -1
- package/dist/components/react.js.map +1 -1
- package/dist/components/reveal.cjs.map +1 -1
- package/dist/components/reveal.js +1 -1
- package/dist/components/reveal.js.map +1 -1
- package/dist/components/solid.cjs.map +1 -1
- package/dist/components/solid.js +8 -8
- package/dist/components/solid.js.map +1 -1
- package/dist/components/svelte.cjs.map +1 -1
- package/dist/components/svelte.js +8 -8
- package/dist/components/svelte.js.map +1 -1
- package/dist/components/svg.cjs.map +1 -1
- package/dist/components/svg.js +1 -1
- package/dist/components/svg.js.map +1 -1
- package/dist/components/text.cjs.map +1 -1
- package/dist/components/text.js +2 -2
- package/dist/components/text.js.map +1 -1
- package/dist/components/timeline.cjs.map +1 -1
- package/dist/components/timeline.js +3 -3
- package/dist/components/timeline.js.map +1 -1
- package/dist/components/tokens.cjs.map +1 -1
- package/dist/components/tokens.js.map +1 -1
- package/dist/components/transitions.cjs.map +1 -1
- package/dist/components/transitions.js +1 -1
- package/dist/components/transitions.js.map +1 -1
- package/dist/components/ui.cjs.map +1 -1
- package/dist/components/ui.js +4 -4
- package/dist/components/ui.js.map +1 -1
- package/dist/components/vue.cjs.map +1 -1
- package/dist/components/vue.js +8 -8
- package/dist/components/vue.js.map +1 -1
- package/dist/components/webgl.cjs.map +1 -1
- package/dist/components/webgl.js +1 -1
- package/dist/components/webgl.js.map +1 -1
- package/dist/components/widgets.cjs +766 -212
- package/dist/components/widgets.cjs.map +1 -1
- package/dist/components/widgets.d.cts +207 -2
- package/dist/components/widgets.d.ts +207 -2
- package/dist/components/widgets.js +770 -221
- package/dist/components/widgets.js.map +1 -1
- package/dist/components.cjs.map +1 -1
- package/dist/components.js +10 -10
- package/dist/components.js.map +1 -1
- package/dist/element.cjs.map +1 -1
- package/dist/element.js.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/llms-full.txt +250 -1
- package/dist/llms.txt +13 -2
- package/dist/manifest.json +646 -1
- package/dist/presets/extended.cjs.map +1 -1
- package/dist/presets/extended.js.map +1 -1
- package/dist/react.cjs.map +1 -1
- package/dist/react.js.map +1 -1
- package/dist/runtime/format-apng.cjs +131 -0
- package/dist/runtime/format-apng.cjs.map +1 -0
- package/dist/runtime/format-apng.d.cts +250 -0
- package/dist/runtime/format-apng.d.ts +250 -0
- package/dist/runtime/format-apng.iife.js +2 -0
- package/dist/runtime/format-apng.iife.js.map +1 -0
- package/dist/runtime/format-apng.js +123 -0
- package/dist/runtime/format-apng.js.map +1 -0
- package/dist/runtime/format-css.cjs +5 -4
- package/dist/runtime/format-css.cjs.map +1 -1
- package/dist/runtime/format-css.js +5 -4
- package/dist/runtime/format-css.js.map +1 -1
- package/dist/runtime/format-gif.cjs +206 -0
- package/dist/runtime/format-gif.cjs.map +1 -0
- package/dist/runtime/format-gif.d.cts +223 -0
- package/dist/runtime/format-gif.d.ts +223 -0
- package/dist/runtime/format-gif.iife.js +2 -0
- package/dist/runtime/format-gif.iife.js.map +1 -0
- package/dist/runtime/format-gif.js +199 -0
- package/dist/runtime/format-gif.js.map +1 -0
- package/dist/runtime/format-motion.cjs +9 -8
- package/dist/runtime/format-motion.cjs.map +1 -1
- package/dist/runtime/format-motion.js +5 -4
- package/dist/runtime/format-motion.js.map +1 -1
- package/dist/runtime/format-sprite.cjs +226 -0
- package/dist/runtime/format-sprite.cjs.map +1 -0
- package/dist/runtime/format-sprite.d.cts +224 -0
- package/dist/runtime/format-sprite.d.ts +224 -0
- package/dist/runtime/format-sprite.iife.js +2 -0
- package/dist/runtime/format-sprite.iife.js.map +1 -0
- package/dist/runtime/format-sprite.js +216 -0
- package/dist/runtime/format-sprite.js.map +1 -0
- package/dist/runtime/format-svg.cjs +5 -4
- package/dist/runtime/format-svg.cjs.map +1 -1
- package/dist/runtime/format-svg.iife.js.map +1 -1
- package/dist/runtime/format-svg.js +4 -3
- package/dist/runtime/format-svg.js.map +1 -1
- package/dist/runtime/format-webp.cjs +123 -0
- package/dist/runtime/format-webp.cjs.map +1 -0
- package/dist/runtime/format-webp.d.cts +245 -0
- package/dist/runtime/format-webp.d.ts +245 -0
- package/dist/runtime/format-webp.iife.js +2 -0
- package/dist/runtime/format-webp.iife.js.map +1 -0
- package/dist/runtime/format-webp.js +115 -0
- package/dist/runtime/format-webp.js.map +1 -0
- package/dist/runtime/scroll.cjs +2 -2
- package/dist/runtime/scroll.cjs.map +1 -1
- package/dist/runtime/scroll.js +2 -2
- package/dist/runtime/scroll.js.map +1 -1
- package/dist/runtime/smooth.cjs +284 -0
- package/dist/runtime/smooth.cjs.map +1 -0
- package/dist/runtime/smooth.d.cts +137 -0
- package/dist/runtime/smooth.d.ts +137 -0
- package/dist/runtime/smooth.iife.js +2 -0
- package/dist/runtime/smooth.iife.js.map +1 -0
- package/dist/runtime/smooth.js +279 -0
- package/dist/runtime/smooth.js.map +1 -0
- package/dist/runtime/text.cjs +147 -0
- package/dist/runtime/text.cjs.map +1 -0
- package/dist/runtime/text.d.cts +65 -0
- package/dist/runtime/text.d.ts +65 -0
- package/dist/runtime/text.iife.js +2 -0
- package/dist/runtime/text.iife.js.map +1 -0
- package/dist/runtime/text.js +143 -0
- package/dist/runtime/text.js.map +1 -0
- package/dist/runtime.cjs +9 -8
- package/dist/runtime.cjs.map +1 -1
- package/dist/runtime.d.cts +9 -2
- package/dist/runtime.d.ts +9 -2
- package/dist/runtime.iife.js +1 -1
- package/dist/runtime.iife.js.map +1 -1
- package/dist/runtime.js +6 -5
- package/dist/runtime.js.map +1 -1
- package/dist/solid.cjs.map +1 -1
- package/dist/solid.js.map +1 -1
- package/dist/svelte.cjs.map +1 -1
- package/dist/svelte.js.map +1 -1
- package/dist/vue.cjs.map +1 -1
- package/dist/vue.js.map +1 -1
- package/dist/widgets.umd.js +1 -1
- package/dist/widgets.umd.js.map +1 -1
- package/docs/ROADMAP.md +2 -2
- package/docs/components/README.md +12 -7
- package/docs/components/usa-parallax-layers.md +38 -0
- package/docs/components/usa-route-transition.md +38 -0
- package/docs/components/usa-scroll-ring.md +32 -0
- package/docs/components/usa-smooth-scroll.md +60 -0
- package/docs/components/usa-text-splitter.md +60 -0
- package/docs/components.md +94 -0
- package/docs/mcp.md +50 -0
- package/docs/runtime/format-apng.md +59 -0
- package/docs/runtime/format-gif.md +60 -0
- package/docs/runtime/format-sprite.md +60 -0
- package/docs/runtime/format-webp.md +58 -0
- package/docs/runtime/smooth.md +60 -0
- package/docs/runtime/text.md +59 -0
- package/package.json +64 -2
- package/dist/chunks/keyframes-W-474DMc.js.map +0 -1
- package/dist/chunks/keyframes-ZheOkpt0.cjs.map +0 -1
- package/dist/chunks/tween-CBuWYpI-.cjs.map +0 -1
- package/dist/chunks/tween-CqX1JBuj.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.cjs","sources":["../../src/components/background/aurora.ts","../../src/components/background/particles.ts","../../src/components/background/grain.ts","../../src/components/background/marquee.ts","../../src/components/background/acrylic.ts","../../src/components/background/bg-fx.ts","../../src/components/background/fluent.ts","../../src/components/background/index.ts"],"sourcesContent":["import { defineElement, type UsaElement } from '../base';\nimport css from './aurora.css?raw';\n\n/**\n * `<usa-aurora>` — a slow, drifting aurora / gradient-mesh backdrop behind\n * its content. Soft radial gradients moved with `transform` only (no\n * animated blur), paused while off-screen.\n *\n * Attributes: `colors` (comma-separated, default violet / cyan / pink),\n * `speed` (multiplier, 1), `intensity` (0–1 opacity, 0.7), `paused`.\n * Reduced motion: a still gradient.\n */\nexport type UsaAuroraElement = UsaElement;\n\nexport function defineAurora(tag = 'usa-aurora'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaAurora extends Base {\n static get observedAttributes(): string[] {\n return ['colors', 'speed', 'intensity'];\n }\n\n private _layer: HTMLElement | null = null;\n\n mount(): void {\n if (!this._layer) {\n this._layer = document.createElement('div');\n this._layer.className = 'usa-aurora-layer';\n this._layer.setAttribute('aria-hidden', 'true');\n this._layer.innerHTML = '<i></i><i></i><i></i><i></i>';\n this.prepend(this._layer);\n }\n const colors = this.str('colors', '#7c5cff,#22d3ee,#f472b6,#34d399').split(',').map((c) => c.trim()).filter(Boolean);\n Array.from(this._layer.children).forEach((blob, i) => {\n (blob as HTMLElement).style.setProperty('--c', colors[i % colors.length]);\n });\n const speed = this.num('speed', 1);\n this.style.setProperty('--usa-aurora-speed', `${(18 / Math.max(0.05, speed)).toFixed(2)}s`);\n this.style.setProperty('--usa-aurora-opacity', String(this.num('intensity', 0.7)));\n this.inView((v) => this.toggleAttribute('data-offscreen', !v));\n }\n },\n { id: 'aurora', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport css from './particles.css?raw';\n\n/**\n * `<usa-particles>` — a canvas of drifting particles, optionally linked by\n * lines when close (a \"constellation\"), that drift away from the pointer.\n * Fills its own box (place it as a background with\n * `position: absolute; inset: 0`, or give it a height).\n *\n * Attributes: `count` (60; scaled down on small boxes), `color`\n * (default `currentColor`), `size` (max radius px, 2.2), `speed` (0.35),\n * `links` (max link distance px, 110; `0` disables), `interactive`,\n * `paused`. Renders only while visible and the tab is shown, at device\n * pixel ratio ≤ 2. Reduced motion: one still frame.\n */\nexport interface UsaParticlesElement extends UsaElement {\n /** Re-seed the particles. */\n reset(): void;\n}\n\ninterface P {\n x: number;\n y: number;\n vx: number;\n vy: number;\n r: number;\n}\n\nexport function defineParticles(tag = 'usa-particles'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaParticles extends Base {\n static get observedAttributes(): string[] {\n return ['count', 'color', 'size', 'speed', 'links', 'interactive', 'paused'];\n }\n\n private _canvas: HTMLCanvasElement | null = null;\n private _ctx: CanvasRenderingContext2D | null = null;\n private _ps: P[] = [];\n private _frame = 0;\n private _w = 0;\n private _h = 0;\n private _visible = false;\n private _mx = -1e4;\n private _color = '#888';\n private _my = -1e4;\n\n mount(): void {\n if (!this._canvas) {\n this._canvas = document.createElement('canvas');\n this._canvas.setAttribute('aria-hidden', 'true');\n this.prepend(this._canvas);\n }\n this._ctx = this._canvas.getContext?.('2d') ?? null;\n if (!this._ctx) return;\n this.resize();\n if (typeof ResizeObserver !== 'undefined') {\n const ro = new ResizeObserver(() => {\n this.resize();\n if (!this._frame) this.draw();\n });\n ro.observe(this);\n this.onCleanup(() => ro.disconnect());\n }\n this.inView((v) => {\n this._visible = v;\n this.loop();\n });\n this.listen(document, 'visibilitychange', () => this.loop());\n if (this.flag('interactive')) {\n this.listen(window, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this._mx = e.clientX - r.left;\n this._my = e.clientY - r.top;\n }, { passive: true });\n }\n this.draw();\n }\n\n unmount(): void {\n caf(this._frame);\n this._frame = 0;\n }\n\n reset(): void {\n this._ps = [];\n this.resize();\n this.draw();\n }\n\n private resize(): void {\n const c = this._canvas;\n if (!c || !this._ctx) return;\n const w = this.clientWidth || 300;\n const h = this.clientHeight || 150;\n const dpr = Math.min(2, (typeof devicePixelRatio === 'number' && devicePixelRatio) || 1);\n c.width = Math.round(w * dpr);\n c.height = Math.round(h * dpr);\n this._ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n this._w = w;\n this._h = h;\n this._color = this.getAttribute('color') || (typeof getComputedStyle === 'function' ? getComputedStyle(this).color : '') || '#888';\n const want = Math.round(Math.min(1, (w * h) / (900 * 500)) * Math.max(1, this.num('count', 60))) || 1;\n const speed = this.num('speed', 0.35);\n const size = this.num('size', 2.2);\n while (this._ps.length < want) {\n const a = Math.random() * Math.PI * 2;\n const s = speed * (0.3 + Math.random() * 0.7);\n this._ps.push({ x: Math.random() * w, y: Math.random() * h, vx: Math.cos(a) * s, vy: Math.sin(a) * s, r: 0.6 + Math.random() * (size - 0.6) });\n }\n this._ps.length = want;\n }\n\n private loop(): void {\n const run = this._visible && !this.reduced && !this.flag('paused') && !(typeof document !== 'undefined' && document.hidden);\n if (run && !this._frame) {\n const tick = () => {\n this.step();\n this.draw();\n this._frame = raf(tick);\n };\n this._frame = raf(tick);\n } else if (!run && this._frame) {\n caf(this._frame);\n this._frame = 0;\n }\n }\n\n private step(): void {\n const { _w: w, _h: h } = this;\n for (const p of this._ps) {\n const dx = p.x - this._mx;\n const dy = p.y - this._my;\n const d2 = dx * dx + dy * dy;\n if (d2 < 8100 && d2 > 0.01) {\n const f = (1 - Math.sqrt(d2) / 90) * 0.6;\n p.x += (dx / Math.sqrt(d2)) * f;\n p.y += (dy / Math.sqrt(d2)) * f;\n }\n p.x += p.vx;\n p.y += p.vy;\n if (p.x < -5) p.x = w + 5;\n else if (p.x > w + 5) p.x = -5;\n if (p.y < -5) p.y = h + 5;\n else if (p.y > h + 5) p.y = -5;\n }\n }\n\n private draw(): void {\n const ctx = this._ctx;\n if (!ctx) return;\n const color = this._color;\n ctx.clearRect(0, 0, this._w, this._h);\n ctx.fillStyle = color;\n ctx.strokeStyle = color;\n const ps = this._ps;\n const link = this.num('links', 110);\n if (link > 0) {\n const l2 = link * link;\n ctx.lineWidth = 0.6;\n for (let i = 0; i < ps.length; i++) {\n for (let j = i + 1; j < ps.length; j++) {\n const dx = ps[i].x - ps[j].x;\n const dy = ps[i].y - ps[j].y;\n const d2 = dx * dx + dy * dy;\n if (d2 < l2) {\n ctx.globalAlpha = (1 - d2 / l2) * 0.35;\n ctx.beginPath();\n ctx.moveTo(ps[i].x, ps[i].y);\n ctx.lineTo(ps[j].x, ps[j].y);\n ctx.stroke();\n }\n }\n }\n }\n ctx.globalAlpha = 0.85;\n for (const p of ps) {\n ctx.beginPath();\n ctx.arc(p.x, p.y, p.r, 0, Math.PI * 2);\n ctx.fill();\n }\n ctx.globalAlpha = 1;\n }\n },\n { id: 'particles', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './grain.css?raw';\n\n/**\n * `<usa-grain>` — a film-grain / noise overlay on top of its content\n * (SVG `feTurbulence` texture, no images to ship). With `animated`, the\n * grain jitters like film (stepped `transform`, ~12 fps).\n *\n * Attributes: `opacity` (0.12), `animated`, `blend` (`mix-blend-mode`,\n * default `overlay`), `scale` (texture size px, 180). Never intercepts\n * pointer events. Reduced motion: static grain.\n */\nexport type UsaGrainElement = UsaElement;\n\nconst noise = (freq: number) =>\n `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='${freq}' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 1.6 -0.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\")`;\n\nexport function defineGrain(tag = 'usa-grain'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaGrain extends Base {\n static get observedAttributes(): string[] {\n return ['opacity', 'blend', 'scale'];\n }\n\n private _layer: HTMLElement | null = null;\n\n mount(): void {\n if (!this._layer) {\n this._layer = document.createElement('div');\n this._layer.className = 'usa-grain-layer';\n this._layer.setAttribute('aria-hidden', 'true');\n this.append(this._layer);\n }\n const s = this._layer.style;\n s.backgroundImage = noise(0.8);\n s.backgroundSize = `${this.num('scale', 180)}px`;\n s.opacity = String(this.num('opacity', 0.12));\n s.mixBlendMode = this.str('blend', 'overlay');\n }\n },\n { id: 'grain', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './marquee.css?raw';\n\n/**\n * `<usa-marquee>` — an infinite, seamless ticker of its children (logos,\n * testimonials, tags). The content is cloned (clones are `aria-hidden` and\n * `inert`) and the track slides with one WAAPI `transform` animation whose\n * duration follows the measured width, so the speed is constant.\n *\n * Attributes: `speed` (px/s, 50), `direction` (`left` default | `right` |\n * `up` | `down`), `gap` (px, 32), `pause-on-hover`, `fade` (soft edges),\n * `paused`. Pauses off-screen. Reduced motion: no movement; the row\n * becomes scrollable instead.\n */\nexport interface UsaMarqueeElement extends UsaElement {\n pause(): void;\n resume(): void;\n}\n\nexport function defineMarquee(tag = 'usa-marquee'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaMarquee extends Base {\n static get observedAttributes(): string[] {\n return ['speed', 'direction', 'gap', 'paused'];\n }\n\n private _track: HTMLElement | null = null;\n private _anim: Animation | null = null;\n private _hover = false;\n private _visible = true;\n private _size = 0;\n\n private get vertical(): boolean {\n const d = this.str('direction', 'left');\n return d === 'up' || d === 'down';\n }\n\n mount(): void {\n if (!this._track) {\n const track = document.createElement('div');\n track.className = 'usa-marquee-track';\n const group = document.createElement('div');\n group.className = 'usa-marquee-group';\n group.append(...Array.from(this.childNodes));\n track.append(group);\n this.append(track);\n this._track = track;\n }\n this.toggleAttribute('data-vertical', this.vertical);\n this.style.setProperty('--usa-marquee-gap', `${this.num('gap', 32)}px`);\n if (this.reduced) {\n this.setAttribute('data-static', '');\n this.syncClones(1);\n return;\n }\n this.removeAttribute('data-static');\n this.build();\n if (typeof ResizeObserver !== 'undefined') {\n const ro = new ResizeObserver(() => this.build());\n ro.observe(this._track.firstElementChild as Element);\n this.onCleanup(() => ro.disconnect());\n }\n this.inView((v) => {\n this._visible = v;\n this.sync();\n });\n this.listen(this, 'pointerenter', () => ((this._hover = true), this.sync()));\n this.listen(this, 'pointerleave', () => ((this._hover = false), this.sync()));\n this.listen(this, 'focusin', () => ((this._hover = true), this.sync()));\n this.listen(this, 'focusout', () => ((this._hover = false), this.sync()));\n }\n\n unmount(): void {\n this._anim?.cancel();\n this._anim = null;\n this._size = 0;\n }\n\n private syncClones(n: number): void {\n const track = this._track!;\n const group = track.firstElementChild as HTMLElement;\n while (track.children.length > n) track.lastElementChild!.remove();\n while (track.children.length < n) {\n const clone = group.cloneNode(true) as HTMLElement;\n clone.setAttribute('aria-hidden', 'true');\n clone.setAttribute('inert', '');\n track.append(clone);\n }\n }\n\n private build(): void {\n const track = this._track!;\n const group = track.firstElementChild as HTMLElement;\n const vertical = this.vertical;\n const gap = this.num('gap', 32);\n const measured = vertical ? group.offsetHeight : group.offsetWidth;\n if (!measured) return; // not laid out yet: the ResizeObserver calls back\n const size = measured + gap;\n if (this._anim && this._size === size) return;\n this._size = size;\n const box = (vertical ? this.clientHeight : this.clientWidth) || size;\n // Enough copies to cover the box twice\n this.syncClones(Math.min(50, Math.max(2, Math.ceil(box / size) + 1)));\n const progress = this._anim?.effect?.getComputedTiming().progress ?? 0;\n this._anim?.cancel();\n const axis = vertical ? 'Y' : 'X';\n const reverse = ['right', 'down'].includes(this.str('direction', 'left'));\n const frames = [{ transform: `translate${axis}(0)` }, { transform: `translate${axis}(${-size}px)` }];\n this._anim = this.motion(track, reverse ? frames.reverse() : frames, {\n duration: (Math.max(1, size) / Math.max(1, this.num('speed', 50))) * 1000,\n iterations: Infinity,\n });\n if (this._anim && progress) this._anim.currentTime = progress * Number(this._anim.effect?.getTiming().duration || 0);\n this.sync();\n }\n\n private sync(): void {\n const a = this._anim;\n if (!a) return;\n const stop = this.flag('paused') || !this._visible || (this._hover && this.flag('pause-on-hover'));\n if (stop && a.playState === 'running') a.pause();\n else if (!stop && a.playState === 'paused') a.play();\n }\n\n pause(): void {\n this.setAttribute('paused', '');\n }\n resume(): void {\n this.removeAttribute('paused');\n }\n\n changed(name: string): void {\n if (name === 'paused') this.sync();\n else super.changed(name);\n }\n },\n { id: 'marquee', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './acrylic.css?raw';\n\n/**\n * `<usa-acrylic>` — Windows Fluent materials for the web: `acrylic`\n * (frosted glass: backdrop blur + saturation + tint + subtle noise) and\n * `mica` (an opaque, wallpaper-tinted base for app backgrounds; on the web it\n * tints from `--usa-mica-source`, a gradient you control). Optional\n * `shimmer` adds a light sweep when it appears or on hover.\n *\n * Attributes: `kind` (`acrylic` default | `mica`), `tint` (colour),\n * `tint-opacity` (0–1, 0.55), `blur` (px, 30), `shimmer`\n * (`hover` | `load` | `none`, default `none`). Falls back to a solid tint\n * without `backdrop-filter` and under `prefers-reduced-transparency` or\n * forced colours, like Windows does when transparency effects are off.\n */\nexport type UsaAcrylicElement = UsaElement;\n\nexport function defineAcrylic(tag = 'usa-acrylic'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaAcrylic extends Base {\n static get observedAttributes(): string[] {\n return ['tint', 'tint-opacity', 'blur', 'shimmer'];\n }\n\n mount(): void {\n const tint = this.getAttribute('tint');\n if (tint) this.style.setProperty('--usa-acrylic-tint', tint);\n else this.style.removeProperty('--usa-acrylic-tint');\n this.style.setProperty('--usa-acrylic-opacity', `${Math.round(this.num('tint-opacity', 0.55) * 100)}%`);\n this.style.setProperty('--usa-acrylic-blur', `${this.num('blur', 30)}px`);\n if (this.str('shimmer') === 'load' && !this.reduced) {\n this.removeAttribute('data-shine');\n void this.offsetWidth;\n this.setAttribute('data-shine', '');\n }\n }\n },\n { id: 'acrylic', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport css from './bg-fx.css?raw';\n\n/** Shared canvas setup: DPR ≤ 2, resize with the host, run only while visible & tab shown. */\nfunction canvasLoop(host: any, draw: (ctx: CanvasRenderingContext2D, w: number, h: number, t: number) => void, still: boolean): void {\n const c = document.createElement('canvas');\n c.className = 'usa-bg-canvas';\n c.setAttribute('aria-hidden', 'true');\n host.prepend(c);\n host.onCleanup(() => c.remove());\n const ctx = c.getContext?.('2d') as CanvasRenderingContext2D | null;\n if (!ctx) return;\n const dpr = Math.min(2, (typeof window !== 'undefined' && window.devicePixelRatio) || 1);\n let w = 0;\n let h = 0;\n const size = () => {\n const r = host.getBoundingClientRect();\n w = Math.max(1, r.width || 300);\n h = Math.max(1, r.height || 150);\n c.width = w * dpr;\n c.height = h * dpr;\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n };\n size();\n const ro = typeof ResizeObserver !== 'undefined' ? new ResizeObserver(size) : null;\n ro?.observe(host);\n host.onCleanup(() => ro?.disconnect());\n let id = 0;\n let on = false;\n const loop = (t: number) => {\n if (!document.hidden) draw(ctx, w, h, t);\n id = raf(loop);\n };\n if (still) {\n draw(ctx, w, h, 0);\n return;\n }\n host.inView((v: boolean) => {\n if (v && !on) {\n on = true;\n id = raf(loop);\n } else if (!v && on) {\n on = false;\n caf(id);\n }\n });\n host.onCleanup(() => caf(id));\n}\n\n/**\n * `<usa-grid-glow>` — a line grid behind its content that lights up around\n * the pointer. Attributes: `size` (cell px, 32), `color`, `radius` (px, 220).\n * Reduced motion: the grid stays, a soft static glow in the centre.\n */\nexport interface UsaGridGlowElement extends UsaElement {}\nexport function defineGridGlow(tag = 'usa-grid-glow'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n this.style.setProperty('--usa-grid', `${this.num('size', 32)}px`);\n this.style.setProperty('--usa-grid-r', `${this.num('radius', 220)}px`);\n if (this.str('color')) this.style.setProperty('--usa-grid-color', this.str('color'));\n if (this.reduced) return;\n let f = 0;\n let x = 0;\n let y = 0;\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n x = e.clientX - r.left;\n y = e.clientY - r.top;\n if (!f) f = raf(() => {\n f = 0;\n this.style.setProperty('--usa-grid-x', `${x}px`);\n this.style.setProperty('--usa-grid-y', `${y}px`);\n });\n });\n this.onCleanup(() => caf(f));\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-blobs>` — soft, slowly morphing colour blobs (fluid gradient\n * backdrop). Attributes: `colors` (comma list), `speed` (1), `blur` (px, 60).\n * Reduced motion: still blobs.\n */\nexport interface UsaBlobsElement extends UsaElement {}\nexport function defineBlobs(tag = 'usa-blobs'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n this.querySelector(':scope > .usa-blobs-layer')?.remove();\n const colors = this.str('colors', '#7c5cff,#22d3ee,#f472b6,#34d399').split(',');\n const layer = document.createElement('div');\n layer.className = 'usa-blobs-layer';\n layer.setAttribute('aria-hidden', 'true');\n layer.innerHTML = colors.map((c, i) => `<i style=\"--c:${c.trim()};--i:${i}\"></i>`).join('');\n this.prepend(layer);\n this.style.setProperty('--usa-blobs-speed', String(this.num('speed', 1)));\n this.style.setProperty('--usa-blobs-blur', `${this.num('blur', 60)}px`);\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-water-ripple>` — interactive water ripples on a canvas over its\n * content (pointer moves and taps disturb the surface). Low-resolution height\n * map, paused off-screen. Attributes: `damping` (0.96), `strength` (1),\n * `color` (highlight). Reduced motion: nothing is drawn.\n */\nexport interface UsaWaterRippleElement extends UsaElement {\n drop(x: number, y: number, strength?: number): void;\n}\nexport function defineWaterRipple(tag = 'usa-water-ripple'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n private _drop: ((x: number, y: number, s?: number) => void) | null = null;\n drop(x: number, y: number, s = 1): void {\n this._drop?.(x, y, s);\n }\n mount(): void {\n if (this.reduced) return;\n const S = 4;\n let cols = 0;\n let rows = 0;\n let a = new Float32Array(0);\n let b = new Float32Array(0);\n const damp = this.num('damping', 0.96);\n const color = this.str('color', '255,255,255');\n this._drop = (x, y, s = 1) => {\n const cx = Math.floor(x / S);\n const cy = Math.floor(y / S);\n if (cx < 1 || cy < 1 || cx >= cols - 1 || cy >= rows - 1) return;\n a[cy * cols + cx] += 256 * s * this.num('strength', 1);\n };\n canvasLoop(this, (ctx, w, h) => {\n const nc = Math.ceil(w / S);\n const nr = Math.ceil(h / S);\n if (nc !== cols || nr !== rows) {\n cols = nc;\n rows = nr;\n a = new Float32Array(cols * rows);\n b = new Float32Array(cols * rows);\n }\n ctx.clearRect(0, 0, w, h);\n for (let y = 1; y < rows - 1; y++) {\n for (let x = 1; x < cols - 1; x++) {\n const i = y * cols + x;\n const v = ((a[i - 1] + a[i + 1] + a[i - cols] + a[i + cols]) / 2 - b[i]) * damp;\n b[i] = v;\n if (v > 2 || v < -2) {\n ctx.fillStyle = `rgba(${color},${Math.min(0.5, Math.abs(v) / 300).toFixed(3)})`;\n ctx.fillRect(x * S, y * S, S, S);\n }\n }\n }\n const t = a;\n a = b;\n b = t;\n }, false);\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this.drop(e.clientX - r.left, e.clientY - r.top, 0.35);\n });\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this.drop(e.clientX - r.left, e.clientY - r.top, 1.5);\n });\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-dot-network>` — a grid of dots that swell and link up with lines\n * around the pointer (a living network backdrop). Attributes: `gap` (px,\n * 28), `color`, `radius` (px of influence, 140). Reduced motion: a static\n * dot grid.\n */\nexport interface UsaDotNetworkElement extends UsaElement {}\nexport function defineDotNetwork(tag = 'usa-dot-network'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n const gap = Math.max(8, this.num('gap', 28));\n const R = this.num('radius', 140);\n const color = this.str('color', '124,92,255');\n let px = -1e4;\n let py = -1e4;\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n px = e.clientX - r.left;\n py = e.clientY - r.top;\n });\n this.listen(this, 'pointerleave', () => (px = py = -1e4));\n canvasLoop(this, (ctx, w, h) => {\n ctx.clearRect(0, 0, w, h);\n const near: [number, number, number][] = [];\n for (let y = gap / 2; y < h; y += gap) {\n for (let x = gap / 2; x < w; x += gap) {\n const d = Math.hypot(x - px, y - py);\n const k = d < R ? 1 - d / R : 0;\n const ox = k ? ((x - px) / (d || 1)) * k * 8 : 0;\n const oy = k ? ((y - py) / (d || 1)) * k * 8 : 0;\n ctx.fillStyle = `rgba(${color},${(0.25 + k * 0.75).toFixed(3)})`;\n ctx.beginPath();\n ctx.arc(x + ox, y + oy, 1.2 + k * 2.2, 0, Math.PI * 2);\n ctx.fill();\n if (k > 0.2) near.push([x + ox, y + oy, k]);\n }\n }\n ctx.lineWidth = 1;\n for (const [x, y, k] of near) {\n ctx.strokeStyle = `rgba(${color},${(k * 0.5).toFixed(3)})`;\n ctx.beginPath();\n ctx.moveTo(x, y);\n ctx.lineTo(px, py);\n ctx.stroke();\n }\n }, this.reduced);\n }\n }, { id: 'bg-fx', text: css });\n}\n","import { adoptStyles, raf, caf, prefersReducedMotion } from '../base';\nimport { setVariant } from '../ui/variants';\nimport css from './fluent.css?raw';\n\nexport interface FluentPresetOptions {\n /** Root to apply to (default `document.documentElement`). */\n root?: HTMLElement;\n /** Reveal highlight on interactive elements (default `true`). */\n reveal?: boolean;\n /** Reveal targets (default buttons, links, `[data-fluent-reveal]`). */\n selector?: string;\n /** Mica-style tinted window background on `<body>` (default `true`). */\n mica?: boolean;\n}\n\n/**\n * Windows 11 **Fluent preset** (v2.8): applies the `fluent` variant\n * (Segoe UI Variable, Windows accent, 8 px radii), a Mica-style tinted\n * window background, Acrylic on `.usa-acrylic` / `[data-acrylic]`, and\n * Reveal highlight (a light following the pointer on borders and\n * backgrounds of interactive elements). Ideal for WebView2 / Electron /\n * Tauri apps on Windows. Returns a function that removes it.\n * Respects reduced motion / transparency (no Reveal tracking; solid materials).\n */\nexport function fluentPreset(options: FluentPresetOptions = {}): () => void {\n if (typeof document === 'undefined') return () => undefined;\n const root = options.root || document.documentElement;\n adoptStyles('fluent-preset', css);\n setVariant('fluent', root);\n root.classList.add('usa-fluent');\n if (options.mica !== false) root.classList.add('usa-fluent-mica');\n const sel = options.selector || 'button, [role=\"button\"], a.usa-fluent-item, [data-fluent-reveal], .usa-fluent-item';\n let frame = 0;\n let last: HTMLElement | null = null;\n let ev: PointerEvent | null = null;\n const apply = () => {\n frame = 0;\n if (!ev) return;\n const t = (ev.target as Element)?.closest?.(sel) as HTMLElement | null;\n if (last && last !== t) last.removeAttribute('data-reveal');\n last = t;\n if (!t) return;\n const r = t.getBoundingClientRect();\n t.style.setProperty('--usa-reveal-x', `${ev.clientX - r.left}px`);\n t.style.setProperty('--usa-reveal-y', `${ev.clientY - r.top}px`);\n t.setAttribute('data-reveal', '');\n };\n const move = (e: PointerEvent) => {\n if (e.pointerType === 'touch') return;\n ev = e;\n if (!frame) frame = raf(apply);\n };\n const reveal = options.reveal !== false && !prefersReducedMotion();\n if (reveal) document.addEventListener('pointermove', move, { passive: true });\n return () => {\n document.removeEventListener('pointermove', move);\n caf(frame);\n last?.removeAttribute('data-reveal');\n root.classList.remove('usa-fluent', 'usa-fluent-mica');\n setVariant(null, root);\n };\n}\n","/**\n * motionary/components/background — backgrounds & decoration.\n * `<usa-aurora>`, `<usa-particles>`, `<usa-grain>`, `<usa-marquee>`,\n * `<usa-acrylic>`.\n */\nimport { defineAurora, type UsaAuroraElement } from './aurora';\nimport { defineParticles, type UsaParticlesElement } from './particles';\nimport { defineGrain, type UsaGrainElement } from './grain';\nimport { defineMarquee, type UsaMarqueeElement } from './marquee';\nimport { defineAcrylic, type UsaAcrylicElement } from './acrylic';\n\nimport { defineGridGlow, defineBlobs, defineWaterRipple, defineDotNetwork } from './bg-fx';\nimport type { UsaGridGlowElement, UsaBlobsElement, UsaWaterRippleElement, UsaDotNetworkElement } from './bg-fx';\nexport { defineAurora, defineParticles, defineGrain, defineMarquee, defineAcrylic };\nexport type { UsaAuroraElement, UsaParticlesElement, UsaGrainElement, UsaMarqueeElement, UsaAcrylicElement };\nexport { defineGridGlow, defineBlobs, defineWaterRipple, defineDotNetwork };\nexport type { UsaGridGlowElement, UsaBlobsElement, UsaWaterRippleElement, UsaDotNetworkElement };\nexport { fluentPreset } from './fluent';\nexport type { FluentPresetOptions } from './fluent';\n\n/** Register every component of this category under its default tag. */\nexport function defineBackgroundComponents(): void {\n defineAurora();\n defineParticles();\n defineGrain();\n defineMarquee();\n defineAcrylic();\n defineGridGlow();\n defineBlobs();\n defineWaterRipple();\n defineDotNetwork();\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-grid-glow': UsaGridGlowElement;\n 'usa-blobs': UsaBlobsElement;\n 'usa-water-ripple': UsaWaterRippleElement;\n 'usa-dot-network': UsaDotNetworkElement;\n 'usa-aurora': UsaAuroraElement;\n 'usa-particles': UsaParticlesElement;\n 'usa-grain': UsaGrainElement;\n 'usa-marquee': UsaMarqueeElement;\n 'usa-acrylic': UsaAcrylicElement;\n }\n}\n"],"names":["defineElement","css","caf","raf","adoptStyles","setVariant","prefersReducedMotion"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"background.cjs","sources":["../../src/components/background/aurora.ts","../../src/components/background/particles.ts","../../src/components/background/grain.ts","../../src/components/background/marquee.ts","../../src/components/background/acrylic.ts","../../src/components/background/bg-fx.ts","../../src/components/background/fluent.ts","../../src/components/background/index.ts"],"sourcesContent":["import { defineElement, type UsaElement } from '../base';\nimport css from './aurora.css?raw';\n\n/**\n * `<usa-aurora>` — a slow, drifting aurora / gradient-mesh backdrop behind\n * its content. Soft radial gradients moved with `transform` only (no\n * animated blur), paused while off-screen.\n *\n * Attributes: `colors` (comma-separated, default violet / cyan / pink),\n * `speed` (multiplier, 1), `intensity` (0–1 opacity, 0.7), `paused`.\n * Reduced motion: a still gradient.\n */\nexport type UsaAuroraElement = UsaElement;\n\nexport function defineAurora(tag = 'usa-aurora'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaAurora extends Base {\n static get observedAttributes(): string[] {\n return ['colors', 'speed', 'intensity'];\n }\n\n private _layer: HTMLElement | null = null;\n\n mount(): void {\n if (!this._layer) {\n this._layer = document.createElement('div');\n this._layer.className = 'usa-aurora-layer';\n this._layer.setAttribute('aria-hidden', 'true');\n this._layer.innerHTML = '<i></i><i></i><i></i><i></i>';\n this.prepend(this._layer);\n }\n const colors = this.str('colors', '#7c5cff,#22d3ee,#f472b6,#34d399').split(',').map((c) => c.trim()).filter(Boolean);\n Array.from(this._layer.children).forEach((blob, i) => {\n (blob as HTMLElement).style.setProperty('--c', colors[i % colors.length]);\n });\n const speed = this.num('speed', 1);\n this.style.setProperty('--usa-aurora-speed', `${(18 / Math.max(0.05, speed)).toFixed(2)}s`);\n this.style.setProperty('--usa-aurora-opacity', String(this.num('intensity', 0.7)));\n this.inView((v) => this.toggleAttribute('data-offscreen', !v));\n }\n },\n { id: 'aurora', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport css from './particles.css?raw';\n\n/**\n * `<usa-particles>` — a canvas of drifting particles, optionally linked by\n * lines when close (a \"constellation\"), that drift away from the pointer.\n * Fills its own box (place it as a background with\n * `position: absolute; inset: 0`, or give it a height).\n *\n * Attributes: `count` (60; scaled down on small boxes), `color`\n * (default `currentColor`), `size` (max radius px, 2.2), `speed` (0.35),\n * `links` (max link distance px, 110; `0` disables), `interactive`,\n * `paused`. Renders only while visible and the tab is shown, at device\n * pixel ratio ≤ 2. Reduced motion: one still frame.\n */\nexport interface UsaParticlesElement extends UsaElement {\n /** Re-seed the particles. */\n reset(): void;\n}\n\ninterface P {\n x: number;\n y: number;\n vx: number;\n vy: number;\n r: number;\n}\n\nexport function defineParticles(tag = 'usa-particles'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaParticles extends Base {\n static get observedAttributes(): string[] {\n return ['count', 'color', 'size', 'speed', 'links', 'interactive', 'paused'];\n }\n\n private _canvas: HTMLCanvasElement | null = null;\n private _ctx: CanvasRenderingContext2D | null = null;\n private _ps: P[] = [];\n private _frame = 0;\n private _w = 0;\n private _h = 0;\n private _visible = false;\n private _mx = -1e4;\n private _color = '#888';\n private _my = -1e4;\n\n mount(): void {\n if (!this._canvas) {\n this._canvas = document.createElement('canvas');\n this._canvas.setAttribute('aria-hidden', 'true');\n this.prepend(this._canvas);\n }\n this._ctx = this._canvas.getContext?.('2d') ?? null;\n if (!this._ctx) return;\n this.resize();\n if (typeof ResizeObserver !== 'undefined') {\n const ro = new ResizeObserver(() => {\n this.resize();\n if (!this._frame) this.draw();\n });\n ro.observe(this);\n this.onCleanup(() => ro.disconnect());\n }\n this.inView((v) => {\n this._visible = v;\n this.loop();\n });\n this.listen(document, 'visibilitychange', () => this.loop());\n if (this.flag('interactive')) {\n this.listen(window, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this._mx = e.clientX - r.left;\n this._my = e.clientY - r.top;\n }, { passive: true });\n }\n this.draw();\n }\n\n unmount(): void {\n caf(this._frame);\n this._frame = 0;\n }\n\n reset(): void {\n this._ps = [];\n this.resize();\n this.draw();\n }\n\n private resize(): void {\n const c = this._canvas;\n if (!c || !this._ctx) return;\n const w = this.clientWidth || 300;\n const h = this.clientHeight || 150;\n const dpr = Math.min(2, (typeof devicePixelRatio === 'number' && devicePixelRatio) || 1);\n c.width = Math.round(w * dpr);\n c.height = Math.round(h * dpr);\n this._ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n this._w = w;\n this._h = h;\n this._color = this.getAttribute('color') || (typeof getComputedStyle === 'function' ? getComputedStyle(this).color : '') || '#888';\n const want = Math.round(Math.min(1, (w * h) / (900 * 500)) * Math.max(1, this.num('count', 60))) || 1;\n const speed = this.num('speed', 0.35);\n const size = this.num('size', 2.2);\n while (this._ps.length < want) {\n const a = Math.random() * Math.PI * 2;\n const s = speed * (0.3 + Math.random() * 0.7);\n this._ps.push({ x: Math.random() * w, y: Math.random() * h, vx: Math.cos(a) * s, vy: Math.sin(a) * s, r: 0.6 + Math.random() * (size - 0.6) });\n }\n this._ps.length = want;\n }\n\n private loop(): void {\n const run = this._visible && !this.reduced && !this.flag('paused') && !(typeof document !== 'undefined' && document.hidden);\n if (run && !this._frame) {\n const tick = () => {\n this.step();\n this.draw();\n this._frame = raf(tick);\n };\n this._frame = raf(tick);\n } else if (!run && this._frame) {\n caf(this._frame);\n this._frame = 0;\n }\n }\n\n private step(): void {\n const { _w: w, _h: h } = this;\n for (const p of this._ps) {\n const dx = p.x - this._mx;\n const dy = p.y - this._my;\n const d2 = dx * dx + dy * dy;\n if (d2 < 8100 && d2 > 0.01) {\n const f = (1 - Math.sqrt(d2) / 90) * 0.6;\n p.x += (dx / Math.sqrt(d2)) * f;\n p.y += (dy / Math.sqrt(d2)) * f;\n }\n p.x += p.vx;\n p.y += p.vy;\n if (p.x < -5) p.x = w + 5;\n else if (p.x > w + 5) p.x = -5;\n if (p.y < -5) p.y = h + 5;\n else if (p.y > h + 5) p.y = -5;\n }\n }\n\n private draw(): void {\n const ctx = this._ctx;\n if (!ctx) return;\n const color = this._color;\n ctx.clearRect(0, 0, this._w, this._h);\n ctx.fillStyle = color;\n ctx.strokeStyle = color;\n const ps = this._ps;\n const link = this.num('links', 110);\n if (link > 0) {\n const l2 = link * link;\n ctx.lineWidth = 0.6;\n for (let i = 0; i < ps.length; i++) {\n for (let j = i + 1; j < ps.length; j++) {\n const dx = ps[i].x - ps[j].x;\n const dy = ps[i].y - ps[j].y;\n const d2 = dx * dx + dy * dy;\n if (d2 < l2) {\n ctx.globalAlpha = (1 - d2 / l2) * 0.35;\n ctx.beginPath();\n ctx.moveTo(ps[i].x, ps[i].y);\n ctx.lineTo(ps[j].x, ps[j].y);\n ctx.stroke();\n }\n }\n }\n }\n ctx.globalAlpha = 0.85;\n for (const p of ps) {\n ctx.beginPath();\n ctx.arc(p.x, p.y, p.r, 0, Math.PI * 2);\n ctx.fill();\n }\n ctx.globalAlpha = 1;\n }\n },\n { id: 'particles', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './grain.css?raw';\n\n/**\n * `<usa-grain>` — a film-grain / noise overlay on top of its content\n * (SVG `feTurbulence` texture, no images to ship). With `animated`, the\n * grain jitters like film (stepped `transform`, ~12 fps).\n *\n * Attributes: `opacity` (0.12), `animated`, `blend` (`mix-blend-mode`,\n * default `overlay`), `scale` (texture size px, 180). Never intercepts\n * pointer events. Reduced motion: static grain.\n */\nexport type UsaGrainElement = UsaElement;\n\nconst noise = (freq: number) =>\n `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='${freq}' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 1.6 -0.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\")`;\n\nexport function defineGrain(tag = 'usa-grain'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaGrain extends Base {\n static get observedAttributes(): string[] {\n return ['opacity', 'blend', 'scale'];\n }\n\n private _layer: HTMLElement | null = null;\n\n mount(): void {\n if (!this._layer) {\n this._layer = document.createElement('div');\n this._layer.className = 'usa-grain-layer';\n this._layer.setAttribute('aria-hidden', 'true');\n this.append(this._layer);\n }\n const s = this._layer.style;\n s.backgroundImage = noise(0.8);\n s.backgroundSize = `${this.num('scale', 180)}px`;\n s.opacity = String(this.num('opacity', 0.12));\n s.mixBlendMode = this.str('blend', 'overlay');\n }\n },\n { id: 'grain', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './marquee.css?raw';\n\n/**\n * `<usa-marquee>` — an infinite, seamless ticker of its children (logos,\n * testimonials, tags). The content is cloned (clones are `aria-hidden` and\n * `inert`) and the track slides with one WAAPI `transform` animation whose\n * duration follows the measured width, so the speed is constant.\n *\n * Attributes: `speed` (px/s, 50), `direction` (`left` default | `right` |\n * `up` | `down`), `gap` (px, 32), `pause-on-hover`, `fade` (soft edges),\n * `paused`. Pauses off-screen. Reduced motion: no movement; the row\n * becomes scrollable instead.\n */\nexport interface UsaMarqueeElement extends UsaElement {\n pause(): void;\n resume(): void;\n}\n\nexport function defineMarquee(tag = 'usa-marquee'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaMarquee extends Base {\n static get observedAttributes(): string[] {\n return ['speed', 'direction', 'gap', 'paused'];\n }\n\n private _track: HTMLElement | null = null;\n private _anim: Animation | null = null;\n private _hover = false;\n private _visible = true;\n private _size = 0;\n\n private get vertical(): boolean {\n const d = this.str('direction', 'left');\n return d === 'up' || d === 'down';\n }\n\n mount(): void {\n if (!this._track) {\n const track = document.createElement('div');\n track.className = 'usa-marquee-track';\n const group = document.createElement('div');\n group.className = 'usa-marquee-group';\n group.append(...Array.from(this.childNodes));\n track.append(group);\n this.append(track);\n this._track = track;\n }\n this.toggleAttribute('data-vertical', this.vertical);\n this.style.setProperty('--usa-marquee-gap', `${this.num('gap', 32)}px`);\n if (this.reduced) {\n this.setAttribute('data-static', '');\n this.syncClones(1);\n return;\n }\n this.removeAttribute('data-static');\n this.build();\n if (typeof ResizeObserver !== 'undefined') {\n const ro = new ResizeObserver(() => this.build());\n ro.observe(this._track.firstElementChild as Element);\n this.onCleanup(() => ro.disconnect());\n }\n this.inView((v) => {\n this._visible = v;\n this.sync();\n });\n this.listen(this, 'pointerenter', () => ((this._hover = true), this.sync()));\n this.listen(this, 'pointerleave', () => ((this._hover = false), this.sync()));\n this.listen(this, 'focusin', () => ((this._hover = true), this.sync()));\n this.listen(this, 'focusout', () => ((this._hover = false), this.sync()));\n }\n\n unmount(): void {\n this._anim?.cancel();\n this._anim = null;\n this._size = 0;\n }\n\n private syncClones(n: number): void {\n const track = this._track!;\n const group = track.firstElementChild as HTMLElement;\n while (track.children.length > n) track.lastElementChild!.remove();\n while (track.children.length < n) {\n const clone = group.cloneNode(true) as HTMLElement;\n clone.setAttribute('aria-hidden', 'true');\n clone.setAttribute('inert', '');\n track.append(clone);\n }\n }\n\n private build(): void {\n const track = this._track!;\n const group = track.firstElementChild as HTMLElement;\n const vertical = this.vertical;\n const gap = this.num('gap', 32);\n const measured = vertical ? group.offsetHeight : group.offsetWidth;\n if (!measured) return; // not laid out yet: the ResizeObserver calls back\n const size = measured + gap;\n if (this._anim && this._size === size) return;\n this._size = size;\n const box = (vertical ? this.clientHeight : this.clientWidth) || size;\n // Enough copies to cover the box twice\n this.syncClones(Math.min(50, Math.max(2, Math.ceil(box / size) + 1)));\n const progress = this._anim?.effect?.getComputedTiming().progress ?? 0;\n this._anim?.cancel();\n const axis = vertical ? 'Y' : 'X';\n const reverse = ['right', 'down'].includes(this.str('direction', 'left'));\n const frames = [{ transform: `translate${axis}(0)` }, { transform: `translate${axis}(${-size}px)` }];\n this._anim = this.motion(track, reverse ? frames.reverse() : frames, {\n duration: (Math.max(1, size) / Math.max(1, this.num('speed', 50))) * 1000,\n iterations: Infinity,\n });\n if (this._anim && progress) this._anim.currentTime = progress * Number(this._anim.effect?.getTiming().duration || 0);\n this.sync();\n }\n\n private sync(): void {\n const a = this._anim;\n if (!a) return;\n const stop = this.flag('paused') || !this._visible || (this._hover && this.flag('pause-on-hover'));\n if (stop && a.playState === 'running') a.pause();\n else if (!stop && a.playState === 'paused') a.play();\n }\n\n pause(): void {\n this.setAttribute('paused', '');\n }\n resume(): void {\n this.removeAttribute('paused');\n }\n\n changed(name: string): void {\n if (name === 'paused') this.sync();\n else super.changed(name);\n }\n },\n { id: 'marquee', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './acrylic.css?raw';\n\n/**\n * `<usa-acrylic>` — Windows Fluent materials for the web: `acrylic`\n * (frosted glass: backdrop blur + saturation + tint + subtle noise) and\n * `mica` (an opaque, wallpaper-tinted base for app backgrounds; on the web it\n * tints from `--usa-mica-source`, a gradient you control). Optional\n * `shimmer` adds a light sweep when it appears or on hover.\n *\n * Attributes: `kind` (`acrylic` default | `mica`), `tint` (colour),\n * `tint-opacity` (0–1, 0.55), `blur` (px, 30), `shimmer`\n * (`hover` | `load` | `none`, default `none`). Falls back to a solid tint\n * without `backdrop-filter` and under `prefers-reduced-transparency` or\n * forced colours, like Windows does when transparency effects are off.\n */\nexport type UsaAcrylicElement = UsaElement;\n\nexport function defineAcrylic(tag = 'usa-acrylic'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaAcrylic extends Base {\n static get observedAttributes(): string[] {\n return ['tint', 'tint-opacity', 'blur', 'shimmer'];\n }\n\n mount(): void {\n const tint = this.getAttribute('tint');\n if (tint) this.style.setProperty('--usa-acrylic-tint', tint);\n else this.style.removeProperty('--usa-acrylic-tint');\n this.style.setProperty('--usa-acrylic-opacity', `${Math.round(this.num('tint-opacity', 0.55) * 100)}%`);\n this.style.setProperty('--usa-acrylic-blur', `${this.num('blur', 30)}px`);\n if (this.str('shimmer') === 'load' && !this.reduced) {\n this.removeAttribute('data-shine');\n void this.offsetWidth;\n this.setAttribute('data-shine', '');\n }\n }\n },\n { id: 'acrylic', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport css from './bg-fx.css?raw';\n\n/** Shared canvas setup: DPR ≤ 2, resize with the host, run only while visible & tab shown. */\nfunction canvasLoop(host: any, draw: (ctx: CanvasRenderingContext2D, w: number, h: number, t: number) => void, still: boolean): void {\n const c = document.createElement('canvas');\n c.className = 'usa-bg-canvas';\n c.setAttribute('aria-hidden', 'true');\n host.prepend(c);\n host.onCleanup(() => c.remove());\n const ctx = c.getContext?.('2d') as CanvasRenderingContext2D | null;\n if (!ctx) return;\n const dpr = Math.min(2, (typeof window !== 'undefined' && window.devicePixelRatio) || 1);\n let w = 0;\n let h = 0;\n const size = () => {\n const r = host.getBoundingClientRect();\n w = Math.max(1, r.width || 300);\n h = Math.max(1, r.height || 150);\n c.width = w * dpr;\n c.height = h * dpr;\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n };\n size();\n const ro = typeof ResizeObserver !== 'undefined' ? new ResizeObserver(size) : null;\n ro?.observe(host);\n host.onCleanup(() => ro?.disconnect());\n let id = 0;\n let on = false;\n const loop = (t: number) => {\n if (!document.hidden) draw(ctx, w, h, t);\n id = raf(loop);\n };\n if (still) {\n draw(ctx, w, h, 0);\n return;\n }\n host.inView((v: boolean) => {\n if (v && !on) {\n on = true;\n id = raf(loop);\n } else if (!v && on) {\n on = false;\n caf(id);\n }\n });\n host.onCleanup(() => caf(id));\n}\n\n/**\n * `<usa-grid-glow>` — a line grid behind its content that lights up around\n * the pointer. Attributes: `size` (cell px, 32), `color`, `radius` (px, 220).\n * Reduced motion: the grid stays, a soft static glow in the centre.\n */\nexport interface UsaGridGlowElement extends UsaElement {}\nexport function defineGridGlow(tag = 'usa-grid-glow'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n this.style.setProperty('--usa-grid', `${this.num('size', 32)}px`);\n this.style.setProperty('--usa-grid-r', `${this.num('radius', 220)}px`);\n if (this.str('color')) this.style.setProperty('--usa-grid-color', this.str('color'));\n if (this.reduced) return;\n let f = 0;\n let x = 0;\n let y = 0;\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n x = e.clientX - r.left;\n y = e.clientY - r.top;\n if (!f) f = raf(() => {\n f = 0;\n this.style.setProperty('--usa-grid-x', `${x}px`);\n this.style.setProperty('--usa-grid-y', `${y}px`);\n });\n });\n this.onCleanup(() => caf(f));\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-blobs>` — soft, slowly morphing colour blobs (fluid gradient\n * backdrop). Attributes: `colors` (comma list), `speed` (1), `blur` (px, 60).\n * Reduced motion: still blobs.\n */\nexport interface UsaBlobsElement extends UsaElement {}\nexport function defineBlobs(tag = 'usa-blobs'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n this.querySelector(':scope > .usa-blobs-layer')?.remove();\n const colors = this.str('colors', '#7c5cff,#22d3ee,#f472b6,#34d399').split(',');\n const layer = document.createElement('div');\n layer.className = 'usa-blobs-layer';\n layer.setAttribute('aria-hidden', 'true');\n layer.innerHTML = colors.map((c, i) => `<i style=\"--c:${c.trim()};--i:${i}\"></i>`).join('');\n this.prepend(layer);\n this.style.setProperty('--usa-blobs-speed', String(this.num('speed', 1)));\n this.style.setProperty('--usa-blobs-blur', `${this.num('blur', 60)}px`);\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-water-ripple>` — interactive water ripples on a canvas over its\n * content (pointer moves and taps disturb the surface). Low-resolution height\n * map, paused off-screen. Attributes: `damping` (0.96), `strength` (1),\n * `color` (highlight). Reduced motion: nothing is drawn.\n */\nexport interface UsaWaterRippleElement extends UsaElement {\n drop(x: number, y: number, strength?: number): void;\n}\nexport function defineWaterRipple(tag = 'usa-water-ripple'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n private _drop: ((x: number, y: number, s?: number) => void) | null = null;\n drop(x: number, y: number, s = 1): void {\n this._drop?.(x, y, s);\n }\n mount(): void {\n if (this.reduced) return;\n const S = 4;\n let cols = 0;\n let rows = 0;\n let a = new Float32Array(0);\n let b = new Float32Array(0);\n const damp = this.num('damping', 0.96);\n const color = this.str('color', '255,255,255');\n this._drop = (x, y, s = 1) => {\n const cx = Math.floor(x / S);\n const cy = Math.floor(y / S);\n if (cx < 1 || cy < 1 || cx >= cols - 1 || cy >= rows - 1) return;\n a[cy * cols + cx] += 256 * s * this.num('strength', 1);\n };\n canvasLoop(this, (ctx, w, h) => {\n const nc = Math.ceil(w / S);\n const nr = Math.ceil(h / S);\n if (nc !== cols || nr !== rows) {\n cols = nc;\n rows = nr;\n a = new Float32Array(cols * rows);\n b = new Float32Array(cols * rows);\n }\n ctx.clearRect(0, 0, w, h);\n for (let y = 1; y < rows - 1; y++) {\n for (let x = 1; x < cols - 1; x++) {\n const i = y * cols + x;\n const v = ((a[i - 1] + a[i + 1] + a[i - cols] + a[i + cols]) / 2 - b[i]) * damp;\n b[i] = v;\n if (v > 2 || v < -2) {\n ctx.fillStyle = `rgba(${color},${Math.min(0.5, Math.abs(v) / 300).toFixed(3)})`;\n ctx.fillRect(x * S, y * S, S, S);\n }\n }\n }\n const t = a;\n a = b;\n b = t;\n }, false);\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this.drop(e.clientX - r.left, e.clientY - r.top, 0.35);\n });\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this.drop(e.clientX - r.left, e.clientY - r.top, 1.5);\n });\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-dot-network>` — a grid of dots that swell and link up with lines\n * around the pointer (a living network backdrop). Attributes: `gap` (px,\n * 28), `color`, `radius` (px of influence, 140). Reduced motion: a static\n * dot grid.\n */\nexport interface UsaDotNetworkElement extends UsaElement {}\nexport function defineDotNetwork(tag = 'usa-dot-network'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n const gap = Math.max(8, this.num('gap', 28));\n const R = this.num('radius', 140);\n const color = this.str('color', '124,92,255');\n let px = -1e4;\n let py = -1e4;\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n px = e.clientX - r.left;\n py = e.clientY - r.top;\n });\n this.listen(this, 'pointerleave', () => (px = py = -1e4));\n canvasLoop(this, (ctx, w, h) => {\n ctx.clearRect(0, 0, w, h);\n const near: [number, number, number][] = [];\n for (let y = gap / 2; y < h; y += gap) {\n for (let x = gap / 2; x < w; x += gap) {\n const d = Math.hypot(x - px, y - py);\n const k = d < R ? 1 - d / R : 0;\n const ox = k ? ((x - px) / (d || 1)) * k * 8 : 0;\n const oy = k ? ((y - py) / (d || 1)) * k * 8 : 0;\n ctx.fillStyle = `rgba(${color},${(0.25 + k * 0.75).toFixed(3)})`;\n ctx.beginPath();\n ctx.arc(x + ox, y + oy, 1.2 + k * 2.2, 0, Math.PI * 2);\n ctx.fill();\n if (k > 0.2) near.push([x + ox, y + oy, k]);\n }\n }\n ctx.lineWidth = 1;\n for (const [x, y, k] of near) {\n ctx.strokeStyle = `rgba(${color},${(k * 0.5).toFixed(3)})`;\n ctx.beginPath();\n ctx.moveTo(x, y);\n ctx.lineTo(px, py);\n ctx.stroke();\n }\n }, this.reduced);\n }\n }, { id: 'bg-fx', text: css });\n}\n","import { adoptStyles, raf, caf, prefersReducedMotion } from '../base';\nimport { setVariant } from '../ui/variants';\nimport css from './fluent.css?raw';\n\nexport interface FluentPresetOptions {\n /** Root to apply to (default `document.documentElement`). */\n root?: HTMLElement;\n /** Reveal highlight on interactive elements (default `true`). */\n reveal?: boolean;\n /** Reveal targets (default buttons, links, `[data-fluent-reveal]`). */\n selector?: string;\n /** Mica-style tinted window background on `<body>` (default `true`). */\n mica?: boolean;\n}\n\n/**\n * Windows 11 **Fluent preset** (v2.8): applies the `fluent` variant\n * (Segoe UI Variable, Windows accent, 8 px radii), a Mica-style tinted\n * window background, Acrylic on `.usa-acrylic` / `[data-acrylic]`, and\n * Reveal highlight (a light following the pointer on borders and\n * backgrounds of interactive elements). Ideal for WebView2 / Electron /\n * Tauri apps on Windows. Returns a function that removes it.\n * Respects reduced motion / transparency (no Reveal tracking; solid materials).\n */\nexport function fluentPreset(options: FluentPresetOptions = {}): () => void {\n if (typeof document === 'undefined') return () => undefined;\n const root = options.root || document.documentElement;\n adoptStyles('fluent-preset', css);\n setVariant('fluent', root);\n root.classList.add('usa-fluent');\n if (options.mica !== false) root.classList.add('usa-fluent-mica');\n const sel = options.selector || 'button, [role=\"button\"], a.usa-fluent-item, [data-fluent-reveal], .usa-fluent-item';\n let frame = 0;\n let last: HTMLElement | null = null;\n let ev: PointerEvent | null = null;\n const apply = () => {\n frame = 0;\n if (!ev) return;\n const t = (ev.target as Element)?.closest?.(sel) as HTMLElement | null;\n if (last && last !== t) last.removeAttribute('data-reveal');\n last = t;\n if (!t) return;\n const r = t.getBoundingClientRect();\n t.style.setProperty('--usa-reveal-x', `${ev.clientX - r.left}px`);\n t.style.setProperty('--usa-reveal-y', `${ev.clientY - r.top}px`);\n t.setAttribute('data-reveal', '');\n };\n const move = (e: PointerEvent) => {\n if (e.pointerType === 'touch') return;\n ev = e;\n if (!frame) frame = raf(apply);\n };\n const reveal = options.reveal !== false && !prefersReducedMotion();\n if (reveal) document.addEventListener('pointermove', move, { passive: true });\n return () => {\n document.removeEventListener('pointermove', move);\n caf(frame);\n last?.removeAttribute('data-reveal');\n root.classList.remove('usa-fluent', 'usa-fluent-mica');\n setVariant(null, root);\n };\n}\n","/**\n * motionary/components/background — backgrounds & decoration.\n * `<usa-aurora>`, `<usa-particles>`, `<usa-grain>`, `<usa-marquee>`,\n * `<usa-acrylic>`.\n */\nimport { defineAurora, type UsaAuroraElement } from './aurora';\nimport { defineParticles, type UsaParticlesElement } from './particles';\nimport { defineGrain, type UsaGrainElement } from './grain';\nimport { defineMarquee, type UsaMarqueeElement } from './marquee';\nimport { defineAcrylic, type UsaAcrylicElement } from './acrylic';\n\nimport { defineGridGlow, defineBlobs, defineWaterRipple, defineDotNetwork } from './bg-fx';\nimport type { UsaGridGlowElement, UsaBlobsElement, UsaWaterRippleElement, UsaDotNetworkElement } from './bg-fx';\nexport { defineAurora, defineParticles, defineGrain, defineMarquee, defineAcrylic };\nexport type { UsaAuroraElement, UsaParticlesElement, UsaGrainElement, UsaMarqueeElement, UsaAcrylicElement };\nexport { defineGridGlow, defineBlobs, defineWaterRipple, defineDotNetwork };\nexport type { UsaGridGlowElement, UsaBlobsElement, UsaWaterRippleElement, UsaDotNetworkElement };\nexport { fluentPreset } from './fluent';\nexport type { FluentPresetOptions } from './fluent';\n\n/** Register every component of this category under its default tag. */\nexport function defineBackgroundComponents(): void {\n defineAurora();\n defineParticles();\n defineGrain();\n defineMarquee();\n defineAcrylic();\n defineGridGlow();\n defineBlobs();\n defineWaterRipple();\n defineDotNetwork();\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-grid-glow': UsaGridGlowElement;\n 'usa-blobs': UsaBlobsElement;\n 'usa-water-ripple': UsaWaterRippleElement;\n 'usa-dot-network': UsaDotNetworkElement;\n 'usa-aurora': UsaAuroraElement;\n 'usa-particles': UsaParticlesElement;\n 'usa-grain': UsaGrainElement;\n 'usa-marquee': UsaMarqueeElement;\n 'usa-acrylic': UsaAcrylicElement;\n }\n}\n"],"names":["defineElement","css","caf","raf","adoptStyles","setVariant","prefersReducedMotion"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { s as setVariant } from '../chunks/variants-
|
|
1
|
+
import { f as defineElement, b as caf, r as raf, C as adoptStyles, p as prefersReducedMotion } from '../chunks/base-BTev8qxg.js';
|
|
2
|
+
import { s as setVariant } from '../chunks/variants-CsRGUIyA.js';
|
|
3
3
|
|
|
4
4
|
var css$6 = "usa-aurora{position:relative;display:block;isolation:isolate;overflow:hidden}usa-aurora .usa-aurora-layer{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:var(--usa-aurora-opacity,0.7);overflow:hidden;contain:strict}usa-aurora .usa-aurora-layer i{position:absolute;display:block;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,var(--c),transparent);will-change:transform;animation:usa-aurora-a var(--usa-aurora-speed,18s) ease-in-out infinite alternate}usa-aurora .usa-aurora-layer i:nth-child(1){left:-15%;top:-30%}usa-aurora .usa-aurora-layer i:nth-child(2){right:-20%;top:-10%;animation-name:usa-aurora-b;animation-duration:calc(var(--usa-aurora-speed,18s) * 1.3)}usa-aurora .usa-aurora-layer i:nth-child(3){left:10%;bottom:-45%;animation-name:usa-aurora-c;animation-duration:calc(var(--usa-aurora-speed,18s) * 0.9)}usa-aurora .usa-aurora-layer i:nth-child(4){right:0;bottom:-30%;width:50%;animation-name:usa-aurora-b;animation-direction:alternate-reverse}usa-aurora[paused] .usa-aurora-layer i,usa-aurora[data-offscreen] .usa-aurora-layer i{animation-play-state:paused}@keyframes usa-aurora-a{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(30%,20%,0) scale(1.25)}}@keyframes usa-aurora-b{from{transform:translate3d(0,0,0) scale(1.1)}to{transform:translate3d(-35%,25%,0) scale(0.85)}}@keyframes usa-aurora-c{from{transform:translate3d(0,0,0) rotate(0deg) scale(1)}to{transform:translate3d(25%,-30%,0) rotate(40deg) scale(1.2)}}@media (prefers-reduced-motion:reduce){usa-aurora .usa-aurora-layer i,usa-grain .usa-grain-layer,usa-acrylic::after{animation:none !important}}";
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.js","sources":["../../src/components/background/aurora.ts","../../src/components/background/particles.ts","../../src/components/background/grain.ts","../../src/components/background/marquee.ts","../../src/components/background/acrylic.ts","../../src/components/background/bg-fx.ts","../../src/components/background/fluent.ts","../../src/components/background/index.ts"],"sourcesContent":["import { defineElement, type UsaElement } from '../base';\nimport css from './aurora.css?raw';\n\n/**\n * `<usa-aurora>` — a slow, drifting aurora / gradient-mesh backdrop behind\n * its content. Soft radial gradients moved with `transform` only (no\n * animated blur), paused while off-screen.\n *\n * Attributes: `colors` (comma-separated, default violet / cyan / pink),\n * `speed` (multiplier, 1), `intensity` (0–1 opacity, 0.7), `paused`.\n * Reduced motion: a still gradient.\n */\nexport type UsaAuroraElement = UsaElement;\n\nexport function defineAurora(tag = 'usa-aurora'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaAurora extends Base {\n static get observedAttributes(): string[] {\n return ['colors', 'speed', 'intensity'];\n }\n\n private _layer: HTMLElement | null = null;\n\n mount(): void {\n if (!this._layer) {\n this._layer = document.createElement('div');\n this._layer.className = 'usa-aurora-layer';\n this._layer.setAttribute('aria-hidden', 'true');\n this._layer.innerHTML = '<i></i><i></i><i></i><i></i>';\n this.prepend(this._layer);\n }\n const colors = this.str('colors', '#7c5cff,#22d3ee,#f472b6,#34d399').split(',').map((c) => c.trim()).filter(Boolean);\n Array.from(this._layer.children).forEach((blob, i) => {\n (blob as HTMLElement).style.setProperty('--c', colors[i % colors.length]);\n });\n const speed = this.num('speed', 1);\n this.style.setProperty('--usa-aurora-speed', `${(18 / Math.max(0.05, speed)).toFixed(2)}s`);\n this.style.setProperty('--usa-aurora-opacity', String(this.num('intensity', 0.7)));\n this.inView((v) => this.toggleAttribute('data-offscreen', !v));\n }\n },\n { id: 'aurora', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport css from './particles.css?raw';\n\n/**\n * `<usa-particles>` — a canvas of drifting particles, optionally linked by\n * lines when close (a \"constellation\"), that drift away from the pointer.\n * Fills its own box (place it as a background with\n * `position: absolute; inset: 0`, or give it a height).\n *\n * Attributes: `count` (60; scaled down on small boxes), `color`\n * (default `currentColor`), `size` (max radius px, 2.2), `speed` (0.35),\n * `links` (max link distance px, 110; `0` disables), `interactive`,\n * `paused`. Renders only while visible and the tab is shown, at device\n * pixel ratio ≤ 2. Reduced motion: one still frame.\n */\nexport interface UsaParticlesElement extends UsaElement {\n /** Re-seed the particles. */\n reset(): void;\n}\n\ninterface P {\n x: number;\n y: number;\n vx: number;\n vy: number;\n r: number;\n}\n\nexport function defineParticles(tag = 'usa-particles'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaParticles extends Base {\n static get observedAttributes(): string[] {\n return ['count', 'color', 'size', 'speed', 'links', 'interactive', 'paused'];\n }\n\n private _canvas: HTMLCanvasElement | null = null;\n private _ctx: CanvasRenderingContext2D | null = null;\n private _ps: P[] = [];\n private _frame = 0;\n private _w = 0;\n private _h = 0;\n private _visible = false;\n private _mx = -1e4;\n private _color = '#888';\n private _my = -1e4;\n\n mount(): void {\n if (!this._canvas) {\n this._canvas = document.createElement('canvas');\n this._canvas.setAttribute('aria-hidden', 'true');\n this.prepend(this._canvas);\n }\n this._ctx = this._canvas.getContext?.('2d') ?? null;\n if (!this._ctx) return;\n this.resize();\n if (typeof ResizeObserver !== 'undefined') {\n const ro = new ResizeObserver(() => {\n this.resize();\n if (!this._frame) this.draw();\n });\n ro.observe(this);\n this.onCleanup(() => ro.disconnect());\n }\n this.inView((v) => {\n this._visible = v;\n this.loop();\n });\n this.listen(document, 'visibilitychange', () => this.loop());\n if (this.flag('interactive')) {\n this.listen(window, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this._mx = e.clientX - r.left;\n this._my = e.clientY - r.top;\n }, { passive: true });\n }\n this.draw();\n }\n\n unmount(): void {\n caf(this._frame);\n this._frame = 0;\n }\n\n reset(): void {\n this._ps = [];\n this.resize();\n this.draw();\n }\n\n private resize(): void {\n const c = this._canvas;\n if (!c || !this._ctx) return;\n const w = this.clientWidth || 300;\n const h = this.clientHeight || 150;\n const dpr = Math.min(2, (typeof devicePixelRatio === 'number' && devicePixelRatio) || 1);\n c.width = Math.round(w * dpr);\n c.height = Math.round(h * dpr);\n this._ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n this._w = w;\n this._h = h;\n this._color = this.getAttribute('color') || (typeof getComputedStyle === 'function' ? getComputedStyle(this).color : '') || '#888';\n const want = Math.round(Math.min(1, (w * h) / (900 * 500)) * Math.max(1, this.num('count', 60))) || 1;\n const speed = this.num('speed', 0.35);\n const size = this.num('size', 2.2);\n while (this._ps.length < want) {\n const a = Math.random() * Math.PI * 2;\n const s = speed * (0.3 + Math.random() * 0.7);\n this._ps.push({ x: Math.random() * w, y: Math.random() * h, vx: Math.cos(a) * s, vy: Math.sin(a) * s, r: 0.6 + Math.random() * (size - 0.6) });\n }\n this._ps.length = want;\n }\n\n private loop(): void {\n const run = this._visible && !this.reduced && !this.flag('paused') && !(typeof document !== 'undefined' && document.hidden);\n if (run && !this._frame) {\n const tick = () => {\n this.step();\n this.draw();\n this._frame = raf(tick);\n };\n this._frame = raf(tick);\n } else if (!run && this._frame) {\n caf(this._frame);\n this._frame = 0;\n }\n }\n\n private step(): void {\n const { _w: w, _h: h } = this;\n for (const p of this._ps) {\n const dx = p.x - this._mx;\n const dy = p.y - this._my;\n const d2 = dx * dx + dy * dy;\n if (d2 < 8100 && d2 > 0.01) {\n const f = (1 - Math.sqrt(d2) / 90) * 0.6;\n p.x += (dx / Math.sqrt(d2)) * f;\n p.y += (dy / Math.sqrt(d2)) * f;\n }\n p.x += p.vx;\n p.y += p.vy;\n if (p.x < -5) p.x = w + 5;\n else if (p.x > w + 5) p.x = -5;\n if (p.y < -5) p.y = h + 5;\n else if (p.y > h + 5) p.y = -5;\n }\n }\n\n private draw(): void {\n const ctx = this._ctx;\n if (!ctx) return;\n const color = this._color;\n ctx.clearRect(0, 0, this._w, this._h);\n ctx.fillStyle = color;\n ctx.strokeStyle = color;\n const ps = this._ps;\n const link = this.num('links', 110);\n if (link > 0) {\n const l2 = link * link;\n ctx.lineWidth = 0.6;\n for (let i = 0; i < ps.length; i++) {\n for (let j = i + 1; j < ps.length; j++) {\n const dx = ps[i].x - ps[j].x;\n const dy = ps[i].y - ps[j].y;\n const d2 = dx * dx + dy * dy;\n if (d2 < l2) {\n ctx.globalAlpha = (1 - d2 / l2) * 0.35;\n ctx.beginPath();\n ctx.moveTo(ps[i].x, ps[i].y);\n ctx.lineTo(ps[j].x, ps[j].y);\n ctx.stroke();\n }\n }\n }\n }\n ctx.globalAlpha = 0.85;\n for (const p of ps) {\n ctx.beginPath();\n ctx.arc(p.x, p.y, p.r, 0, Math.PI * 2);\n ctx.fill();\n }\n ctx.globalAlpha = 1;\n }\n },\n { id: 'particles', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './grain.css?raw';\n\n/**\n * `<usa-grain>` — a film-grain / noise overlay on top of its content\n * (SVG `feTurbulence` texture, no images to ship). With `animated`, the\n * grain jitters like film (stepped `transform`, ~12 fps).\n *\n * Attributes: `opacity` (0.12), `animated`, `blend` (`mix-blend-mode`,\n * default `overlay`), `scale` (texture size px, 180). Never intercepts\n * pointer events. Reduced motion: static grain.\n */\nexport type UsaGrainElement = UsaElement;\n\nconst noise = (freq: number) =>\n `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='${freq}' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 1.6 -0.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\")`;\n\nexport function defineGrain(tag = 'usa-grain'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaGrain extends Base {\n static get observedAttributes(): string[] {\n return ['opacity', 'blend', 'scale'];\n }\n\n private _layer: HTMLElement | null = null;\n\n mount(): void {\n if (!this._layer) {\n this._layer = document.createElement('div');\n this._layer.className = 'usa-grain-layer';\n this._layer.setAttribute('aria-hidden', 'true');\n this.append(this._layer);\n }\n const s = this._layer.style;\n s.backgroundImage = noise(0.8);\n s.backgroundSize = `${this.num('scale', 180)}px`;\n s.opacity = String(this.num('opacity', 0.12));\n s.mixBlendMode = this.str('blend', 'overlay');\n }\n },\n { id: 'grain', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './marquee.css?raw';\n\n/**\n * `<usa-marquee>` — an infinite, seamless ticker of its children (logos,\n * testimonials, tags). The content is cloned (clones are `aria-hidden` and\n * `inert`) and the track slides with one WAAPI `transform` animation whose\n * duration follows the measured width, so the speed is constant.\n *\n * Attributes: `speed` (px/s, 50), `direction` (`left` default | `right` |\n * `up` | `down`), `gap` (px, 32), `pause-on-hover`, `fade` (soft edges),\n * `paused`. Pauses off-screen. Reduced motion: no movement; the row\n * becomes scrollable instead.\n */\nexport interface UsaMarqueeElement extends UsaElement {\n pause(): void;\n resume(): void;\n}\n\nexport function defineMarquee(tag = 'usa-marquee'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaMarquee extends Base {\n static get observedAttributes(): string[] {\n return ['speed', 'direction', 'gap', 'paused'];\n }\n\n private _track: HTMLElement | null = null;\n private _anim: Animation | null = null;\n private _hover = false;\n private _visible = true;\n private _size = 0;\n\n private get vertical(): boolean {\n const d = this.str('direction', 'left');\n return d === 'up' || d === 'down';\n }\n\n mount(): void {\n if (!this._track) {\n const track = document.createElement('div');\n track.className = 'usa-marquee-track';\n const group = document.createElement('div');\n group.className = 'usa-marquee-group';\n group.append(...Array.from(this.childNodes));\n track.append(group);\n this.append(track);\n this._track = track;\n }\n this.toggleAttribute('data-vertical', this.vertical);\n this.style.setProperty('--usa-marquee-gap', `${this.num('gap', 32)}px`);\n if (this.reduced) {\n this.setAttribute('data-static', '');\n this.syncClones(1);\n return;\n }\n this.removeAttribute('data-static');\n this.build();\n if (typeof ResizeObserver !== 'undefined') {\n const ro = new ResizeObserver(() => this.build());\n ro.observe(this._track.firstElementChild as Element);\n this.onCleanup(() => ro.disconnect());\n }\n this.inView((v) => {\n this._visible = v;\n this.sync();\n });\n this.listen(this, 'pointerenter', () => ((this._hover = true), this.sync()));\n this.listen(this, 'pointerleave', () => ((this._hover = false), this.sync()));\n this.listen(this, 'focusin', () => ((this._hover = true), this.sync()));\n this.listen(this, 'focusout', () => ((this._hover = false), this.sync()));\n }\n\n unmount(): void {\n this._anim?.cancel();\n this._anim = null;\n this._size = 0;\n }\n\n private syncClones(n: number): void {\n const track = this._track!;\n const group = track.firstElementChild as HTMLElement;\n while (track.children.length > n) track.lastElementChild!.remove();\n while (track.children.length < n) {\n const clone = group.cloneNode(true) as HTMLElement;\n clone.setAttribute('aria-hidden', 'true');\n clone.setAttribute('inert', '');\n track.append(clone);\n }\n }\n\n private build(): void {\n const track = this._track!;\n const group = track.firstElementChild as HTMLElement;\n const vertical = this.vertical;\n const gap = this.num('gap', 32);\n const measured = vertical ? group.offsetHeight : group.offsetWidth;\n if (!measured) return; // not laid out yet: the ResizeObserver calls back\n const size = measured + gap;\n if (this._anim && this._size === size) return;\n this._size = size;\n const box = (vertical ? this.clientHeight : this.clientWidth) || size;\n // Enough copies to cover the box twice\n this.syncClones(Math.min(50, Math.max(2, Math.ceil(box / size) + 1)));\n const progress = this._anim?.effect?.getComputedTiming().progress ?? 0;\n this._anim?.cancel();\n const axis = vertical ? 'Y' : 'X';\n const reverse = ['right', 'down'].includes(this.str('direction', 'left'));\n const frames = [{ transform: `translate${axis}(0)` }, { transform: `translate${axis}(${-size}px)` }];\n this._anim = this.motion(track, reverse ? frames.reverse() : frames, {\n duration: (Math.max(1, size) / Math.max(1, this.num('speed', 50))) * 1000,\n iterations: Infinity,\n });\n if (this._anim && progress) this._anim.currentTime = progress * Number(this._anim.effect?.getTiming().duration || 0);\n this.sync();\n }\n\n private sync(): void {\n const a = this._anim;\n if (!a) return;\n const stop = this.flag('paused') || !this._visible || (this._hover && this.flag('pause-on-hover'));\n if (stop && a.playState === 'running') a.pause();\n else if (!stop && a.playState === 'paused') a.play();\n }\n\n pause(): void {\n this.setAttribute('paused', '');\n }\n resume(): void {\n this.removeAttribute('paused');\n }\n\n changed(name: string): void {\n if (name === 'paused') this.sync();\n else super.changed(name);\n }\n },\n { id: 'marquee', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './acrylic.css?raw';\n\n/**\n * `<usa-acrylic>` — Windows Fluent materials for the web: `acrylic`\n * (frosted glass: backdrop blur + saturation + tint + subtle noise) and\n * `mica` (an opaque, wallpaper-tinted base for app backgrounds; on the web it\n * tints from `--usa-mica-source`, a gradient you control). Optional\n * `shimmer` adds a light sweep when it appears or on hover.\n *\n * Attributes: `kind` (`acrylic` default | `mica`), `tint` (colour),\n * `tint-opacity` (0–1, 0.55), `blur` (px, 30), `shimmer`\n * (`hover` | `load` | `none`, default `none`). Falls back to a solid tint\n * without `backdrop-filter` and under `prefers-reduced-transparency` or\n * forced colours, like Windows does when transparency effects are off.\n */\nexport type UsaAcrylicElement = UsaElement;\n\nexport function defineAcrylic(tag = 'usa-acrylic'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaAcrylic extends Base {\n static get observedAttributes(): string[] {\n return ['tint', 'tint-opacity', 'blur', 'shimmer'];\n }\n\n mount(): void {\n const tint = this.getAttribute('tint');\n if (tint) this.style.setProperty('--usa-acrylic-tint', tint);\n else this.style.removeProperty('--usa-acrylic-tint');\n this.style.setProperty('--usa-acrylic-opacity', `${Math.round(this.num('tint-opacity', 0.55) * 100)}%`);\n this.style.setProperty('--usa-acrylic-blur', `${this.num('blur', 30)}px`);\n if (this.str('shimmer') === 'load' && !this.reduced) {\n this.removeAttribute('data-shine');\n void this.offsetWidth;\n this.setAttribute('data-shine', '');\n }\n }\n },\n { id: 'acrylic', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport css from './bg-fx.css?raw';\n\n/** Shared canvas setup: DPR ≤ 2, resize with the host, run only while visible & tab shown. */\nfunction canvasLoop(host: any, draw: (ctx: CanvasRenderingContext2D, w: number, h: number, t: number) => void, still: boolean): void {\n const c = document.createElement('canvas');\n c.className = 'usa-bg-canvas';\n c.setAttribute('aria-hidden', 'true');\n host.prepend(c);\n host.onCleanup(() => c.remove());\n const ctx = c.getContext?.('2d') as CanvasRenderingContext2D | null;\n if (!ctx) return;\n const dpr = Math.min(2, (typeof window !== 'undefined' && window.devicePixelRatio) || 1);\n let w = 0;\n let h = 0;\n const size = () => {\n const r = host.getBoundingClientRect();\n w = Math.max(1, r.width || 300);\n h = Math.max(1, r.height || 150);\n c.width = w * dpr;\n c.height = h * dpr;\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n };\n size();\n const ro = typeof ResizeObserver !== 'undefined' ? new ResizeObserver(size) : null;\n ro?.observe(host);\n host.onCleanup(() => ro?.disconnect());\n let id = 0;\n let on = false;\n const loop = (t: number) => {\n if (!document.hidden) draw(ctx, w, h, t);\n id = raf(loop);\n };\n if (still) {\n draw(ctx, w, h, 0);\n return;\n }\n host.inView((v: boolean) => {\n if (v && !on) {\n on = true;\n id = raf(loop);\n } else if (!v && on) {\n on = false;\n caf(id);\n }\n });\n host.onCleanup(() => caf(id));\n}\n\n/**\n * `<usa-grid-glow>` — a line grid behind its content that lights up around\n * the pointer. Attributes: `size` (cell px, 32), `color`, `radius` (px, 220).\n * Reduced motion: the grid stays, a soft static glow in the centre.\n */\nexport interface UsaGridGlowElement extends UsaElement {}\nexport function defineGridGlow(tag = 'usa-grid-glow'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n this.style.setProperty('--usa-grid', `${this.num('size', 32)}px`);\n this.style.setProperty('--usa-grid-r', `${this.num('radius', 220)}px`);\n if (this.str('color')) this.style.setProperty('--usa-grid-color', this.str('color'));\n if (this.reduced) return;\n let f = 0;\n let x = 0;\n let y = 0;\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n x = e.clientX - r.left;\n y = e.clientY - r.top;\n if (!f) f = raf(() => {\n f = 0;\n this.style.setProperty('--usa-grid-x', `${x}px`);\n this.style.setProperty('--usa-grid-y', `${y}px`);\n });\n });\n this.onCleanup(() => caf(f));\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-blobs>` — soft, slowly morphing colour blobs (fluid gradient\n * backdrop). Attributes: `colors` (comma list), `speed` (1), `blur` (px, 60).\n * Reduced motion: still blobs.\n */\nexport interface UsaBlobsElement extends UsaElement {}\nexport function defineBlobs(tag = 'usa-blobs'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n this.querySelector(':scope > .usa-blobs-layer')?.remove();\n const colors = this.str('colors', '#7c5cff,#22d3ee,#f472b6,#34d399').split(',');\n const layer = document.createElement('div');\n layer.className = 'usa-blobs-layer';\n layer.setAttribute('aria-hidden', 'true');\n layer.innerHTML = colors.map((c, i) => `<i style=\"--c:${c.trim()};--i:${i}\"></i>`).join('');\n this.prepend(layer);\n this.style.setProperty('--usa-blobs-speed', String(this.num('speed', 1)));\n this.style.setProperty('--usa-blobs-blur', `${this.num('blur', 60)}px`);\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-water-ripple>` — interactive water ripples on a canvas over its\n * content (pointer moves and taps disturb the surface). Low-resolution height\n * map, paused off-screen. Attributes: `damping` (0.96), `strength` (1),\n * `color` (highlight). Reduced motion: nothing is drawn.\n */\nexport interface UsaWaterRippleElement extends UsaElement {\n drop(x: number, y: number, strength?: number): void;\n}\nexport function defineWaterRipple(tag = 'usa-water-ripple'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n private _drop: ((x: number, y: number, s?: number) => void) | null = null;\n drop(x: number, y: number, s = 1): void {\n this._drop?.(x, y, s);\n }\n mount(): void {\n if (this.reduced) return;\n const S = 4;\n let cols = 0;\n let rows = 0;\n let a = new Float32Array(0);\n let b = new Float32Array(0);\n const damp = this.num('damping', 0.96);\n const color = this.str('color', '255,255,255');\n this._drop = (x, y, s = 1) => {\n const cx = Math.floor(x / S);\n const cy = Math.floor(y / S);\n if (cx < 1 || cy < 1 || cx >= cols - 1 || cy >= rows - 1) return;\n a[cy * cols + cx] += 256 * s * this.num('strength', 1);\n };\n canvasLoop(this, (ctx, w, h) => {\n const nc = Math.ceil(w / S);\n const nr = Math.ceil(h / S);\n if (nc !== cols || nr !== rows) {\n cols = nc;\n rows = nr;\n a = new Float32Array(cols * rows);\n b = new Float32Array(cols * rows);\n }\n ctx.clearRect(0, 0, w, h);\n for (let y = 1; y < rows - 1; y++) {\n for (let x = 1; x < cols - 1; x++) {\n const i = y * cols + x;\n const v = ((a[i - 1] + a[i + 1] + a[i - cols] + a[i + cols]) / 2 - b[i]) * damp;\n b[i] = v;\n if (v > 2 || v < -2) {\n ctx.fillStyle = `rgba(${color},${Math.min(0.5, Math.abs(v) / 300).toFixed(3)})`;\n ctx.fillRect(x * S, y * S, S, S);\n }\n }\n }\n const t = a;\n a = b;\n b = t;\n }, false);\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this.drop(e.clientX - r.left, e.clientY - r.top, 0.35);\n });\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this.drop(e.clientX - r.left, e.clientY - r.top, 1.5);\n });\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-dot-network>` — a grid of dots that swell and link up with lines\n * around the pointer (a living network backdrop). Attributes: `gap` (px,\n * 28), `color`, `radius` (px of influence, 140). Reduced motion: a static\n * dot grid.\n */\nexport interface UsaDotNetworkElement extends UsaElement {}\nexport function defineDotNetwork(tag = 'usa-dot-network'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n const gap = Math.max(8, this.num('gap', 28));\n const R = this.num('radius', 140);\n const color = this.str('color', '124,92,255');\n let px = -1e4;\n let py = -1e4;\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n px = e.clientX - r.left;\n py = e.clientY - r.top;\n });\n this.listen(this, 'pointerleave', () => (px = py = -1e4));\n canvasLoop(this, (ctx, w, h) => {\n ctx.clearRect(0, 0, w, h);\n const near: [number, number, number][] = [];\n for (let y = gap / 2; y < h; y += gap) {\n for (let x = gap / 2; x < w; x += gap) {\n const d = Math.hypot(x - px, y - py);\n const k = d < R ? 1 - d / R : 0;\n const ox = k ? ((x - px) / (d || 1)) * k * 8 : 0;\n const oy = k ? ((y - py) / (d || 1)) * k * 8 : 0;\n ctx.fillStyle = `rgba(${color},${(0.25 + k * 0.75).toFixed(3)})`;\n ctx.beginPath();\n ctx.arc(x + ox, y + oy, 1.2 + k * 2.2, 0, Math.PI * 2);\n ctx.fill();\n if (k > 0.2) near.push([x + ox, y + oy, k]);\n }\n }\n ctx.lineWidth = 1;\n for (const [x, y, k] of near) {\n ctx.strokeStyle = `rgba(${color},${(k * 0.5).toFixed(3)})`;\n ctx.beginPath();\n ctx.moveTo(x, y);\n ctx.lineTo(px, py);\n ctx.stroke();\n }\n }, this.reduced);\n }\n }, { id: 'bg-fx', text: css });\n}\n","import { adoptStyles, raf, caf, prefersReducedMotion } from '../base';\nimport { setVariant } from '../ui/variants';\nimport css from './fluent.css?raw';\n\nexport interface FluentPresetOptions {\n /** Root to apply to (default `document.documentElement`). */\n root?: HTMLElement;\n /** Reveal highlight on interactive elements (default `true`). */\n reveal?: boolean;\n /** Reveal targets (default buttons, links, `[data-fluent-reveal]`). */\n selector?: string;\n /** Mica-style tinted window background on `<body>` (default `true`). */\n mica?: boolean;\n}\n\n/**\n * Windows 11 **Fluent preset** (v2.8): applies the `fluent` variant\n * (Segoe UI Variable, Windows accent, 8 px radii), a Mica-style tinted\n * window background, Acrylic on `.usa-acrylic` / `[data-acrylic]`, and\n * Reveal highlight (a light following the pointer on borders and\n * backgrounds of interactive elements). Ideal for WebView2 / Electron /\n * Tauri apps on Windows. Returns a function that removes it.\n * Respects reduced motion / transparency (no Reveal tracking; solid materials).\n */\nexport function fluentPreset(options: FluentPresetOptions = {}): () => void {\n if (typeof document === 'undefined') return () => undefined;\n const root = options.root || document.documentElement;\n adoptStyles('fluent-preset', css);\n setVariant('fluent', root);\n root.classList.add('usa-fluent');\n if (options.mica !== false) root.classList.add('usa-fluent-mica');\n const sel = options.selector || 'button, [role=\"button\"], a.usa-fluent-item, [data-fluent-reveal], .usa-fluent-item';\n let frame = 0;\n let last: HTMLElement | null = null;\n let ev: PointerEvent | null = null;\n const apply = () => {\n frame = 0;\n if (!ev) return;\n const t = (ev.target as Element)?.closest?.(sel) as HTMLElement | null;\n if (last && last !== t) last.removeAttribute('data-reveal');\n last = t;\n if (!t) return;\n const r = t.getBoundingClientRect();\n t.style.setProperty('--usa-reveal-x', `${ev.clientX - r.left}px`);\n t.style.setProperty('--usa-reveal-y', `${ev.clientY - r.top}px`);\n t.setAttribute('data-reveal', '');\n };\n const move = (e: PointerEvent) => {\n if (e.pointerType === 'touch') return;\n ev = e;\n if (!frame) frame = raf(apply);\n };\n const reveal = options.reveal !== false && !prefersReducedMotion();\n if (reveal) document.addEventListener('pointermove', move, { passive: true });\n return () => {\n document.removeEventListener('pointermove', move);\n caf(frame);\n last?.removeAttribute('data-reveal');\n root.classList.remove('usa-fluent', 'usa-fluent-mica');\n setVariant(null, root);\n };\n}\n","/**\n * motionary/components/background — backgrounds & decoration.\n * `<usa-aurora>`, `<usa-particles>`, `<usa-grain>`, `<usa-marquee>`,\n * `<usa-acrylic>`.\n */\nimport { defineAurora, type UsaAuroraElement } from './aurora';\nimport { defineParticles, type UsaParticlesElement } from './particles';\nimport { defineGrain, type UsaGrainElement } from './grain';\nimport { defineMarquee, type UsaMarqueeElement } from './marquee';\nimport { defineAcrylic, type UsaAcrylicElement } from './acrylic';\n\nimport { defineGridGlow, defineBlobs, defineWaterRipple, defineDotNetwork } from './bg-fx';\nimport type { UsaGridGlowElement, UsaBlobsElement, UsaWaterRippleElement, UsaDotNetworkElement } from './bg-fx';\nexport { defineAurora, defineParticles, defineGrain, defineMarquee, defineAcrylic };\nexport type { UsaAuroraElement, UsaParticlesElement, UsaGrainElement, UsaMarqueeElement, UsaAcrylicElement };\nexport { defineGridGlow, defineBlobs, defineWaterRipple, defineDotNetwork };\nexport type { UsaGridGlowElement, UsaBlobsElement, UsaWaterRippleElement, UsaDotNetworkElement };\nexport { fluentPreset } from './fluent';\nexport type { FluentPresetOptions } from './fluent';\n\n/** Register every component of this category under its default tag. */\nexport function defineBackgroundComponents(): void {\n defineAurora();\n defineParticles();\n defineGrain();\n defineMarquee();\n defineAcrylic();\n defineGridGlow();\n defineBlobs();\n defineWaterRipple();\n defineDotNetwork();\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-grid-glow': UsaGridGlowElement;\n 'usa-blobs': UsaBlobsElement;\n 'usa-water-ripple': UsaWaterRippleElement;\n 'usa-dot-network': UsaDotNetworkElement;\n 'usa-aurora': UsaAuroraElement;\n 'usa-particles': UsaParticlesElement;\n 'usa-grain': UsaGrainElement;\n 'usa-marquee': UsaMarqueeElement;\n 'usa-acrylic': UsaAcrylicElement;\n }\n}\n"],"names":["css"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"background.js","sources":["../../src/components/background/aurora.ts","../../src/components/background/particles.ts","../../src/components/background/grain.ts","../../src/components/background/marquee.ts","../../src/components/background/acrylic.ts","../../src/components/background/bg-fx.ts","../../src/components/background/fluent.ts","../../src/components/background/index.ts"],"sourcesContent":["import { defineElement, type UsaElement } from '../base';\nimport css from './aurora.css?raw';\n\n/**\n * `<usa-aurora>` — a slow, drifting aurora / gradient-mesh backdrop behind\n * its content. Soft radial gradients moved with `transform` only (no\n * animated blur), paused while off-screen.\n *\n * Attributes: `colors` (comma-separated, default violet / cyan / pink),\n * `speed` (multiplier, 1), `intensity` (0–1 opacity, 0.7), `paused`.\n * Reduced motion: a still gradient.\n */\nexport type UsaAuroraElement = UsaElement;\n\nexport function defineAurora(tag = 'usa-aurora'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaAurora extends Base {\n static get observedAttributes(): string[] {\n return ['colors', 'speed', 'intensity'];\n }\n\n private _layer: HTMLElement | null = null;\n\n mount(): void {\n if (!this._layer) {\n this._layer = document.createElement('div');\n this._layer.className = 'usa-aurora-layer';\n this._layer.setAttribute('aria-hidden', 'true');\n this._layer.innerHTML = '<i></i><i></i><i></i><i></i>';\n this.prepend(this._layer);\n }\n const colors = this.str('colors', '#7c5cff,#22d3ee,#f472b6,#34d399').split(',').map((c) => c.trim()).filter(Boolean);\n Array.from(this._layer.children).forEach((blob, i) => {\n (blob as HTMLElement).style.setProperty('--c', colors[i % colors.length]);\n });\n const speed = this.num('speed', 1);\n this.style.setProperty('--usa-aurora-speed', `${(18 / Math.max(0.05, speed)).toFixed(2)}s`);\n this.style.setProperty('--usa-aurora-opacity', String(this.num('intensity', 0.7)));\n this.inView((v) => this.toggleAttribute('data-offscreen', !v));\n }\n },\n { id: 'aurora', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport css from './particles.css?raw';\n\n/**\n * `<usa-particles>` — a canvas of drifting particles, optionally linked by\n * lines when close (a \"constellation\"), that drift away from the pointer.\n * Fills its own box (place it as a background with\n * `position: absolute; inset: 0`, or give it a height).\n *\n * Attributes: `count` (60; scaled down on small boxes), `color`\n * (default `currentColor`), `size` (max radius px, 2.2), `speed` (0.35),\n * `links` (max link distance px, 110; `0` disables), `interactive`,\n * `paused`. Renders only while visible and the tab is shown, at device\n * pixel ratio ≤ 2. Reduced motion: one still frame.\n */\nexport interface UsaParticlesElement extends UsaElement {\n /** Re-seed the particles. */\n reset(): void;\n}\n\ninterface P {\n x: number;\n y: number;\n vx: number;\n vy: number;\n r: number;\n}\n\nexport function defineParticles(tag = 'usa-particles'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaParticles extends Base {\n static get observedAttributes(): string[] {\n return ['count', 'color', 'size', 'speed', 'links', 'interactive', 'paused'];\n }\n\n private _canvas: HTMLCanvasElement | null = null;\n private _ctx: CanvasRenderingContext2D | null = null;\n private _ps: P[] = [];\n private _frame = 0;\n private _w = 0;\n private _h = 0;\n private _visible = false;\n private _mx = -1e4;\n private _color = '#888';\n private _my = -1e4;\n\n mount(): void {\n if (!this._canvas) {\n this._canvas = document.createElement('canvas');\n this._canvas.setAttribute('aria-hidden', 'true');\n this.prepend(this._canvas);\n }\n this._ctx = this._canvas.getContext?.('2d') ?? null;\n if (!this._ctx) return;\n this.resize();\n if (typeof ResizeObserver !== 'undefined') {\n const ro = new ResizeObserver(() => {\n this.resize();\n if (!this._frame) this.draw();\n });\n ro.observe(this);\n this.onCleanup(() => ro.disconnect());\n }\n this.inView((v) => {\n this._visible = v;\n this.loop();\n });\n this.listen(document, 'visibilitychange', () => this.loop());\n if (this.flag('interactive')) {\n this.listen(window, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this._mx = e.clientX - r.left;\n this._my = e.clientY - r.top;\n }, { passive: true });\n }\n this.draw();\n }\n\n unmount(): void {\n caf(this._frame);\n this._frame = 0;\n }\n\n reset(): void {\n this._ps = [];\n this.resize();\n this.draw();\n }\n\n private resize(): void {\n const c = this._canvas;\n if (!c || !this._ctx) return;\n const w = this.clientWidth || 300;\n const h = this.clientHeight || 150;\n const dpr = Math.min(2, (typeof devicePixelRatio === 'number' && devicePixelRatio) || 1);\n c.width = Math.round(w * dpr);\n c.height = Math.round(h * dpr);\n this._ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n this._w = w;\n this._h = h;\n this._color = this.getAttribute('color') || (typeof getComputedStyle === 'function' ? getComputedStyle(this).color : '') || '#888';\n const want = Math.round(Math.min(1, (w * h) / (900 * 500)) * Math.max(1, this.num('count', 60))) || 1;\n const speed = this.num('speed', 0.35);\n const size = this.num('size', 2.2);\n while (this._ps.length < want) {\n const a = Math.random() * Math.PI * 2;\n const s = speed * (0.3 + Math.random() * 0.7);\n this._ps.push({ x: Math.random() * w, y: Math.random() * h, vx: Math.cos(a) * s, vy: Math.sin(a) * s, r: 0.6 + Math.random() * (size - 0.6) });\n }\n this._ps.length = want;\n }\n\n private loop(): void {\n const run = this._visible && !this.reduced && !this.flag('paused') && !(typeof document !== 'undefined' && document.hidden);\n if (run && !this._frame) {\n const tick = () => {\n this.step();\n this.draw();\n this._frame = raf(tick);\n };\n this._frame = raf(tick);\n } else if (!run && this._frame) {\n caf(this._frame);\n this._frame = 0;\n }\n }\n\n private step(): void {\n const { _w: w, _h: h } = this;\n for (const p of this._ps) {\n const dx = p.x - this._mx;\n const dy = p.y - this._my;\n const d2 = dx * dx + dy * dy;\n if (d2 < 8100 && d2 > 0.01) {\n const f = (1 - Math.sqrt(d2) / 90) * 0.6;\n p.x += (dx / Math.sqrt(d2)) * f;\n p.y += (dy / Math.sqrt(d2)) * f;\n }\n p.x += p.vx;\n p.y += p.vy;\n if (p.x < -5) p.x = w + 5;\n else if (p.x > w + 5) p.x = -5;\n if (p.y < -5) p.y = h + 5;\n else if (p.y > h + 5) p.y = -5;\n }\n }\n\n private draw(): void {\n const ctx = this._ctx;\n if (!ctx) return;\n const color = this._color;\n ctx.clearRect(0, 0, this._w, this._h);\n ctx.fillStyle = color;\n ctx.strokeStyle = color;\n const ps = this._ps;\n const link = this.num('links', 110);\n if (link > 0) {\n const l2 = link * link;\n ctx.lineWidth = 0.6;\n for (let i = 0; i < ps.length; i++) {\n for (let j = i + 1; j < ps.length; j++) {\n const dx = ps[i].x - ps[j].x;\n const dy = ps[i].y - ps[j].y;\n const d2 = dx * dx + dy * dy;\n if (d2 < l2) {\n ctx.globalAlpha = (1 - d2 / l2) * 0.35;\n ctx.beginPath();\n ctx.moveTo(ps[i].x, ps[i].y);\n ctx.lineTo(ps[j].x, ps[j].y);\n ctx.stroke();\n }\n }\n }\n }\n ctx.globalAlpha = 0.85;\n for (const p of ps) {\n ctx.beginPath();\n ctx.arc(p.x, p.y, p.r, 0, Math.PI * 2);\n ctx.fill();\n }\n ctx.globalAlpha = 1;\n }\n },\n { id: 'particles', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './grain.css?raw';\n\n/**\n * `<usa-grain>` — a film-grain / noise overlay on top of its content\n * (SVG `feTurbulence` texture, no images to ship). With `animated`, the\n * grain jitters like film (stepped `transform`, ~12 fps).\n *\n * Attributes: `opacity` (0.12), `animated`, `blend` (`mix-blend-mode`,\n * default `overlay`), `scale` (texture size px, 180). Never intercepts\n * pointer events. Reduced motion: static grain.\n */\nexport type UsaGrainElement = UsaElement;\n\nconst noise = (freq: number) =>\n `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='${freq}' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 1.6 -0.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\")`;\n\nexport function defineGrain(tag = 'usa-grain'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaGrain extends Base {\n static get observedAttributes(): string[] {\n return ['opacity', 'blend', 'scale'];\n }\n\n private _layer: HTMLElement | null = null;\n\n mount(): void {\n if (!this._layer) {\n this._layer = document.createElement('div');\n this._layer.className = 'usa-grain-layer';\n this._layer.setAttribute('aria-hidden', 'true');\n this.append(this._layer);\n }\n const s = this._layer.style;\n s.backgroundImage = noise(0.8);\n s.backgroundSize = `${this.num('scale', 180)}px`;\n s.opacity = String(this.num('opacity', 0.12));\n s.mixBlendMode = this.str('blend', 'overlay');\n }\n },\n { id: 'grain', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './marquee.css?raw';\n\n/**\n * `<usa-marquee>` — an infinite, seamless ticker of its children (logos,\n * testimonials, tags). The content is cloned (clones are `aria-hidden` and\n * `inert`) and the track slides with one WAAPI `transform` animation whose\n * duration follows the measured width, so the speed is constant.\n *\n * Attributes: `speed` (px/s, 50), `direction` (`left` default | `right` |\n * `up` | `down`), `gap` (px, 32), `pause-on-hover`, `fade` (soft edges),\n * `paused`. Pauses off-screen. Reduced motion: no movement; the row\n * becomes scrollable instead.\n */\nexport interface UsaMarqueeElement extends UsaElement {\n pause(): void;\n resume(): void;\n}\n\nexport function defineMarquee(tag = 'usa-marquee'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaMarquee extends Base {\n static get observedAttributes(): string[] {\n return ['speed', 'direction', 'gap', 'paused'];\n }\n\n private _track: HTMLElement | null = null;\n private _anim: Animation | null = null;\n private _hover = false;\n private _visible = true;\n private _size = 0;\n\n private get vertical(): boolean {\n const d = this.str('direction', 'left');\n return d === 'up' || d === 'down';\n }\n\n mount(): void {\n if (!this._track) {\n const track = document.createElement('div');\n track.className = 'usa-marquee-track';\n const group = document.createElement('div');\n group.className = 'usa-marquee-group';\n group.append(...Array.from(this.childNodes));\n track.append(group);\n this.append(track);\n this._track = track;\n }\n this.toggleAttribute('data-vertical', this.vertical);\n this.style.setProperty('--usa-marquee-gap', `${this.num('gap', 32)}px`);\n if (this.reduced) {\n this.setAttribute('data-static', '');\n this.syncClones(1);\n return;\n }\n this.removeAttribute('data-static');\n this.build();\n if (typeof ResizeObserver !== 'undefined') {\n const ro = new ResizeObserver(() => this.build());\n ro.observe(this._track.firstElementChild as Element);\n this.onCleanup(() => ro.disconnect());\n }\n this.inView((v) => {\n this._visible = v;\n this.sync();\n });\n this.listen(this, 'pointerenter', () => ((this._hover = true), this.sync()));\n this.listen(this, 'pointerleave', () => ((this._hover = false), this.sync()));\n this.listen(this, 'focusin', () => ((this._hover = true), this.sync()));\n this.listen(this, 'focusout', () => ((this._hover = false), this.sync()));\n }\n\n unmount(): void {\n this._anim?.cancel();\n this._anim = null;\n this._size = 0;\n }\n\n private syncClones(n: number): void {\n const track = this._track!;\n const group = track.firstElementChild as HTMLElement;\n while (track.children.length > n) track.lastElementChild!.remove();\n while (track.children.length < n) {\n const clone = group.cloneNode(true) as HTMLElement;\n clone.setAttribute('aria-hidden', 'true');\n clone.setAttribute('inert', '');\n track.append(clone);\n }\n }\n\n private build(): void {\n const track = this._track!;\n const group = track.firstElementChild as HTMLElement;\n const vertical = this.vertical;\n const gap = this.num('gap', 32);\n const measured = vertical ? group.offsetHeight : group.offsetWidth;\n if (!measured) return; // not laid out yet: the ResizeObserver calls back\n const size = measured + gap;\n if (this._anim && this._size === size) return;\n this._size = size;\n const box = (vertical ? this.clientHeight : this.clientWidth) || size;\n // Enough copies to cover the box twice\n this.syncClones(Math.min(50, Math.max(2, Math.ceil(box / size) + 1)));\n const progress = this._anim?.effect?.getComputedTiming().progress ?? 0;\n this._anim?.cancel();\n const axis = vertical ? 'Y' : 'X';\n const reverse = ['right', 'down'].includes(this.str('direction', 'left'));\n const frames = [{ transform: `translate${axis}(0)` }, { transform: `translate${axis}(${-size}px)` }];\n this._anim = this.motion(track, reverse ? frames.reverse() : frames, {\n duration: (Math.max(1, size) / Math.max(1, this.num('speed', 50))) * 1000,\n iterations: Infinity,\n });\n if (this._anim && progress) this._anim.currentTime = progress * Number(this._anim.effect?.getTiming().duration || 0);\n this.sync();\n }\n\n private sync(): void {\n const a = this._anim;\n if (!a) return;\n const stop = this.flag('paused') || !this._visible || (this._hover && this.flag('pause-on-hover'));\n if (stop && a.playState === 'running') a.pause();\n else if (!stop && a.playState === 'paused') a.play();\n }\n\n pause(): void {\n this.setAttribute('paused', '');\n }\n resume(): void {\n this.removeAttribute('paused');\n }\n\n changed(name: string): void {\n if (name === 'paused') this.sync();\n else super.changed(name);\n }\n },\n { id: 'marquee', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './acrylic.css?raw';\n\n/**\n * `<usa-acrylic>` — Windows Fluent materials for the web: `acrylic`\n * (frosted glass: backdrop blur + saturation + tint + subtle noise) and\n * `mica` (an opaque, wallpaper-tinted base for app backgrounds; on the web it\n * tints from `--usa-mica-source`, a gradient you control). Optional\n * `shimmer` adds a light sweep when it appears or on hover.\n *\n * Attributes: `kind` (`acrylic` default | `mica`), `tint` (colour),\n * `tint-opacity` (0–1, 0.55), `blur` (px, 30), `shimmer`\n * (`hover` | `load` | `none`, default `none`). Falls back to a solid tint\n * without `backdrop-filter` and under `prefers-reduced-transparency` or\n * forced colours, like Windows does when transparency effects are off.\n */\nexport type UsaAcrylicElement = UsaElement;\n\nexport function defineAcrylic(tag = 'usa-acrylic'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaAcrylic extends Base {\n static get observedAttributes(): string[] {\n return ['tint', 'tint-opacity', 'blur', 'shimmer'];\n }\n\n mount(): void {\n const tint = this.getAttribute('tint');\n if (tint) this.style.setProperty('--usa-acrylic-tint', tint);\n else this.style.removeProperty('--usa-acrylic-tint');\n this.style.setProperty('--usa-acrylic-opacity', `${Math.round(this.num('tint-opacity', 0.55) * 100)}%`);\n this.style.setProperty('--usa-acrylic-blur', `${this.num('blur', 30)}px`);\n if (this.str('shimmer') === 'load' && !this.reduced) {\n this.removeAttribute('data-shine');\n void this.offsetWidth;\n this.setAttribute('data-shine', '');\n }\n }\n },\n { id: 'acrylic', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport css from './bg-fx.css?raw';\n\n/** Shared canvas setup: DPR ≤ 2, resize with the host, run only while visible & tab shown. */\nfunction canvasLoop(host: any, draw: (ctx: CanvasRenderingContext2D, w: number, h: number, t: number) => void, still: boolean): void {\n const c = document.createElement('canvas');\n c.className = 'usa-bg-canvas';\n c.setAttribute('aria-hidden', 'true');\n host.prepend(c);\n host.onCleanup(() => c.remove());\n const ctx = c.getContext?.('2d') as CanvasRenderingContext2D | null;\n if (!ctx) return;\n const dpr = Math.min(2, (typeof window !== 'undefined' && window.devicePixelRatio) || 1);\n let w = 0;\n let h = 0;\n const size = () => {\n const r = host.getBoundingClientRect();\n w = Math.max(1, r.width || 300);\n h = Math.max(1, r.height || 150);\n c.width = w * dpr;\n c.height = h * dpr;\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n };\n size();\n const ro = typeof ResizeObserver !== 'undefined' ? new ResizeObserver(size) : null;\n ro?.observe(host);\n host.onCleanup(() => ro?.disconnect());\n let id = 0;\n let on = false;\n const loop = (t: number) => {\n if (!document.hidden) draw(ctx, w, h, t);\n id = raf(loop);\n };\n if (still) {\n draw(ctx, w, h, 0);\n return;\n }\n host.inView((v: boolean) => {\n if (v && !on) {\n on = true;\n id = raf(loop);\n } else if (!v && on) {\n on = false;\n caf(id);\n }\n });\n host.onCleanup(() => caf(id));\n}\n\n/**\n * `<usa-grid-glow>` — a line grid behind its content that lights up around\n * the pointer. Attributes: `size` (cell px, 32), `color`, `radius` (px, 220).\n * Reduced motion: the grid stays, a soft static glow in the centre.\n */\nexport interface UsaGridGlowElement extends UsaElement {}\nexport function defineGridGlow(tag = 'usa-grid-glow'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n this.style.setProperty('--usa-grid', `${this.num('size', 32)}px`);\n this.style.setProperty('--usa-grid-r', `${this.num('radius', 220)}px`);\n if (this.str('color')) this.style.setProperty('--usa-grid-color', this.str('color'));\n if (this.reduced) return;\n let f = 0;\n let x = 0;\n let y = 0;\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n x = e.clientX - r.left;\n y = e.clientY - r.top;\n if (!f) f = raf(() => {\n f = 0;\n this.style.setProperty('--usa-grid-x', `${x}px`);\n this.style.setProperty('--usa-grid-y', `${y}px`);\n });\n });\n this.onCleanup(() => caf(f));\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-blobs>` — soft, slowly morphing colour blobs (fluid gradient\n * backdrop). Attributes: `colors` (comma list), `speed` (1), `blur` (px, 60).\n * Reduced motion: still blobs.\n */\nexport interface UsaBlobsElement extends UsaElement {}\nexport function defineBlobs(tag = 'usa-blobs'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n this.querySelector(':scope > .usa-blobs-layer')?.remove();\n const colors = this.str('colors', '#7c5cff,#22d3ee,#f472b6,#34d399').split(',');\n const layer = document.createElement('div');\n layer.className = 'usa-blobs-layer';\n layer.setAttribute('aria-hidden', 'true');\n layer.innerHTML = colors.map((c, i) => `<i style=\"--c:${c.trim()};--i:${i}\"></i>`).join('');\n this.prepend(layer);\n this.style.setProperty('--usa-blobs-speed', String(this.num('speed', 1)));\n this.style.setProperty('--usa-blobs-blur', `${this.num('blur', 60)}px`);\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-water-ripple>` — interactive water ripples on a canvas over its\n * content (pointer moves and taps disturb the surface). Low-resolution height\n * map, paused off-screen. Attributes: `damping` (0.96), `strength` (1),\n * `color` (highlight). Reduced motion: nothing is drawn.\n */\nexport interface UsaWaterRippleElement extends UsaElement {\n drop(x: number, y: number, strength?: number): void;\n}\nexport function defineWaterRipple(tag = 'usa-water-ripple'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n private _drop: ((x: number, y: number, s?: number) => void) | null = null;\n drop(x: number, y: number, s = 1): void {\n this._drop?.(x, y, s);\n }\n mount(): void {\n if (this.reduced) return;\n const S = 4;\n let cols = 0;\n let rows = 0;\n let a = new Float32Array(0);\n let b = new Float32Array(0);\n const damp = this.num('damping', 0.96);\n const color = this.str('color', '255,255,255');\n this._drop = (x, y, s = 1) => {\n const cx = Math.floor(x / S);\n const cy = Math.floor(y / S);\n if (cx < 1 || cy < 1 || cx >= cols - 1 || cy >= rows - 1) return;\n a[cy * cols + cx] += 256 * s * this.num('strength', 1);\n };\n canvasLoop(this, (ctx, w, h) => {\n const nc = Math.ceil(w / S);\n const nr = Math.ceil(h / S);\n if (nc !== cols || nr !== rows) {\n cols = nc;\n rows = nr;\n a = new Float32Array(cols * rows);\n b = new Float32Array(cols * rows);\n }\n ctx.clearRect(0, 0, w, h);\n for (let y = 1; y < rows - 1; y++) {\n for (let x = 1; x < cols - 1; x++) {\n const i = y * cols + x;\n const v = ((a[i - 1] + a[i + 1] + a[i - cols] + a[i + cols]) / 2 - b[i]) * damp;\n b[i] = v;\n if (v > 2 || v < -2) {\n ctx.fillStyle = `rgba(${color},${Math.min(0.5, Math.abs(v) / 300).toFixed(3)})`;\n ctx.fillRect(x * S, y * S, S, S);\n }\n }\n }\n const t = a;\n a = b;\n b = t;\n }, false);\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this.drop(e.clientX - r.left, e.clientY - r.top, 0.35);\n });\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this.drop(e.clientX - r.left, e.clientY - r.top, 1.5);\n });\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-dot-network>` — a grid of dots that swell and link up with lines\n * around the pointer (a living network backdrop). Attributes: `gap` (px,\n * 28), `color`, `radius` (px of influence, 140). Reduced motion: a static\n * dot grid.\n */\nexport interface UsaDotNetworkElement extends UsaElement {}\nexport function defineDotNetwork(tag = 'usa-dot-network'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n const gap = Math.max(8, this.num('gap', 28));\n const R = this.num('radius', 140);\n const color = this.str('color', '124,92,255');\n let px = -1e4;\n let py = -1e4;\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n px = e.clientX - r.left;\n py = e.clientY - r.top;\n });\n this.listen(this, 'pointerleave', () => (px = py = -1e4));\n canvasLoop(this, (ctx, w, h) => {\n ctx.clearRect(0, 0, w, h);\n const near: [number, number, number][] = [];\n for (let y = gap / 2; y < h; y += gap) {\n for (let x = gap / 2; x < w; x += gap) {\n const d = Math.hypot(x - px, y - py);\n const k = d < R ? 1 - d / R : 0;\n const ox = k ? ((x - px) / (d || 1)) * k * 8 : 0;\n const oy = k ? ((y - py) / (d || 1)) * k * 8 : 0;\n ctx.fillStyle = `rgba(${color},${(0.25 + k * 0.75).toFixed(3)})`;\n ctx.beginPath();\n ctx.arc(x + ox, y + oy, 1.2 + k * 2.2, 0, Math.PI * 2);\n ctx.fill();\n if (k > 0.2) near.push([x + ox, y + oy, k]);\n }\n }\n ctx.lineWidth = 1;\n for (const [x, y, k] of near) {\n ctx.strokeStyle = `rgba(${color},${(k * 0.5).toFixed(3)})`;\n ctx.beginPath();\n ctx.moveTo(x, y);\n ctx.lineTo(px, py);\n ctx.stroke();\n }\n }, this.reduced);\n }\n }, { id: 'bg-fx', text: css });\n}\n","import { adoptStyles, raf, caf, prefersReducedMotion } from '../base';\nimport { setVariant } from '../ui/variants';\nimport css from './fluent.css?raw';\n\nexport interface FluentPresetOptions {\n /** Root to apply to (default `document.documentElement`). */\n root?: HTMLElement;\n /** Reveal highlight on interactive elements (default `true`). */\n reveal?: boolean;\n /** Reveal targets (default buttons, links, `[data-fluent-reveal]`). */\n selector?: string;\n /** Mica-style tinted window background on `<body>` (default `true`). */\n mica?: boolean;\n}\n\n/**\n * Windows 11 **Fluent preset** (v2.8): applies the `fluent` variant\n * (Segoe UI Variable, Windows accent, 8 px radii), a Mica-style tinted\n * window background, Acrylic on `.usa-acrylic` / `[data-acrylic]`, and\n * Reveal highlight (a light following the pointer on borders and\n * backgrounds of interactive elements). Ideal for WebView2 / Electron /\n * Tauri apps on Windows. Returns a function that removes it.\n * Respects reduced motion / transparency (no Reveal tracking; solid materials).\n */\nexport function fluentPreset(options: FluentPresetOptions = {}): () => void {\n if (typeof document === 'undefined') return () => undefined;\n const root = options.root || document.documentElement;\n adoptStyles('fluent-preset', css);\n setVariant('fluent', root);\n root.classList.add('usa-fluent');\n if (options.mica !== false) root.classList.add('usa-fluent-mica');\n const sel = options.selector || 'button, [role=\"button\"], a.usa-fluent-item, [data-fluent-reveal], .usa-fluent-item';\n let frame = 0;\n let last: HTMLElement | null = null;\n let ev: PointerEvent | null = null;\n const apply = () => {\n frame = 0;\n if (!ev) return;\n const t = (ev.target as Element)?.closest?.(sel) as HTMLElement | null;\n if (last && last !== t) last.removeAttribute('data-reveal');\n last = t;\n if (!t) return;\n const r = t.getBoundingClientRect();\n t.style.setProperty('--usa-reveal-x', `${ev.clientX - r.left}px`);\n t.style.setProperty('--usa-reveal-y', `${ev.clientY - r.top}px`);\n t.setAttribute('data-reveal', '');\n };\n const move = (e: PointerEvent) => {\n if (e.pointerType === 'touch') return;\n ev = e;\n if (!frame) frame = raf(apply);\n };\n const reveal = options.reveal !== false && !prefersReducedMotion();\n if (reveal) document.addEventListener('pointermove', move, { passive: true });\n return () => {\n document.removeEventListener('pointermove', move);\n caf(frame);\n last?.removeAttribute('data-reveal');\n root.classList.remove('usa-fluent', 'usa-fluent-mica');\n setVariant(null, root);\n };\n}\n","/**\n * motionary/components/background — backgrounds & decoration.\n * `<usa-aurora>`, `<usa-particles>`, `<usa-grain>`, `<usa-marquee>`,\n * `<usa-acrylic>`.\n */\nimport { defineAurora, type UsaAuroraElement } from './aurora';\nimport { defineParticles, type UsaParticlesElement } from './particles';\nimport { defineGrain, type UsaGrainElement } from './grain';\nimport { defineMarquee, type UsaMarqueeElement } from './marquee';\nimport { defineAcrylic, type UsaAcrylicElement } from './acrylic';\n\nimport { defineGridGlow, defineBlobs, defineWaterRipple, defineDotNetwork } from './bg-fx';\nimport type { UsaGridGlowElement, UsaBlobsElement, UsaWaterRippleElement, UsaDotNetworkElement } from './bg-fx';\nexport { defineAurora, defineParticles, defineGrain, defineMarquee, defineAcrylic };\nexport type { UsaAuroraElement, UsaParticlesElement, UsaGrainElement, UsaMarqueeElement, UsaAcrylicElement };\nexport { defineGridGlow, defineBlobs, defineWaterRipple, defineDotNetwork };\nexport type { UsaGridGlowElement, UsaBlobsElement, UsaWaterRippleElement, UsaDotNetworkElement };\nexport { fluentPreset } from './fluent';\nexport type { FluentPresetOptions } from './fluent';\n\n/** Register every component of this category under its default tag. */\nexport function defineBackgroundComponents(): void {\n defineAurora();\n defineParticles();\n defineGrain();\n defineMarquee();\n defineAcrylic();\n defineGridGlow();\n defineBlobs();\n defineWaterRipple();\n defineDotNetwork();\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-grid-glow': UsaGridGlowElement;\n 'usa-blobs': UsaBlobsElement;\n 'usa-water-ripple': UsaWaterRippleElement;\n 'usa-dot-network': UsaDotNetworkElement;\n 'usa-aurora': UsaAuroraElement;\n 'usa-particles': UsaParticlesElement;\n 'usa-grain': UsaGrainElement;\n 'usa-marquee': UsaMarqueeElement;\n 'usa-acrylic': UsaAcrylicElement;\n }\n}\n"],"names":["css"],"mappings":"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"}
|