/*!markdown

---
title: Box Shadow
---

| Class       | Properties               |
| ----------- | ------------------------ |
| shadow-sm | box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) |
| shadow | box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) |
| shadow-md | box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) |
| shadow-lg | box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) |
| shadow-xl | box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1) , 0 10px 10px -5px rgba(0, 0, 0, 0.04) |
| shadow-2xl | box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) |
| shadow-inner | box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06) |
| shadow-none | box-shadow: none |

还有 hover、active、focus 扩展，比如 `hover:shadow-sm`

*/

@mixin make-box-shadow($prefix: '.', $suffix: '') {
  @each $name, $value in $boxShadows {
    @if $suffix == '.is-active' {
      #{$prefix}shadow#{suffixName($name)}.is-active,
      #{$prefix}shadow#{suffixName($name)}:active {
        box-shadow: #{$value};
      }
    } @else if $suffix == '.is-disabled' {
      #{$prefix}shadow#{suffixName($name)}.is-disabled,
      #{$prefix}shadow#{suffixName($name)}:disabled {
        box-shadow: #{$value};
      }
    } @else {
      #{$prefix}shadow#{suffixName($name)}#{$suffix} {
        box-shadow: #{$value};
      }
    }
  }
}

@include make-box-shadow();
@include make-box-shadow('.' + selector-escape('hover:'), ':hover');
@include make-box-shadow('.' + selector-escape('active:'), '.is-active');
@include make-box-shadow('.' + selector-escape('focus:'), ':focus');
@include make-box-shadow('.' + selector-escape('disabled:'), '.is-disabled');
@include make-box-shadow('.group:hover .' + selector-escape('group-hover:'));

@each $deivce in map-keys($devices) {
  @include media-device($deivce) {
    @include make-box-shadow('.' + selector-escape($deivce + ':'));

    @include make-box-shadow(
      '.' + selector-escape($deivce + ':') + selector-escape('hover:'),
      ':hover'
    );
    @include make-box-shadow(
      '.' + selector-escape($deivce + ':') + selector-escape('active:'),
      '.is-active'
    );
    @include make-box-shadow(
      '.' + selector-escape($deivce + ':') + selector-escape('focus:'),
      ':focus'
    );
    @include make-box-shadow(
      '.' + selector-escape($deivce + ':') + selector-escape('disabled:'),
      '.is-disabled'
    );
    @include make-box-shadow(
      '.group:hover .' + selector-escape($deivce + ':') +
        selector-escape('group-hover:')
    );
  }
}
