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,428 @@
1
+ // ============================================================================
2
+ // Poster
3
+ // ============================================================================
4
+
5
+ ////
6
+ ///
7
+ /// Rotate 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
+ // @-webkit-keyframes rotateIn {
41
+ // from {
42
+ // -webkit-transform-origin: center;
43
+ // transform-origin: center;
44
+ // -webkit-transform: rotate3d(0, 0, 1, -200deg);
45
+ // transform: rotate3d(0, 0, 1, -200deg);
46
+ // opacity: 0;
47
+ // }
48
+
49
+ // 100% {
50
+ // -webkit-transform-origin: center;
51
+ // transform-origin: center;
52
+ // -webkit-transform: none;
53
+ // transform: none;
54
+ // opacity: 1;
55
+ // }
56
+ // }
57
+
58
+ // @keyframes rotateIn {
59
+ // from {
60
+ // -webkit-transform-origin: center;
61
+ // transform-origin: center;
62
+ // -webkit-transform: rotate3d(0, 0, 1, -200deg);
63
+ // transform: rotate3d(0, 0, 1, -200deg);
64
+ // opacity: 0;
65
+ // }
66
+
67
+ // 100% {
68
+ // -webkit-transform-origin: center;
69
+ // transform-origin: center;
70
+ // -webkit-transform: none;
71
+ // transform: none;
72
+ // opacity: 1;
73
+ // }
74
+ // }
75
+
76
+ // .rotateIn {
77
+ // -webkit-animation-name: rotateIn;
78
+ // animation-name: rotateIn;
79
+ // }
80
+
81
+ // @-webkit-keyframes rotateInDownLeft {
82
+ // from {
83
+ // -webkit-transform-origin: left bottom;
84
+ // transform-origin: left bottom;
85
+ // -webkit-transform: rotate3d(0, 0, 1, -45deg);
86
+ // transform: rotate3d(0, 0, 1, -45deg);
87
+ // opacity: 0;
88
+ // }
89
+
90
+ // 100% {
91
+ // -webkit-transform-origin: left bottom;
92
+ // transform-origin: left bottom;
93
+ // -webkit-transform: none;
94
+ // transform: none;
95
+ // opacity: 1;
96
+ // }
97
+ // }
98
+
99
+ // @keyframes rotateInDownLeft {
100
+ // from {
101
+ // -webkit-transform-origin: left bottom;
102
+ // transform-origin: left bottom;
103
+ // -webkit-transform: rotate3d(0, 0, 1, -45deg);
104
+ // transform: rotate3d(0, 0, 1, -45deg);
105
+ // opacity: 0;
106
+ // }
107
+
108
+ // 100% {
109
+ // -webkit-transform-origin: left bottom;
110
+ // transform-origin: left bottom;
111
+ // -webkit-transform: none;
112
+ // transform: none;
113
+ // opacity: 1;
114
+ // }
115
+ // }
116
+
117
+ // .rotateInDownLeft {
118
+ // -webkit-animation-name: rotateInDownLeft;
119
+ // animation-name: rotateInDownLeft;
120
+ // }
121
+
122
+ // @-webkit-keyframes rotateInDownRight {
123
+ // from {
124
+ // -webkit-transform-origin: right bottom;
125
+ // transform-origin: right bottom;
126
+ // -webkit-transform: rotate3d(0, 0, 1, 45deg);
127
+ // transform: rotate3d(0, 0, 1, 45deg);
128
+ // opacity: 0;
129
+ // }
130
+
131
+ // 100% {
132
+ // -webkit-transform-origin: right bottom;
133
+ // transform-origin: right bottom;
134
+ // -webkit-transform: none;
135
+ // transform: none;
136
+ // opacity: 1;
137
+ // }
138
+ // }
139
+
140
+ // @keyframes rotateInDownRight {
141
+ // from {
142
+ // -webkit-transform-origin: right bottom;
143
+ // transform-origin: right bottom;
144
+ // -webkit-transform: rotate3d(0, 0, 1, 45deg);
145
+ // transform: rotate3d(0, 0, 1, 45deg);
146
+ // opacity: 0;
147
+ // }
148
+
149
+ // 100% {
150
+ // -webkit-transform-origin: right bottom;
151
+ // transform-origin: right bottom;
152
+ // -webkit-transform: none;
153
+ // transform: none;
154
+ // opacity: 1;
155
+ // }
156
+ // }
157
+
158
+ // .rotateInDownRight {
159
+ // -webkit-animation-name: rotateInDownRight;
160
+ // animation-name: rotateInDownRight;
161
+ // }
162
+
163
+ // @-webkit-keyframes rotateInUpLeft {
164
+ // from {
165
+ // -webkit-transform-origin: left bottom;
166
+ // transform-origin: left bottom;
167
+ // -webkit-transform: rotate3d(0, 0, 1, 45deg);
168
+ // transform: rotate3d(0, 0, 1, 45deg);
169
+ // opacity: 0;
170
+ // }
171
+
172
+ // 100% {
173
+ // -webkit-transform-origin: left bottom;
174
+ // transform-origin: left bottom;
175
+ // -webkit-transform: none;
176
+ // transform: none;
177
+ // opacity: 1;
178
+ // }
179
+ // }
180
+
181
+ // @keyframes rotateInUpLeft {
182
+ // from {
183
+ // -webkit-transform-origin: left bottom;
184
+ // transform-origin: left bottom;
185
+ // -webkit-transform: rotate3d(0, 0, 1, 45deg);
186
+ // transform: rotate3d(0, 0, 1, 45deg);
187
+ // opacity: 0;
188
+ // }
189
+
190
+ // 100% {
191
+ // -webkit-transform-origin: left bottom;
192
+ // transform-origin: left bottom;
193
+ // -webkit-transform: none;
194
+ // transform: none;
195
+ // opacity: 1;
196
+ // }
197
+ // }
198
+
199
+ // .rotateInUpLeft {
200
+ // -webkit-animation-name: rotateInUpLeft;
201
+ // animation-name: rotateInUpLeft;
202
+ // }
203
+
204
+ // @-webkit-keyframes rotateInUpRight {
205
+ // from {
206
+ // -webkit-transform-origin: right bottom;
207
+ // transform-origin: right bottom;
208
+ // -webkit-transform: rotate3d(0, 0, 1, -90deg);
209
+ // transform: rotate3d(0, 0, 1, -90deg);
210
+ // opacity: 0;
211
+ // }
212
+
213
+ // 100% {
214
+ // -webkit-transform-origin: right bottom;
215
+ // transform-origin: right bottom;
216
+ // -webkit-transform: none;
217
+ // transform: none;
218
+ // opacity: 1;
219
+ // }
220
+ // }
221
+
222
+ // @keyframes rotateInUpRight {
223
+ // from {
224
+ // -webkit-transform-origin: right bottom;
225
+ // transform-origin: right bottom;
226
+ // -webkit-transform: rotate3d(0, 0, 1, -90deg);
227
+ // transform: rotate3d(0, 0, 1, -90deg);
228
+ // opacity: 0;
229
+ // }
230
+
231
+ // 100% {
232
+ // -webkit-transform-origin: right bottom;
233
+ // transform-origin: right bottom;
234
+ // -webkit-transform: none;
235
+ // transform: none;
236
+ // opacity: 1;
237
+ // }
238
+ // }
239
+
240
+ // .rotateInUpRight {
241
+ // -webkit-animation-name: rotateInUpRight;
242
+ // animation-name: rotateInUpRight;
243
+ // }
244
+
245
+ // @-webkit-keyframes rotateOut {
246
+ // from {
247
+ // -webkit-transform-origin: center;
248
+ // transform-origin: center;
249
+ // opacity: 1;
250
+ // }
251
+
252
+ // 100% {
253
+ // -webkit-transform-origin: center;
254
+ // transform-origin: center;
255
+ // -webkit-transform: rotate3d(0, 0, 1, 200deg);
256
+ // transform: rotate3d(0, 0, 1, 200deg);
257
+ // opacity: 0;
258
+ // }
259
+ // }
260
+
261
+ // @keyframes rotateOut {
262
+ // from {
263
+ // -webkit-transform-origin: center;
264
+ // transform-origin: center;
265
+ // opacity: 1;
266
+ // }
267
+
268
+ // 100% {
269
+ // -webkit-transform-origin: center;
270
+ // transform-origin: center;
271
+ // -webkit-transform: rotate3d(0, 0, 1, 200deg);
272
+ // transform: rotate3d(0, 0, 1, 200deg);
273
+ // opacity: 0;
274
+ // }
275
+ // }
276
+
277
+ // .rotateOut {
278
+ // -webkit-animation-name: rotateOut;
279
+ // animation-name: rotateOut;
280
+ // }
281
+
282
+ // @-webkit-keyframes rotateOutDownLeft {
283
+ // from {
284
+ // -webkit-transform-origin: left bottom;
285
+ // transform-origin: left bottom;
286
+ // opacity: 1;
287
+ // }
288
+
289
+ // 100% {
290
+ // -webkit-transform-origin: left bottom;
291
+ // transform-origin: left bottom;
292
+ // -webkit-transform: rotate3d(0, 0, 1, 45deg);
293
+ // transform: rotate3d(0, 0, 1, 45deg);
294
+ // opacity: 0;
295
+ // }
296
+ // }
297
+
298
+ // @keyframes rotateOutDownLeft {
299
+ // from {
300
+ // -webkit-transform-origin: left bottom;
301
+ // transform-origin: left bottom;
302
+ // opacity: 1;
303
+ // }
304
+
305
+ // 100% {
306
+ // -webkit-transform-origin: left bottom;
307
+ // transform-origin: left bottom;
308
+ // -webkit-transform: rotate3d(0, 0, 1, 45deg);
309
+ // transform: rotate3d(0, 0, 1, 45deg);
310
+ // opacity: 0;
311
+ // }
312
+ // }
313
+
314
+ // .rotateOutDownLeft {
315
+ // -webkit-animation-name: rotateOutDownLeft;
316
+ // animation-name: rotateOutDownLeft;
317
+ // }
318
+
319
+ // @-webkit-keyframes rotateOutDownRight {
320
+ // from {
321
+ // -webkit-transform-origin: right bottom;
322
+ // transform-origin: right bottom;
323
+ // opacity: 1;
324
+ // }
325
+
326
+ // 100% {
327
+ // -webkit-transform-origin: right bottom;
328
+ // transform-origin: right bottom;
329
+ // -webkit-transform: rotate3d(0, 0, 1, -45deg);
330
+ // transform: rotate3d(0, 0, 1, -45deg);
331
+ // opacity: 0;
332
+ // }
333
+ // }
334
+
335
+ // @keyframes rotateOutDownRight {
336
+ // from {
337
+ // -webkit-transform-origin: right bottom;
338
+ // transform-origin: right bottom;
339
+ // opacity: 1;
340
+ // }
341
+
342
+ // 100% {
343
+ // -webkit-transform-origin: right bottom;
344
+ // transform-origin: right bottom;
345
+ // -webkit-transform: rotate3d(0, 0, 1, -45deg);
346
+ // transform: rotate3d(0, 0, 1, -45deg);
347
+ // opacity: 0;
348
+ // }
349
+ // }
350
+
351
+ // .rotateOutDownRight {
352
+ // -webkit-animation-name: rotateOutDownRight;
353
+ // animation-name: rotateOutDownRight;
354
+ // }
355
+
356
+ // @-webkit-keyframes rotateOutUpLeft {
357
+ // from {
358
+ // -webkit-transform-origin: left bottom;
359
+ // transform-origin: left bottom;
360
+ // opacity: 1;
361
+ // }
362
+
363
+ // 100% {
364
+ // -webkit-transform-origin: left bottom;
365
+ // transform-origin: left bottom;
366
+ // -webkit-transform: rotate3d(0, 0, 1, -45deg);
367
+ // transform: rotate3d(0, 0, 1, -45deg);
368
+ // opacity: 0;
369
+ // }
370
+ // }
371
+
372
+ // @keyframes rotateOutUpLeft {
373
+ // from {
374
+ // -webkit-transform-origin: left bottom;
375
+ // transform-origin: left bottom;
376
+ // opacity: 1;
377
+ // }
378
+
379
+ // 100% {
380
+ // -webkit-transform-origin: left bottom;
381
+ // transform-origin: left bottom;
382
+ // -webkit-transform: rotate3d(0, 0, 1, -45deg);
383
+ // transform: rotate3d(0, 0, 1, -45deg);
384
+ // opacity: 0;
385
+ // }
386
+ // }
387
+
388
+ // .rotateOutUpLeft {
389
+ // -webkit-animation-name: rotateOutUpLeft;
390
+ // animation-name: rotateOutUpLeft;
391
+ // }
392
+
393
+ // @-webkit-keyframes rotateOutUpRight {
394
+ // from {
395
+ // -webkit-transform-origin: right bottom;
396
+ // transform-origin: right bottom;
397
+ // opacity: 1;
398
+ // }
399
+
400
+ // 100% {
401
+ // -webkit-transform-origin: right bottom;
402
+ // transform-origin: right bottom;
403
+ // -webkit-transform: rotate3d(0, 0, 1, 90deg);
404
+ // transform: rotate3d(0, 0, 1, 90deg);
405
+ // opacity: 0;
406
+ // }
407
+ // }
408
+
409
+ // @keyframes rotateOutUpRight {
410
+ // from {
411
+ // -webkit-transform-origin: right bottom;
412
+ // transform-origin: right bottom;
413
+ // opacity: 1;
414
+ // }
415
+
416
+ // 100% {
417
+ // -webkit-transform-origin: right bottom;
418
+ // transform-origin: right bottom;
419
+ // -webkit-transform: rotate3d(0, 0, 1, 90deg);
420
+ // transform: rotate3d(0, 0, 1, 90deg);
421
+ // opacity: 0;
422
+ // }
423
+ // }
424
+
425
+ // .rotateOutUpRight {
426
+ // -webkit-animation-name: rotateOutUpRight;
427
+ // animation-name: rotateOutUpRight;
428
+ // }
@@ -0,0 +1,116 @@
1
+ // ============================================================================
2
+ // Poster
3
+ // ============================================================================
4
+
5
+ ////
6
+ ///
7
+ /// Rubber 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
+ // @-webkit-keyframes rubberBand {
40
+ // from {
41
+ // -webkit-transform: scale3d(1, 1, 1);
42
+ // transform: scale3d(1, 1, 1);
43
+ // }
44
+
45
+ // 30% {
46
+ // -webkit-transform: scale3d(1.25, 0.75, 1);
47
+ // transform: scale3d(1.25, 0.75, 1);
48
+ // }
49
+
50
+ // 40% {
51
+ // -webkit-transform: scale3d(0.75, 1.25, 1);
52
+ // transform: scale3d(0.75, 1.25, 1);
53
+ // }
54
+
55
+ // 50% {
56
+ // -webkit-transform: scale3d(1.15, 0.85, 1);
57
+ // transform: scale3d(1.15, 0.85, 1);
58
+ // }
59
+
60
+ // 65% {
61
+ // -webkit-transform: scale3d(.95, 1.05, 1);
62
+ // transform: scale3d(.95, 1.05, 1);
63
+ // }
64
+
65
+ // 75% {
66
+ // -webkit-transform: scale3d(1.05, .95, 1);
67
+ // transform: scale3d(1.05, .95, 1);
68
+ // }
69
+
70
+ // 100% {
71
+ // -webkit-transform: scale3d(1, 1, 1);
72
+ // transform: scale3d(1, 1, 1);
73
+ // }
74
+ // }
75
+
76
+ // @keyframes rubberBand {
77
+ // from {
78
+ // -webkit-transform: scale3d(1, 1, 1);
79
+ // transform: scale3d(1, 1, 1);
80
+ // }
81
+
82
+ // 30% {
83
+ // -webkit-transform: scale3d(1.25, 0.75, 1);
84
+ // transform: scale3d(1.25, 0.75, 1);
85
+ // }
86
+
87
+ // 40% {
88
+ // -webkit-transform: scale3d(0.75, 1.25, 1);
89
+ // transform: scale3d(0.75, 1.25, 1);
90
+ // }
91
+
92
+ // 50% {
93
+ // -webkit-transform: scale3d(1.15, 0.85, 1);
94
+ // transform: scale3d(1.15, 0.85, 1);
95
+ // }
96
+
97
+ // 65% {
98
+ // -webkit-transform: scale3d(.95, 1.05, 1);
99
+ // transform: scale3d(.95, 1.05, 1);
100
+ // }
101
+
102
+ // 75% {
103
+ // -webkit-transform: scale3d(1.05, .95, 1);
104
+ // transform: scale3d(1.05, .95, 1);
105
+ // }
106
+
107
+ // 100% {
108
+ // -webkit-transform: scale3d(1, 1, 1);
109
+ // transform: scale3d(1, 1, 1);
110
+ // }
111
+ // }
112
+
113
+ // .rubberBand {
114
+ // -webkit-animation-name: rubberBand;
115
+ // animation-name: rubberBand;
116
+ // }
@@ -0,0 +1,113 @@
1
+ // ============================================================================
2
+ // Poster
3
+ // ============================================================================
4
+
5
+ ////
6
+ ///
7
+ /// Scale 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
+ /// Expand Animation
40
+ /// Creates an expand animation where the element scales up and down.
41
+ /// @name animate_scale_expand
42
+ /// @param {Number|String} $scale_start [1] - The initial scale of the element.
43
+ /// @param {Number|String} $scale_end [1.2] - The scale of the element at its maximum size.
44
+ /// @param {Number|String} $duration [$animate_base_duration] - The duration of the expand animation.
45
+ /// @param {String} $timing_function [ease-out] - The timing function for the expand animation.
46
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
47
+ ///
48
+ @mixin animate_scale_expand(
49
+ $scale_start: 1,
50
+ $scale_end: 1.2,
51
+ $duration: $animate_base_duration,
52
+ $timing_function: ease-out,
53
+ $iteration_count: $animate_base_iteration_count
54
+ ) {
55
+ @include animate_base(
56
+ animate_scale_expand,
57
+ $duration,
58
+ $timing_function,
59
+ $iteration_count,
60
+ );
61
+ @keyframes animate_scale_expand {
62
+ 0%, 100% { transform: scale($scale_start); }
63
+ 50% { transform: scale($scale_end); }
64
+ }
65
+ }
66
+
67
+
68
+ // // Scale transition
69
+ // .scale-transition {
70
+ // &.scale-out {
71
+ // transform: scale(0);
72
+ // transition: transform .2s !important;
73
+ // }
74
+
75
+ // &.scale-in {
76
+ // transform: scale(1);
77
+ // }
78
+
79
+ // transition: transform .3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;
80
+ // }
81
+
82
+
83
+ // Expand and Shrink Animation
84
+ // ----------------------------------------------------------------------------
85
+
86
+ ///
87
+ /// Expand and Shrink Animation
88
+ /// Creates an animation where the element alternates between expanding and shrinking.
89
+ /// @name animate_scale_shrink
90
+ /// @param {Number|String} $scale_min [0.8] - The minimum scale of the element during the animation.
91
+ /// @param {Number|String} $scale_max [1.2] - The maximum scale of the element during the animation.
92
+ /// @param {Number|String} $duration [$animate_base_duration] - The duration of the expand and shrink animation.
93
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the expand and shrink animation.
94
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
95
+ ///
96
+ @mixin animate_scale_shrink(
97
+ $scale_min: 0.8,
98
+ $scale_max: 1.2,
99
+ $duration: $animate_base_duration,
100
+ $timing_function: ease-in-out,
101
+ $iteration_count: $animate_base_iteration_count
102
+ ) {
103
+ @include animate_base(
104
+ animate_scale_shrink,
105
+ $duration,
106
+ $timing_function,
107
+ $iteration_count,
108
+ );
109
+ @keyframes animate_scale_shrink {
110
+ 0%, 100% { transform: scale($scale_min); }
111
+ 50% { transform: scale($scale_max); }
112
+ }
113
+ }