/**
 * @Author 瞿龙俊 - qulongjun@shine.design
 * @Date 2018/9/4 下午1:42
 */
@import "../functions";
@import "../config/icon-code";

// Icon 尺寸
@mixin icons-size($config) {
  [class^="la-icon-"],
  [class*="la-icon-"] {
    font-size: array-get($config, shine-icon);
  }
}

// Icon 属性
@mixin icons-attr($attr, $config) {
  [class^="la-icon-"],
  [class*="la-icon-"] {
    #{$attr}: array-get($config, shine-icon);
  }
}

// Icon 样式
@mixin icons-style {
  [class^="la-icon-"],
  [class*="la-icon-"] {
    @content;
  }
}

@mixin icon($default-state) {
  &:before {
    display: inline-block;
    font-family: "ShineIcon";
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    line-height: 0px;
    text-decoration: inherit;
    text-rendering: optimizeLegibility;
    text-transform: none;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    content: "#{$default-state}";
  }
}

@mixin icon-self($default-state) {
  display: inline-block;
  font-family: "ShineIcon";
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 0px;
  text-decoration: inherit;
  text-rendering: optimizeLegibility;
  text-transform: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  content: "#{$default-state}";
}

@mixin la-icon($icon) {
  font-family: "LineAwesome";
  text-decoration: inherit;
  text-rendering: optimizeLegibility;
  text-transform: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;

  &:before {
    content: "#{$icon}";
  }
}

//== Lineawesome icon
@mixin la-icon-self($icon) {
  font-family: "LineAwesome";
  text-decoration: inherit;
  text-rendering: optimizeLegibility;
  text-transform: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  content: "#{$icon}";
}

//== Close icon
@mixin sh-generate-close-icon($self:null) {
  @if $self == true {
    @include la-icon-self( array-get($sh--icon-codes, close) );
  } @else {
    @include la-icon( array-get($sh--icon-codes, close) );
  }
}

//== Arrow down icon
@mixin sh-generate-arrow-icon($dir, $self:null) {
  @if $dir == down {
    @if $self == true {
      @include la-icon-self(array-get($sh--icon-codes, down));
    } @else {
      @include la-icon(array-get($sh--icon-codes, down));
    }
  }

  @if $dir == up {
    @if $self == true {
      @include la-icon-self(array-get($sh--icon-codes, up));
    } @else {
      @include la-icon(array-get($sh--icon-codes, up));
    }
  }

  @if $dir == left {
    @if $self == true {
      @include la-icon-self(array-get($sh--icon-codes, left));
    } @else {
      @include la-icon(array-get($sh--icon-codes, left));
    }
  }

  @if $dir == right {
    @if $self == true {
      @include la-icon-self(array-get($sh--icon-codes, right));
    } @else {
      @include la-icon(array-get($sh--icon-codes, right));
    }
  }
}