@use 'sass:map';
@use '../abstracts/functions';
@use '../abstracts/mixins';
@use '../abstracts/variables';

/** @define utilities */

$opacities: (
  'None': 0,
  '10': 0.1,
  '20': 0.2,
  '30': 0.3,
  '40': 0.4,
  '50': 0.5,
  '60': 0.6,
  '70': 0.7,
  '80': 0.8,
  '90': 0.9,
  '100': 1,
);

/// Opacity classes
///
/// @author Richard McCartney
///
/// @access public
/// @group Utilities
@each $key, $value in $opacities {
  // stylelint-disable-next-line plugin/selector-bem-pattern
  .u-opacity#{$key} {
    opacity: var(--opacity-#{$value});

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