@wix/motion 1.661.0 → 1.662.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/dist/cjs/library/backgroundScroll/BgCloseUp.js +29 -8
- package/dist/cjs/library/backgroundScroll/BgCloseUp.js.map +1 -1
- package/dist/cjs/library/backgroundScroll/BgFade.js +24 -9
- package/dist/cjs/library/backgroundScroll/BgFade.js.map +1 -1
- package/dist/cjs/library/backgroundScroll/BgFadeBack.js +29 -8
- package/dist/cjs/library/backgroundScroll/BgFadeBack.js.map +1 -1
- package/dist/cjs/library/backgroundScroll/BgFake3D.js +40 -12
- package/dist/cjs/library/backgroundScroll/BgFake3D.js.map +1 -1
- package/dist/cjs/library/backgroundScroll/BgPan.js +27 -13
- package/dist/cjs/library/backgroundScroll/BgPan.js.map +1 -1
- package/dist/cjs/library/backgroundScroll/BgParallax.js +27 -8
- package/dist/cjs/library/backgroundScroll/BgParallax.js.map +1 -1
- package/dist/cjs/library/backgroundScroll/BgPullBack.js +28 -7
- package/dist/cjs/library/backgroundScroll/BgPullBack.js.map +1 -1
- package/dist/cjs/library/backgroundScroll/BgReveal.js +19 -5
- package/dist/cjs/library/backgroundScroll/BgReveal.js.map +1 -1
- package/dist/cjs/library/backgroundScroll/BgRotate.js +17 -3
- package/dist/cjs/library/backgroundScroll/BgRotate.js.map +1 -1
- package/dist/cjs/library/backgroundScroll/BgSkew.js +27 -8
- package/dist/cjs/library/backgroundScroll/BgSkew.js.map +1 -1
- package/dist/cjs/library/backgroundScroll/BgZoom.js +82 -44
- package/dist/cjs/library/backgroundScroll/BgZoom.js.map +1 -1
- package/dist/cjs/library/backgroundScroll/ImageParallax.js +37 -14
- package/dist/cjs/library/backgroundScroll/ImageParallax.js.map +1 -1
- package/dist/cjs/library/backgroundScroll/index.js +25 -25
- package/dist/cjs/library/backgroundScroll/index.js.map +1 -1
- package/dist/cjs/library/backgroundScroll/utils.js +15 -4
- package/dist/cjs/library/backgroundScroll/utils.js.map +1 -1
- package/dist/cjs/library/entrance/BounceIn.js +1 -1
- package/dist/cjs/library/entrance/BounceIn.js.map +1 -1
- package/dist/cjs/library/ongoing/Breathe.js +1 -1
- package/dist/cjs/library/ongoing/Breathe.js.map +1 -1
- package/dist/cjs/library/scroll/ArcScroll.js +23 -38
- package/dist/cjs/library/scroll/ArcScroll.js.map +1 -1
- package/dist/cjs/library/scroll/BlurScroll.js +20 -14
- package/dist/cjs/library/scroll/BlurScroll.js.map +1 -1
- package/dist/cjs/library/scroll/FadeScroll.js +22 -16
- package/dist/cjs/library/scroll/FadeScroll.js.map +1 -1
- package/dist/cjs/library/scroll/FlipScroll.js +21 -21
- package/dist/cjs/library/scroll/FlipScroll.js.map +1 -1
- package/dist/cjs/library/scroll/GrowScroll.js +38 -99
- package/dist/cjs/library/scroll/GrowScroll.js.map +1 -1
- package/dist/cjs/library/scroll/MoveScroll.js +56 -84
- package/dist/cjs/library/scroll/MoveScroll.js.map +1 -1
- package/dist/cjs/library/scroll/PanScroll.js +50 -50
- package/dist/cjs/library/scroll/PanScroll.js.map +1 -1
- package/dist/cjs/library/scroll/ParallaxScroll.js +19 -32
- package/dist/cjs/library/scroll/ParallaxScroll.js.map +1 -1
- package/dist/cjs/library/scroll/RevealScroll.js +37 -70
- package/dist/cjs/library/scroll/RevealScroll.js.map +1 -1
- package/dist/cjs/library/scroll/ShapeScroll.js +39 -39
- package/dist/cjs/library/scroll/ShapeScroll.js.map +1 -1
- package/dist/cjs/library/scroll/ShrinkScroll.js +37 -95
- package/dist/cjs/library/scroll/ShrinkScroll.js.map +1 -1
- package/dist/cjs/library/scroll/ShuttersScroll.js +41 -33
- package/dist/cjs/library/scroll/ShuttersScroll.js.map +1 -1
- package/dist/cjs/library/scroll/SkewPanScroll.js +50 -87
- package/dist/cjs/library/scroll/SkewPanScroll.js.map +1 -1
- package/dist/cjs/library/scroll/SlideScroll.js +61 -84
- package/dist/cjs/library/scroll/SlideScroll.js.map +1 -1
- package/dist/cjs/library/scroll/Spin3dScroll.js +47 -79
- package/dist/cjs/library/scroll/Spin3dScroll.js.map +1 -1
- package/dist/cjs/library/scroll/SpinScroll.js +24 -20
- package/dist/cjs/library/scroll/SpinScroll.js.map +1 -1
- package/dist/cjs/library/scroll/StretchScroll.js +49 -33
- package/dist/cjs/library/scroll/StretchScroll.js.map +1 -1
- package/dist/cjs/library/scroll/TiltScroll.js +44 -85
- package/dist/cjs/library/scroll/TiltScroll.js.map +1 -1
- package/dist/cjs/library/scroll/TurnScroll.js +57 -84
- package/dist/cjs/library/scroll/TurnScroll.js.map +1 -1
- package/dist/cjs/library/scroll/index.js +39 -39
- package/dist/cjs/library/scroll/index.js.map +1 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils.js +37 -4
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/library/backgroundScroll/BgCloseUp.js +28 -7
- package/dist/esm/library/backgroundScroll/BgCloseUp.js.map +1 -1
- package/dist/esm/library/backgroundScroll/BgFade.js +22 -7
- package/dist/esm/library/backgroundScroll/BgFade.js.map +1 -1
- package/dist/esm/library/backgroundScroll/BgFadeBack.js +27 -6
- package/dist/esm/library/backgroundScroll/BgFadeBack.js.map +1 -1
- package/dist/esm/library/backgroundScroll/BgFake3D.js +36 -8
- package/dist/esm/library/backgroundScroll/BgFake3D.js.map +1 -1
- package/dist/esm/library/backgroundScroll/BgPan.js +25 -11
- package/dist/esm/library/backgroundScroll/BgPan.js.map +1 -1
- package/dist/esm/library/backgroundScroll/BgParallax.js +24 -5
- package/dist/esm/library/backgroundScroll/BgParallax.js.map +1 -1
- package/dist/esm/library/backgroundScroll/BgPullBack.js +26 -5
- package/dist/esm/library/backgroundScroll/BgPullBack.js.map +1 -1
- package/dist/esm/library/backgroundScroll/BgReveal.js +15 -4
- package/dist/esm/library/backgroundScroll/BgReveal.js.map +1 -1
- package/dist/esm/library/backgroundScroll/BgRotate.js +17 -2
- package/dist/esm/library/backgroundScroll/BgRotate.js.map +1 -1
- package/dist/esm/library/backgroundScroll/BgSkew.js +25 -6
- package/dist/esm/library/backgroundScroll/BgSkew.js.map +1 -1
- package/dist/esm/library/backgroundScroll/BgZoom.js +82 -44
- package/dist/esm/library/backgroundScroll/BgZoom.js.map +1 -1
- package/dist/esm/library/backgroundScroll/ImageParallax.js +35 -12
- package/dist/esm/library/backgroundScroll/ImageParallax.js.map +1 -1
- package/dist/esm/library/backgroundScroll/index.js +12 -12
- package/dist/esm/library/backgroundScroll/index.js.map +1 -1
- package/dist/esm/library/backgroundScroll/utils.js +15 -4
- package/dist/esm/library/backgroundScroll/utils.js.map +1 -1
- package/dist/esm/library/entrance/BounceIn.js +1 -1
- package/dist/esm/library/entrance/BounceIn.js.map +1 -1
- package/dist/esm/library/ongoing/Breathe.js +1 -1
- package/dist/esm/library/ongoing/Breathe.js.map +1 -1
- package/dist/esm/library/scroll/ArcScroll.js +22 -36
- package/dist/esm/library/scroll/ArcScroll.js.map +1 -1
- package/dist/esm/library/scroll/BlurScroll.js +20 -13
- package/dist/esm/library/scroll/BlurScroll.js.map +1 -1
- package/dist/esm/library/scroll/FadeScroll.js +22 -15
- package/dist/esm/library/scroll/FadeScroll.js.map +1 -1
- package/dist/esm/library/scroll/FlipScroll.js +21 -20
- package/dist/esm/library/scroll/FlipScroll.js.map +1 -1
- package/dist/esm/library/scroll/GrowScroll.js +38 -99
- package/dist/esm/library/scroll/GrowScroll.js.map +1 -1
- package/dist/esm/library/scroll/MoveScroll.js +57 -85
- package/dist/esm/library/scroll/MoveScroll.js.map +1 -1
- package/dist/esm/library/scroll/PanScroll.js +50 -50
- package/dist/esm/library/scroll/PanScroll.js.map +1 -1
- package/dist/esm/library/scroll/ParallaxScroll.js +19 -32
- package/dist/esm/library/scroll/ParallaxScroll.js.map +1 -1
- package/dist/esm/library/scroll/RevealScroll.js +34 -70
- package/dist/esm/library/scroll/RevealScroll.js.map +1 -1
- package/dist/esm/library/scroll/ShapeScroll.js +40 -39
- package/dist/esm/library/scroll/ShapeScroll.js.map +1 -1
- package/dist/esm/library/scroll/ShrinkScroll.js +37 -95
- package/dist/esm/library/scroll/ShrinkScroll.js.map +1 -1
- package/dist/esm/library/scroll/ShuttersScroll.js +42 -33
- package/dist/esm/library/scroll/ShuttersScroll.js.map +1 -1
- package/dist/esm/library/scroll/SkewPanScroll.js +49 -86
- package/dist/esm/library/scroll/SkewPanScroll.js.map +1 -1
- package/dist/esm/library/scroll/SlideScroll.js +61 -84
- package/dist/esm/library/scroll/SlideScroll.js.map +1 -1
- package/dist/esm/library/scroll/Spin3dScroll.js +47 -79
- package/dist/esm/library/scroll/Spin3dScroll.js.map +1 -1
- package/dist/esm/library/scroll/SpinScroll.js +24 -19
- package/dist/esm/library/scroll/SpinScroll.js.map +1 -1
- package/dist/esm/library/scroll/StretchScroll.js +49 -32
- package/dist/esm/library/scroll/StretchScroll.js.map +1 -1
- package/dist/esm/library/scroll/TiltScroll.js +44 -85
- package/dist/esm/library/scroll/TiltScroll.js.map +1 -1
- package/dist/esm/library/scroll/TurnScroll.js +56 -83
- package/dist/esm/library/scroll/TurnScroll.js.map +1 -1
- package/dist/esm/library/scroll/index.js +19 -19
- package/dist/esm/library/scroll/index.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils.js +32 -3
- package/dist/esm/utils.js.map +1 -1
- package/dist/types/api/common.d.ts +7 -1
- package/dist/types/api/common.d.ts.map +1 -1
- package/dist/types/library/backgroundScroll/BgCloseUp.d.ts +83 -2
- package/dist/types/library/backgroundScroll/BgCloseUp.d.ts.map +1 -1
- package/dist/types/library/backgroundScroll/BgFade.d.ts +46 -2
- package/dist/types/library/backgroundScroll/BgFade.d.ts.map +1 -1
- package/dist/types/library/backgroundScroll/BgFadeBack.d.ts +85 -3
- package/dist/types/library/backgroundScroll/BgFadeBack.d.ts.map +1 -1
- package/dist/types/library/backgroundScroll/BgFake3D.d.ts +82 -2
- package/dist/types/library/backgroundScroll/BgFake3D.d.ts.map +1 -1
- package/dist/types/library/backgroundScroll/BgPan.d.ts +44 -2
- package/dist/types/library/backgroundScroll/BgPan.d.ts.map +1 -1
- package/dist/types/library/backgroundScroll/BgParallax.d.ts +44 -2
- package/dist/types/library/backgroundScroll/BgParallax.d.ts.map +1 -1
- package/dist/types/library/backgroundScroll/BgPullBack.d.ts +44 -2
- package/dist/types/library/backgroundScroll/BgPullBack.d.ts.map +1 -1
- package/dist/types/library/backgroundScroll/BgReveal.d.ts +6 -1
- package/dist/types/library/backgroundScroll/BgReveal.d.ts.map +1 -1
- package/dist/types/library/backgroundScroll/BgRotate.d.ts +28 -1
- package/dist/types/library/backgroundScroll/BgRotate.d.ts.map +1 -1
- package/dist/types/library/backgroundScroll/BgSkew.d.ts +44 -2
- package/dist/types/library/backgroundScroll/BgSkew.d.ts.map +1 -1
- package/dist/types/library/backgroundScroll/BgZoom.d.ts +7 -71
- package/dist/types/library/backgroundScroll/BgZoom.d.ts.map +1 -1
- package/dist/types/library/backgroundScroll/ImageParallax.d.ts +45 -2
- package/dist/types/library/backgroundScroll/ImageParallax.d.ts.map +1 -1
- package/dist/types/library/backgroundScroll/index.d.ts.map +1 -1
- package/dist/types/library/backgroundScroll/utils.d.ts +4 -3
- package/dist/types/library/backgroundScroll/utils.d.ts.map +1 -1
- package/dist/types/library/ongoing/Bounce.d.ts +2 -0
- package/dist/types/library/ongoing/Bounce.d.ts.map +1 -1
- package/dist/types/library/ongoing/Breathe.d.ts +2 -0
- package/dist/types/library/ongoing/Breathe.d.ts.map +1 -1
- package/dist/types/library/ongoing/Cross.d.ts +1 -0
- package/dist/types/library/ongoing/Cross.d.ts.map +1 -1
- package/dist/types/library/ongoing/Flash.d.ts +2 -0
- package/dist/types/library/ongoing/Flash.d.ts.map +1 -1
- package/dist/types/library/ongoing/Flip.d.ts +2 -0
- package/dist/types/library/ongoing/Flip.d.ts.map +1 -1
- package/dist/types/library/ongoing/Fold.d.ts +2 -0
- package/dist/types/library/ongoing/Fold.d.ts.map +1 -1
- package/dist/types/library/ongoing/Jello.d.ts +2 -0
- package/dist/types/library/ongoing/Jello.d.ts.map +1 -1
- package/dist/types/library/ongoing/Poke.d.ts +2 -0
- package/dist/types/library/ongoing/Poke.d.ts.map +1 -1
- package/dist/types/library/ongoing/Pulse.d.ts +2 -0
- package/dist/types/library/ongoing/Pulse.d.ts.map +1 -1
- package/dist/types/library/ongoing/Rubber.d.ts +2 -0
- package/dist/types/library/ongoing/Rubber.d.ts.map +1 -1
- package/dist/types/library/ongoing/Spin.d.ts +2 -0
- package/dist/types/library/ongoing/Spin.d.ts.map +1 -1
- package/dist/types/library/ongoing/Swing.d.ts +2 -0
- package/dist/types/library/ongoing/Swing.d.ts.map +1 -1
- package/dist/types/library/ongoing/Wiggle.d.ts +2 -0
- package/dist/types/library/ongoing/Wiggle.d.ts.map +1 -1
- package/dist/types/library/scroll/ArcScroll.d.ts +35 -2
- package/dist/types/library/scroll/ArcScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/BlurScroll.d.ts +36 -2
- package/dist/types/library/scroll/BlurScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/FadeScroll.d.ts +35 -2
- package/dist/types/library/scroll/FadeScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/FlipScroll.d.ts +35 -2
- package/dist/types/library/scroll/FlipScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/GrowScroll.d.ts +45 -2
- package/dist/types/library/scroll/GrowScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/MoveScroll.d.ts +40 -1
- package/dist/types/library/scroll/MoveScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/PanScroll.d.ts +35 -1
- package/dist/types/library/scroll/PanScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/ParallaxScroll.d.ts +35 -2
- package/dist/types/library/scroll/ParallaxScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/RevealScroll.d.ts +37 -3
- package/dist/types/library/scroll/RevealScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/ShapeScroll.d.ts +46 -3
- package/dist/types/library/scroll/ShapeScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/ShrinkScroll.d.ts +45 -2
- package/dist/types/library/scroll/ShrinkScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/ShuttersScroll.d.ts +42 -15
- package/dist/types/library/scroll/ShuttersScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/SkewPanScroll.d.ts +39 -1
- package/dist/types/library/scroll/SkewPanScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/SlideScroll.d.ts +29 -2
- package/dist/types/library/scroll/SlideScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/Spin3dScroll.d.ts +49 -2
- package/dist/types/library/scroll/Spin3dScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/SpinScroll.d.ts +39 -2
- package/dist/types/library/scroll/SpinScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/StretchScroll.d.ts +74 -2
- package/dist/types/library/scroll/StretchScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/TiltScroll.d.ts +95 -2
- package/dist/types/library/scroll/TiltScroll.d.ts.map +1 -1
- package/dist/types/library/scroll/TurnScroll.d.ts +44 -7
- package/dist/types/library/scroll/TurnScroll.d.ts.map +1 -1
- package/dist/types/types.d.ts +5 -4
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils.d.ts +8 -2
- package/dist/types/utils.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["applyRotationAdjustedClip","getRevealClipFrom","getRevealClipTo","toKeyframeValue","INITIAL_CLIP","getNames","options","range","namedEffect","prepare","dom","direction","web","style","easing","fill","revealScroll","custom","keyframes","clipPath","splice","name"],"sources":["../../../../src/library/scroll/RevealScroll.ts"],"sourcesContent":["import type {\n AnimationFillMode,\n ScrubAnimationOptions,\n RevealScroll,\n DomApi,\n} from '../../types';\nimport {\n applyRotationAdjustedClip,\n getRevealClipFrom,\n getRevealClipTo,\n toKeyframeValue,\n INITIAL_CLIP,\n} from '../../utils';\n\nexport function getNames(options: ScrubAnimationOptions) {\n const { range = 'in' } = options.namedEffect as RevealScroll;\n return [`motion-revealScroll${range === 'continuous' ? '-continuous' : ''}`];\n}\n\nexport function prepare(options: ScrubAnimationOptions, dom?: DomApi) {\n if (dom) {\n const { direction = 'bottom', range = 'in' } =\n options.namedEffect as RevealScroll;\n applyRotationAdjustedClip(dom, direction, range);\n }\n}\n\nexport function web(options: ScrubAnimationOptions, dom?: DomApi) {\n prepare(options, dom);\n\n return style(options);\n}\n\nexport function style(options: ScrubAnimationOptions) {\n const { direction = 'bottom', range = 'in' } =\n options.namedEffect as RevealScroll;\n const easing = 'linear';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const [revealScroll] = getNames(options);\n\n const custom = {\n '--motion-clip-from': getRevealClipFrom(direction, range),\n '--motion-clip-to': getRevealClipTo(direction, range),\n };\n\n const keyframes = [\n {\n clipPath: toKeyframeValue(\n {},\n '--motion-clip-from',\n false,\n custom['--motion-clip-from'],\n ),\n },\n {\n clipPath: toKeyframeValue(\n {},\n '--motion-clip-to',\n false,\n custom['--motion-clip-to'],\n ),\n },\n ];\n\n if (range === 'continuous') {\n keyframes.splice(1, 0, { clipPath: INITIAL_CLIP });\n }\n\n return [\n {\n ...options,\n name: revealScroll,\n fill,\n easing,\n custom,\n keyframes,\n },\n ];\n}\n"],"mappings":"AAMA,SACEA,yBAAyB,EACzBC,iBAAiB,EACjBC,eAAe,EACfC,eAAe,EACfC,YAAY,QACP,aAAa;AAEpB,OAAO,SAASC,QAAQA,CAACC,OAA8B,EAAE;EACvD,MAAM;IAAEC,KAAK,GAAG;EAAK,CAAC,GAAGD,OAAO,CAACE,WAA2B;EAC5D,OAAO,CAAC,sBAAsBD,KAAK,KAAK,YAAY,GAAG,aAAa,GAAG,EAAE,EAAE,CAAC;AAC9E;AAEA,OAAO,SAASE,OAAOA,CAACH,OAA8B,EAAEI,GAAY,EAAE;EACpE,IAAIA,GAAG,EAAE;IACP,MAAM;MAAEC,SAAS,GAAG,QAAQ;MAAEJ,KAAK,GAAG;IAAK,CAAC,GAC1CD,OAAO,CAACE,WAA2B;IACrCR,yBAAyB,CAACU,GAAG,EAAEC,SAAS,EAAEJ,KAAK,CAAC;EAClD;AACF;AAEA,OAAO,SAASK,GAAGA,CAACN,OAA8B,EAAEI,GAAY,EAAE;EAChED,OAAO,CAACH,OAAO,EAAEI,GAAG,CAAC;EAErB,OAAOG,KAAK,CAACP,OAAO,CAAC;AACvB;AAEA,OAAO,SAASO,KAAKA,CAACP,OAA8B,EAAE;EACpD,MAAM;IAAEK,SAAS,GAAG,QAAQ;IAAEJ,KAAK,GAAG;EAAK,CAAC,GAC1CD,OAAO,CAACE,WAA2B;EACrC,MAAMM,MAAM,GAAG,QAAQ;EACvB,MAAMC,IAAI,GACRR,KAAK,KAAK,KAAK,GAAG,UAAU,GAAGA,KAAK,KAAK,IAAI,GAAG,WAAW,GAAGD,OAAO,CAACS,IAClD;EAEtB,MAAM,CAACC,YAAY,CAAC,GAAGX,QAAQ,CAACC,OAAO,CAAC;EAExC,MAAMW,MAAM,GAAG;IACb,oBAAoB,EAAEhB,iBAAiB,CAACU,SAAS,EAAEJ,KAAK,CAAC;IACzD,kBAAkB,EAAEL,eAAe,CAACS,SAAS,EAAEJ,KAAK;EACtD,CAAC;EAED,MAAMW,SAAS,GAAG,CAChB;IACEC,QAAQ,EAAEhB,eAAe,CACvB,CAAC,CAAC,EACF,oBAAoB,EACpB,KAAK,EACLc,MAAM,CAAC,oBAAoB,CAC7B;EACF,CAAC,EACD;IACEE,QAAQ,EAAEhB,eAAe,CACvB,CAAC,CAAC,EACF,kBAAkB,EAClB,KAAK,EACLc,MAAM,CAAC,kBAAkB,CAC3B;EACF,CAAC,CACF;EAED,IAAIV,KAAK,KAAK,YAAY,EAAE;IAC1BW,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;MAAED,QAAQ,EAAEf;IAAa,CAAC,CAAC;EACpD;EAEA,OAAO,CACL;IACE,GAAGE,OAAO;IACVe,IAAI,EAAEL,YAAY;IAClBD,IAAI;IACJD,MAAM;IACNG,MAAM;IACNC;EACF,CAAC,CACF;AACH","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getEasing } from '../../utils';
|
|
1
|
+
import { toKeyframeValue, getEasing } from '../../utils';
|
|
2
2
|
const SHAPES = {
|
|
3
3
|
diamond: {
|
|
4
4
|
start: {
|
|
@@ -55,56 +55,57 @@ const RESPONSIVE_SHAPES_MAP = {
|
|
|
55
55
|
return [`ellipse(${clip}% ${clip}%)`, `ellipse(75% 75%)`];
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}],
|
|
72
|
-
continuous: (start, end) => [{
|
|
73
|
-
clipPath: start,
|
|
74
|
-
easing
|
|
75
|
-
}, {
|
|
76
|
-
clipPath: end,
|
|
77
|
-
easing
|
|
78
|
-
}, {
|
|
79
|
-
clipPath: start
|
|
80
|
-
}]
|
|
81
|
-
};
|
|
82
|
-
export default function create(options) {
|
|
58
|
+
export function getNames(options) {
|
|
59
|
+
const {
|
|
60
|
+
range = 'in'
|
|
61
|
+
} = options.namedEffect;
|
|
62
|
+
return [`motion-shapeScroll${range === 'continuous' ? '-continuous' : ''}`];
|
|
63
|
+
}
|
|
64
|
+
export function web(options, _dom) {
|
|
65
|
+
return style(options, true);
|
|
66
|
+
}
|
|
67
|
+
export function style(options, asWeb) {
|
|
68
|
+
if (asWeb === void 0) {
|
|
69
|
+
asWeb = false;
|
|
70
|
+
}
|
|
83
71
|
const {
|
|
84
|
-
shape = 'circle',
|
|
85
72
|
power,
|
|
86
73
|
intensity = 0.5,
|
|
87
74
|
range = 'in'
|
|
88
75
|
} = options.namedEffect;
|
|
76
|
+
let {
|
|
77
|
+
shape = 'circle'
|
|
78
|
+
} = options.namedEffect;
|
|
79
|
+
if (!(shape in SHAPES)) {
|
|
80
|
+
shape = 'circle';
|
|
81
|
+
}
|
|
89
82
|
const fill = range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill;
|
|
90
83
|
const [start, end] = power && SHAPES[shape].start[power] ? [SHAPES[shape].start[power], SHAPES[shape].end] : RESPONSIVE_SHAPES_MAP[shape](intensity * 100);
|
|
91
|
-
const
|
|
84
|
+
const [shapeScroll] = getNames(options);
|
|
85
|
+
const custom = {
|
|
86
|
+
'--motion-clip-from': range === 'out' ? end : start,
|
|
87
|
+
'--motion-clip-to': range === 'out' ? start : end
|
|
88
|
+
};
|
|
89
|
+
const easing = getEasing('circInOut');
|
|
90
|
+
const keyframes = [{
|
|
91
|
+
clipPath: toKeyframeValue(custom, `--motion-clip-from`, asWeb),
|
|
92
|
+
easing
|
|
93
|
+
}, {
|
|
94
|
+
clipPath: toKeyframeValue(custom, `--motion-clip-to`, asWeb)
|
|
95
|
+
}];
|
|
96
|
+
if (range === 'continuous') {
|
|
97
|
+
keyframes[1].easing = easing;
|
|
98
|
+
keyframes.push({
|
|
99
|
+
clipPath: toKeyframeValue(custom, `--motion-clip-from`, asWeb)
|
|
100
|
+
});
|
|
101
|
+
}
|
|
92
102
|
return [{
|
|
93
103
|
...options,
|
|
104
|
+
name: shapeScroll,
|
|
94
105
|
fill,
|
|
95
106
|
easing: 'linear',
|
|
107
|
+
custom,
|
|
96
108
|
keyframes
|
|
97
109
|
}];
|
|
98
|
-
/*
|
|
99
|
-
* @keyframes <name> {
|
|
100
|
-
* from {
|
|
101
|
-
* clip-path: <fromValue>;
|
|
102
|
-
* easing: <easing>;
|
|
103
|
-
* }
|
|
104
|
-
* to {
|
|
105
|
-
* clip-path: <toValue>;
|
|
106
|
-
* }
|
|
107
|
-
* }
|
|
108
|
-
*/
|
|
109
110
|
}
|
|
110
111
|
//# sourceMappingURL=ShapeScroll.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getEasing","SHAPES","diamond","start","soft","medium","hard","end","window","rectangle","circle","ellipse","RESPONSIVE_SHAPES_MAP","clipFactor","clip","clipNeg","
|
|
1
|
+
{"version":3,"names":["toKeyframeValue","getEasing","SHAPES","diamond","start","soft","medium","hard","end","window","rectangle","circle","ellipse","RESPONSIVE_SHAPES_MAP","clipFactor","clip","clipNeg","getNames","options","range","namedEffect","web","_dom","style","asWeb","power","intensity","shape","fill","shapeScroll","custom","easing","keyframes","clipPath","push","name"],"sources":["../../../../src/library/scroll/ShapeScroll.ts"],"sourcesContent":["import type {\n AnimationFillMode,\n EffectPower,\n ScrubAnimationOptions,\n ShapeScroll,\n DomApi,\n} from '../../types';\nimport { toKeyframeValue, getEasing } from '../../utils';\n\nconst SHAPES: Record<\n ShapeScroll['shape'],\n { start: Record<EffectPower, string>; end: string }\n> = {\n diamond: {\n start: {\n soft: 'polygon(50% 20%, 80% 50%, 50% 80%, 20% 50%)',\n medium: 'polygon(50% 40%, 60% 50%, 50% 60%, 40% 50%)',\n hard: 'polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%)',\n },\n end: 'polygon(50% -50%, 150% 50%, 50% 150%, -50% 50%)',\n },\n window: {\n start: {\n soft: 'inset(20% round 50% 50% 0% 0%)',\n medium: 'inset(35% round 50% 50% 0% 0%)',\n hard: 'inset(50% round 50% 50% 0% 0%)',\n },\n end: 'inset(-20% round 50% 50% 0% 0%)',\n },\n rectangle: {\n start: {\n soft: 'inset(20%)',\n medium: 'inset(50%)',\n hard: 'inset(80%)',\n },\n end: 'inset(0%)',\n },\n circle: {\n start: {\n soft: 'circle(40%)',\n medium: 'circle(25%)',\n hard: 'circle(0%)',\n },\n end: 'circle(75%)',\n },\n ellipse: {\n start: {\n soft: 'ellipse(50% 50%)',\n medium: 'ellipse(30% 30%)',\n hard: 'ellipse(0% 0%)',\n },\n end: 'ellipse(75% 75%)',\n },\n};\n\nconst RESPONSIVE_SHAPES_MAP = {\n diamond: (clipFactor: number) => {\n const clip = clipFactor / 2;\n const clipNeg = 100 - clip;\n return [\n `polygon(50% ${clip}%, ${clipNeg}% 50%, 50% ${clipNeg}%, ${clip}% 50%)`,\n 'polygon(50% -50%, 150% 50%, 50% 150%, -50% 50%)',\n ];\n },\n window: (clipFactor: number) => [\n `inset(${clipFactor / 2}% round 50% 50% 0% 0%)`,\n 'inset(-20% round 50% 50% 0% 0%)',\n ],\n rectangle: (clipFactor: number) => [`inset(${clipFactor}%)`, `inset(0%)`],\n circle: (clipFactor: number) => [\n `circle(${100 - clipFactor}%)`,\n `circle(75%)`,\n ],\n ellipse: (clipFactor: number) => {\n const clip = 50 - clipFactor / 2;\n return [`ellipse(${clip}% ${clip}%)`, `ellipse(75% 75%)`];\n },\n};\n\nexport function getNames(options: ScrubAnimationOptions) {\n const { range = 'in' } = options.namedEffect as ShapeScroll;\n return [`motion-shapeScroll${range === 'continuous' ? '-continuous' : ''}`];\n}\n\nexport function web(options: ScrubAnimationOptions, _dom?: DomApi) {\n return style(options, true);\n}\n\nexport function style(options: ScrubAnimationOptions, asWeb = false) {\n const {\n power,\n intensity = 0.5,\n range = 'in',\n } = options.namedEffect as ShapeScroll;\n let { shape = 'circle' } = options.namedEffect as ShapeScroll;\n if (!(shape in SHAPES)) {\n shape = 'circle';\n }\n\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const [start, end] =\n power && SHAPES[shape].start[power]\n ? [SHAPES[shape].start[power], SHAPES[shape].end]\n : RESPONSIVE_SHAPES_MAP[shape](intensity * 100);\n\n const [shapeScroll] = getNames(options);\n\n const custom = {\n '--motion-clip-from': range === 'out' ? end : start,\n '--motion-clip-to': range === 'out' ? start : end,\n };\n\n const easing = getEasing('circInOut');\n\n const keyframes = [\n {\n clipPath: toKeyframeValue(custom, `--motion-clip-from`, asWeb),\n easing,\n },\n { clipPath: toKeyframeValue(custom, `--motion-clip-to`, asWeb) },\n ];\n\n if (range === 'continuous') {\n keyframes[1].easing = easing;\n keyframes.push({\n clipPath: toKeyframeValue(custom, `--motion-clip-from`, asWeb),\n });\n }\n\n return [\n {\n ...options,\n name: shapeScroll,\n fill,\n easing: 'linear',\n custom,\n keyframes,\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { toKeyframeValue } from '../../utils';
|
|
1
2
|
const MAX_Y_TRAVEL = 40;
|
|
2
3
|
const POWER_MAP = {
|
|
3
4
|
soft: {
|
|
@@ -27,51 +28,16 @@ const directionMap = {
|
|
|
27
28
|
'top-left': [-50, -50],
|
|
28
29
|
center: [0, 0]
|
|
29
30
|
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
},
|
|
36
|
-
toValues: {
|
|
37
|
-
scale: 1,
|
|
38
|
-
travel: 0
|
|
39
|
-
}
|
|
40
|
-
}),
|
|
41
|
-
out: (_scaleFrom, scaleTo, travelY) => ({
|
|
42
|
-
fromValues: {
|
|
43
|
-
scale: 1,
|
|
44
|
-
travel: 0
|
|
45
|
-
},
|
|
46
|
-
toValues: {
|
|
47
|
-
scale: scaleTo,
|
|
48
|
-
travel: -travelY
|
|
49
|
-
}
|
|
50
|
-
}),
|
|
51
|
-
continuous: (scaleFrom, scaleTo, travelY) => ({
|
|
52
|
-
fromValues: {
|
|
53
|
-
scale: scaleFrom,
|
|
54
|
-
travel: travelY
|
|
55
|
-
},
|
|
56
|
-
toValues: {
|
|
57
|
-
scale: scaleTo,
|
|
58
|
-
travel: -travelY
|
|
59
|
-
}
|
|
60
|
-
})
|
|
61
|
-
};
|
|
62
|
-
function getScrubOffsets(_ref) {
|
|
63
|
-
let {
|
|
64
|
-
power,
|
|
65
|
-
range = 'in',
|
|
66
|
-
speed = 0
|
|
67
|
-
} = _ref;
|
|
68
|
-
const offset = power && POWER_MAP[power] ? POWER_MAP[power].travelY : Math.abs(speed) * MAX_Y_TRAVEL;
|
|
69
|
-
return {
|
|
70
|
-
start: range === 'out' ? '0px' : `${-offset}vh`,
|
|
71
|
-
end: range === 'in' ? '0px' : `${offset}vh`
|
|
72
|
-
};
|
|
31
|
+
export function getNames(_) {
|
|
32
|
+
return ['motion-shrinkScroll'];
|
|
33
|
+
}
|
|
34
|
+
export function web(options, _dom) {
|
|
35
|
+
return style(options, true);
|
|
73
36
|
}
|
|
74
|
-
export
|
|
37
|
+
export function style(options, asWeb) {
|
|
38
|
+
if (asWeb === void 0) {
|
|
39
|
+
asWeb = false;
|
|
40
|
+
}
|
|
75
41
|
const {
|
|
76
42
|
power,
|
|
77
43
|
range = 'in',
|
|
@@ -79,6 +45,7 @@ export default function create(options) {
|
|
|
79
45
|
direction = 'center',
|
|
80
46
|
speed = 0
|
|
81
47
|
} = options.namedEffect;
|
|
48
|
+
const easing = 'linear';
|
|
82
49
|
const fill = range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill;
|
|
83
50
|
const {
|
|
84
51
|
scaleFrom,
|
|
@@ -89,66 +56,41 @@ export default function create(options) {
|
|
|
89
56
|
scaleTo: scale,
|
|
90
57
|
travelY: speed
|
|
91
58
|
};
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
const {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
const [
|
|
59
|
+
const travel = travelY * MAX_Y_TRAVEL;
|
|
60
|
+
const fromValues = {
|
|
61
|
+
scale: range === 'out' ? 1 : scaleFrom,
|
|
62
|
+
travel: range === 'out' ? 0 : -travel
|
|
63
|
+
};
|
|
64
|
+
const toValues = {
|
|
65
|
+
scale: range === 'in' ? 1 : scaleTo,
|
|
66
|
+
travel: range === 'in' ? 0 : travel
|
|
67
|
+
};
|
|
68
|
+
const offset = Math.abs(power && POWER_MAP[power] ? POWER_MAP[power].travelY : travel);
|
|
69
|
+
const startOffsetAdd = range === 'out' ? '0px' : `${-offset}vh`;
|
|
70
|
+
const endOffsetAdd = range === 'in' ? '0px' : `${offset}vh`;
|
|
71
|
+
const [trnsX, trnsY] = directionMap[direction] || [0, 0];
|
|
72
|
+
const [shrinkScroll] = getNames(options);
|
|
73
|
+
const custom = {
|
|
74
|
+
'--motion-travel-from': `${fromValues.travel}vh`,
|
|
75
|
+
'--motion-travel-to': `${toValues.travel}vh`,
|
|
76
|
+
'--motion-shrink-from': fromValues.scale,
|
|
77
|
+
'--motion-shrink-to': toValues.scale,
|
|
78
|
+
'--motion-trans-x': `${trnsX}%`,
|
|
79
|
+
'--motion-trans-y': `${trnsY}%`
|
|
80
|
+
};
|
|
102
81
|
return [{
|
|
103
82
|
...options,
|
|
83
|
+
name: shrinkScroll,
|
|
104
84
|
fill,
|
|
105
85
|
easing,
|
|
86
|
+
custom,
|
|
106
87
|
startOffsetAdd,
|
|
107
88
|
endOffsetAdd,
|
|
108
89
|
keyframes: [{
|
|
109
|
-
transform: `translateY(${
|
|
90
|
+
transform: `translateY(${toKeyframeValue(custom, '--motion-travel-from', asWeb)}) translate(${toKeyframeValue(custom, '--motion-trans-x', asWeb)}, ${toKeyframeValue(custom, '--motion-trans-y', asWeb)}) scale(${toKeyframeValue(custom, '--motion-shrink-from', asWeb)}) translate(calc(-1 * ${toKeyframeValue(custom, '--motion-trans-x', asWeb)}), calc(-1 * ${toKeyframeValue(custom, '--motion-trans-y', asWeb)})) rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')})`
|
|
110
91
|
}, {
|
|
111
|
-
transform: `translateY(${
|
|
92
|
+
transform: `translateY(${toKeyframeValue(custom, '--motion-travel-to', asWeb)}) translate(${toKeyframeValue(custom, '--motion-trans-x', asWeb)}, ${toKeyframeValue(custom, '--motion-trans-y', asWeb)}) scale(${toKeyframeValue(custom, '--motion-shrink-to', asWeb)}) translate(calc(-1 * ${toKeyframeValue(custom, '--motion-trans-x', asWeb)}), calc(-1 * ${toKeyframeValue(custom, '--motion-trans-y', asWeb)})) rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')})`
|
|
112
93
|
}]
|
|
113
94
|
}];
|
|
114
|
-
/* // we may want to squash both animations into a single one and simply generate dynamically all the necessary keyframes to reach same result
|
|
115
|
-
* @keyframes <name> {
|
|
116
|
-
* from {
|
|
117
|
-
* translate: 0 <fromValues.travel>;
|
|
118
|
-
* }
|
|
119
|
-
* to {
|
|
120
|
-
* translate: 0 <toValues.travel>;
|
|
121
|
-
* }
|
|
122
|
-
* }
|
|
123
|
-
*
|
|
124
|
-
* @keyframes <name>-scale {
|
|
125
|
-
* from {
|
|
126
|
-
* scale: <fromValues.scale>;
|
|
127
|
-
* animation-timing-function: <scaleEase>;
|
|
128
|
-
* }
|
|
129
|
-
* <scaleDuration>% {
|
|
130
|
-
* scale: <toValues.scale>;
|
|
131
|
-
* }
|
|
132
|
-
* to {
|
|
133
|
-
* scale: <toValues.scale>;
|
|
134
|
-
* }
|
|
135
|
-
* }
|
|
136
|
-
*
|
|
137
|
-
* @supports (animation-timeline: view()) {
|
|
138
|
-
* #target {
|
|
139
|
-
* animation: <name> auto <easing> both,
|
|
140
|
-
* <name>-scale auto linear both;
|
|
141
|
-
* animation-range: cover <start> cover <end>,
|
|
142
|
-
* cover <start> cover <end>;
|
|
143
|
-
* animation-timeline: view(), view();
|
|
144
|
-
* }
|
|
145
|
-
* }
|
|
146
|
-
* @supports not (animation-timeline: view()) {
|
|
147
|
-
* #target {
|
|
148
|
-
* animation: <name> 100ms linear <fill> paused,
|
|
149
|
-
* <name>-scale 100ms linear <fill> paused;
|
|
150
|
-
* }
|
|
151
|
-
* }
|
|
152
|
-
*/
|
|
153
95
|
}
|
|
154
96
|
//# sourceMappingURL=ShrinkScroll.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MAX_Y_TRAVEL","POWER_MAP","soft","scaleFrom","scaleTo","travelY","medium","hard","directionMap","top","right","bottom","left","center","
|
|
1
|
+
{"version":3,"names":["toKeyframeValue","MAX_Y_TRAVEL","POWER_MAP","soft","scaleFrom","scaleTo","travelY","medium","hard","directionMap","top","right","bottom","left","center","getNames","_","web","options","_dom","style","asWeb","power","range","scale","direction","speed","namedEffect","easing","fill","travel","fromValues","toValues","offset","Math","abs","startOffsetAdd","endOffsetAdd","trnsX","trnsY","shrinkScroll","custom","name","keyframes","transform"],"sources":["../../../../src/library/scroll/ShrinkScroll.ts"],"sourcesContent":["import type {\n AnimationFillMode,\n ScrubAnimationOptions,\n ShrinkScroll,\n DomApi,\n} from '../../types';\nimport { toKeyframeValue } from '../../utils';\n\nconst MAX_Y_TRAVEL = 40;\nconst POWER_MAP = {\n soft: { scaleFrom: 1.2, scaleTo: 0.8, travelY: 0 },\n medium: { scaleFrom: 1.7, scaleTo: 0.3, travelY: 0.5 },\n hard: { scaleFrom: 3.5, scaleTo: 0, travelY: 1 },\n};\n\nconst directionMap = {\n top: [0, -50],\n 'top-right': [50, -50],\n right: [50, 0],\n 'bottom-right': [50, 50],\n bottom: [0, 50],\n 'bottom-left': [-50, 50],\n left: [-50, 0],\n 'top-left': [-50, -50],\n center: [0, 0],\n};\n\nexport function getNames(_: ScrubAnimationOptions) {\n return ['motion-shrinkScroll'];\n}\n\nexport function web(options: ScrubAnimationOptions, _dom?: DomApi) {\n return style(options, true);\n}\n\nexport function style(options: ScrubAnimationOptions, asWeb = false) {\n const {\n power,\n range = 'in',\n scale = range === 'in' ? 1.2 : 0.8,\n direction = 'center',\n speed = 0,\n } = options.namedEffect as ShrinkScroll;\n const easing = 'linear';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const { scaleFrom, scaleTo, travelY } =\n power && POWER_MAP[power]\n ? POWER_MAP[power]\n : {\n scaleFrom: scale,\n scaleTo: scale,\n travelY: speed,\n };\n const travel = travelY * MAX_Y_TRAVEL;\n\n const fromValues = {\n scale: range === 'out' ? 1 : scaleFrom,\n travel: range === 'out' ? 0 : -travel,\n };\n const toValues = {\n scale: range === 'in' ? 1 : scaleTo,\n travel: range === 'in' ? 0 : travel,\n };\n\n const offset = Math.abs(\n power && POWER_MAP[power] ? POWER_MAP[power].travelY : travel,\n );\n const startOffsetAdd = range === 'out' ? '0px' : `${-offset}vh`;\n const endOffsetAdd = range === 'in' ? '0px' : `${offset}vh`;\n\n const [trnsX, trnsY] = directionMap[direction] || [0, 0];\n\n const [shrinkScroll] = getNames(options);\n\n const custom = {\n '--motion-travel-from': `${fromValues.travel}vh`,\n '--motion-travel-to': `${toValues.travel}vh`,\n '--motion-shrink-from': fromValues.scale,\n '--motion-shrink-to': toValues.scale,\n '--motion-trans-x': `${trnsX}%`,\n '--motion-trans-y': `${trnsY}%`,\n };\n\n return [\n {\n ...options,\n name: shrinkScroll,\n fill,\n easing,\n custom,\n startOffsetAdd,\n endOffsetAdd,\n keyframes: [\n {\n transform: `translateY(${toKeyframeValue(\n custom,\n '--motion-travel-from',\n asWeb,\n )}) translate(${toKeyframeValue(\n custom,\n '--motion-trans-x',\n asWeb,\n )}, ${toKeyframeValue(\n custom,\n '--motion-trans-y',\n asWeb,\n )}) scale(${toKeyframeValue(\n custom,\n '--motion-shrink-from',\n asWeb,\n )}) translate(calc(-1 * ${toKeyframeValue(\n custom,\n '--motion-trans-x',\n asWeb,\n )}), calc(-1 * ${toKeyframeValue(\n custom,\n '--motion-trans-y',\n asWeb,\n )})) rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')})`,\n },\n {\n transform: `translateY(${toKeyframeValue(\n custom,\n '--motion-travel-to',\n asWeb,\n )}) translate(${toKeyframeValue(\n custom,\n '--motion-trans-x',\n asWeb,\n )}, ${toKeyframeValue(\n custom,\n '--motion-trans-y',\n asWeb,\n )}) scale(${toKeyframeValue(\n custom,\n '--motion-shrink-to',\n asWeb,\n )}) translate(calc(-1 * ${toKeyframeValue(\n custom,\n '--motion-trans-x',\n asWeb,\n )}), calc(-1 * ${toKeyframeValue(\n custom,\n '--motion-trans-y',\n asWeb,\n )})) rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')})`,\n },\n ],\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
import { getShuttersClipPaths, getEasing } from '../../utils';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
export
|
|
1
|
+
import { getOppositeDirection, getShuttersClipPaths, getEasing, toKeyframeValue, FOUR_DIRECTIONS } from '../../utils';
|
|
2
|
+
export function getNames(options) {
|
|
3
|
+
const {
|
|
4
|
+
range = 'in'
|
|
5
|
+
} = options.namedEffect;
|
|
6
|
+
return [`motion-shuttersScroll-${range === 'continuous' ? '-continuous' : ''}`];
|
|
7
|
+
}
|
|
8
|
+
export function web(options, _dom) {
|
|
9
|
+
return style(options, true);
|
|
10
|
+
}
|
|
11
|
+
export function style(options, asWeb) {
|
|
12
|
+
if (asWeb === void 0) {
|
|
13
|
+
asWeb = false;
|
|
14
|
+
}
|
|
9
15
|
const {
|
|
10
16
|
direction = 'right',
|
|
11
17
|
shutters = 12,
|
|
@@ -14,49 +20,52 @@ export default function create(options) {
|
|
|
14
20
|
} = options.namedEffect;
|
|
15
21
|
const fill = range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill;
|
|
16
22
|
const easing = range === 'in' ? getEasing('sineIn') : getEasing('sineOut');
|
|
17
|
-
const directionOpp =
|
|
23
|
+
const directionOpp = getOppositeDirection(FOUR_DIRECTIONS, direction);
|
|
18
24
|
const {
|
|
19
25
|
clipStart,
|
|
20
26
|
clipEnd
|
|
21
27
|
} = getShuttersClipPaths(range === 'out' ? directionOpp : direction, shutters, staggered);
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
28
|
+
const custom = {
|
|
29
|
+
'--motion-shutters-clip-start': range === 'out' ? clipEnd : clipStart,
|
|
30
|
+
'--motion-shutters-clip-end': range === 'out' ? clipStart : clipEnd
|
|
31
|
+
};
|
|
32
|
+
const [shuttersScroll] = getNames(options);
|
|
33
|
+
const keyframes = [{
|
|
34
|
+
clipPath: toKeyframeValue(custom, '--motion-shutters-clip-start', asWeb),
|
|
35
|
+
easing
|
|
36
|
+
}, {
|
|
37
|
+
clipPath: toKeyframeValue(custom, '--motion-shutters-clip-end', asWeb)
|
|
38
|
+
}];
|
|
25
39
|
if (range === 'continuous') {
|
|
40
|
+
keyframes[1].easing = easing;
|
|
41
|
+
keyframes[1].offset = staggered ? 0.45 : 0.4;
|
|
26
42
|
const {
|
|
27
43
|
clipStart: oppClipStart,
|
|
28
44
|
clipEnd: oppClipEnd
|
|
29
45
|
} = getShuttersClipPaths(directionOpp, shutters, staggered, true);
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
clipPath: end,
|
|
39
|
-
offset: staggered ? 0.55 : 0.6,
|
|
40
|
-
easing
|
|
41
|
-
}, {
|
|
42
|
-
clipPath: oppClipEnd,
|
|
43
|
-
offset: staggered ? 0.55 : 0.6,
|
|
46
|
+
Object.assign(custom, {
|
|
47
|
+
'--motion-shutters-clip-opp-end': oppClipEnd,
|
|
48
|
+
'--motion-shutters-clip-opp-start': oppClipStart
|
|
49
|
+
});
|
|
50
|
+
const secondOffset = staggered ? 0.55 : 0.6;
|
|
51
|
+
keyframes.push({
|
|
52
|
+
clipPath: toKeyframeValue(custom, '--motion-shutters-clip-end', asWeb),
|
|
53
|
+
offset: secondOffset,
|
|
44
54
|
easing
|
|
45
55
|
}, {
|
|
46
|
-
clipPath:
|
|
47
|
-
|
|
48
|
-
} else {
|
|
49
|
-
keyframes = [{
|
|
50
|
-
clipPath: start,
|
|
56
|
+
clipPath: toKeyframeValue(custom, '--motion-shutters-clip-opp-end', asWeb),
|
|
57
|
+
offset: secondOffset,
|
|
51
58
|
easing
|
|
52
59
|
}, {
|
|
53
|
-
clipPath:
|
|
54
|
-
}
|
|
60
|
+
clipPath: toKeyframeValue(custom, '--motion-shutters-clip-opp-start', asWeb)
|
|
61
|
+
});
|
|
55
62
|
}
|
|
56
63
|
return [{
|
|
57
64
|
...options,
|
|
65
|
+
name: shuttersScroll,
|
|
58
66
|
fill,
|
|
59
67
|
easing: 'linear',
|
|
68
|
+
custom,
|
|
60
69
|
keyframes
|
|
61
70
|
}];
|
|
62
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getShuttersClipPaths","getEasing","
|
|
1
|
+
{"version":3,"names":["getOppositeDirection","getShuttersClipPaths","getEasing","toKeyframeValue","FOUR_DIRECTIONS","getNames","options","range","namedEffect","web","_dom","style","asWeb","direction","shutters","staggered","fill","easing","directionOpp","clipStart","clipEnd","custom","shuttersScroll","keyframes","clipPath","offset","oppClipStart","oppClipEnd","Object","assign","secondOffset","push","name"],"sources":["../../../../src/library/scroll/ShuttersScroll.ts"],"sourcesContent":["import type {\n AnimationFillMode,\n ScrubAnimationOptions,\n ShuttersScroll,\n DomApi,\n} from '../../types';\nimport {\n getOppositeDirection,\n getShuttersClipPaths,\n getEasing,\n toKeyframeValue,\n FOUR_DIRECTIONS,\n} from '../../utils';\n\nexport function getNames(options: ScrubAnimationOptions) {\n const { range = 'in' } = options.namedEffect as ShuttersScroll;\n return [\n `motion-shuttersScroll-${range === 'continuous' ? '-continuous' : ''}`,\n ];\n}\n\nexport function web(options: ScrubAnimationOptions, _dom?: DomApi) {\n return style(options, true);\n}\n\nexport function style(options: ScrubAnimationOptions, asWeb = false) {\n const {\n direction = 'right',\n shutters = 12,\n staggered = true,\n range = 'in',\n } = options.namedEffect as ShuttersScroll;\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const easing = range === 'in' ? getEasing('sineIn') : getEasing('sineOut');\n\n const directionOpp = getOppositeDirection(FOUR_DIRECTIONS, direction);\n\n const { clipStart, clipEnd } = getShuttersClipPaths(\n range === 'out' ? directionOpp : direction,\n shutters,\n staggered,\n );\n\n const custom = {\n '--motion-shutters-clip-start': range === 'out' ? clipEnd : clipStart,\n '--motion-shutters-clip-end': range === 'out' ? clipStart : clipEnd,\n };\n\n const [shuttersScroll] = getNames(options);\n\n const keyframes: {\n clipPath: string | number;\n easing?: string;\n offset?: number;\n }[] = [\n {\n clipPath: toKeyframeValue(custom, '--motion-shutters-clip-start', asWeb),\n easing,\n },\n {\n clipPath: toKeyframeValue(custom, '--motion-shutters-clip-end', asWeb),\n },\n ];\n\n if (range === 'continuous') {\n keyframes[1].easing = easing;\n keyframes[1].offset = staggered ? 0.45 : 0.4;\n\n const { clipStart: oppClipStart, clipEnd: oppClipEnd } =\n getShuttersClipPaths(directionOpp, shutters, staggered, true);\n Object.assign(custom, {\n '--motion-shutters-clip-opp-end': oppClipEnd,\n '--motion-shutters-clip-opp-start': oppClipStart,\n });\n\n const secondOffset = staggered ? 0.55 : 0.6;\n keyframes.push(\n {\n clipPath: toKeyframeValue(custom, '--motion-shutters-clip-end', asWeb),\n offset: secondOffset,\n easing,\n },\n {\n clipPath: toKeyframeValue(\n custom,\n '--motion-shutters-clip-opp-end',\n asWeb,\n ),\n offset: secondOffset,\n easing,\n },\n {\n clipPath: toKeyframeValue(\n custom,\n '--motion-shutters-clip-opp-start',\n asWeb,\n ),\n },\n );\n }\n\n return [\n {\n ...options,\n name: shuttersScroll,\n fill,\n easing: 'linear',\n custom,\n keyframes,\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
|