@charset "UTF-8";

// @description
// * keyframe mixin.
// * Generate keyframes with vendor prefixes.

// @access public

// @version 1.2.0

// @author Khaled Mohamed

// @license MIT

// @repository: https://github.com/Black-Axis/sass-pire

// @reference: https://developer.mozilla.org/en-US/docs/Web/CSS/@keyframes

// @namespace general

// @module general/keyframe

// @dependencies:
// * - meta.type-of (SASS function).

// @param {String} $name
// * The name of the keyframes.

// @example
// *  @include keyframe(animation-name) {
// *    0% { opacity: 0; }
// *    100% { opacity: 1; }
// *  }

// @output
// * @-webkit-keyframes animation-name {
// *   0% {
// *    opacity: 0;
// *   }
// *   100% {
// *    opacity: 1;
// *   }
// * }
// * @-moz-keyframes animation-name {
// *   0% {
// *    opacity: 0;
// *   }
// *   100% {
// *    opacity: 1;
// *   }
// * }
// * @-ms-keyframes animation-name {
// *   0% {
// *    opacity: 0;
// *   }
// *   100% {
// *    opacity: 1;
// *   }
// * }
// * @-o-keyframes animation-name {
// *   0% {
// *    opacity: 0;
// *   }
// *   100% {
// *    opacity: 1;
// *   }
// * }
// * @keyframes animation-name {
// *   0% {
// *    opacity: 0;
// *   }
// *   100% {
// *    opacity: 1;
// *   }
// * }

// stylelint-disable at-rule-no-vendor-prefix

@use "sass:meta";

@mixin keyframe($name) {
    @if meta.type-of($name) != string {
        @error "You must pass a name of keyframe mixin in string type.";
    }

    @-webkit-keyframes #{$name} {
        @content;
    }

    @-moz-keyframes #{$name} {
        @content;
    }

    @-ms-keyframes #{$name} {
        @content;
    }

    @-o-keyframes #{$name} {
        @content;
    }

    @keyframes #{$name} {
        @content;
    }
}
