////
/// Core Tool : Icon legacy
/// @group core
////

@mixin icon-size-legacy($size:md, $restrain: null) {
  @include _icon-pseudo($restrain) {
    $size: icon-size($size);
    @include size($size, $size);
    @content;
  }
}

@mixin icon-image-legacy($icon, $restrain: null, $important: false) {
  $url: get-icon-url($icon, $important);
  @include _icon-pseudo($restrain) {
    background-image: $url;
  }
}

@mixin icon-style-legacy($restrain: null) {
  @include _icon-pseudo($restrain) {
    background-color: transparent;
    background-size: 100%;
    background-repeat: no-repeat;
    @content;
  }
}

@mixin icon-legacy($icon: null, $size: md, $restrain: null, $styling: true) {
  @if $styling {
    @include icon-style-legacy($restrain);
  }

  @if $icon != null {
    @include icon-image-legacy($icon, $restrain);
  }

  @if $size != null {
    @include icon-size-legacy($size, $restrain);
  }

  @include _icon-pseudo($restrain) {
    @content;
  }
}

@mixin generate-icons-legacy($config: $icons-config) {
  @each $icon, $setting in $config {
    #{ns(icon-#{$icon})} {
      @include icon-image-legacy($icon);
    }
  }
}
