// ============================================================================
// move.gl | Sway Keyframes
// ============================================================================
// Copyright 2025 Scape Agency BV
// Licensed under MIT License
// ============================================================================

////
/// Sway Keyframes Module
/// ===========================================================================
///
/// Provides parameterized keyframe mixins for sway animations.
/// Simulates wind or pendulum motion.
///
/// @group Keyframes
/// @author Scape Agency
/// @link https://move.gl
/// @since 0.1.0 initial release
/// @access public
////


// ============================================================================
// Keyframes
// ============================================================================


///
/// Sway Keyframes
/// @name keyframes_animate_sway
/// @param {Angle} $angle [5deg] - The maximum angle to sway.
///
@mixin keyframes_animate_sway($angle: $animate_angle_sway) {
    @keyframes animate_sway {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate($angle); }
    }
}


///
/// Sway Slow Keyframes
/// @name keyframes_animate_sway_slow
/// @param {Angle} $angle [3deg] - The maximum angle to sway.
///
@mixin keyframes_animate_sway_slow($angle: $animate_angle_sway_slow) {
    @keyframes animate_sway_slow {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate($angle); }
    }
}


///
/// Sway Fast Keyframes
/// @name keyframes_animate_sway_fast
/// @param {Angle} $angle [10deg] - The maximum angle to sway.
///
@mixin keyframes_animate_sway_fast($angle: $animate_angle_sway_fast) {
    @keyframes animate_sway_fast {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate($angle); }
    }
}


///
/// Sway Fade Keyframes
/// @name keyframes_animate_sway_fade
/// @param {Angle} $angle [5deg] - The maximum angle to sway.
///
@mixin keyframes_animate_sway_fade($angle: $animate_angle_sway) {
    @keyframes animate_sway_fade {
        0%, 100% {
            transform: rotate(0deg);
            opacity: 1;
        }
        50% {
            transform: rotate($angle);
            opacity: 0.5;
        }
    }
}
