@use 'sass:math';
@use '../../variables/typography/variables' as *;

// generate typo utility classes
@mixin typobasis($bp: '') {
  @each $property, $map in $typo-utilities {
    $prefix: map-get($map, 'prefix');
    $values: map-get($map, 'values');

    @if ($property == 'text-orientation') {
      @each $k, $v in $values {
        .#{$bp}#{$prefix}#{$k} {
          writing-mode: vertical-rl;
          #{$property}: $v;
        }
      }
    } @else if ($property == 'vertical-align') {
      @each $k, $v in $values {
        .#{$bp}#{$prefix}#{$k} {
          display: inline;
          #{$property}: $v;
        }
      }
    } @else {
      @each $k, $v in $values {
        .#{$bp}#{$prefix}#{$k} {
          #{$property}: $v;
        }
      }
    }
  }
}

@mixin lineClampMixin($bp, $selector: hover) {
  @for $i from 1 through 20 {
    .#{$bp}line-clamp-#{$i} {
      display: -webkit-box;
      -webkit-line-clamp: #{$i};
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
  }
}
