@charset "UTF-8";

// @description
// * This file uses the `reset` mixin to compile based on if the
// * user want to use @layer version of CSS or not.

// @access public

// @version 3.0.1

// @author Khaled Mohamed

// @license MIT

// @repository: https://github.com/Black-Axis/sass-pire

// @namespace general

// @module general/reset

// @dependencies:
// * - meta.type-of (SASS function).
// * - LibMixin1.banner (mixin).
// * - Error.throw (function).
// * - ResetZone1.reset-zone-regular (external mixin).
// * - ResetZone2.reset-zone-layer (external mixin).

// @example 1
// * In the top of the SCSS file, you can write like this:
// * 
// * @use "your-path-to-node_modules/sass-pire/src/mixins/general/_reset.scss" as Lib;
// * 
// * @include Lib.reset;
// * 
// * Or you can write like this:
// * 
// * @include Lib.reset(regular);
// * 
// * This is a regular version of `reset` mixin:
// * 
// * @include Lib.reset(layer);

@use "sass:meta";
@use "../../mixins/general/banner" as LibMixin1;
@use "../../development-utils/toggle-error-message" as Error;
@use "../../../../reset-zone/src/reset-zone.regular.scss" as ResetZone1;
@use "../../../../reset-zone/src/reset-zone.layer.scss" as ResetZone2;

// * stylelint-disable-next-line at-rule-empty-line-before

@mixin reset($mode: regular) {
    @include LibMixin1.banner;

    @if meta.type-of($value: $mode) != string {
        content: Error.throw("The parameter of reset mixin must be in a string type.");
    } @else {
        @if $mode == regular {
            @include ResetZone1.reset-zone-regular;
        } @else if $mode == layer {
            @include ResetZone2.reset-zone-layer;
        }
    }
}
