@use "system/breakpoints";
@use "system/typography";

// Weight
@each $name, $size in typography.$weights {
  .ods-text--weight-#{$name} {
    @extend %ods-text--weight-#{$name};
  }

  .ods-text--weight-#{$name}-breakpoint-medium {
    @extend %ods-text--weight-#{$name}-breakpoint-medium;
  }

  .ods-text--weight-#{$name}-breakpoint-large {
    @extend %ods-text--weight-#{$name}-breakpoint-large;
  }
}

// Style
@each $name, $values in typography.$styles {
  .ods-text--style-#{$name} {
    @extend %ods-text--style-#{$name};
  }

  .ods-text--style-#{$name}-breakpoint-medium {
    @extend %ods-text--style-#{$name}-breakpoint-medium;
  }

  .ods-text--style-#{$name}-breakpoint-large {
    @extend %ods-text--style-#{$name}-breakpoint-large;
  }
}

// Size
@each $name, $values in typography.$sizes {
  .ods-text--size-#{$name} {
    @extend %ods-text--size-#{$name};
  }

  .ods-text--size-#{$name}-breakpoint-medium {
    @extend %ods-text--size-#{$name}-breakpoint-medium;
  }

  .ods-text--size-#{$name}-breakpoint-large {
    @extend %ods-text--size-#{$name}-breakpoint-large;
  }
}

// Align
@each $name, $value in typography.$alignments {
  .ods-text--align-#{$name} {
    @extend %ods-text--align-#{$name};
  }

  .ods-text--align-#{$name}-breakpoint-medium {
    @extend %ods-text--align-#{$name}-breakpoint-medium;
  }

  .ods-text--align-#{$name}-breakpoint-large {
    @extend %ods-text--align-#{$name}-breakpoint-large;
  }
}

// Text modifiers
@each $name, $values in typography.$modifiers {
  .ods-text--#{$name} {
    @extend %ods-text--#{$name};
  }

  .ods-text--#{$name}-breakpoint-medium {
    @extend %ods-text--#{$name}-breakpoint-medium;
  }

  .ods-text--#{$name}-breakpoint-large {
    @extend %ods-text--#{$name}-breakpoint-large;
  }
}
