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,177 @@
1
+ // ============================================================================
2
+ // Poster
3
+ // ============================================================================
4
+
5
+ ////
6
+ ///
7
+ /// Flash 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
+ /// Flash Animation
40
+ /// Creates a flash animation that transitions between different opacity
41
+ /// levels.
42
+ ///
43
+ /// @name animate_flash
44
+ /// @param {Number} $start_opacity [1] - The initial opacity of the element.
45
+ /// @param {Number} $mid_opacity [0] - The opacity at the midpoint of the animation.
46
+ /// @param {Number} $end_opacity [1] - The final opacity of the element.
47
+ /// @param {Number|String} $duration [$animate_base_duration] - The duration of the animation.
48
+ /// @param {String} $timing_function [ease-in-out] - The timing function to use for the animation.
49
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of times the animation should run.
50
+ ///
51
+ @mixin animate_flash(
52
+ $start_opacity: 1,
53
+ $mid_opacity: 0,
54
+ $end_opacity: 1,
55
+ $duration: $animate_base_duration,
56
+ $timing_function: ease-in-out,
57
+ $iteration_count: $animate_base_iteration_count
58
+ ) {
59
+ @include animate_base(
60
+ animate_flash,
61
+ $duration,
62
+ $timing_function,
63
+ $iteration_count,
64
+ );
65
+ @keyframes animate_flash {
66
+ 0%, 100% { opacity: $start-opacity; }
67
+ 50% { opacity: $mid-opacity; }
68
+ }
69
+ }
70
+
71
+
72
+ ///
73
+ /// Flash Fade In and Out
74
+ /// Creates a flash fade effect that smoothly transitions in and out of view.
75
+ ///
76
+ /// @name animate_flash_fade
77
+ /// @param {Number|String} $duration [2s] - The duration of the animation.
78
+ /// @param {String} $timing_function [ease-in-out] - The timing function to use for the animation.
79
+ ///
80
+ @mixin animate_flash_fade(
81
+ $duration: 2s,
82
+ $timing_function: ease-in-out
83
+ ) {
84
+ @include animate_base(
85
+ animate_flash_fade,
86
+ $duration,
87
+ $timing_function, infinite
88
+ );
89
+ @keyframes animate_flash_fade {
90
+ 0%, 100% { opacity: 0; }
91
+ 50% { opacity: 1; }
92
+ }
93
+ }
94
+
95
+
96
+ ///
97
+ /// Strobe Flash Animation
98
+ /// Creates a strobe flash effect with a configurable frequency.
99
+ ///
100
+ /// @name animate_flash_strobe
101
+ /// @param {Number|String} $frequency [0.1s] - The frequency of the strobe effect.
102
+ /// @param {Number|String} $duration [$animate_base_duration] - The duration of the animation.
103
+ /// @param {String} $timing_function [steps(1, end)] - The timing function to use for the animation.
104
+ ///
105
+ @mixin animate_flash_strobe(
106
+ $frequency: 0.1s,
107
+ $duration: $animate_base_duration,
108
+ $timing_function: steps(1, end)
109
+ ) {
110
+ @include animate_base(
111
+ animate_flash_strobe,
112
+ $duration,
113
+ $timing_function,
114
+ infinite
115
+ );
116
+ @keyframes animate_flash_strobe {
117
+ 0%, 100% { opacity: 1; }
118
+ 50% { opacity: 0; }
119
+ }
120
+ animation-duration: $frequency;
121
+ }
122
+
123
+
124
+ ///
125
+ /// Slow Fade Flash
126
+ /// ---------------------------------------------------------------------------
127
+ /// Creates a slow fading flash effect, fading in and out of view.
128
+ ///
129
+ /// @name animate_flash_fade_slow
130
+ /// @param {Number|String} $duration [$animate_base_duration_slow] - The duration of the animation.
131
+ /// @param {String} $timing_function [ease-in-out] - The timing function to use for the animation.
132
+ ///
133
+ @mixin animate_flash_fade_slow(
134
+ $duration: $animate_base_duration_slow,
135
+ $timing_function: ease-in-out
136
+ ) {
137
+ @include animate_base(
138
+ animate_flash_fade_slow,
139
+ $duration,
140
+ $timing_function,
141
+ infinite
142
+ );
143
+ @keyframes animate_flash_fade_slow {
144
+ 0%, 100% { opacity: 1; }
145
+ 50% { opacity: 0; }
146
+ }
147
+ }
148
+
149
+
150
+
151
+
152
+
153
+ // @-webkit-keyframes flash {
154
+ // from, 50%, 100% {
155
+ // opacity: 1;
156
+ // }
157
+
158
+ // 25%, 75% {
159
+ // opacity: 0;
160
+ // }
161
+ // }
162
+
163
+ // @keyframes flash {
164
+ // from, 50%, 100% {
165
+ // opacity: 1;
166
+ // }
167
+
168
+ // 25%, 75% {
169
+ // opacity: 0;
170
+ // }
171
+ // }
172
+
173
+ // .flash {
174
+ // -webkit-animation-name: flash;
175
+ // animation-name: flash;
176
+ // }
177
+
@@ -0,0 +1,72 @@
1
+ // ============================================================================
2
+ // Poster
3
+ // ============================================================================
4
+
5
+ ////
6
+ ///
7
+ /// Flip 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
+ /// Flip Animation
40
+ /// Creates a flip animation that rotates an element around a 3D axis.
41
+ ///
42
+ /// @name animate_flip
43
+ /// @param {Number|String} $duration [$animate_base_duration] - The duration of the flip animation.
44
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the flip animation.
45
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
46
+ /// @param {Number} $rotate_x [0] - The X-axis rotation factor.
47
+ /// @param {Number} $rotate_y [1] - The Y-axis rotation factor.
48
+ /// @param {Number} $rotate_z [0] - The Z-axis rotation factor.
49
+ /// @param {Number|String} $rotate_start-angle [0] - The starting angle of rotation.
50
+ /// @param {Number|String} $rotate_end-angle [360deg] - The ending angle of rotation.
51
+ ///
52
+ @mixin animate_flip(
53
+ $duration: $animate_base_duration,
54
+ $timing_function: ease-in-out,
55
+ $iteration_count: $animate_base_iteration_count,
56
+ $rotate_x: 0,
57
+ $rotate_y: 1,
58
+ $rotate_z: 0,
59
+ $rotate_start-angle: 0,
60
+ $rotate_end-angle: 360deg
61
+ ) {
62
+ @include animate_base(
63
+ animate_flip,
64
+ $duration,
65
+ $timing_function,
66
+ $iteration_count,
67
+ );
68
+ @keyframes animate_flip {
69
+ 0% { transform: rotate3d($rotate_x, $rotate_y, $rotate_z, $rotate_start-angle); }
70
+ 100% { transform: rotate3d($rotate_x, $rotate_y, $rotate_z, $rotate_end-angle); }
71
+ }
72
+ }
@@ -0,0 +1,126 @@
1
+ // ============================================================================
2
+ // Poster
3
+ // ============================================================================
4
+
5
+ ////
6
+ ///
7
+ /// Float 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
+ /// Float Animation
40
+ /// Creates a floating animation where the element moves up and down smoothly.
41
+ ///
42
+ /// @name animate_float
43
+ /// @param {Number|String} $start_position [0] - The starting position of the float animation.
44
+ /// @param {Number|String} $mid_position [10px] - The mid-position of the float animation.
45
+ /// @param {Number|String} $end_position [0] - The ending position of the float animation.
46
+ /// @param {Number|String} $duration [$animate_base_duration_slow] - The duration of the float animation.
47
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the float animation.
48
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
49
+ ///
50
+ @mixin animate_float(
51
+ $start_position: 0,
52
+ $mid_position: 10px,
53
+ $end_position: 0,
54
+ $duration: $animate_base_duration_slow,
55
+ $timing_function: ease-in-out,
56
+ $iteration_count: $animate_base_iteration_count
57
+ ) {
58
+ @include animate_base(
59
+ animate_float,
60
+ $duration,
61
+ $timing_function,
62
+ $iteration_count,
63
+ );
64
+ @keyframes animate_float {
65
+ 0%, 100% { transform: translateY($start_position); }
66
+ 50% { transform: translateY($mid_position); }
67
+ }
68
+ }
69
+
70
+ ///
71
+ /// Float with Horizontal Movement
72
+ /// Creates a floating animation where the element moves horizontally.
73
+ ///
74
+ /// @name animate_float_horizontal
75
+ /// @param {Number|String} $horizontal-distance [10px] - The distance the element moves horizontally.
76
+ /// @param {Number|String} $duration [$animate_base_duration_slow] - The duration of the float animation.
77
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the float animation.
78
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
79
+ ///
80
+ @mixin animate_float_horizontal(
81
+ $horizontal-distance: 10px,
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_float_horizontal,
88
+ $duration,
89
+ $timing_function,
90
+ $iteration_count,
91
+ );
92
+ @keyframes animate_float_horizontal {
93
+ 0%, 100% { transform: translateX(0); }
94
+ 50% { transform: translateX($horizontal-distance); }
95
+ }
96
+ }
97
+
98
+
99
+ ///
100
+ /// Float with Rotation
101
+ /// Creates a floating animation where the element moves up and down with a
102
+ /// rotation.
103
+ ///
104
+ /// @name animate_float_rotate
105
+ /// @param {Number|String} $rotation_angle [15deg] - The angle of rotation during the float animation.
106
+ /// @param {Number|String} $duration [$animate_base_duration_slow] - The duration of the float animation.
107
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the float animation.
108
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
109
+ ///
110
+ @mixin animate_float_rotate(
111
+ $rotation_angle: 15deg,
112
+ $duration: $animate_base_duration_slow,
113
+ $timing_function: ease-in-out,
114
+ $iteration_count: $animate_base_iteration_count
115
+ ) {
116
+ @include animate_base(
117
+ animate_float_rotate,
118
+ $duration,
119
+ $timing_function,
120
+ $iteration_count,
121
+ );
122
+ @keyframes animate_float_rotate {
123
+ 0%, 100% { transform: translateY(0) rotate(0); }
124
+ 50% { transform: translateY(-10px) rotate($rotation_angle); }
125
+ }
126
+ }
@@ -0,0 +1,179 @@
1
+ // ============================================================================
2
+ // Poster
3
+ // ============================================================================
4
+
5
+ ////
6
+ ///
7
+ /// Glow 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 "sass:math";
28
+ @use "../dev" as *;
29
+ @use "../variables" as *;
30
+ @use "../keyframes" as *;
31
+ @use "base" as *;
32
+
33
+
34
+ // ============================================================================
35
+ // Mixins
36
+ // ============================================================================
37
+
38
+
39
+
40
+
41
+
42
+ ///
43
+ /// Glow Animation
44
+ /// Creates a glowing effect by animating the box shadow of the element.
45
+ /// @name animate_glow
46
+ /// @param {Color} $color [$animate_base_color_glow_01] - The color of the glow.
47
+ /// @param {Number|String} $start-shadow_size [5px] - The initial size of the shadow.
48
+ /// @param {Number|String} $end-shadow_size [15px] - The maximum size of the shadow.
49
+ /// @param {Number|String} $duration [$animate_base_duration] - The duration of the glow animation.
50
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the glow animation.
51
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
52
+ ///
53
+ @mixin animate_glow(
54
+ $color: $animate_base_color_glow_01,
55
+ $start-shadow_size: 5px,
56
+ $end-shadow_size: 15px,
57
+ $duration: $animate_base_duration,
58
+ $timing_function: ease-in-out,
59
+ $iteration_count: $animate_base_iteration_count
60
+ ) {
61
+ @include animate_base(
62
+ animate_glow,
63
+ $duration,
64
+ $timing_function,
65
+ $iteration_count,
66
+ );
67
+ @keyframes animate_glow {
68
+ 0%, 100% { box-shadow: 0 0 $start-shadow-size 0 $color; }
69
+ 50% { box-shadow: 0 0 $end-shadow-size 5px $color; }
70
+ }
71
+ }
72
+
73
+
74
+ // Pulse Glow Animation
75
+ // ----------------------------------------------------------------------------
76
+
77
+ ///
78
+ /// Pulse Glow Animation
79
+ /// Creates a pulsing glow effect where the glow size changes over time.
80
+ /// @name animate_glow_pulse
81
+ /// @param {Color} $color [$animate_base_color_glow_01] - The color of the glow.
82
+ /// @param {Number|String} $duration [$animate_base_duration] - The duration of the glow animation.
83
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the glow animation.
84
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
85
+ ///
86
+ @mixin animate_glow_pulse(
87
+ $color: $animate_base_color_glow_01,
88
+ $duration: $animate_base_duration,
89
+ $timing_function: ease-in-out,
90
+ $iteration_count: $animate_base_iteration_count
91
+ ) {
92
+ @include animate_base(
93
+ animate_glow_pulse,
94
+ $duration,
95
+ $timing_function,
96
+ $iteration_count,
97
+ );
98
+ @keyframes animate_glow_pulse {
99
+ 0%, 100% { box-shadow: 0 0 10px -5px $color; }
100
+ 50% { box-shadow: 0 0 20px 0 $color; }
101
+ }
102
+ }
103
+
104
+
105
+ // Soft Glow Animation
106
+ // ----------------------------------------------------------------------------
107
+
108
+ ///
109
+ /// Soft Glow Animation
110
+ /// Creates a soft glow effect with a slower and subtler animation.
111
+ /// @name animate_glow_soft
112
+ /// @param {Color} $color [$animate_base_color_glow_01] - The color of the glow.
113
+ /// @param {Number|String} $duration [$animate_base_duration_slow] - The duration of the glow animation.
114
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the glow animation.
115
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
116
+ ///
117
+ @mixin animate_glow_soft(
118
+ $color: $animate_base_color_glow_01,
119
+ $duration: $animate_base_duration_slow,
120
+ $timing_function: ease-in-out,
121
+ $iteration_count: $animate_base_iteration_count
122
+ ) {
123
+ @include animate_base(
124
+ animate_glow_soft,
125
+ $duration,
126
+ $timing_function,
127
+ $iteration_count,
128
+ );
129
+ @keyframes animate_glow_soft {
130
+ 0%, 100% { box-shadow: 0 0 10px 0 rgba($color, 0.5); }
131
+ 50% { box-shadow: 0 0 20px 5px rgba($color, 0.8); }
132
+ }
133
+ }
134
+
135
+ .animate_glow_soft {
136
+ @include animate_glow_soft($animate_base_color_glow_01);
137
+ }
138
+
139
+ // Multi-Color Glow Animation
140
+ // ----------------------------------------------------------------------------
141
+
142
+
143
+ ///
144
+ /// Multi-Color Glow Animation
145
+ /// Creates a glow animation that cycles through multiple colors.
146
+ /// @name animate_glow_multicolor
147
+ /// @param {List} $colors [($animate_base_color_glow_01, $animate_base_color_glow_02, $animate_base_color_glow_03)] - A list of colors for the glow animation.
148
+ /// @param {Number|String} $duration [$animate_base_duration_slow] - The duration of the glow animation.
149
+ /// @param {String} $timing_function [linear] - The timing function for the glow animation.
150
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
151
+ ///
152
+ @mixin animate_glow_multicolor(
153
+ $colors: (
154
+ $animate_base_color_glow_01,
155
+ $animate_base_color_glow_02,
156
+ $animate_base_color_glow_03,
157
+ ),
158
+ $duration: $animate_base_duration_slow,
159
+ $timing_function: linear,
160
+ $iteration_count: $animate_base_iteration_count
161
+ ) {
162
+ @include animate_base(
163
+ animate_glow_multicolor,
164
+ $duration,
165
+ $timing_function,
166
+ $iteration_count,
167
+ );
168
+ $total_colors: length($colors);
169
+ @keyframes animate_glow_multicolor {
170
+ @for $i from 1 through $total_colors {
171
+ // #{percentage(($i - 1) / $total_colors)},
172
+ // #{percentage($i / $total_colors)} {
173
+ #{percentage(math.div(($i - 1), $total_colors))},
174
+ #{percentage(math.div($i, $total-colors))} {
175
+ box-shadow: 0 0 10px 5px nth($colors, $i);
176
+ }
177
+ }
178
+ }
179
+ }