

@mixin __declare($declarations: ()) {
    @if not __is-map($declarations) {
        @error 'Declarations for _declare must be a map.';
    } @else {
        @each $properties, $value in $declarations {
            @each $property in $properties {
                #{$property}: $value;
            }
        }
    }

    @content;
}


///
/// Includes a declaration block for the current selector from a map.
/// 
/// 
/// @access public
/// @group Map
/// @param {Map} $declarations [()] The declaration map.
/// @output The declarations as CSS property-value pairs.
/// @example scss
/// .foo {
///     $foo-declarations: ('height': 50px, 'padding': 1rem 5rem);
///     
///     @include _declare($foo-declarations);
/// }
/// 
/// // Output CSS:
/// .foo {
///     height: 50px;
///     padding: 1rem 5rem;
/// }

@mixin _declare($args...) {
    @include __declare($args...);
}

@mixin _declarations($args...) {
    @include __declare($args...);
}

