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

////
/// Pop Keyframes Module
/// ===========================================================================
///
/// Provides parameterized keyframe mixins for pop animations.
/// Quick pop-in/pop-out animations for element emphasis.
///
/// @group Keyframes
/// @author Scape Agency
/// @link https://move.gl
/// @since 0.1.0 initial release
/// @access public
////


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


///
/// Pop Keyframes
/// @name keyframes_animate_pop
/// @param {Number} $scale [1.2] - The scale factor.
///
@mixin keyframes_animate_pop($scale: $animate_scale_pop) {
    @keyframes animate_pop {
        0%, 100% { transform: scale(1); }
        50% { transform: scale($scale); }
    }
}


///
/// Pop Fast Keyframes
/// @name keyframes_animate_pop_fast
/// @param {Number} $scale [1.2] - The scale factor.
///
@mixin keyframes_animate_pop_fast($scale: $animate_scale_pop) {
    @keyframes animate_pop_fast {
        0%, 100% { transform: scale(1); }
        50% { transform: scale($scale); }
    }
}


///
/// Pop Slow Keyframes
/// @name keyframes_animate_pop_slow
/// @param {Number} $scale [1.1] - The scale factor.
///
@mixin keyframes_animate_pop_slow($scale: $animate_scale_bounce) {
    @keyframes animate_pop_slow {
        0%, 100% { transform: scale(1); }
        50% { transform: scale($scale); }
    }
}


///
/// Pop Rotate Keyframes
/// @name keyframes_animate_pop_rotate
/// @param {Number} $scale [1.2] - The scale factor.
/// @param {Angle} $rotation_angle [10deg] - The rotation angle.
///
@mixin keyframes_animate_pop_rotate($scale: $animate_scale_pop, $rotation_angle: $animate_angle_pop_rotate) {
    @keyframes animate_pop_rotate {
        0%, 100% { transform: scale(1) rotate(0); }
        50% { transform: scale($scale) rotate($rotation_angle); }
    }
}
