@wix/motion 1.0.73 → 1.572.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/README.md +3 -0
- package/dist/cjs/AnimationGroup.js +92 -0
- package/dist/cjs/AnimationGroup.js.map +1 -0
- package/dist/cjs/api/common.js +123 -0
- package/dist/cjs/api/common.js.map +1 -0
- package/dist/cjs/api/cssAnimations.js +58 -0
- package/dist/cjs/api/cssAnimations.js.map +1 -0
- package/dist/cjs/api/prepare.js +20 -0
- package/dist/cjs/api/prepare.js.map +1 -0
- package/dist/cjs/api/webAnimations.js +140 -0
- package/dist/cjs/api/webAnimations.js.map +1 -0
- package/dist/cjs/easings.js +272 -0
- package/dist/cjs/easings.js.map +1 -0
- package/dist/cjs/external-types.d.js +2 -0
- package/dist/cjs/external-types.d.js.map +1 -0
- package/dist/cjs/index.js +16 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/BgCloseUp.js +74 -0
- package/dist/cjs/library/backgroundScroll/BgCloseUp.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/BgFade.js +51 -0
- package/dist/cjs/library/backgroundScroll/BgFade.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/BgFadeBack.js +73 -0
- package/dist/cjs/library/backgroundScroll/BgFadeBack.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/BgFake3D.js +103 -0
- package/dist/cjs/library/backgroundScroll/BgFake3D.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/BgPan.js +50 -0
- package/dist/cjs/library/backgroundScroll/BgPan.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/BgParallax.js +43 -0
- package/dist/cjs/library/backgroundScroll/BgParallax.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/BgPullBack.js +45 -0
- package/dist/cjs/library/backgroundScroll/BgPullBack.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/BgReveal.js +14 -0
- package/dist/cjs/library/backgroundScroll/BgReveal.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/BgRotate.js +37 -0
- package/dist/cjs/library/backgroundScroll/BgRotate.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/BgSkew.js +44 -0
- package/dist/cjs/library/backgroundScroll/BgSkew.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/BgZoom.js +125 -0
- package/dist/cjs/library/backgroundScroll/BgZoom.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/ImageParallax.js +58 -0
- package/dist/cjs/library/backgroundScroll/ImageParallax.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/index.js +32 -0
- package/dist/cjs/library/backgroundScroll/index.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/test/testUtils.js +9 -0
- package/dist/cjs/library/backgroundScroll/test/testUtils.js.map +1 -0
- package/dist/cjs/library/backgroundScroll/utils.js +37 -0
- package/dist/cjs/library/backgroundScroll/utils.js.map +1 -0
- package/dist/cjs/library/entrance/ArcIn.js +110 -0
- package/dist/cjs/library/entrance/ArcIn.js.map +1 -0
- package/dist/cjs/library/entrance/BlurIn.js +56 -0
- package/dist/cjs/library/entrance/BlurIn.js.map +1 -0
- package/dist/cjs/library/entrance/BounceIn.js +143 -0
- package/dist/cjs/library/entrance/BounceIn.js.map +1 -0
- package/dist/cjs/library/entrance/CircleIn.js +75 -0
- package/dist/cjs/library/entrance/CircleIn.js.map +1 -0
- package/dist/cjs/library/entrance/CurveIn.js +80 -0
- package/dist/cjs/library/entrance/CurveIn.js.map +1 -0
- package/dist/cjs/library/entrance/DropIn.js +64 -0
- package/dist/cjs/library/entrance/DropIn.js.map +1 -0
- package/dist/cjs/library/entrance/ExpandIn.js +121 -0
- package/dist/cjs/library/entrance/ExpandIn.js.map +1 -0
- package/dist/cjs/library/entrance/FadeIn.js +27 -0
- package/dist/cjs/library/entrance/FadeIn.js.map +1 -0
- package/dist/cjs/library/entrance/FlipIn.js +107 -0
- package/dist/cjs/library/entrance/FlipIn.js.map +1 -0
- package/dist/cjs/library/entrance/FloatIn.js +67 -0
- package/dist/cjs/library/entrance/FloatIn.js.map +1 -0
- package/dist/cjs/library/entrance/FoldIn.js +134 -0
- package/dist/cjs/library/entrance/FoldIn.js.map +1 -0
- package/dist/cjs/library/entrance/GlideIn.js +89 -0
- package/dist/cjs/library/entrance/GlideIn.js.map +1 -0
- package/dist/cjs/library/entrance/GlitchIn.js +29 -0
- package/dist/cjs/library/entrance/GlitchIn.js.map +1 -0
- package/dist/cjs/library/entrance/GrowIn.js +66 -0
- package/dist/cjs/library/entrance/GrowIn.js.map +1 -0
- package/dist/cjs/library/entrance/PunchIn.js +178 -0
- package/dist/cjs/library/entrance/PunchIn.js.map +1 -0
- package/dist/cjs/library/entrance/RevealIn.js +72 -0
- package/dist/cjs/library/entrance/RevealIn.js.map +1 -0
- package/dist/cjs/library/entrance/ShapeIn.js +75 -0
- package/dist/cjs/library/entrance/ShapeIn.js.map +1 -0
- package/dist/cjs/library/entrance/ShuttersIn.js +48 -0
- package/dist/cjs/library/entrance/ShuttersIn.js.map +1 -0
- package/dist/cjs/library/entrance/SlideIn.js +140 -0
- package/dist/cjs/library/entrance/SlideIn.js.map +1 -0
- package/dist/cjs/library/entrance/SpinIn.js +65 -0
- package/dist/cjs/library/entrance/SpinIn.js.map +1 -0
- package/dist/cjs/library/entrance/TiltIn.js +102 -0
- package/dist/cjs/library/entrance/TiltIn.js.map +1 -0
- package/dist/cjs/library/entrance/TurnIn.js +85 -0
- package/dist/cjs/library/entrance/TurnIn.js.map +1 -0
- package/dist/cjs/library/entrance/WinkIn.js +115 -0
- package/dist/cjs/library/entrance/WinkIn.js.map +1 -0
- package/dist/cjs/library/entrance/index.js +55 -0
- package/dist/cjs/library/entrance/index.js.map +1 -0
- package/dist/cjs/library/entrance/test/testUtils.js +9 -0
- package/dist/cjs/library/entrance/test/testUtils.js.map +1 -0
- package/dist/cjs/library/mouse/AiryMouse.js +76 -0
- package/dist/cjs/library/mouse/AiryMouse.js.map +1 -0
- package/dist/cjs/library/mouse/BlobMouse.js +70 -0
- package/dist/cjs/library/mouse/BlobMouse.js.map +1 -0
- package/dist/cjs/library/mouse/BlurMouse.js +94 -0
- package/dist/cjs/library/mouse/BlurMouse.js.map +1 -0
- package/dist/cjs/library/mouse/BounceMouse.js +26 -0
- package/dist/cjs/library/mouse/BounceMouse.js.map +1 -0
- package/dist/cjs/library/mouse/CustomMouse.js +62 -0
- package/dist/cjs/library/mouse/CustomMouse.js.map +1 -0
- package/dist/cjs/library/mouse/ScaleMouse.js +98 -0
- package/dist/cjs/library/mouse/ScaleMouse.js.map +1 -0
- package/dist/cjs/library/mouse/SkewMouse.js +92 -0
- package/dist/cjs/library/mouse/SkewMouse.js.map +1 -0
- package/dist/cjs/library/mouse/SpinMouse.js +41 -0
- package/dist/cjs/library/mouse/SpinMouse.js.map +1 -0
- package/dist/cjs/library/mouse/SwivelMouse.js +85 -0
- package/dist/cjs/library/mouse/SwivelMouse.js.map +1 -0
- package/dist/cjs/library/mouse/Tilt3DMouse.js +65 -0
- package/dist/cjs/library/mouse/Tilt3DMouse.js.map +1 -0
- package/dist/cjs/library/mouse/Track3DMouse.js +87 -0
- package/dist/cjs/library/mouse/Track3DMouse.js.map +1 -0
- package/dist/cjs/library/mouse/TrackMouse.js +65 -0
- package/dist/cjs/library/mouse/TrackMouse.js.map +1 -0
- package/dist/cjs/library/mouse/index.js +32 -0
- package/dist/cjs/library/mouse/index.js.map +1 -0
- package/dist/cjs/library/ongoing/Blink.js +120 -0
- package/dist/cjs/library/ongoing/Blink.js.map +1 -0
- package/dist/cjs/library/ongoing/Bounce.js +92 -0
- package/dist/cjs/library/ongoing/Bounce.js.map +1 -0
- package/dist/cjs/library/ongoing/Breathe.js +124 -0
- package/dist/cjs/library/ongoing/Breathe.js.map +1 -0
- package/dist/cjs/library/ongoing/Cross.js +262 -0
- package/dist/cjs/library/ongoing/Cross.js.map +1 -0
- package/dist/cjs/library/ongoing/DVD.js +84 -0
- package/dist/cjs/library/ongoing/DVD.js.map +1 -0
- package/dist/cjs/library/ongoing/Flash.js +45 -0
- package/dist/cjs/library/ongoing/Flash.js.map +1 -0
- package/dist/cjs/library/ongoing/Flip.js +67 -0
- package/dist/cjs/library/ongoing/Flip.js.map +1 -0
- package/dist/cjs/library/ongoing/Fold.js +167 -0
- package/dist/cjs/library/ongoing/Fold.js.map +1 -0
- package/dist/cjs/library/ongoing/Jello.js +72 -0
- package/dist/cjs/library/ongoing/Jello.js.map +1 -0
- package/dist/cjs/library/ongoing/Poke.js +102 -0
- package/dist/cjs/library/ongoing/Poke.js.map +1 -0
- package/dist/cjs/library/ongoing/Pulse.js +75 -0
- package/dist/cjs/library/ongoing/Pulse.js.map +1 -0
- package/dist/cjs/library/ongoing/Rubber.js +92 -0
- package/dist/cjs/library/ongoing/Rubber.js.map +1 -0
- package/dist/cjs/library/ongoing/Spin.js +55 -0
- package/dist/cjs/library/ongoing/Spin.js.map +1 -0
- package/dist/cjs/library/ongoing/Swing.js +130 -0
- package/dist/cjs/library/ongoing/Swing.js.map +1 -0
- package/dist/cjs/library/ongoing/Wiggle.js +88 -0
- package/dist/cjs/library/ongoing/Wiggle.js.map +1 -0
- package/dist/cjs/library/ongoing/index.js +41 -0
- package/dist/cjs/library/ongoing/index.js.map +1 -0
- package/dist/cjs/library/ongoing/test/testUtils.js +9 -0
- package/dist/cjs/library/ongoing/test/testUtils.js.map +1 -0
- package/dist/cjs/library/scroll/ArcScroll.js +58 -0
- package/dist/cjs/library/scroll/ArcScroll.js.map +1 -0
- package/dist/cjs/library/scroll/BlurScroll.js +43 -0
- package/dist/cjs/library/scroll/BlurScroll.js.map +1 -0
- package/dist/cjs/library/scroll/FadeScroll.js +36 -0
- package/dist/cjs/library/scroll/FadeScroll.js.map +1 -0
- package/dist/cjs/library/scroll/FlipScroll.js +50 -0
- package/dist/cjs/library/scroll/FlipScroll.js.map +1 -0
- package/dist/cjs/library/scroll/GrowScroll.js +160 -0
- package/dist/cjs/library/scroll/GrowScroll.js.map +1 -0
- package/dist/cjs/library/scroll/MoveScroll.js +123 -0
- package/dist/cjs/library/scroll/MoveScroll.js.map +1 -0
- package/dist/cjs/library/scroll/PanScroll.js +77 -0
- package/dist/cjs/library/scroll/PanScroll.js.map +1 -0
- package/dist/cjs/library/scroll/ParallaxScroll.js +56 -0
- package/dist/cjs/library/scroll/ParallaxScroll.js.map +1 -0
- package/dist/cjs/library/scroll/RevealScroll.js +92 -0
- package/dist/cjs/library/scroll/RevealScroll.js.map +1 -0
- package/dist/cjs/library/scroll/ShapeScroll.js +114 -0
- package/dist/cjs/library/scroll/ShapeScroll.js.map +1 -0
- package/dist/cjs/library/scroll/ShrinkScroll.js +157 -0
- package/dist/cjs/library/scroll/ShrinkScroll.js.map +1 -0
- package/dist/cjs/library/scroll/ShuttersScroll.js +67 -0
- package/dist/cjs/library/scroll/ShuttersScroll.js.map +1 -0
- package/dist/cjs/library/scroll/SkewPanScroll.js +113 -0
- package/dist/cjs/library/scroll/SkewPanScroll.js.map +1 -0
- package/dist/cjs/library/scroll/SlideScroll.js +115 -0
- package/dist/cjs/library/scroll/SlideScroll.js.map +1 -0
- package/dist/cjs/library/scroll/Spin3dScroll.js +119 -0
- package/dist/cjs/library/scroll/Spin3dScroll.js.map +1 -0
- package/dist/cjs/library/scroll/SpinScroll.js +51 -0
- package/dist/cjs/library/scroll/SpinScroll.js.map +1 -0
- package/dist/cjs/library/scroll/StretchScroll.js +105 -0
- package/dist/cjs/library/scroll/StretchScroll.js.map +1 -0
- package/dist/cjs/library/scroll/TiltScroll.js +129 -0
- package/dist/cjs/library/scroll/TiltScroll.js.map +1 -0
- package/dist/cjs/library/scroll/TurnScroll.js +125 -0
- package/dist/cjs/library/scroll/TurnScroll.js.map +1 -0
- package/dist/cjs/library/scroll/index.js +46 -0
- package/dist/cjs/library/scroll/index.js.map +1 -0
- package/dist/cjs/library/scroll/test/testUtils.js +9 -0
- package/dist/cjs/library/scroll/test/testUtils.js.map +1 -0
- package/dist/cjs/motion.js +130 -0
- package/dist/cjs/motion.js.map +1 -0
- package/dist/cjs/playground/animationMotionBgScroll.stories.js +371 -0
- package/dist/cjs/playground/animationMotionBgScroll.stories.js.map +1 -0
- package/dist/cjs/playground/animationsMotion.stories.js +200 -0
- package/dist/cjs/playground/animationsMotion.stories.js.map +1 -0
- package/dist/cjs/playground/animationsMotionMouse.stories.js +267 -0
- package/dist/cjs/playground/animationsMotionMouse.stories.js.map +1 -0
- package/dist/cjs/playground/animationsMotionOngoing.stories.js +196 -0
- package/dist/cjs/playground/animationsMotionOngoing.stories.js.map +1 -0
- package/dist/cjs/playground/animationsMotionScroll.stories.js +271 -0
- package/dist/cjs/playground/animationsMotionScroll.stories.js.map +1 -0
- package/dist/cjs/playground/controls.js +334 -0
- package/dist/cjs/playground/controls.js.map +1 -0
- package/dist/cjs/playground/mouse-parallax-components/plastic.jpeg +0 -0
- package/dist/cjs/playground/mouse-parallax-components/vector.svg +19 -0
- package/dist/cjs/playground/mouseComponent.js +114 -0
- package/dist/cjs/playground/mouseComponent.js.map +1 -0
- package/dist/cjs/playground/playground-common.js +84 -0
- package/dist/cjs/playground/playground-common.js.map +1 -0
- package/dist/cjs/playground/playground.module.scss +381 -0
- package/dist/cjs/test-types.d.js +2 -0
- package/dist/cjs/test-types.d.js.map +1 -0
- package/dist/cjs/types.js +2 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils.js +327 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/AnimationGroup.js +86 -0
- package/dist/esm/AnimationGroup.js.map +1 -0
- package/dist/esm/api/common.js +112 -0
- package/dist/esm/api/common.js.map +1 -0
- package/dist/esm/api/cssAnimations.js +53 -0
- package/dist/esm/api/cssAnimations.js.map +1 -0
- package/dist/esm/api/prepare.js +16 -0
- package/dist/esm/api/prepare.js.map +1 -0
- package/dist/esm/api/webAnimations.js +137 -0
- package/dist/esm/api/webAnimations.js.map +1 -0
- package/dist/esm/easings.js +248 -0
- package/dist/esm/easings.js.map +1 -0
- package/dist/esm/external-types.d.js +2 -0
- package/dist/esm/external-types.d.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/library/backgroundScroll/BgCloseUp.js +70 -0
- package/dist/esm/library/backgroundScroll/BgCloseUp.js.map +1 -0
- package/dist/esm/library/backgroundScroll/BgFade.js +47 -0
- package/dist/esm/library/backgroundScroll/BgFade.js.map +1 -0
- package/dist/esm/library/backgroundScroll/BgFadeBack.js +69 -0
- package/dist/esm/library/backgroundScroll/BgFadeBack.js.map +1 -0
- package/dist/esm/library/backgroundScroll/BgFake3D.js +99 -0
- package/dist/esm/library/backgroundScroll/BgFake3D.js.map +1 -0
- package/dist/esm/library/backgroundScroll/BgPan.js +46 -0
- package/dist/esm/library/backgroundScroll/BgPan.js.map +1 -0
- package/dist/esm/library/backgroundScroll/BgParallax.js +39 -0
- package/dist/esm/library/backgroundScroll/BgParallax.js.map +1 -0
- package/dist/esm/library/backgroundScroll/BgPullBack.js +41 -0
- package/dist/esm/library/backgroundScroll/BgPullBack.js.map +1 -0
- package/dist/esm/library/backgroundScroll/BgReveal.js +10 -0
- package/dist/esm/library/backgroundScroll/BgReveal.js.map +1 -0
- package/dist/esm/library/backgroundScroll/BgRotate.js +33 -0
- package/dist/esm/library/backgroundScroll/BgRotate.js.map +1 -0
- package/dist/esm/library/backgroundScroll/BgSkew.js +40 -0
- package/dist/esm/library/backgroundScroll/BgSkew.js.map +1 -0
- package/dist/esm/library/backgroundScroll/BgZoom.js +121 -0
- package/dist/esm/library/backgroundScroll/BgZoom.js.map +1 -0
- package/dist/esm/library/backgroundScroll/ImageParallax.js +54 -0
- package/dist/esm/library/backgroundScroll/ImageParallax.js.map +1 -0
- package/dist/esm/library/backgroundScroll/index.js +27 -0
- package/dist/esm/library/backgroundScroll/index.js.map +1 -0
- package/dist/esm/library/backgroundScroll/test/testUtils.js +5 -0
- package/dist/esm/library/backgroundScroll/test/testUtils.js.map +1 -0
- package/dist/esm/library/backgroundScroll/utils.js +31 -0
- package/dist/esm/library/backgroundScroll/utils.js.map +1 -0
- package/dist/esm/library/entrance/ArcIn.js +106 -0
- package/dist/esm/library/entrance/ArcIn.js.map +1 -0
- package/dist/esm/library/entrance/BlurIn.js +53 -0
- package/dist/esm/library/entrance/BlurIn.js.map +1 -0
- package/dist/esm/library/entrance/BounceIn.js +143 -0
- package/dist/esm/library/entrance/BounceIn.js.map +1 -0
- package/dist/esm/library/entrance/CircleIn.js +71 -0
- package/dist/esm/library/entrance/CircleIn.js.map +1 -0
- package/dist/esm/library/entrance/CurveIn.js +76 -0
- package/dist/esm/library/entrance/CurveIn.js.map +1 -0
- package/dist/esm/library/entrance/DropIn.js +61 -0
- package/dist/esm/library/entrance/DropIn.js.map +1 -0
- package/dist/esm/library/entrance/ExpandIn.js +117 -0
- package/dist/esm/library/entrance/ExpandIn.js.map +1 -0
- package/dist/esm/library/entrance/FadeIn.js +21 -0
- package/dist/esm/library/entrance/FadeIn.js.map +1 -0
- package/dist/esm/library/entrance/FlipIn.js +100 -0
- package/dist/esm/library/entrance/FlipIn.js.map +1 -0
- package/dist/esm/library/entrance/FloatIn.js +64 -0
- package/dist/esm/library/entrance/FloatIn.js.map +1 -0
- package/dist/esm/library/entrance/FoldIn.js +127 -0
- package/dist/esm/library/entrance/FoldIn.js.map +1 -0
- package/dist/esm/library/entrance/GlideIn.js +85 -0
- package/dist/esm/library/entrance/GlideIn.js.map +1 -0
- package/dist/esm/library/entrance/GlitchIn.js +22 -0
- package/dist/esm/library/entrance/GlitchIn.js.map +1 -0
- package/dist/esm/library/entrance/GrowIn.js +63 -0
- package/dist/esm/library/entrance/GrowIn.js.map +1 -0
- package/dist/esm/library/entrance/PunchIn.js +175 -0
- package/dist/esm/library/entrance/PunchIn.js.map +1 -0
- package/dist/esm/library/entrance/RevealIn.js +65 -0
- package/dist/esm/library/entrance/RevealIn.js.map +1 -0
- package/dist/esm/library/entrance/ShapeIn.js +72 -0
- package/dist/esm/library/entrance/ShapeIn.js.map +1 -0
- package/dist/esm/library/entrance/ShuttersIn.js +45 -0
- package/dist/esm/library/entrance/ShuttersIn.js.map +1 -0
- package/dist/esm/library/entrance/SlideIn.js +133 -0
- package/dist/esm/library/entrance/SlideIn.js.map +1 -0
- package/dist/esm/library/entrance/SpinIn.js +62 -0
- package/dist/esm/library/entrance/SpinIn.js.map +1 -0
- package/dist/esm/library/entrance/TiltIn.js +98 -0
- package/dist/esm/library/entrance/TiltIn.js.map +1 -0
- package/dist/esm/library/entrance/TurnIn.js +82 -0
- package/dist/esm/library/entrance/TurnIn.js.map +1 -0
- package/dist/esm/library/entrance/WinkIn.js +108 -0
- package/dist/esm/library/entrance/WinkIn.js.map +1 -0
- package/dist/esm/library/entrance/index.js +49 -0
- package/dist/esm/library/entrance/index.js.map +1 -0
- package/dist/esm/library/entrance/test/testUtils.js +5 -0
- package/dist/esm/library/entrance/test/testUtils.js.map +1 -0
- package/dist/esm/library/mouse/AiryMouse.js +73 -0
- package/dist/esm/library/mouse/AiryMouse.js.map +1 -0
- package/dist/esm/library/mouse/BlobMouse.js +67 -0
- package/dist/esm/library/mouse/BlobMouse.js.map +1 -0
- package/dist/esm/library/mouse/BlurMouse.js +91 -0
- package/dist/esm/library/mouse/BlurMouse.js.map +1 -0
- package/dist/esm/library/mouse/BounceMouse.js +21 -0
- package/dist/esm/library/mouse/BounceMouse.js.map +1 -0
- package/dist/esm/library/mouse/CustomMouse.js +56 -0
- package/dist/esm/library/mouse/CustomMouse.js.map +1 -0
- package/dist/esm/library/mouse/ScaleMouse.js +95 -0
- package/dist/esm/library/mouse/ScaleMouse.js.map +1 -0
- package/dist/esm/library/mouse/SkewMouse.js +89 -0
- package/dist/esm/library/mouse/SkewMouse.js.map +1 -0
- package/dist/esm/library/mouse/SpinMouse.js +38 -0
- package/dist/esm/library/mouse/SpinMouse.js.map +1 -0
- package/dist/esm/library/mouse/SwivelMouse.js +82 -0
- package/dist/esm/library/mouse/SwivelMouse.js.map +1 -0
- package/dist/esm/library/mouse/Tilt3DMouse.js +62 -0
- package/dist/esm/library/mouse/Tilt3DMouse.js.map +1 -0
- package/dist/esm/library/mouse/Track3DMouse.js +84 -0
- package/dist/esm/library/mouse/Track3DMouse.js.map +1 -0
- package/dist/esm/library/mouse/TrackMouse.js +62 -0
- package/dist/esm/library/mouse/TrackMouse.js.map +1 -0
- package/dist/esm/library/mouse/index.js +27 -0
- package/dist/esm/library/mouse/index.js.map +1 -0
- package/dist/esm/library/ongoing/Blink.js +115 -0
- package/dist/esm/library/ongoing/Blink.js.map +1 -0
- package/dist/esm/library/ongoing/Bounce.js +92 -0
- package/dist/esm/library/ongoing/Bounce.js.map +1 -0
- package/dist/esm/library/ongoing/Breathe.js +122 -0
- package/dist/esm/library/ongoing/Breathe.js.map +1 -0
- package/dist/esm/library/ongoing/Cross.js +273 -0
- package/dist/esm/library/ongoing/Cross.js.map +1 -0
- package/dist/esm/library/ongoing/DVD.js +79 -0
- package/dist/esm/library/ongoing/DVD.js.map +1 -0
- package/dist/esm/library/ongoing/Flash.js +42 -0
- package/dist/esm/library/ongoing/Flash.js.map +1 -0
- package/dist/esm/library/ongoing/Flip.js +64 -0
- package/dist/esm/library/ongoing/Flip.js.map +1 -0
- package/dist/esm/library/ongoing/Fold.js +165 -0
- package/dist/esm/library/ongoing/Fold.js.map +1 -0
- package/dist/esm/library/ongoing/Jello.js +70 -0
- package/dist/esm/library/ongoing/Jello.js.map +1 -0
- package/dist/esm/library/ongoing/Poke.js +100 -0
- package/dist/esm/library/ongoing/Poke.js.map +1 -0
- package/dist/esm/library/ongoing/Pulse.js +73 -0
- package/dist/esm/library/ongoing/Pulse.js.map +1 -0
- package/dist/esm/library/ongoing/Rubber.js +90 -0
- package/dist/esm/library/ongoing/Rubber.js.map +1 -0
- package/dist/esm/library/ongoing/Spin.js +52 -0
- package/dist/esm/library/ongoing/Spin.js.map +1 -0
- package/dist/esm/library/ongoing/Swing.js +128 -0
- package/dist/esm/library/ongoing/Swing.js.map +1 -0
- package/dist/esm/library/ongoing/Wiggle.js +86 -0
- package/dist/esm/library/ongoing/Wiggle.js.map +1 -0
- package/dist/esm/library/ongoing/index.js +33 -0
- package/dist/esm/library/ongoing/index.js.map +1 -0
- package/dist/esm/library/ongoing/test/testUtils.js +5 -0
- package/dist/esm/library/ongoing/test/testUtils.js.map +1 -0
- package/dist/esm/library/scroll/ArcScroll.js +54 -0
- package/dist/esm/library/scroll/ArcScroll.js.map +1 -0
- package/dist/esm/library/scroll/BlurScroll.js +39 -0
- package/dist/esm/library/scroll/BlurScroll.js.map +1 -0
- package/dist/esm/library/scroll/FadeScroll.js +32 -0
- package/dist/esm/library/scroll/FadeScroll.js.map +1 -0
- package/dist/esm/library/scroll/FlipScroll.js +46 -0
- package/dist/esm/library/scroll/FlipScroll.js.map +1 -0
- package/dist/esm/library/scroll/GrowScroll.js +157 -0
- package/dist/esm/library/scroll/GrowScroll.js.map +1 -0
- package/dist/esm/library/scroll/MoveScroll.js +120 -0
- package/dist/esm/library/scroll/MoveScroll.js.map +1 -0
- package/dist/esm/library/scroll/PanScroll.js +73 -0
- package/dist/esm/library/scroll/PanScroll.js.map +1 -0
- package/dist/esm/library/scroll/ParallaxScroll.js +53 -0
- package/dist/esm/library/scroll/ParallaxScroll.js.map +1 -0
- package/dist/esm/library/scroll/RevealScroll.js +88 -0
- package/dist/esm/library/scroll/RevealScroll.js.map +1 -0
- package/dist/esm/library/scroll/ShapeScroll.js +110 -0
- package/dist/esm/library/scroll/ShapeScroll.js.map +1 -0
- package/dist/esm/library/scroll/ShrinkScroll.js +154 -0
- package/dist/esm/library/scroll/ShrinkScroll.js.map +1 -0
- package/dist/esm/library/scroll/ShuttersScroll.js +63 -0
- package/dist/esm/library/scroll/ShuttersScroll.js.map +1 -0
- package/dist/esm/library/scroll/SkewPanScroll.js +109 -0
- package/dist/esm/library/scroll/SkewPanScroll.js.map +1 -0
- package/dist/esm/library/scroll/SlideScroll.js +111 -0
- package/dist/esm/library/scroll/SlideScroll.js.map +1 -0
- package/dist/esm/library/scroll/Spin3dScroll.js +116 -0
- package/dist/esm/library/scroll/Spin3dScroll.js.map +1 -0
- package/dist/esm/library/scroll/SpinScroll.js +47 -0
- package/dist/esm/library/scroll/SpinScroll.js.map +1 -0
- package/dist/esm/library/scroll/StretchScroll.js +101 -0
- package/dist/esm/library/scroll/StretchScroll.js.map +1 -0
- package/dist/esm/library/scroll/TiltScroll.js +126 -0
- package/dist/esm/library/scroll/TiltScroll.js.map +1 -0
- package/dist/esm/library/scroll/TurnScroll.js +121 -0
- package/dist/esm/library/scroll/TurnScroll.js.map +1 -0
- package/dist/esm/library/scroll/index.js +41 -0
- package/dist/esm/library/scroll/index.js.map +1 -0
- package/dist/esm/library/scroll/test/testUtils.js +5 -0
- package/dist/esm/library/scroll/test/testUtils.js.map +1 -0
- package/dist/esm/motion.js +124 -0
- package/dist/esm/motion.js.map +1 -0
- package/dist/esm/playground/animationMotionBgScroll.stories.js +286 -0
- package/dist/esm/playground/animationMotionBgScroll.stories.js.map +1 -0
- package/dist/esm/playground/animationsMotion.stories.js +133 -0
- package/dist/esm/playground/animationsMotion.stories.js.map +1 -0
- package/dist/esm/playground/animationsMotionMouse.stories.js +188 -0
- package/dist/esm/playground/animationsMotionMouse.stories.js.map +1 -0
- package/dist/esm/playground/animationsMotionOngoing.stories.js +129 -0
- package/dist/esm/playground/animationsMotionOngoing.stories.js.map +1 -0
- package/dist/esm/playground/animationsMotionScroll.stories.js +199 -0
- package/dist/esm/playground/animationsMotionScroll.stories.js.map +1 -0
- package/dist/esm/playground/controls.js +168 -0
- package/dist/esm/playground/controls.js.map +1 -0
- package/dist/esm/playground/mouse-parallax-components/plastic.jpeg +0 -0
- package/dist/esm/playground/mouse-parallax-components/vector.svg +19 -0
- package/dist/esm/playground/mouseComponent.js +61 -0
- package/dist/esm/playground/mouseComponent.js.map +1 -0
- package/dist/esm/playground/playground-common.js +91 -0
- package/dist/esm/playground/playground-common.js.map +1 -0
- package/dist/esm/playground/playground.module.scss +381 -0
- package/dist/esm/test-types.d.js +2 -0
- package/dist/esm/test-types.d.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils.js +355 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/types/AnimationGroup.d.ts +26 -0
- package/dist/types/AnimationGroup.d.ts.map +1 -0
- package/dist/types/api/common.d.ts +164 -0
- package/dist/types/api/common.d.ts.map +1 -0
- package/dist/types/api/cssAnimations.d.ts +21 -0
- package/dist/types/api/cssAnimations.d.ts.map +1 -0
- package/dist/types/api/prepare.d.ts +4 -0
- package/dist/types/api/prepare.d.ts.map +1 -0
- package/dist/types/api/webAnimations.d.ts +7 -0
- package/dist/types/api/webAnimations.d.ts.map +1 -0
- package/dist/types/easings.d.ts +217 -0
- package/dist/types/easings.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/BgCloseUp.d.ts +52 -0
- package/dist/types/library/backgroundScroll/BgCloseUp.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/BgFade.d.ts +28 -0
- package/dist/types/library/backgroundScroll/BgFade.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/BgFadeBack.d.ts +53 -0
- package/dist/types/library/backgroundScroll/BgFadeBack.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/BgFake3D.d.ts +52 -0
- package/dist/types/library/backgroundScroll/BgFake3D.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/BgPan.d.ts +27 -0
- package/dist/types/library/backgroundScroll/BgPan.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/BgParallax.d.ts +27 -0
- package/dist/types/library/backgroundScroll/BgParallax.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/BgPullBack.d.ts +27 -0
- package/dist/types/library/backgroundScroll/BgPullBack.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/BgReveal.d.ts +3 -0
- package/dist/types/library/backgroundScroll/BgReveal.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/BgRotate.d.ts +27 -0
- package/dist/types/library/backgroundScroll/BgRotate.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/BgSkew.d.ts +27 -0
- package/dist/types/library/backgroundScroll/BgSkew.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/BgZoom.d.ts +75 -0
- package/dist/types/library/backgroundScroll/BgZoom.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/ImageParallax.d.ts +27 -0
- package/dist/types/library/backgroundScroll/ImageParallax.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/index.d.ts +3 -0
- package/dist/types/library/backgroundScroll/index.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/test/testUtils.d.ts +3 -0
- package/dist/types/library/backgroundScroll/test/testUtils.d.ts.map +1 -0
- package/dist/types/library/backgroundScroll/utils.d.ts +9 -0
- package/dist/types/library/backgroundScroll/utils.d.ts.map +1 -0
- package/dist/types/library/entrance/ArcIn.d.ts +106 -0
- package/dist/types/library/entrance/ArcIn.d.ts.map +1 -0
- package/dist/types/library/entrance/BlurIn.d.ts +95 -0
- package/dist/types/library/entrance/BlurIn.d.ts.map +1 -0
- package/dist/types/library/entrance/BounceIn.d.ts +115 -0
- package/dist/types/library/entrance/BounceIn.d.ts.map +1 -0
- package/dist/types/library/entrance/CircleIn.d.ts +126 -0
- package/dist/types/library/entrance/CircleIn.d.ts.map +1 -0
- package/dist/types/library/entrance/CurveIn.d.ts +76 -0
- package/dist/types/library/entrance/CurveIn.d.ts.map +1 -0
- package/dist/types/library/entrance/DropIn.d.ts +101 -0
- package/dist/types/library/entrance/DropIn.d.ts.map +1 -0
- package/dist/types/library/entrance/ExpandIn.d.ts +106 -0
- package/dist/types/library/entrance/ExpandIn.d.ts.map +1 -0
- package/dist/types/library/entrance/FadeIn.d.ts +49 -0
- package/dist/types/library/entrance/FadeIn.d.ts.map +1 -0
- package/dist/types/library/entrance/FlipIn.d.ts +104 -0
- package/dist/types/library/entrance/FlipIn.d.ts.map +1 -0
- package/dist/types/library/entrance/FloatIn.d.ts +75 -0
- package/dist/types/library/entrance/FloatIn.d.ts.map +1 -0
- package/dist/types/library/entrance/FoldIn.d.ts +108 -0
- package/dist/types/library/entrance/FoldIn.d.ts.map +1 -0
- package/dist/types/library/entrance/GlideIn.d.ts +76 -0
- package/dist/types/library/entrance/GlideIn.d.ts.map +1 -0
- package/dist/types/library/entrance/GlitchIn.d.ts +75 -0
- package/dist/types/library/entrance/GlitchIn.d.ts.map +1 -0
- package/dist/types/library/entrance/GrowIn.d.ts +105 -0
- package/dist/types/library/entrance/GrowIn.d.ts.map +1 -0
- package/dist/types/library/entrance/PunchIn.d.ts +110 -0
- package/dist/types/library/entrance/PunchIn.d.ts.map +1 -0
- package/dist/types/library/entrance/RevealIn.d.ts +74 -0
- package/dist/types/library/entrance/RevealIn.d.ts.map +1 -0
- package/dist/types/library/entrance/ShapeIn.d.ts +103 -0
- package/dist/types/library/entrance/ShapeIn.d.ts.map +1 -0
- package/dist/types/library/entrance/ShuttersIn.d.ts +75 -0
- package/dist/types/library/entrance/ShuttersIn.d.ts.map +1 -0
- package/dist/types/library/entrance/SlideIn.d.ts +68 -0
- package/dist/types/library/entrance/SlideIn.d.ts.map +1 -0
- package/dist/types/library/entrance/SpinIn.d.ts +107 -0
- package/dist/types/library/entrance/SpinIn.d.ts.map +1 -0
- package/dist/types/library/entrance/TiltIn.d.ts +168 -0
- package/dist/types/library/entrance/TiltIn.d.ts.map +1 -0
- package/dist/types/library/entrance/TurnIn.d.ts +105 -0
- package/dist/types/library/entrance/TurnIn.d.ts.map +1 -0
- package/dist/types/library/entrance/WinkIn.d.ts +160 -0
- package/dist/types/library/entrance/WinkIn.d.ts.map +1 -0
- package/dist/types/library/entrance/index.d.ts +3 -0
- package/dist/types/library/entrance/index.d.ts.map +1 -0
- package/dist/types/library/entrance/test/testUtils.d.ts +3 -0
- package/dist/types/library/entrance/test/testUtils.d.ts.map +1 -0
- package/dist/types/library/mouse/AiryMouse.d.ts +9 -0
- package/dist/types/library/mouse/AiryMouse.d.ts.map +1 -0
- package/dist/types/library/mouse/BlobMouse.d.ts +9 -0
- package/dist/types/library/mouse/BlobMouse.d.ts.map +1 -0
- package/dist/types/library/mouse/BlurMouse.d.ts +9 -0
- package/dist/types/library/mouse/BlurMouse.d.ts.map +1 -0
- package/dist/types/library/mouse/BounceMouse.d.ts +11 -0
- package/dist/types/library/mouse/BounceMouse.d.ts.map +1 -0
- package/dist/types/library/mouse/CustomMouse.d.ts +13 -0
- package/dist/types/library/mouse/CustomMouse.d.ts.map +1 -0
- package/dist/types/library/mouse/ScaleMouse.d.ts +9 -0
- package/dist/types/library/mouse/ScaleMouse.d.ts.map +1 -0
- package/dist/types/library/mouse/SkewMouse.d.ts +9 -0
- package/dist/types/library/mouse/SkewMouse.d.ts.map +1 -0
- package/dist/types/library/mouse/SpinMouse.d.ts +9 -0
- package/dist/types/library/mouse/SpinMouse.d.ts.map +1 -0
- package/dist/types/library/mouse/SwivelMouse.d.ts +9 -0
- package/dist/types/library/mouse/SwivelMouse.d.ts.map +1 -0
- package/dist/types/library/mouse/Tilt3DMouse.d.ts +9 -0
- package/dist/types/library/mouse/Tilt3DMouse.d.ts.map +1 -0
- package/dist/types/library/mouse/Track3DMouse.d.ts +9 -0
- package/dist/types/library/mouse/Track3DMouse.d.ts.map +1 -0
- package/dist/types/library/mouse/TrackMouse.d.ts +9 -0
- package/dist/types/library/mouse/TrackMouse.d.ts.map +1 -0
- package/dist/types/library/mouse/index.d.ts +3 -0
- package/dist/types/library/mouse/index.d.ts.map +1 -0
- package/dist/types/library/ongoing/Blink.d.ts +26 -0
- package/dist/types/library/ongoing/Blink.d.ts.map +1 -0
- package/dist/types/library/ongoing/Bounce.d.ts +61 -0
- package/dist/types/library/ongoing/Bounce.d.ts.map +1 -0
- package/dist/types/library/ongoing/Breathe.d.ts +65 -0
- package/dist/types/library/ongoing/Breathe.d.ts.map +1 -0
- package/dist/types/library/ongoing/Cross.d.ts +34 -0
- package/dist/types/library/ongoing/Cross.d.ts.map +1 -0
- package/dist/types/library/ongoing/DVD.d.ts +47 -0
- package/dist/types/library/ongoing/DVD.d.ts.map +1 -0
- package/dist/types/library/ongoing/Flash.d.ts +63 -0
- package/dist/types/library/ongoing/Flash.d.ts.map +1 -0
- package/dist/types/library/ongoing/Flip.d.ts +71 -0
- package/dist/types/library/ongoing/Flip.d.ts.map +1 -0
- package/dist/types/library/ongoing/Fold.d.ts +65 -0
- package/dist/types/library/ongoing/Fold.d.ts.map +1 -0
- package/dist/types/library/ongoing/Jello.d.ts +55 -0
- package/dist/types/library/ongoing/Jello.d.ts.map +1 -0
- package/dist/types/library/ongoing/Poke.d.ts +55 -0
- package/dist/types/library/ongoing/Poke.d.ts.map +1 -0
- package/dist/types/library/ongoing/Pulse.d.ts +55 -0
- package/dist/types/library/ongoing/Pulse.d.ts.map +1 -0
- package/dist/types/library/ongoing/Rubber.d.ts +55 -0
- package/dist/types/library/ongoing/Rubber.d.ts.map +1 -0
- package/dist/types/library/ongoing/Spin.d.ts +69 -0
- package/dist/types/library/ongoing/Spin.d.ts.map +1 -0
- package/dist/types/library/ongoing/Swing.d.ts +65 -0
- package/dist/types/library/ongoing/Swing.d.ts.map +1 -0
- package/dist/types/library/ongoing/Wiggle.d.ts +55 -0
- package/dist/types/library/ongoing/Wiggle.d.ts.map +1 -0
- package/dist/types/library/ongoing/index.d.ts +3 -0
- package/dist/types/library/ongoing/index.d.ts.map +1 -0
- package/dist/types/library/ongoing/test/testUtils.d.ts +3 -0
- package/dist/types/library/ongoing/test/testUtils.d.ts.map +1 -0
- package/dist/types/library/scroll/ArcScroll.d.ts +25 -0
- package/dist/types/library/scroll/ArcScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/BlurScroll.d.ts +26 -0
- package/dist/types/library/scroll/BlurScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/FadeScroll.d.ts +25 -0
- package/dist/types/library/scroll/FadeScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/FlipScroll.d.ts +25 -0
- package/dist/types/library/scroll/FlipScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/GrowScroll.d.ts +27 -0
- package/dist/types/library/scroll/GrowScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/MoveScroll.d.ts +27 -0
- package/dist/types/library/scroll/MoveScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/PanScroll.d.ts +25 -0
- package/dist/types/library/scroll/PanScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/ParallaxScroll.d.ts +27 -0
- package/dist/types/library/scroll/ParallaxScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/RevealScroll.d.ts +25 -0
- package/dist/types/library/scroll/RevealScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/ShapeScroll.d.ts +23 -0
- package/dist/types/library/scroll/ShapeScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/ShrinkScroll.d.ts +27 -0
- package/dist/types/library/scroll/ShrinkScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/ShuttersScroll.d.ts +35 -0
- package/dist/types/library/scroll/ShuttersScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/SkewPanScroll.d.ts +25 -0
- package/dist/types/library/scroll/SkewPanScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/SlideScroll.d.ts +26 -0
- package/dist/types/library/scroll/SlideScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/Spin3dScroll.d.ts +27 -0
- package/dist/types/library/scroll/Spin3dScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/SpinScroll.d.ts +25 -0
- package/dist/types/library/scroll/SpinScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/StretchScroll.d.ts +55 -0
- package/dist/types/library/scroll/StretchScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/TiltScroll.d.ts +52 -0
- package/dist/types/library/scroll/TiltScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/TurnScroll.d.ts +30 -0
- package/dist/types/library/scroll/TurnScroll.d.ts.map +1 -0
- package/dist/types/library/scroll/index.d.ts +3 -0
- package/dist/types/library/scroll/index.d.ts.map +1 -0
- package/dist/types/library/scroll/test/testUtils.d.ts +3 -0
- package/dist/types/library/scroll/test/testUtils.d.ts.map +1 -0
- package/dist/types/motion.d.ts +14 -0
- package/dist/types/motion.d.ts.map +1 -0
- package/dist/types/playground/animationMotionBgScroll.stories.d.ts +6 -0
- package/dist/types/playground/animationMotionBgScroll.stories.d.ts.map +1 -0
- package/dist/types/playground/animationsMotion.stories.d.ts +6 -0
- package/dist/types/playground/animationsMotion.stories.d.ts.map +1 -0
- package/dist/types/playground/animationsMotionMouse.stories.d.ts +6 -0
- package/dist/types/playground/animationsMotionMouse.stories.d.ts.map +1 -0
- package/dist/types/playground/animationsMotionOngoing.stories.d.ts +6 -0
- package/dist/types/playground/animationsMotionOngoing.stories.d.ts.map +1 -0
- package/dist/types/playground/animationsMotionScroll.stories.d.ts +6 -0
- package/dist/types/playground/animationsMotionScroll.stories.d.ts.map +1 -0
- package/dist/types/playground/controls.d.ts +53 -0
- package/dist/types/playground/controls.d.ts.map +1 -0
- package/dist/types/playground/mouseComponent.d.ts +10 -0
- package/dist/types/playground/mouseComponent.d.ts.map +1 -0
- package/dist/types/playground/playground-common.d.ts +34 -0
- package/dist/types/playground/playground-common.d.ts.map +1 -0
- package/dist/types/types.d.ts +572 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/utils.d.ts +81 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/package.json +69 -42
- package/build/cjs/index.d.ts +0 -9
- package/build/cjs/index.js +0 -47
- package/build/cjs/index.js.map +0 -1
- package/build/cjs/meta.d.ts +0 -6
- package/build/cjs/meta.js +0 -47
- package/build/cjs/meta.js.map +0 -1
- package/build/es/index.d.mts +0 -9
- package/build/es/index.mjs +0 -10
- package/build/es/index.mjs.map +0 -1
- package/build/es/meta.d.mts +0 -6
- package/build/es/meta.mjs +0 -10
- package/build/es/meta.mjs.map +0 -1
- package/build/es/package.json +0 -3
- package/build/internal/cjs/index.d.ts +0 -9
- package/build/internal/cjs/index.js +0 -47
- package/build/internal/cjs/index.js.map +0 -1
- package/build/internal/cjs/meta.d.ts +0 -6
- package/build/internal/cjs/meta.js +0 -47
- package/build/internal/cjs/meta.js.map +0 -1
- package/build/internal/es/index.d.mts +0 -9
- package/build/internal/es/index.mjs +0 -10
- package/build/internal/es/index.mjs.map +0 -1
- package/build/internal/es/meta.d.mts +0 -6
- package/build/internal/es/meta.mjs +0 -10
- package/build/internal/es/meta.mjs.map +0 -1
- package/meta/package.json +0 -3
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.INITIAL_FRAME_OFFSET = void 0;
|
|
5
|
+
exports.deg2rad = deg2rad;
|
|
6
|
+
exports.distance2d = distance2d;
|
|
7
|
+
exports.getAdjustedDirection = getAdjustedDirection;
|
|
8
|
+
exports.getAngleInDeg = getAngleInDeg;
|
|
9
|
+
exports.getClipPolygonParams = getClipPolygonParams;
|
|
10
|
+
exports.getCssUnits = getCssUnits;
|
|
11
|
+
exports.getEasing = getEasing;
|
|
12
|
+
exports.getEasingFamily = getEasingFamily;
|
|
13
|
+
exports.getElementOffset = getElementOffset;
|
|
14
|
+
exports.getJsEasing = getJsEasing;
|
|
15
|
+
exports.getMouseTransitionEasing = getMouseTransitionEasing;
|
|
16
|
+
exports.getOutOfScreenDistance = getOutOfScreenDistance;
|
|
17
|
+
exports.getShuttersClipPaths = getShuttersClipPaths;
|
|
18
|
+
exports.getTimingFactor = getTimingFactor;
|
|
19
|
+
exports.getTransformParams = getTransformParams;
|
|
20
|
+
exports.keyframesToDuration = keyframesToDuration;
|
|
21
|
+
exports.mapRange = mapRange;
|
|
22
|
+
exports.roundNumber = roundNumber;
|
|
23
|
+
exports.toKeyframeValue = toKeyframeValue;
|
|
24
|
+
exports.transformPolarToXY = transformPolarToXY;
|
|
25
|
+
var _easings = require("./easings");
|
|
26
|
+
/**
|
|
27
|
+
* Map a value from one range 'a' to different range 'b'
|
|
28
|
+
*
|
|
29
|
+
* @param sourceMin - The minimum value of the source range
|
|
30
|
+
* @param sourceMax - The maximum value of the source range
|
|
31
|
+
* @param targetMin - The minimum value of the target range
|
|
32
|
+
* @param targetMax - The maximum value of the target range
|
|
33
|
+
* @param num - The number to map
|
|
34
|
+
* @returns The mapped value
|
|
35
|
+
*/
|
|
36
|
+
function mapRange(sourceMin, sourceMax, targetMin, targetMax, num) {
|
|
37
|
+
return (num - sourceMin) * (targetMax - targetMin) / (sourceMax - sourceMin) + targetMin;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Get the distance between 2 points
|
|
42
|
+
*
|
|
43
|
+
* @param p1 - The first point [x1, y1]
|
|
44
|
+
* @param p2 - The second point [x2, y2]
|
|
45
|
+
* @returns The distance between the two points
|
|
46
|
+
*/
|
|
47
|
+
function distance2d([x1, y1], [x2, y2]) {
|
|
48
|
+
return Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Get the angle between 2 points in degrees clamped between 0 and 360
|
|
53
|
+
* Pass the third argument "offset" to rotate the angle source,
|
|
54
|
+
* for example use 90 to move angle 0 to the top
|
|
55
|
+
*
|
|
56
|
+
* @param p1 - The first point [x1, y1]
|
|
57
|
+
* @param p2 - The second point [x2, y2]
|
|
58
|
+
* @param offset - The angle offset (default: 0)
|
|
59
|
+
* @returns The angle between the two points in degrees
|
|
60
|
+
*/
|
|
61
|
+
function getAngleInDeg(p1 = [0, 0], p2 = [0, 0], offset = 0) {
|
|
62
|
+
const angle = Math.atan2(p2[1] - p1[1], p2[0] - p1[0]) * 180 / Math.PI;
|
|
63
|
+
return (360 + offset + angle) % 360;
|
|
64
|
+
}
|
|
65
|
+
const INITIAL_FRAME_OFFSET = exports.INITIAL_FRAME_OFFSET = 1e-6;
|
|
66
|
+
const CLIP_POLYGON_TEMPLATES = {
|
|
67
|
+
initial: ({
|
|
68
|
+
top,
|
|
69
|
+
bottom,
|
|
70
|
+
left,
|
|
71
|
+
right
|
|
72
|
+
}) => `${left}% ${top}%, ${right}% ${top}%, ${right}% ${bottom}%, ${left}% ${bottom}%`,
|
|
73
|
+
top: ({
|
|
74
|
+
top,
|
|
75
|
+
left,
|
|
76
|
+
right,
|
|
77
|
+
minimum
|
|
78
|
+
}) => `${left}% ${top}%, ${right}% ${top}%, ${right}% ${top + minimum}%, ${left}% ${top + minimum}%`,
|
|
79
|
+
right: ({
|
|
80
|
+
top,
|
|
81
|
+
bottom,
|
|
82
|
+
right,
|
|
83
|
+
minimum
|
|
84
|
+
}) => `${right - minimum}% ${top}%, ${right}% ${top}%, ${right}% ${bottom}%, ${right - minimum}% ${bottom}%`,
|
|
85
|
+
center: ({
|
|
86
|
+
centerX,
|
|
87
|
+
centerY,
|
|
88
|
+
minimum
|
|
89
|
+
}) => `${centerX - minimum / 2}% ${centerY - minimum / 2}%, ${centerX + minimum / 2}% ${centerY - minimum / 2}%, ${centerX + minimum / 2}% ${centerY + minimum / 2}%, ${centerX - minimum / 2}% ${centerY + minimum / 2}%`,
|
|
90
|
+
bottom: ({
|
|
91
|
+
bottom,
|
|
92
|
+
left,
|
|
93
|
+
right,
|
|
94
|
+
minimum
|
|
95
|
+
}) => `${left}% ${bottom - minimum}%, ${right}% ${bottom - minimum}%, ${right}% ${bottom}%, ${left}% ${bottom}%`,
|
|
96
|
+
left: ({
|
|
97
|
+
top,
|
|
98
|
+
bottom,
|
|
99
|
+
left,
|
|
100
|
+
minimum
|
|
101
|
+
}) => `${left}% ${top}%, ${left + minimum}% ${top}%, ${left + minimum}% ${bottom}%, ${left}% ${bottom}%`,
|
|
102
|
+
vertical: ({
|
|
103
|
+
top,
|
|
104
|
+
bottom,
|
|
105
|
+
left,
|
|
106
|
+
right,
|
|
107
|
+
minimum
|
|
108
|
+
}) => `${left}% ${top + minimum / 2}%, ${right}% ${top + minimum / 2}%, ${right}% ${bottom - minimum / 2}%, ${left}% ${bottom - minimum / 2}%`,
|
|
109
|
+
horizontal: ({
|
|
110
|
+
top,
|
|
111
|
+
bottom,
|
|
112
|
+
left,
|
|
113
|
+
right,
|
|
114
|
+
minimum
|
|
115
|
+
}) => `${left + minimum / 2}% ${top}%, ${right - minimum / 2}% ${top}%, ${right - minimum / 2}% ${bottom}%, ${left + minimum / 2}% ${bottom}%`
|
|
116
|
+
};
|
|
117
|
+
function getClipPolygonParams({
|
|
118
|
+
direction,
|
|
119
|
+
scaleX = 1,
|
|
120
|
+
scaleY = 1,
|
|
121
|
+
minimum = 0
|
|
122
|
+
}) {
|
|
123
|
+
const top = (1 - scaleY) / 2 * 100;
|
|
124
|
+
const left = (1 - scaleX) / 2 * 100;
|
|
125
|
+
const right = 100 + left - (1 - scaleX) * 100;
|
|
126
|
+
const bottom = 100 + top - (1 - scaleY) * 100;
|
|
127
|
+
const centerX = (right + left) / 2;
|
|
128
|
+
const centerY = (bottom + top) / 2;
|
|
129
|
+
return `polygon(${CLIP_POLYGON_TEMPLATES[direction]({
|
|
130
|
+
top,
|
|
131
|
+
bottom,
|
|
132
|
+
left,
|
|
133
|
+
right,
|
|
134
|
+
centerX,
|
|
135
|
+
centerY,
|
|
136
|
+
minimum
|
|
137
|
+
})})`;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Adjust direction by angle from predefined list
|
|
142
|
+
*/
|
|
143
|
+
function getAdjustedDirection(availableDirections, direction, angleInDeg) {
|
|
144
|
+
const index = availableDirections.indexOf(direction);
|
|
145
|
+
const length = availableDirections.length;
|
|
146
|
+
const shiftBy = Math.round((angleInDeg || 0) / 360 * length);
|
|
147
|
+
const newIndex = (index + (length - 1) * shiftBy) % length; // eslint-disable-line no-mixed-operators
|
|
148
|
+
return availableDirections[newIndex];
|
|
149
|
+
}
|
|
150
|
+
function transformPolarToXY(angle, distance) {
|
|
151
|
+
const radians = angle * Math.PI / 180;
|
|
152
|
+
const x = Math.cos(radians) * distance;
|
|
153
|
+
const y = Math.sin(radians) * distance;
|
|
154
|
+
return [x, y];
|
|
155
|
+
}
|
|
156
|
+
function getCssUnits(type) {
|
|
157
|
+
return type === 'percentage' ? '%' : type || 'px';
|
|
158
|
+
}
|
|
159
|
+
function getEasing(easing) {
|
|
160
|
+
return easing ? _easings.cssEasings[easing] || easing : _easings.cssEasings.linear;
|
|
161
|
+
}
|
|
162
|
+
function getJsEasing(easing) {
|
|
163
|
+
return easing ? _easings.jsEasings[easing] : undefined;
|
|
164
|
+
}
|
|
165
|
+
function getEasingFamily(easing) {
|
|
166
|
+
if (!_easings.cssEasings[easing]) {
|
|
167
|
+
return {
|
|
168
|
+
in: easing,
|
|
169
|
+
inOut: easing,
|
|
170
|
+
out: easing
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
const ease = easing.replace(/In|Out/g, '');
|
|
174
|
+
if (ease === 'linear') {
|
|
175
|
+
return {
|
|
176
|
+
in: `linear`,
|
|
177
|
+
inOut: `linear`,
|
|
178
|
+
out: `linear`
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
in: `${ease}In`,
|
|
183
|
+
inOut: `${ease}InOut`,
|
|
184
|
+
out: `${ease}Out`
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
const MOUSE_TRANSITION_EASING_MAP = {
|
|
188
|
+
linear: 'linear',
|
|
189
|
+
easeOut: 'ease-out',
|
|
190
|
+
hardBackOut: 'cubic-bezier(0.58, 2.5, 0, 0.95)',
|
|
191
|
+
elastic: 'linear( 0, 0.2178 2.1%, 1.1144 8.49%, 1.2959 10.7%, 1.3463 11.81%, 1.3705 12.94%, 1.3726, 1.3643 14.48%, 1.3151 16.2%, 1.0317 21.81%, 0.941 24.01%, 0.8912 25.91%, 0.8694 27.84%, 0.8698 29.21%, 0.8824 30.71%, 1.0122 38.33%, 1.0357, 1.046 42.71%, 1.0416 45.7%, 0.9961 53.26%, 0.9839 57.54%, 0.9853 60.71%, 1.0012 68.14%, 1.0056 72.24%, 0.9981 86.66%, 1 )',
|
|
192
|
+
bounce: 'linear( 0, 0.0039, 0.0157, 0.0352, 0.0625 9.09%, 0.1407, 0.25, 0.3908, 0.5625, 0.7654, 1, 0.8907, 0.8125 45.45%, 0.7852, 0.7657, 0.7539, 0.75, 0.7539, 0.7657, 0.7852, 0.8125 63.64%, 0.8905, 1 72.73%, 0.9727, 0.9532, 0.9414, 0.9375, 0.9414, 0.9531, 0.9726, 1, 0.9883, 0.9844, 0.9883, 1 )'
|
|
193
|
+
};
|
|
194
|
+
function getMouseTransitionEasing(value) {
|
|
195
|
+
return value && MOUSE_TRANSITION_EASING_MAP[value] || 'linear';
|
|
196
|
+
}
|
|
197
|
+
function deg2rad(angleInDeg) {
|
|
198
|
+
return angleInDeg * Math.PI / 180;
|
|
199
|
+
}
|
|
200
|
+
function getTransformParams(originDirection, angleInRad, scale = 1) {
|
|
201
|
+
const x = `calc(var(--motion-height, 100%) * ${scale * originDirection.dy * Math.sin(-angleInRad)} + var(--motion-width, 100%) * ${scale * originDirection.dx * Math.cos(angleInRad)})`;
|
|
202
|
+
const y = `calc(var(--motion-height, 100%) * ${scale * originDirection.dy * Math.cos(-angleInRad)} + var(--motion-width, 100%) * ${scale * originDirection.dx * Math.sin(angleInRad)})`;
|
|
203
|
+
return {
|
|
204
|
+
x,
|
|
205
|
+
y
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
function getOutOfScreenDistance(angle) {
|
|
209
|
+
const angleInRad = angle * Math.PI / 180;
|
|
210
|
+
const angleCos = Math.round(Math.cos(angleInRad) * 10) / 10;
|
|
211
|
+
const angleSin = Math.round(Math.sin(angleInRad) * 10) / 10;
|
|
212
|
+
|
|
213
|
+
// Calculate x and y direction based on angle
|
|
214
|
+
const xDirection = Math.sign(angleCos);
|
|
215
|
+
const yDirection = Math.sign(angleSin);
|
|
216
|
+
const left = `var(--motion-left, 0px)`;
|
|
217
|
+
const top = `var(--motion-top, 0px)`;
|
|
218
|
+
|
|
219
|
+
// Calculate x and y distances between component and stage
|
|
220
|
+
const xDistance = xDirection ? xDirection === -1 ? `(-1 * ${left} - 100%)` : `(100vw - ${left})` : 0;
|
|
221
|
+
const yDistance = yDirection ? yDirection === -1 ? `(-1 * ${top} - 100%)` : `(100vh - ${top})` : 0;
|
|
222
|
+
|
|
223
|
+
// Calculate hypotenuse
|
|
224
|
+
let hypotenuse;
|
|
225
|
+
const hypotX = `calc(${xDistance} / ${angleCos})`;
|
|
226
|
+
const hypotY = `calc(${yDistance} / ${angleSin})`;
|
|
227
|
+
if (!angleCos) {
|
|
228
|
+
hypotenuse = hypotY;
|
|
229
|
+
} else if (!angleSin) {
|
|
230
|
+
hypotenuse = hypotX;
|
|
231
|
+
} else {
|
|
232
|
+
hypotenuse = `min(${hypotY}, ${hypotX})`;
|
|
233
|
+
}
|
|
234
|
+
return {
|
|
235
|
+
// distance: Math.abs(hypotenuse),
|
|
236
|
+
x: `calc(${hypotenuse} * ${angleCos})`,
|
|
237
|
+
y: `calc(${hypotenuse} * ${angleSin})`
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
function keyframesToDuration(keyframes_translation, duration) {
|
|
241
|
+
return keyframes_translation.map(({
|
|
242
|
+
keyframe
|
|
243
|
+
}, idx) => {
|
|
244
|
+
const stepDuration = keyframe - (idx > 0 ? keyframes_translation[idx - 1].keyframe : 0);
|
|
245
|
+
return duration * (stepDuration / 100);
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
function getElementOffset(element, parent) {
|
|
249
|
+
let left = element.offsetLeft;
|
|
250
|
+
let top = element.offsetTop;
|
|
251
|
+
let offsetParent = element.offsetParent;
|
|
252
|
+
while (offsetParent) {
|
|
253
|
+
if (parent && offsetParent === parent) {
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
256
|
+
left += offsetParent.offsetLeft;
|
|
257
|
+
top += offsetParent.offsetTop;
|
|
258
|
+
offsetParent = offsetParent.offsetParent;
|
|
259
|
+
}
|
|
260
|
+
return {
|
|
261
|
+
left,
|
|
262
|
+
top
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
const generateShuttersClipPath = (direction, shutterCount, staggered) => {
|
|
266
|
+
const isTopOrLeft = direction === 'top' || direction === 'left';
|
|
267
|
+
const iterStart = isTopOrLeft ? shutterCount : 0;
|
|
268
|
+
const iterEnd = isTopOrLeft ? 0 : shutterCount;
|
|
269
|
+
const inc = isTopOrLeft ? -1 : 1;
|
|
270
|
+
const isVerticalPath = direction === 'top' || direction === 'bottom';
|
|
271
|
+
const clipPathStart = [];
|
|
272
|
+
const clipPathEnd = [];
|
|
273
|
+
for (let i = iterStart; i !== iterEnd; i += inc) {
|
|
274
|
+
const shutterEndPosInPercentage = 100 * ((i + inc) / shutterCount);
|
|
275
|
+
const clipStart = 100 * (i / shutterCount) | 0;
|
|
276
|
+
let clipEnd;
|
|
277
|
+
if (staggered) {
|
|
278
|
+
const staggerFactor = isTopOrLeft ? 1 + (shutterCount - i) / shutterCount : 1 + i / shutterCount;
|
|
279
|
+
// staggerFactor changes the speed in which the current shutter completes its animation.
|
|
280
|
+
// case = 1: shutter closes at normal rate (as if there is no stagger at all)
|
|
281
|
+
// case > 1: shutter closes faster (the bigger it is, the faster it closes)
|
|
282
|
+
|
|
283
|
+
clipEnd = isTopOrLeft ? 100 - (100 - shutterEndPosInPercentage) * staggerFactor : shutterEndPosInPercentage * staggerFactor;
|
|
284
|
+
} else {
|
|
285
|
+
clipEnd = shutterEndPosInPercentage;
|
|
286
|
+
}
|
|
287
|
+
clipEnd |= 0;
|
|
288
|
+
if (isVerticalPath) {
|
|
289
|
+
clipPathStart.push(`0% ${clipStart}%, 100% ${clipStart}%, 100% ${clipStart}%, 0% ${clipStart}%`);
|
|
290
|
+
clipPathEnd.push(`0% ${clipStart}%, 100% ${clipStart}%, 100% ${clipEnd}%, 0% ${clipEnd}%`);
|
|
291
|
+
} else {
|
|
292
|
+
clipPathStart.push(`${clipStart}% 0%, ${clipStart}% 100%, ${clipStart}% 100%, ${clipStart}% 0%`);
|
|
293
|
+
clipPathEnd.push(`${clipStart}% 0%, ${clipStart}% 100%, ${clipEnd}% 100%, ${clipEnd}% 0%`);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
return {
|
|
297
|
+
start: clipPathStart,
|
|
298
|
+
end: clipPathEnd
|
|
299
|
+
};
|
|
300
|
+
};
|
|
301
|
+
function getShuttersClipPaths(direction, shutterCount, staggered, reverse) {
|
|
302
|
+
const {
|
|
303
|
+
start,
|
|
304
|
+
end
|
|
305
|
+
} = generateShuttersClipPath(direction, shutterCount, staggered);
|
|
306
|
+
if (reverse) {
|
|
307
|
+
start.reverse();
|
|
308
|
+
end.reverse();
|
|
309
|
+
}
|
|
310
|
+
return {
|
|
311
|
+
clipStart: `polygon(${start.join(', ')})`,
|
|
312
|
+
clipEnd: `polygon(${end.join(', ')})`
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
function roundNumber(num, precision = 2) {
|
|
316
|
+
return parseFloat(num.toFixed(precision));
|
|
317
|
+
}
|
|
318
|
+
function toKeyframeValue(custom, key, useValue = false, fallback = '') {
|
|
319
|
+
return useValue ? custom[key] : `var(${key}${fallback ? `,${fallback}` : ''})`;
|
|
320
|
+
}
|
|
321
|
+
function getTimingFactor(duration, delay, asString = false) {
|
|
322
|
+
const duration_ = duration || 1;
|
|
323
|
+
const delay_ = delay || 0;
|
|
324
|
+
const timingFactor = roundNumber(duration_ / (duration_ + delay_));
|
|
325
|
+
return asString ? timingFactor.toString().replace(/\./g, '') : timingFactor;
|
|
326
|
+
}
|
|
327
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_easings","require","mapRange","sourceMin","sourceMax","targetMin","targetMax","num","distance2d","x1","y1","x2","y2","Math","sqrt","getAngleInDeg","p1","p2","offset","angle","atan2","PI","INITIAL_FRAME_OFFSET","exports","CLIP_POLYGON_TEMPLATES","initial","top","bottom","left","right","minimum","center","centerX","centerY","vertical","horizontal","getClipPolygonParams","direction","scaleX","scaleY","getAdjustedDirection","availableDirections","angleInDeg","index","indexOf","length","shiftBy","round","newIndex","transformPolarToXY","distance","radians","x","cos","y","sin","getCssUnits","type","getEasing","easing","cssEasings","linear","getJsEasing","jsEasings","undefined","getEasingFamily","in","inOut","out","ease","replace","MOUSE_TRANSITION_EASING_MAP","easeOut","hardBackOut","elastic","bounce","getMouseTransitionEasing","value","deg2rad","getTransformParams","originDirection","angleInRad","scale","dy","dx","getOutOfScreenDistance","angleCos","angleSin","xDirection","sign","yDirection","xDistance","yDistance","hypotenuse","hypotX","hypotY","keyframesToDuration","keyframes_translation","duration","map","keyframe","idx","stepDuration","getElementOffset","element","parent","offsetLeft","offsetTop","offsetParent","generateShuttersClipPath","shutterCount","staggered","isTopOrLeft","iterStart","iterEnd","inc","isVerticalPath","clipPathStart","clipPathEnd","i","shutterEndPosInPercentage","clipStart","clipEnd","staggerFactor","push","start","end","getShuttersClipPaths","reverse","join","roundNumber","precision","parseFloat","toFixed","toKeyframeValue","custom","key","useValue","fallback","getTimingFactor","delay","asString","duration_","delay_","timingFactor","toString"],"sources":["../../src/utils.ts"],"sourcesContent":["import { cssEasings, jsEasings } from './easings';\nimport type {\n ScrubTransitionEasing,\n EffectFourDirections,\n Point,\n} from './types';\n\n/**\n * Map a value from one range 'a' to different range 'b'\n *\n * @param sourceMin - The minimum value of the source range\n * @param sourceMax - The maximum value of the source range\n * @param targetMin - The minimum value of the target range\n * @param targetMax - The maximum value of the target range\n * @param num - The number to map\n * @returns The mapped value\n */\nexport function mapRange(\n sourceMin: number,\n sourceMax: number,\n targetMin: number,\n targetMax: number,\n num: number,\n): number {\n return (\n ((num - sourceMin) * (targetMax - targetMin)) / (sourceMax - sourceMin) +\n targetMin\n );\n}\n\n/**\n * Get the distance between 2 points\n *\n * @param p1 - The first point [x1, y1]\n * @param p2 - The second point [x2, y2]\n * @returns The distance between the two points\n */\nexport function distance2d([x1, y1]: Point, [x2, y2]: Point): number {\n return Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);\n}\n\n/**\n * Get the angle between 2 points in degrees clamped between 0 and 360\n * Pass the third argument \"offset\" to rotate the angle source,\n * for example use 90 to move angle 0 to the top\n *\n * @param p1 - The first point [x1, y1]\n * @param p2 - The second point [x2, y2]\n * @param offset - The angle offset (default: 0)\n * @returns The angle between the two points in degrees\n */\nexport function getAngleInDeg(\n p1: Point = [0, 0],\n p2: Point = [0, 0],\n offset: number = 0,\n): number {\n const angle = (Math.atan2(p2[1] - p1[1], p2[0] - p1[0]) * 180) / Math.PI;\n return (360 + offset + angle) % 360;\n}\n\nexport const INITIAL_FRAME_OFFSET = 1e-6;\n\nexport type Direction =\n | 'initial'\n | 'top'\n | 'right'\n | 'center'\n | 'bottom'\n | 'left'\n | 'vertical'\n | 'horizontal';\n\ntype ClipPolygonTemplateParams = {\n top: number;\n bottom: number;\n left: number;\n right: number;\n centerX: number;\n centerY: number;\n minimum: number;\n};\n\nconst CLIP_POLYGON_TEMPLATES: Record<\n Direction,\n (params: ClipPolygonTemplateParams) => string\n> = {\n initial: ({ top, bottom, left, right }) =>\n `${left}% ${top}%, ${right}% ${top}%, ${right}% ${bottom}%, ${left}% ${bottom}%`,\n top: ({ top, left, right, minimum }) =>\n `${left}% ${top}%, ${right}% ${top}%, ${right}% ${\n top + minimum\n }%, ${left}% ${top + minimum}%`,\n right: ({ top, bottom, right, minimum }) =>\n `${right - minimum}% ${top}%, ${right}% ${top}%, ${right}% ${bottom}%, ${\n right - minimum\n }% ${bottom}%`,\n center: ({ centerX, centerY, minimum }) =>\n `${centerX - minimum / 2}% ${centerY - minimum / 2}%, ${\n centerX + minimum / 2\n }% ${centerY - minimum / 2}%, ${centerX + minimum / 2}% ${\n centerY + minimum / 2\n }%, ${centerX - minimum / 2}% ${centerY + minimum / 2}%`,\n bottom: ({ bottom, left, right, minimum }) =>\n `${left}% ${bottom - minimum}%, ${right}% ${\n bottom - minimum\n }%, ${right}% ${bottom}%, ${left}% ${bottom}%`,\n left: ({ top, bottom, left, minimum }) =>\n `${left}% ${top}%, ${left + minimum}% ${top}%, ${\n left + minimum\n }% ${bottom}%, ${left}% ${bottom}%`,\n vertical: ({ top, bottom, left, right, minimum }) =>\n `${left}% ${top + minimum / 2}%, ${right}% ${\n top + minimum / 2\n }%, ${right}% ${bottom - minimum / 2}%, ${left}% ${bottom - minimum / 2}%`,\n horizontal: ({ top, bottom, left, right, minimum }) =>\n `${left + minimum / 2}% ${top}%, ${right - minimum / 2}% ${top}%, ${\n right - minimum / 2\n }% ${bottom}%, ${left + minimum / 2}% ${bottom}%`,\n};\n\nexport function getClipPolygonParams({\n direction,\n scaleX = 1,\n scaleY = 1,\n minimum = 0,\n}: {\n direction: Direction;\n scaleX?: number;\n scaleY?: number;\n minimum?: number;\n}) {\n const top = ((1 - scaleY) / 2) * 100;\n const left = ((1 - scaleX) / 2) * 100;\n const right = 100 + left - (1 - scaleX) * 100;\n const bottom = 100 + top - (1 - scaleY) * 100;\n const centerX = (right + left) / 2;\n const centerY = (bottom + top) / 2;\n\n return `polygon(${CLIP_POLYGON_TEMPLATES[direction]({\n top,\n bottom,\n left,\n right,\n centerX,\n centerY,\n minimum,\n })})`;\n}\n\n/**\n * Adjust direction by angle from predefined list\n */\nexport function getAdjustedDirection(\n availableDirections: string[],\n direction: string,\n angleInDeg: number,\n) {\n const index = availableDirections.indexOf(direction);\n const length = availableDirections.length;\n const shiftBy = Math.round(((angleInDeg || 0) / 360) * length);\n const newIndex = (index + (length - 1) * shiftBy) % length; // eslint-disable-line no-mixed-operators\n return availableDirections[newIndex];\n}\n\nexport function transformPolarToXY(angle: number, distance: number) {\n const radians = (angle * Math.PI) / 180;\n const x = Math.cos(radians) * distance;\n const y = Math.sin(radians) * distance;\n return [x, y];\n}\n\nexport function getCssUnits(type: 'percentage' | string) {\n return type === 'percentage' ? '%' : type || 'px';\n}\n\nexport function getEasing(easing?: keyof typeof cssEasings | string): string {\n return easing\n ? cssEasings[easing as keyof typeof cssEasings] || easing\n : cssEasings.linear;\n}\n\nexport function getJsEasing(\n easing?: keyof typeof jsEasings | string,\n): ((t: number) => number) | undefined {\n return easing ? jsEasings[easing as keyof typeof jsEasings] : undefined;\n}\n\nexport function getEasingFamily(easing: string) {\n if (!cssEasings[easing as keyof typeof cssEasings]) {\n return {\n in: easing,\n inOut: easing,\n out: easing,\n };\n }\n\n const ease = easing.replace(/In|Out/g, '');\n if (ease === 'linear') {\n return {\n in: `linear`,\n inOut: `linear`,\n out: `linear`,\n };\n }\n\n return {\n in: `${ease}In`,\n inOut: `${ease}InOut`,\n out: `${ease}Out`,\n };\n}\n\nconst MOUSE_TRANSITION_EASING_MAP: Record<ScrubTransitionEasing, string> = {\n linear: 'linear',\n easeOut: 'ease-out',\n hardBackOut: 'cubic-bezier(0.58, 2.5, 0, 0.95)',\n elastic:\n 'linear( 0, 0.2178 2.1%, 1.1144 8.49%, 1.2959 10.7%, 1.3463 11.81%, 1.3705 12.94%, 1.3726, 1.3643 14.48%, 1.3151 16.2%, 1.0317 21.81%, 0.941 24.01%, 0.8912 25.91%, 0.8694 27.84%, 0.8698 29.21%, 0.8824 30.71%, 1.0122 38.33%, 1.0357, 1.046 42.71%, 1.0416 45.7%, 0.9961 53.26%, 0.9839 57.54%, 0.9853 60.71%, 1.0012 68.14%, 1.0056 72.24%, 0.9981 86.66%, 1 )',\n bounce:\n 'linear( 0, 0.0039, 0.0157, 0.0352, 0.0625 9.09%, 0.1407, 0.25, 0.3908, 0.5625, 0.7654, 1, 0.8907, 0.8125 45.45%, 0.7852, 0.7657, 0.7539, 0.75, 0.7539, 0.7657, 0.7852, 0.8125 63.64%, 0.8905, 1 72.73%, 0.9727, 0.9532, 0.9414, 0.9375, 0.9414, 0.9531, 0.9726, 1, 0.9883, 0.9844, 0.9883, 1 )',\n};\n\nexport function getMouseTransitionEasing(value?: ScrubTransitionEasing) {\n return (value && MOUSE_TRANSITION_EASING_MAP[value]) || 'linear';\n}\n\nexport function deg2rad(angleInDeg: number): number {\n return (angleInDeg * Math.PI) / 180;\n}\n\nexport function getTransformParams(\n originDirection: { dx: number; dy: number },\n angleInRad: number,\n scale: number = 1,\n) {\n const x = `calc(var(--motion-height, 100%) * ${\n scale * originDirection.dy * Math.sin(-angleInRad)\n } + var(--motion-width, 100%) * ${\n scale * originDirection.dx * Math.cos(angleInRad)\n })`;\n\n const y = `calc(var(--motion-height, 100%) * ${\n scale * originDirection.dy * Math.cos(-angleInRad)\n } + var(--motion-width, 100%) * ${\n scale * originDirection.dx * Math.sin(angleInRad)\n })`;\n\n return { x, y };\n}\n\nexport function getOutOfScreenDistance(angle: number) {\n const angleInRad = (angle * Math.PI) / 180;\n const angleCos = Math.round(Math.cos(angleInRad) * 10) / 10;\n const angleSin = Math.round(Math.sin(angleInRad) * 10) / 10;\n\n // Calculate x and y direction based on angle\n const xDirection = Math.sign(angleCos);\n const yDirection = Math.sign(angleSin);\n const left = `var(--motion-left, 0px)`;\n const top = `var(--motion-top, 0px)`;\n\n // Calculate x and y distances between component and stage\n const xDistance = xDirection\n ? xDirection === -1\n ? `(-1 * ${left} - 100%)`\n : `(100vw - ${left})`\n : 0;\n const yDistance = yDirection\n ? yDirection === -1\n ? `(-1 * ${top} - 100%)`\n : `(100vh - ${top})`\n : 0;\n\n // Calculate hypotenuse\n let hypotenuse;\n const hypotX = `calc(${xDistance} / ${angleCos})`;\n const hypotY = `calc(${yDistance} / ${angleSin})`;\n\n if (!angleCos) {\n hypotenuse = hypotY;\n } else if (!angleSin) {\n hypotenuse = hypotX;\n } else {\n hypotenuse = `min(${hypotY}, ${hypotX})`;\n }\n\n return {\n // distance: Math.abs(hypotenuse),\n x: `calc(${hypotenuse} * ${angleCos})`,\n y: `calc(${hypotenuse} * ${angleSin})`,\n };\n}\n\nexport function keyframesToDuration(\n keyframes_translation: { keyframe: number }[],\n duration: number,\n) {\n return keyframes_translation.map(({ keyframe }, idx) => {\n const stepDuration =\n keyframe - (idx > 0 ? keyframes_translation[idx - 1].keyframe : 0);\n return duration * (stepDuration / 100);\n });\n}\n\nexport function getElementOffset(element: HTMLElement, parent?: HTMLElement) {\n let left = element.offsetLeft;\n let top = element.offsetTop;\n let offsetParent = element.offsetParent as HTMLElement;\n\n while (offsetParent) {\n if (parent && offsetParent === parent) {\n break;\n }\n\n left += offsetParent.offsetLeft;\n top += offsetParent.offsetTop;\n offsetParent = offsetParent.offsetParent as HTMLElement;\n }\n\n return { left, top };\n}\n\nconst generateShuttersClipPath = (\n direction: EffectFourDirections,\n shutterCount: number,\n staggered: boolean,\n) => {\n const isTopOrLeft = direction === 'top' || direction === 'left';\n const iterStart = isTopOrLeft ? shutterCount : 0;\n const iterEnd = isTopOrLeft ? 0 : shutterCount;\n const inc = isTopOrLeft ? -1 : 1;\n\n const isVerticalPath = direction === 'top' || direction === 'bottom';\n\n const clipPathStart = [];\n const clipPathEnd = [];\n\n for (let i = iterStart; i !== iterEnd; i += inc) {\n const shutterEndPosInPercentage = 100 * ((i + inc) / shutterCount);\n const clipStart = (100 * (i / shutterCount)) | 0;\n let clipEnd;\n\n if (staggered) {\n const staggerFactor = isTopOrLeft\n ? 1 + (shutterCount - i) / shutterCount\n : 1 + i / shutterCount;\n // staggerFactor changes the speed in which the current shutter completes its animation.\n // case = 1: shutter closes at normal rate (as if there is no stagger at all)\n // case > 1: shutter closes faster (the bigger it is, the faster it closes)\n\n clipEnd = isTopOrLeft\n ? 100 - (100 - shutterEndPosInPercentage) * staggerFactor\n : shutterEndPosInPercentage * staggerFactor;\n } else {\n clipEnd = shutterEndPosInPercentage;\n }\n\n clipEnd |= 0;\n\n if (isVerticalPath) {\n clipPathStart.push(\n `0% ${clipStart}%, 100% ${clipStart}%, 100% ${clipStart}%, 0% ${clipStart}%`,\n );\n clipPathEnd.push(\n `0% ${clipStart}%, 100% ${clipStart}%, 100% ${clipEnd}%, 0% ${clipEnd}%`,\n );\n } else {\n clipPathStart.push(\n `${clipStart}% 0%, ${clipStart}% 100%, ${clipStart}% 100%, ${clipStart}% 0%`,\n );\n clipPathEnd.push(\n `${clipStart}% 0%, ${clipStart}% 100%, ${clipEnd}% 100%, ${clipEnd}% 0%`,\n );\n }\n }\n\n return { start: clipPathStart, end: clipPathEnd };\n};\n\nexport function getShuttersClipPaths(\n direction: EffectFourDirections,\n shutterCount: number,\n staggered: boolean,\n reverse?: boolean,\n) {\n const { start, end } = generateShuttersClipPath(\n direction,\n shutterCount,\n staggered,\n );\n\n if (reverse) {\n start.reverse();\n end.reverse();\n }\n\n return {\n clipStart: `polygon(${start.join(', ')})`,\n clipEnd: `polygon(${end.join(', ')})`,\n };\n}\n\nexport function roundNumber(num: number, precision = 2) {\n return parseFloat(num.toFixed(precision));\n}\n\nexport function toKeyframeValue(\n custom: Record<string, string | number>,\n key: string,\n useValue = false,\n fallback = '',\n) {\n return useValue\n ? custom[key]\n : `var(${key}${fallback ? `,${fallback}` : ''})`;\n}\n\nexport function getTimingFactor(\n duration: number,\n delay: number,\n asString = false,\n): number | string {\n const duration_ = duration || 1;\n const delay_ = delay || 0;\n const timingFactor = roundNumber(duration_ / (duration_ + delay_));\n return asString ? timingFactor.toString().replace(/\\./g, '') : timingFactor;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
/**
|
|
3
|
+
* @class AnimationGroup
|
|
4
|
+
*
|
|
5
|
+
* A wrapper object for simulating a GroupEffect and managing multiple animations.
|
|
6
|
+
* See: https://www.w3.org/TR/web-animations-2/#grouping-and-synchronization
|
|
7
|
+
*/
|
|
8
|
+
export class AnimationGroup {
|
|
9
|
+
constructor(animations, options) {
|
|
10
|
+
_defineProperty(this, "animations", void 0);
|
|
11
|
+
_defineProperty(this, "options", void 0);
|
|
12
|
+
_defineProperty(this, "ready", void 0);
|
|
13
|
+
this.animations = animations;
|
|
14
|
+
this.options = options;
|
|
15
|
+
this.ready = (options == null ? void 0 : options.measured) || Promise.resolve();
|
|
16
|
+
}
|
|
17
|
+
getProgress() {
|
|
18
|
+
var _this$animations$;
|
|
19
|
+
return ((_this$animations$ = this.animations[0]) == null || (_this$animations$ = _this$animations$.effect) == null ? void 0 : _this$animations$.getComputedTiming().progress) || 0;
|
|
20
|
+
}
|
|
21
|
+
async play(callback) {
|
|
22
|
+
await this.ready;
|
|
23
|
+
for (const animation of this.animations) {
|
|
24
|
+
animation.play();
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// TODO: Wait for all animations to be ready, using allSettled to handle rejections gracefully
|
|
28
|
+
// await Promise.allSettled(
|
|
29
|
+
await Promise.all(this.animations.map(animation => animation.ready));
|
|
30
|
+
if (callback) {
|
|
31
|
+
callback();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
pause() {
|
|
35
|
+
for (const animation of this.animations) {
|
|
36
|
+
animation.pause();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async reverse(callback) {
|
|
40
|
+
await this.ready;
|
|
41
|
+
for (const animation of this.animations) {
|
|
42
|
+
animation.reverse();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// TODO: Wait for all animations to be ready, using allSettled to handle rejections gracefully
|
|
46
|
+
// await Promise.allSettled(
|
|
47
|
+
await Promise.all(this.animations.map(animation => animation.ready));
|
|
48
|
+
if (callback) {
|
|
49
|
+
callback();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
progress(p) {
|
|
53
|
+
for (const animation of this.animations) {
|
|
54
|
+
const {
|
|
55
|
+
activeDuration
|
|
56
|
+
} = animation.effect.getComputedTiming();
|
|
57
|
+
const {
|
|
58
|
+
delay
|
|
59
|
+
} = animation.effect.getTiming();
|
|
60
|
+
animation.currentTime = ((delay || 0) + (activeDuration || 0)) * p;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
cancel() {
|
|
64
|
+
for (const animation of this.animations) {
|
|
65
|
+
animation.cancel();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
setPlaybackRate(rate) {
|
|
69
|
+
for (const animation of this.animations) {
|
|
70
|
+
animation.playbackRate = rate;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async onFinish(callback) {
|
|
74
|
+
try {
|
|
75
|
+
await Promise.all(this.animations.map(animation => animation.finished));
|
|
76
|
+
callback();
|
|
77
|
+
} catch (_error) {
|
|
78
|
+
console.warn('animation was interrupted - aborting onFinish callback - ', _error);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
get playState() {
|
|
82
|
+
var _this$animations$2;
|
|
83
|
+
return (_this$animations$2 = this.animations[0]) == null ? void 0 : _this$animations$2.playState;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=AnimationGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AnimationGroup","constructor","animations","options","_defineProperty","ready","measured","Promise","resolve","getProgress","_this$animations$","effect","getComputedTiming","progress","play","callback","animation","all","map","pause","reverse","p","activeDuration","delay","getTiming","currentTime","cancel","setPlaybackRate","rate","playbackRate","onFinish","finished","_error","console","warn","playState","_this$animations$2"],"sources":["../../src/AnimationGroup.ts"],"sourcesContent":["import { AnimationGroupOptions, RangeOffset } from './types';\n\n/**\n * @class AnimationGroup\n *\n * A wrapper object for simulating a GroupEffect and managing multiple animations.\n * See: https://www.w3.org/TR/web-animations-2/#grouping-and-synchronization\n */\nexport class AnimationGroup {\n animations: (Animation & {\n start?: RangeOffset;\n end?: RangeOffset;\n })[];\n options?: AnimationGroupOptions;\n ready: Promise<void>;\n\n constructor(animations: Animation[], options?: AnimationGroupOptions) {\n this.animations = animations;\n this.options = options;\n this.ready = options?.measured || Promise.resolve();\n }\n\n getProgress() {\n return this.animations[0]?.effect?.getComputedTiming().progress || 0;\n }\n\n async play(callback?: () => void): Promise<void> {\n await this.ready;\n\n for (const animation of this.animations) {\n animation.play();\n }\n\n // TODO: Wait for all animations to be ready, using allSettled to handle rejections gracefully\n // await Promise.allSettled(\n await Promise.all(this.animations.map((animation) => animation.ready));\n\n if (callback) {\n callback();\n }\n }\n\n pause() {\n for (const animation of this.animations) {\n animation.pause();\n }\n }\n\n async reverse(callback?: () => void): Promise<void> {\n await this.ready;\n\n for (const animation of this.animations) {\n animation.reverse();\n }\n\n // TODO: Wait for all animations to be ready, using allSettled to handle rejections gracefully\n // await Promise.allSettled(\n await Promise.all(this.animations.map((animation) => animation.ready));\n\n if (callback) {\n callback();\n }\n }\n\n progress(p: number) {\n for (const animation of this.animations) {\n const { activeDuration } = animation.effect!.getComputedTiming();\n const { delay } = animation.effect!.getTiming();\n animation.currentTime =\n ((delay || 0) + ((activeDuration as number) || 0)) * p;\n }\n }\n\n cancel() {\n for (const animation of this.animations) {\n animation.cancel();\n }\n }\n\n setPlaybackRate(rate: number) {\n for (const animation of this.animations) {\n animation.playbackRate = rate;\n }\n }\n\n async onFinish(callback: () => void): Promise<void> {\n try {\n await Promise.all(this.animations.map((animation) => animation.finished));\n callback();\n } catch (_error) {\n console.warn(\n 'animation was interrupted - aborting onFinish callback - ',\n _error,\n );\n }\n }\n\n get playState() {\n return this.animations[0]?.playState;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { scrollAnimations } from '../library/scroll';
|
|
2
|
+
import { entranceAnimations } from '../library/entrance';
|
|
3
|
+
import { ongoingAnimations } from '../library/ongoing';
|
|
4
|
+
import { mouseAnimations } from '../library/mouse';
|
|
5
|
+
import { backgroundScrollAnimations } from '../library/backgroundScroll';
|
|
6
|
+
import { getCssUnits, getEasing } from '../utils';
|
|
7
|
+
import fastdom from 'fastdom';
|
|
8
|
+
function getElement(id, ownerDocument) {
|
|
9
|
+
return id ? (ownerDocument || document).getElementById(id) : null;
|
|
10
|
+
}
|
|
11
|
+
function getDirection(effect) {
|
|
12
|
+
const alternate = effect.alternate ? 'alternate' : '';
|
|
13
|
+
return effect.reversed ? `${alternate ? `${alternate}-` : ''}reverse` : alternate || 'normal';
|
|
14
|
+
}
|
|
15
|
+
function getLength(length) {
|
|
16
|
+
return `${length.value}${getCssUnits(length.type)}`;
|
|
17
|
+
}
|
|
18
|
+
function getRange(range, add, isEnd) {
|
|
19
|
+
// according to the CSS spec if the end range is a <length> then it is calculated from the start of the named range
|
|
20
|
+
// our model assumes that <length> in end range is calculated from the end of the named range
|
|
21
|
+
return `${range.name || 'cover'} ${isEnd && range.offset.type !== 'percentage' ? `calc(100% + ${getLength(range.offset)}${add ? ` + ${add}` : ''})` : add ? `calc(${getLength(range.offset)} + ${add})` : getLength(range.offset)}`;
|
|
22
|
+
}
|
|
23
|
+
function getRanges(effect) {
|
|
24
|
+
return {
|
|
25
|
+
start: getRange(effect.startOffset, effect.startOffsetAdd),
|
|
26
|
+
end: getRange(effect.endOffset, effect.endOffsetAdd, true)
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function measure(target) {
|
|
30
|
+
return fn => fastdom.measure(() => fn(target));
|
|
31
|
+
}
|
|
32
|
+
function mutate(target) {
|
|
33
|
+
return fn => fastdom.mutate(() => fn(target));
|
|
34
|
+
}
|
|
35
|
+
function getNamedEffect(animation) {
|
|
36
|
+
if (animation.namedEffect) {
|
|
37
|
+
const name = animation.namedEffect.type;
|
|
38
|
+
|
|
39
|
+
// check each preset library for the named effect
|
|
40
|
+
if (name in scrollAnimations) {
|
|
41
|
+
return scrollAnimations[name];
|
|
42
|
+
} else if (name in entranceAnimations) {
|
|
43
|
+
return entranceAnimations[name];
|
|
44
|
+
} else if (name in ongoingAnimations) {
|
|
45
|
+
return ongoingAnimations[name];
|
|
46
|
+
} else if (name in mouseAnimations) {
|
|
47
|
+
return mouseAnimations[name];
|
|
48
|
+
} else if (name in backgroundScrollAnimations) {
|
|
49
|
+
return backgroundScrollAnimations[name];
|
|
50
|
+
}
|
|
51
|
+
} else if (animation.keyframeEffect) {
|
|
52
|
+
const effect = animation_ => {
|
|
53
|
+
const {
|
|
54
|
+
name,
|
|
55
|
+
keyframes
|
|
56
|
+
} = animation_.keyframeEffect;
|
|
57
|
+
return [{
|
|
58
|
+
...animation_,
|
|
59
|
+
name,
|
|
60
|
+
keyframes
|
|
61
|
+
}];
|
|
62
|
+
};
|
|
63
|
+
return {
|
|
64
|
+
web: effect,
|
|
65
|
+
style: effect
|
|
66
|
+
};
|
|
67
|
+
} else if (animation.customEffect) {
|
|
68
|
+
return animation_ => [{
|
|
69
|
+
...animation_,
|
|
70
|
+
keyframes: []
|
|
71
|
+
}];
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
function getEffectsData(animations, effectId) {
|
|
76
|
+
// process each AnimationData object into a KeyframeEffect object
|
|
77
|
+
return animations.map((effect, index) => {
|
|
78
|
+
// prepare the KeyframeEffectOptions object
|
|
79
|
+
const effectOptions = {
|
|
80
|
+
fill: effect.fill,
|
|
81
|
+
easing: getEasing(effect.easing),
|
|
82
|
+
iterations: effect.iterations === 0 ? Infinity : effect.iterations || 1,
|
|
83
|
+
composite: effect.composite,
|
|
84
|
+
direction: getDirection(effect)
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
// if this is a TimeAnimation then set the duration and delay as time values
|
|
88
|
+
if (effect.type.startsWith('Time')) {
|
|
89
|
+
effectOptions.duration = effect.duration;
|
|
90
|
+
effectOptions.delay = effect.delay || 0;
|
|
91
|
+
} else {
|
|
92
|
+
// if ViewTimeline is supported
|
|
93
|
+
if (window.ViewTimeline) {
|
|
94
|
+
// set duration to 'auto'
|
|
95
|
+
effectOptions.duration = 'auto';
|
|
96
|
+
} else {
|
|
97
|
+
// if ViewTimeline not supported then put a 100ms value in duration get a progress we can easily relate to
|
|
98
|
+
// we split the duration to 99.99ms and delay of 0.01ms to get the fill-mode effect working
|
|
99
|
+
effectOptions.duration = 99.99;
|
|
100
|
+
effectOptions.delay = 0.01;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
effect,
|
|
105
|
+
options: effectOptions,
|
|
106
|
+
id: effectId && `${effectId}-${index + 1}`,
|
|
107
|
+
part: effect.part
|
|
108
|
+
};
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
export { getElement, getNamedEffect, getEffectsData, measure, mutate, getDirection, getLength, getRanges };
|
|
112
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["scrollAnimations","entranceAnimations","ongoingAnimations","mouseAnimations","backgroundScrollAnimations","getCssUnits","getEasing","fastdom","getElement","id","ownerDocument","document","getElementById","getDirection","effect","alternate","reversed","getLength","length","value","type","getRange","range","add","isEnd","name","offset","getRanges","start","startOffset","startOffsetAdd","end","endOffset","endOffsetAdd","measure","target","fn","mutate","getNamedEffect","animation","namedEffect","keyframeEffect","animation_","keyframes","web","style","customEffect","getEffectsData","animations","effectId","map","index","effectOptions","fill","easing","iterations","Infinity","composite","direction","startsWith","duration","delay","window","ViewTimeline","options","part"],"sources":["../../../src/api/common.ts"],"sourcesContent":["import type {\n AnimationData,\n AnimationDataForScrub,\n AnimationOptions,\n BackgroundScrollAnimations,\n EntranceAnimations,\n MeasureCallback,\n MouseAnimations,\n OngoingAnimations,\n RangeOffset,\n ScrollAnimations,\n TimeAnimationOptions,\n UnitLengthPercentage,\n} from '../types';\nimport { scrollAnimations } from '../library/scroll';\nimport { entranceAnimations } from '../library/entrance';\nimport { ongoingAnimations } from '../library/ongoing';\nimport { mouseAnimations } from '../library/mouse';\nimport { backgroundScrollAnimations } from '../library/backgroundScroll';\nimport { getCssUnits, getEasing } from '../utils';\nimport fastdom from 'fastdom';\n\nfunction getElement(\n id: string | null,\n ownerDocument?: Document,\n): HTMLElement | null {\n return id ? (ownerDocument || document).getElementById(id) : null;\n}\n\nfunction getDirection(\n effect: AnimationData,\n): KeyframeEffectOptions['direction'] {\n const alternate = effect.alternate ? 'alternate' : '';\n return effect.reversed\n ? (`${alternate ? `${alternate}-` : ''}reverse` as\n | 'reverse'\n | 'alternate-reverse')\n : alternate || 'normal';\n}\n\nfunction getLength(length: UnitLengthPercentage): string {\n return `${length.value}${getCssUnits(length.type)}`;\n}\n\nfunction getRange(\n range: RangeOffset,\n add: string | undefined,\n isEnd?: boolean,\n) {\n // according to the CSS spec if the end range is a <length> then it is calculated from the start of the named range\n // our model assumes that <length> in end range is calculated from the end of the named range\n return `${range.name || 'cover'} ${\n isEnd && range.offset!.type !== 'percentage'\n ? `calc(100% + ${getLength(range.offset!)}${add ? ` + ${add}` : ''})`\n : add\n ? `calc(${getLength(range.offset!)} + ${add})`\n : getLength(range.offset!)\n }`;\n}\n\nfunction getRanges(effect: AnimationDataForScrub) {\n return {\n start: getRange(effect.startOffset!, effect.startOffsetAdd),\n end: getRange(effect.endOffset!, effect.endOffsetAdd, true),\n };\n}\n\nfunction measure(target: HTMLElement | null): MeasureCallback {\n return (fn) => fastdom.measure(() => fn(target));\n}\n\nfunction mutate(target: HTMLElement | null): MeasureCallback {\n return (fn) => fastdom.mutate(() => fn(target));\n}\n\nfunction getNamedEffect(animation: AnimationOptions) {\n if (animation.namedEffect) {\n const name = animation.namedEffect.type;\n\n // check each preset library for the named effect\n if (name in scrollAnimations) {\n return scrollAnimations[name as keyof ScrollAnimations];\n } else if (name in entranceAnimations) {\n return entranceAnimations[name as keyof EntranceAnimations];\n } else if (name in ongoingAnimations) {\n return ongoingAnimations[name as keyof OngoingAnimations];\n } else if (name in mouseAnimations) {\n return mouseAnimations[name as keyof MouseAnimations];\n } else if (name in backgroundScrollAnimations) {\n return backgroundScrollAnimations[\n name as keyof BackgroundScrollAnimations\n ];\n }\n } else if (animation.keyframeEffect) {\n const effect = (animation_: AnimationOptions) => {\n const { name, keyframes } = animation_.keyframeEffect!;\n\n return [{ ...animation_, name, keyframes }];\n };\n return { web: effect, style: effect };\n } else if (animation.customEffect) {\n return (animation_: AnimationOptions) => [{ ...animation_, keyframes: [] }];\n }\n return null;\n}\n\nfunction getEffectsData(animations: AnimationData[], effectId?: string) {\n // process each AnimationData object into a KeyframeEffect object\n return animations.map((effect, index) => {\n // prepare the KeyframeEffectOptions object\n const effectOptions = {\n fill: effect.fill,\n easing: getEasing(effect.easing),\n iterations: effect.iterations === 0 ? Infinity : effect.iterations || 1,\n composite: effect.composite,\n direction: getDirection(effect),\n } as KeyframeEffectOptions & { rangeStart: string; rangeEnd: string };\n\n // if this is a TimeAnimation then set the duration and delay as time values\n if (effect.type.startsWith('Time')) {\n effectOptions.duration = effect.duration as number;\n effectOptions.delay = (effect as TimeAnimationOptions).delay || 0;\n } else {\n // if ViewTimeline is supported\n if (window.ViewTimeline) {\n // set duration to 'auto'\n effectOptions.duration = 'auto';\n } else {\n // if ViewTimeline not supported then put a 100ms value in duration get a progress we can easily relate to\n // we split the duration to 99.99ms and delay of 0.01ms to get the fill-mode effect working\n effectOptions.duration = 99.99;\n effectOptions.delay = 0.01;\n }\n }\n\n return {\n effect,\n options: effectOptions,\n id: effectId && `${effectId}-${index + 1}`,\n part: effect.part,\n };\n });\n}\n\nexport {\n getElement,\n getNamedEffect,\n getEffectsData,\n measure,\n mutate,\n getDirection,\n getLength,\n getRanges,\n};\n"],"mappings":"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","ignoreList":[]}
|