/*!
 * name: @jswork/wsui-justify-list
 * description: wsui module for negative margin list.
 * homepage: https://github.com/afeiship/wsui-justify-list
 * version: 1.0.3
 * date: 2021-01-15 15:39:42
 * license: MIT
 */

/*wsui-justify-list Start*/
// in-width: 盒子的宽度
// in-item-width: 每个子级元素的宽度
// in-columns: 每行有多少列
// in-selector: 默认选择器
// in-slibling: 末行兄弟选择器

@mixin wsui-justify-list($in-width, $in-item-width, $in-columns, $in-selector: ">.is-item", $in-slibling: ".is-item") {
  $unit: unit($in-width);
  $width: strip-unit($in-width);
  $item-width: strip-unit($in-item-width);
  $gap-width: ($width - $item-width * $in-columns)/ ($in-columns - 1);

  width: $in-width;

  &:after {
    clear: both;
    content: "\200B";
    display: block;
    height: 0;
  }

  #{$in-selector} {
    float: left;
    box-sizing: border-box;
    width: $in-item-width;
    margin-right: #{$gap-width+$unit};

    // last-column-item
    &:nth-child(#{$in-columns}n) {
      margin-right: 0;
    }

    // last-grid-row
    &:nth-child(#{$in-columns}n + 1):nth-last-child(-n + #{$in-columns}),
    &:nth-child(#{$in-columns}n + 1):nth-last-child(-n + #{$in-columns}) ~ #{$in-slibling} {
      margin-bottom: 0;
      @content;
    }
  }
}
/*wsui-justify-list End*/
