@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,80 +1,15 @@
|
|
|
1
|
+
import { toKeyframeValue } from '../../utils';
|
|
1
2
|
const POWER_MAP = {
|
|
2
|
-
soft:
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
medium: {
|
|
6
|
-
skewX: 17
|
|
7
|
-
},
|
|
8
|
-
hard: {
|
|
9
|
-
skewX: 24
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
const DIRECTION_MAP = {
|
|
13
|
-
right: -1,
|
|
14
|
-
left: 1
|
|
3
|
+
soft: 10,
|
|
4
|
+
medium: 17,
|
|
5
|
+
hard: 24
|
|
15
6
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
startX
|
|
21
|
-
},
|
|
22
|
-
toValues: {
|
|
23
|
-
skewX: 0,
|
|
24
|
-
endX: 0
|
|
25
|
-
}
|
|
26
|
-
}),
|
|
27
|
-
out: (skewX, startX, _endX) => ({
|
|
28
|
-
fromValues: {
|
|
29
|
-
skewX: 0,
|
|
30
|
-
startX: 0
|
|
31
|
-
},
|
|
32
|
-
toValues: {
|
|
33
|
-
skewX: -skewX,
|
|
34
|
-
endX: startX
|
|
35
|
-
}
|
|
36
|
-
}),
|
|
37
|
-
continuous: (skewX, startX, endX) => ({
|
|
38
|
-
fromValues: {
|
|
39
|
-
skewX,
|
|
40
|
-
startX
|
|
41
|
-
},
|
|
42
|
-
toValues: {
|
|
43
|
-
skewX: -skewX,
|
|
44
|
-
endX
|
|
45
|
-
}
|
|
46
|
-
})
|
|
47
|
-
};
|
|
48
|
-
const POSITIONS = {
|
|
49
|
-
left: {
|
|
50
|
-
startX: `calc(var(--motion-left, calc(100vw - 100%)) * -1 - 100%)`,
|
|
51
|
-
endX: `calc(100vw - var(--motion-left, 0px))`
|
|
52
|
-
},
|
|
53
|
-
right: {
|
|
54
|
-
startX: `calc(100vw - var(--motion-left, 0px))`,
|
|
55
|
-
endX: `calc(var(--motion-left, calc(100vw - 100%)) * -1 - 100%)`
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
export default function create(options, dom) {
|
|
59
|
-
const {
|
|
60
|
-
skew = 10,
|
|
61
|
-
direction = 'right',
|
|
62
|
-
power,
|
|
63
|
-
range = 'in'
|
|
64
|
-
} = options.namedEffect;
|
|
65
|
-
const easing = 'linear';
|
|
66
|
-
const fill = range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill;
|
|
67
|
-
const skewX = (power && POWER_MAP[power] ? POWER_MAP[power].skewX : skew) * DIRECTION_MAP[direction];
|
|
68
|
-
const {
|
|
69
|
-
startX,
|
|
70
|
-
endX
|
|
71
|
-
} = POSITIONS[direction];
|
|
72
|
-
const {
|
|
73
|
-
fromValues,
|
|
74
|
-
toValues
|
|
75
|
-
} = RANGES_MAP[range](skewX, startX, endX);
|
|
76
|
-
let left = 0;
|
|
7
|
+
export function getNames(_) {
|
|
8
|
+
return ['motion-skewPanScroll'];
|
|
9
|
+
}
|
|
10
|
+
export function prepare(_, dom) {
|
|
77
11
|
if (dom) {
|
|
12
|
+
let left = 0;
|
|
78
13
|
dom.measure(target => {
|
|
79
14
|
if (!target) {
|
|
80
15
|
return;
|
|
@@ -85,25 +20,53 @@ export default function create(options, dom) {
|
|
|
85
20
|
target == null || target.style.setProperty('--motion-left', `${left}px`);
|
|
86
21
|
});
|
|
87
22
|
}
|
|
23
|
+
}
|
|
24
|
+
export function web(options, dom) {
|
|
25
|
+
prepare(options, dom);
|
|
26
|
+
return style(options, true);
|
|
27
|
+
}
|
|
28
|
+
export function style(options, asWeb) {
|
|
29
|
+
if (asWeb === void 0) {
|
|
30
|
+
asWeb = false;
|
|
31
|
+
}
|
|
32
|
+
const {
|
|
33
|
+
skew = 10,
|
|
34
|
+
direction = 'right',
|
|
35
|
+
power,
|
|
36
|
+
range = 'in'
|
|
37
|
+
} = options.namedEffect;
|
|
38
|
+
const easing = 'linear';
|
|
39
|
+
const fill = range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill;
|
|
40
|
+
const skewX = (power && POWER_MAP[power] ? POWER_MAP[power] : skew) * (direction === 'left' ? 1 : -1);
|
|
41
|
+
const startXLeft = `calc(${toKeyframeValue({}, '--motion-left', false, 'calc(100vw - 100%)')} * -1 - 100%)`;
|
|
42
|
+
const endXLeft = `calc(100vw - ${toKeyframeValue({}, '--motion-left', false, '0px')})`;
|
|
43
|
+
const [startX, endX] = direction === 'left' ? [startXLeft, endXLeft] : [endXLeft, startXLeft];
|
|
44
|
+
const fromValues = {
|
|
45
|
+
skew: range === 'out' ? 0 : skewX,
|
|
46
|
+
translate: range === 'out' ? 0 : startX
|
|
47
|
+
};
|
|
48
|
+
const toValues = {
|
|
49
|
+
skew: range === 'in' ? 0 : -skewX,
|
|
50
|
+
translate: range === 'in' ? 0 : range === 'out' ? startX : endX
|
|
51
|
+
};
|
|
52
|
+
const [skewPanScroll] = getNames(options);
|
|
53
|
+
const custom = {
|
|
54
|
+
'--motion-skewpan-start-x': fromValues.translate,
|
|
55
|
+
'--motion-skewpan-end-x': toValues.translate,
|
|
56
|
+
'--motion-skewpan-from-skew': `${fromValues.skew}deg`,
|
|
57
|
+
'--motion-skewpan-to-skew': `${toValues.skew}deg`
|
|
58
|
+
};
|
|
88
59
|
return [{
|
|
89
60
|
...options,
|
|
61
|
+
name: skewPanScroll,
|
|
90
62
|
fill,
|
|
91
63
|
easing,
|
|
64
|
+
custom,
|
|
92
65
|
keyframes: [{
|
|
93
|
-
transform: `translateX(${
|
|
66
|
+
transform: `translateX(${toKeyframeValue(custom, '--motion-skewpan-start-x', asWeb)}) skewX(${toKeyframeValue(custom, '--motion-skewpan-from-skew', asWeb)}) rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')})`
|
|
94
67
|
}, {
|
|
95
|
-
transform: `translateX(${
|
|
68
|
+
transform: `translateX(${toKeyframeValue(custom, '--motion-skewpan-end-x', asWeb)}) skewX(${toKeyframeValue(custom, '--motion-skewpan-to-skew', asWeb)}) rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')})`
|
|
96
69
|
}]
|
|
97
70
|
}];
|
|
98
|
-
/*
|
|
99
|
-
* @keyframes <name> {
|
|
100
|
-
* from {
|
|
101
|
-
* transform: translateX(<fromValue.startX>) skewX(<fromValue.skew>) rotate(<rotation>);
|
|
102
|
-
* }
|
|
103
|
-
* to {
|
|
104
|
-
* transform: translateX(<toValue.endX>) skewX(<toValue.skew>) rotate(<rotation>);
|
|
105
|
-
* }
|
|
106
|
-
* }
|
|
107
|
-
*/
|
|
108
71
|
}
|
|
109
72
|
//# sourceMappingURL=SkewPanScroll.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["toKeyframeValue","POWER_MAP","soft","medium","hard","getNames","_","prepare","dom","left","measure","target","getBoundingClientRect","mutate","style","setProperty","web","options","asWeb","skew","direction","power","range","namedEffect","easing","fill","skewX","startXLeft","endXLeft","startX","endX","fromValues","translate","toValues","skewPanScroll","custom","name","keyframes","transform"],"sources":["../../../../src/library/scroll/SkewPanScroll.ts"],"sourcesContent":["import type {\n AnimationFillMode,\n DomApi,\n ScrubAnimationOptions,\n SkewPanScroll,\n} from '../../types';\nimport { toKeyframeValue } from '../../utils';\n\nconst POWER_MAP = {\n soft: 10,\n medium: 17,\n hard: 24,\n};\n\nexport function getNames(_: ScrubAnimationOptions) {\n return ['motion-skewPanScroll'];\n}\n\nexport function prepare(_: ScrubAnimationOptions, dom?: DomApi) {\n if (dom) {\n let left = 0;\n dom.measure((target) => {\n if (!target) {\n return;\n }\n left = target.getBoundingClientRect().left;\n });\n dom.mutate((target) => {\n target?.style.setProperty('--motion-left', `${left}px`);\n });\n }\n}\n\nexport function web(options: ScrubAnimationOptions, dom?: DomApi) {\n prepare(options, dom);\n\n return style(options, true);\n}\n\nexport function style(options: ScrubAnimationOptions, asWeb = false) {\n const {\n skew = 10,\n direction = 'right',\n power,\n range = 'in',\n } = options.namedEffect as SkewPanScroll;\n const easing = 'linear';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const skewX =\n (power && POWER_MAP[power] ? POWER_MAP[power] : skew) *\n (direction === 'left' ? 1 : -1);\n const startXLeft = `calc(${toKeyframeValue(\n {},\n '--motion-left',\n false,\n 'calc(100vw - 100%)',\n )} * -1 - 100%)`;\n const endXLeft = `calc(100vw - ${toKeyframeValue(\n {},\n '--motion-left',\n false,\n '0px',\n )})`;\n const [startX, endX] =\n direction === 'left' ? [startXLeft, endXLeft] : [endXLeft, startXLeft];\n\n const fromValues = {\n skew: range === 'out' ? 0 : skewX,\n translate: range === 'out' ? 0 : startX,\n };\n const toValues = {\n skew: range === 'in' ? 0 : -skewX,\n translate: range === 'in' ? 0 : range === 'out' ? startX : endX,\n };\n\n const [skewPanScroll] = getNames(options);\n\n const custom = {\n '--motion-skewpan-start-x': fromValues.translate,\n '--motion-skewpan-end-x': toValues.translate,\n '--motion-skewpan-from-skew': `${fromValues.skew}deg`,\n '--motion-skewpan-to-skew': `${toValues.skew}deg`,\n };\n\n return [\n {\n ...options,\n name: skewPanScroll,\n fill,\n easing,\n custom,\n keyframes: [\n {\n transform: `translateX(${toKeyframeValue(\n custom,\n '--motion-skewpan-start-x',\n asWeb,\n )}) skewX(${toKeyframeValue(\n custom,\n '--motion-skewpan-from-skew',\n asWeb,\n )}) rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')})`,\n },\n {\n transform: `translateX(${toKeyframeValue(\n custom,\n '--motion-skewpan-end-x',\n asWeb,\n )}) skewX(${toKeyframeValue(\n custom,\n '--motion-skewpan-to-skew',\n asWeb,\n )}) rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')})`,\n },\n ],\n },\n ];\n}\n"],"mappings":"AAMA,SAASA,eAAe,QAAQ,aAAa;AAE7C,MAAMC,SAAS,GAAG;EAChBC,IAAI,EAAE,EAAE;EACRC,MAAM,EAAE,EAAE;EACVC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,SAASC,QAAQA,CAACC,CAAwB,EAAE;EACjD,OAAO,CAAC,sBAAsB,CAAC;AACjC;AAEA,OAAO,SAASC,OAAOA,CAACD,CAAwB,EAAEE,GAAY,EAAE;EAC9D,IAAIA,GAAG,EAAE;IACP,IAAIC,IAAI,GAAG,CAAC;IACZD,GAAG,CAACE,OAAO,CAAEC,MAAM,IAAK;MACtB,IAAI,CAACA,MAAM,EAAE;QACX;MACF;MACAF,IAAI,GAAGE,MAAM,CAACC,qBAAqB,CAAC,CAAC,CAACH,IAAI;IAC5C,CAAC,CAAC;IACFD,GAAG,CAACK,MAAM,CAAEF,MAAM,IAAK;MACrBA,MAAM,YAANA,MAAM,CAAEG,KAAK,CAACC,WAAW,CAAC,eAAe,EAAE,GAAGN,IAAI,IAAI,CAAC;IACzD,CAAC,CAAC;EACJ;AACF;AAEA,OAAO,SAASO,GAAGA,CAACC,OAA8B,EAAET,GAAY,EAAE;EAChED,OAAO,CAACU,OAAO,EAAET,GAAG,CAAC;EAErB,OAAOM,KAAK,CAACG,OAAO,EAAE,IAAI,CAAC;AAC7B;AAEA,OAAO,SAASH,KAAKA,CAACG,OAA8B,EAAEC,KAAK,EAAU;EAAA,IAAfA,KAAK;IAALA,KAAK,GAAG,KAAK;EAAA;EACjE,MAAM;IACJC,IAAI,GAAG,EAAE;IACTC,SAAS,GAAG,OAAO;IACnBC,KAAK;IACLC,KAAK,GAAG;EACV,CAAC,GAAGL,OAAO,CAACM,WAA4B;EACxC,MAAMC,MAAM,GAAG,QAAQ;EACvB,MAAMC,IAAI,GACRH,KAAK,KAAK,KAAK,GAAG,UAAU,GAAGA,KAAK,KAAK,IAAI,GAAG,WAAW,GAAGL,OAAO,CAACQ,IAClD;EAEtB,MAAMC,KAAK,GACT,CAACL,KAAK,IAAIpB,SAAS,CAACoB,KAAK,CAAC,GAAGpB,SAAS,CAACoB,KAAK,CAAC,GAAGF,IAAI,KACnDC,SAAS,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EACjC,MAAMO,UAAU,GAAG,QAAQ3B,eAAe,CACxC,CAAC,CAAC,EACF,eAAe,EACf,KAAK,EACL,oBACF,CAAC,eAAe;EAChB,MAAM4B,QAAQ,GAAG,gBAAgB5B,eAAe,CAC9C,CAAC,CAAC,EACF,eAAe,EACf,KAAK,EACL,KACF,CAAC,GAAG;EACJ,MAAM,CAAC6B,MAAM,EAAEC,IAAI,CAAC,GAClBV,SAAS,KAAK,MAAM,GAAG,CAACO,UAAU,EAAEC,QAAQ,CAAC,GAAG,CAACA,QAAQ,EAAED,UAAU,CAAC;EAExE,MAAMI,UAAU,GAAG;IACjBZ,IAAI,EAAEG,KAAK,KAAK,KAAK,GAAG,CAAC,GAAGI,KAAK;IACjCM,SAAS,EAAEV,KAAK,KAAK,KAAK,GAAG,CAAC,GAAGO;EACnC,CAAC;EACD,MAAMI,QAAQ,GAAG;IACfd,IAAI,EAAEG,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,CAACI,KAAK;IACjCM,SAAS,EAAEV,KAAK,KAAK,IAAI,GAAG,CAAC,GAAGA,KAAK,KAAK,KAAK,GAAGO,MAAM,GAAGC;EAC7D,CAAC;EAED,MAAM,CAACI,aAAa,CAAC,GAAG7B,QAAQ,CAACY,OAAO,CAAC;EAEzC,MAAMkB,MAAM,GAAG;IACb,0BAA0B,EAAEJ,UAAU,CAACC,SAAS;IAChD,wBAAwB,EAAEC,QAAQ,CAACD,SAAS;IAC5C,4BAA4B,EAAE,GAAGD,UAAU,CAACZ,IAAI,KAAK;IACrD,0BAA0B,EAAE,GAAGc,QAAQ,CAACd,IAAI;EAC9C,CAAC;EAED,OAAO,CACL;IACE,GAAGF,OAAO;IACVmB,IAAI,EAAEF,aAAa;IACnBT,IAAI;IACJD,MAAM;IACNW,MAAM;IACNE,SAAS,EAAE,CACT;MACEC,SAAS,EAAE,cAActC,eAAe,CACtCmC,MAAM,EACN,0BAA0B,EAC1BjB,KACF,CAAC,WAAWlB,eAAe,CACzBmC,MAAM,EACN,4BAA4B,EAC5BjB,KACF,CAAC,YAAYlB,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC;IACjE,CAAC,EACD;MACEsC,SAAS,EAAE,cAActC,eAAe,CACtCmC,MAAM,EACN,wBAAwB,EACxBjB,KACF,CAAC,WAAWlB,eAAe,CACzBmC,MAAM,EACN,0BAA0B,EAC1BjB,KACF,CAAC,YAAYlB,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC;IACjE,CAAC;EAEL,CAAC,CACF;AACH","ignoreList":[]}
|
|
@@ -1,20 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
const DIRECTIONS = ['bottom', 'left', 'top', 'right'];
|
|
3
|
-
const OPPOSITE_DIRECTION_MAP = {
|
|
4
|
-
top: 'bottom',
|
|
5
|
-
bottom: 'top',
|
|
6
|
-
left: 'right',
|
|
7
|
-
right: 'left'
|
|
8
|
-
};
|
|
1
|
+
import { getOppositeDirection, applyRotationAdjustedClip, getRevealClipFrom, getRevealClipTo, toKeyframeValue, INITIAL_CLIP, FOUR_DIRECTIONS } from '../../utils';
|
|
9
2
|
const DIRECTION_TRANSLATION_MAP = {
|
|
10
|
-
top: {
|
|
11
|
-
x: '0',
|
|
12
|
-
y: '-100%'
|
|
13
|
-
},
|
|
14
|
-
right: {
|
|
15
|
-
x: '100%',
|
|
16
|
-
y: '0'
|
|
17
|
-
},
|
|
18
3
|
bottom: {
|
|
19
4
|
x: '0',
|
|
20
5
|
y: '100%'
|
|
@@ -22,90 +7,82 @@ const DIRECTION_TRANSLATION_MAP = {
|
|
|
22
7
|
left: {
|
|
23
8
|
x: '-100%',
|
|
24
9
|
y: '0'
|
|
10
|
+
},
|
|
11
|
+
top: {
|
|
12
|
+
x: '0',
|
|
13
|
+
y: '-100%'
|
|
14
|
+
},
|
|
15
|
+
right: {
|
|
16
|
+
x: '100%',
|
|
17
|
+
y: '0'
|
|
25
18
|
}
|
|
26
19
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
transform: `rotate(var(--comp-rotate-z, 0)) translate(0, 0)`
|
|
51
|
-
}, {
|
|
52
|
-
clipPath: `var(--motion-clip-to, ${clip.to})`,
|
|
53
|
-
transform: `rotate(var(--comp-rotate-z, 0)) translate(${translate.to.x}, ${translate.to.y})`
|
|
54
|
-
}]
|
|
55
|
-
};
|
|
56
|
-
export default function create(options, dom) {
|
|
20
|
+
export function getNames(options) {
|
|
21
|
+
const {
|
|
22
|
+
range = 'in'
|
|
23
|
+
} = options.namedEffect;
|
|
24
|
+
return [`motion-slideScroll${range === 'continuous' ? '-continuous' : ''}`];
|
|
25
|
+
}
|
|
26
|
+
export function prepare(options, dom) {
|
|
27
|
+
if (dom) {
|
|
28
|
+
const {
|
|
29
|
+
direction = 'bottom',
|
|
30
|
+
range = 'in'
|
|
31
|
+
} = options.namedEffect;
|
|
32
|
+
applyRotationAdjustedClip(dom, direction, range);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export function web(options, dom) {
|
|
36
|
+
prepare(options, dom);
|
|
37
|
+
return style(options, true);
|
|
38
|
+
}
|
|
39
|
+
export function style(options, asWeb) {
|
|
40
|
+
if (asWeb === void 0) {
|
|
41
|
+
asWeb = false;
|
|
42
|
+
}
|
|
57
43
|
const {
|
|
58
44
|
direction = 'bottom',
|
|
59
45
|
range = 'in'
|
|
60
46
|
} = options.namedEffect;
|
|
61
47
|
const easing = 'linear';
|
|
62
48
|
const fill = range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill;
|
|
63
|
-
const oppositeDirection =
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
49
|
+
const oppositeDirection = getOppositeDirection(FOUR_DIRECTIONS, direction);
|
|
50
|
+
const translateFrom = range === 'out' ? {
|
|
51
|
+
x: '0',
|
|
52
|
+
y: '0'
|
|
53
|
+
} : DIRECTION_TRANSLATION_MAP[direction];
|
|
54
|
+
const translateTo = range === 'in' ? {
|
|
55
|
+
x: '0',
|
|
56
|
+
y: '0'
|
|
57
|
+
} : DIRECTION_TRANSLATION_MAP[range === 'out' ? direction : oppositeDirection];
|
|
58
|
+
const custom = {
|
|
59
|
+
'--motion-clip-from': getRevealClipFrom(direction, range),
|
|
60
|
+
'--motion-clip-to': getRevealClipTo(direction, range),
|
|
61
|
+
'--motion-translate-from-x': translateFrom.x,
|
|
62
|
+
'--motion-translate-from-y': translateFrom.y,
|
|
63
|
+
'--motion-translate-to-x': translateTo.x,
|
|
64
|
+
'--motion-translate-to-y': translateTo.y
|
|
65
|
+
};
|
|
66
|
+
const keyframes = [{
|
|
67
|
+
clipPath: toKeyframeValue({}, '--motion-clip-from', false, custom['--motion-clip-from']),
|
|
68
|
+
transform: `rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')}) translate(${toKeyframeValue(custom, `--motion-translate-from-x`, asWeb)}, ${toKeyframeValue(custom, `--motion-translate-from-y`, asWeb)})`
|
|
71
69
|
}, {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
if (
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
const rotation = parseInt(getComputedStyle(target).getPropertyValue('--comp-rotate-z') || '0', 10);
|
|
81
|
-
dom.mutate(() => {
|
|
82
|
-
const adjDirection = getAdjustedDirection(DIRECTIONS, direction, rotation);
|
|
83
|
-
target.style.setProperty('--motion-clip-from', getClipPolygonParams({
|
|
84
|
-
direction: OPPOSITE_DIRECTION_MAP[adjDirection]
|
|
85
|
-
}));
|
|
86
|
-
target.style.setProperty('--motion-clip-to', getClipPolygonParams({
|
|
87
|
-
direction: adjDirection
|
|
88
|
-
}));
|
|
89
|
-
});
|
|
70
|
+
clipPath: toKeyframeValue({}, '--motion-clip-to', false, custom['--motion-clip-to']),
|
|
71
|
+
transform: `rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')}) translate(${toKeyframeValue(custom, `--motion-translate-to-x`, asWeb)}, ${toKeyframeValue(custom, `--motion-translate-to-y`, asWeb)})`
|
|
72
|
+
}];
|
|
73
|
+
if (range === 'continuous') {
|
|
74
|
+
keyframes.splice(1, 0, {
|
|
75
|
+
clipPath: INITIAL_CLIP,
|
|
76
|
+
transform: `rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')}) translate(0, 0)`
|
|
90
77
|
});
|
|
91
78
|
}
|
|
79
|
+
const [slideScroll] = getNames(options);
|
|
92
80
|
return [{
|
|
93
81
|
...options,
|
|
82
|
+
name: slideScroll,
|
|
94
83
|
fill,
|
|
95
84
|
easing,
|
|
96
85
|
keyframes
|
|
97
86
|
}];
|
|
98
|
-
/*
|
|
99
|
-
* @keyframes <name> {
|
|
100
|
-
* from {
|
|
101
|
-
* clip-path: <clip.from>;
|
|
102
|
-
* translate: <translate.from.x> <translate.from.y>;
|
|
103
|
-
* }
|
|
104
|
-
* to {
|
|
105
|
-
* clip-path: none;
|
|
106
|
-
* translate: 0 0;
|
|
107
|
-
* }
|
|
108
|
-
* }
|
|
109
|
-
*/
|
|
110
87
|
}
|
|
111
88
|
//# sourceMappingURL=SlideScroll.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["getOppositeDirection","applyRotationAdjustedClip","getRevealClipFrom","getRevealClipTo","toKeyframeValue","INITIAL_CLIP","FOUR_DIRECTIONS","DIRECTION_TRANSLATION_MAP","bottom","x","y","left","top","right","getNames","options","range","namedEffect","prepare","dom","direction","web","style","asWeb","easing","fill","oppositeDirection","translateFrom","translateTo","custom","keyframes","clipPath","transform","splice","slideScroll","name"],"sources":["../../../../src/library/scroll/SlideScroll.ts"],"sourcesContent":["import type {\n ScrubAnimationOptions,\n SlideScroll,\n EffectFourDirections,\n DomApi,\n AnimationFillMode,\n} from '../../types';\nimport {\n getOppositeDirection,\n applyRotationAdjustedClip,\n getRevealClipFrom,\n getRevealClipTo,\n toKeyframeValue,\n INITIAL_CLIP,\n FOUR_DIRECTIONS,\n} from '../../utils';\n\ntype Translate = { x: string; y: string };\n\nconst DIRECTION_TRANSLATION_MAP: Record<EffectFourDirections, Translate> = {\n bottom: { x: '0', y: '100%' },\n left: { x: '-100%', y: '0' },\n top: { x: '0', y: '-100%' },\n right: { x: '100%', y: '0' },\n};\n\nexport function getNames(options: ScrubAnimationOptions) {\n const { range = 'in' } = options.namedEffect as SlideScroll;\n return [`motion-slideScroll${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 SlideScroll;\n applyRotationAdjustedClip(dom, direction, range);\n }\n}\n\nexport function web(options: ScrubAnimationOptions, dom?: DomApi) {\n prepare(options, dom);\n\n return style(options, true);\n}\n\nexport function style(options: ScrubAnimationOptions, asWeb = false) {\n const { direction = 'bottom', range = 'in' } =\n options.namedEffect as SlideScroll;\n const easing = 'linear';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n const oppositeDirection = getOppositeDirection(FOUR_DIRECTIONS, direction);\n\n const translateFrom =\n range === 'out' ? { x: '0', y: '0' } : DIRECTION_TRANSLATION_MAP[direction];\n const translateTo =\n range === 'in'\n ? { x: '0', y: '0' }\n : DIRECTION_TRANSLATION_MAP[\n range === 'out' ? direction : oppositeDirection\n ];\n\n const custom = {\n '--motion-clip-from': getRevealClipFrom(direction, range),\n '--motion-clip-to': getRevealClipTo(direction, range),\n '--motion-translate-from-x': translateFrom.x,\n '--motion-translate-from-y': translateFrom.y,\n '--motion-translate-to-x': translateTo.x,\n '--motion-translate-to-y': translateTo.y,\n };\n\n const keyframes = [\n {\n clipPath: toKeyframeValue(\n {},\n '--motion-clip-from',\n false,\n custom['--motion-clip-from'],\n ),\n transform: `rotate(${toKeyframeValue(\n {},\n '--comp-rotate-z',\n false,\n '0',\n )}) translate(${toKeyframeValue(\n custom,\n `--motion-translate-from-x`,\n asWeb,\n )}, ${toKeyframeValue(custom, `--motion-translate-from-y`, asWeb)})`,\n },\n {\n clipPath: toKeyframeValue(\n {},\n '--motion-clip-to',\n false,\n custom['--motion-clip-to'],\n ),\n transform: `rotate(${toKeyframeValue(\n {},\n '--comp-rotate-z',\n false,\n '0',\n )}) translate(${toKeyframeValue(\n custom,\n `--motion-translate-to-x`,\n asWeb,\n )}, ${toKeyframeValue(custom, `--motion-translate-to-y`, asWeb)})`,\n },\n ];\n\n if (range === 'continuous') {\n keyframes.splice(1, 0, {\n clipPath: INITIAL_CLIP,\n transform: `rotate(${toKeyframeValue(\n {},\n '--comp-rotate-z',\n false,\n '0',\n )}) translate(0, 0)`,\n });\n }\n\n const [slideScroll] = getNames(options);\n\n return [\n {\n ...options,\n name: slideScroll,\n fill,\n easing,\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: {
|
|
@@ -13,104 +14,71 @@ const POWER_MAP = {
|
|
|
13
14
|
travelY: 1
|
|
14
15
|
}
|
|
15
16
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
fromValues: {
|
|
19
|
-
rotationX: -2 * rotation,
|
|
20
|
-
rotationY: -rotation,
|
|
21
|
-
rotationZ: -rotation,
|
|
22
|
-
travel: travelY
|
|
23
|
-
},
|
|
24
|
-
toValues: {
|
|
25
|
-
rotationX: 0,
|
|
26
|
-
rotationY: 0,
|
|
27
|
-
rotationZ: 0,
|
|
28
|
-
travel: 0
|
|
29
|
-
}
|
|
30
|
-
}),
|
|
31
|
-
out: (rotation, travelY) => ({
|
|
32
|
-
fromValues: {
|
|
33
|
-
rotationX: 0,
|
|
34
|
-
rotationY: 0,
|
|
35
|
-
rotationZ: 0,
|
|
36
|
-
travel: 0
|
|
37
|
-
},
|
|
38
|
-
toValues: {
|
|
39
|
-
rotationX: rotation * 3,
|
|
40
|
-
rotationY: rotation * 2,
|
|
41
|
-
rotationZ: rotation,
|
|
42
|
-
travel: -travelY
|
|
43
|
-
}
|
|
44
|
-
}),
|
|
45
|
-
continuous: (rotation, travelY) => ({
|
|
46
|
-
fromValues: {
|
|
47
|
-
rotationX: -2 * rotation,
|
|
48
|
-
rotationY: -rotation,
|
|
49
|
-
rotationZ: -rotation,
|
|
50
|
-
travel: travelY
|
|
51
|
-
},
|
|
52
|
-
toValues: {
|
|
53
|
-
rotationX: rotation * 1.8,
|
|
54
|
-
rotationY: rotation,
|
|
55
|
-
rotationZ: 2 * rotation,
|
|
56
|
-
travel: -travelY
|
|
57
|
-
}
|
|
58
|
-
})
|
|
59
|
-
};
|
|
60
|
-
function getScrubOffsets(_ref) {
|
|
61
|
-
let {
|
|
62
|
-
power,
|
|
63
|
-
range = 'in',
|
|
64
|
-
speed = 0
|
|
65
|
-
} = _ref;
|
|
66
|
-
const offset = (power && POWER_MAP[power] ? POWER_MAP[power].travelY : Math.abs(speed)) * MAX_Y_TRAVEL;
|
|
67
|
-
return {
|
|
68
|
-
start: range === 'out' ? '0px' : `${-offset}vh`,
|
|
69
|
-
end: range === 'in' ? '0px' : `${offset}vh`
|
|
70
|
-
};
|
|
17
|
+
export function getNames(_) {
|
|
18
|
+
return ['motion-spin3dScroll'];
|
|
71
19
|
}
|
|
72
|
-
export
|
|
20
|
+
export function web(options, _dom) {
|
|
21
|
+
return style(options, true);
|
|
22
|
+
}
|
|
23
|
+
export function style(options, asWeb) {
|
|
24
|
+
if (asWeb === void 0) {
|
|
25
|
+
asWeb = false;
|
|
26
|
+
}
|
|
73
27
|
const {
|
|
74
28
|
rotate = -100,
|
|
29
|
+
speed = 0,
|
|
75
30
|
power,
|
|
76
|
-
range = 'in'
|
|
77
|
-
speed = 0
|
|
31
|
+
range = 'in'
|
|
78
32
|
} = options.namedEffect;
|
|
79
33
|
const easing = 'linear';
|
|
80
34
|
const fill = range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill;
|
|
81
|
-
const
|
|
35
|
+
const {
|
|
36
|
+
rotationZ,
|
|
37
|
+
travelY
|
|
38
|
+
} = power && POWER_MAP[power] ? POWER_MAP[power] : {
|
|
82
39
|
rotationZ: rotate,
|
|
83
40
|
travelY: speed
|
|
84
41
|
};
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
42
|
+
const travel = travelY * MAX_Y_TRAVEL;
|
|
43
|
+
const fromValues = {
|
|
44
|
+
rotationX: range === 'out' ? 0 : -2 * rotationZ,
|
|
45
|
+
rotationY: range === 'out' ? 0 : -rotationZ,
|
|
46
|
+
rotationZ: range === 'out' ? 0 : -rotationZ,
|
|
47
|
+
travel: range === 'out' ? 0 : -travel
|
|
48
|
+
};
|
|
49
|
+
const toValues = {
|
|
50
|
+
rotationX: rotationZ * (range === 'in' ? 0 : range === 'out' ? 3 : 1.8),
|
|
51
|
+
rotationY: rotationZ * (range === 'in' ? 0 : range === 'out' ? 2 : 1),
|
|
52
|
+
rotationZ: rotationZ * (range === 'in' ? 0 : range === 'out' ? 1 : 2),
|
|
53
|
+
travel: range === 'in' ? 0 : travel
|
|
54
|
+
};
|
|
55
|
+
const offset = Math.abs(travel);
|
|
56
|
+
const startOffsetAdd = range === 'out' ? '0px' : `${-offset}vh`;
|
|
57
|
+
const endOffsetAdd = range === 'in' ? '0px' : `${offset}vh`;
|
|
58
|
+
const [spin3dScroll] = getNames(options);
|
|
59
|
+
const custom = {
|
|
60
|
+
'--motion-travel-from': `${fromValues.travel}vh`,
|
|
61
|
+
'--motion-travel-to': `${toValues.travel}vh`,
|
|
62
|
+
'--motion-rot-x-from': `${fromValues.rotationX}deg`,
|
|
63
|
+
'--motion-rot-x-to': `${toValues.rotationX}deg`,
|
|
64
|
+
'--motion-rot-y-from': `${fromValues.rotationY}deg`,
|
|
65
|
+
'--motion-rot-y-to': `${toValues.rotationY}deg`,
|
|
66
|
+
'--motion-rot-z-from': `${fromValues.rotationZ}deg`,
|
|
67
|
+
'--motion-rot-z-to': `${toValues.rotationZ}deg`
|
|
68
|
+
};
|
|
93
69
|
return [{
|
|
94
70
|
...options,
|
|
71
|
+
name: spin3dScroll,
|
|
95
72
|
fill,
|
|
96
73
|
easing,
|
|
74
|
+
custom,
|
|
97
75
|
startOffsetAdd,
|
|
98
76
|
endOffsetAdd,
|
|
99
77
|
keyframes: [{
|
|
100
|
-
transform: `perspective(1000px) translateY(${
|
|
78
|
+
transform: `perspective(1000px) translateY(${toKeyframeValue(custom, '--motion-travel-from', asWeb)}) rotateZ(calc(${toKeyframeValue({}, '--comp-rotate-z', false, '0deg')} + ${toKeyframeValue(custom, '--motion-rot-z-from', asWeb)})) rotateY(${toKeyframeValue(custom, '--motion-rot-y-from', asWeb)}) rotateX(${toKeyframeValue(custom, '--motion-rot-x-from', asWeb)})`
|
|
101
79
|
}, {
|
|
102
|
-
transform: `perspective(1000px) translateY(${
|
|
80
|
+
transform: `perspective(1000px) translateY(${toKeyframeValue(custom, '--motion-travel-to', asWeb)}) rotateZ(calc(${toKeyframeValue({}, '--comp-rotate-z', false, '0deg')} + ${toKeyframeValue(custom, '--motion-rot-z-to', asWeb)})) rotateY(${toKeyframeValue(custom, '--motion-rot-y-to', asWeb)}) rotateX(${toKeyframeValue(custom, '--motion-rot-x-to', asWeb)})`
|
|
103
81
|
}]
|
|
104
82
|
}];
|
|
105
|
-
/*
|
|
106
|
-
* @keyframes <name> {
|
|
107
|
-
* from {
|
|
108
|
-
* transform: perspective(1000px) translateY(<fromValue.travel>vh) rotateZ(<fromValue.rotateZ> + <rotation>) rotateY(<fromValue.rotateY>deg) rotateX(<fromValue.rotateX>deg);
|
|
109
|
-
* }
|
|
110
|
-
* to {
|
|
111
|
-
* transform: perspective(1000px) translateY(<toValue.travel>vh) rotateZ(<fromValue.rotateZ> + <rotation>) rotateY(<toValue.rotateY>deg) rotateX(<toValue.rotateX>deg);
|
|
112
|
-
* }
|
|
113
|
-
* }
|
|
114
|
-
*/
|
|
115
83
|
}
|
|
116
84
|
//# sourceMappingURL=Spin3dScroll.js.map
|