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,394 @@
|
|
|
1
|
+
////
|
|
2
|
+
///
|
|
3
|
+
/// Zoom Animations Mixin Module
|
|
4
|
+
/// ===========================================================================
|
|
5
|
+
///
|
|
6
|
+
/// Provides SCSS mixins for creating zoom animations that scale elements in
|
|
7
|
+
/// and out. Includes standard zoom, speed variations, and combined zoom
|
|
8
|
+
/// effects with fade and rotation.
|
|
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
|
+
/// Zoom Animation
|
|
35
|
+
/// ---------------------------------------------------------------------------
|
|
36
|
+
/// Creates a zoom effect by scaling an element up and down.
|
|
37
|
+
///
|
|
38
|
+
/// @name animate_zoom
|
|
39
|
+
/// @param {Number} $scale [$animate_scale_zoom] - Scale factor at animation peak
|
|
40
|
+
/// @param {Time} $duration [$animate_base_duration] - Animation duration
|
|
41
|
+
/// @param {String} $timing_function [ease-in-out] - Timing function
|
|
42
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - Iterations
|
|
43
|
+
///
|
|
44
|
+
/// @example scss - Basic usage
|
|
45
|
+
/// .image {
|
|
46
|
+
/// @include animate_zoom;
|
|
47
|
+
/// }
|
|
48
|
+
///
|
|
49
|
+
@mixin animate_zoom(
|
|
50
|
+
$scale: $animate_scale_zoom,
|
|
51
|
+
$duration: $animate_base_duration,
|
|
52
|
+
$timing_function: $animate_base_timing_function,
|
|
53
|
+
$iteration_count: $animate_base_iteration_count
|
|
54
|
+
) {
|
|
55
|
+
@include animate_base(
|
|
56
|
+
animate_zoom,
|
|
57
|
+
$duration,
|
|
58
|
+
$timing_function,
|
|
59
|
+
$iteration_count
|
|
60
|
+
);
|
|
61
|
+
@include keyframes_zoom($scale);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
///
|
|
66
|
+
/// Gentle Zoom Animation
|
|
67
|
+
/// ---------------------------------------------------------------------------
|
|
68
|
+
/// A slower, more subtle zoom effect.
|
|
69
|
+
///
|
|
70
|
+
/// @name animate_zoom_slow
|
|
71
|
+
/// @param {Number} $scale [$animate_scale_zoom_slow] - Scale factor at animation peak
|
|
72
|
+
/// @param {Time} $duration [$animate_base_duration_slow] - Animation duration
|
|
73
|
+
/// @param {String} $timing_function [ease-in-out] - Timing function
|
|
74
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - Iterations
|
|
75
|
+
///
|
|
76
|
+
@mixin animate_zoom_slow(
|
|
77
|
+
$scale: $animate_scale_zoom_slow,
|
|
78
|
+
$duration: $animate_base_duration_slow,
|
|
79
|
+
$timing_function: $animate_base_timing_function,
|
|
80
|
+
$iteration_count: $animate_base_iteration_count
|
|
81
|
+
) {
|
|
82
|
+
@include animate_base(
|
|
83
|
+
animate_zoom_slow,
|
|
84
|
+
$duration,
|
|
85
|
+
$timing_function,
|
|
86
|
+
$iteration_count
|
|
87
|
+
);
|
|
88
|
+
@include keyframes_zoom_slow($scale);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
///
|
|
93
|
+
/// Rapid Zoom Animation
|
|
94
|
+
/// ---------------------------------------------------------------------------
|
|
95
|
+
/// A faster, more intense zoom effect.
|
|
96
|
+
///
|
|
97
|
+
/// @name animate_zoom_fast
|
|
98
|
+
/// @param {Number} $scale [$animate_scale_zoom_fast] - Scale factor at animation peak
|
|
99
|
+
/// @param {Time} $duration [$animate_base_duration_fast] - Animation duration
|
|
100
|
+
/// @param {String} $timing_function [ease-in-out] - Timing function
|
|
101
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - Iterations
|
|
102
|
+
///
|
|
103
|
+
@mixin animate_zoom_fast(
|
|
104
|
+
$scale: $animate_scale_zoom_fast,
|
|
105
|
+
$duration: $animate_base_duration_fast,
|
|
106
|
+
$timing_function: $animate_base_timing_function,
|
|
107
|
+
$iteration_count: $animate_base_iteration_count
|
|
108
|
+
) {
|
|
109
|
+
@include animate_base(
|
|
110
|
+
animate_zoom_fast,
|
|
111
|
+
$duration,
|
|
112
|
+
$timing_function,
|
|
113
|
+
$iteration_count
|
|
114
|
+
);
|
|
115
|
+
@include keyframes_zoom_fast($scale);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
///
|
|
120
|
+
/// Zoom with Fade Animation
|
|
121
|
+
/// ---------------------------------------------------------------------------
|
|
122
|
+
/// Combines zoom with a fade effect for a breathing appearance.
|
|
123
|
+
///
|
|
124
|
+
/// @name animate_zoom_fade
|
|
125
|
+
/// @param {Number} $scale [1.5] - Scale factor at animation peak
|
|
126
|
+
/// @param {Number} $opacity_min [0.5] - Minimum opacity
|
|
127
|
+
/// @param {Time} $duration [$animate_base_duration] - Animation duration
|
|
128
|
+
/// @param {String} $timing_function [ease-in-out] - Timing function
|
|
129
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - Iterations
|
|
130
|
+
///
|
|
131
|
+
@mixin animate_zoom_fade(
|
|
132
|
+
$scale: 1.5,
|
|
133
|
+
$opacity_min: 0.5,
|
|
134
|
+
$duration: $animate_base_duration,
|
|
135
|
+
$timing_function: $animate_base_timing_function,
|
|
136
|
+
$iteration_count: $animate_base_iteration_count
|
|
137
|
+
) {
|
|
138
|
+
@include animate_base(
|
|
139
|
+
animate_zoom_fade,
|
|
140
|
+
$duration,
|
|
141
|
+
$timing_function,
|
|
142
|
+
$iteration_count
|
|
143
|
+
);
|
|
144
|
+
@include keyframes_zoom_fade($scale, $opacity_min);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
///
|
|
149
|
+
/// Zoom In Animation
|
|
150
|
+
/// ---------------------------------------------------------------------------
|
|
151
|
+
/// Creates an entrance animation that zooms an element in from scaled down.
|
|
152
|
+
///
|
|
153
|
+
/// @name animate_zoom_in
|
|
154
|
+
/// @param {Number} $start_scale [0.5] - Starting scale
|
|
155
|
+
/// @param {Time} $duration [$animate_base_duration] - Animation duration
|
|
156
|
+
/// @param {String} $timing_function [ease-out] - Timing function
|
|
157
|
+
///
|
|
158
|
+
@mixin animate_zoom_in(
|
|
159
|
+
$start_scale: 0.5,
|
|
160
|
+
$duration: $animate_base_duration,
|
|
161
|
+
$timing_function: ease-out
|
|
162
|
+
) {
|
|
163
|
+
@include animate_base(
|
|
164
|
+
animate_zoom_in,
|
|
165
|
+
$duration,
|
|
166
|
+
$timing_function,
|
|
167
|
+
1,
|
|
168
|
+
$fill_mode: both
|
|
169
|
+
);
|
|
170
|
+
@include keyframes_zoom_in($start_scale);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
///
|
|
175
|
+
/// Zoom Out Animation
|
|
176
|
+
/// ---------------------------------------------------------------------------
|
|
177
|
+
/// Creates an exit animation that zooms an element out.
|
|
178
|
+
///
|
|
179
|
+
/// @name animate_zoom_out
|
|
180
|
+
/// @param {Number} $end_scale [0.5] - Ending scale
|
|
181
|
+
/// @param {Time} $duration [$animate_base_duration] - Animation duration
|
|
182
|
+
/// @param {String} $timing_function [ease-in] - Timing function
|
|
183
|
+
///
|
|
184
|
+
@mixin animate_zoom_out(
|
|
185
|
+
$end_scale: 0.5,
|
|
186
|
+
$duration: $animate_base_duration,
|
|
187
|
+
$timing_function: ease-in
|
|
188
|
+
) {
|
|
189
|
+
@include animate_base(
|
|
190
|
+
animate_zoom_out,
|
|
191
|
+
$duration,
|
|
192
|
+
$timing_function,
|
|
193
|
+
1,
|
|
194
|
+
$fill_mode: both
|
|
195
|
+
);
|
|
196
|
+
@include keyframes_zoom_out($end_scale);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
///
|
|
201
|
+
/// Zoom with Rotate Animation
|
|
202
|
+
/// ---------------------------------------------------------------------------
|
|
203
|
+
/// Combines zoom with rotation for a dynamic effect.
|
|
204
|
+
///
|
|
205
|
+
/// @name animate_zoom_rotate
|
|
206
|
+
/// @param {Number} $scale [1.5] - Scale factor at animation peak
|
|
207
|
+
/// @param {Angle} $rotation [15deg] - Rotation angle
|
|
208
|
+
/// @param {Time} $duration [$animate_base_duration] - Animation duration
|
|
209
|
+
/// @param {String} $timing_function [ease-in-out] - Timing function
|
|
210
|
+
/// @param {Number|String} $iteration_count [$animate_base_iteration_count] - Iterations
|
|
211
|
+
///
|
|
212
|
+
@mixin animate_zoom_rotate(
|
|
213
|
+
$scale: 1.5,
|
|
214
|
+
$rotation: 15deg,
|
|
215
|
+
$duration: $animate_base_duration,
|
|
216
|
+
$timing_function: $animate_base_timing_function,
|
|
217
|
+
$iteration_count: $animate_base_iteration_count
|
|
218
|
+
) {
|
|
219
|
+
@include animate_base(
|
|
220
|
+
animate_zoom_rotate,
|
|
221
|
+
$duration,
|
|
222
|
+
$timing_function,
|
|
223
|
+
$iteration_count
|
|
224
|
+
);
|
|
225
|
+
@include keyframes_zoom_rotate($scale, $rotation);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
///
|
|
230
|
+
/// Zoom In Up Animation
|
|
231
|
+
/// ---------------------------------------------------------------------------
|
|
232
|
+
/// Zooms in from below the element's position.
|
|
233
|
+
///
|
|
234
|
+
/// @name animate_zoom_in_up
|
|
235
|
+
/// @param {Number} $start_scale [0.5] - Starting scale
|
|
236
|
+
/// @param {Length} $distance [20px] - Distance to travel
|
|
237
|
+
/// @param {Time} $duration [$animate_base_duration] - Animation duration
|
|
238
|
+
/// @param {String} $timing_function [ease-out] - Timing function
|
|
239
|
+
///
|
|
240
|
+
@mixin animate_zoom_in_up(
|
|
241
|
+
$start_scale: 0.5,
|
|
242
|
+
$distance: 20px,
|
|
243
|
+
$duration: $animate_base_duration,
|
|
244
|
+
$timing_function: ease-out
|
|
245
|
+
) {
|
|
246
|
+
@include animate_base(
|
|
247
|
+
animate_zoom_in_up,
|
|
248
|
+
$duration,
|
|
249
|
+
$timing_function,
|
|
250
|
+
1,
|
|
251
|
+
$fill_mode: both
|
|
252
|
+
);
|
|
253
|
+
@include keyframes_zoom_in_up($start_scale, $distance);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
///
|
|
258
|
+
/// Zoom In Down Animation
|
|
259
|
+
/// ---------------------------------------------------------------------------
|
|
260
|
+
/// Zooms in from above the element's position.
|
|
261
|
+
///
|
|
262
|
+
/// @name animate_zoom_in_down
|
|
263
|
+
/// @param {Number} $start_scale [0.5] - Starting scale
|
|
264
|
+
/// @param {Length} $distance [20px] - Distance to travel
|
|
265
|
+
/// @param {Time} $duration [$animate_base_duration] - Animation duration
|
|
266
|
+
/// @param {String} $timing_function [ease-out] - Timing function
|
|
267
|
+
///
|
|
268
|
+
@mixin animate_zoom_in_down(
|
|
269
|
+
$start_scale: 0.5,
|
|
270
|
+
$distance: 20px,
|
|
271
|
+
$duration: $animate_base_duration,
|
|
272
|
+
$timing_function: ease-out
|
|
273
|
+
) {
|
|
274
|
+
@include animate_base(
|
|
275
|
+
animate_zoom_in_down,
|
|
276
|
+
$duration,
|
|
277
|
+
$timing_function,
|
|
278
|
+
1,
|
|
279
|
+
$fill_mode: both
|
|
280
|
+
);
|
|
281
|
+
@include keyframes_zoom_in_down($start_scale, $distance);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
///
|
|
286
|
+
/// Zoom In Left Animation
|
|
287
|
+
/// ---------------------------------------------------------------------------
|
|
288
|
+
/// Zooms in from the left of the element's position.
|
|
289
|
+
///
|
|
290
|
+
/// @name animate_zoom_in_left
|
|
291
|
+
/// @param {Number} $start_scale [0.5] - Starting scale
|
|
292
|
+
/// @param {Length} $distance [20px] - Distance to travel
|
|
293
|
+
/// @param {Time} $duration [$animate_base_duration] - Animation duration
|
|
294
|
+
/// @param {String} $timing_function [ease-out] - Timing function
|
|
295
|
+
///
|
|
296
|
+
@mixin animate_zoom_in_left(
|
|
297
|
+
$start_scale: 0.5,
|
|
298
|
+
$distance: 20px,
|
|
299
|
+
$duration: $animate_base_duration,
|
|
300
|
+
$timing_function: ease-out
|
|
301
|
+
) {
|
|
302
|
+
@include animate_base(
|
|
303
|
+
animate_zoom_in_left,
|
|
304
|
+
$duration,
|
|
305
|
+
$timing_function,
|
|
306
|
+
1,
|
|
307
|
+
$fill_mode: both
|
|
308
|
+
);
|
|
309
|
+
@include keyframes_zoom_in_left($start_scale, $distance);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
///
|
|
314
|
+
/// Zoom In Right Animation
|
|
315
|
+
/// ---------------------------------------------------------------------------
|
|
316
|
+
/// Zooms in from the right of the element's position.
|
|
317
|
+
///
|
|
318
|
+
/// @name animate_zoom_in_right
|
|
319
|
+
/// @param {Number} $start_scale [0.5] - Starting scale
|
|
320
|
+
/// @param {Length} $distance [20px] - Distance to travel
|
|
321
|
+
/// @param {Time} $duration [$animate_base_duration] - Animation duration
|
|
322
|
+
/// @param {String} $timing_function [ease-out] - Timing function
|
|
323
|
+
///
|
|
324
|
+
@mixin animate_zoom_in_right(
|
|
325
|
+
$start_scale: 0.5,
|
|
326
|
+
$distance: 20px,
|
|
327
|
+
$duration: $animate_base_duration,
|
|
328
|
+
$timing_function: ease-out
|
|
329
|
+
) {
|
|
330
|
+
@include animate_base(
|
|
331
|
+
animate_zoom_in_right,
|
|
332
|
+
$duration,
|
|
333
|
+
$timing_function,
|
|
334
|
+
1,
|
|
335
|
+
$fill_mode: both
|
|
336
|
+
);
|
|
337
|
+
@include keyframes_zoom_in_right($start_scale, $distance);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
///
|
|
342
|
+
/// Zoom Out Up Animation
|
|
343
|
+
/// ---------------------------------------------------------------------------
|
|
344
|
+
/// Zooms out while moving up.
|
|
345
|
+
///
|
|
346
|
+
/// @name animate_zoom_out_up
|
|
347
|
+
/// @param {Number} $end_scale [0.5] - Ending scale
|
|
348
|
+
/// @param {Length} $distance [20px] - Distance to travel
|
|
349
|
+
/// @param {Time} $duration [$animate_base_duration] - Animation duration
|
|
350
|
+
/// @param {String} $timing_function [ease-in] - Timing function
|
|
351
|
+
///
|
|
352
|
+
@mixin animate_zoom_out_up(
|
|
353
|
+
$end_scale: 0.5,
|
|
354
|
+
$distance: 20px,
|
|
355
|
+
$duration: $animate_base_duration,
|
|
356
|
+
$timing_function: ease-in
|
|
357
|
+
) {
|
|
358
|
+
@include animate_base(
|
|
359
|
+
animate_zoom_out_up,
|
|
360
|
+
$duration,
|
|
361
|
+
$timing_function,
|
|
362
|
+
1,
|
|
363
|
+
$fill_mode: forwards
|
|
364
|
+
);
|
|
365
|
+
@include keyframes_zoom_out_up($end_scale, $distance);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
///
|
|
370
|
+
/// Zoom Out Down Animation
|
|
371
|
+
/// ---------------------------------------------------------------------------
|
|
372
|
+
/// Zooms out while moving down.
|
|
373
|
+
///
|
|
374
|
+
/// @name animate_zoom_out_down
|
|
375
|
+
/// @param {Number} $end_scale [0.5] - Ending scale
|
|
376
|
+
/// @param {Length} $distance [20px] - Distance to travel
|
|
377
|
+
/// @param {Time} $duration [$animate_base_duration] - Animation duration
|
|
378
|
+
/// @param {String} $timing_function [ease-in] - Timing function
|
|
379
|
+
///
|
|
380
|
+
@mixin animate_zoom_out_down(
|
|
381
|
+
$end_scale: 0.5,
|
|
382
|
+
$distance: 20px,
|
|
383
|
+
$duration: $animate_base_duration,
|
|
384
|
+
$timing_function: ease-in
|
|
385
|
+
) {
|
|
386
|
+
@include animate_base(
|
|
387
|
+
animate_zoom_out_down,
|
|
388
|
+
$duration,
|
|
389
|
+
$timing_function,
|
|
390
|
+
1,
|
|
391
|
+
$fill_mode: forwards
|
|
392
|
+
);
|
|
393
|
+
@include keyframes_zoom_out_down($end_scale, $distance);
|
|
394
|
+
}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
////
|
|
2
|
+
///
|
|
3
|
+
/// Cursor Controls Mixin Module
|
|
4
|
+
/// =========================================================================
|
|
5
|
+
///
|
|
6
|
+
/// Provides a comprehensive set of mixins for managing cursor styles.
|
|
7
|
+
/// Includes utility mixins for common cursor types, custom cursors with
|
|
8
|
+
/// fallback options, animated cursors, and advanced use cases involving
|
|
9
|
+
/// state-based and responsive cursor handling.
|
|
10
|
+
///
|
|
11
|
+
/// @group Controls
|
|
12
|
+
/// @author Scape Agency
|
|
13
|
+
/// @link https://move.gl
|
|
14
|
+
/// @since 0.1.0 initial release
|
|
15
|
+
/// @see https://developer.mozilla.org/en-US/docs/Web/CSS/cursor
|
|
16
|
+
/// @access public
|
|
17
|
+
///
|
|
18
|
+
////
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
// ============================================================================
|
|
22
|
+
// Use
|
|
23
|
+
// ============================================================================
|
|
24
|
+
|
|
25
|
+
@use "sass:map";
|
|
26
|
+
@use "../../variables" as *;
|
|
27
|
+
@use "../../maps" as *;
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
// ============================================================================
|
|
31
|
+
// Mixins
|
|
32
|
+
// ============================================================================
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
///
|
|
36
|
+
/// Mixin for applying a cursor style using predefined cursor types from the map.
|
|
37
|
+
/// ---------------------------------------------------------------------------
|
|
38
|
+
///
|
|
39
|
+
/// @name cursor_style
|
|
40
|
+
/// @param {String} $type ['default'] - The cursor style to apply.
|
|
41
|
+
/// @example scss - Usage
|
|
42
|
+
/// .element { @include cursor_style('pointer'); } // Applies pointer cursor
|
|
43
|
+
///
|
|
44
|
+
@mixin cursor_style($type: "default") {
|
|
45
|
+
@if map.has-key($cursor_styles, $type) {
|
|
46
|
+
cursor: map.get($cursor_styles, $type);
|
|
47
|
+
} @else {
|
|
48
|
+
cursor: $type; // Fallback if type is not in map
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
///
|
|
53
|
+
/// Mixin for custom cursor images with fallback options.
|
|
54
|
+
/// ---------------------------------------------------------------------------
|
|
55
|
+
///
|
|
56
|
+
/// @name cursor_custom
|
|
57
|
+
/// @param {String} $url - URL of the custom cursor image.
|
|
58
|
+
/// @param {String} $fallback ['pointer'] - Fallback cursor style.
|
|
59
|
+
/// @example scss - Usage
|
|
60
|
+
/// .element { @include cursor_custom('path/to/cursor.png', 'pointer'); }
|
|
61
|
+
///
|
|
62
|
+
@mixin cursor_custom($url, $fallback: pointer) {
|
|
63
|
+
cursor: url($url), $fallback;
|
|
64
|
+
// cursor: url(#{$url}), #{$fallback};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
// ============================================================================
|
|
73
|
+
// Utility Mixins for Common Cursor Styles
|
|
74
|
+
// ============================================================================
|
|
75
|
+
|
|
76
|
+
@mixin cursor_default { @include cursor_style('default'); }
|
|
77
|
+
@mixin cursor_pointer { @include cursor_style('pointer'); }
|
|
78
|
+
@mixin cursor_text { @include cursor_style('text'); }
|
|
79
|
+
@mixin cursor_disabled { @include cursor_style('not-allowed'); }
|
|
80
|
+
@mixin cursor_not_allowed { @include cursor_style('not-allowed'); }
|
|
81
|
+
@mixin cursor_move { @include cursor_style('move'); }
|
|
82
|
+
@mixin cursor_grab { @include cursor_style('grab'); }
|
|
83
|
+
@mixin cursor_grabbing { @include cursor_style('grabbing'); }
|
|
84
|
+
@mixin cursor_help { @include cursor_style('help'); }
|
|
85
|
+
@mixin cursor_wait { @include cursor_style('wait'); }
|
|
86
|
+
@mixin cursor_crosshair { @include cursor_style('crosshair'); }
|
|
87
|
+
@mixin cursor_zoom_in { @include cursor_style('zoom-in'); }
|
|
88
|
+
@mixin cursor_zoom_out { @include cursor_style('zoom-out'); }
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
// ============================================================================
|
|
92
|
+
// Resize Cursor Mixins
|
|
93
|
+
// ============================================================================
|
|
94
|
+
|
|
95
|
+
@mixin cursor_n_resize { @include cursor_style('n-resize'); }
|
|
96
|
+
@mixin cursor_e_resize { @include cursor_style('e-resize'); }
|
|
97
|
+
@mixin cursor_s_resize { @include cursor_style('s-resize'); }
|
|
98
|
+
@mixin cursor_w_resize { @include cursor_style('w-resize'); }
|
|
99
|
+
@mixin cursor_ne_resize { @include cursor_style('ne-resize'); }
|
|
100
|
+
@mixin cursor_se_resize { @include cursor_style('se-resize'); }
|
|
101
|
+
@mixin cursor_sw_resize { @include cursor_style('sw-resize'); }
|
|
102
|
+
@mixin cursor_nw_resize { @include cursor_style('nw-resize'); }
|
|
103
|
+
@mixin cursor_ew_resize { @include cursor_style('ew-resize'); }
|
|
104
|
+
@mixin cursor_ns_resize { @include cursor_style('ns-resize'); }
|
|
105
|
+
@mixin cursor_col_resize { @include cursor_style('col-resize'); }
|
|
106
|
+
@mixin cursor_row_resize { @include cursor_style('row-resize'); }
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
// ============================================================================
|
|
110
|
+
// Advanced Mixins
|
|
111
|
+
// ============================================================================
|
|
112
|
+
|
|
113
|
+
///
|
|
114
|
+
/// Mixin for hover and focus cursor effects.
|
|
115
|
+
/// ---------------------------------------------------------------------------
|
|
116
|
+
///
|
|
117
|
+
/// @name hover_focus_cursor
|
|
118
|
+
/// @param {String} $hover ['pointer'] - Cursor style on hover.
|
|
119
|
+
/// @param {String} $focus ['pointer'] - Cursor style on focus.
|
|
120
|
+
///
|
|
121
|
+
@mixin hover_focus_cursor($hover: pointer, $focus: pointer) {
|
|
122
|
+
&:hover { cursor: $hover; }
|
|
123
|
+
&:focus {
|
|
124
|
+
cursor: $focus;
|
|
125
|
+
outline: none; // Customize focus styles as needed
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
///
|
|
130
|
+
/// Mixin for responsive cursor handling based on device capability.
|
|
131
|
+
/// ---------------------------------------------------------------------------
|
|
132
|
+
///
|
|
133
|
+
/// @name cursor_responsive
|
|
134
|
+
/// @param {String} $desktop ['pointer'] - Cursor for desktop devices.
|
|
135
|
+
/// @param {String} $touch ['default'] - Cursor for touch devices.
|
|
136
|
+
///
|
|
137
|
+
@mixin cursor_responsive(
|
|
138
|
+
$desktop: pointer,
|
|
139
|
+
$touch: default
|
|
140
|
+
) {
|
|
141
|
+
@media (pointer: fine) { cursor: $desktop; }
|
|
142
|
+
@media (pointer: coarse) { cursor: $touch; }
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
///
|
|
146
|
+
/// Mixin for animated cursors using a series of images.
|
|
147
|
+
/// ---------------------------------------------------------------------------
|
|
148
|
+
///
|
|
149
|
+
/// @name cursor_animated
|
|
150
|
+
/// @param {List} $images - A list of image URLs for animation frames.
|
|
151
|
+
/// @param {Time} $interval ['0.5s'] - Interval between frames.
|
|
152
|
+
///
|
|
153
|
+
@mixin cursor_animated($images, $interval: 0.5s) {
|
|
154
|
+
$animation-frames: ();
|
|
155
|
+
$index: 0;
|
|
156
|
+
|
|
157
|
+
@each $image in $images {
|
|
158
|
+
$index: $index + 1;
|
|
159
|
+
$percentage: percentage($index / length($images));
|
|
160
|
+
$animation-frames: append($animation-frames, ($percentage $image), comma);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
@keyframes cursor-animation {
|
|
164
|
+
@each $frame in $animation-frames {
|
|
165
|
+
#{nth($frame, 1)} {
|
|
166
|
+
cursor: url(#{nth($frame, 2)}), auto;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
animation: cursor-animation $interval infinite;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// ============================================================================
|
|
175
|
+
// Utility Class Generator for Common Cursors
|
|
176
|
+
// ============================================================================
|
|
177
|
+
|
|
178
|
+
@each $cursor in $cursors {
|
|
179
|
+
.cursor-#{$cursor} {
|
|
180
|
+
@include cursor_style($cursor);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// ============================================================================
|
|
185
|
+
// Examples of Using Advanced Mixins
|
|
186
|
+
// ============================================================================
|
|
187
|
+
|
|
188
|
+
// /// Example: Advanced hover and focus with cursor change and background effect
|
|
189
|
+
// .interactive-element {
|
|
190
|
+
// @include hover_focus_cursor(pointer, pointer);
|
|
191
|
+
// &:hover { background-color: lighten($primaryColor, 5%); }
|
|
192
|
+
// &:focus { background-color: lighten($primaryColor, 10%); }
|
|
193
|
+
// }
|
|
194
|
+
|
|
195
|
+
// /// Example: Responsive cursor handling for different devices
|
|
196
|
+
// .button {
|
|
197
|
+
// @include cursor_responsive(pointer, default);
|
|
198
|
+
// }
|
|
199
|
+
|
|
200
|
+
// /// Example: Using animated cursor with a series of images
|
|
201
|
+
// .cursor-animated-element {
|
|
202
|
+
// @include cursor_animated(('image1.png', 'image2.png', 'image3.png'));
|
|
203
|
+
// }
|