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,128 @@
|
|
|
1
|
+
////
|
|
2
|
+
///
|
|
3
|
+
/// Blend Mode Effects Mixin Module
|
|
4
|
+
/// ===========================================================================
|
|
5
|
+
///
|
|
6
|
+
/// This module provides mixins for mix-blend-mode and background-blend-mode
|
|
7
|
+
/// effects for creating composite visual effects.
|
|
8
|
+
///
|
|
9
|
+
/// @group Effects
|
|
10
|
+
/// @author Scape Agency
|
|
11
|
+
/// @link https://move.gl
|
|
12
|
+
/// @since 0.1.0 initial release
|
|
13
|
+
/// @access public
|
|
14
|
+
///
|
|
15
|
+
////
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
// ============================================================================
|
|
19
|
+
// Mix Blend Mode Mixins
|
|
20
|
+
// ============================================================================
|
|
21
|
+
|
|
22
|
+
///
|
|
23
|
+
/// Sets mix-blend-mode property.
|
|
24
|
+
///
|
|
25
|
+
/// @param {String} $mode [normal] - The blend mode.
|
|
26
|
+
///
|
|
27
|
+
@mixin mix_blend($mode: normal) {
|
|
28
|
+
mix-blend-mode: $mode;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/// Normal blend mode
|
|
32
|
+
@mixin blend_normal { mix-blend-mode: normal; }
|
|
33
|
+
|
|
34
|
+
/// Multiply blend mode
|
|
35
|
+
@mixin blend_multiply { mix-blend-mode: multiply; }
|
|
36
|
+
|
|
37
|
+
/// Screen blend mode
|
|
38
|
+
@mixin blend_screen { mix-blend-mode: screen; }
|
|
39
|
+
|
|
40
|
+
/// Overlay blend mode
|
|
41
|
+
@mixin blend_overlay { mix-blend-mode: overlay; }
|
|
42
|
+
|
|
43
|
+
/// Darken blend mode
|
|
44
|
+
@mixin blend_darken { mix-blend-mode: darken; }
|
|
45
|
+
|
|
46
|
+
/// Lighten blend mode
|
|
47
|
+
@mixin blend_lighten { mix-blend-mode: lighten; }
|
|
48
|
+
|
|
49
|
+
/// Color dodge blend mode
|
|
50
|
+
@mixin blend_color_dodge { mix-blend-mode: color-dodge; }
|
|
51
|
+
|
|
52
|
+
/// Color burn blend mode
|
|
53
|
+
@mixin blend_color_burn { mix-blend-mode: color-burn; }
|
|
54
|
+
|
|
55
|
+
/// Hard light blend mode
|
|
56
|
+
@mixin blend_hard_light { mix-blend-mode: hard-light; }
|
|
57
|
+
|
|
58
|
+
/// Soft light blend mode
|
|
59
|
+
@mixin blend_soft_light { mix-blend-mode: soft-light; }
|
|
60
|
+
|
|
61
|
+
/// Difference blend mode
|
|
62
|
+
@mixin blend_difference { mix-blend-mode: difference; }
|
|
63
|
+
|
|
64
|
+
/// Exclusion blend mode
|
|
65
|
+
@mixin blend_exclusion { mix-blend-mode: exclusion; }
|
|
66
|
+
|
|
67
|
+
/// Hue blend mode
|
|
68
|
+
@mixin blend_hue { mix-blend-mode: hue; }
|
|
69
|
+
|
|
70
|
+
/// Saturation blend mode
|
|
71
|
+
@mixin blend_saturation { mix-blend-mode: saturation; }
|
|
72
|
+
|
|
73
|
+
/// Color blend mode
|
|
74
|
+
@mixin blend_color { mix-blend-mode: color; }
|
|
75
|
+
|
|
76
|
+
/// Luminosity blend mode
|
|
77
|
+
@mixin blend_luminosity { mix-blend-mode: luminosity; }
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
// ============================================================================
|
|
81
|
+
// Background Blend Mode Mixins
|
|
82
|
+
// ============================================================================
|
|
83
|
+
|
|
84
|
+
///
|
|
85
|
+
/// Sets background-blend-mode property.
|
|
86
|
+
///
|
|
87
|
+
/// @param {String} $mode [normal] - The blend mode.
|
|
88
|
+
///
|
|
89
|
+
@mixin bg_blend($mode: normal) {
|
|
90
|
+
background-blend-mode: $mode;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/// Normal background blend mode
|
|
94
|
+
@mixin bg_blend_normal { background-blend-mode: normal; }
|
|
95
|
+
|
|
96
|
+
/// Multiply background blend mode
|
|
97
|
+
@mixin bg_blend_multiply { background-blend-mode: multiply; }
|
|
98
|
+
|
|
99
|
+
/// Screen background blend mode
|
|
100
|
+
@mixin bg_blend_screen { background-blend-mode: screen; }
|
|
101
|
+
|
|
102
|
+
/// Overlay background blend mode
|
|
103
|
+
@mixin bg_blend_overlay { background-blend-mode: overlay; }
|
|
104
|
+
|
|
105
|
+
/// Darken background blend mode
|
|
106
|
+
@mixin bg_blend_darken { background-blend-mode: darken; }
|
|
107
|
+
|
|
108
|
+
/// Lighten background blend mode
|
|
109
|
+
@mixin bg_blend_lighten { background-blend-mode: lighten; }
|
|
110
|
+
|
|
111
|
+
/// Color dodge background blend mode
|
|
112
|
+
@mixin bg_blend_color_dodge { background-blend-mode: color-dodge; }
|
|
113
|
+
|
|
114
|
+
/// Color burn background blend mode
|
|
115
|
+
@mixin bg_blend_color_burn { background-blend-mode: color-burn; }
|
|
116
|
+
|
|
117
|
+
/// Hard light background blend mode
|
|
118
|
+
@mixin bg_blend_hard_light { background-blend-mode: hard-light; }
|
|
119
|
+
|
|
120
|
+
/// Soft light background blend mode
|
|
121
|
+
@mixin bg_blend_soft_light { background-blend-mode: soft-light; }
|
|
122
|
+
|
|
123
|
+
/// Difference background blend mode
|
|
124
|
+
@mixin bg_blend_difference { background-blend-mode: difference; }
|
|
125
|
+
|
|
126
|
+
/// Exclusion background blend mode
|
|
127
|
+
@mixin bg_blend_exclusion { background-blend-mode: exclusion; }
|
|
128
|
+
|
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
////
|
|
2
|
+
///
|
|
3
|
+
/// Filter Effects Mixin Module
|
|
4
|
+
/// ===========================================================================
|
|
5
|
+
///
|
|
6
|
+
/// This module provides a comprehensive set of CSS filter mixins for creating
|
|
7
|
+
/// visual effects like blur, grayscale, brightness, contrast, and more.
|
|
8
|
+
/// Includes individual filters, combinations, transitions, 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:list";
|
|
25
|
+
@use "sass:math";
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
// ============================================================================
|
|
29
|
+
// Base Filter Mixins
|
|
30
|
+
// ============================================================================
|
|
31
|
+
|
|
32
|
+
///
|
|
33
|
+
/// Mixin for blur effect.
|
|
34
|
+
///
|
|
35
|
+
/// @param {Length} $radius [0] - The radius of the blur effect.
|
|
36
|
+
/// @example scss - Usage
|
|
37
|
+
/// .example { @include filter_blur(5px); }
|
|
38
|
+
///
|
|
39
|
+
@mixin filter_blur($radius: 0) {
|
|
40
|
+
filter: blur($radius);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
///
|
|
44
|
+
/// Mixin for grayscale effect.
|
|
45
|
+
///
|
|
46
|
+
/// @param {Percentage} $amount [100%] - The amount of grayscale to apply.
|
|
47
|
+
/// @example scss - Usage
|
|
48
|
+
/// .example { @include filter_grayscale(50%); }
|
|
49
|
+
///
|
|
50
|
+
@mixin filter_grayscale($amount: 100%) {
|
|
51
|
+
filter: grayscale($amount);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
///
|
|
55
|
+
/// Mixin for brightness effect.
|
|
56
|
+
///
|
|
57
|
+
/// @param {Percentage} $amount [100%] - The amount of brightness to apply.
|
|
58
|
+
/// @example scss - Usage
|
|
59
|
+
/// .example { @include filter_brightness(120%); }
|
|
60
|
+
///
|
|
61
|
+
@mixin filter_brightness($amount: 100%) {
|
|
62
|
+
filter: brightness($amount);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
///
|
|
66
|
+
/// Mixin for contrast effect.
|
|
67
|
+
///
|
|
68
|
+
/// @param {Percentage} $amount [100%] - The amount of contrast to apply.
|
|
69
|
+
/// @example scss - Usage
|
|
70
|
+
/// .example { @include filter_contrast(80%); }
|
|
71
|
+
///
|
|
72
|
+
@mixin filter_contrast($amount: 100%) {
|
|
73
|
+
filter: contrast($amount);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
///
|
|
77
|
+
/// Mixin for sepia effect.
|
|
78
|
+
///
|
|
79
|
+
/// @param {Percentage} $amount [100%] - The amount of sepia to apply.
|
|
80
|
+
/// @example scss - Usage
|
|
81
|
+
/// .example { @include filter_sepia(50%); }
|
|
82
|
+
///
|
|
83
|
+
@mixin filter_sepia($amount: 100%) {
|
|
84
|
+
filter: sepia($amount);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
///
|
|
88
|
+
/// Mixin for invert effect.
|
|
89
|
+
///
|
|
90
|
+
/// @param {Percentage} $amount [100%] - The amount of inversion to apply.
|
|
91
|
+
/// @example scss - Usage
|
|
92
|
+
/// .example { @include filter_invert(50%); }
|
|
93
|
+
///
|
|
94
|
+
@mixin filter_invert($amount: 100%) {
|
|
95
|
+
filter: invert($amount);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
///
|
|
99
|
+
/// Mixin for hue-rotate effect.
|
|
100
|
+
///
|
|
101
|
+
/// @param {Angle} $angle [0deg] - The angle of hue rotation.
|
|
102
|
+
/// @example scss - Usage
|
|
103
|
+
/// .example { @include filter_hue_rotate(90deg); }
|
|
104
|
+
///
|
|
105
|
+
@mixin filter_hue_rotate($angle: 0deg) {
|
|
106
|
+
filter: hue-rotate($angle);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
///
|
|
110
|
+
/// Mixin for saturate effect.
|
|
111
|
+
///
|
|
112
|
+
/// @param {Percentage} $amount [100%] - The amount of saturation to apply.
|
|
113
|
+
/// @example scss - Usage
|
|
114
|
+
/// .example { @include filter_saturate(200%); }
|
|
115
|
+
///
|
|
116
|
+
@mixin filter_saturate($amount: 100%) {
|
|
117
|
+
filter: saturate($amount);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
///
|
|
121
|
+
/// Mixin for opacity filter effect.
|
|
122
|
+
///
|
|
123
|
+
/// @param {Percentage} $amount [100%] - The opacity amount.
|
|
124
|
+
/// @example scss - Usage
|
|
125
|
+
/// .example { @include filter_opacity(50%); }
|
|
126
|
+
///
|
|
127
|
+
@mixin filter_opacity($amount: 100%) {
|
|
128
|
+
filter: opacity($amount);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
///
|
|
132
|
+
/// Mixin for drop shadow effect.
|
|
133
|
+
///
|
|
134
|
+
/// @param {Length} $offsetX [0] - Horizontal offset.
|
|
135
|
+
/// @param {Length} $offsetY [0] - Vertical offset.
|
|
136
|
+
/// @param {Length} $blurRadius [0] - Blur radius.
|
|
137
|
+
/// @param {Color} $color [#000] - Shadow color.
|
|
138
|
+
/// @example scss - Usage
|
|
139
|
+
/// .example { @include filter_drop_shadow(10px, 10px, 5px, rgba(0, 0, 0, 0.5)); }
|
|
140
|
+
///
|
|
141
|
+
@mixin filter_drop_shadow($offsetX: 0, $offsetY: 0, $blurRadius: 0, $color: #000) {
|
|
142
|
+
filter: drop-shadow($offsetX $offsetY $blurRadius $color);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
// ============================================================================
|
|
147
|
+
// Combined Filter Mixins
|
|
148
|
+
// ============================================================================
|
|
149
|
+
|
|
150
|
+
///
|
|
151
|
+
/// Mixin for combining multiple filters.
|
|
152
|
+
///
|
|
153
|
+
/// @param {...} $filters - A list of filter functions.
|
|
154
|
+
/// @example scss - Usage
|
|
155
|
+
/// .example { @include filter_combine(blur(5px), brightness(120%)); }
|
|
156
|
+
///
|
|
157
|
+
@mixin filter_combine($filters...) {
|
|
158
|
+
filter: $filters;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
///
|
|
162
|
+
/// Applies multiple filters with a single mixin call.
|
|
163
|
+
///
|
|
164
|
+
/// @param {Length} $blur [null] - Blur radius.
|
|
165
|
+
/// @param {Percentage} $brightness [null] - Brightness amount.
|
|
166
|
+
/// @param {Percentage} $contrast [null] - Contrast amount.
|
|
167
|
+
/// @param {Percentage} $grayscale [null] - Grayscale amount.
|
|
168
|
+
/// @param {Angle} $hue-rotate [null] - Hue rotation angle.
|
|
169
|
+
/// @param {Percentage} $invert [null] - Invert amount.
|
|
170
|
+
/// @param {Percentage} $saturate [null] - Saturation amount.
|
|
171
|
+
/// @param {Percentage} $sepia [null] - Sepia amount.
|
|
172
|
+
/// @param {List} $drop-shadow [null] - Drop shadow values.
|
|
173
|
+
///
|
|
174
|
+
@mixin filter_multi(
|
|
175
|
+
$blur: null,
|
|
176
|
+
$brightness: null,
|
|
177
|
+
$contrast: null,
|
|
178
|
+
$grayscale: null,
|
|
179
|
+
$hue-rotate: null,
|
|
180
|
+
$invert: null,
|
|
181
|
+
$saturate: null,
|
|
182
|
+
$sepia: null,
|
|
183
|
+
$drop-shadow: null
|
|
184
|
+
) {
|
|
185
|
+
$filters: ();
|
|
186
|
+
|
|
187
|
+
@if $blur { $filters: append($filters, blur($blur)); }
|
|
188
|
+
@if $brightness { $filters: append($filters, brightness($brightness)); }
|
|
189
|
+
@if $contrast { $filters: append($filters, contrast($contrast)); }
|
|
190
|
+
@if $grayscale { $filters: append($filters, grayscale($grayscale)); }
|
|
191
|
+
@if $hue-rotate { $filters: append($filters, hue-rotate($hue-rotate)); }
|
|
192
|
+
@if $invert { $filters: append($filters, invert($invert)); }
|
|
193
|
+
@if $saturate { $filters: append($filters, saturate($saturate)); }
|
|
194
|
+
@if $sepia { $filters: append($filters, sepia($sepia)); }
|
|
195
|
+
@if $drop-shadow { $filters: append($filters, drop-shadow($drop-shadow)); }
|
|
196
|
+
|
|
197
|
+
@if length($filters) > 0 {
|
|
198
|
+
filter: $filters;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
// ============================================================================
|
|
204
|
+
// Filter Transition Mixins
|
|
205
|
+
// ============================================================================
|
|
206
|
+
|
|
207
|
+
///
|
|
208
|
+
/// Applies a filter with smooth transition support.
|
|
209
|
+
///
|
|
210
|
+
/// @param {String} $filter - The filter to apply.
|
|
211
|
+
/// @param {Time} $duration [0.3s] - Transition duration.
|
|
212
|
+
/// @param {String} $timing [ease] - Timing function.
|
|
213
|
+
///
|
|
214
|
+
@mixin filter_transition($duration: 0.3s, $timing: ease) {
|
|
215
|
+
transition: filter $duration $timing;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
///
|
|
219
|
+
/// Applies a hover filter effect with transition.
|
|
220
|
+
///
|
|
221
|
+
/// @param {String} $default-filter [none] - Default filter state.
|
|
222
|
+
/// @param {String} $hover-filter - Filter to apply on hover.
|
|
223
|
+
/// @param {Time} $duration [0.3s] - Transition duration.
|
|
224
|
+
///
|
|
225
|
+
@mixin filter_hover($default-filter: none, $hover-filter, $duration: 0.3s) {
|
|
226
|
+
filter: $default-filter;
|
|
227
|
+
transition: filter $duration ease;
|
|
228
|
+
|
|
229
|
+
&:hover {
|
|
230
|
+
filter: $hover-filter;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
// ============================================================================
|
|
236
|
+
// Backdrop Filter Mixins
|
|
237
|
+
// ============================================================================
|
|
238
|
+
|
|
239
|
+
///
|
|
240
|
+
/// Applies backdrop blur effect (frosted glass).
|
|
241
|
+
///
|
|
242
|
+
/// @param {Length} $radius [10px] - Blur radius.
|
|
243
|
+
/// @example scss - Usage
|
|
244
|
+
/// .glass { @include backdrop_blur(20px); }
|
|
245
|
+
///
|
|
246
|
+
@mixin backdrop_blur($radius: 10px) {
|
|
247
|
+
backdrop-filter: blur($radius);
|
|
248
|
+
-webkit-backdrop-filter: blur($radius);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
///
|
|
252
|
+
/// Creates a frosted glass effect with multiple backdrop filters.
|
|
253
|
+
///
|
|
254
|
+
/// @param {Length} $blur [10px] - Blur amount.
|
|
255
|
+
/// @param {Percentage} $saturation [180%] - Saturation boost.
|
|
256
|
+
/// @param {Percentage} $brightness [100%] - Brightness adjustment.
|
|
257
|
+
///
|
|
258
|
+
@mixin backdrop_glass($blur: 10px, $saturation: 180%, $brightness: 100%) {
|
|
259
|
+
backdrop-filter: blur($blur) saturate($saturation) brightness($brightness);
|
|
260
|
+
-webkit-backdrop-filter: blur($blur) saturate($saturation) brightness($brightness);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
///
|
|
264
|
+
/// Applies backdrop grayscale effect.
|
|
265
|
+
///
|
|
266
|
+
/// @param {Percentage} $amount [100%] - Grayscale amount.
|
|
267
|
+
///
|
|
268
|
+
@mixin backdrop_grayscale($amount: 100%) {
|
|
269
|
+
backdrop-filter: grayscale($amount);
|
|
270
|
+
-webkit-backdrop-filter: grayscale($amount);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
///
|
|
274
|
+
/// Combines multiple backdrop filters.
|
|
275
|
+
///
|
|
276
|
+
/// @param {Length} $blur [null] - Blur radius.
|
|
277
|
+
/// @param {Percentage} $brightness [null] - Brightness.
|
|
278
|
+
/// @param {Percentage} $contrast [null] - Contrast.
|
|
279
|
+
/// @param {Percentage} $grayscale [null] - Grayscale.
|
|
280
|
+
/// @param {Angle} $hue-rotate [null] - Hue rotation.
|
|
281
|
+
/// @param {Percentage} $invert [null] - Invert.
|
|
282
|
+
/// @param {Percentage} $saturate [null] - Saturation.
|
|
283
|
+
/// @param {Percentage} $sepia [null] - Sepia.
|
|
284
|
+
///
|
|
285
|
+
@mixin backdrop_multi(
|
|
286
|
+
$blur: null,
|
|
287
|
+
$brightness: null,
|
|
288
|
+
$contrast: null,
|
|
289
|
+
$grayscale: null,
|
|
290
|
+
$hue-rotate: null,
|
|
291
|
+
$invert: null,
|
|
292
|
+
$saturate: null,
|
|
293
|
+
$sepia: null
|
|
294
|
+
) {
|
|
295
|
+
$filters: ();
|
|
296
|
+
|
|
297
|
+
@if $blur { $filters: list.append($filters, blur($blur)); }
|
|
298
|
+
@if $brightness { $filters: list.append($filters, brightness($brightness)); }
|
|
299
|
+
@if $contrast { $filters: list.append($filters, contrast($contrast)); }
|
|
300
|
+
@if $grayscale { $filters: list.append($filters, grayscale($grayscale)); }
|
|
301
|
+
@if $hue-rotate { $filters: list.append($filters, hue-rotate($hue-rotate)); }
|
|
302
|
+
@if $invert { $filters: list.append($filters, invert($invert)); }
|
|
303
|
+
@if $saturate { $filters: list.append($filters, saturate($saturate)); }
|
|
304
|
+
@if $sepia { $filters: list.append($filters, sepia($sepia)); }
|
|
305
|
+
|
|
306
|
+
@if list.length($filters) > 0 {
|
|
307
|
+
backdrop-filter: $filters;
|
|
308
|
+
-webkit-backdrop-filter: $filters;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
// ============================================================================
|
|
314
|
+
// Filter Presets
|
|
315
|
+
// ============================================================================
|
|
316
|
+
|
|
317
|
+
///
|
|
318
|
+
/// Vintage photo effect preset.
|
|
319
|
+
///
|
|
320
|
+
@mixin filter_preset_vintage {
|
|
321
|
+
filter: sepia(50%) contrast(95%) brightness(90%) saturate(150%);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
///
|
|
325
|
+
/// Dramatic high-contrast preset.
|
|
326
|
+
///
|
|
327
|
+
@mixin filter_preset_dramatic {
|
|
328
|
+
filter: contrast(150%) brightness(90%) saturate(120%);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
///
|
|
332
|
+
/// Cold/cool tone preset.
|
|
333
|
+
///
|
|
334
|
+
@mixin filter_preset_cold {
|
|
335
|
+
filter: hue-rotate(180deg) saturate(80%) brightness(105%);
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
///
|
|
339
|
+
/// Warm tone preset.
|
|
340
|
+
///
|
|
341
|
+
@mixin filter_preset_warm {
|
|
342
|
+
filter: sepia(30%) brightness(105%) saturate(130%);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
///
|
|
346
|
+
/// Faded/matte preset.
|
|
347
|
+
///
|
|
348
|
+
@mixin filter_preset_faded {
|
|
349
|
+
filter: contrast(90%) brightness(110%) saturate(80%);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
///
|
|
353
|
+
/// High saturation/vivid preset.
|
|
354
|
+
///
|
|
355
|
+
@mixin filter_preset_vivid {
|
|
356
|
+
filter: saturate(180%) contrast(110%) brightness(105%);
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
///
|
|
360
|
+
/// Noir/black and white with contrast preset.
|
|
361
|
+
///
|
|
362
|
+
@mixin filter_preset_noir {
|
|
363
|
+
filter: grayscale(100%) contrast(120%) brightness(90%);
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
///
|
|
367
|
+
/// Dreamy/soft focus preset.
|
|
368
|
+
///
|
|
369
|
+
@mixin filter_preset_dreamy {
|
|
370
|
+
filter: blur(1px) brightness(110%) saturate(120%);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
///
|
|
374
|
+
/// X-ray/inverted preset.
|
|
375
|
+
///
|
|
376
|
+
@mixin filter_preset_xray {
|
|
377
|
+
filter: invert(100%) hue-rotate(180deg);
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
///
|
|
381
|
+
/// Duotone effect (requires additional CSS for color overlay).
|
|
382
|
+
///
|
|
383
|
+
/// @param {Angle} $hue [0deg] - The hue rotation for duotone color.
|
|
384
|
+
///
|
|
385
|
+
@mixin filter_preset_duotone($hue: 0deg) {
|
|
386
|
+
filter: grayscale(100%) brightness(110%) contrast(110%);
|
|
387
|
+
|
|
388
|
+
&::after {
|
|
389
|
+
content: '';
|
|
390
|
+
position: absolute;
|
|
391
|
+
inset: 0;
|
|
392
|
+
background: hsl($hue, 70%, 50%);
|
|
393
|
+
mix-blend-mode: multiply;
|
|
394
|
+
pointer-events: none;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
// ============================================================================
|
|
400
|
+
// SVG Filter Reference Mixins
|
|
401
|
+
// ============================================================================
|
|
402
|
+
|
|
403
|
+
///
|
|
404
|
+
/// Applies an SVG filter by ID reference.
|
|
405
|
+
///
|
|
406
|
+
/// @param {String} $filter-id - The ID of the SVG filter element.
|
|
407
|
+
/// @example scss - Usage
|
|
408
|
+
/// .element { @include filter_svg('myCustomFilter'); }
|
|
409
|
+
///
|
|
410
|
+
@mixin filter_svg($filter-id) {
|
|
411
|
+
filter: url('##{$filter-id}');
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
// ============================================================================
|
|
416
|
+
// Utility Classes Generator
|
|
417
|
+
// ============================================================================
|
|
418
|
+
|
|
419
|
+
///
|
|
420
|
+
/// Generates utility classes for common filter effects.
|
|
421
|
+
///
|
|
422
|
+
@mixin generate_filter_utilities {
|
|
423
|
+
.filter-none { filter: none !important; }
|
|
424
|
+
|
|
425
|
+
// Blur utilities
|
|
426
|
+
@for $i from 1 through 10 {
|
|
427
|
+
.blur-#{$i} { filter: blur(#{$i}px); }
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
// Grayscale utilities
|
|
431
|
+
.grayscale { filter: grayscale(100%); }
|
|
432
|
+
.grayscale-50 { filter: grayscale(50%); }
|
|
433
|
+
|
|
434
|
+
// Brightness utilities
|
|
435
|
+
.brightness-50 { filter: brightness(50%); }
|
|
436
|
+
.brightness-75 { filter: brightness(75%); }
|
|
437
|
+
.brightness-90 { filter: brightness(90%); }
|
|
438
|
+
.brightness-100 { filter: brightness(100%); }
|
|
439
|
+
.brightness-110 { filter: brightness(110%); }
|
|
440
|
+
.brightness-125 { filter: brightness(125%); }
|
|
441
|
+
.brightness-150 { filter: brightness(150%); }
|
|
442
|
+
|
|
443
|
+
// Contrast utilities
|
|
444
|
+
.contrast-50 { filter: contrast(50%); }
|
|
445
|
+
.contrast-75 { filter: contrast(75%); }
|
|
446
|
+
.contrast-100 { filter: contrast(100%); }
|
|
447
|
+
.contrast-125 { filter: contrast(125%); }
|
|
448
|
+
.contrast-150 { filter: contrast(150%); }
|
|
449
|
+
|
|
450
|
+
// Saturate utilities
|
|
451
|
+
.saturate-0 { filter: saturate(0%); }
|
|
452
|
+
.saturate-50 { filter: saturate(50%); }
|
|
453
|
+
.saturate-100 { filter: saturate(100%); }
|
|
454
|
+
.saturate-150 { filter: saturate(150%); }
|
|
455
|
+
.saturate-200 { filter: saturate(200%); }
|
|
456
|
+
|
|
457
|
+
// Sepia utility
|
|
458
|
+
.sepia { filter: sepia(100%); }
|
|
459
|
+
|
|
460
|
+
// Invert utility
|
|
461
|
+
.invert { filter: invert(100%); }
|
|
462
|
+
|
|
463
|
+
// Hue rotate utilities
|
|
464
|
+
.hue-rotate-15 { filter: hue-rotate(15deg); }
|
|
465
|
+
.hue-rotate-30 { filter: hue-rotate(30deg); }
|
|
466
|
+
.hue-rotate-60 { filter: hue-rotate(60deg); }
|
|
467
|
+
.hue-rotate-90 { filter: hue-rotate(90deg); }
|
|
468
|
+
.hue-rotate-180 { filter: hue-rotate(180deg); }
|
|
469
|
+
}
|
|
470
|
+
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
////
|
|
2
|
+
///
|
|
3
|
+
/// Focus Effects Mixin Module
|
|
4
|
+
/// ===========================================================================
|
|
5
|
+
///
|
|
6
|
+
/// This module provides mixins for focus state effects.
|
|
7
|
+
///
|
|
8
|
+
/// @group Effects
|
|
9
|
+
/// @author Scape Agency
|
|
10
|
+
/// @link https://move.gl
|
|
11
|
+
/// @since 0.1.0 initial release
|
|
12
|
+
/// @access public
|
|
13
|
+
///
|
|
14
|
+
////
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
// ============================================================================
|
|
18
|
+
// Use
|
|
19
|
+
// ============================================================================
|
|
20
|
+
|
|
21
|
+
@use "../../variables" as *;
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
// ============================================================================
|
|
25
|
+
// Focus State Mixins
|
|
26
|
+
// ============================================================================
|
|
27
|
+
|
|
28
|
+
///
|
|
29
|
+
/// Default focus style with outline.
|
|
30
|
+
///
|
|
31
|
+
/// @param {Color} $color [$focus-color-default] - Outline color.
|
|
32
|
+
/// @param {Length} $width [2px] - Outline width.
|
|
33
|
+
/// @param {Length} $offset [2px] - Outline offset.
|
|
34
|
+
///
|
|
35
|
+
@mixin focus_default($color: $focus-color-default, $width: 2px, $offset: 2px) {
|
|
36
|
+
&:focus {
|
|
37
|
+
outline: $width solid $color;
|
|
38
|
+
outline-offset: $offset;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
///
|
|
43
|
+
/// Focus ring using box-shadow.
|
|
44
|
+
///
|
|
45
|
+
/// @param {Color} $color [$focus-color-default] - Ring color.
|
|
46
|
+
/// @param {Number} $opacity [0.5] - Ring opacity.
|
|
47
|
+
/// @param {Length} $spread [3px] - Ring spread.
|
|
48
|
+
///
|
|
49
|
+
@mixin focus_ring($color: $focus-color-default, $opacity: 0.5, $spread: 3px) {
|
|
50
|
+
&:focus {
|
|
51
|
+
outline: none;
|
|
52
|
+
box-shadow: 0 0 0 $spread rgba($color, $opacity);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
///
|
|
57
|
+
/// Focus glow effect.
|
|
58
|
+
///
|
|
59
|
+
/// @param {Color} $color [$focus-color-default] - Glow color.
|
|
60
|
+
/// @param {Number} $opacity [0.6] - Glow opacity.
|
|
61
|
+
/// @param {Length} $spread [15px] - Glow spread.
|
|
62
|
+
///
|
|
63
|
+
@mixin focus_glow($color: $focus-color-default, $opacity: 0.6, $spread: 15px) {
|
|
64
|
+
&:focus {
|
|
65
|
+
outline: none;
|
|
66
|
+
box-shadow: 0 0 $spread rgba($color, $opacity);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
///
|
|
71
|
+
/// Focus outline (dashed style).
|
|
72
|
+
///
|
|
73
|
+
/// @param {Color} $color [$focus-color-purple] - Outline color.
|
|
74
|
+
/// @param {Length} $width [3px] - Outline width.
|
|
75
|
+
/// @param {Length} $offset [3px] - Outline offset.
|
|
76
|
+
///
|
|
77
|
+
@mixin focus_outline($color: $focus-color-purple, $width: 3px, $offset: 3px) {
|
|
78
|
+
&:focus {
|
|
79
|
+
outline: $width dashed $color;
|
|
80
|
+
outline-offset: $offset;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|