@charset "utf-8";

// 定义区块的基础构造
@mixin _stacked {
    display: block;
    margin: map-get($stacked, margin);
}

/**
 * @module layout
 * @method yo-stacked
 * @version 1.0.0
 * @description 构造独立区块布局
 * @demo http://doyoe.github.io/Yo/demo/layout/yo-stacked.html
 * @param {String} $name 定义扩展名称 <1.0.0>
 * @param {Length} $margin 外边距 <1.0.0>
 */

@mixin yo-stacked(
    $name: default,
    $margin: default) {
    // 区别是否新增实例还是修改本身
    $name: if($name == default, "", "-#{$name}");
    // 如果值为default,则取config的定义
    @if $margin == default {
        $margin: map-get($stacked, margin);
    }
    .yo-stacked#{$name} {
        // 如果$margin不等于margin,则重绘外边距
        @if $margin != map-get($stacked, margin) {
            margin: $margin;
        }
        // 增量扩展
        @content;
    }
}

// 调用本文件时载入区块基础构造
.yo-stacked {
    @include _stacked;
}