// -----------------------------
// Borders
// -----------------------------

$borders-classes-map: (
  // border radius
  'rounded-full':  (border-radius: 9999px),

  // border style
  'border-style-solid': (border-style: solid),
  'border-style-dashed': (border-style: dashed),
  'border-style-dotted': (border-style: dotted),
  'border-style-inset': (border-style: inset),
  'border-style-outset': (border-style: outset),
);

@each $steller-color-name, $steller-color-value in $steller-colors {
  $borders-classes-map: map-merge(
    $borders-classes-map,
    (
      'border-#{$steller-color-name}': (
        border-color: inspect($steller-color-value)
      ),
    )
  );
}

$border-corners-map: (
  (tl, 'top-left'),
  (tr, 'top-right'),
  (bl, 'bottom-left'),
  (br, 'bottom-right'),
);

@each $size-label, $size in $steller-border-radiuses {
  $borders-classes-map: map-merge(
    $borders-classes-map,
    (
      'rounded-#{$size-label}': (border-radius: $size)
    )
  );

  @each $corner-label, $corner in $border-corners-map {
    $borders-classes-map: map-merge(
      $borders-classes-map,
      (
        'rounded-#{$corner-label}-#{$size-label}': (border-#{$corner}-radius: $size)
      )
    );
  }
}

$border-sides-map: (
  (t, 'top'),
  (r, 'right'),
  (b, 'bottom'),
  (l, 'left'),
);

@each $width-label, $width in $steller-border-widths {
  $borders-classes-map: map-merge(
    $borders-classes-map,
    (
      'border-#{$width-label}': (border-width: $width)
    )
  );

  @each $side-label, $side in $border-sides-map {
    $borders-classes-map: map-merge(
      $borders-classes-map,
      (
        'border-#{$side-label}-#{$width-label}': (border-#{$side}-width: $width)
      )
    );
  }
}
