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,429 @@
|
|
|
1
|
+
////
|
|
2
|
+
///
|
|
3
|
+
/// Shadow Effects Mixin Module
|
|
4
|
+
/// ===========================================================================
|
|
5
|
+
///
|
|
6
|
+
/// This module provides a comprehensive set of box-shadow and text-shadow
|
|
7
|
+
/// mixins for creating depth, elevation, and visual hierarchy in UI elements.
|
|
8
|
+
/// Includes Material Design elevations, directional shadows, and presets.
|
|
9
|
+
///
|
|
10
|
+
/// @group Effects
|
|
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 "sass:map";
|
|
25
|
+
@use "sass:math";
|
|
26
|
+
@use "sass:color";
|
|
27
|
+
@use "../../variables" as *;
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
// ============================================================================
|
|
31
|
+
// Base Shadow Mixins
|
|
32
|
+
// ============================================================================
|
|
33
|
+
|
|
34
|
+
///
|
|
35
|
+
/// Base box-shadow mixin with full control.
|
|
36
|
+
///
|
|
37
|
+
/// @param {Length} $offset-x [0] - Horizontal offset.
|
|
38
|
+
/// @param {Length} $offset-y [4px] - Vertical offset.
|
|
39
|
+
/// @param {Length} $blur [8px] - Blur radius.
|
|
40
|
+
/// @param {Length} $spread [0] - Spread radius.
|
|
41
|
+
/// @param {Color} $color [$shadow-color-default] - Shadow color.
|
|
42
|
+
/// @param {Boolean} $inset [false] - Whether shadow is inset.
|
|
43
|
+
///
|
|
44
|
+
@mixin box_shadow(
|
|
45
|
+
$offset-x: 0,
|
|
46
|
+
$offset-y: 4px,
|
|
47
|
+
$blur: 8px,
|
|
48
|
+
$spread: 0,
|
|
49
|
+
$color: $shadow-color-default,
|
|
50
|
+
$inset: false
|
|
51
|
+
) {
|
|
52
|
+
@if $inset {
|
|
53
|
+
box-shadow: inset $offset-x $offset-y $blur $spread $color;
|
|
54
|
+
} @else {
|
|
55
|
+
box-shadow: $offset-x $offset-y $blur $spread $color;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
///
|
|
60
|
+
/// Multiple box shadows combined.
|
|
61
|
+
///
|
|
62
|
+
/// @param {List} $shadows... - List of shadow definitions.
|
|
63
|
+
///
|
|
64
|
+
@mixin box_shadow_multi($shadows...) {
|
|
65
|
+
box-shadow: $shadows;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
///
|
|
69
|
+
/// Text shadow mixin.
|
|
70
|
+
///
|
|
71
|
+
/// @param {Length} $offset-x [1px] - Horizontal offset.
|
|
72
|
+
/// @param {Length} $offset-y [1px] - Vertical offset.
|
|
73
|
+
/// @param {Length} $blur [2px] - Blur radius.
|
|
74
|
+
/// @param {Color} $color [rgba(0,0,0,0.3)] - Shadow color.
|
|
75
|
+
///
|
|
76
|
+
@mixin text_shadow($offset-x: 1px, $offset-y: 1px, $blur: 2px, $color: rgba(0, 0, 0, 0.3)) {
|
|
77
|
+
text-shadow: $offset-x $offset-y $blur $color;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
// ============================================================================
|
|
82
|
+
// Material Design Elevation System
|
|
83
|
+
// ============================================================================
|
|
84
|
+
|
|
85
|
+
///
|
|
86
|
+
/// Applies a material design-inspired elevation (shadow) to an element.
|
|
87
|
+
///
|
|
88
|
+
/// @param {Number} $level - The elevation level (0-24).
|
|
89
|
+
/// @example scss - Usage
|
|
90
|
+
/// @include elevation(4);
|
|
91
|
+
///
|
|
92
|
+
@mixin elevation($level) {
|
|
93
|
+
@if map.has-key($elevations, $level) {
|
|
94
|
+
box-shadow: map.get($elevations, $level);
|
|
95
|
+
} @else {
|
|
96
|
+
@warn "Invalid elevation level: #{$level}. Valid levels are: 0, 1, 2, 3, 4, 5, 6, 8, 12, 16, 24.";
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
///
|
|
101
|
+
/// Elevation with hover transition.
|
|
102
|
+
///
|
|
103
|
+
/// @param {Number} $default [1] - Default elevation level.
|
|
104
|
+
/// @param {Number} $hover [4] - Hover elevation level.
|
|
105
|
+
/// @param {Time} $duration [0.3s] - Transition duration.
|
|
106
|
+
///
|
|
107
|
+
@mixin elevation_interactive($default: 1, $hover: 4, $duration: 0.3s) {
|
|
108
|
+
@include elevation($default);
|
|
109
|
+
transition: box-shadow $duration ease;
|
|
110
|
+
|
|
111
|
+
&:hover {
|
|
112
|
+
@include elevation($hover);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
// ============================================================================
|
|
118
|
+
// Directional Shadow Mixins
|
|
119
|
+
// ============================================================================
|
|
120
|
+
|
|
121
|
+
///
|
|
122
|
+
/// Shadow pointing upward (light source from below).
|
|
123
|
+
///
|
|
124
|
+
/// @param {Length} $distance [4px] - Shadow distance.
|
|
125
|
+
/// @param {Length} $blur [8px] - Blur radius.
|
|
126
|
+
/// @param {Color} $color [$shadow-color-default] - Shadow color.
|
|
127
|
+
///
|
|
128
|
+
@mixin shadow_top($distance: 4px, $blur: 8px, $color: $shadow-color-default) {
|
|
129
|
+
box-shadow: 0 (-$distance) $blur (-$distance * 0.5) $color;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
///
|
|
133
|
+
/// Shadow pointing rightward.
|
|
134
|
+
///
|
|
135
|
+
@mixin shadow_right($distance: 4px, $blur: 8px, $color: $shadow-color-default) {
|
|
136
|
+
box-shadow: $distance 0 $blur (-$distance * 0.5) $color;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
///
|
|
140
|
+
/// Shadow pointing downward (most common).
|
|
141
|
+
///
|
|
142
|
+
@mixin shadow_bottom($distance: 4px, $blur: 8px, $color: $shadow-color-default) {
|
|
143
|
+
box-shadow: 0 $distance $blur (-$distance * 0.5) $color;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
///
|
|
147
|
+
/// Shadow pointing leftward.
|
|
148
|
+
///
|
|
149
|
+
@mixin shadow_left($distance: 4px, $blur: 8px, $color: $shadow-color-default) {
|
|
150
|
+
box-shadow: (-$distance) 0 $blur (-$distance * 0.5) $color;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
// ============================================================================
|
|
155
|
+
// Shadow Presets
|
|
156
|
+
// ============================================================================
|
|
157
|
+
|
|
158
|
+
/// No shadow
|
|
159
|
+
@mixin shadow_none {
|
|
160
|
+
box-shadow: none;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/// Extra small/subtle shadow
|
|
164
|
+
@mixin shadow_xs {
|
|
165
|
+
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/// Small shadow
|
|
169
|
+
@mixin shadow_sm {
|
|
170
|
+
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/// Medium/default shadow
|
|
174
|
+
@mixin shadow_md {
|
|
175
|
+
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/// Large shadow
|
|
179
|
+
@mixin shadow_lg {
|
|
180
|
+
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/// Extra large shadow
|
|
184
|
+
@mixin shadow_xl {
|
|
185
|
+
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/// 2XL shadow
|
|
189
|
+
@mixin shadow_2xl {
|
|
190
|
+
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/// Inner/inset shadow
|
|
194
|
+
@mixin shadow_inner {
|
|
195
|
+
box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/// Inner shadow (deeper)
|
|
199
|
+
@mixin shadow_inner_deep {
|
|
200
|
+
box-shadow: inset 0 4px 8px 0 rgba(0, 0, 0, 0.15);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
// ============================================================================
|
|
205
|
+
// Special Effect Shadows
|
|
206
|
+
// ============================================================================
|
|
207
|
+
|
|
208
|
+
///
|
|
209
|
+
/// Colored shadow based on element's background.
|
|
210
|
+
///
|
|
211
|
+
/// @param {Color} $color - The base color for the shadow.
|
|
212
|
+
/// @param {Number} $opacity [0.4] - Shadow opacity.
|
|
213
|
+
/// @param {Length} $blur [20px] - Blur radius.
|
|
214
|
+
///
|
|
215
|
+
@mixin shadow_colored($color, $opacity: 0.4, $blur: 20px) {
|
|
216
|
+
box-shadow: 0 10px $blur rgba($color, $opacity);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
///
|
|
220
|
+
/// Glow effect shadow.
|
|
221
|
+
///
|
|
222
|
+
/// @param {Color} $color [#3b82f6] - Glow color.
|
|
223
|
+
/// @param {Number} $intensity [0.5] - Glow intensity.
|
|
224
|
+
/// @param {Length} $spread [15px] - Spread radius.
|
|
225
|
+
///
|
|
226
|
+
@mixin shadow_glow($color: #3b82f6, $intensity: 0.5, $spread: 15px) {
|
|
227
|
+
box-shadow: 0 0 $spread rgba($color, $intensity);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
///
|
|
231
|
+
/// Neon glow effect.
|
|
232
|
+
///
|
|
233
|
+
/// @param {Color} $color [#00ff00] - Neon color.
|
|
234
|
+
///
|
|
235
|
+
@mixin shadow_neon($color: #00ff00) {
|
|
236
|
+
box-shadow:
|
|
237
|
+
0 0 5px $color,
|
|
238
|
+
0 0 10px $color,
|
|
239
|
+
0 0 20px $color,
|
|
240
|
+
0 0 40px $color;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
///
|
|
244
|
+
/// Soft diffused shadow for cards.
|
|
245
|
+
///
|
|
246
|
+
@mixin shadow_soft {
|
|
247
|
+
box-shadow:
|
|
248
|
+
0 2px 4px rgba(0, 0, 0, 0.04),
|
|
249
|
+
0 4px 8px rgba(0, 0, 0, 0.04),
|
|
250
|
+
0 8px 16px rgba(0, 0, 0, 0.04),
|
|
251
|
+
0 16px 32px rgba(0, 0, 0, 0.04);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
///
|
|
255
|
+
/// Floating/lifted element shadow.
|
|
256
|
+
///
|
|
257
|
+
@mixin shadow_floating {
|
|
258
|
+
box-shadow:
|
|
259
|
+
0 12px 28px rgba(0, 0, 0, 0.1),
|
|
260
|
+
0 8px 12px rgba(0, 0, 0, 0.05);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
///
|
|
264
|
+
/// Border-like shadow (creates a shadow that looks like a border).
|
|
265
|
+
///
|
|
266
|
+
/// @param {Length} $width [1px] - Border width.
|
|
267
|
+
/// @param {Color} $color [rgba(0,0,0,0.1)] - Border color.
|
|
268
|
+
///
|
|
269
|
+
@mixin shadow_border($width: 1px, $color: rgba(0, 0, 0, 0.1)) {
|
|
270
|
+
box-shadow: 0 0 0 $width $color;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
///
|
|
274
|
+
/// Focus ring shadow for accessibility.
|
|
275
|
+
///
|
|
276
|
+
/// @param {Color} $color [#3b82f6] - Ring color.
|
|
277
|
+
/// @param {Length} $width [3px] - Ring width.
|
|
278
|
+
/// @param {Length} $offset [2px] - Ring offset.
|
|
279
|
+
///
|
|
280
|
+
@mixin shadow_focus_ring($color: #3b82f6, $width: 3px, $offset: 2px) {
|
|
281
|
+
box-shadow: 0 0 0 $offset #fff, 0 0 0 ($offset + $width) $color;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
// ============================================================================
|
|
286
|
+
// Embossed & Debossed Effects
|
|
287
|
+
// ============================================================================
|
|
288
|
+
|
|
289
|
+
///
|
|
290
|
+
/// Embossed (raised) effect.
|
|
291
|
+
///
|
|
292
|
+
@mixin shadow_embossed {
|
|
293
|
+
box-shadow:
|
|
294
|
+
inset 0 1px 0 rgba(255, 255, 255, 0.5),
|
|
295
|
+
inset 0 -1px 0 rgba(0, 0, 0, 0.1),
|
|
296
|
+
0 1px 2px rgba(0, 0, 0, 0.1);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
///
|
|
300
|
+
/// Debossed (pressed) effect.
|
|
301
|
+
///
|
|
302
|
+
@mixin shadow_debossed {
|
|
303
|
+
box-shadow:
|
|
304
|
+
inset 0 2px 4px rgba(0, 0, 0, 0.15),
|
|
305
|
+
inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
///
|
|
309
|
+
/// Neumorphism raised effect.
|
|
310
|
+
///
|
|
311
|
+
/// @param {Color} $bg-color [#e0e0e0] - Background color for calculating light/dark.
|
|
312
|
+
///
|
|
313
|
+
@mixin shadow_neumorphic_raised($bg-color: #e0e0e0) {
|
|
314
|
+
$light: color.scale($bg-color, $lightness: 15%);
|
|
315
|
+
$dark: color.scale($bg-color, $lightness: -15%);
|
|
316
|
+
|
|
317
|
+
box-shadow:
|
|
318
|
+
-8px -8px 16px $light,
|
|
319
|
+
8px 8px 16px $dark;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
///
|
|
323
|
+
/// Neumorphism pressed effect.
|
|
324
|
+
///
|
|
325
|
+
/// @param {Color} $bg-color [#e0e0e0] - Background color.
|
|
326
|
+
///
|
|
327
|
+
@mixin shadow_neumorphic_pressed($bg-color: #e0e0e0) {
|
|
328
|
+
$light: color.scale($bg-color, $lightness: 15%);
|
|
329
|
+
$dark: color.scale($bg-color, $lightness: -15%);
|
|
330
|
+
|
|
331
|
+
box-shadow:
|
|
332
|
+
inset -4px -4px 8px $light,
|
|
333
|
+
inset 4px 4px 8px $dark;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
// ============================================================================
|
|
338
|
+
// Shadow Transition Mixins
|
|
339
|
+
// ============================================================================
|
|
340
|
+
|
|
341
|
+
///
|
|
342
|
+
/// Smooth shadow transition.
|
|
343
|
+
///
|
|
344
|
+
/// @param {Time} $duration [0.3s] - Transition duration.
|
|
345
|
+
/// @param {String} $timing [ease] - Timing function.
|
|
346
|
+
///
|
|
347
|
+
@mixin shadow_transition($duration: 0.3s, $timing: ease) {
|
|
348
|
+
transition: box-shadow $duration $timing;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
///
|
|
352
|
+
/// Shadow hover effect.
|
|
353
|
+
///
|
|
354
|
+
/// @param {String} $default - Default shadow (use mixin name or custom).
|
|
355
|
+
/// @param {String} $hover - Hover shadow.
|
|
356
|
+
/// @param {Time} $duration [0.3s] - Transition duration.
|
|
357
|
+
///
|
|
358
|
+
@mixin shadow_hover($duration: 0.3s) {
|
|
359
|
+
transition: box-shadow $duration ease, transform $duration ease;
|
|
360
|
+
|
|
361
|
+
&:hover {
|
|
362
|
+
@content;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
// ============================================================================
|
|
368
|
+
// Text Shadow Presets
|
|
369
|
+
// ============================================================================
|
|
370
|
+
|
|
371
|
+
/// Subtle text shadow
|
|
372
|
+
@mixin text_shadow_subtle {
|
|
373
|
+
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
/// Medium text shadow
|
|
377
|
+
@mixin text_shadow_md {
|
|
378
|
+
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
/// Hard text shadow (no blur)
|
|
382
|
+
@mixin text_shadow_hard {
|
|
383
|
+
text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
/// Text outline using shadow
|
|
387
|
+
@mixin text_shadow_outline($color: #000) {
|
|
388
|
+
text-shadow:
|
|
389
|
+
-1px -1px 0 $color,
|
|
390
|
+
1px -1px 0 $color,
|
|
391
|
+
-1px 1px 0 $color,
|
|
392
|
+
1px 1px 0 $color;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
/// Long shadow effect for text
|
|
396
|
+
@mixin text_shadow_long($color: rgba(0, 0, 0, 0.2), $length: 10) {
|
|
397
|
+
$shadows: ();
|
|
398
|
+
@for $i from 1 through $length {
|
|
399
|
+
$shadows: append($shadows, #{$i}px #{$i}px 0 $color, comma);
|
|
400
|
+
}
|
|
401
|
+
text-shadow: $shadows;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
// ============================================================================
|
|
406
|
+
// Utility Classes Generator
|
|
407
|
+
// ============================================================================
|
|
408
|
+
|
|
409
|
+
///
|
|
410
|
+
/// Generates utility classes for shadows.
|
|
411
|
+
///
|
|
412
|
+
@mixin generate_shadow_utilities {
|
|
413
|
+
.shadow-none { @include shadow_none; }
|
|
414
|
+
.shadow-xs { @include shadow_xs; }
|
|
415
|
+
.shadow-sm { @include shadow_sm; }
|
|
416
|
+
.shadow { @include shadow_md; }
|
|
417
|
+
.shadow-md { @include shadow_md; }
|
|
418
|
+
.shadow-lg { @include shadow_lg; }
|
|
419
|
+
.shadow-xl { @include shadow_xl; }
|
|
420
|
+
.shadow-2xl { @include shadow_2xl; }
|
|
421
|
+
.shadow-inner { @include shadow_inner; }
|
|
422
|
+
|
|
423
|
+
// Elevation utilities
|
|
424
|
+
@each $level, $value in $elevations {
|
|
425
|
+
.elevation-#{$level} {
|
|
426
|
+
box-shadow: $value;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
////
|
|
2
|
+
///
|
|
3
|
+
/// Keyframes Mixin Module
|
|
4
|
+
/// ===========================================================================
|
|
5
|
+
///
|
|
6
|
+
/// This module provides a comprehensive set of keyframe animation mixins
|
|
7
|
+
/// including the base keyframes generator and common animation patterns.
|
|
8
|
+
/// Supports vendor prefixes and CSS custom properties for flexibility.
|
|
9
|
+
///
|
|
10
|
+
/// @group Keyframes
|
|
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 "sass:math";
|
|
25
|
+
@use "../../variables" as *;
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
// ============================================================================
|
|
29
|
+
// Base Keyframes Mixin
|
|
30
|
+
// ============================================================================
|
|
31
|
+
|
|
32
|
+
///
|
|
33
|
+
/// Keyframes Mixin
|
|
34
|
+
/// ---------------------------------------------------------------------------
|
|
35
|
+
///
|
|
36
|
+
/// A versatile mixin for defining CSS keyframes with vendor prefixes.
|
|
37
|
+
/// This mixin allows embedding keyframe content with the ability to specify
|
|
38
|
+
/// prefixes or additional settings easily.
|
|
39
|
+
///
|
|
40
|
+
/// @name keyframes
|
|
41
|
+
/// @param {String} $name - The name of the keyframe animation.
|
|
42
|
+
/// @content - The keyframe rules defined within the mixin block.
|
|
43
|
+
/// @example scss - Usage
|
|
44
|
+
/// @include keyframes(animate_bounce) {
|
|
45
|
+
/// 0% { transform: translateY(0); }
|
|
46
|
+
/// 50% { transform: translateY(-30px); }
|
|
47
|
+
/// 100% { transform: translateY(0); }
|
|
48
|
+
/// }
|
|
49
|
+
///
|
|
50
|
+
@mixin keyframes($name) {
|
|
51
|
+
@keyframes #{$name} {
|
|
52
|
+
@content;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@-webkit-keyframes #{$name} {
|
|
56
|
+
@content;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
// ============================================================================
|
|
62
|
+
// Animation Application Mixin
|
|
63
|
+
// ============================================================================
|
|
64
|
+
|
|
65
|
+
///
|
|
66
|
+
/// Apply animation with full control.
|
|
67
|
+
///
|
|
68
|
+
/// @param {String} $name - Animation name.
|
|
69
|
+
/// @param {Time} $duration [$keyframe-duration-default] - Duration.
|
|
70
|
+
/// @param {String} $timing [$keyframe-timing-default] - Timing function.
|
|
71
|
+
/// @param {Time} $delay [0s] - Delay before animation.
|
|
72
|
+
/// @param {Number|String} $iteration [$keyframe-iteration-default] - Iteration count.
|
|
73
|
+
/// @param {String} $direction [normal] - Direction.
|
|
74
|
+
/// @param {String} $fill-mode [forwards] - Fill mode.
|
|
75
|
+
/// @param {String} $play-state [running] - Play state.
|
|
76
|
+
///
|
|
77
|
+
@mixin animate(
|
|
78
|
+
$name,
|
|
79
|
+
$duration: $keyframe-duration-default,
|
|
80
|
+
$timing: $keyframe-timing-default,
|
|
81
|
+
$delay: 0s,
|
|
82
|
+
$iteration: $keyframe-iteration-default,
|
|
83
|
+
$direction: normal,
|
|
84
|
+
$fill-mode: forwards,
|
|
85
|
+
$play-state: running
|
|
86
|
+
) {
|
|
87
|
+
animation-name: $name;
|
|
88
|
+
animation-duration: $duration;
|
|
89
|
+
animation-timing-function: $timing;
|
|
90
|
+
animation-delay: $delay;
|
|
91
|
+
animation-iteration-count: $iteration;
|
|
92
|
+
animation-direction: $direction;
|
|
93
|
+
animation-fill-mode: $fill-mode;
|
|
94
|
+
animation-play-state: $play-state;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
///
|
|
98
|
+
/// Shorthand animation mixin.
|
|
99
|
+
///
|
|
100
|
+
/// @param {String} $animation - Full animation shorthand value.
|
|
101
|
+
///
|
|
102
|
+
@mixin animation($animation) {
|
|
103
|
+
animation: $animation;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
///
|
|
107
|
+
/// Infinite looping animation.
|
|
108
|
+
///
|
|
109
|
+
/// @param {String} $name - Animation name.
|
|
110
|
+
/// @param {Time} $duration [1s] - Duration per cycle.
|
|
111
|
+
/// @param {String} $timing [linear] - Timing function.
|
|
112
|
+
///
|
|
113
|
+
@mixin animate_infinite($name, $duration: 1s, $timing: linear) {
|
|
114
|
+
animation: $name $duration $timing infinite;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
// ============================================================================
|
|
119
|
+
// Loading Animation Keyframes
|
|
120
|
+
// ============================================================================
|
|
121
|
+
|
|
122
|
+
///
|
|
123
|
+
/// Spinner rotation.
|
|
124
|
+
///
|
|
125
|
+
@mixin keyframes_spinner {
|
|
126
|
+
@include keyframes(spinner) {
|
|
127
|
+
from { transform: rotate(0deg); }
|
|
128
|
+
to { transform: rotate(360deg); }
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
///
|
|
133
|
+
/// Dots loading animation.
|
|
134
|
+
///
|
|
135
|
+
@mixin keyframes_dots {
|
|
136
|
+
@include keyframes(dots) {
|
|
137
|
+
0%, 80%, 100% {
|
|
138
|
+
transform: scale(0);
|
|
139
|
+
opacity: 0.5;
|
|
140
|
+
}
|
|
141
|
+
40% {
|
|
142
|
+
transform: scale(1);
|
|
143
|
+
opacity: 1;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
///
|
|
149
|
+
/// Progress bar animation.
|
|
150
|
+
///
|
|
151
|
+
@mixin keyframes_progress {
|
|
152
|
+
@include keyframes(progress) {
|
|
153
|
+
from { width: 0%; }
|
|
154
|
+
to { width: 100%; }
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
///
|
|
159
|
+
/// Skeleton loading shimmer.
|
|
160
|
+
///
|
|
161
|
+
@mixin keyframes_shimmer {
|
|
162
|
+
@include keyframes(shimmer) {
|
|
163
|
+
from {
|
|
164
|
+
background-position: -200% 0;
|
|
165
|
+
}
|
|
166
|
+
to {
|
|
167
|
+
background-position: 200% 0;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
// ============================================================================
|
|
174
|
+
// Animation Control Mixins
|
|
175
|
+
// ============================================================================
|
|
176
|
+
|
|
177
|
+
///
|
|
178
|
+
/// Pause animation.
|
|
179
|
+
///
|
|
180
|
+
@mixin animation_pause {
|
|
181
|
+
animation-play-state: paused;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
///
|
|
185
|
+
/// Resume animation.
|
|
186
|
+
///
|
|
187
|
+
@mixin animation_play {
|
|
188
|
+
animation-play-state: running;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
///
|
|
192
|
+
/// Reduce motion for accessibility.
|
|
193
|
+
///
|
|
194
|
+
@mixin animation_reduce_motion {
|
|
195
|
+
@media (prefers-reduced-motion: reduce) {
|
|
196
|
+
animation: none !important;
|
|
197
|
+
transition: none !important;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
////
|
|
2
|
+
///
|
|
3
|
+
/// Keyframes Mixin Module
|
|
4
|
+
/// =========================================================================
|
|
5
|
+
///
|
|
6
|
+
/// CSS @keyframes definitions organized by category. The animations
|
|
7
|
+
/// subfolder contains all animation-related keyframes (bounce, fade,
|
|
8
|
+
/// spin, shake, etc.).
|
|
9
|
+
///
|
|
10
|
+
/// @group Keyframes
|
|
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
|
+
// Forward Modules
|
|
21
|
+
// ============================================================================
|
|
22
|
+
|
|
23
|
+
@forward "base";
|
|
24
|
+
@forward "animations";
|