@wix/motion 1.0.72 → 1.571.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,188 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { getPresets, CONFIG } from '@wix/effects-kit';
|
|
4
|
+
import { mapSchemaToDefaultData, schemaMapper } from './playground-common';
|
|
5
|
+
import { MouseComponent, COMPONENTS_TYPE } from './mouseComponent';
|
|
6
|
+
import styles from './playground.module.scss';
|
|
7
|
+
import { mouseAnimations as defs } from '../library/mouse';
|
|
8
|
+
import { NumberInput, SelectInput, BooleanInput, Control } from './controls';
|
|
9
|
+
import { Pointer } from 'kuliso';
|
|
10
|
+
export default {
|
|
11
|
+
title: 'Animation Playground/Mouse Parallax'
|
|
12
|
+
};
|
|
13
|
+
export const MouseParallax = () => {
|
|
14
|
+
const compRefs = React.useRef([]);
|
|
15
|
+
const stageRef = React.useRef(null);
|
|
16
|
+
const pointerRef = React.useRef(null);
|
|
17
|
+
const [multipleComponents, setMultipleComponents] = React.useState(false);
|
|
18
|
+
const [schemaEditor, setSchemaEditor] = React.useState('responsive');
|
|
19
|
+
const [isDevMode, setIsDevMode] = React.useState(false);
|
|
20
|
+
const [currentComponentType, setCurrentComponentType] = React.useState(COMPONENTS_TYPE.square);
|
|
21
|
+
const animations = Object.fromEntries(getPresets(CONFIG[schemaMapper[schemaEditor]].mouse, undefined, isDevMode).map(preset => [preset.name, preset.schema]));
|
|
22
|
+
const implementedAnimations = Object.keys(defs).filter(animationName => animations[animationName]);
|
|
23
|
+
const [animName, setAnimName] = React.useState(implementedAnimations[0]);
|
|
24
|
+
const [rotation, setRotation] = React.useState(0);
|
|
25
|
+
const schema = animations[animName] || {};
|
|
26
|
+
const [data, setData] = React.useState(mapSchemaToDefaultData(schema, schemaEditor));
|
|
27
|
+
React.useEffect(() => {
|
|
28
|
+
setData(mapSchemaToDefaultData(animations[animName], schemaEditor));
|
|
29
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
30
|
+
}, [schemaEditor]);
|
|
31
|
+
React.useEffect(() => {
|
|
32
|
+
const {
|
|
33
|
+
transitionDuration,
|
|
34
|
+
transitionEasing,
|
|
35
|
+
...namedEffect
|
|
36
|
+
} = data;
|
|
37
|
+
const effects = compRefs.current.map(element => {
|
|
38
|
+
const factory = defs[animName];
|
|
39
|
+
const animate = factory({
|
|
40
|
+
id: '',
|
|
41
|
+
type: 'ScrubAnimationOptions',
|
|
42
|
+
transitionDuration,
|
|
43
|
+
transitionEasing,
|
|
44
|
+
namedEffect: {
|
|
45
|
+
id: '',
|
|
46
|
+
type: animName,
|
|
47
|
+
...namedEffect
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
return [element, animate(element)];
|
|
51
|
+
});
|
|
52
|
+
const scenes = effects.map(_ref => {
|
|
53
|
+
let [element, animation] = _ref;
|
|
54
|
+
return {
|
|
55
|
+
effect: (_scene, progress) => animation.progress(progress),
|
|
56
|
+
centeredToTarget: true,
|
|
57
|
+
target: element
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
pointerRef.current = new Pointer({
|
|
61
|
+
scenes
|
|
62
|
+
});
|
|
63
|
+
pointerRef.current.start();
|
|
64
|
+
return () => {
|
|
65
|
+
pointerRef.current.destroy();
|
|
66
|
+
effects.forEach(_ref2 => {
|
|
67
|
+
let [_, animation] = _ref2;
|
|
68
|
+
return animation.cancel();
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
}, [animName, data, rotation, multipleComponents, currentComponentType]);
|
|
72
|
+
function handleControlChange(name, value) {
|
|
73
|
+
setData(currentData => ({
|
|
74
|
+
...currentData,
|
|
75
|
+
[name]: value
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
function onCompTypeChange(event) {
|
|
79
|
+
setCurrentComponentType(event.target.value);
|
|
80
|
+
}
|
|
81
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
82
|
+
className: `${styles.stage} ${styles.mouseStage} ${multipleComponents ? styles.multipleComponents : ''}`,
|
|
83
|
+
ref: stageRef
|
|
84
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
85
|
+
className: styles.selectWrapper
|
|
86
|
+
}, /*#__PURE__*/React.createElement("select", {
|
|
87
|
+
name: "compType",
|
|
88
|
+
id: "compType",
|
|
89
|
+
onChange: onCompTypeChange,
|
|
90
|
+
value: currentComponentType
|
|
91
|
+
}, Object.entries(COMPONENTS_TYPE).map(_ref3 => {
|
|
92
|
+
let [key, value] = _ref3;
|
|
93
|
+
return /*#__PURE__*/React.createElement("option", {
|
|
94
|
+
key: `comp${key}`,
|
|
95
|
+
value: value
|
|
96
|
+
}, value);
|
|
97
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
98
|
+
className: `${styles.components}`
|
|
99
|
+
}, Array.from({
|
|
100
|
+
length: multipleComponents ? 12 : 1
|
|
101
|
+
}).map((_, i) => /*#__PURE__*/React.createElement(MouseComponent, {
|
|
102
|
+
type: currentComponentType,
|
|
103
|
+
ref: ref => multipleComponents ? compRefs.current[i] = ref : compRefs.current = [ref],
|
|
104
|
+
rotation: rotation,
|
|
105
|
+
key: multipleComponents ? `copm-${i}` : 'comp-single'
|
|
106
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
107
|
+
className: styles.globalControls
|
|
108
|
+
}, /*#__PURE__*/React.createElement(BooleanInput, {
|
|
109
|
+
label: "Multiple Components",
|
|
110
|
+
value: multipleComponents,
|
|
111
|
+
onChange: e => setMultipleComponents(e.target.checked)
|
|
112
|
+
}), /*#__PURE__*/React.createElement(BooleanInput, {
|
|
113
|
+
label: "Show hidden animations",
|
|
114
|
+
value: isDevMode,
|
|
115
|
+
onChange: e => setIsDevMode(e.target.checked)
|
|
116
|
+
}), /*#__PURE__*/React.createElement(NumberInput, {
|
|
117
|
+
label: "Rotation",
|
|
118
|
+
value: rotation,
|
|
119
|
+
min: 0,
|
|
120
|
+
max: 360,
|
|
121
|
+
step: 1,
|
|
122
|
+
onChange: event => setRotation(event.target.valueAsNumber)
|
|
123
|
+
}), /*#__PURE__*/React.createElement(SelectInput, {
|
|
124
|
+
onChange: event => {
|
|
125
|
+
const value = event.target.value;
|
|
126
|
+
setSchemaEditor(value);
|
|
127
|
+
},
|
|
128
|
+
value: schemaEditor,
|
|
129
|
+
options: ['desktop', 'mobile', 'responsive'],
|
|
130
|
+
className: styles.mainSelect
|
|
131
|
+
}), /*#__PURE__*/React.createElement(SelectInput, {
|
|
132
|
+
onChange: event => {
|
|
133
|
+
const value = event.target.value;
|
|
134
|
+
setAnimName(value);
|
|
135
|
+
setData(mapSchemaToDefaultData(animations[value] || {}, schemaEditor));
|
|
136
|
+
},
|
|
137
|
+
value: animName,
|
|
138
|
+
options: Object.keys(animations).map(name => [name, implementedAnimations.includes(name)]),
|
|
139
|
+
className: styles.mainSelect
|
|
140
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
141
|
+
className: styles.controls
|
|
142
|
+
}, Object.entries(schema).sort((_ref4, _ref5) => {
|
|
143
|
+
let [a] = _ref4;
|
|
144
|
+
let [b] = _ref5;
|
|
145
|
+
// sort order: last is 'inverted', one before last is 'transitionEasing', one before that is 'transitionDuration', then 'axis' or 'direction', the rest is sorted alphabetically
|
|
146
|
+
if (a === 'inverted') {
|
|
147
|
+
return 1;
|
|
148
|
+
}
|
|
149
|
+
if (b === 'inverted') {
|
|
150
|
+
return -1;
|
|
151
|
+
}
|
|
152
|
+
if (a === 'transitionEasing') {
|
|
153
|
+
return 1;
|
|
154
|
+
}
|
|
155
|
+
if (b === 'transitionEasing') {
|
|
156
|
+
return -1;
|
|
157
|
+
}
|
|
158
|
+
if (a === 'transitionDuration') {
|
|
159
|
+
return 1;
|
|
160
|
+
}
|
|
161
|
+
if (b === 'transitionDuration') {
|
|
162
|
+
return -1;
|
|
163
|
+
}
|
|
164
|
+
if (a === 'axis' || a === 'direction') {
|
|
165
|
+
return 1;
|
|
166
|
+
}
|
|
167
|
+
if (b === 'axis' || b === 'direction') {
|
|
168
|
+
return -1;
|
|
169
|
+
}
|
|
170
|
+
if (a > b) {
|
|
171
|
+
return 1;
|
|
172
|
+
}
|
|
173
|
+
if (a < b) {
|
|
174
|
+
return -1;
|
|
175
|
+
}
|
|
176
|
+
return 0;
|
|
177
|
+
}).map((_ref6, i) => {
|
|
178
|
+
let [name, controlProps] = _ref6;
|
|
179
|
+
return /*#__PURE__*/React.createElement(Control, _extends({
|
|
180
|
+
key: `key-control-${i}`
|
|
181
|
+
}, controlProps, {
|
|
182
|
+
value: data[name],
|
|
183
|
+
label: name,
|
|
184
|
+
onChange: (_e, value) => handleControlChange(name, value)
|
|
185
|
+
}));
|
|
186
|
+
})));
|
|
187
|
+
};
|
|
188
|
+
//# sourceMappingURL=animationsMotionMouse.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","getPresets","CONFIG","mapSchemaToDefaultData","schemaMapper","MouseComponent","COMPONENTS_TYPE","styles","mouseAnimations","defs","NumberInput","SelectInput","BooleanInput","Control","Pointer","title","MouseParallax","compRefs","useRef","stageRef","pointerRef","multipleComponents","setMultipleComponents","useState","schemaEditor","setSchemaEditor","isDevMode","setIsDevMode","currentComponentType","setCurrentComponentType","square","animations","Object","fromEntries","mouse","undefined","map","preset","name","schema","implementedAnimations","keys","filter","animationName","animName","setAnimName","rotation","setRotation","data","setData","useEffect","transitionDuration","transitionEasing","namedEffect","effects","current","element","factory","animate","id","type","scenes","_ref","animation","effect","_scene","progress","centeredToTarget","target","start","destroy","forEach","_ref2","_","cancel","handleControlChange","value","currentData","onCompTypeChange","event","createElement","className","stage","mouseStage","ref","selectWrapper","onChange","entries","_ref3","key","components","Array","from","length","i","globalControls","label","e","checked","min","max","step","valueAsNumber","options","mainSelect","includes","controls","sort","_ref4","_ref5","a","b","_ref6","controlProps","_extends","_e"],"sources":["../../../src/playground/animationsMotionMouse.stories.tsx"],"sourcesContent":["import React from 'react';\n\nimport {\n getPresets,\n CONFIG,\n MouseEffectConfig,\n AllEffectsNames,\n OneOfMouseEffects,\n} from '@wix/effects-kit';\n\nimport {\n mapSchemaToDefaultData,\n SchemaEditor,\n schemaMapper,\n} from './playground-common';\n\nimport { MouseComponent, COMPONENTS_TYPE } from './mouseComponent';\nimport styles from './playground.module.scss';\nimport { mouseAnimations as defs } from '../library/mouse';\n\nimport type { ChangeEvent } from 'react';\nimport type { Meta } from '@wix/yoshi-storybook-dependencies';\nimport type { MouseComponentType } from './mouseComponent';\nimport { NumberInput, SelectInput, BooleanInput, Control } from './controls';\nimport { Pointer } from 'kuliso';\nimport {\n MouseAnimationInstance,\n Progress,\n ScrubAnimationOptions,\n} from '../types';\n\nexport default {\n title: 'Animation Playground/Mouse Parallax',\n} as Meta;\n\nexport const MouseParallax: React.FC<any> = () => {\n const compRefs = React.useRef<HTMLElement[]>([]);\n const stageRef = React.useRef<HTMLDivElement>(null);\n const pointerRef = React.useRef<typeof Pointer>(null);\n const [multipleComponents, setMultipleComponents] = React.useState(false);\n\n const [schemaEditor, setSchemaEditor] =\n React.useState<SchemaEditor>('responsive');\n\n const [isDevMode, setIsDevMode] = React.useState<boolean>(false);\n const [currentComponentType, setCurrentComponentType] =\n React.useState<MouseComponentType>(COMPONENTS_TYPE.square);\n\n const animations = Object.fromEntries(\n getPresets(\n CONFIG[schemaMapper[schemaEditor]].mouse,\n undefined,\n isDevMode,\n ).map((preset) => [preset.name, preset.schema]),\n ) as Record<AllEffectsNames, MouseEffectConfig<OneOfMouseEffects>['schema']>;\n\n const implementedAnimations = Object.keys(defs).filter(\n (animationName) => animations[animationName as keyof typeof defs],\n ) as AllEffectsNames[];\n\n const [animName, setAnimName] = React.useState<keyof typeof defs>(\n implementedAnimations[0] as keyof typeof defs,\n );\n\n const [rotation, setRotation] = React.useState<number>(0);\n\n const schema = animations[animName] || {};\n const [data, setData] = React.useState<Record<string, any>>(\n mapSchemaToDefaultData(schema, schemaEditor),\n );\n\n React.useEffect(() => {\n setData(mapSchemaToDefaultData(animations[animName], schemaEditor));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [schemaEditor]);\n\n React.useEffect(() => {\n const { transitionDuration, transitionEasing, ...namedEffect } = data;\n const effects = compRefs.current.map((element) => {\n const factory = defs[animName]!;\n const animate = factory({\n id: '',\n type: 'ScrubAnimationOptions',\n transitionDuration,\n transitionEasing,\n namedEffect: {\n id: '',\n type: animName,\n ...namedEffect,\n },\n } as ScrubAnimationOptions);\n return [element, animate(element)];\n }) as [HTMLElement, MouseAnimationInstance][];\n const scenes = effects.map(([element, animation]) => {\n return {\n effect: (_scene: any, progress: Progress) =>\n animation.progress(progress),\n centeredToTarget: true,\n target: element,\n };\n });\n\n pointerRef.current = new Pointer({ scenes });\n pointerRef.current.start();\n\n return () => {\n pointerRef.current.destroy();\n effects.forEach(([_, animation]) => animation.cancel());\n };\n }, [animName, data, rotation, multipleComponents, currentComponentType]);\n\n function handleControlChange(name: string, value: any) {\n setData((currentData) => ({\n ...currentData,\n [name]: value,\n }));\n }\n\n function onCompTypeChange(event: ChangeEvent) {\n setCurrentComponentType(\n (event.target as HTMLSelectElement).value as MouseComponentType,\n );\n }\n\n return (\n <div\n className={`${styles.stage} ${styles.mouseStage} ${\n multipleComponents ? styles.multipleComponents : ''\n }`}\n ref={stageRef}\n >\n <div className={styles.selectWrapper}>\n <select\n name=\"compType\"\n id=\"compType\"\n onChange={onCompTypeChange}\n value={currentComponentType}\n >\n {Object.entries(COMPONENTS_TYPE).map(([key, value]) => (\n <option key={`comp${key}`} value={value}>\n {value}\n </option>\n ))}\n </select>\n </div>\n <div className={`${styles.components}`}>\n {Array.from({ length: multipleComponents ? 12 : 1 }).map((_, i) => (\n <MouseComponent\n type={currentComponentType}\n ref={(ref: HTMLElement | null) =>\n multipleComponents\n ? (compRefs.current[i] = ref!)\n : (compRefs.current = [ref!])\n }\n rotation={rotation}\n key={multipleComponents ? `copm-${i}` : 'comp-single'}\n />\n ))}\n </div>\n\n <div className={styles.globalControls}>\n <BooleanInput\n label=\"Multiple Components\"\n value={multipleComponents}\n onChange={(e) => setMultipleComponents(e.target.checked)}\n />\n <BooleanInput\n label=\"Show hidden animations\"\n value={isDevMode}\n onChange={(e) => setIsDevMode(e.target.checked)}\n />\n <NumberInput\n label=\"Rotation\"\n value={rotation}\n min={0}\n max={360}\n step={1}\n onChange={(event) => setRotation(event.target.valueAsNumber)}\n />\n <SelectInput\n onChange={(event) => {\n const value: SchemaEditor = event.target.value;\n setSchemaEditor(value);\n }}\n value={schemaEditor}\n options={['desktop', 'mobile', 'responsive']}\n className={styles.mainSelect}\n />\n <SelectInput\n onChange={(event) => {\n const value = event.target.value;\n setAnimName(value);\n setData(\n mapSchemaToDefaultData(\n animations[value as AllEffectsNames] || {},\n schemaEditor,\n ),\n );\n }}\n value={animName}\n options={\n Object.keys(animations).map((name) => [\n name,\n implementedAnimations.includes(name as AllEffectsNames),\n ]) as [string, boolean][]\n }\n className={styles.mainSelect}\n />\n </div>\n <div className={styles.controls}>\n {Object.entries(schema)\n .sort(([a], [b]) => {\n // sort order: last is 'inverted', one before last is 'transitionEasing', one before that is 'transitionDuration', then 'axis' or 'direction', the rest is sorted alphabetically\n if (a === 'inverted') {\n return 1;\n }\n if (b === 'inverted') {\n return -1;\n }\n if (a === 'transitionEasing') {\n return 1;\n }\n if (b === 'transitionEasing') {\n return -1;\n }\n if (a === 'transitionDuration') {\n return 1;\n }\n if (b === 'transitionDuration') {\n return -1;\n }\n if (a === 'axis' || a === 'direction') {\n return 1;\n }\n if (b === 'axis' || b === 'direction') {\n return -1;\n }\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n\n return 0;\n })\n .map(([name, controlProps], i) => (\n <Control\n key={`key-control-${i}`}\n {...controlProps}\n value={data[name]}\n label={name}\n onChange={(_e, value) => handleControlChange(name, value)}\n />\n ))}\n {/* <div className={styles.buttons}>\n <button\n className={styles.animateButton}\n onClick={() => animateText(compRef.current!, animName, data)}\n >\n Animate\n </button>\n </div> */}\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { getPresets, CONFIG } from '@wix/effects-kit';
|
|
4
|
+
import { Control, NumberInput, SelectInput } from './controls';
|
|
5
|
+
import styles from './playground.module.scss';
|
|
6
|
+
import { mapSchemaToDefaultData, schemaMapper } from './playground-common';
|
|
7
|
+
import { ongoingAnimations as defs } from '../library/ongoing';
|
|
8
|
+
import { getWebAnimation } from '../motion';
|
|
9
|
+
export default {
|
|
10
|
+
title: 'Animation Playground/Ongoing'
|
|
11
|
+
};
|
|
12
|
+
export const Ongoing = () => {
|
|
13
|
+
const compRef = React.useRef(null);
|
|
14
|
+
const animationGroup = React.useRef();
|
|
15
|
+
const [schemaEditor, setSchemaEditor] = React.useState('responsive');
|
|
16
|
+
const animations = Object.fromEntries(getPresets(CONFIG[schemaMapper[schemaEditor]].ongoing, undefined, true).map(preset => [preset.name, preset.schema]));
|
|
17
|
+
const implementedAnimations = Object.keys(defs).filter(animationName => animations[animationName]);
|
|
18
|
+
const [animName, setAnimName] = React.useState(implementedAnimations[0]);
|
|
19
|
+
const [rotation, setRotation] = React.useState(0);
|
|
20
|
+
const schema = animations[animName] || {};
|
|
21
|
+
const [data, setData] = React.useState(mapSchemaToDefaultData(schema, schemaEditor));
|
|
22
|
+
React.useEffect(() => {
|
|
23
|
+
setData(mapSchemaToDefaultData(animations[animName], schemaEditor));
|
|
24
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
25
|
+
}, [schemaEditor]);
|
|
26
|
+
function animateText(el, name, _ref) {
|
|
27
|
+
var _animationGroup$curre;
|
|
28
|
+
let {
|
|
29
|
+
duration = 1000,
|
|
30
|
+
delay = 0,
|
|
31
|
+
easing = 'linear',
|
|
32
|
+
...params
|
|
33
|
+
} = _ref;
|
|
34
|
+
// Clear
|
|
35
|
+
(_animationGroup$curre = animationGroup.current) == null || _animationGroup$curre.cancel();
|
|
36
|
+
|
|
37
|
+
// Animate
|
|
38
|
+
animationGroup.current = getWebAnimation(el.id, {
|
|
39
|
+
id: '',
|
|
40
|
+
type: 'TimeAnimationOptions',
|
|
41
|
+
namedEffect: {
|
|
42
|
+
id: '',
|
|
43
|
+
type: name,
|
|
44
|
+
...params
|
|
45
|
+
},
|
|
46
|
+
easing: easing,
|
|
47
|
+
duration,
|
|
48
|
+
delay,
|
|
49
|
+
iterations: 10
|
|
50
|
+
});
|
|
51
|
+
animationGroup.current.play();
|
|
52
|
+
}
|
|
53
|
+
function handleControlChange(name, value) {
|
|
54
|
+
setData(currentData => ({
|
|
55
|
+
...currentData,
|
|
56
|
+
[name]: value
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
React.useEffect(() => {
|
|
60
|
+
document.body.dataset.blockLevelContainer = 'root';
|
|
61
|
+
}, []);
|
|
62
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
63
|
+
className: styles.stage
|
|
64
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
65
|
+
className: styles.components
|
|
66
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
67
|
+
id: "comp1",
|
|
68
|
+
className: styles.component,
|
|
69
|
+
ref: compRef,
|
|
70
|
+
style: {
|
|
71
|
+
'--comp-rotate-z': `${rotation}deg`,
|
|
72
|
+
'--rotation': `${rotation}deg`,
|
|
73
|
+
background: 'forestgreen'
|
|
74
|
+
}
|
|
75
|
+
}, "Ongoing")), /*#__PURE__*/React.createElement("div", {
|
|
76
|
+
className: styles.globalControls
|
|
77
|
+
}, /*#__PURE__*/React.createElement(NumberInput, {
|
|
78
|
+
label: "Rotation",
|
|
79
|
+
value: rotation,
|
|
80
|
+
min: 0,
|
|
81
|
+
max: 360,
|
|
82
|
+
step: 1,
|
|
83
|
+
onChange: event => setRotation(event.target.valueAsNumber)
|
|
84
|
+
}), /*#__PURE__*/React.createElement(SelectInput, {
|
|
85
|
+
onChange: event => {
|
|
86
|
+
const value = event.target.value;
|
|
87
|
+
setSchemaEditor(value);
|
|
88
|
+
},
|
|
89
|
+
value: schemaEditor,
|
|
90
|
+
options: ['desktop', 'mobile', 'responsive'],
|
|
91
|
+
className: styles.mainSelect
|
|
92
|
+
}), /*#__PURE__*/React.createElement(SelectInput, {
|
|
93
|
+
onChange: event => {
|
|
94
|
+
const value = event.target.value;
|
|
95
|
+
setAnimName(value);
|
|
96
|
+
setData(mapSchemaToDefaultData(animations[value] || {}, schemaEditor));
|
|
97
|
+
},
|
|
98
|
+
value: animName,
|
|
99
|
+
options: Object.keys(animations).map(name => [name, implementedAnimations.includes(name)]),
|
|
100
|
+
className: styles.mainSelect
|
|
101
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
102
|
+
className: styles.controls
|
|
103
|
+
}, Object.entries(schema).sort((_ref2, _ref3) => {
|
|
104
|
+
let [a] = _ref2;
|
|
105
|
+
let [b] = _ref3;
|
|
106
|
+
if (a === 'duration' || b !== 'duration' && a === 'delay') {
|
|
107
|
+
return -1;
|
|
108
|
+
}
|
|
109
|
+
if (b === 'allowReplay') {
|
|
110
|
+
return -1;
|
|
111
|
+
}
|
|
112
|
+
return 0;
|
|
113
|
+
}).map((_ref4, i) => {
|
|
114
|
+
let [name, controlProps] = _ref4;
|
|
115
|
+
return /*#__PURE__*/React.createElement(Control, _extends({
|
|
116
|
+
key: `key-control-${i}`
|
|
117
|
+
}, controlProps, {
|
|
118
|
+
value: data[name],
|
|
119
|
+
label: name,
|
|
120
|
+
onChange: (_e, value) => handleControlChange(name, value)
|
|
121
|
+
}));
|
|
122
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
123
|
+
className: styles.buttons
|
|
124
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
125
|
+
className: styles.animateButton,
|
|
126
|
+
onClick: () => animateText(compRef.current, animName, data)
|
|
127
|
+
}, "Animate"))));
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=animationsMotionOngoing.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","getPresets","CONFIG","Control","NumberInput","SelectInput","styles","mapSchemaToDefaultData","schemaMapper","ongoingAnimations","defs","getWebAnimation","title","Ongoing","compRef","useRef","animationGroup","schemaEditor","setSchemaEditor","useState","animations","Object","fromEntries","ongoing","undefined","map","preset","name","schema","implementedAnimations","keys","filter","animationName","animName","setAnimName","rotation","setRotation","data","setData","useEffect","animateText","el","_ref","_animationGroup$curre","duration","delay","easing","params","current","cancel","id","type","namedEffect","iterations","play","handleControlChange","value","currentData","document","body","dataset","blockLevelContainer","createElement","className","stage","components","component","ref","style","background","globalControls","label","min","max","step","onChange","event","target","valueAsNumber","options","mainSelect","includes","controls","entries","sort","_ref2","_ref3","a","b","_ref4","i","controlProps","_extends","key","_e","buttons","animateButton","onClick"],"sources":["../../../src/playground/animationsMotionOngoing.stories.tsx"],"sourcesContent":["import React from 'react';\nimport { getPresets, CONFIG } from '@wix/effects-kit';\n\nimport { Control, NumberInput, SelectInput } from './controls';\nimport styles from './playground.module.scss';\nimport { mapSchemaToDefaultData, schemaMapper } from './playground-common';\n\nimport type { CSSProperties } from 'react';\nimport type { SchemaEditor } from './playground-common';\nimport type { Meta } from '@wix/yoshi-storybook-dependencies';\nimport type {\n EffectConfig,\n OneOfEffects,\n AllEffectsNames,\n} from '@wix/effects-kit';\nimport { ongoingAnimations as defs } from '../library/ongoing';\nimport { getWebAnimation } from '../motion';\nimport type { AnimationGroup } from '../motion';\nimport { OngoingAnimation } from '../types';\nimport { cssEasings as easings } from '../easings';\n\nexport default {\n title: 'Animation Playground/Ongoing',\n} as Meta;\n\nexport const Ongoing: React.FC<any> = () => {\n const compRef = React.useRef<HTMLDivElement>(null);\n const animationGroup = React.useRef<AnimationGroup>();\n\n const [schemaEditor, setSchemaEditor] =\n React.useState<SchemaEditor>('responsive');\n\n const animations = Object.fromEntries(\n getPresets(CONFIG[schemaMapper[schemaEditor]].ongoing, undefined, true).map(\n (preset) => [preset.name, preset.schema],\n ),\n ) as Record<AllEffectsNames, EffectConfig<OneOfEffects>['schema']>;\n const implementedAnimations = Object.keys(defs).filter(\n (animationName) => animations[animationName as AllEffectsNames],\n ) as AllEffectsNames[];\n\n const [animName, setAnimName] = React.useState<AllEffectsNames>(\n implementedAnimations[0],\n );\n\n const [rotation, setRotation] = React.useState<number>(0);\n\n const schema = animations[animName] || {};\n const [data, setData] = React.useState<Record<string, any>>(\n mapSchemaToDefaultData(schema, schemaEditor),\n );\n\n React.useEffect(() => {\n setData(mapSchemaToDefaultData(animations[animName], schemaEditor));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [schemaEditor]);\n\n function animateText(\n el: HTMLElement & { _gsap?: any },\n name: string,\n { duration = 1000, delay = 0, easing = 'linear', ...params },\n ) {\n // Clear\n animationGroup.current?.cancel();\n\n // Animate\n animationGroup.current = getWebAnimation(el.id, {\n id: '',\n type: 'TimeAnimationOptions',\n namedEffect: { id: '', type: name, ...params } as OngoingAnimation,\n easing: easing as keyof typeof easings,\n duration,\n delay,\n iterations: 10,\n }) as AnimationGroup;\n animationGroup.current.play();\n }\n\n function handleControlChange(name: string, value: any) {\n setData((currentData) => ({\n ...currentData,\n [name]: value,\n }));\n }\n\n React.useEffect(() => {\n document.body!.dataset.blockLevelContainer = 'root';\n }, []);\n\n return (\n <div className={styles.stage}>\n <div className={styles.components}>\n <div\n id=\"comp1\"\n className={styles.component}\n ref={compRef}\n style={\n {\n '--comp-rotate-z': `${rotation}deg`,\n '--rotation': `${rotation}deg`,\n background: 'forestgreen',\n } as CSSProperties\n }\n >\n Ongoing\n </div>\n </div>\n\n <div className={styles.globalControls}>\n <NumberInput\n label=\"Rotation\"\n value={rotation}\n min={0}\n max={360}\n step={1}\n onChange={(event) => setRotation(event.target.valueAsNumber)}\n />\n <SelectInput\n onChange={(event) => {\n const value: SchemaEditor = event.target.value;\n setSchemaEditor(value);\n }}\n value={schemaEditor}\n options={['desktop', 'mobile', 'responsive']}\n className={styles.mainSelect}\n />\n <SelectInput\n onChange={(event) => {\n const value = event.target.value;\n setAnimName(value);\n setData(\n mapSchemaToDefaultData(\n animations[value as AllEffectsNames] || {},\n schemaEditor,\n ),\n );\n }}\n value={animName}\n options={\n Object.keys(animations).map((name) => [\n name,\n implementedAnimations.includes(name as AllEffectsNames),\n ]) as [string, boolean][]\n }\n className={styles.mainSelect}\n />\n </div>\n <div className={styles.controls}>\n {Object.entries(schema)\n .sort(([a], [b]) => {\n if (a === 'duration' || (b !== 'duration' && a === 'delay')) {\n return -1;\n }\n if (b === 'allowReplay') {\n return -1;\n }\n return 0;\n })\n .map(([name, controlProps], i) => (\n <Control\n key={`key-control-${i}`}\n {...controlProps}\n value={data[name]}\n label={name}\n onChange={(_e, value) => handleControlChange(name, value)}\n />\n ))}\n <div className={styles.buttons}>\n <button\n className={styles.animateButton}\n onClick={() => animateText(compRef.current!, animName, data)}\n >\n Animate\n </button>\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Scroll as ScrollLib } from 'fizban';
|
|
4
|
+
import { getPresets, CONFIG } from '@wix/effects-kit';
|
|
5
|
+
import { Control, NumberInput, SelectInput } from './controls';
|
|
6
|
+
import styles from './playground.module.scss';
|
|
7
|
+
import { mapSchemaToDefaultData, schemaMapper, rangeMapper } from './playground-common';
|
|
8
|
+
import { getScrubScene, getWebAnimation } from '../motion';
|
|
9
|
+
import { scrollAnimations as defs } from '../library/scroll';
|
|
10
|
+
export default {
|
|
11
|
+
title: 'Animation Playground/Scroll'
|
|
12
|
+
};
|
|
13
|
+
export const Scroll = () => {
|
|
14
|
+
var _animations;
|
|
15
|
+
const compRef = React.useRef(null);
|
|
16
|
+
const stageRef = React.useRef(null);
|
|
17
|
+
const animationScene = React.useRef();
|
|
18
|
+
const animationGroup = React.useRef();
|
|
19
|
+
const scroll = React.useRef();
|
|
20
|
+
const [schemaEditor, setSchemaEditor] = React.useState('responsive');
|
|
21
|
+
const [selectedRange, setSelectedRange] = React.useState('in');
|
|
22
|
+
const animations = Object.fromEntries(getPresets(CONFIG[schemaMapper[schemaEditor]][rangeMapper[selectedRange]]).map(preset => [preset.name, {
|
|
23
|
+
schema: preset.schema,
|
|
24
|
+
range: preset.range
|
|
25
|
+
}]));
|
|
26
|
+
const implementedAnimations = Object.keys(defs).filter(animationName => animations[animationName]);
|
|
27
|
+
const [animName, setAnimName] = React.useState(implementedAnimations[0]);
|
|
28
|
+
const [rotation, setRotation] = React.useState(0);
|
|
29
|
+
const schema = animations[animName].schema || {};
|
|
30
|
+
const [attachment, setAttachment] = React.useState('scroll');
|
|
31
|
+
const [data, setData] = React.useState(mapSchemaToDefaultData(schema));
|
|
32
|
+
React.useEffect(() => {
|
|
33
|
+
setData(mapSchemaToDefaultData(animations[animName].schema, schemaEditor));
|
|
34
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
35
|
+
}, [schemaEditor, selectedRange]);
|
|
36
|
+
React.useEffect(() => {
|
|
37
|
+
var _compRef$current;
|
|
38
|
+
(_compRef$current = compRef.current) == null || _compRef$current.getAnimations().forEach(a => {
|
|
39
|
+
a.cancel();
|
|
40
|
+
}); // removing all previously selected animations
|
|
41
|
+
if (compRef.current) {
|
|
42
|
+
animateText(compRef.current, animName, data);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
46
|
+
}, [data, animName, rotation, animationGroup]);
|
|
47
|
+
console.log('animation', animations[animName]);
|
|
48
|
+
console.log('data', data);
|
|
49
|
+
function toggleAttachment() {
|
|
50
|
+
// Change value of CSS variable
|
|
51
|
+
attachment === 'fixed' ? setAttachment('scroll') : setAttachment('fixed');
|
|
52
|
+
}
|
|
53
|
+
function animateText(el, name, _ref) {
|
|
54
|
+
let {
|
|
55
|
+
duration = 1000,
|
|
56
|
+
delay = 0,
|
|
57
|
+
start = 0,
|
|
58
|
+
end = 100,
|
|
59
|
+
range = selectedRange,
|
|
60
|
+
easing = '',
|
|
61
|
+
...params
|
|
62
|
+
} = _ref;
|
|
63
|
+
const animationInstanceParams = [el.id, {
|
|
64
|
+
id: '',
|
|
65
|
+
type: 'ScrubAnimationOptions',
|
|
66
|
+
easing,
|
|
67
|
+
namedEffect: {
|
|
68
|
+
id: '',
|
|
69
|
+
type: name,
|
|
70
|
+
range,
|
|
71
|
+
...params
|
|
72
|
+
},
|
|
73
|
+
fill: 'both',
|
|
74
|
+
iterations: 1,
|
|
75
|
+
startOffset: {
|
|
76
|
+
name: 'cover',
|
|
77
|
+
offset: {
|
|
78
|
+
value: start,
|
|
79
|
+
type: 'percentage'
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
endOffset: {
|
|
83
|
+
name: 'cover',
|
|
84
|
+
offset: {
|
|
85
|
+
value: end,
|
|
86
|
+
type: 'percentage'
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}, {
|
|
90
|
+
trigger: 'view-progress',
|
|
91
|
+
componentId: el.id,
|
|
92
|
+
element: el,
|
|
93
|
+
id: ''
|
|
94
|
+
}];
|
|
95
|
+
if (window.ViewTimeline) {
|
|
96
|
+
var _animationGroup$curre;
|
|
97
|
+
// Clear
|
|
98
|
+
(_animationGroup$curre = animationGroup.current) == null || _animationGroup$curre.cancel();
|
|
99
|
+
// Animate
|
|
100
|
+
animationGroup.current = getWebAnimation(...animationInstanceParams);
|
|
101
|
+
} else {
|
|
102
|
+
var _scroll$current;
|
|
103
|
+
// Create Scene
|
|
104
|
+
animationScene.current = getScrubScene(...animationInstanceParams);
|
|
105
|
+
console.log(start, end, params);
|
|
106
|
+
|
|
107
|
+
// Clear
|
|
108
|
+
(_scroll$current = scroll.current) == null || _scroll$current.destroy();
|
|
109
|
+
|
|
110
|
+
// Animate
|
|
111
|
+
scroll.current = new ScrollLib({
|
|
112
|
+
root: stageRef.current,
|
|
113
|
+
observeViewportEntry: false,
|
|
114
|
+
// observeViewportResize: false,
|
|
115
|
+
scenes: [animationScene.current]
|
|
116
|
+
});
|
|
117
|
+
scroll.current.start();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function handleControlChange(name, value) {
|
|
121
|
+
setData(currentData => ({
|
|
122
|
+
...currentData,
|
|
123
|
+
[name]: value
|
|
124
|
+
}));
|
|
125
|
+
}
|
|
126
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
127
|
+
className: `${styles.stage} ${styles.scrollStage}`,
|
|
128
|
+
ref: stageRef
|
|
129
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
130
|
+
className: `${styles.attachButton}`,
|
|
131
|
+
onClick: toggleAttachment
|
|
132
|
+
}, "Toggle Attachment"), /*#__PURE__*/React.createElement("div", {
|
|
133
|
+
className: styles.components,
|
|
134
|
+
style: {
|
|
135
|
+
'--attachment': attachment
|
|
136
|
+
}
|
|
137
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
138
|
+
id: "comp1",
|
|
139
|
+
className: styles.component,
|
|
140
|
+
ref: compRef,
|
|
141
|
+
style: {
|
|
142
|
+
'--comp-rotate-z': `${rotation}deg`,
|
|
143
|
+
background: 'MediumVioletRed'
|
|
144
|
+
}
|
|
145
|
+
}, "Scroll")), /*#__PURE__*/React.createElement("div", {
|
|
146
|
+
className: styles.panels
|
|
147
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
148
|
+
className: styles.globalControls
|
|
149
|
+
}, /*#__PURE__*/React.createElement(NumberInput, {
|
|
150
|
+
label: "Rotation",
|
|
151
|
+
value: rotation,
|
|
152
|
+
min: 0,
|
|
153
|
+
max: 360,
|
|
154
|
+
step: 1,
|
|
155
|
+
onChange: event => setRotation(event.target.valueAsNumber)
|
|
156
|
+
}), /*#__PURE__*/React.createElement(SelectInput, {
|
|
157
|
+
onChange: event => {
|
|
158
|
+
const value = event.target.value;
|
|
159
|
+
setSchemaEditor(value);
|
|
160
|
+
// Reset "power" when changing editor
|
|
161
|
+
// handleControlChange('power', undefined);
|
|
162
|
+
},
|
|
163
|
+
value: schemaEditor,
|
|
164
|
+
options: ['desktop', 'mobile', 'responsive'],
|
|
165
|
+
className: styles.mainSelect
|
|
166
|
+
}), /*#__PURE__*/React.createElement(SelectInput, {
|
|
167
|
+
onChange: event => {
|
|
168
|
+
const value = event.target.value;
|
|
169
|
+
setSelectedRange(value);
|
|
170
|
+
},
|
|
171
|
+
value: selectedRange,
|
|
172
|
+
options: (_animations = animations[animName]) == null || (_animations = _animations.range) == null ? void 0 : _animations.enum,
|
|
173
|
+
className: styles.mainSelect
|
|
174
|
+
}), /*#__PURE__*/React.createElement(SelectInput, {
|
|
175
|
+
onChange: event => {
|
|
176
|
+
const value = event.target.value;
|
|
177
|
+
setAnimName(value);
|
|
178
|
+
setData(mapSchemaToDefaultData(animations[value].schema || {}, schemaEditor));
|
|
179
|
+
},
|
|
180
|
+
value: animName,
|
|
181
|
+
options: Object.keys(animations).map(name => [name, implementedAnimations.includes(name)]),
|
|
182
|
+
className: styles.mainSelect
|
|
183
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
184
|
+
className: styles.controls
|
|
185
|
+
}, Object.entries(schema).filter(_ref2 => {
|
|
186
|
+
let [name] = _ref2;
|
|
187
|
+
return !['duration', 'delay', 'allowReplay'].includes(name);
|
|
188
|
+
}).map((_ref3, i) => {
|
|
189
|
+
let [name, controlProps] = _ref3;
|
|
190
|
+
return /*#__PURE__*/React.createElement(Control, _extends({
|
|
191
|
+
key: `key-control-${i}`
|
|
192
|
+
}, controlProps, {
|
|
193
|
+
value: data[name],
|
|
194
|
+
label: name,
|
|
195
|
+
onChange: (_e, value) => handleControlChange(name, value)
|
|
196
|
+
}));
|
|
197
|
+
}))));
|
|
198
|
+
};
|
|
199
|
+
//# sourceMappingURL=animationsMotionScroll.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Scroll","ScrollLib","getPresets","CONFIG","Control","NumberInput","SelectInput","styles","mapSchemaToDefaultData","schemaMapper","rangeMapper","getScrubScene","getWebAnimation","scrollAnimations","defs","title","_animations","compRef","useRef","stageRef","animationScene","animationGroup","scroll","schemaEditor","setSchemaEditor","useState","selectedRange","setSelectedRange","animations","Object","fromEntries","map","preset","name","schema","range","implementedAnimations","keys","filter","animationName","animName","setAnimName","rotation","setRotation","attachment","setAttachment","data","setData","useEffect","_compRef$current","current","getAnimations","forEach","a","cancel","animateText","console","log","toggleAttachment","el","_ref","duration","delay","start","end","easing","params","animationInstanceParams","id","type","namedEffect","fill","iterations","startOffset","offset","value","endOffset","trigger","componentId","element","window","ViewTimeline","_animationGroup$curre","_scroll$current","destroy","root","observeViewportEntry","scenes","handleControlChange","currentData","createElement","className","stage","scrollStage","ref","attachButton","onClick","components","style","component","background","panels","globalControls","label","min","max","step","onChange","event","target","valueAsNumber","options","mainSelect","enum","includes","controls","entries","_ref2","_ref3","i","controlProps","_extends","key","_e"],"sources":["../../../src/playground/animationsMotionScroll.stories.tsx"],"sourcesContent":["import React from 'react';\nimport { Scroll as ScrollLib } from 'fizban';\n\nimport { getPresets, CONFIG } from '@wix/effects-kit';\n\nimport { Control, NumberInput, SelectInput } from './controls';\nimport styles from './playground.module.scss';\nimport {\n mapSchemaToDefaultData,\n schemaMapper,\n rangeMapper,\n} from './playground-common';\nimport { AnimationGroup, getScrubScene, getWebAnimation } from '../motion';\nimport { scrollAnimations as defs } from '../library/scroll';\n\nimport type { SchemaEditor } from './playground-common';\nimport type { CSSProperties } from 'react';\nimport type { Meta } from '@wix/yoshi-storybook-dependencies';\nimport type {\n EffectConfig,\n ScrollEffectConfig,\n EffectPreset,\n OneOfScrollEffects,\n AllEffectsNames,\n OneOfEffects,\n} from '@wix/effects-kit';\nimport type {\n AnimationOptions,\n EffectScrollRange,\n ScrollAnimation,\n TriggerVariant,\n} from '../types';\n\nexport default {\n title: 'Animation Playground/Scroll',\n} as Meta;\n\nexport const Scroll: React.FC<any> = () => {\n const compRef = React.useRef<HTMLDivElement>(null);\n const stageRef = React.useRef<HTMLDivElement>(null);\n const animationScene = React.useRef<ReturnType<typeof getScrubScene>>();\n const animationGroup = React.useRef<AnimationGroup>();\n const scroll = React.useRef<typeof ScrollLib>();\n\n const [schemaEditor, setSchemaEditor] =\n React.useState<SchemaEditor>('responsive');\n\n const [selectedRange, setSelectedRange] =\n React.useState<EffectScrollRange>('in');\n\n const animations = Object.fromEntries(\n getPresets(\n CONFIG[schemaMapper[schemaEditor]][rangeMapper[selectedRange]],\n ).map((preset: EffectPreset) => [\n preset.name,\n {\n schema: preset.schema,\n range: (preset as ScrollEffectConfig<OneOfScrollEffects>).range,\n },\n ]),\n ) as Record<AllEffectsNames, ScrollEffectConfig<OneOfScrollEffects>>;\n\n const implementedAnimations = Object.keys(defs).filter(\n (animationName) => animations[animationName as AllEffectsNames],\n ) as AllEffectsNames[];\n\n const [animName, setAnimName] = React.useState<AllEffectsNames>(\n implementedAnimations[0],\n );\n\n const [rotation, setRotation] = React.useState<number>(0);\n\n const schema = (animations[animName].schema ||\n {}) as EffectConfig<OneOfEffects>['schema'];\n const [attachment, setAttachment] = React.useState<string>('scroll');\n\n const [data, setData] = React.useState<Record<string, any>>(\n mapSchemaToDefaultData(schema),\n );\n\n React.useEffect(() => {\n setData(\n mapSchemaToDefaultData(\n animations[animName as AllEffectsNames]\n .schema as EffectConfig<OneOfEffects>['schema'],\n schemaEditor,\n ),\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [schemaEditor, selectedRange]);\n\n React.useEffect(() => {\n compRef.current?.getAnimations().forEach((a) => {\n a.cancel();\n }); // removing all previously selected animations\n if (compRef.current) {\n animateText(compRef.current, animName, data);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data, animName, rotation, animationGroup]);\n\n console.log('animation', animations[animName]);\n console.log('data', data);\n\n function toggleAttachment() {\n // Change value of CSS variable\n attachment === 'fixed' ? setAttachment('scroll') : setAttachment('fixed');\n }\n\n function animateText(\n el: HTMLElement,\n name: string,\n {\n duration = 1000,\n delay = 0,\n start = 0,\n end = 100,\n range = selectedRange,\n easing = '',\n ...params\n }: {\n duration?: number;\n delay?: number;\n start?: number;\n end?: number;\n easing?: string;\n range?: EffectScrollRange;\n },\n ) {\n const animationInstanceParams: [\n string,\n AnimationOptions,\n TriggerVariant & { element?: HTMLElement },\n ] = [\n el.id,\n {\n id: '',\n type: 'ScrubAnimationOptions',\n easing,\n namedEffect: {\n id: '',\n type: name,\n range,\n ...params,\n } as ScrollAnimation,\n fill: 'both',\n iterations: 1,\n startOffset: {\n name: 'cover',\n offset: {\n value: start,\n type: 'percentage',\n },\n },\n endOffset: {\n name: 'cover',\n offset: {\n value: end,\n type: 'percentage',\n },\n },\n },\n { trigger: 'view-progress', componentId: el.id, element: el, id: '' },\n ];\n\n if (window.ViewTimeline) {\n // Clear\n animationGroup.current?.cancel();\n // Animate\n animationGroup.current = getWebAnimation(\n ...animationInstanceParams,\n ) as AnimationGroup;\n } else {\n // Create Scene\n animationScene.current = getScrubScene(...animationInstanceParams);\n\n console.log(start, end, params);\n\n // Clear\n scroll.current?.destroy();\n\n // Animate\n scroll.current = new ScrollLib({\n root: stageRef.current,\n observeViewportEntry: false,\n // observeViewportResize: false,\n scenes: [animationScene.current],\n });\n scroll.current.start();\n }\n }\n\n function handleControlChange(name: string, value: any) {\n setData((currentData) => ({\n ...currentData,\n [name]: value,\n }));\n }\n\n return (\n <div className={`${styles.stage} ${styles.scrollStage}`} ref={stageRef}>\n <button className={`${styles.attachButton}`} onClick={toggleAttachment}>\n Toggle Attachment\n </button>\n <div\n className={styles.components}\n style={{ '--attachment': attachment } as CSSProperties}\n >\n <div\n id=\"comp1\"\n className={styles.component}\n ref={compRef}\n style={\n {\n '--comp-rotate-z': `${rotation}deg`,\n background: 'MediumVioletRed',\n } as CSSProperties\n }\n >\n Scroll\n </div>\n </div>\n <div className={styles.panels}>\n <div className={styles.globalControls}>\n <NumberInput\n label=\"Rotation\"\n value={rotation}\n min={0}\n max={360}\n step={1}\n onChange={(event) => setRotation(event.target.valueAsNumber)}\n />\n <SelectInput\n onChange={(event) => {\n const value: SchemaEditor = event.target.value;\n setSchemaEditor(value);\n // Reset \"power\" when changing editor\n // handleControlChange('power', undefined);\n }}\n value={schemaEditor}\n options={['desktop', 'mobile', 'responsive']}\n className={styles.mainSelect}\n />\n <SelectInput\n onChange={(event) => {\n const value: EffectScrollRange = event.target.value;\n setSelectedRange(value);\n }}\n value={selectedRange}\n options={\n animations[animName as AllEffectsNames]?.range\n ?.enum as EffectScrollRange[]\n }\n className={styles.mainSelect}\n />\n <SelectInput\n onChange={(event) => {\n const value: AllEffectsNames = event.target.value;\n setAnimName(value);\n setData(\n mapSchemaToDefaultData(\n (animations[value].schema ||\n {}) as EffectConfig<OneOfEffects>['schema'],\n schemaEditor,\n ),\n );\n }}\n value={animName}\n options={\n Object.keys(animations).map((name) => [\n name,\n implementedAnimations.includes(name as AllEffectsNames),\n ]) as [string, boolean][]\n }\n className={styles.mainSelect}\n />\n </div>\n <div className={styles.controls}>\n {/* <Control\n default=\"in\"\n type=\"string\"\n label=\"type\"\n enum={['in', 'out', 'continuous']}\n value={data.range}\n onChange={(_e, value) =>\n handleControlChange('range', value as EffectRangeAll)\n }\n /> */}\n {/* {data.range !== 'continuous' && (\n <Control\n default={50}\n type=\"number\"\n label={offsetType}\n min={0}\n max={100}\n step={1}\n value={data[offsetType]}\n onChange={(_e, value) => handleControlChange(offsetType, value)}\n />\n )} */}\n {Object.entries(schema)\n .filter(\n ([name]) => !['duration', 'delay', 'allowReplay'].includes(name),\n )\n .map(([name, controlProps], i) => (\n <Control\n key={`key-control-${i}`}\n {...controlProps}\n value={data[name]}\n label={name}\n onChange={(_e, value) => handleControlChange(name, value)}\n />\n ))}\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|