﻿@mixin mu-pin(
  $pseudo: (),
  $responsive: (),
  $values: (
    auto: auto,
    0: 0,
    100: 100%
  )
) {
  @each $key, $value in $values {
    @include mu-create-utility(
      u-inset-#{$key},
      (
        top: $value,
        right: $value,
        bottom: $value,
        left: $value
      ),
      $pseudo,
      $responsive
    );
    @include mu-create-utility(
      u-inset-y-#{$key},
      (
        top: $value,
        bottom: $value
      ),
      $pseudo,
      $responsive
    );
    @include mu-create-utility(
      u-inset-x-#{$key},
      (
        right: $value,
        left: $value
      ),
      $pseudo,
      $responsive
    );
    @include mu-create-utility(
      u-inset-top-#{$key},
      (
        top: $value
      ),
      $pseudo,
      $responsive
    );
    @include mu-create-utility(
      u-inset-right-#{$key},
      (
        right: $value
      ),
      $pseudo,
      $responsive
    );
    @include mu-create-utility(
      u-inset-bottom-#{$key},
      (
        bottom: $value
      ),
      $pseudo,
      $responsive
    );
    @include mu-create-utility(
      u-inset-left-#{$key},
      (
        left: $value
      ),
      $pseudo,
      $responsive
    );
    @if $value != auto and $value != 0 and $value != 0px and $value != 0% {
      @include mu-create-utility(
        u-n-inset-#{$key},
        (
          top: -$value,
          right: -$value,
          bottom: -$value,
          left: -$value
        ),
        $pseudo,
        $responsive
      );
      @include mu-create-utility(
        u-n-inset-y-#{$key},
        (
          top: -$value,
          bottom: -$value
        ),
        $pseudo,
        $responsive
      );
      @include mu-create-utility(
        u-n-inset-x-#{$key},
        (
          right: -$value,
          left: -$value
        ),
        $pseudo,
        $responsive
      );
      @include mu-create-utility(
        u-n-inset-top-#{$key},
        (
          top: -$value
        ),
        $pseudo,
        $responsive
      );
      @include mu-create-utility(
        u-n-inset-right-#{$key},
        (
          right: -$value
        ),
        $pseudo,
        $responsive
      );
      @include mu-create-utility(
        u-n-inset-bottom-#{$key},
        (
          bottom: -$value
        ),
        $pseudo,
        $responsive
      );
      @include mu-create-utility(
        u-n-inset-left-#{$key},
        (
          left: -$value
        ),
        $pseudo,
        $responsive
      );
    }
  }
}
