move.gl 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +185 -11
- package/dist/LICENSE +21 -0
- package/dist/README.md +212 -0
- package/dist/css/move.gl.css +43859 -0
- package/dist/css/move.gl.min.css +19 -0
- package/dist/js/index.cjs +1171 -0
- package/dist/js/index.cjs.map +1 -0
- package/dist/js/index.d.cts +184 -0
- package/dist/js/index.d.ts +184 -0
- package/dist/js/index.mjs +1135 -0
- package/dist/js/index.mjs.map +1 -0
- package/dist/package.json +68 -0
- package/{scss → dist/scss}/classes/_animations.scss +33 -14
- package/dist/scss/classes/_controls.scss +314 -0
- package/dist/scss/classes/_effects.scss +283 -0
- package/dist/scss/classes/_index.scss +28 -0
- package/dist/scss/classes/_loaders.scss +779 -0
- package/dist/scss/classes/_transforms.scss +138 -0
- package/dist/scss/classes/_transitions.scss +264 -0
- package/{scss → dist/scss}/dev/_deprecation.scss +6 -3
- package/{scss → dist/scss}/dev/_modules.scss +5 -6
- package/dist/scss/docs.scss +2344 -0
- package/dist/scss/docs.scss.bak +3133 -0
- package/dist/scss/functions/_index.scss +22 -0
- package/dist/scss/functions/scenes/_bubble.scss +32 -0
- package/dist/scss/functions/scenes/_index.scss +21 -0
- package/dist/scss/index.scss +17 -0
- package/dist/scss/maps/_controls.scss +85 -0
- package/dist/scss/maps/_index.scss +22 -0
- package/{scss → dist/scss}/mixins/_accessibility.scss +24 -3
- package/{scss → dist/scss}/mixins/_boot.scss +4 -4
- package/dist/scss/mixins/_index.scss +41 -0
- package/dist/scss/mixins/_screensaver.scss +228 -0
- package/dist/scss/mixins/_shape.scss +315 -0
- package/dist/scss/mixins/animations/_base.scss +403 -0
- package/dist/scss/mixins/animations/_beat.scss +137 -0
- package/{scss → dist/scss}/mixins/animations/_blink.scss +60 -52
- package/dist/scss/mixins/animations/_bounce.scss +306 -0
- package/{scss → dist/scss}/mixins/animations/_elastic.scss +26 -22
- package/dist/scss/mixins/animations/_fade.scss +393 -0
- package/{scss → dist/scss}/mixins/animations/_flash.scss +53 -61
- package/dist/scss/mixins/animations/_flip.scss +251 -0
- package/{scss → dist/scss}/mixins/animations/_float.scss +47 -32
- package/{scss → dist/scss}/mixins/animations/_glow.scss +69 -58
- package/dist/scss/mixins/animations/_heartbeat.scss +195 -0
- package/dist/scss/mixins/animations/_hinge.scss +118 -0
- package/dist/scss/mixins/animations/_index.scss +97 -0
- package/dist/scss/mixins/animations/_jello.scss +123 -0
- package/dist/scss/mixins/animations/_jiggle.scss +162 -0
- package/dist/scss/mixins/animations/_lightspeed.scss +135 -0
- package/{scss → dist/scss}/mixins/animations/_nod.scss +57 -65
- package/dist/scss/mixins/animations/_pop.scss +153 -0
- package/dist/scss/mixins/animations/_pulse.scss +275 -0
- package/{scss → dist/scss}/mixins/animations/_ripple.scss +47 -55
- package/dist/scss/mixins/animations/_roll.scss +217 -0
- package/dist/scss/mixins/animations/_rotate.scss +728 -0
- package/dist/scss/mixins/animations/_rubber.scss +115 -0
- package/dist/scss/mixins/animations/_scale.scss +382 -0
- package/dist/scss/mixins/animations/_shake.scss +233 -0
- package/dist/scss/mixins/animations/_slide.scss +501 -0
- package/dist/scss/mixins/animations/_spin.scss +322 -0
- package/{scss → dist/scss}/mixins/animations/_sway.scss +32 -49
- package/{scss → dist/scss}/mixins/animations/_swing.scss +47 -49
- package/{scss → dist/scss}/mixins/animations/_tada.scss +44 -42
- package/{scss → dist/scss}/mixins/animations/_twist.scss +40 -55
- package/{scss → dist/scss}/mixins/animations/_wave.scss +36 -53
- package/dist/scss/mixins/animations/_wobble.scss +283 -0
- package/dist/scss/mixins/animations/_zoom.scss +394 -0
- package/{scss/mixins/mouse → dist/scss/mixins/controls}/_cursor.scss +60 -39
- package/dist/scss/mixins/controls/_hover.scss +625 -0
- package/dist/scss/mixins/controls/_index.scss +30 -0
- package/dist/scss/mixins/controls/_keyboard.scss +300 -0
- package/{scss/mixins/mouse → dist/scss/mixins/controls}/_pointer.scss +81 -72
- package/dist/scss/mixins/controls/_scroll.scss +460 -0
- package/{scss/mixins/scroll → dist/scss/mixins/controls}/_scrollbar.scss +50 -16
- package/dist/scss/mixins/controls/_selection.scss +208 -0
- package/dist/scss/mixins/controls/_touch.scss +401 -0
- package/dist/scss/mixins/effects/_blend.scss +128 -0
- package/dist/scss/mixins/effects/_filter.scss +470 -0
- package/dist/scss/mixins/effects/_focus.scss +83 -0
- package/dist/scss/mixins/effects/_gradient.scss +130 -0
- package/dist/scss/mixins/effects/_index.scss +28 -0
- package/dist/scss/mixins/effects/_mask.scss +76 -0
- package/dist/scss/mixins/effects/_opacity.scss +376 -0
- package/dist/scss/mixins/effects/_shadow.scss +429 -0
- package/dist/scss/mixins/keyframes/_base.scss +199 -0
- package/dist/scss/mixins/keyframes/_index.scss +24 -0
- package/dist/scss/mixins/keyframes/animations/_beat.scss +280 -0
- package/dist/scss/mixins/keyframes/animations/_blink.scss +82 -0
- package/dist/scss/mixins/keyframes/animations/_bounce.scss +292 -0
- package/dist/scss/mixins/keyframes/animations/_fade.scss +311 -0
- package/dist/scss/mixins/keyframes/animations/_flash.scss +165 -0
- package/dist/scss/mixins/keyframes/animations/_flip.scss +266 -0
- package/{scss/mixins → dist/scss/mixins/keyframes}/animations/_index.scss +19 -10
- package/dist/scss/mixins/keyframes/animations/_jiggle.scss +85 -0
- package/dist/scss/mixins/keyframes/animations/_lightspeed.scss +73 -0
- package/dist/scss/mixins/keyframes/animations/_nod.scss +79 -0
- package/dist/scss/mixins/keyframes/animations/_pop.scss +78 -0
- package/dist/scss/mixins/keyframes/animations/_pulse.scss +225 -0
- package/dist/scss/mixins/keyframes/animations/_ripple.scss +94 -0
- package/dist/scss/mixins/keyframes/animations/_roll.scss +124 -0
- package/dist/scss/mixins/keyframes/animations/_rotate.scss +360 -0
- package/dist/scss/mixins/keyframes/animations/_rubber.scss +81 -0
- package/dist/scss/mixins/keyframes/animations/_scale.scss +308 -0
- package/dist/scss/mixins/keyframes/animations/_shake.scss +270 -0
- package/dist/scss/mixins/keyframes/animations/_slide.scss +345 -0
- package/dist/scss/mixins/keyframes/animations/_spin.scss +270 -0
- package/dist/scss/mixins/keyframes/animations/_sway.scss +83 -0
- package/dist/scss/mixins/keyframes/animations/_twist.scss +89 -0
- package/dist/scss/mixins/keyframes/animations/_wave.scss +90 -0
- package/dist/scss/mixins/keyframes/animations/_wobble.scss +293 -0
- package/dist/scss/mixins/keyframes/animations/_zoom.scss +345 -0
- package/dist/scss/mixins/loaders/_bars.scss +128 -0
- package/dist/scss/mixins/loaders/_base.scss +39 -0
- package/dist/scss/mixins/loaders/_bubble.scss +395 -0
- package/dist/scss/mixins/loaders/_circle.scss +456 -0
- package/dist/scss/mixins/loaders/_dots.scss +248 -0
- package/dist/scss/mixins/loaders/_graph.scss +542 -0
- package/dist/scss/mixins/loaders/_index.scss +77 -0
- package/dist/scss/mixins/loaders/_line.scss +471 -0
- package/dist/scss/mixins/loaders/_objects.scss +563 -0
- package/dist/scss/mixins/loaders/_progress.scss +477 -0
- package/dist/scss/mixins/loaders/_rect.scss +480 -0
- package/dist/scss/mixins/loaders/_rings.scss +377 -0
- package/dist/scss/mixins/loaders/_skeleton.scss +461 -0
- package/dist/scss/mixins/loaders/_special.scss +611 -0
- package/dist/scss/mixins/loaders/_spinner.scss +175 -0
- package/dist/scss/mixins/loaders/_text.scss +446 -0
- package/{scss → dist/scss}/mixins/transforms/_flip.scss +16 -18
- package/dist/scss/mixins/transforms/_index.scss +28 -0
- package/dist/scss/mixins/transforms/_matrix.scss +18 -0
- package/{scss → dist/scss}/mixins/transforms/_perspective.scss +18 -1
- package/{scss → dist/scss}/mixins/transforms/_rotate.scss +9 -14
- package/{scss → dist/scss}/mixins/transforms/_scale.scss +16 -1
- package/{scss → dist/scss}/mixins/transforms/_skew.scss +16 -2
- package/{scss → dist/scss}/mixins/transforms/_translate.scss +16 -2
- package/dist/scss/mixins/transitions/_index.scss +22 -0
- package/dist/scss/mixins/transitions/_transition.scss +43 -0
- package/dist/scss/variables/_animations.scss +300 -0
- package/dist/scss/variables/_controls.scss +178 -0
- package/dist/scss/variables/_effects.scss +87 -0
- package/dist/scss/variables/_index.scss +27 -0
- package/dist/scss/variables/_keyframes.scss +28 -0
- package/dist/scss/variables/_loaders.scss +75 -0
- package/dist/scss/variables/_transforms.scss +85 -0
- package/dist/scss/variables/_transitions.scss +80 -0
- package/dist/ts/Draggable.ts +143 -0
- package/dist/ts/Gesture.ts +226 -0
- package/dist/ts/Keyboard.ts +195 -0
- package/dist/ts/LoaderManager.ts +662 -0
- package/dist/ts/Screensaver.ts +192 -0
- package/dist/ts/VideoOverlay.ts +205 -0
- package/dist/ts/demo.ts +1108 -0
- package/dist/ts/index.ts +58 -0
- package/package.json +90 -53
- package/src/html/_base.html +138 -0
- package/src/html/base.html +147 -0
- package/src/html/core-concepts.html +282 -0
- package/src/html/demo_base.html +171 -0
- package/src/html/demo_draggable.html +250 -0
- package/src/html/demo_gesture.html +264 -0
- package/src/html/demo_keyboard.html +224 -0
- package/src/html/demo_screensaver.html +258 -0
- package/src/html/demo_video_overlay.html +291 -0
- package/src/html/getting-started.html +242 -0
- package/src/html/index.html +400 -0
- package/src/html/keyboard.html +14 -0
- package/src/html/partials/_demo_links.html +21 -0
- package/src/html/partials/_footer.html +18 -0
- package/src/html/partials/_head.html +21 -0
- package/src/html/partials/_nav.html +84 -0
- package/src/html/partials/_theme_toggle.html +11 -0
- package/src/html/screensaver.html +20 -0
- package/src/html/test_animations.html +813 -0
- package/src/html/test_attention.html +281 -0
- package/src/html/test_bounce.html +201 -0
- package/src/html/test_effects.html +1348 -0
- package/src/html/test_fade.html +213 -0
- package/src/html/test_flip.html +208 -0
- package/src/html/test_keyframes.html +415 -0
- package/src/html/test_loaders.html +1489 -0
- package/src/html/test_mouse.html +516 -0
- package/src/html/test_overview.html +1444 -0
- package/src/html/test_pulse.html +212 -0
- package/src/html/test_scale.html +204 -0
- package/src/html/test_shake.html +232 -0
- package/src/html/test_slide.html +212 -0
- package/src/html/test_special.html +257 -0
- package/src/html/test_spin.html +216 -0
- package/src/html/test_transforms.html +332 -0
- package/src/html/test_transitions.html +245 -0
- package/src/html/test_zoom.html +188 -0
- package/src/html/video_overlay.html +27 -0
- package/src/jinja/_base.html.jinja +50 -0
- package/src/jinja/base.html.jinja +48 -0
- package/src/jinja/core-concepts.html.jinja +148 -0
- package/src/jinja/demo_draggable.html.jinja +114 -0
- package/src/jinja/demo_gesture.html.jinja +128 -0
- package/src/jinja/demo_keyboard.html.jinja +88 -0
- package/src/jinja/demo_screensaver.html.jinja +122 -0
- package/src/jinja/demo_video_overlay.html.jinja +155 -0
- package/src/jinja/getting-started.html.jinja +108 -0
- package/src/jinja/index.html.jinja +268 -0
- package/src/jinja/index.json +5 -0
- package/src/jinja/move.gl.css +7741 -0
- package/src/jinja/partials/_code_block.html.jinja +17 -0
- package/src/jinja/partials/_demo_links.html.jinja +41 -0
- package/src/jinja/partials/_feature_card.html.jinja +20 -0
- package/src/jinja/partials/_footer.html.jinja +22 -0
- package/src/jinja/partials/_head.html.jinja +27 -0
- package/src/jinja/partials/_nav.html.jinja +79 -0
- package/src/jinja/partials/_theme_toggle.html.jinja +15 -0
- package/src/jinja/test_animations.html.jinja +679 -0
- package/src/jinja/test_attention.html.jinja +147 -0
- package/src/jinja/test_bounce.html.jinja +67 -0
- package/src/jinja/test_effects.html.jinja +1218 -0
- package/src/jinja/test_fade.html.jinja +79 -0
- package/src/jinja/test_flip.html.jinja +74 -0
- package/src/jinja/test_keyframes.html.jinja +281 -0
- package/src/jinja/test_loaders.html.jinja +1358 -0
- package/src/jinja/test_mouse.html.jinja +382 -0
- package/src/jinja/test_overview.html.jinja +1313 -0
- package/src/jinja/test_pulse.html.jinja +78 -0
- package/src/jinja/test_scale.html.jinja +70 -0
- package/src/jinja/test_shake.html.jinja +98 -0
- package/src/jinja/test_slide.html.jinja +78 -0
- package/src/jinja/test_special.html.jinja +123 -0
- package/src/jinja/test_spin.html.jinja +82 -0
- package/src/jinja/test_transforms.html.jinja +198 -0
- package/src/jinja/test_transitions.html.jinja +111 -0
- package/src/jinja/test_zoom.html.jinja +54 -0
- package/src/scss/classes/_animations.scss +595 -0
- package/src/scss/classes/_controls.scss +314 -0
- package/src/scss/classes/_effects.scss +283 -0
- package/src/scss/classes/_index.scss +28 -0
- package/src/scss/classes/_loaders.scss +779 -0
- package/src/scss/classes/_transforms.scss +138 -0
- package/src/scss/classes/_transitions.scss +264 -0
- package/src/scss/dev/_banner.scss +36 -0
- package/src/scss/dev/_debug.scss +18 -0
- package/src/scss/dev/_deprecation.scss +13 -0
- package/src/scss/dev/_index.scss +8 -0
- package/src/scss/dev/_modules.scss +23 -0
- package/src/scss/docs.scss +2344 -0
- package/src/scss/docs.scss.bak +3133 -0
- package/src/scss/functions/_index.scss +22 -0
- package/src/scss/functions/scenes/_bubble.scss +32 -0
- package/src/scss/functions/scenes/_index.scss +21 -0
- package/src/scss/index.scss +17 -0
- package/src/scss/maps/_controls.scss +85 -0
- package/src/scss/maps/_index.scss +22 -0
- package/src/scss/mixins/_accessibility.scss +91 -0
- package/src/scss/mixins/_boot.scss +51 -0
- package/src/scss/mixins/_index.scss +41 -0
- package/src/scss/mixins/_screensaver.scss +228 -0
- package/src/scss/mixins/_shape.scss +315 -0
- package/src/scss/mixins/animations/_base.scss +403 -0
- package/src/scss/mixins/animations/_beat.scss +137 -0
- package/src/scss/mixins/animations/_blink.scss +159 -0
- package/src/scss/mixins/animations/_bounce.scss +306 -0
- package/src/scss/mixins/animations/_elastic.scss +69 -0
- package/src/scss/mixins/animations/_fade.scss +393 -0
- package/src/scss/mixins/animations/_flash.scss +169 -0
- package/src/scss/mixins/animations/_flip.scss +251 -0
- package/src/scss/mixins/animations/_float.scss +141 -0
- package/src/scss/mixins/animations/_glow.scss +190 -0
- package/src/scss/mixins/animations/_heartbeat.scss +195 -0
- package/src/scss/mixins/animations/_hinge.scss +118 -0
- package/src/scss/mixins/animations/_index.scss +97 -0
- package/src/scss/mixins/animations/_jello.scss +123 -0
- package/src/scss/mixins/animations/_jiggle.scss +162 -0
- package/src/scss/mixins/animations/_lightspeed.scss +135 -0
- package/src/scss/mixins/animations/_nod.scss +153 -0
- package/src/scss/mixins/animations/_pop.scss +153 -0
- package/src/scss/mixins/animations/_pulse.scss +275 -0
- package/src/scss/mixins/animations/_ripple.scss +161 -0
- package/src/scss/mixins/animations/_roll.scss +217 -0
- package/src/scss/mixins/animations/_rotate.scss +728 -0
- package/src/scss/mixins/animations/_rubber.scss +115 -0
- package/src/scss/mixins/animations/_scale.scss +382 -0
- package/src/scss/mixins/animations/_shake.scss +233 -0
- package/src/scss/mixins/animations/_slide.scss +501 -0
- package/src/scss/mixins/animations/_spin.scss +322 -0
- package/src/scss/mixins/animations/_sway.scss +150 -0
- package/src/scss/mixins/animations/_swing.scss +245 -0
- package/src/scss/mixins/animations/_tada.scss +235 -0
- package/src/scss/mixins/animations/_twist.scss +162 -0
- package/src/scss/mixins/animations/_wave.scss +149 -0
- package/src/scss/mixins/animations/_wobble.scss +283 -0
- package/src/scss/mixins/animations/_zoom.scss +394 -0
- package/src/scss/mixins/controls/_cursor.scss +203 -0
- package/src/scss/mixins/controls/_hover.scss +625 -0
- package/src/scss/mixins/controls/_index.scss +30 -0
- package/src/scss/mixins/controls/_keyboard.scss +300 -0
- package/src/scss/mixins/controls/_pointer.scss +267 -0
- package/src/scss/mixins/controls/_scroll.scss +460 -0
- package/src/scss/mixins/controls/_scrollbar.scss +283 -0
- package/src/scss/mixins/controls/_selection.scss +208 -0
- package/src/scss/mixins/controls/_touch.scss +401 -0
- package/src/scss/mixins/effects/_blend.scss +128 -0
- package/src/scss/mixins/effects/_filter.scss +470 -0
- package/src/scss/mixins/effects/_focus.scss +83 -0
- package/src/scss/mixins/effects/_gradient.scss +130 -0
- package/src/scss/mixins/effects/_index.scss +28 -0
- package/src/scss/mixins/effects/_mask.scss +76 -0
- package/src/scss/mixins/effects/_opacity.scss +376 -0
- package/src/scss/mixins/effects/_shadow.scss +429 -0
- package/src/scss/mixins/keyframes/_base.scss +199 -0
- package/src/scss/mixins/keyframes/_index.scss +24 -0
- package/src/scss/mixins/keyframes/animations/_beat.scss +280 -0
- package/src/scss/mixins/keyframes/animations/_blink.scss +82 -0
- package/src/scss/mixins/keyframes/animations/_bounce.scss +292 -0
- package/src/scss/mixins/keyframes/animations/_fade.scss +311 -0
- package/src/scss/mixins/keyframes/animations/_flash.scss +165 -0
- package/src/scss/mixins/keyframes/animations/_flip.scss +266 -0
- package/src/scss/mixins/keyframes/animations/_index.scss +46 -0
- package/src/scss/mixins/keyframes/animations/_jiggle.scss +85 -0
- package/src/scss/mixins/keyframes/animations/_lightspeed.scss +73 -0
- package/src/scss/mixins/keyframes/animations/_nod.scss +79 -0
- package/src/scss/mixins/keyframes/animations/_pop.scss +78 -0
- package/src/scss/mixins/keyframes/animations/_pulse.scss +225 -0
- package/src/scss/mixins/keyframes/animations/_ripple.scss +94 -0
- package/src/scss/mixins/keyframes/animations/_roll.scss +124 -0
- package/src/scss/mixins/keyframes/animations/_rotate.scss +360 -0
- package/src/scss/mixins/keyframes/animations/_rubber.scss +81 -0
- package/src/scss/mixins/keyframes/animations/_scale.scss +308 -0
- package/src/scss/mixins/keyframes/animations/_shake.scss +270 -0
- package/src/scss/mixins/keyframes/animations/_slide.scss +345 -0
- package/src/scss/mixins/keyframes/animations/_spin.scss +270 -0
- package/src/scss/mixins/keyframes/animations/_sway.scss +83 -0
- package/src/scss/mixins/keyframes/animations/_twist.scss +89 -0
- package/src/scss/mixins/keyframes/animations/_wave.scss +90 -0
- package/src/scss/mixins/keyframes/animations/_wobble.scss +293 -0
- package/src/scss/mixins/keyframes/animations/_zoom.scss +345 -0
- package/src/scss/mixins/loaders/_bars.scss +128 -0
- package/src/scss/mixins/loaders/_base.scss +39 -0
- package/src/scss/mixins/loaders/_bubble.scss +395 -0
- package/src/scss/mixins/loaders/_circle.scss +456 -0
- package/src/scss/mixins/loaders/_dots.scss +248 -0
- package/src/scss/mixins/loaders/_graph.scss +542 -0
- package/src/scss/mixins/loaders/_index.scss +77 -0
- package/src/scss/mixins/loaders/_line.scss +471 -0
- package/src/scss/mixins/loaders/_objects.scss +563 -0
- package/src/scss/mixins/loaders/_progress.scss +477 -0
- package/src/scss/mixins/loaders/_rect.scss +480 -0
- package/src/scss/mixins/loaders/_rings.scss +377 -0
- package/src/scss/mixins/loaders/_skeleton.scss +461 -0
- package/src/scss/mixins/loaders/_special.scss +611 -0
- package/src/scss/mixins/loaders/_spinner.scss +175 -0
- package/src/scss/mixins/loaders/_text.scss +446 -0
- package/src/scss/mixins/transforms/_flip.scss +74 -0
- package/src/scss/mixins/transforms/_index.scss +28 -0
- package/src/scss/mixins/transforms/_matrix.scss +18 -0
- package/src/scss/mixins/transforms/_perspective.scss +28 -0
- package/src/scss/mixins/transforms/_rotate.scss +96 -0
- package/src/scss/mixins/transforms/_scale.scss +26 -0
- package/src/scss/mixins/transforms/_skew.scss +27 -0
- package/src/scss/mixins/transforms/_translate.scss +27 -0
- package/src/scss/mixins/transitions/_index.scss +22 -0
- package/src/scss/mixins/transitions/_transition.scss +43 -0
- package/src/scss/variables/_animations.scss +300 -0
- package/src/scss/variables/_controls.scss +178 -0
- package/src/scss/variables/_effects.scss +87 -0
- package/src/scss/variables/_index.scss +27 -0
- package/src/scss/variables/_keyframes.scss +28 -0
- package/src/scss/variables/_loaders.scss +75 -0
- package/src/scss/variables/_transforms.scss +85 -0
- package/src/scss/variables/_transitions.scss +80 -0
- package/src/ts/Draggable.ts +143 -0
- package/src/ts/Gesture.ts +226 -0
- package/src/ts/Keyboard.ts +195 -0
- package/src/ts/LoaderManager.ts +662 -0
- package/src/ts/Screensaver.ts +192 -0
- package/src/ts/VideoOverlay.ts +205 -0
- package/src/ts/demo.ts +1108 -0
- package/src/ts/index.ts +58 -0
- package/css/move.gl.css +0 -2
- package/css/move.gl.min.css +0 -2
- package/scss/classes/_transforms.scss +0 -124
- package/scss/classes/keyboard.scss +0 -18
- package/scss/classes/screensaver.scss +0 -15
- package/scss/effects/_filter.scss +0 -176
- package/scss/effects/_index.scss +0 -23
- package/scss/effects/_opacity.scss +0 -62
- package/scss/effects/_shadow.scss +0 -175
- package/scss/functions/scenes/_bubble.scss +0 -19
- package/scss/functions/scenes/_index.scss +0 -20
- package/scss/index.scss +0 -0
- package/scss/keyframes/_beat.scss +0 -26
- package/scss/keyframes/_index.scss +0 -0
- package/scss/maps/_index.scss +0 -0
- package/scss/maps/_mouse.scss +0 -96
- package/scss/mixins/_hover.scss +0 -51
- package/scss/mixins/_index.scss +0 -0
- package/scss/mixins/_selection.scss +0 -321
- package/scss/mixins/_shape.scss +0 -44
- package/scss/mixins/_touch.scss +0 -95
- package/scss/mixins/animations/--hover.scss +0 -107
- package/scss/mixins/animations/_base.scss +0 -337
- package/scss/mixins/animations/_beat.scss +0 -119
- package/scss/mixins/animations/_bounce.scss +0 -192
- package/scss/mixins/animations/_fade.scss +0 -154
- package/scss/mixins/animations/_flip.scss +0 -72
- package/scss/mixins/animations/_heartbeat.scss +0 -175
- package/scss/mixins/animations/_hinge.scss +0 -119
- package/scss/mixins/animations/_jello.scss +0 -129
- package/scss/mixins/animations/_jiggle.scss +0 -163
- package/scss/mixins/animations/_lightspeed.scss +0 -130
- package/scss/mixins/animations/_pop.scss +0 -150
- package/scss/mixins/animations/_pulse.scss +0 -213
- package/scss/mixins/animations/_roll.scss +0 -261
- package/scss/mixins/animations/_rotate.scss +0 -428
- package/scss/mixins/animations/_rubber.scss +0 -116
- package/scss/mixins/animations/_scale.scss +0 -113
- package/scss/mixins/animations/_shake.scss +0 -182
- package/scss/mixins/animations/_slide.scss +0 -294
- package/scss/mixins/animations/_spin.scss +0 -219
- package/scss/mixins/animations/_wobble.scss +0 -254
- package/scss/mixins/animations/_zoom.scss +0 -166
- package/scss/mixins/effects/_filter.scss +0 -148
- package/scss/mixins/effects/_index.scss +0 -0
- package/scss/mixins/effects/_shadow.scss +0 -21
- package/scss/mixins/loaders/_index.scss +0 -0
- package/scss/mixins/loaders/_progress.scss +0 -174
- package/scss/mixins/loaders/_spinner.scss +0 -101
- package/scss/mixins/loaders/circle_01.scss +0 -22
- package/scss/mixins/loaders/circle_02.scss +0 -19
- package/scss/mixins/loaders/circle_03.scss +0 -29
- package/scss/mixins/loaders/circle_inner_01.scss +0 -33
- package/scss/mixins/loaders/circle_inner_02.scss +0 -33
- package/scss/mixins/loaders/circle_inner_03.scss +0 -34
- package/scss/mixins/mouse/_index.scss +0 -0
- package/scss/mixins/scroll/_index.scss +0 -0
- package/scss/mixins/scroll/_scroll.scss +0 -104
- package/scss/mixins/transforms/_index.scss +0 -23
- package/scss/mixins/transforms/_matrix.scss +0 -1
- package/scss/mixins/transitions/_index.scss +0 -0
- package/scss/mixins/transitions/_transition.scss +0 -13
- package/scss/variables/_animation.scss +0 -91
- package/scss/variables/_index.scss +0 -0
- package/ts/ARContent.ts +0 -27
- package/ts/ARInteraction.ts +0 -34
- package/ts/AdaptiveUI.ts +0 -25
- package/ts/ContentStreaming.ts +0 -20
- package/ts/Draggable.ts +0 -71
- package/ts/DynamicEnvironment.ts +0 -60
- package/ts/Gesture.ts +0 -168
- package/ts/ImmersiveAudio.ts +0 -40
- package/ts/InteractiveCanvas.ts +0 -177
- package/ts/InteractiveVideo.ts +0 -29
- package/ts/Keyboard.ts +0 -162
- package/ts/RealTimeCollaboration.ts +0 -25
- package/ts/Screensaver.ts +0 -140
- package/ts/SpatialNavigation.ts +0 -38
- package/ts/UserProfile.ts +0 -27
- package/ts/VRExperience.ts +0 -58
- package/ts/VideoOverlay.ts +0 -116
- package/ts/index.ts +0 -0
- /package/{scss → dist/scss}/dev/_banner.scss +0 -0
- /package/{scss → dist/scss}/dev/_debug.scss +0 -0
- /package/{scss → dist/scss}/dev/_index.scss +0 -0
- /package/{scss/classes/_index.scss → src/html/partials/_code_block.html} +0 -0
- /package/{scss/functions/_index.scss → src/html/partials/_feature_card.html} +0 -0
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
////
|
|
2
|
+
///
|
|
3
|
+
/// Base Animations Mixin Module
|
|
4
|
+
/// =========================================================================
|
|
5
|
+
///
|
|
6
|
+
/// Provides the foundational animation infrastructure for move.gl,
|
|
7
|
+
/// including the base animation mixin used by all other animation modules,
|
|
8
|
+
/// accessibility considerations for reduced motion preferences, and
|
|
9
|
+
/// utility mixins for common animation patterns.
|
|
10
|
+
///
|
|
11
|
+
/// @group Animations
|
|
12
|
+
/// @author Scape Agency
|
|
13
|
+
/// @link https://move.gl
|
|
14
|
+
/// @since 0.1.0 initial release
|
|
15
|
+
/// @access public
|
|
16
|
+
///
|
|
17
|
+
////
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
// ============================================================================
|
|
21
|
+
// Use
|
|
22
|
+
// ============================================================================
|
|
23
|
+
|
|
24
|
+
@use "sass:map";
|
|
25
|
+
@use "sass:list";
|
|
26
|
+
@use "../../dev" as *;
|
|
27
|
+
@use "../../variables" as *;
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
// ============================================================================
|
|
31
|
+
// Base Animation Mixin
|
|
32
|
+
// ============================================================================
|
|
33
|
+
|
|
34
|
+
///
|
|
35
|
+
/// Base Animation Mixin
|
|
36
|
+
/// -----------------------------------------------------------------------
|
|
37
|
+
/// The foundation mixin for all animations. Provides a consistent
|
|
38
|
+
/// structure for defining animations with customizable properties.
|
|
39
|
+
///
|
|
40
|
+
/// @name animate_base
|
|
41
|
+
/// @param {String} $name [none] - The animation name (keyframes reference)
|
|
42
|
+
/// @param {Time} $duration [$animate_base_duration] - Animation duration
|
|
43
|
+
/// @param {String} $timing_function [$animate_base_timing_function] - Easing
|
|
44
|
+
/// @param {Number|String} $iteration_count - Number of iterations
|
|
45
|
+
/// @param {Time} $delay [$animate_base_delay] - Delay before start
|
|
46
|
+
/// @param {String} $direction [$animate_base_direction] - Direction
|
|
47
|
+
/// @param {String} $fill_mode [both] - Styles before/after animation
|
|
48
|
+
/// @param {String} $play_state [running] - Running or paused
|
|
49
|
+
///
|
|
50
|
+
/// @example scss - Basic usage
|
|
51
|
+
/// .element {
|
|
52
|
+
/// @include animate_base(fadeIn, 0.5s, ease-out, 1);
|
|
53
|
+
/// }
|
|
54
|
+
///
|
|
55
|
+
@mixin animate_base(
|
|
56
|
+
$name: none,
|
|
57
|
+
$duration: $animate_base_duration,
|
|
58
|
+
$timing_function: $animate_base_timing_function,
|
|
59
|
+
$iteration_count: $animate_base_iteration_count,
|
|
60
|
+
$delay: $animate_base_delay,
|
|
61
|
+
$direction: $animate_base_direction,
|
|
62
|
+
$fill_mode: both,
|
|
63
|
+
$play_state: running
|
|
64
|
+
) {
|
|
65
|
+
animation-name: $name;
|
|
66
|
+
animation-duration: $duration;
|
|
67
|
+
animation-timing-function: $timing_function;
|
|
68
|
+
animation-iteration-count: $iteration_count;
|
|
69
|
+
animation-delay: $delay;
|
|
70
|
+
animation-direction: $direction;
|
|
71
|
+
animation-fill-mode: $fill_mode;
|
|
72
|
+
animation-play-state: $play_state;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
///
|
|
77
|
+
/// Animation Shorthand Mixin
|
|
78
|
+
/// -----------------------------------------------------------------------
|
|
79
|
+
/// Applies animation using the shorthand property for concise output.
|
|
80
|
+
///
|
|
81
|
+
/// @name animate_shorthand
|
|
82
|
+
/// @param {String} $name - Animation name
|
|
83
|
+
/// @param {Time} $duration [0.5s] - Duration
|
|
84
|
+
/// @param {String} $timing [ease-in-out] - Timing function
|
|
85
|
+
/// @param {Time} $delay [0s] - Delay
|
|
86
|
+
/// @param {Number|String} $iterations [1] - Iteration count
|
|
87
|
+
/// @param {String} $direction [normal] - Direction
|
|
88
|
+
/// @param {String} $fill_mode [both] - Fill mode
|
|
89
|
+
///
|
|
90
|
+
@mixin animate_shorthand(
|
|
91
|
+
$name,
|
|
92
|
+
$duration: 0.5s,
|
|
93
|
+
$timing: ease-in-out,
|
|
94
|
+
$delay: 0s,
|
|
95
|
+
$iterations: 1,
|
|
96
|
+
$direction: normal,
|
|
97
|
+
$fill_mode: both
|
|
98
|
+
) {
|
|
99
|
+
animation: $name $duration $timing $delay $iterations $direction $fill_mode;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
// ============================================================================
|
|
104
|
+
// Animation State Mixins
|
|
105
|
+
// ============================================================================
|
|
106
|
+
|
|
107
|
+
///
|
|
108
|
+
/// Paused Animation State
|
|
109
|
+
/// -----------------------------------------------------------------------
|
|
110
|
+
/// Pauses an animation. Useful for hover effects or JavaScript control.
|
|
111
|
+
///
|
|
112
|
+
@mixin animate_paused {
|
|
113
|
+
animation-play-state: paused;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
///
|
|
117
|
+
/// Running Animation State
|
|
118
|
+
/// -----------------------------------------------------------------------
|
|
119
|
+
/// Ensures an animation is running.
|
|
120
|
+
///
|
|
121
|
+
@mixin animate_running {
|
|
122
|
+
animation-play-state: running;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
// ============================================================================
|
|
127
|
+
// Animation Property Mixins
|
|
128
|
+
// ============================================================================
|
|
129
|
+
|
|
130
|
+
///
|
|
131
|
+
/// Animation Duration
|
|
132
|
+
/// -----------------------------------------------------------------------
|
|
133
|
+
/// Sets the animation duration independently.
|
|
134
|
+
///
|
|
135
|
+
/// @param {Time} $duration - The duration value
|
|
136
|
+
///
|
|
137
|
+
@mixin animate_duration($duration) {
|
|
138
|
+
animation-duration: $duration;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
///
|
|
142
|
+
/// Animation Delay
|
|
143
|
+
/// -----------------------------------------------------------------------
|
|
144
|
+
/// Sets the animation delay independently.
|
|
145
|
+
///
|
|
146
|
+
/// @param {Time} $delay - The delay value
|
|
147
|
+
///
|
|
148
|
+
@mixin animate_delay($delay) {
|
|
149
|
+
animation-delay: $delay;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
///
|
|
153
|
+
/// Animation Timing Function
|
|
154
|
+
/// -----------------------------------------------------------------------
|
|
155
|
+
/// Sets the animation timing function independently.
|
|
156
|
+
///
|
|
157
|
+
/// @param {String} $timing - The timing function
|
|
158
|
+
///
|
|
159
|
+
@mixin animate_timing($timing) {
|
|
160
|
+
animation-timing-function: $timing;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
///
|
|
164
|
+
/// Animation Iteration Count
|
|
165
|
+
/// -----------------------------------------------------------------------
|
|
166
|
+
/// Sets the animation iteration count independently.
|
|
167
|
+
///
|
|
168
|
+
/// @param {Number|String} $count - Number of iterations or 'infinite'
|
|
169
|
+
///
|
|
170
|
+
@mixin animate_iterations($count) {
|
|
171
|
+
animation-iteration-count: $count;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
// ============================================================================
|
|
176
|
+
// Animation Fill Mode Mixins
|
|
177
|
+
// ============================================================================
|
|
178
|
+
|
|
179
|
+
///
|
|
180
|
+
/// Fill Mode - Forwards
|
|
181
|
+
/// -----------------------------------------------------------------------
|
|
182
|
+
/// Retains styles from the last keyframe after animation ends.
|
|
183
|
+
///
|
|
184
|
+
@mixin animate_fill_forwards {
|
|
185
|
+
animation-fill-mode: forwards;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
///
|
|
189
|
+
/// Fill Mode - Backwards
|
|
190
|
+
/// -----------------------------------------------------------------------
|
|
191
|
+
/// Applies styles from the first keyframe before animation starts.
|
|
192
|
+
///
|
|
193
|
+
@mixin animate_fill_backwards {
|
|
194
|
+
animation-fill-mode: backwards;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
///
|
|
198
|
+
/// Fill Mode - Both
|
|
199
|
+
/// -----------------------------------------------------------------------
|
|
200
|
+
/// Combines forwards and backwards fill modes.
|
|
201
|
+
///
|
|
202
|
+
@mixin animate_fill_both {
|
|
203
|
+
animation-fill-mode: both;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
///
|
|
207
|
+
/// Fill Mode - None
|
|
208
|
+
/// -----------------------------------------------------------------------
|
|
209
|
+
/// No fill mode applied.
|
|
210
|
+
///
|
|
211
|
+
@mixin animate_fill_none {
|
|
212
|
+
animation-fill-mode: none;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
// ============================================================================
|
|
217
|
+
// Animation Direction Mixins
|
|
218
|
+
// ============================================================================
|
|
219
|
+
|
|
220
|
+
///
|
|
221
|
+
/// Direction - Alternate
|
|
222
|
+
/// -----------------------------------------------------------------------
|
|
223
|
+
/// Animation alternates direction on each iteration.
|
|
224
|
+
///
|
|
225
|
+
@mixin animate_alternate {
|
|
226
|
+
animation-direction: alternate;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
///
|
|
230
|
+
/// Direction - Reverse
|
|
231
|
+
/// -----------------------------------------------------------------------
|
|
232
|
+
/// Animation plays in reverse.
|
|
233
|
+
///
|
|
234
|
+
@mixin animate_reverse {
|
|
235
|
+
animation-direction: reverse;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
///
|
|
239
|
+
/// Direction - Alternate Reverse
|
|
240
|
+
/// -----------------------------------------------------------------------
|
|
241
|
+
/// Animation alternates, starting in reverse.
|
|
242
|
+
///
|
|
243
|
+
@mixin animate_alternate_reverse {
|
|
244
|
+
animation-direction: alternate-reverse;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
// ============================================================================
|
|
249
|
+
// Keyframe Generator Mixin
|
|
250
|
+
// ============================================================================
|
|
251
|
+
|
|
252
|
+
///
|
|
253
|
+
/// Dynamic Keyframe Generator
|
|
254
|
+
/// -----------------------------------------------------------------------
|
|
255
|
+
/// Generates keyframe animations from a map of percentages and properties.
|
|
256
|
+
///
|
|
257
|
+
/// @name keyframe_animation
|
|
258
|
+
/// @param {String} $name - The animation name
|
|
259
|
+
/// @param {Map} $keyframes - Map of keyframes (percentage: properties)
|
|
260
|
+
///
|
|
261
|
+
/// @example scss - Usage
|
|
262
|
+
/// @include keyframe_animation('slide-in', (
|
|
263
|
+
/// 0%: (transform: translateX(-100%), opacity: 0),
|
|
264
|
+
/// 100%: (transform: translateX(0), opacity: 1)
|
|
265
|
+
/// ));
|
|
266
|
+
///
|
|
267
|
+
@mixin keyframe_animation($name, $keyframes) {
|
|
268
|
+
@keyframes #{$name} {
|
|
269
|
+
@each $percentage, $properties in $keyframes {
|
|
270
|
+
#{$percentage} {
|
|
271
|
+
@each $property, $value in $properties {
|
|
272
|
+
#{$property}: #{$value};
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
// ============================================================================
|
|
281
|
+
// Performance Optimization
|
|
282
|
+
// ============================================================================
|
|
283
|
+
|
|
284
|
+
///
|
|
285
|
+
/// Hardware Acceleration
|
|
286
|
+
/// -----------------------------------------------------------------------
|
|
287
|
+
/// Enables hardware acceleration for smoother animations.
|
|
288
|
+
/// Use sparingly as it can increase memory usage.
|
|
289
|
+
///
|
|
290
|
+
@mixin animate_gpu {
|
|
291
|
+
transform: translateZ(0);
|
|
292
|
+
backface-visibility: hidden;
|
|
293
|
+
perspective: 1000px;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
///
|
|
297
|
+
/// Will Change Hint
|
|
298
|
+
/// -----------------------------------------------------------------------
|
|
299
|
+
/// Hints to the browser which properties will animate.
|
|
300
|
+
/// Remove after animation completes to free resources.
|
|
301
|
+
///
|
|
302
|
+
/// @param {String...} $properties - Properties that will change
|
|
303
|
+
///
|
|
304
|
+
@mixin animate_will_change($properties...) {
|
|
305
|
+
will-change: $properties;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
// ============================================================================
|
|
310
|
+
// Accessibility - Reduced Motion
|
|
311
|
+
// ============================================================================
|
|
312
|
+
|
|
313
|
+
///
|
|
314
|
+
/// Reduced Motion Media Query
|
|
315
|
+
/// -----------------------------------------------------------------------
|
|
316
|
+
/// Wraps content in a prefers-reduced-motion media query.
|
|
317
|
+
/// Use to provide alternative non-animated styles.
|
|
318
|
+
///
|
|
319
|
+
/// @content Styles to apply when reduced motion is preferred
|
|
320
|
+
///
|
|
321
|
+
@mixin prefers_reduced_motion {
|
|
322
|
+
@media (prefers-reduced-motion: reduce) {
|
|
323
|
+
@content;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
///
|
|
328
|
+
/// Respects Reduced Motion
|
|
329
|
+
/// -----------------------------------------------------------------------
|
|
330
|
+
/// Applies animation only when user hasn't requested reduced motion.
|
|
331
|
+
///
|
|
332
|
+
/// @content Animation styles
|
|
333
|
+
///
|
|
334
|
+
@mixin respects_motion {
|
|
335
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
336
|
+
@content;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
///
|
|
341
|
+
/// Global Reduced Motion Reset
|
|
342
|
+
/// -----------------------------------------------------------------------
|
|
343
|
+
/// Disables all animations and transitions for users who prefer
|
|
344
|
+
/// reduced motion. Apply at root level for comprehensive accessibility.
|
|
345
|
+
///
|
|
346
|
+
@mixin reduced_motion_global {
|
|
347
|
+
@media (prefers-reduced-motion: reduce) {
|
|
348
|
+
*,
|
|
349
|
+
*::before,
|
|
350
|
+
*::after {
|
|
351
|
+
animation-duration: 0.01ms !important;
|
|
352
|
+
animation-iteration-count: 1 !important;
|
|
353
|
+
transition-duration: 0.01ms !important;
|
|
354
|
+
scroll-behavior: auto !important;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
// ============================================================================
|
|
361
|
+
// Animation Composition
|
|
362
|
+
// ============================================================================
|
|
363
|
+
|
|
364
|
+
///
|
|
365
|
+
/// Staggered Animation Delay
|
|
366
|
+
/// -----------------------------------------------------------------------
|
|
367
|
+
/// Creates staggered animation delays for child elements.
|
|
368
|
+
///
|
|
369
|
+
/// @param {Number} $count - Number of children to stagger
|
|
370
|
+
/// @param {Time} $base_delay [0.1s] - Base delay increment
|
|
371
|
+
/// @param {Time} $initial_delay [0s] - Initial delay for first child
|
|
372
|
+
///
|
|
373
|
+
/// @example scss - Usage
|
|
374
|
+
/// .list {
|
|
375
|
+
/// @include animate_stagger(5, 0.1s);
|
|
376
|
+
/// }
|
|
377
|
+
///
|
|
378
|
+
@mixin animate_stagger($count, $base_delay: 0.1s, $initial_delay: 0s) {
|
|
379
|
+
@for $i from 1 through $count {
|
|
380
|
+
&:nth-child(#{$i}) {
|
|
381
|
+
animation-delay: $initial_delay + ($base_delay * ($i - 1));
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
///
|
|
387
|
+
/// Multiple Animations
|
|
388
|
+
/// -----------------------------------------------------------------------
|
|
389
|
+
/// Applies multiple animations to a single element.
|
|
390
|
+
///
|
|
391
|
+
/// @param {List} $animations... - Animation shorthand values
|
|
392
|
+
///
|
|
393
|
+
/// @example scss - Usage
|
|
394
|
+
/// .element {
|
|
395
|
+
/// @include animate_multiple(
|
|
396
|
+
/// fadeIn 0.5s ease-out,
|
|
397
|
+
/// slideUp 0.5s ease-out 0.2s
|
|
398
|
+
/// );
|
|
399
|
+
/// }
|
|
400
|
+
///
|
|
401
|
+
@mixin animate_multiple($animations...) {
|
|
402
|
+
animation: $animations;
|
|
403
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
////
|
|
2
|
+
///
|
|
3
|
+
/// Beat Animations Mixin Module
|
|
4
|
+
/// ===========================================================================
|
|
5
|
+
///
|
|
6
|
+
/// Provides SCSS mixins for creating rhythmic beat animations that scale
|
|
7
|
+
/// elements up and down in pulsating patterns. Includes basic beat, beat
|
|
8
|
+
/// with fade effect, and double beat (heartbeat-like) variations.
|
|
9
|
+
///
|
|
10
|
+
/// @group Animations
|
|
11
|
+
/// @author Scape Agency
|
|
12
|
+
/// @link https://move.gl
|
|
13
|
+
/// @since 0.1.0 initial release
|
|
14
|
+
/// @access public
|
|
15
|
+
///
|
|
16
|
+
////
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
// ============================================================================
|
|
20
|
+
// Use
|
|
21
|
+
// ============================================================================
|
|
22
|
+
|
|
23
|
+
@use "../../dev" as *;
|
|
24
|
+
@use "../../variables" as *;
|
|
25
|
+
@use "../keyframes" as *;
|
|
26
|
+
@use "base" as *;
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
// ============================================================================
|
|
30
|
+
// Mixins
|
|
31
|
+
// ============================================================================
|
|
32
|
+
|
|
33
|
+
///
|
|
34
|
+
/// Beat Animation
|
|
35
|
+
/// ---------------------------------------------------------------------------
|
|
36
|
+
/// Creates a beat animation that scales an element up and down rhythmically.
|
|
37
|
+
///
|
|
38
|
+
/// @name animate_beat
|
|
39
|
+
/// @param {Number} $scale [$animate_scale_beat] - The scale factor for the beat animation
|
|
40
|
+
/// @param {Time} $duration [$animate_base_duration] - The duration of the animation
|
|
41
|
+
/// @param {String} $timing_function [$animate_base_timing_function] - The timing function
|
|
42
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - Number of iterations
|
|
43
|
+
///
|
|
44
|
+
/// @example scss - Basic usage
|
|
45
|
+
/// .element {
|
|
46
|
+
/// @include animate_beat;
|
|
47
|
+
/// }
|
|
48
|
+
///
|
|
49
|
+
/// @example scss - Custom scale and duration
|
|
50
|
+
/// .element {
|
|
51
|
+
/// @include animate_beat(1.3, 0.8s);
|
|
52
|
+
/// }
|
|
53
|
+
///
|
|
54
|
+
@mixin animate_beat(
|
|
55
|
+
$scale: $animate_scale_beat,
|
|
56
|
+
$duration: $animate_base_duration,
|
|
57
|
+
$timing_function: $animate_base_timing_function,
|
|
58
|
+
$iteration_count: $animate_base_iteration_count
|
|
59
|
+
) {
|
|
60
|
+
@include animate_base(
|
|
61
|
+
animate_beat,
|
|
62
|
+
$duration,
|
|
63
|
+
$timing_function,
|
|
64
|
+
$iteration_count
|
|
65
|
+
);
|
|
66
|
+
@include keyframes_animate_beat($scale);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
///
|
|
71
|
+
/// Beat Fade Animation
|
|
72
|
+
/// ---------------------------------------------------------------------------
|
|
73
|
+
/// Combines a beat animation with a fade effect, scaling the element while
|
|
74
|
+
/// simultaneously changing its opacity for a more subtle pulsating effect.
|
|
75
|
+
///
|
|
76
|
+
/// @name animate_beat_fade
|
|
77
|
+
/// @param {Number} $opacity [$animate_opacity_fade] - Opacity level at animation midpoint
|
|
78
|
+
/// @param {Number} $scale [$animate_scale_beat_fade] - The scale factor for the beat
|
|
79
|
+
/// @param {Time} $duration [$animate_base_duration] - The duration of the animation
|
|
80
|
+
/// @param {String} $timing_function [$animate_base_timing_function_fade] - The timing function
|
|
81
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - Number of iterations
|
|
82
|
+
///
|
|
83
|
+
/// @example scss - Usage
|
|
84
|
+
/// .element {
|
|
85
|
+
/// @include animate_beat_fade;
|
|
86
|
+
/// }
|
|
87
|
+
///
|
|
88
|
+
@mixin animate_beat_fade(
|
|
89
|
+
$opacity: $animate_opacity_fade,
|
|
90
|
+
$scale: $animate_scale_beat_fade,
|
|
91
|
+
$duration: $animate_base_duration,
|
|
92
|
+
$timing_function: $animate_base_timing_function_fade,
|
|
93
|
+
$iteration_count: $animate_base_iteration_count
|
|
94
|
+
) {
|
|
95
|
+
@include animate_base(
|
|
96
|
+
animate_beat_fade,
|
|
97
|
+
$duration,
|
|
98
|
+
$timing_function,
|
|
99
|
+
$iteration_count
|
|
100
|
+
);
|
|
101
|
+
@include keyframes_animate_beat_fade($opacity, $scale);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
///
|
|
106
|
+
/// Double Beat Animation
|
|
107
|
+
/// ---------------------------------------------------------------------------
|
|
108
|
+
/// Creates a double beat animation simulating a heartbeat or pulsating effect.
|
|
109
|
+
/// The element scales down, then up larger, then down again.
|
|
110
|
+
///
|
|
111
|
+
/// @name animate_beat_double
|
|
112
|
+
/// @param {Number} $scale_small [$animate_scale_beat_double_small] - Smaller scale factor
|
|
113
|
+
/// @param {Number} $scale_large [$animate_scale_beat_double_large] - Larger scale factor
|
|
114
|
+
/// @param {Time} $duration [$animate_base_duration] - The duration of the animation
|
|
115
|
+
/// @param {String} $timing_function [$animate_base_timing_function] - The timing function
|
|
116
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - Number of iterations
|
|
117
|
+
///
|
|
118
|
+
/// @example scss - Usage
|
|
119
|
+
/// .heartbeat-icon {
|
|
120
|
+
/// @include animate_beat_double;
|
|
121
|
+
/// }
|
|
122
|
+
///
|
|
123
|
+
@mixin animate_beat_double(
|
|
124
|
+
$scale_small: $animate_scale_beat_double_small,
|
|
125
|
+
$scale_large: $animate_scale_beat_double_large,
|
|
126
|
+
$duration: $animate_base_duration,
|
|
127
|
+
$timing_function: $animate_base_timing_function,
|
|
128
|
+
$iteration_count: $animate_base_iteration_count
|
|
129
|
+
) {
|
|
130
|
+
@include animate_base(
|
|
131
|
+
animate_beat_double,
|
|
132
|
+
$duration,
|
|
133
|
+
$timing_function,
|
|
134
|
+
$iteration_count
|
|
135
|
+
);
|
|
136
|
+
@include keyframes_animate_beat_double($scale_small, $scale_large);
|
|
137
|
+
}
|