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,130 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Poster
|
|
3
|
+
// ============================================================================
|
|
4
|
+
|
|
5
|
+
////
|
|
6
|
+
///
|
|
7
|
+
/// Lightspeed 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
|
+
|
|
40
|
+
|
|
41
|
+
// @-webkit-keyframes lightSpeedIn {
|
|
42
|
+
// from {
|
|
43
|
+
// -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
|
|
44
|
+
// transform: translate3d(100%, 0, 0) skewX(-30deg);
|
|
45
|
+
// opacity: 0;
|
|
46
|
+
// }
|
|
47
|
+
|
|
48
|
+
// 60% {
|
|
49
|
+
// -webkit-transform: skewX(20deg);
|
|
50
|
+
// transform: skewX(20deg);
|
|
51
|
+
// opacity: 1;
|
|
52
|
+
// }
|
|
53
|
+
|
|
54
|
+
// 80% {
|
|
55
|
+
// -webkit-transform: skewX(-5deg);
|
|
56
|
+
// transform: skewX(-5deg);
|
|
57
|
+
// opacity: 1;
|
|
58
|
+
// }
|
|
59
|
+
|
|
60
|
+
// 100% {
|
|
61
|
+
// -webkit-transform: none;
|
|
62
|
+
// transform: none;
|
|
63
|
+
// opacity: 1;
|
|
64
|
+
// }
|
|
65
|
+
// }
|
|
66
|
+
|
|
67
|
+
// @keyframes lightSpeedIn {
|
|
68
|
+
// from {
|
|
69
|
+
// -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
|
|
70
|
+
// transform: translate3d(100%, 0, 0) skewX(-30deg);
|
|
71
|
+
// opacity: 0;
|
|
72
|
+
// }
|
|
73
|
+
|
|
74
|
+
// 60% {
|
|
75
|
+
// -webkit-transform: skewX(20deg);
|
|
76
|
+
// transform: skewX(20deg);
|
|
77
|
+
// opacity: 1;
|
|
78
|
+
// }
|
|
79
|
+
|
|
80
|
+
// 80% {
|
|
81
|
+
// -webkit-transform: skewX(-5deg);
|
|
82
|
+
// transform: skewX(-5deg);
|
|
83
|
+
// opacity: 1;
|
|
84
|
+
// }
|
|
85
|
+
|
|
86
|
+
// 100% {
|
|
87
|
+
// -webkit-transform: none;
|
|
88
|
+
// transform: none;
|
|
89
|
+
// opacity: 1;
|
|
90
|
+
// }
|
|
91
|
+
// }
|
|
92
|
+
|
|
93
|
+
// .lightSpeedIn {
|
|
94
|
+
// -webkit-animation-name: lightSpeedIn;
|
|
95
|
+
// animation-name: lightSpeedIn;
|
|
96
|
+
// -webkit-animation-timing-function: ease-out;
|
|
97
|
+
// animation-timing-function: ease-out;
|
|
98
|
+
// }
|
|
99
|
+
|
|
100
|
+
// @-webkit-keyframes lightSpeedOut {
|
|
101
|
+
// from {
|
|
102
|
+
// opacity: 1;
|
|
103
|
+
// }
|
|
104
|
+
|
|
105
|
+
// 100% {
|
|
106
|
+
// -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
|
|
107
|
+
// transform: translate3d(100%, 0, 0) skewX(30deg);
|
|
108
|
+
// opacity: 0;
|
|
109
|
+
// }
|
|
110
|
+
// }
|
|
111
|
+
|
|
112
|
+
// @keyframes lightSpeedOut {
|
|
113
|
+
// from {
|
|
114
|
+
// opacity: 1;
|
|
115
|
+
// }
|
|
116
|
+
|
|
117
|
+
// 100% {
|
|
118
|
+
// -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
|
|
119
|
+
// transform: translate3d(100%, 0, 0) skewX(30deg);
|
|
120
|
+
// opacity: 0;
|
|
121
|
+
// }
|
|
122
|
+
// }
|
|
123
|
+
|
|
124
|
+
// .lightSpeedOut {
|
|
125
|
+
// -webkit-animation-name: lightSpeedOut;
|
|
126
|
+
// animation-name: lightSpeedOut;
|
|
127
|
+
// -webkit-animation-timing-function: ease-in;
|
|
128
|
+
// animation-timing-function: ease-in;
|
|
129
|
+
// }
|
|
130
|
+
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Poster
|
|
3
|
+
// ============================================================================
|
|
4
|
+
|
|
5
|
+
////
|
|
6
|
+
///
|
|
7
|
+
/// Nod 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
|
+
/// Nod Animation
|
|
40
|
+
/// Creates a nodding animation where the element rotates back and forth on the X-axis.
|
|
41
|
+
/// @name animate_nod
|
|
42
|
+
/// @param {Number|String} $angle [10deg] - The angle of rotation for the nod.
|
|
43
|
+
/// @param {Number|String} $duration [$animate_base_duration] - The duration of the nod animation.
|
|
44
|
+
/// @param {String} $timing_function [ease-in-out] - The timing function for the nod animation.
|
|
45
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
46
|
+
///
|
|
47
|
+
@mixin animate_nod(
|
|
48
|
+
$angle: 10deg,
|
|
49
|
+
$duration: $animate_base_duration,
|
|
50
|
+
$timing_function: ease-in-out,
|
|
51
|
+
$iteration_count: $animate_base_iteration_count
|
|
52
|
+
) {
|
|
53
|
+
@include animate_base(
|
|
54
|
+
animate_nod,
|
|
55
|
+
$duration,
|
|
56
|
+
$timing_function,
|
|
57
|
+
$iteration_count
|
|
58
|
+
);
|
|
59
|
+
@keyframes animate_nod {
|
|
60
|
+
0%, 100% { transform: rotateX(0deg); }
|
|
61
|
+
50% { transform: rotateX($angle); }
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
// Slow Nod Animation
|
|
69
|
+
// ----------------------------------------------------------------------------
|
|
70
|
+
|
|
71
|
+
///
|
|
72
|
+
/// Slow Nod Animation
|
|
73
|
+
/// Creates a slower nodding animation with a more gradual movement on the X-axis.
|
|
74
|
+
/// @name animate_nod_slow
|
|
75
|
+
/// @param {Number|String} $angle [10deg] - The angle of rotation for the nod.
|
|
76
|
+
/// @param {Number|String} $duration [$animate_base_duration_slow] - The duration of the nod animation.
|
|
77
|
+
/// @param {String} $timing_function [ease-in-out] - The timing function for the nod animation.
|
|
78
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
79
|
+
///
|
|
80
|
+
@mixin animate_nod_slow(
|
|
81
|
+
$angle: 10deg,
|
|
82
|
+
$duration: $animate_base_duration_slow,
|
|
83
|
+
$timing_function: ease-in-out,
|
|
84
|
+
$iteration_count: $animate_base_iteration_count
|
|
85
|
+
) {
|
|
86
|
+
@include animate_base(
|
|
87
|
+
animate_nod_slow,
|
|
88
|
+
$duration,
|
|
89
|
+
$timing_function,
|
|
90
|
+
$iteration_count
|
|
91
|
+
);
|
|
92
|
+
@keyframes animate_nod_slow {
|
|
93
|
+
0%, 100% { transform: rotateX(0deg); }
|
|
94
|
+
50% { transform: rotateX($angle); }
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
// Nod with Bounce
|
|
101
|
+
// ----------------------------------------------------------------------------
|
|
102
|
+
|
|
103
|
+
///
|
|
104
|
+
/// Nod with Bounce
|
|
105
|
+
/// Creates a nodding animation combined with a bounce effect.
|
|
106
|
+
/// @name animate_nod_bounce
|
|
107
|
+
/// @param {Number|String} $angle [10deg] - The angle of rotation for the nod.
|
|
108
|
+
/// @param {Number|String} $bounce-height [5px] - The height of the bounce during the nod.
|
|
109
|
+
/// @param {Number|String} $duration [$animate_base_duration] - The duration of the nod animation.
|
|
110
|
+
/// @param {String} $timing_function [ease-in-out] - The timing function for the nod animation.
|
|
111
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
112
|
+
///
|
|
113
|
+
@mixin animate_nod_bounce(
|
|
114
|
+
$angle: 10deg,
|
|
115
|
+
$bounce-height: 5px,
|
|
116
|
+
$duration: $animate_base_duration,
|
|
117
|
+
$timing_function: ease-in-out,
|
|
118
|
+
$iteration_count: $animate_base_iteration_count
|
|
119
|
+
) {
|
|
120
|
+
@include animate_base(
|
|
121
|
+
animate_nod_bounce,
|
|
122
|
+
$duration,
|
|
123
|
+
$timing_function,
|
|
124
|
+
$iteration_count
|
|
125
|
+
);
|
|
126
|
+
@keyframes animate_nod_bounce {
|
|
127
|
+
0%, 100% { transform: rotateX(0deg) translateY(0); }
|
|
128
|
+
50% { transform: rotateX($angle) translateY(-$bounce-height); }
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
///
|
|
134
|
+
/// Continuous Nod
|
|
135
|
+
/// Creates a continuous nodding animation where the element rotates back and
|
|
136
|
+
/// forth without stopping.
|
|
137
|
+
///
|
|
138
|
+
/// @name animate_nod_continuous
|
|
139
|
+
/// @param {Number|String} $angle [10deg] - The angle of rotation for the nod.
|
|
140
|
+
/// @param {Number|String} $duration [$animate_base_duration_fast] - The duration of the nod animation.
|
|
141
|
+
/// @param {String} $timing_function [linear] - The timing function for the nod animation.
|
|
142
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
143
|
+
///
|
|
144
|
+
@mixin animate_nod_continuous(
|
|
145
|
+
$angle: 10deg,
|
|
146
|
+
$duration: $animate_base_duration_fast,
|
|
147
|
+
$timing_function: linear,
|
|
148
|
+
$iteration_count: $animate_base_iteration_count
|
|
149
|
+
) {
|
|
150
|
+
@include animate_base(
|
|
151
|
+
animate_nod_continuous,
|
|
152
|
+
$duration,
|
|
153
|
+
$timing_function,
|
|
154
|
+
$iteration_count
|
|
155
|
+
);
|
|
156
|
+
@keyframes animate_nod_continuous {
|
|
157
|
+
0% { transform: rotateX(0deg); }
|
|
158
|
+
25%, 75% { transform: rotateX($angle); }
|
|
159
|
+
50%, 100% { transform: rotateX(-$angle); }
|
|
160
|
+
}
|
|
161
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Poster
|
|
3
|
+
// ============================================================================
|
|
4
|
+
|
|
5
|
+
////
|
|
6
|
+
///
|
|
7
|
+
/// Pop 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
|
+
/// Pop Animation
|
|
40
|
+
/// Creates a pop animation where the element scales up and then back down.
|
|
41
|
+
/// @name animate_pop
|
|
42
|
+
/// @param {Number} $scale [1.2] - The scale factor for the pop effect.
|
|
43
|
+
/// @param {Number|String} $duration [$animate_base_duration_fast] - The duration of the pop animation.
|
|
44
|
+
/// @param {String} $timing_function [ease-in-out] - The timing function for the pop animation.
|
|
45
|
+
///
|
|
46
|
+
@mixin animate_pop(
|
|
47
|
+
$scale: 1.2,
|
|
48
|
+
$duration: $animate_base_duration_fast,
|
|
49
|
+
$timing_function: ease-in-out
|
|
50
|
+
) {
|
|
51
|
+
@include animate_base(
|
|
52
|
+
animate_pop,
|
|
53
|
+
$duration,
|
|
54
|
+
$timing_function,
|
|
55
|
+
1,
|
|
56
|
+
);
|
|
57
|
+
@keyframes animate_pop {
|
|
58
|
+
0%, 100% { transform: scale(1); }
|
|
59
|
+
50% { transform: scale($scale); }
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
// Rapid Pop Animation
|
|
65
|
+
// ----------------------------------------------------------------------------
|
|
66
|
+
|
|
67
|
+
///
|
|
68
|
+
/// Rapid Pop Animation
|
|
69
|
+
/// Creates a rapid pop animation with a quick scaling effect.
|
|
70
|
+
/// @name animate_pop_fast
|
|
71
|
+
/// @param {Number} $scale [1.2] - The scale factor for the pop effect.
|
|
72
|
+
/// @param {Number|String} $duration [$animate_base_duration_fast] - The duration of the pop animation.
|
|
73
|
+
/// @param {String} $timing_function [ease-in-out] - The timing function for the pop animation.
|
|
74
|
+
///
|
|
75
|
+
@mixin animate_pop_fast(
|
|
76
|
+
$scale: 1.2,
|
|
77
|
+
$duration: $animate_base_duration_fast,
|
|
78
|
+
$timing_function: ease-in-out
|
|
79
|
+
) {
|
|
80
|
+
@include animate_base(
|
|
81
|
+
animate_pop_fast,
|
|
82
|
+
$duration,
|
|
83
|
+
$timing_function,
|
|
84
|
+
1,
|
|
85
|
+
);
|
|
86
|
+
@keyframes animate_pop_fast {
|
|
87
|
+
0%, 100% { transform: scale(1); }
|
|
88
|
+
50% { transform: scale($scale); }
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
// Gentle Pop Animation
|
|
94
|
+
// ----------------------------------------------------------------------------
|
|
95
|
+
|
|
96
|
+
///
|
|
97
|
+
/// Gentle Pop Animation
|
|
98
|
+
/// Creates a gentler pop animation with a slower scaling effect.
|
|
99
|
+
/// @name animate_pop_slow
|
|
100
|
+
/// @param {Number} $scale [1.1] - The scale factor for the pop effect.
|
|
101
|
+
/// @param {Number|String} $duration [$animate_base_duration] - The duration of the pop animation.
|
|
102
|
+
/// @param {String} $timing_function [ease-in-out] - The timing function for the pop animation.
|
|
103
|
+
///
|
|
104
|
+
@mixin animate_pop_slow(
|
|
105
|
+
$scale: 1.1,
|
|
106
|
+
$duration: $animate_base_duration,
|
|
107
|
+
$timing_function: ease-in-out
|
|
108
|
+
) {
|
|
109
|
+
@include animate_base(
|
|
110
|
+
animate_pop_slow,
|
|
111
|
+
$duration,
|
|
112
|
+
$timing_function,
|
|
113
|
+
1,
|
|
114
|
+
);
|
|
115
|
+
@keyframes animate_pop_slow {
|
|
116
|
+
0%, 100% { transform: scale(1); }
|
|
117
|
+
50% { transform: scale($scale); }
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
// Pop with Rotation
|
|
123
|
+
// ----------------------------------------------------------------------------
|
|
124
|
+
|
|
125
|
+
///
|
|
126
|
+
/// Pop with Rotation
|
|
127
|
+
/// Creates a pop animation combined with a rotation effect.
|
|
128
|
+
/// @name animate_pop_rotate
|
|
129
|
+
/// @param {Number} $scale [1.2] - The scale factor for the pop effect.
|
|
130
|
+
/// @param {Number|String} $rotation_angle [10deg] - The rotation angle during the pop effect.
|
|
131
|
+
/// @param {Number|String} $duration [$animate_base_duration_fast] - The duration of the pop animation.
|
|
132
|
+
/// @param {String} $timing_function [ease-in-out] - The timing function for the pop animation.
|
|
133
|
+
///
|
|
134
|
+
@mixin animate_pop_rotate(
|
|
135
|
+
$scale: 1.2,
|
|
136
|
+
$rotation_angle: 10deg,
|
|
137
|
+
$duration: $animate_base_duration_fast,
|
|
138
|
+
$timing_function: ease-in-out
|
|
139
|
+
) {
|
|
140
|
+
@include animate_base(
|
|
141
|
+
animate_pop_rotate,
|
|
142
|
+
$duration,
|
|
143
|
+
$timing_function,
|
|
144
|
+
1,
|
|
145
|
+
);
|
|
146
|
+
@keyframes animate_pop_rotate {
|
|
147
|
+
0%, 100% { transform: scale(1) rotate(0); }
|
|
148
|
+
50% { transform: scale($scale) rotate($rotation_angle); }
|
|
149
|
+
}
|
|
150
|
+
}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// Poster
|
|
3
|
+
// ============================================================================
|
|
4
|
+
|
|
5
|
+
////
|
|
6
|
+
///
|
|
7
|
+
/// Pulse 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
|
+
/// Pulse Animation
|
|
40
|
+
/// Creates a pulsing animation where the element scales between the minimum
|
|
41
|
+
/// and maximum scale values.
|
|
42
|
+
///
|
|
43
|
+
/// @name animate_pulse
|
|
44
|
+
/// @param {Number} $scale_min [1] - The minimum scale of the pulse.
|
|
45
|
+
/// @param {Number} $scale_max [1.1] - The maximum scale of the pulse.
|
|
46
|
+
/// @param {Number|String} $duration [$animate_base_duration] - The duration of the pulse animation.
|
|
47
|
+
/// @param {String} $timing_function [linear] - The timing function for the pulse animation.
|
|
48
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
49
|
+
///
|
|
50
|
+
@mixin animate_pulse(
|
|
51
|
+
$scale_min: 1,
|
|
52
|
+
$scale_max: 1.1,
|
|
53
|
+
$duration: $animate_base_duration,
|
|
54
|
+
$timing_function: linear,
|
|
55
|
+
$iteration_count: $animate_base_iteration_count
|
|
56
|
+
) {
|
|
57
|
+
@include animate_base(
|
|
58
|
+
animate_pulse,
|
|
59
|
+
$duration,
|
|
60
|
+
$timing_function,
|
|
61
|
+
$iteration_count
|
|
62
|
+
);
|
|
63
|
+
@keyframes animate_pulse {
|
|
64
|
+
0%, 100% { transform: scale($scale_min); }
|
|
65
|
+
50% { transform: scale($scale_max); }
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
// Slow Pulse Animation
|
|
72
|
+
// ----------------------------------------------------------------------------
|
|
73
|
+
|
|
74
|
+
///
|
|
75
|
+
/// Slow Pulse Animation
|
|
76
|
+
/// Creates a slower pulsing animation with more subtle scale changes.
|
|
77
|
+
/// @name animate_pulse_slow
|
|
78
|
+
/// @param {Number} $scale_min [0.95] - The minimum scale of the pulse.
|
|
79
|
+
/// @param {Number} $scale_max [1.05] - The maximum scale of the pulse.
|
|
80
|
+
/// @param {Number|String} $duration [$animate_base_duration_slow] - The duration of the pulse animation.
|
|
81
|
+
/// @param {String} $timing_function [ease-in-out] - The timing function for the pulse animation.
|
|
82
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
83
|
+
///
|
|
84
|
+
@mixin animate_pulse_slow(
|
|
85
|
+
$scale_min: 0.95,
|
|
86
|
+
$scale_max: 1.05,
|
|
87
|
+
$duration: $animate_base_duration_slow,
|
|
88
|
+
$timing_function: ease-in-out,
|
|
89
|
+
$iteration_count: $animate_base_iteration_count
|
|
90
|
+
) {
|
|
91
|
+
@include animate_base(
|
|
92
|
+
animate_pulse_slow,
|
|
93
|
+
$duration,
|
|
94
|
+
$timing_function,
|
|
95
|
+
$iteration_count
|
|
96
|
+
);
|
|
97
|
+
@keyframes animate_pulse_slow {
|
|
98
|
+
0%, 100% { transform: scale($scale_min); }
|
|
99
|
+
50% { transform: scale($scale_max); }
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
// Rapid Pulse Animation
|
|
106
|
+
// ----------------------------------------------------------------------------
|
|
107
|
+
|
|
108
|
+
///
|
|
109
|
+
/// Rapid Pulse Animation
|
|
110
|
+
/// Creates a rapid pulsing animation with more pronounced scale changes.
|
|
111
|
+
/// @name animate_pulse_fast
|
|
112
|
+
/// @param {Number} $scale_min [0.9] - The minimum scale of the pulse.
|
|
113
|
+
/// @param {Number} $scale_max [1.2] - The maximum scale of the pulse.
|
|
114
|
+
/// @param {Number|String} $duration [$animate_base_duration_fast] - The duration of the pulse animation.
|
|
115
|
+
/// @param {String} $timing_function [ease-in-out] - The timing function for the pulse animation.
|
|
116
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
117
|
+
///
|
|
118
|
+
@mixin animate_pulse_fast(
|
|
119
|
+
$scale_min: 0.9,
|
|
120
|
+
$scale_max: 1.2,
|
|
121
|
+
$duration: $animate_base_duration_fast,
|
|
122
|
+
$timing_function: ease-in-out,
|
|
123
|
+
$iteration_count: $animate_base_iteration_count
|
|
124
|
+
) {
|
|
125
|
+
@include animate_base(
|
|
126
|
+
animate_pulse_fast,
|
|
127
|
+
$duration,
|
|
128
|
+
$timing_function,
|
|
129
|
+
$iteration_count
|
|
130
|
+
);
|
|
131
|
+
@keyframes animate_pulse_fast {
|
|
132
|
+
0%, 100% { transform: scale($scale_min); }
|
|
133
|
+
50% { transform: scale($scale_max); }
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
// Color Pulse Animation
|
|
140
|
+
// ----------------------------------------------------------------------------
|
|
141
|
+
|
|
142
|
+
///
|
|
143
|
+
/// Color Pulse Animation
|
|
144
|
+
/// Creates a pulsing animation where the background color of the element transitions between two colors.
|
|
145
|
+
/// @name animate_pulse_color
|
|
146
|
+
/// @param {Color} $color_start [$animate_base_color_start] - The starting color of the pulse.
|
|
147
|
+
/// @param {Color} $color_end [$animate_base_color_end] - The ending color of the pulse.
|
|
148
|
+
/// @param {Number|String} $duration [$animate_base_duration] - The duration of the pulse animation.
|
|
149
|
+
/// @param {String} $timing_function [ease-in-out] - The timing function for the pulse animation.
|
|
150
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
|
|
151
|
+
///
|
|
152
|
+
@mixin animate_pulse_color(
|
|
153
|
+
$color_start: $animate_base_color_start,
|
|
154
|
+
$color_end: $animate_base_color_end,
|
|
155
|
+
$duration: $animate_base_duration,
|
|
156
|
+
$timing_function: ease-in-out,
|
|
157
|
+
$iteration_count: $animate_base_iteration_count
|
|
158
|
+
) {
|
|
159
|
+
@include animate_base(
|
|
160
|
+
animate_pulse_color,
|
|
161
|
+
$duration,
|
|
162
|
+
$timing_function,
|
|
163
|
+
$iteration_count
|
|
164
|
+
);
|
|
165
|
+
@keyframes animate_pulse_color {
|
|
166
|
+
0%, 100% { background-color: $color_start; }
|
|
167
|
+
50% { background-color: $color_end; }
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
// originally authored by Nick Pettit - https://github.com/nickpettit/glide
|
|
174
|
+
|
|
175
|
+
// @-webkit-keyframes pulse {
|
|
176
|
+
// from {
|
|
177
|
+
// -webkit-transform: scale3d(1, 1, 1);
|
|
178
|
+
// transform: scale3d(1, 1, 1);
|
|
179
|
+
// }
|
|
180
|
+
|
|
181
|
+
// 50% {
|
|
182
|
+
// -webkit-transform: scale3d(1.05, 1.05, 1.05);
|
|
183
|
+
// transform: scale3d(1.05, 1.05, 1.05);
|
|
184
|
+
// }
|
|
185
|
+
|
|
186
|
+
// 100% {
|
|
187
|
+
// -webkit-transform: scale3d(1, 1, 1);
|
|
188
|
+
// transform: scale3d(1, 1, 1);
|
|
189
|
+
// }
|
|
190
|
+
// }
|
|
191
|
+
|
|
192
|
+
// @keyframes pulse {
|
|
193
|
+
// from {
|
|
194
|
+
// -webkit-transform: scale3d(1, 1, 1);
|
|
195
|
+
// transform: scale3d(1, 1, 1);
|
|
196
|
+
// }
|
|
197
|
+
|
|
198
|
+
// 50% {
|
|
199
|
+
// -webkit-transform: scale3d(1.05, 1.05, 1.05);
|
|
200
|
+
// transform: scale3d(1.05, 1.05, 1.05);
|
|
201
|
+
// }
|
|
202
|
+
|
|
203
|
+
// 100% {
|
|
204
|
+
// -webkit-transform: scale3d(1, 1, 1);
|
|
205
|
+
// transform: scale3d(1, 1, 1);
|
|
206
|
+
// }
|
|
207
|
+
// }
|
|
208
|
+
|
|
209
|
+
// .pulse {
|
|
210
|
+
// -webkit-animation-name: pulse;
|
|
211
|
+
// animation-name: pulse;
|
|
212
|
+
// }
|
|
213
|
+
|