@use '../abstracts/functions';
@use '../abstracts/mixins';
@use '../abstracts/variables';

/** @define utilities */

/// Vertical alignment utilities
/// Depends on an appropriate `display` value.
///
/// @group Utilities
/// @author Richard McCartney
/// @require $value
@each $key, $value in ('base line': 'baseline', 'top': 'top', 'middle': 'middle', 'bottom': 'bottom') {
  // stylelint-disable-next-line plugin/selector-bem-pattern
  .u-align#{functions.pascalize($key)} {
    vertical-align: $value !important;

    @each $breakpoint in variables.$breakpoints {
      @include mixins.media-min-width($breakpoint) {
        // stylelint-disable-next-line plugin/selector-bem-pattern
        &:#{$breakpoint} {
          vertical-align: $value !important;
        }
      }
    }
  }
}
