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,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
+