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,175 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// move.gl | Spinner Loader Mixins
|
|
3
|
+
// ============================================================================
|
|
4
|
+
// Copyright 2025 Scape Agency BV
|
|
5
|
+
// Licensed under MIT License
|
|
6
|
+
// ============================================================================
|
|
7
|
+
|
|
8
|
+
////
|
|
9
|
+
/// Spinner Loader Mixins
|
|
10
|
+
/// ===========================================================================
|
|
11
|
+
///
|
|
12
|
+
/// This module provides spinner animation mixins for creating rotating
|
|
13
|
+
/// border and growing circle loading indicators.
|
|
14
|
+
///
|
|
15
|
+
/// @group Loaders
|
|
16
|
+
/// @author Scape Agency
|
|
17
|
+
/// @link https://move.gl
|
|
18
|
+
/// @since 0.1.0 initial release
|
|
19
|
+
/// @access public
|
|
20
|
+
////
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// Use
|
|
25
|
+
// ============================================================================
|
|
26
|
+
|
|
27
|
+
@use "../../variables" as *;
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
// ============================================================================
|
|
31
|
+
// Keyframes
|
|
32
|
+
// ============================================================================
|
|
33
|
+
|
|
34
|
+
/// Spinner border rotation keyframes
|
|
35
|
+
@mixin keyframes_spinner_border {
|
|
36
|
+
@keyframes spinner-border {
|
|
37
|
+
to { transform: rotate(360deg); }
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/// Spinner grow keyframes
|
|
42
|
+
@mixin keyframes_spinner_grow {
|
|
43
|
+
@keyframes spinner-grow {
|
|
44
|
+
0% {
|
|
45
|
+
transform: scale(0);
|
|
46
|
+
}
|
|
47
|
+
50% {
|
|
48
|
+
opacity: 1;
|
|
49
|
+
transform: none;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
// ============================================================================
|
|
56
|
+
// Mixins
|
|
57
|
+
// ============================================================================
|
|
58
|
+
|
|
59
|
+
/// Base spinner mixin
|
|
60
|
+
/// @param {Number} $width [$spinner-width] - Width of the spinner
|
|
61
|
+
/// @param {Number} $height [$spinner-height] - Height of the spinner
|
|
62
|
+
/// @param {Number} $speed [$spinner-animation-speed] - Animation duration
|
|
63
|
+
@mixin spinner_base(
|
|
64
|
+
$width: $spinner-width,
|
|
65
|
+
$height: $spinner-height,
|
|
66
|
+
$speed: $spinner-animation-speed
|
|
67
|
+
) {
|
|
68
|
+
display: inline-block;
|
|
69
|
+
width: $width;
|
|
70
|
+
height: $height;
|
|
71
|
+
vertical-align: $spinner-vertical-align;
|
|
72
|
+
border-radius: 50%;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/// Spinner border mixin - creates a rotating border spinner
|
|
76
|
+
/// @param {Number} $width [$spinner-width] - Width of the spinner
|
|
77
|
+
/// @param {Number} $height [$spinner-height] - Height of the spinner
|
|
78
|
+
/// @param {Number} $border-width [$spinner-border-width] - Border thickness
|
|
79
|
+
/// @param {Number} $speed [$spinner-animation-speed] - Animation duration
|
|
80
|
+
/// @param {Color} $color [currentcolor] - Spinner color
|
|
81
|
+
@mixin spinner_border(
|
|
82
|
+
$width: $spinner-width,
|
|
83
|
+
$height: $spinner-height,
|
|
84
|
+
$border-width: $spinner-border-width,
|
|
85
|
+
$speed: $spinner-animation-speed,
|
|
86
|
+
$color: currentcolor
|
|
87
|
+
) {
|
|
88
|
+
@include spinner_base($width, $height, $speed);
|
|
89
|
+
border: $border-width solid $color;
|
|
90
|
+
border-right-color: transparent;
|
|
91
|
+
animation: spinner-border $speed linear infinite;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/// Spinner border small variant
|
|
95
|
+
/// @param {Number} $width [$spinner-width-sm] - Width of small spinner
|
|
96
|
+
/// @param {Number} $height [$spinner-height-sm] - Height of small spinner
|
|
97
|
+
/// @param {Number} $border-width [$spinner-border-width-sm] - Border thickness
|
|
98
|
+
/// @param {Number} $speed [$spinner-animation-speed] - Animation duration
|
|
99
|
+
/// @param {Color} $color [currentcolor] - Spinner color
|
|
100
|
+
@mixin spinner_border_sm(
|
|
101
|
+
$width: $spinner-width-sm,
|
|
102
|
+
$height: $spinner-height-sm,
|
|
103
|
+
$border-width: $spinner-border-width-sm,
|
|
104
|
+
$speed: $spinner-animation-speed,
|
|
105
|
+
$color: currentcolor
|
|
106
|
+
) {
|
|
107
|
+
@include spinner_border($width, $height, $border-width, $speed, $color);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/// Spinner grow mixin - creates a pulsing/growing spinner
|
|
111
|
+
/// @param {Number} $width [$spinner-width] - Width of the spinner
|
|
112
|
+
/// @param {Number} $height [$spinner-height] - Height of the spinner
|
|
113
|
+
/// @param {Number} $speed [$spinner-animation-speed] - Animation duration
|
|
114
|
+
/// @param {Color} $color [currentcolor] - Spinner color
|
|
115
|
+
@mixin spinner_grow(
|
|
116
|
+
$width: $spinner-width,
|
|
117
|
+
$height: $spinner-height,
|
|
118
|
+
$speed: $spinner-animation-speed,
|
|
119
|
+
$color: currentcolor
|
|
120
|
+
) {
|
|
121
|
+
@include spinner_base($width, $height, $speed);
|
|
122
|
+
background-color: $color;
|
|
123
|
+
opacity: 0;
|
|
124
|
+
animation: spinner-grow $speed linear infinite;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/// Spinner grow small variant
|
|
128
|
+
/// @param {Number} $width [$spinner-width-sm] - Width of small spinner
|
|
129
|
+
/// @param {Number} $height [$spinner-height-sm] - Height of small spinner
|
|
130
|
+
/// @param {Number} $speed [$spinner-animation-speed] - Animation duration
|
|
131
|
+
/// @param {Color} $color [currentcolor] - Spinner color
|
|
132
|
+
@mixin spinner_grow_sm(
|
|
133
|
+
$width: $spinner-width-sm,
|
|
134
|
+
$height: $spinner-height-sm,
|
|
135
|
+
$speed: $spinner-animation-speed,
|
|
136
|
+
$color: currentcolor
|
|
137
|
+
) {
|
|
138
|
+
@include spinner_grow($width, $height, $speed, $color);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
// ============================================================================
|
|
143
|
+
// Utility Generator
|
|
144
|
+
// ============================================================================
|
|
145
|
+
|
|
146
|
+
/// Generate spinner utility classes
|
|
147
|
+
@mixin generate_spinner_utilities {
|
|
148
|
+
// Include keyframes
|
|
149
|
+
@include keyframes_spinner_border;
|
|
150
|
+
@include keyframes_spinner_grow;
|
|
151
|
+
|
|
152
|
+
.spinner-border {
|
|
153
|
+
@include spinner_border;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.spinner-border-sm {
|
|
157
|
+
@include spinner_border_sm;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.spinner-grow {
|
|
161
|
+
@include spinner_grow;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.spinner-grow-sm {
|
|
165
|
+
@include spinner_grow_sm;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Reduced motion support
|
|
169
|
+
@media (prefers-reduced-motion: reduce) {
|
|
170
|
+
.spinner-border,
|
|
171
|
+
.spinner-grow {
|
|
172
|
+
animation-duration: $spinner-animation-speed * 2;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// move.gl | Text Loader Mixins
|
|
3
|
+
// ============================================================================
|
|
4
|
+
// Copyright 2025 Scape Agency BV
|
|
5
|
+
// Licensed under MIT License
|
|
6
|
+
// ============================================================================
|
|
7
|
+
|
|
8
|
+
////
|
|
9
|
+
/// Text Loader Mixins
|
|
10
|
+
/// ===========================================================================
|
|
11
|
+
///
|
|
12
|
+
/// This module provides mixins for text-based loading animations.
|
|
13
|
+
///
|
|
14
|
+
/// @group Loaders
|
|
15
|
+
/// @author Scape Agency
|
|
16
|
+
/// @link https://move.gl
|
|
17
|
+
/// @since 0.1.0
|
|
18
|
+
/// @access public
|
|
19
|
+
////
|
|
20
|
+
|
|
21
|
+
@use "../../variables" as *;
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
// ============================================================================
|
|
25
|
+
// Keyframes
|
|
26
|
+
// ============================================================================
|
|
27
|
+
|
|
28
|
+
///
|
|
29
|
+
/// Text clip fill animation keyframes.
|
|
30
|
+
///
|
|
31
|
+
@mixin keyframes_text_fill {
|
|
32
|
+
@keyframes text-fill {
|
|
33
|
+
0% { clip-path: polygon(0 0, 0 0, 0 100%, 0 100%); }
|
|
34
|
+
100% { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
///
|
|
39
|
+
/// Text bounce animation keyframes.
|
|
40
|
+
///
|
|
41
|
+
@mixin keyframes_text_bounce {
|
|
42
|
+
@keyframes text-bounce {
|
|
43
|
+
0%, 80%, 100% { transform: translateY(0); }
|
|
44
|
+
40% { transform: translateY(-10px); }
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
///
|
|
49
|
+
/// Text dot flash animation keyframes.
|
|
50
|
+
///
|
|
51
|
+
@mixin keyframes_text_dots {
|
|
52
|
+
@keyframes text-dots {
|
|
53
|
+
0% { content: ''; }
|
|
54
|
+
25% { content: '.'; }
|
|
55
|
+
50% { content: '..'; }
|
|
56
|
+
75% { content: '...'; }
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
///
|
|
61
|
+
/// Text letter fade animation keyframes.
|
|
62
|
+
///
|
|
63
|
+
@mixin keyframes_text_letter_fade {
|
|
64
|
+
@keyframes text-letter-fade {
|
|
65
|
+
0%, 100% { opacity: 0.3; }
|
|
66
|
+
50% { opacity: 1; }
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
///
|
|
71
|
+
/// Text scale pulse animation keyframes.
|
|
72
|
+
///
|
|
73
|
+
@mixin keyframes_text_pulse {
|
|
74
|
+
@keyframes text-pulse {
|
|
75
|
+
0%, 100% { transform: scale(1); opacity: 1; }
|
|
76
|
+
50% { transform: scale(1.1); opacity: 0.7; }
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
///
|
|
81
|
+
/// Text spotlight effect keyframes.
|
|
82
|
+
///
|
|
83
|
+
@mixin keyframes_text_spotlight {
|
|
84
|
+
@keyframes text-spotlight {
|
|
85
|
+
0% { background-position: -200% center; }
|
|
86
|
+
100% { background-position: 200% center; }
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
///
|
|
91
|
+
/// Text typing cursor blink keyframes.
|
|
92
|
+
///
|
|
93
|
+
@mixin keyframes_text_cursor {
|
|
94
|
+
@keyframes text-cursor {
|
|
95
|
+
0%, 100% { opacity: 0; }
|
|
96
|
+
50% { opacity: 1; }
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
///
|
|
101
|
+
/// Text wave animation keyframes.
|
|
102
|
+
///
|
|
103
|
+
@mixin keyframes_text_wave {
|
|
104
|
+
@keyframes text-wave {
|
|
105
|
+
0%, 100% { transform: translateY(0); }
|
|
106
|
+
50% { transform: translateY(-20%); }
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
///
|
|
111
|
+
/// Text shake animation keyframes.
|
|
112
|
+
///
|
|
113
|
+
@mixin keyframes_text_shake {
|
|
114
|
+
@keyframes text-shake {
|
|
115
|
+
0%, 100% { transform: translateX(0); }
|
|
116
|
+
10%, 30%, 50%, 70%, 90% { transform: translateX(-2px); }
|
|
117
|
+
20%, 40%, 60%, 80% { transform: translateX(2px); }
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
// ============================================================================
|
|
123
|
+
// Text Loader Mixins
|
|
124
|
+
// ============================================================================
|
|
125
|
+
|
|
126
|
+
///
|
|
127
|
+
/// Text fill loader with clip-path animation.
|
|
128
|
+
///
|
|
129
|
+
/// @param {String} $text ['Loading'] - Text content.
|
|
130
|
+
/// @param {Color} $color [#FFF] - Text color.
|
|
131
|
+
/// @param {Color} $fill-color [#FF3D00] - Fill color.
|
|
132
|
+
/// @param {Length} $size [2rem] - Font size.
|
|
133
|
+
/// @param {Time} $duration [2s] - Animation duration.
|
|
134
|
+
///
|
|
135
|
+
@mixin loader_text_fill(
|
|
136
|
+
$text: 'Loading',
|
|
137
|
+
$color: rgba(255, 255, 255, 0.3),
|
|
138
|
+
$fill-color: $loader-color,
|
|
139
|
+
$size: 2rem,
|
|
140
|
+
$duration: 2s
|
|
141
|
+
) {
|
|
142
|
+
position: relative;
|
|
143
|
+
font-size: $size;
|
|
144
|
+
font-weight: 700;
|
|
145
|
+
color: var(--loader-bg, $color);
|
|
146
|
+
|
|
147
|
+
&::after {
|
|
148
|
+
content: attr(data-text);
|
|
149
|
+
position: absolute;
|
|
150
|
+
left: 0;
|
|
151
|
+
top: 0;
|
|
152
|
+
color: var(--loader-color, $fill-color);
|
|
153
|
+
clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
|
|
154
|
+
animation: text-fill $duration ease-in-out infinite;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
///
|
|
159
|
+
/// Text with animated dots loader.
|
|
160
|
+
///
|
|
161
|
+
/// @param {String} $text ['Loading'] - Text content.
|
|
162
|
+
/// @param {Color} $color [#FFF] - Text color.
|
|
163
|
+
/// @param {Length} $size [1.5rem] - Font size.
|
|
164
|
+
/// @param {Time} $duration [1.5s] - Animation duration.
|
|
165
|
+
///
|
|
166
|
+
@mixin loader_text_dots(
|
|
167
|
+
$text: 'Loading',
|
|
168
|
+
$color: $loader-color,
|
|
169
|
+
$size: 1.5rem,
|
|
170
|
+
$duration: 1.5s
|
|
171
|
+
) {
|
|
172
|
+
font-size: $size;
|
|
173
|
+
font-weight: 500;
|
|
174
|
+
color: var(--loader-color, $color);
|
|
175
|
+
|
|
176
|
+
&::after {
|
|
177
|
+
content: '';
|
|
178
|
+
animation: text-dots $duration steps(4) infinite;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
///
|
|
183
|
+
/// Bouncing letters loader.
|
|
184
|
+
///
|
|
185
|
+
/// @param {Color} $color [#FFF] - Text color.
|
|
186
|
+
/// @param {Length} $size [1.5rem] - Font size.
|
|
187
|
+
/// @param {Time} $duration [1s] - Animation duration.
|
|
188
|
+
///
|
|
189
|
+
@mixin loader_text_bounce(
|
|
190
|
+
$color: $loader-color,
|
|
191
|
+
$size: 1.5rem,
|
|
192
|
+
$duration: $loader-speed
|
|
193
|
+
) {
|
|
194
|
+
display: inline-flex;
|
|
195
|
+
gap: 0.1em;
|
|
196
|
+
font-size: $size;
|
|
197
|
+
font-weight: 700;
|
|
198
|
+
color: var(--loader-color, $color);
|
|
199
|
+
|
|
200
|
+
span {
|
|
201
|
+
display: inline-block;
|
|
202
|
+
animation: text-bounce $duration ease-in-out infinite;
|
|
203
|
+
|
|
204
|
+
@for $i from 1 through 10 {
|
|
205
|
+
&:nth-child(#{$i}) {
|
|
206
|
+
animation-delay: calc(($i - 1) * 0.1s);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
///
|
|
213
|
+
/// Fading letters loader.
|
|
214
|
+
///
|
|
215
|
+
/// @param {Color} $color [#FFF] - Text color.
|
|
216
|
+
/// @param {Length} $size [1.5rem] - Font size.
|
|
217
|
+
/// @param {Time} $duration [1.5s] - Animation duration.
|
|
218
|
+
///
|
|
219
|
+
@mixin loader_text_fade(
|
|
220
|
+
$color: $loader-color,
|
|
221
|
+
$size: 1.5rem,
|
|
222
|
+
$duration: 1.5s
|
|
223
|
+
) {
|
|
224
|
+
display: inline-flex;
|
|
225
|
+
gap: 0.05em;
|
|
226
|
+
font-size: $size;
|
|
227
|
+
font-weight: 700;
|
|
228
|
+
color: var(--loader-color, $color);
|
|
229
|
+
|
|
230
|
+
span {
|
|
231
|
+
animation: text-letter-fade $duration ease-in-out infinite;
|
|
232
|
+
|
|
233
|
+
@for $i from 1 through 10 {
|
|
234
|
+
&:nth-child(#{$i}) {
|
|
235
|
+
animation-delay: calc(($i - 1) * 0.1s);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
///
|
|
242
|
+
/// Text pulse loader.
|
|
243
|
+
///
|
|
244
|
+
/// @param {String} $text ['Loading'] - Text content.
|
|
245
|
+
/// @param {Color} $color [#FFF] - Text color.
|
|
246
|
+
/// @param {Length} $size [2rem] - Font size.
|
|
247
|
+
/// @param {Time} $duration [1s] - Animation duration.
|
|
248
|
+
///
|
|
249
|
+
@mixin loader_text_pulse(
|
|
250
|
+
$text: 'Loading',
|
|
251
|
+
$color: $loader-color,
|
|
252
|
+
$size: 2rem,
|
|
253
|
+
$duration: $loader-speed
|
|
254
|
+
) {
|
|
255
|
+
font-size: $size;
|
|
256
|
+
font-weight: 700;
|
|
257
|
+
color: var(--loader-color, $color);
|
|
258
|
+
animation: text-pulse $duration ease-in-out infinite;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
///
|
|
262
|
+
/// Text spotlight/shimmer loader.
|
|
263
|
+
///
|
|
264
|
+
/// @param {String} $text ['Loading'] - Text content.
|
|
265
|
+
/// @param {Color} $color [rgba(255,255,255,0.3)] - Base text color.
|
|
266
|
+
/// @param {Color} $highlight [#FFF] - Spotlight highlight color.
|
|
267
|
+
/// @param {Length} $size [2rem] - Font size.
|
|
268
|
+
/// @param {Time} $duration [2s] - Animation duration.
|
|
269
|
+
///
|
|
270
|
+
@mixin loader_text_spotlight(
|
|
271
|
+
$text: 'Loading',
|
|
272
|
+
$color: rgba(255, 255, 255, 0.3),
|
|
273
|
+
$highlight: $loader-color,
|
|
274
|
+
$size: 2rem,
|
|
275
|
+
$duration: 2s
|
|
276
|
+
) {
|
|
277
|
+
font-size: $size;
|
|
278
|
+
font-weight: 700;
|
|
279
|
+
color: var(--loader-bg, $color);
|
|
280
|
+
background: linear-gradient(
|
|
281
|
+
90deg,
|
|
282
|
+
var(--loader-bg, $color) 0%,
|
|
283
|
+
var(--loader-color, $highlight) 50%,
|
|
284
|
+
var(--loader-bg, $color) 100%
|
|
285
|
+
);
|
|
286
|
+
background-size: 200% 100%;
|
|
287
|
+
background-clip: text;
|
|
288
|
+
-webkit-background-clip: text;
|
|
289
|
+
-webkit-text-fill-color: transparent;
|
|
290
|
+
animation: text-spotlight $duration linear infinite;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
///
|
|
294
|
+
/// Typing cursor loader.
|
|
295
|
+
///
|
|
296
|
+
/// @param {String} $text ['Loading'] - Text content.
|
|
297
|
+
/// @param {Color} $color [#FFF] - Text color.
|
|
298
|
+
/// @param {Color} $cursor-color [#FFF] - Cursor color.
|
|
299
|
+
/// @param {Length} $size [1.5rem] - Font size.
|
|
300
|
+
/// @param {Time} $duration [0.8s] - Cursor blink duration.
|
|
301
|
+
///
|
|
302
|
+
@mixin loader_text_typing(
|
|
303
|
+
$text: 'Loading',
|
|
304
|
+
$color: $loader-color,
|
|
305
|
+
$cursor-color: $loader-color,
|
|
306
|
+
$size: 1.5rem,
|
|
307
|
+
$duration: 0.8s
|
|
308
|
+
) {
|
|
309
|
+
font-size: $size;
|
|
310
|
+
font-weight: 500;
|
|
311
|
+
color: var(--loader-color, $color);
|
|
312
|
+
font-family: monospace;
|
|
313
|
+
|
|
314
|
+
&::after {
|
|
315
|
+
content: '|';
|
|
316
|
+
color: var(--loader-cursor, $cursor-color);
|
|
317
|
+
animation: text-cursor $duration ease-in-out infinite;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
///
|
|
322
|
+
/// Wave text loader.
|
|
323
|
+
///
|
|
324
|
+
/// @param {Color} $color [#FFF] - Text color.
|
|
325
|
+
/// @param {Length} $size [1.5rem] - Font size.
|
|
326
|
+
/// @param {Time} $duration [1.2s] - Animation duration.
|
|
327
|
+
///
|
|
328
|
+
@mixin loader_text_wave(
|
|
329
|
+
$color: $loader-color,
|
|
330
|
+
$size: 1.5rem,
|
|
331
|
+
$duration: 1.2s
|
|
332
|
+
) {
|
|
333
|
+
display: inline-flex;
|
|
334
|
+
gap: 0.05em;
|
|
335
|
+
font-size: $size;
|
|
336
|
+
font-weight: 700;
|
|
337
|
+
color: var(--loader-color, $color);
|
|
338
|
+
|
|
339
|
+
span {
|
|
340
|
+
display: inline-block;
|
|
341
|
+
animation: text-wave $duration ease-in-out infinite;
|
|
342
|
+
|
|
343
|
+
@for $i from 1 through 10 {
|
|
344
|
+
&:nth-child(#{$i}) {
|
|
345
|
+
animation-delay: calc(($i - 1) * 0.08s);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
///
|
|
352
|
+
/// Shake text loader.
|
|
353
|
+
///
|
|
354
|
+
/// @param {String} $text ['Error'] - Text content.
|
|
355
|
+
/// @param {Color} $color [#FF3D00] - Text color.
|
|
356
|
+
/// @param {Length} $size [1.5rem] - Font size.
|
|
357
|
+
/// @param {Time} $duration [0.5s] - Animation duration.
|
|
358
|
+
///
|
|
359
|
+
@mixin loader_text_shake(
|
|
360
|
+
$text: 'Error',
|
|
361
|
+
$color: $loader-accent,
|
|
362
|
+
$size: 1.5rem,
|
|
363
|
+
$duration: 0.5s
|
|
364
|
+
) {
|
|
365
|
+
font-size: $size;
|
|
366
|
+
font-weight: 700;
|
|
367
|
+
color: var(--loader-color, $color);
|
|
368
|
+
animation: text-shake $duration ease-in-out infinite;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
///
|
|
372
|
+
/// Gradient flow text loader.
|
|
373
|
+
///
|
|
374
|
+
/// @param {String} $text ['Loading'] - Text content.
|
|
375
|
+
/// @param {Color} $color1 [#FF3D00] - First gradient color.
|
|
376
|
+
/// @param {Color} $color2 [#FFF] - Second gradient color.
|
|
377
|
+
/// @param {Color} $color3 [#FF3D00] - Third gradient color.
|
|
378
|
+
/// @param {Length} $size [2rem] - Font size.
|
|
379
|
+
/// @param {Time} $duration [3s] - Animation duration.
|
|
380
|
+
///
|
|
381
|
+
@mixin loader_text_gradient(
|
|
382
|
+
$text: 'Loading',
|
|
383
|
+
$color1: $loader-accent,
|
|
384
|
+
$color2: $loader-color,
|
|
385
|
+
$color3: $loader-accent,
|
|
386
|
+
$size: 2rem,
|
|
387
|
+
$duration: 3s
|
|
388
|
+
) {
|
|
389
|
+
font-size: $size;
|
|
390
|
+
font-weight: 700;
|
|
391
|
+
background: linear-gradient(
|
|
392
|
+
90deg,
|
|
393
|
+
var(--loader-color1, $color1),
|
|
394
|
+
var(--loader-color2, $color2),
|
|
395
|
+
var(--loader-color3, $color3)
|
|
396
|
+
);
|
|
397
|
+
background-size: 200% auto;
|
|
398
|
+
background-clip: text;
|
|
399
|
+
-webkit-background-clip: text;
|
|
400
|
+
-webkit-text-fill-color: transparent;
|
|
401
|
+
animation: text-spotlight $duration linear infinite;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
///
|
|
405
|
+
/// Rotating character loader.
|
|
406
|
+
///
|
|
407
|
+
/// @param {Color} $color [#FFF] - Text color.
|
|
408
|
+
/// @param {Length} $size [2rem] - Font size.
|
|
409
|
+
/// @param {Time} $duration [1s] - Animation duration.
|
|
410
|
+
///
|
|
411
|
+
@mixin loader_text_spinner(
|
|
412
|
+
$color: $loader-color,
|
|
413
|
+
$size: 2rem,
|
|
414
|
+
$duration: $loader-speed
|
|
415
|
+
) {
|
|
416
|
+
font-size: $size;
|
|
417
|
+
color: var(--loader-color, $color);
|
|
418
|
+
display: inline-block;
|
|
419
|
+
animation: spin $duration linear infinite;
|
|
420
|
+
|
|
421
|
+
@keyframes spin {
|
|
422
|
+
0% { transform: rotate(0deg); }
|
|
423
|
+
100% { transform: rotate(360deg); }
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
///
|
|
428
|
+
/// Percentage counter loader (requires JS).
|
|
429
|
+
///
|
|
430
|
+
/// @param {Color} $color [#FFF] - Text color.
|
|
431
|
+
/// @param {Length} $size [3rem] - Font size.
|
|
432
|
+
///
|
|
433
|
+
@mixin loader_text_percentage(
|
|
434
|
+
$color: $loader-color,
|
|
435
|
+
$size: 3rem
|
|
436
|
+
) {
|
|
437
|
+
font-size: $size;
|
|
438
|
+
font-weight: 700;
|
|
439
|
+
color: var(--loader-color, $color);
|
|
440
|
+
font-variant-numeric: tabular-nums;
|
|
441
|
+
font-family: monospace;
|
|
442
|
+
|
|
443
|
+
&::after {
|
|
444
|
+
content: '%';
|
|
445
|
+
}
|
|
446
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
////
|
|
2
|
+
///
|
|
3
|
+
/// Flip Transforms Mixin Module
|
|
4
|
+
/// ===========================================================================
|
|
5
|
+
///
|
|
6
|
+
/// This module provides mixins for flipping elements in various directions,
|
|
7
|
+
/// such as horizontally, vertically, or both. These mixins can be used to
|
|
8
|
+
/// easily apply flip transforms throughout your project.
|
|
9
|
+
///
|
|
10
|
+
/// @group Transforms
|
|
11
|
+
/// @author Scape Agency
|
|
12
|
+
/// @link https://move.gl
|
|
13
|
+
/// @since 0.1.0 initial release
|
|
14
|
+
/// @todo None
|
|
15
|
+
/// @access public
|
|
16
|
+
///
|
|
17
|
+
////
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
// ============================================================================
|
|
21
|
+
// Use
|
|
22
|
+
// ============================================================================
|
|
23
|
+
|
|
24
|
+
@use "../../dev" as *;
|
|
25
|
+
@use "../../variables" as *;
|
|
26
|
+
@use "../keyframes" as *;
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
// ============================================================================
|
|
30
|
+
// Mixins
|
|
31
|
+
// ============================================================================
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
///
|
|
35
|
+
/// Mixin for flipping elements horizontally.
|
|
36
|
+
/// ---------------------------------------------------------------------------
|
|
37
|
+
///
|
|
38
|
+
/// Applies a horizontal flip by scaling the element along the X-axis.
|
|
39
|
+
///
|
|
40
|
+
/// @name transform_flip_horizontal
|
|
41
|
+
/// @example scss - Usage
|
|
42
|
+
/// .transform_flip_horizontal { @include transform_flip_horizontal(); }
|
|
43
|
+
///
|
|
44
|
+
@mixin transform_flip_horizontal {
|
|
45
|
+
transform: scale(-1, 1);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
///
|
|
49
|
+
/// Mixin for flipping elements vertically.
|
|
50
|
+
/// ---------------------------------------------------------------------------
|
|
51
|
+
///
|
|
52
|
+
/// Applies a vertical flip by scaling the element along the Y-axis.
|
|
53
|
+
///
|
|
54
|
+
/// @name transform_flip_vertical
|
|
55
|
+
/// @example scss - Usage
|
|
56
|
+
/// .transform_flip_vertical { @include transform_flip_vertical(); }
|
|
57
|
+
///
|
|
58
|
+
@mixin transform_flip_vertical {
|
|
59
|
+
transform: scale(1, -1);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
///
|
|
63
|
+
/// Mixin for flipping elements both horizontally and vertically.
|
|
64
|
+
/// ---------------------------------------------------------------------------
|
|
65
|
+
///
|
|
66
|
+
/// Combines horizontal and vertical flips to mirror the element.
|
|
67
|
+
///
|
|
68
|
+
/// @name transform_flip_both
|
|
69
|
+
/// @example scss - Usage
|
|
70
|
+
/// .transform_flip_both { @include transform_flip_both(); }
|
|
71
|
+
///
|
|
72
|
+
@mixin transform_flip_both {
|
|
73
|
+
transform: scale(-1, -1);
|
|
74
|
+
}
|