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.
Files changed (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/css/move.gl.css +2 -0
  4. package/css/move.gl.min.css +2 -0
  5. package/package.json +55 -0
  6. package/scss/classes/_animations.scss +576 -0
  7. package/scss/classes/_index.scss +0 -0
  8. package/scss/classes/_transforms.scss +124 -0
  9. package/scss/classes/keyboard.scss +18 -0
  10. package/scss/classes/screensaver.scss +15 -0
  11. package/scss/dev/_banner.scss +36 -0
  12. package/scss/dev/_debug.scss +18 -0
  13. package/scss/dev/_deprecation.scss +10 -0
  14. package/scss/dev/_index.scss +8 -0
  15. package/scss/dev/_modules.scss +24 -0
  16. package/scss/effects/_filter.scss +176 -0
  17. package/scss/effects/_index.scss +23 -0
  18. package/scss/effects/_opacity.scss +62 -0
  19. package/scss/effects/_shadow.scss +175 -0
  20. package/scss/functions/_index.scss +0 -0
  21. package/scss/functions/scenes/_bubble.scss +19 -0
  22. package/scss/functions/scenes/_index.scss +20 -0
  23. package/scss/index.scss +0 -0
  24. package/scss/keyframes/_beat.scss +26 -0
  25. package/scss/keyframes/_index.scss +0 -0
  26. package/scss/maps/_index.scss +0 -0
  27. package/scss/maps/_mouse.scss +96 -0
  28. package/scss/mixins/_accessibility.scss +70 -0
  29. package/scss/mixins/_boot.scss +51 -0
  30. package/scss/mixins/_hover.scss +51 -0
  31. package/scss/mixins/_index.scss +0 -0
  32. package/scss/mixins/_selection.scss +321 -0
  33. package/scss/mixins/_shape.scss +44 -0
  34. package/scss/mixins/_touch.scss +95 -0
  35. package/scss/mixins/animations/--hover.scss +107 -0
  36. package/scss/mixins/animations/_base.scss +337 -0
  37. package/scss/mixins/animations/_beat.scss +119 -0
  38. package/scss/mixins/animations/_blink.scss +151 -0
  39. package/scss/mixins/animations/_bounce.scss +192 -0
  40. package/scss/mixins/animations/_elastic.scss +65 -0
  41. package/scss/mixins/animations/_fade.scss +154 -0
  42. package/scss/mixins/animations/_flash.scss +177 -0
  43. package/scss/mixins/animations/_flip.scss +72 -0
  44. package/scss/mixins/animations/_float.scss +126 -0
  45. package/scss/mixins/animations/_glow.scss +179 -0
  46. package/scss/mixins/animations/_heartbeat.scss +175 -0
  47. package/scss/mixins/animations/_hinge.scss +119 -0
  48. package/scss/mixins/animations/_index.scss +37 -0
  49. package/scss/mixins/animations/_jello.scss +129 -0
  50. package/scss/mixins/animations/_jiggle.scss +163 -0
  51. package/scss/mixins/animations/_lightspeed.scss +130 -0
  52. package/scss/mixins/animations/_nod.scss +161 -0
  53. package/scss/mixins/animations/_pop.scss +150 -0
  54. package/scss/mixins/animations/_pulse.scss +213 -0
  55. package/scss/mixins/animations/_ripple.scss +169 -0
  56. package/scss/mixins/animations/_roll.scss +261 -0
  57. package/scss/mixins/animations/_rotate.scss +428 -0
  58. package/scss/mixins/animations/_rubber.scss +116 -0
  59. package/scss/mixins/animations/_scale.scss +113 -0
  60. package/scss/mixins/animations/_shake.scss +182 -0
  61. package/scss/mixins/animations/_slide.scss +294 -0
  62. package/scss/mixins/animations/_spin.scss +219 -0
  63. package/scss/mixins/animations/_sway.scss +167 -0
  64. package/scss/mixins/animations/_swing.scss +247 -0
  65. package/scss/mixins/animations/_tada.scss +233 -0
  66. package/scss/mixins/animations/_twist.scss +177 -0
  67. package/scss/mixins/animations/_wave.scss +166 -0
  68. package/scss/mixins/animations/_wobble.scss +254 -0
  69. package/scss/mixins/animations/_zoom.scss +166 -0
  70. package/scss/mixins/effects/_filter.scss +148 -0
  71. package/scss/mixins/effects/_index.scss +0 -0
  72. package/scss/mixins/effects/_shadow.scss +21 -0
  73. package/scss/mixins/loaders/_index.scss +0 -0
  74. package/scss/mixins/loaders/_progress.scss +174 -0
  75. package/scss/mixins/loaders/_spinner.scss +101 -0
  76. package/scss/mixins/loaders/circle_01.scss +22 -0
  77. package/scss/mixins/loaders/circle_02.scss +19 -0
  78. package/scss/mixins/loaders/circle_03.scss +29 -0
  79. package/scss/mixins/loaders/circle_inner_01.scss +33 -0
  80. package/scss/mixins/loaders/circle_inner_02.scss +33 -0
  81. package/scss/mixins/loaders/circle_inner_03.scss +34 -0
  82. package/scss/mixins/mouse/_cursor.scss +182 -0
  83. package/scss/mixins/mouse/_index.scss +0 -0
  84. package/scss/mixins/mouse/_pointer.scss +258 -0
  85. package/scss/mixins/scroll/_index.scss +0 -0
  86. package/scss/mixins/scroll/_scroll.scss +104 -0
  87. package/scss/mixins/scroll/_scrollbar.scss +249 -0
  88. package/scss/mixins/transforms/_flip.scss +76 -0
  89. package/scss/mixins/transforms/_index.scss +23 -0
  90. package/scss/mixins/transforms/_matrix.scss +1 -0
  91. package/scss/mixins/transforms/_perspective.scss +11 -0
  92. package/scss/mixins/transforms/_rotate.scss +101 -0
  93. package/scss/mixins/transforms/_scale.scss +11 -0
  94. package/scss/mixins/transforms/_skew.scss +13 -0
  95. package/scss/mixins/transforms/_translate.scss +13 -0
  96. package/scss/mixins/transitions/_index.scss +0 -0
  97. package/scss/mixins/transitions/_transition.scss +13 -0
  98. package/scss/variables/_animation.scss +91 -0
  99. package/scss/variables/_index.scss +0 -0
  100. package/ts/ARContent.ts +27 -0
  101. package/ts/ARInteraction.ts +34 -0
  102. package/ts/AdaptiveUI.ts +25 -0
  103. package/ts/ContentStreaming.ts +20 -0
  104. package/ts/Draggable.ts +71 -0
  105. package/ts/DynamicEnvironment.ts +60 -0
  106. package/ts/Gesture.ts +168 -0
  107. package/ts/ImmersiveAudio.ts +40 -0
  108. package/ts/InteractiveCanvas.ts +177 -0
  109. package/ts/InteractiveVideo.ts +29 -0
  110. package/ts/Keyboard.ts +162 -0
  111. package/ts/RealTimeCollaboration.ts +25 -0
  112. package/ts/Screensaver.ts +140 -0
  113. package/ts/SpatialNavigation.ts +38 -0
  114. package/ts/UserProfile.ts +27 -0
  115. package/ts/VRExperience.ts +58 -0
  116. package/ts/VideoOverlay.ts +116 -0
  117. package/ts/index.ts +0 -0
@@ -0,0 +1,167 @@
1
+ // ============================================================================
2
+ // Poster
3
+ // ============================================================================
4
+
5
+ ////
6
+ ///
7
+ /// Sway 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
+ /// Sway Animation
42
+ /// Creates a swaying motion animation.
43
+ /// @name animate_sway
44
+ /// @param {Angle} $angle [5deg] - The maximum angle to sway.
45
+ /// @param {Duration} $duration [$animate_base_duration/// 2] - The duration of the sway animation.
46
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the sway animation.
47
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
48
+ ///
49
+ @mixin animate_sway(
50
+ $angle: 5deg,
51
+ $duration: $animate_base_duration * 2,
52
+ $timing_function: ease-in-out,
53
+ $iteration_count: $animate_base_iteration_count
54
+ ) {
55
+ @include animate_base(
56
+ animate_sway,
57
+ $duration,
58
+ $timing_function,
59
+ $iteration_count,
60
+ );
61
+ @keyframes animate_sway {
62
+ 0%, 100% { transform: rotate(0deg); }
63
+ 50% { transform: rotate($angle); }
64
+ }
65
+ }
66
+
67
+
68
+
69
+ // Gentle Sway Animation
70
+ // ----------------------------------------------------------------------------
71
+
72
+ ///
73
+ /// Gentle Sway Animation
74
+ /// Creates a slower, more subtle swaying motion.
75
+ /// @name animate_sway_slow
76
+ /// @param {Angle} $angle [3deg] - The maximum angle to sway.
77
+ /// @param {Duration} $duration [$animate_base_duration_slow/// 2] - The duration of the sway animation.
78
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the sway animation.
79
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
80
+ ///
81
+ @mixin animate_sway_slow(
82
+ $angle: 3deg,
83
+ $duration: $animate_base_duration_slow * 2,
84
+ $timing_function: ease-in-out,
85
+ $iteration_count: $animate_base_iteration_count
86
+ ) {
87
+ @include animate_base(
88
+ animate_sway_slow,
89
+ $duration,
90
+ $timing_function,
91
+ $iteration_count,
92
+ );
93
+ @keyframes animate_sway_slow {
94
+ 0%, 100% { transform: rotate(0deg); }
95
+ 50% { transform: rotate($angle); }
96
+ }
97
+ }
98
+
99
+
100
+
101
+ // Rapid Sway Animation
102
+ // ----------------------------------------------------------------------------
103
+
104
+ ///
105
+ /// Rapid Sway Animation
106
+ /// Creates a faster and more exaggerated swaying motion.
107
+ /// @name animate_sway_fast
108
+ /// @param {Angle} $angle [10deg] - The maximum angle to sway.
109
+ /// @param {Duration} $duration [$animate_base_duration_fast/// 2] - The duration of the sway animation.
110
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the sway animation.
111
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
112
+ ///
113
+ @mixin animate_sway_fast(
114
+ $angle: 10deg,
115
+ $duration: $animate_base_duration_fast * 2,
116
+ $timing_function: ease-in-out,
117
+ $iteration_count: $animate_base_iteration_count
118
+ ) {
119
+ @include animate_base(
120
+ animate_sway_fast,
121
+ $duration,
122
+ $timing_function,
123
+ $iteration_count,
124
+ );
125
+ @keyframes animate_sway_fast {
126
+ 0%, 100% { transform: rotate(0deg); }
127
+ 50% { transform: rotate($angle); }
128
+ }
129
+ }
130
+
131
+
132
+
133
+ // Sway with Fade Animation
134
+ // ----------------------------------------------------------------------------
135
+
136
+ ///
137
+ /// Sway with Fade Animation
138
+ /// Creates a swaying motion with a fading effect.
139
+ /// @name animate_sway_fade
140
+ /// @param {Angle} $angle [5deg] - The maximum angle to sway.
141
+ /// @param {Duration} $duration [$animate_base_duration/// 2] - The duration of the sway animation.
142
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the sway animation.
143
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
144
+ ///
145
+ @mixin animate_sway_fade(
146
+ $angle: 5deg,
147
+ $duration: $animate_base_duration * 2,
148
+ $timing_function: ease-in-out,
149
+ $iteration_count: $animate_base_iteration_count
150
+ ) {
151
+ @include animate_base(
152
+ animate_sway_fade,
153
+ $duration,
154
+ $timing_function,
155
+ $iteration_count,
156
+ );
157
+ @keyframes animate_sway_fade {
158
+ 0%, 100% {
159
+ transform: rotate(0deg);
160
+ opacity: 1;
161
+ }
162
+ 50% {
163
+ transform: rotate($angle);
164
+ opacity: 0.5;
165
+ }
166
+ }
167
+ }
@@ -0,0 +1,247 @@
1
+ // ============================================================================
2
+ // Poster
3
+ // ============================================================================
4
+
5
+ ////
6
+ ///
7
+ /// Swing 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
+ // Swing Animation
41
+ // ----------------------------------------------------------------------------
42
+
43
+ ///
44
+ /// Swing Animation
45
+ /// Creates a swinging motion animation.
46
+ /// @name animate_swing
47
+ /// @param {Angle} $angle [15deg] - The maximum angle to swing.
48
+ /// @param {Duration} $duration [$animate_base_duration] - The duration of the swing animation.
49
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the swing animation.
50
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
51
+ ///
52
+ @mixin animate_swing(
53
+ $angle: 15deg,
54
+ $duration: $animate_base_duration,
55
+ $timing_function: ease-in-out,
56
+ $iteration_count: $animate_base_iteration_count
57
+ ) {
58
+ @include animate_base(
59
+ animate_swing,
60
+ $duration,
61
+ $timing_function,
62
+ $iteration_count,
63
+ );
64
+ @keyframes animate_swing {
65
+ 0%, 100% { transform: rotate(0deg); }
66
+ 50% { transform: rotate($angle); }
67
+ }
68
+ }
69
+
70
+ .animate_swing {
71
+ @include animate_swing(15deg);
72
+ }
73
+
74
+
75
+ // Gentle Swing Animation
76
+ // ----------------------------------------------------------------------------
77
+ ///
78
+ /// Gentle Swing Animation
79
+ /// Creates a slower, more subtle swinging motion.
80
+ /// @name animate_swing_slow
81
+ /// @param {Angle} $angle [10deg] - The maximum angle to swing.
82
+ /// @param {Duration} $duration [$animate_base_duration_slow] - The duration of the swing animation.
83
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the swing animation.
84
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
85
+ ///
86
+ @mixin animate_swing_slow(
87
+ $angle: 10deg,
88
+ $duration: $animate_base_duration_slow,
89
+ $timing_function: ease-in-out,
90
+ $iteration_count: $animate_base_iteration_count
91
+ ) {
92
+ @include animate_base(
93
+ animate_swing_slow,
94
+ $duration,
95
+ $timing_function,
96
+ $iteration_count,
97
+ );
98
+ @keyframes animate_swing_slow {
99
+ 0%, 100% { transform: rotate(0deg); }
100
+ 50% { transform: rotate($angle); }
101
+ }
102
+ }
103
+
104
+ .animate_swing_slow {
105
+ @include animate_swing_slow();
106
+ }
107
+
108
+
109
+ // Rapid Swing Animation
110
+ // ----------------------------------------------------------------------------
111
+
112
+
113
+ ///
114
+ /// Rapid Swing Animation
115
+ /// Creates a faster and more exaggerated swinging motion.
116
+ /// @name animate_swing_fast
117
+ /// @param {Angle} $angle [20deg] - The maximum angle to swing.
118
+ /// @param {Duration} $duration [$animate_base_duration_fast] - The duration of the swing animation.
119
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the swing animation.
120
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
121
+ ///
122
+ @mixin animate_swing_fast(
123
+ $angle: 20deg,
124
+ $duration: $animate_base_duration_fast,
125
+ $timing_function: ease-in-out,
126
+ $iteration_count: $animate_base_iteration_count
127
+ ) {
128
+ @include animate_base(
129
+ animate_swing_fast,
130
+ $duration,
131
+ $timing_function,
132
+ $iteration_count,
133
+ );
134
+ @keyframes animate_swing_fast {
135
+ 0%, 100% { transform: rotate(0deg); }
136
+ 50% { transform: rotate($angle); }
137
+ }
138
+ }
139
+
140
+ .animate_swing_fast {
141
+ @include animate_swing_fast();
142
+ }
143
+
144
+
145
+ // Swing with Fade Animation
146
+ // ----------------------------------------------------------------------------
147
+
148
+
149
+ ///
150
+ /// Swing with Fade Animation
151
+ /// Creates a swinging motion with a fading effect.
152
+ /// @name animate_swing_fade
153
+ /// @param {Angle} $angle [15deg] - The maximum angle to swing.
154
+ /// @param {Duration} $duration [$animate_base_duration] - The duration of the swing animation.
155
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the swing animation.
156
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
157
+ ///
158
+ @mixin animate_swing_fade(
159
+ $angle: 15deg,
160
+ $duration: $animate_base_duration,
161
+ $timing_function: ease-in-out,
162
+ $iteration_count: $animate_base_iteration_count
163
+ ) {
164
+ @include animate_base(
165
+ animate_swing_fade,
166
+ $duration,
167
+ $timing_function,
168
+ $iteration_count,
169
+ );
170
+ @keyframes animate_swing_fade {
171
+ 0%, 100% {
172
+ transform: rotate(0deg);
173
+ opacity: 1;
174
+ }
175
+ 50% {
176
+ transform: rotate($angle);
177
+ opacity: 0.5;
178
+ }
179
+ }
180
+ }
181
+
182
+ .animate_swing_fade {
183
+ @include animate_swing_fade();
184
+ }
185
+
186
+
187
+
188
+ // @-webkit-keyframes swing {
189
+ // 20% {
190
+ // -webkit-transform: rotate3d(0, 0, 1, 15deg);
191
+ // transform: rotate3d(0, 0, 1, 15deg);
192
+ // }
193
+
194
+ // 40% {
195
+ // -webkit-transform: rotate3d(0, 0, 1, -10deg);
196
+ // transform: rotate3d(0, 0, 1, -10deg);
197
+ // }
198
+
199
+ // 60% {
200
+ // -webkit-transform: rotate3d(0, 0, 1, 5deg);
201
+ // transform: rotate3d(0, 0, 1, 5deg);
202
+ // }
203
+
204
+ // 80% {
205
+ // -webkit-transform: rotate3d(0, 0, 1, -5deg);
206
+ // transform: rotate3d(0, 0, 1, -5deg);
207
+ // }
208
+
209
+ // 100% {
210
+ // -webkit-transform: rotate3d(0, 0, 1, 0deg);
211
+ // transform: rotate3d(0, 0, 1, 0deg);
212
+ // }
213
+ // }
214
+
215
+ // @keyframes swing {
216
+ // 20% {
217
+ // -webkit-transform: rotate3d(0, 0, 1, 15deg);
218
+ // transform: rotate3d(0, 0, 1, 15deg);
219
+ // }
220
+
221
+ // 40% {
222
+ // -webkit-transform: rotate3d(0, 0, 1, -10deg);
223
+ // transform: rotate3d(0, 0, 1, -10deg);
224
+ // }
225
+
226
+ // 60% {
227
+ // -webkit-transform: rotate3d(0, 0, 1, 5deg);
228
+ // transform: rotate3d(0, 0, 1, 5deg);
229
+ // }
230
+
231
+ // 80% {
232
+ // -webkit-transform: rotate3d(0, 0, 1, -5deg);
233
+ // transform: rotate3d(0, 0, 1, -5deg);
234
+ // }
235
+
236
+ // 100% {
237
+ // -webkit-transform: rotate3d(0, 0, 1, 0deg);
238
+ // transform: rotate3d(0, 0, 1, 0deg);
239
+ // }
240
+ // }
241
+
242
+ // .swing {
243
+ // -webkit-transform-origin: top center;
244
+ // transform-origin: top center;
245
+ // -webkit-animation-name: swing;
246
+ // animation-name: swing;
247
+ // }
@@ -0,0 +1,233 @@
1
+ // ============================================================================
2
+ // Poster
3
+ // ============================================================================
4
+
5
+ ////
6
+ ///
7
+ /// Tada 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
+ /// Tada Animation
40
+ /// Creates a "tada" effect with scaling and rotating.
41
+ ///
42
+ /// @name animate_tada
43
+ /// @param {Number} $scale [1.1] - The scale factor for the animation.
44
+ /// @param {Duration} $duration [$animate_base_duration/// 2] - The duration of the animation.
45
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the animation.
46
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
47
+ ///
48
+ @mixin animate_tada(
49
+ $scale: 1.1,
50
+ $duration: $animate_base_duration * 2,
51
+ $timing_function: ease-in-out,
52
+ $iteration_count: $animate_base_iteration_count
53
+ ) {
54
+ @include animate_base(
55
+ animate_tada,
56
+ $duration,
57
+ $timing_function,
58
+ $iteration_count,
59
+ );
60
+ @keyframes animate_tada {
61
+ 0%, 100% { transform: scale(1); }
62
+ 10%, 20% { transform: scale(0.9) rotate(-3deg); }
63
+ 30%, 50%, 70%, 90% { transform: scale($scale) rotate(3deg); }
64
+ 40%, 60%, 80% { transform: scale($scale) rotate(-3deg); }
65
+ }
66
+ }
67
+
68
+
69
+
70
+
71
+ // Gentle Tada Animation
72
+ // ----------------------------------------------------------------------------
73
+
74
+ ///
75
+ /// Gentle Tada Animation
76
+ /// A more subtle version of the Tada animation.
77
+ /// @name animate_tada_slow
78
+ /// @param {Number} $scale [1.05] - The scale factor for the animation.
79
+ /// @param {Duration} $duration [$animate_base_duration_slow/// 2] - The duration of the animation.
80
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the animation.
81
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
82
+ ///
83
+ @mixin animate_tada_slow(
84
+ $scale: 1.05,
85
+ $duration: $animate_base_duration_slow * 2,
86
+ $timing_function: ease-in-out,
87
+ $iteration_count: $animate_base_iteration_count
88
+ ) {
89
+ @include animate_base(
90
+ animate_tada_slow,
91
+ $duration,
92
+ $timing_function,
93
+ $iteration_count,
94
+ );
95
+ @keyframes animate_tada_slow {
96
+ 0%, 100% { transform: scale(1); }
97
+ 10%, 20% { transform: scale(0.95) rotate(-2deg); }
98
+ 30%, 50%, 70%, 90% { transform: scale($scale) rotate(2deg); }
99
+ 40%, 60%, 80% { transform: scale($scale) rotate(-2deg); }
100
+ }
101
+ }
102
+
103
+
104
+
105
+ // Rapid Tada Animation
106
+ // ----------------------------------------------------------------------------
107
+
108
+ ///
109
+ /// Rapid Tada Animation
110
+ /// A faster and more exaggerated version of the Tada animation.
111
+ /// @name animate_tada_fast
112
+ /// @param {Number} $scale [1.15] - The scale factor for the animation.
113
+ /// @param {Duration} $duration [$animate_base_duration] - The duration of the animation.
114
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the animation.
115
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
116
+ ///
117
+ @mixin animate_tada_fast(
118
+ $scale: 1.15,
119
+ $duration: $animate_base_duration,
120
+ $timing_function: ease-in-out,
121
+ $iteration_count: $animate_base_iteration_count
122
+ ) {
123
+ @include animate_base(
124
+ animate_tada_fast,
125
+ $duration,
126
+ $timing_function,
127
+ $iteration_count,
128
+ );
129
+ @keyframes animate_tada_fast {
130
+ 0%, 100% { transform: scale(1); }
131
+ 10%, 20% { transform: scale(0.85) rotate(-4deg); }
132
+ 30%, 50%, 70%, 90% { transform: scale($scale) rotate(4deg); }
133
+ 40%, 60%, 80% { transform: scale($scale) rotate(-4deg); }
134
+ }
135
+ }
136
+
137
+
138
+ // Tada with Fade Animation
139
+ // ----------------------------------------------------------------------------
140
+
141
+ ///
142
+ /// Tada with Fade Animation
143
+ /// Adds a fading effect to the Tada animation.
144
+ /// @name animate_tada_fade
145
+ /// @param {Number} $scale [1.1] - The scale factor for the animation.
146
+ /// @param {Duration} $duration [$animate_base_duration/// 2] - The duration of the animation.
147
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the animation.
148
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
149
+ ///
150
+ @mixin animate_tada_fade(
151
+ $scale: 1.1,
152
+ $duration: $animate_base_duration * 2,
153
+ $timing_function: ease-in-out,
154
+ $iteration_count: $animate_base_iteration_count
155
+ ) {
156
+ @include animate_base(
157
+ animate_tada_fade,
158
+ $duration,
159
+ $timing_function,
160
+ $iteration_count,
161
+ );
162
+ @keyframes animate_tada_fade {
163
+ 0%, 100% {
164
+ transform: scale(1);
165
+ opacity: 1;
166
+ }
167
+ 50% {
168
+ transform: scale($scale) rotate(3deg);
169
+ opacity: 0.5;
170
+ }
171
+ }
172
+ }
173
+
174
+
175
+
176
+ // @-webkit-keyframes tada {
177
+ // from {
178
+ // -webkit-transform: scale3d(1, 1, 1);
179
+ // transform: scale3d(1, 1, 1);
180
+ // }
181
+
182
+ // 10%, 20% {
183
+ // -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
184
+ // transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
185
+ // }
186
+
187
+ // 30%, 50%, 70%, 90% {
188
+ // -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
189
+ // transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
190
+ // }
191
+
192
+ // 40%, 60%, 80% {
193
+ // -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
194
+ // transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
195
+ // }
196
+
197
+ // 100% {
198
+ // -webkit-transform: scale3d(1, 1, 1);
199
+ // transform: scale3d(1, 1, 1);
200
+ // }
201
+ // }
202
+
203
+ // @keyframes tada {
204
+ // from {
205
+ // -webkit-transform: scale3d(1, 1, 1);
206
+ // transform: scale3d(1, 1, 1);
207
+ // }
208
+
209
+ // 10%, 20% {
210
+ // -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
211
+ // transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
212
+ // }
213
+
214
+ // 30%, 50%, 70%, 90% {
215
+ // -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
216
+ // transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
217
+ // }
218
+
219
+ // 40%, 60%, 80% {
220
+ // -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
221
+ // transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
222
+ // }
223
+
224
+ // 100% {
225
+ // -webkit-transform: scale3d(1, 1, 1);
226
+ // transform: scale3d(1, 1, 1);
227
+ // }
228
+ // }
229
+
230
+ // .tada {
231
+ // -webkit-animation-name: tada;
232
+ // animation-name: tada;
233
+ // }