@use 'sass:map';

@use 'mixins/mixins' as *;
@use 'common/var' as *;

$descriptions-item-label-margin-right: () !default;
$descriptions-item-label-margin-right: map.merge(
  (
    'default': 6px,
    'large': 6px,
    'medium': 6px,
    'small': 6px,
    'mini': 6px,
  ),
  $descriptions-item-label-margin-right
);

$descriptions-item-vertical-label-padding-bottom: () !default;
$descriptions-item-vertical-label-padding-bottom: map.merge(
  (
    'default': 10px,
    'large': 12px,
    'medium': 10px,
    'small': 8px,
    'mini': 4px,
  ),
  $descriptions-item-vertical-label-padding-bottom
);

@include b(descriptions) {
  @include e(label) {
    &.#{$namespace}-descriptions__cell.is-bordered-label {
      color: getCssVar('color-neutral-light-9');
    }

    &:not(.is-bordered-label) {
      color: getCssVar('color', 'neutral-light-9');
      margin-right: map.get($descriptions-item-label-margin-right, 'default');
    }

    &.#{$namespace}-descriptions__cell:not(.is-bordered-label).is-vertical-label {
      padding-bottom: map.get($descriptions-item-vertical-label-padding-bottom, 'default');
    }
  }

  @include e(content) {
    &.#{$namespace}-descriptions__cell.is-bordered-content {
      color: getCssVar('color', 'neutral-light-6');
    }

    &:not(.is-bordered-label) {
      color: getCssVar('color', 'neutral-light-6');
    }
  }

  @each $size in $sizes {
    @include m($size) {
      @include e(label) {
        &:not(.is-bordered-label) {
          margin-right: map.get($descriptions-item-label-margin-right, $size);
        }

        &.#{$namespace}-descriptions__cell:not(.is-bordered-label).is-vertical-label {
          padding-bottom: map.get($descriptions-item-vertical-label-padding-bottom, $size);
        }
      }
    }
  }
}
