move.gl 0.0.1
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/LICENSE +21 -0
- package/README.md +38 -0
- package/css/move.gl.css +2 -0
- package/css/move.gl.min.css +2 -0
- package/package.json +55 -0
- package/scss/classes/_animations.scss +576 -0
- package/scss/classes/_index.scss +0 -0
- package/scss/classes/_transforms.scss +124 -0
- package/scss/classes/keyboard.scss +18 -0
- package/scss/classes/screensaver.scss +15 -0
- package/scss/dev/_banner.scss +36 -0
- package/scss/dev/_debug.scss +18 -0
- package/scss/dev/_deprecation.scss +10 -0
- package/scss/dev/_index.scss +8 -0
- package/scss/dev/_modules.scss +24 -0
- package/scss/effects/_filter.scss +176 -0
- package/scss/effects/_index.scss +23 -0
- package/scss/effects/_opacity.scss +62 -0
- package/scss/effects/_shadow.scss +175 -0
- package/scss/functions/_index.scss +0 -0
- package/scss/functions/scenes/_bubble.scss +19 -0
- package/scss/functions/scenes/_index.scss +20 -0
- package/scss/index.scss +0 -0
- package/scss/keyframes/_beat.scss +26 -0
- package/scss/keyframes/_index.scss +0 -0
- package/scss/maps/_index.scss +0 -0
- package/scss/maps/_mouse.scss +96 -0
- package/scss/mixins/_accessibility.scss +70 -0
- package/scss/mixins/_boot.scss +51 -0
- package/scss/mixins/_hover.scss +51 -0
- package/scss/mixins/_index.scss +0 -0
- package/scss/mixins/_selection.scss +321 -0
- package/scss/mixins/_shape.scss +44 -0
- package/scss/mixins/_touch.scss +95 -0
- package/scss/mixins/animations/--hover.scss +107 -0
- package/scss/mixins/animations/_base.scss +337 -0
- package/scss/mixins/animations/_beat.scss +119 -0
- package/scss/mixins/animations/_blink.scss +151 -0
- package/scss/mixins/animations/_bounce.scss +192 -0
- package/scss/mixins/animations/_elastic.scss +65 -0
- package/scss/mixins/animations/_fade.scss +154 -0
- package/scss/mixins/animations/_flash.scss +177 -0
- package/scss/mixins/animations/_flip.scss +72 -0
- package/scss/mixins/animations/_float.scss +126 -0
- package/scss/mixins/animations/_glow.scss +179 -0
- package/scss/mixins/animations/_heartbeat.scss +175 -0
- package/scss/mixins/animations/_hinge.scss +119 -0
- package/scss/mixins/animations/_index.scss +37 -0
- package/scss/mixins/animations/_jello.scss +129 -0
- package/scss/mixins/animations/_jiggle.scss +163 -0
- package/scss/mixins/animations/_lightspeed.scss +130 -0
- package/scss/mixins/animations/_nod.scss +161 -0
- package/scss/mixins/animations/_pop.scss +150 -0
- package/scss/mixins/animations/_pulse.scss +213 -0
- package/scss/mixins/animations/_ripple.scss +169 -0
- package/scss/mixins/animations/_roll.scss +261 -0
- package/scss/mixins/animations/_rotate.scss +428 -0
- package/scss/mixins/animations/_rubber.scss +116 -0
- package/scss/mixins/animations/_scale.scss +113 -0
- package/scss/mixins/animations/_shake.scss +182 -0
- package/scss/mixins/animations/_slide.scss +294 -0
- package/scss/mixins/animations/_spin.scss +219 -0
- package/scss/mixins/animations/_sway.scss +167 -0
- package/scss/mixins/animations/_swing.scss +247 -0
- package/scss/mixins/animations/_tada.scss +233 -0
- package/scss/mixins/animations/_twist.scss +177 -0
- package/scss/mixins/animations/_wave.scss +166 -0
- package/scss/mixins/animations/_wobble.scss +254 -0
- package/scss/mixins/animations/_zoom.scss +166 -0
- package/scss/mixins/effects/_filter.scss +148 -0
- package/scss/mixins/effects/_index.scss +0 -0
- package/scss/mixins/effects/_shadow.scss +21 -0
- package/scss/mixins/loaders/_index.scss +0 -0
- package/scss/mixins/loaders/_progress.scss +174 -0
- package/scss/mixins/loaders/_spinner.scss +101 -0
- package/scss/mixins/loaders/circle_01.scss +22 -0
- package/scss/mixins/loaders/circle_02.scss +19 -0
- package/scss/mixins/loaders/circle_03.scss +29 -0
- package/scss/mixins/loaders/circle_inner_01.scss +33 -0
- package/scss/mixins/loaders/circle_inner_02.scss +33 -0
- package/scss/mixins/loaders/circle_inner_03.scss +34 -0
- package/scss/mixins/mouse/_cursor.scss +182 -0
- package/scss/mixins/mouse/_index.scss +0 -0
- package/scss/mixins/mouse/_pointer.scss +258 -0
- package/scss/mixins/scroll/_index.scss +0 -0
- package/scss/mixins/scroll/_scroll.scss +104 -0
- package/scss/mixins/scroll/_scrollbar.scss +249 -0
- package/scss/mixins/transforms/_flip.scss +76 -0
- package/scss/mixins/transforms/_index.scss +23 -0
- package/scss/mixins/transforms/_matrix.scss +1 -0
- package/scss/mixins/transforms/_perspective.scss +11 -0
- package/scss/mixins/transforms/_rotate.scss +101 -0
- package/scss/mixins/transforms/_scale.scss +11 -0
- package/scss/mixins/transforms/_skew.scss +13 -0
- package/scss/mixins/transforms/_translate.scss +13 -0
- package/scss/mixins/transitions/_index.scss +0 -0
- package/scss/mixins/transitions/_transition.scss +13 -0
- package/scss/variables/_animation.scss +91 -0
- package/scss/variables/_index.scss +0 -0
- package/ts/ARContent.ts +27 -0
- package/ts/ARInteraction.ts +34 -0
- package/ts/AdaptiveUI.ts +25 -0
- package/ts/ContentStreaming.ts +20 -0
- package/ts/Draggable.ts +71 -0
- package/ts/DynamicEnvironment.ts +60 -0
- package/ts/Gesture.ts +168 -0
- package/ts/ImmersiveAudio.ts +40 -0
- package/ts/InteractiveCanvas.ts +177 -0
- package/ts/InteractiveVideo.ts +29 -0
- package/ts/Keyboard.ts +162 -0
- package/ts/RealTimeCollaboration.ts +25 -0
- package/ts/Screensaver.ts +140 -0
- package/ts/SpatialNavigation.ts +38 -0
- package/ts/UserProfile.ts +27 -0
- package/ts/VRExperience.ts +58 -0
- package/ts/VideoOverlay.ts +116 -0
- package/ts/index.ts +0 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Poster
|
|
3
|
+
// ============================================================================
|
|
4
|
+
|
|
5
|
+
////
|
|
6
|
+
///
|
|
7
|
+
/// Beat Animations Mixin Module
|
|
8
|
+
/// ===========================================================================
|
|
9
|
+
/// This module provides a set of SCSS mixins for creating various beat
|
|
10
|
+
/// animations, including basic beat, beat with fade, and double beat effects.
|
|
11
|
+
/// These mixins are designed to scale elements up and down in rhythmic
|
|
12
|
+
/// patterns, enhancing the visual dynamics of your designs.
|
|
13
|
+
///
|
|
14
|
+
/// @group Animations
|
|
15
|
+
/// @author Scape Agency
|
|
16
|
+
/// @link https://move.gl
|
|
17
|
+
/// @since 0.1.0 initial release
|
|
18
|
+
/// @todo None
|
|
19
|
+
/// @access public
|
|
20
|
+
///
|
|
21
|
+
////
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
// ============================================================================
|
|
26
|
+
// Use
|
|
27
|
+
// ============================================================================
|
|
28
|
+
|
|
29
|
+
@use "../dev" as *;
|
|
30
|
+
@use "../variables" as *;
|
|
31
|
+
@use "../keyframes" as *;
|
|
32
|
+
@use "base" as *;
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
// ============================================================================
|
|
37
|
+
// Mixins
|
|
38
|
+
// ============================================================================
|
|
39
|
+
|
|
40
|
+
///
|
|
41
|
+
/// Beat Animation
|
|
42
|
+
/// Creates a beat animation that scales an element up and down rhythmically.
|
|
43
|
+
///
|
|
44
|
+
/// @name animate_beat
|
|
45
|
+
/// @param {Number} $scale [$animate-scale-beat] - The scale factor for the beat animation.
|
|
46
|
+
/// @param {Number|String} $duration [$animate-base-duration] - The duration of the animation.
|
|
47
|
+
/// @param {String} $timing_function [$animate-base-timing-function] - The timing function for the animation.
|
|
48
|
+
/// @param {Number|String} $iteration_count [$animate-base-iteration-count] - The number of iterations the animation will run.
|
|
49
|
+
///
|
|
50
|
+
@mixin animate_beat(
|
|
51
|
+
$scale: $animate-scale-beat,
|
|
52
|
+
$duration: $animate-base-duration,
|
|
53
|
+
$timing_function: $animate-base-timing-function,
|
|
54
|
+
$iteration_count: $animate-base-iteration-count
|
|
55
|
+
) {
|
|
56
|
+
@include animate_base(
|
|
57
|
+
animate_beat,
|
|
58
|
+
$duration,
|
|
59
|
+
$timing_function,
|
|
60
|
+
$iteration_count
|
|
61
|
+
);
|
|
62
|
+
@include keyframes_animate_beat($scale);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
///
|
|
66
|
+
/// Beat Fade Animation
|
|
67
|
+
/// Combines a beat animation with a fade effect, scaling the element while
|
|
68
|
+
/// changing its opacity.
|
|
69
|
+
///
|
|
70
|
+
/// @name animate_beat_fade
|
|
71
|
+
/// @param {Number} $opacity [$animate-opacity-fade] - The opacity level at the start and end of the animation.
|
|
72
|
+
/// @param {Number} $scale [$animate-scale-beat-fade] - The scale factor for the beat animation.
|
|
73
|
+
/// @param {Number|String} $duration [$animate-base-duration] - The duration of the animation.
|
|
74
|
+
/// @param {String} $timing_function [$animate-base-timing-function-fade] - The timing function for the animation.
|
|
75
|
+
/// @param {Number|String} $iteration_count [$animate-base-iteration-count] - The number of iterations the animation will run.
|
|
76
|
+
///
|
|
77
|
+
@mixin animate_beat_fade(
|
|
78
|
+
$opacity: $animate-opacity-fade,
|
|
79
|
+
$scale: $animate-scale-beat-fade,
|
|
80
|
+
$duration: $animate-base-duration,
|
|
81
|
+
$timing_function: $animate-base-timing-function-fade,
|
|
82
|
+
$iteration_count: $animate-base-iteration-count
|
|
83
|
+
) {
|
|
84
|
+
@include animate_base(
|
|
85
|
+
animate_beat_fade,
|
|
86
|
+
$duration,
|
|
87
|
+
$timing_function,
|
|
88
|
+
$iteration_count,
|
|
89
|
+
);
|
|
90
|
+
@include keyframes_animate_beat_fade($opacity, $scale);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
///
|
|
94
|
+
/// Double Beat Animation
|
|
95
|
+
/// Creates a double beat animation where the element scales down, then up,
|
|
96
|
+
/// then down again, simulating a heartbeat or pulsating effect.
|
|
97
|
+
///
|
|
98
|
+
/// @name animate_beat_double
|
|
99
|
+
/// @param {Number} $scale-small [$animate-scale-beat-double-small] - The smaller scale factor for the double beat animation.
|
|
100
|
+
/// @param {Number} $scale-large [$animate-scale-beat-double-large] - The larger scale factor for the double beat animation.
|
|
101
|
+
/// @param {Number|String} $duration [$animate-base-duration] - The duration of the animation.
|
|
102
|
+
/// @param {String} $timing_function [$animate-base-timing-function] - The timing function for the animation.
|
|
103
|
+
/// @param {Number|String} $iteration_count [$animate-base-iteration-count] - The number of iterations the animation will run.
|
|
104
|
+
///
|
|
105
|
+
@mixin animate_beat_double(
|
|
106
|
+
$scale-small: $animate-scale-beat-double-small,
|
|
107
|
+
$scale-large: $animate-scale-beat-double-large,
|
|
108
|
+
$duration: $animate-base-duration,
|
|
109
|
+
$timing_function: $animate-base-timing-function,
|
|
110
|
+
$iteration_count: $animate-base-iteration-count
|
|
111
|
+
) {
|
|
112
|
+
@include animate_base(
|
|
113
|
+
animate_beat_double,
|
|
114
|
+
$duration,
|
|
115
|
+
$timing_function,
|
|
116
|
+
$iteration_count
|
|
117
|
+
);
|
|
118
|
+
@include keyframes_animate_beat_double($scale-small, $scale-large);
|
|
119
|
+
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Poster
|
|
3
|
+
// ============================================================================
|
|
4
|
+
|
|
5
|
+
////
|
|
6
|
+
///
|
|
7
|
+
/// Blink Animations Mixin Module
|
|
8
|
+
/// ===========================================================================
|
|
9
|
+
///
|
|
10
|
+
/// This module ...
|
|
11
|
+
///
|
|
12
|
+
///
|
|
13
|
+
/// @group Animations
|
|
14
|
+
/// @author Scape Agency
|
|
15
|
+
/// @link https://move.gl
|
|
16
|
+
/// @since 0.1.0 initial release
|
|
17
|
+
/// @todo None
|
|
18
|
+
/// @access public
|
|
19
|
+
///
|
|
20
|
+
////
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// Use
|
|
25
|
+
// ============================================================================
|
|
26
|
+
|
|
27
|
+
@use "../dev" as *;
|
|
28
|
+
@use "../variables" as *;
|
|
29
|
+
@use "../keyframes" as *;
|
|
30
|
+
@use "base" as *;
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
// ============================================================================
|
|
34
|
+
// Mixins
|
|
35
|
+
// ============================================================================
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
///
|
|
39
|
+
/// Blink Animation
|
|
40
|
+
/// Creates a blink animation where the element alternates between visible and
|
|
41
|
+
/// invisible states.
|
|
42
|
+
///
|
|
43
|
+
/// @name animate_blink
|
|
44
|
+
/// @param {Number|String} $duration [$animate_base_duration] - The duration of the blink animation.
|
|
45
|
+
/// @param {String} $timing_function [step-end] - The timing function for the blink animation.
|
|
46
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
47
|
+
/// @param {Number} $start_opacity [1] - The opacity of the element at the start and end of the animation.
|
|
48
|
+
/// @param {Number} $blink_opacity [0] - The opacity of the element during the blink.
|
|
49
|
+
///
|
|
50
|
+
@mixin animate_blink(
|
|
51
|
+
$duration: $animate_base_duration,
|
|
52
|
+
$timing_function: step-end,
|
|
53
|
+
$iteration_count: $animate_base_iteration_count,
|
|
54
|
+
$start_opacity: 1,
|
|
55
|
+
$blink_opacity: 0
|
|
56
|
+
) {
|
|
57
|
+
@include animate_base(
|
|
58
|
+
animate_blink,
|
|
59
|
+
$duration,
|
|
60
|
+
$timing_function,
|
|
61
|
+
$iteration_count
|
|
62
|
+
);
|
|
63
|
+
@keyframes animate_blink {
|
|
64
|
+
0%, 100% { opacity: $start-opacity; }
|
|
65
|
+
50% { opacity: $blink-opacity; }
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
///
|
|
71
|
+
/// Rapid Blink Animation
|
|
72
|
+
/// Creates a rapid blink animation where the element blinks quickly between
|
|
73
|
+
/// visible and invisible states.
|
|
74
|
+
///
|
|
75
|
+
/// @name animate_blink_rapid
|
|
76
|
+
/// @param {Number|String} $duration [$animate_base_duration_fast] - The duration of the rapid blink animation.
|
|
77
|
+
/// @param {String} $timing_function [steps(2, end)] - The timing function for the rapid blink animation.
|
|
78
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
79
|
+
///
|
|
80
|
+
@mixin animate_blink_rapid(
|
|
81
|
+
$duration: $animate_base_duration_fast,
|
|
82
|
+
$timing_function: steps(2, end),
|
|
83
|
+
$iteration_count: $animate_base_iteration_count
|
|
84
|
+
) {
|
|
85
|
+
@include animate_base(
|
|
86
|
+
animate_blink_rapid,
|
|
87
|
+
$duration,
|
|
88
|
+
$timing_function,
|
|
89
|
+
$iteration_count
|
|
90
|
+
);
|
|
91
|
+
@keyframes animate_blink_rapid {
|
|
92
|
+
0%, 100% { opacity: 1; }
|
|
93
|
+
50% { opacity: 0; }
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
///
|
|
99
|
+
/// Soft Blink Animation
|
|
100
|
+
/// Creates a soft blink animation with a smooth transition in and out of
|
|
101
|
+
/// visibility.
|
|
102
|
+
///
|
|
103
|
+
/// @name animate_blink_soft
|
|
104
|
+
/// @param {Number|String} $duration [$animate_base_duration_slow] - The duration of the soft blink animation.
|
|
105
|
+
/// @param {String} $timing_function [ease-in-out] - The timing function for the soft blink animation.
|
|
106
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
107
|
+
///
|
|
108
|
+
@mixin animate_blink_soft(
|
|
109
|
+
$duration: $animate_base_duration_slow,
|
|
110
|
+
$timing_function: ease-in-out,
|
|
111
|
+
$iteration_count: $animate_base_iteration_count
|
|
112
|
+
) {
|
|
113
|
+
@include animate_base(
|
|
114
|
+
animate_blink_soft,
|
|
115
|
+
$duration,
|
|
116
|
+
$timing_function,
|
|
117
|
+
$iteration_count
|
|
118
|
+
);
|
|
119
|
+
@keyframes animate_blink_soft {
|
|
120
|
+
0%, 100% { opacity: 1; }
|
|
121
|
+
50% { opacity: 0.3; }
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
///
|
|
127
|
+
/// Alternating Blink Animation
|
|
128
|
+
/// Creates an alternating blink animation where the element blinks at regular
|
|
129
|
+
/// intervals.
|
|
130
|
+
///
|
|
131
|
+
/// @name animate_blink_alternate
|
|
132
|
+
/// @param {Number|String} $duration [$animate_base_duration] - The duration of the alternating blink animation.
|
|
133
|
+
/// @param {String} $timing_function [linear] - The timing function for the alternating blink animation.
|
|
134
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
135
|
+
///
|
|
136
|
+
@mixin animate_blink_alternate(
|
|
137
|
+
$duration: $animate_base_duration,
|
|
138
|
+
$timing_function: linear,
|
|
139
|
+
$iteration_count: $animate_base_iteration_count
|
|
140
|
+
) {
|
|
141
|
+
@include animate_base(
|
|
142
|
+
animate_blink_alternate,
|
|
143
|
+
$duration,
|
|
144
|
+
$timing_function,
|
|
145
|
+
$iteration_count
|
|
146
|
+
);
|
|
147
|
+
@keyframes animate_blink_alternate {
|
|
148
|
+
0%, 100% { opacity: 1; }
|
|
149
|
+
25%, 75% { opacity: 0; }
|
|
150
|
+
}
|
|
151
|
+
}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Poster
|
|
3
|
+
// ============================================================================
|
|
4
|
+
|
|
5
|
+
////
|
|
6
|
+
///
|
|
7
|
+
/// Bounce Animations Mixin Module
|
|
8
|
+
/// ===========================================================================
|
|
9
|
+
///
|
|
10
|
+
/// This module ...
|
|
11
|
+
///
|
|
12
|
+
///
|
|
13
|
+
/// @group Animations
|
|
14
|
+
/// @author Scape Agency
|
|
15
|
+
/// @link https://move.gl
|
|
16
|
+
/// @since 0.1.0 initial release
|
|
17
|
+
/// @todo None
|
|
18
|
+
/// @access public
|
|
19
|
+
///
|
|
20
|
+
////
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// Use
|
|
25
|
+
// ============================================================================
|
|
26
|
+
|
|
27
|
+
@use "../dev" as *;
|
|
28
|
+
@use "../variables" as *;
|
|
29
|
+
@use "../keyframes" as *;
|
|
30
|
+
@use "base" as *;
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
// ============================================================================
|
|
34
|
+
// Mixins
|
|
35
|
+
// ============================================================================
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
///
|
|
39
|
+
/// Bounce Animation
|
|
40
|
+
/// Creates a simple bounce animation where the element moves up and down.
|
|
41
|
+
///
|
|
42
|
+
/// @name animate_bounce
|
|
43
|
+
/// @param {Number|String} $duration [$animate_base_duration] - The duration of the bounce animation.
|
|
44
|
+
/// @param {String} $timing_function [cubic-bezier(0.280, 0.840, 0.420, 1)] - The timing function for the bounce animation.
|
|
45
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
46
|
+
/// @param {Number|String} $bounce_height [-20%] - The height of the bounce.
|
|
47
|
+
///
|
|
48
|
+
@mixin animate_bounce(
|
|
49
|
+
$duration: $animate_base_duration,
|
|
50
|
+
$timing_function: cubic-bezier(0.280, 0.840, 0.420, 1),
|
|
51
|
+
$iteration_count: $animate_base_iteration_count,
|
|
52
|
+
$bounce_height: -20%
|
|
53
|
+
) {
|
|
54
|
+
@include animate_base(
|
|
55
|
+
animate_bounce,
|
|
56
|
+
$duration,
|
|
57
|
+
$timing_function,
|
|
58
|
+
$iteration_count
|
|
59
|
+
);
|
|
60
|
+
@keyframes animate_bounce {
|
|
61
|
+
0%, 100% { transform: translateY(0); }
|
|
62
|
+
50% { transform: translateY($bounce_height); }
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
// @keyframes bounce {
|
|
69
|
+
// 0%,100% {
|
|
70
|
+
// -webkit-transform: translate3d(0,-30px,0);
|
|
71
|
+
// transform: translate3d(0,-30px,0);
|
|
72
|
+
// }
|
|
73
|
+
// 50% {
|
|
74
|
+
// -webkit-transform: translate3d(0,-4px,0);
|
|
75
|
+
// transform: translate3d(0,-4px,0);
|
|
76
|
+
// }
|
|
77
|
+
// }
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
///
|
|
81
|
+
/// Extended Bounce Animation
|
|
82
|
+
/// Creates an extended bounce animation with multiple stages of scaling
|
|
83
|
+
/// and bouncing.
|
|
84
|
+
///
|
|
85
|
+
/// @name animate_bounce_extended
|
|
86
|
+
/// @param {Number} $start-scale_x [1.1] - Initial scale in the X direction.
|
|
87
|
+
/// @param {Number} $start-scale_y [0.9] - Initial scale in the Y direction.
|
|
88
|
+
/// @param {Number} $jump_scale_x [0.9] - Scale in the X direction during the jump.
|
|
89
|
+
/// @param {Number} $jump_scale_y [1.1] - Scale in the Y direction during the jump.
|
|
90
|
+
/// @param {Number|String} $bounce_height [-0.5em] - The height of the bounce.
|
|
91
|
+
/// @param {Number} $land_scale_x [1.05] - Scale in the X direction upon landing.
|
|
92
|
+
/// @param {Number} $land_scale_y [0.95] - Scale in the Y direction upon landing.
|
|
93
|
+
/// @param {Number|String} $rebound_height [-0.125em] - The height of the rebound.
|
|
94
|
+
/// @param {Number|String} $duration [$animate_base_duration] - The duration of the bounce animation.
|
|
95
|
+
/// @param {String} $timing_function [cubic-bezier(0.280, 0.840, 0.420, 1)] - The timing function for the bounce animation.
|
|
96
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
97
|
+
///
|
|
98
|
+
@mixin animate_bounce_extended(
|
|
99
|
+
$start-scale_x: 1.1,
|
|
100
|
+
$start-scale_y: 0.9,
|
|
101
|
+
$jump_scale_x: 0.9,
|
|
102
|
+
$jump_scale_y: 1.1,
|
|
103
|
+
$bounce_height: -0.5em,
|
|
104
|
+
$land_scale_x: 1.05,
|
|
105
|
+
$land_scale_y: 0.95,
|
|
106
|
+
$rebound_height: -0.125em,
|
|
107
|
+
$duration: $animate_base_duration,
|
|
108
|
+
$timing_function: cubic-bezier(0.280, 0.840, 0.420, 1),
|
|
109
|
+
$iteration_count: $animate_base_iteration_count
|
|
110
|
+
) {
|
|
111
|
+
@include animate_base(
|
|
112
|
+
animate_bounce,
|
|
113
|
+
$duration,
|
|
114
|
+
$timing_function,
|
|
115
|
+
$iteration_count,
|
|
116
|
+
);
|
|
117
|
+
@keyframes animate_bounce {
|
|
118
|
+
0% { transform: scale(1,1) translateY(0); }
|
|
119
|
+
10% { transform: scale($start-scale_x, $start-scale_y) translateY(0); }
|
|
120
|
+
30% { transform: scale($jump_scale_x, $jump_scale_y) translateY($bounce_height); }
|
|
121
|
+
50% { transform: scale($land_scale_x, $land_scale_y) translateY(0); }
|
|
122
|
+
57% { transform: scale(1,1) translateY($rebound_height); }
|
|
123
|
+
64% { transform: scale(1,1) translateY(0); }
|
|
124
|
+
100% { transform: scale(1,1) translateY(0); }
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
///
|
|
131
|
+
/// Bounce with Rotation Animation
|
|
132
|
+
/// Creates a bounce animation that includes a rotation as the element moves
|
|
133
|
+
/// up and down.
|
|
134
|
+
///
|
|
135
|
+
/// @name animate_bounce_rotate
|
|
136
|
+
/// @param {Number|String} $rotation_angle [360deg] - The angle of rotation during the bounce.
|
|
137
|
+
/// @param {Number|String} $duration [$animate_base_duration] - The duration of the bounce animation.
|
|
138
|
+
/// @param {String} $timing_function [cubic-bezier(0.280, 0.840, 0.420, 1)] - The timing function for the bounce animation.
|
|
139
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
140
|
+
///
|
|
141
|
+
@mixin animate_bounce_rotate(
|
|
142
|
+
$rotation_angle: 360deg,
|
|
143
|
+
$duration: $animate_base_duration,
|
|
144
|
+
$timing_function: cubic-bezier(0.280, 0.840, 0.420, 1),
|
|
145
|
+
$iteration_count: $animate_base_iteration_count
|
|
146
|
+
) {
|
|
147
|
+
@include animate_base(
|
|
148
|
+
animate_bounce_rotate,
|
|
149
|
+
$duration,
|
|
150
|
+
$timing_function,
|
|
151
|
+
$iteration_count,
|
|
152
|
+
);
|
|
153
|
+
@keyframes animate_bounce_rotate {
|
|
154
|
+
0%, 100% { transform: translateY(0) rotate(0); }
|
|
155
|
+
50% { transform: translateY(-20%) rotate($rotation_angle); }
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
///
|
|
162
|
+
/// Multi-Directional Bounce Animation
|
|
163
|
+
/// Creates a bounce animation that moves the element in multiple
|
|
164
|
+
/// directions (X and Y).
|
|
165
|
+
///
|
|
166
|
+
/// @name animate_bounce_multi
|
|
167
|
+
/// @param {Number|String} $duration [$animate_base_duration] - The duration of the bounce animation.
|
|
168
|
+
/// @param {String} $timing_function [cubic-bezier(0.280, 0.840, 0.420, 1)] - The timing function for the bounce animation.
|
|
169
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
170
|
+
/// @param {Number|String} $bounce_x [-10%] - The distance the element moves along the X-axis during the bounce.
|
|
171
|
+
/// @param {Number|String} $bounce_y [-20%] - The distance the element moves along the Y-axis during the bounce.
|
|
172
|
+
///
|
|
173
|
+
@mixin animate_bounce_multi(
|
|
174
|
+
$duration: $animate_base_duration,
|
|
175
|
+
$timing_function: cubic-bezier(0.280, 0.840, 0.420, 1),
|
|
176
|
+
$iteration_count: $animate_base_iteration_count,
|
|
177
|
+
$bounce_x: -10%,
|
|
178
|
+
$bounce_y: -20%
|
|
179
|
+
) {
|
|
180
|
+
@include animate_base(
|
|
181
|
+
animate_bounce_multi,
|
|
182
|
+
$duration,
|
|
183
|
+
$timing_function,
|
|
184
|
+
$iteration_count,
|
|
185
|
+
);
|
|
186
|
+
@keyframes animate_bounce_multi {
|
|
187
|
+
0%, 100% { transform: translate(0, 0); }
|
|
188
|
+
25% { transform: translate($bounce_x, 0); }
|
|
189
|
+
50% { transform: translate(0, $bounce_y); }
|
|
190
|
+
75% { transform: translate($bounce_x, 0); }
|
|
191
|
+
}
|
|
192
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Poster
|
|
3
|
+
// ============================================================================
|
|
4
|
+
|
|
5
|
+
////
|
|
6
|
+
///
|
|
7
|
+
/// Elastic Animations Mixin Module
|
|
8
|
+
/// ===========================================================================
|
|
9
|
+
///
|
|
10
|
+
/// This module ...
|
|
11
|
+
///
|
|
12
|
+
///
|
|
13
|
+
/// @group Animations
|
|
14
|
+
/// @author Scape Agency
|
|
15
|
+
/// @link https://move.gl
|
|
16
|
+
/// @since 0.1.0 initial release
|
|
17
|
+
/// @todo None
|
|
18
|
+
/// @access public
|
|
19
|
+
///
|
|
20
|
+
////
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// Use
|
|
25
|
+
// ============================================================================
|
|
26
|
+
|
|
27
|
+
@use "../dev" as *;
|
|
28
|
+
@use "../variables" as *;
|
|
29
|
+
@use "../keyframes" as *;
|
|
30
|
+
@use "base" as *;
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
// ============================================================================
|
|
34
|
+
// Mixins
|
|
35
|
+
// ============================================================================
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
///
|
|
39
|
+
/// Elastic Animation
|
|
40
|
+
/// Creates an elastic animation where the element scales up and down in a spring-like motion.
|
|
41
|
+
/// @name animate_elastic
|
|
42
|
+
/// @param {Number} $scale-start [0.5] - The starting scale of the element.
|
|
43
|
+
/// @param {Number} $scale-end [1.25] - The scale of the element at the midpoint of the animation.
|
|
44
|
+
/// @param {Number|String} $duration [$animate_base_duration_slow] - The duration of the elastic animation.
|
|
45
|
+
/// @param {String} $timing_function [cubic-bezier(0.68, -0.55, 0.27, 1.55)] - The timing function for the elastic animation.
|
|
46
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
47
|
+
///
|
|
48
|
+
@mixin animate_elastic(
|
|
49
|
+
$scale-start: 0.5,
|
|
50
|
+
$scale-end: 1.25,
|
|
51
|
+
$duration: $animate_base_duration_slow,
|
|
52
|
+
$timing_function: cubic-bezier(0.68, -0.55, 0.27, 1.55),
|
|
53
|
+
$iteration_count: $animate_base_iteration_count
|
|
54
|
+
) {
|
|
55
|
+
@include animate_base(
|
|
56
|
+
animate_elastic,
|
|
57
|
+
$duration,
|
|
58
|
+
$timing_function,
|
|
59
|
+
$iteration_count,
|
|
60
|
+
);
|
|
61
|
+
@keyframes animate_elastic {
|
|
62
|
+
0%, 100% { transform: scale($scale-start); }
|
|
63
|
+
50% { transform: scale($scale-end); }
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Poster
|
|
3
|
+
// ============================================================================
|
|
4
|
+
|
|
5
|
+
////
|
|
6
|
+
///
|
|
7
|
+
/// Fade Animations Mixin Module
|
|
8
|
+
/// ===========================================================================
|
|
9
|
+
///
|
|
10
|
+
/// This module ...
|
|
11
|
+
///
|
|
12
|
+
///
|
|
13
|
+
/// @group Animations
|
|
14
|
+
/// @author Scape Agency
|
|
15
|
+
/// @link https://move.gl
|
|
16
|
+
/// @since 0.1.0 initial release
|
|
17
|
+
/// @todo None
|
|
18
|
+
/// @access public
|
|
19
|
+
///
|
|
20
|
+
////
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// Use
|
|
25
|
+
// ============================================================================
|
|
26
|
+
|
|
27
|
+
@use "../dev" as *;
|
|
28
|
+
@use "../variables" as *;
|
|
29
|
+
@use "../keyframes" as *;
|
|
30
|
+
@use "base" as *;
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
// ============================================================================
|
|
34
|
+
// Mixins
|
|
35
|
+
// ============================================================================
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@mixin animate_fade(
|
|
39
|
+
$start_opacity: 1,
|
|
40
|
+
$mid_opacity: 0,
|
|
41
|
+
$end_opacity: 1,
|
|
42
|
+
$duration: $animate_base_duration,
|
|
43
|
+
$timing_function: cubic-bezier(.4, 0, .6, 1),
|
|
44
|
+
$iteration_count: $animate_base_iteration_count
|
|
45
|
+
) {
|
|
46
|
+
@include animate_base(
|
|
47
|
+
animate_fade,
|
|
48
|
+
$duration,
|
|
49
|
+
$timing_function,
|
|
50
|
+
$iteration_count,
|
|
51
|
+
);
|
|
52
|
+
@keyframes animate_fade {
|
|
53
|
+
0%, 100% { opacity: $start-opacity; }
|
|
54
|
+
50% { opacity: $mid-opacity; }
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
@mixin animate_fade_in(
|
|
60
|
+
$start_opacity: 0,
|
|
61
|
+
$end_opacity: 1,
|
|
62
|
+
$duration: $animate_base_duration,
|
|
63
|
+
$timing_function: ease-in
|
|
64
|
+
) {
|
|
65
|
+
@include animate_base(
|
|
66
|
+
animate_fade_in,
|
|
67
|
+
$duration,
|
|
68
|
+
$timing_function,
|
|
69
|
+
1
|
|
70
|
+
);
|
|
71
|
+
@keyframes animate_fade_in {
|
|
72
|
+
from { opacity: $start-opacity; }
|
|
73
|
+
to { opacity: $end-opacity; }
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
// @keyframes fadeIn {
|
|
79
|
+
// from {
|
|
80
|
+
// opacity: 0;
|
|
81
|
+
// transform: translate3d(0, -100%, 0);
|
|
82
|
+
// }
|
|
83
|
+
|
|
84
|
+
// to {
|
|
85
|
+
// opacity: 1;
|
|
86
|
+
// transform: none;
|
|
87
|
+
// }
|
|
88
|
+
// }
|
|
89
|
+
|
|
90
|
+
// $boot-fadein-time: 2s;
|
|
91
|
+
// $boot-fadein-opacity-start: 0;
|
|
92
|
+
// $boot-fadein-opacity-end: 1;
|
|
93
|
+
|
|
94
|
+
// .fade {
|
|
95
|
+
// @include transition($transition-fade);
|
|
96
|
+
|
|
97
|
+
// &:not(.show) {
|
|
98
|
+
// opacity: 0;
|
|
99
|
+
// }
|
|
100
|
+
// }
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
// Fade Out Animation
|
|
104
|
+
// ----------------------------------------------------------------------------
|
|
105
|
+
|
|
106
|
+
@mixin animate_fade_out(
|
|
107
|
+
$start_opacity: 1,
|
|
108
|
+
$end_opacity: 0,
|
|
109
|
+
$duration: $animate_base_duration,
|
|
110
|
+
$timing_function: ease-out
|
|
111
|
+
) {
|
|
112
|
+
@include animate_base(
|
|
113
|
+
animate_fade_in,
|
|
114
|
+
$duration,
|
|
115
|
+
$timing_function,
|
|
116
|
+
1
|
|
117
|
+
);
|
|
118
|
+
@keyframes animate_fade_out {
|
|
119
|
+
from { opacity: $start-opacity; }
|
|
120
|
+
to { opacity: $end-opacity; }
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
// @keyframes fadeOut {
|
|
126
|
+
// from {
|
|
127
|
+
// opacity: 1;
|
|
128
|
+
// }
|
|
129
|
+
|
|
130
|
+
// to {
|
|
131
|
+
// transform: translate3d(0, -100%, 0);
|
|
132
|
+
// opacity: 0;
|
|
133
|
+
// }
|
|
134
|
+
// }
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
@mixin animate_fade_gradual(
|
|
138
|
+
$start_opacity: 1,
|
|
139
|
+
$end_opacity: 0.5,
|
|
140
|
+
$duration: $animate_base_duration_slow,
|
|
141
|
+
$timing_function: ease-in-out,
|
|
142
|
+
$iteration_count: $animate_base_iteration_count
|
|
143
|
+
) {
|
|
144
|
+
@include animate_base(
|
|
145
|
+
animate_fade_gradual,
|
|
146
|
+
$duration,
|
|
147
|
+
$timing_function,
|
|
148
|
+
$iteration_count,
|
|
149
|
+
);
|
|
150
|
+
@keyframes animate_fade_gradual {
|
|
151
|
+
0%, 100% { opacity: $start-opacity; }
|
|
152
|
+
50% { opacity: $end-opacity; }
|
|
153
|
+
}
|
|
154
|
+
}
|