@import './breakpoints';
@import './flexbox';
@import './sizing';
@import './spacing';
@import './grid';
@import './display';
@import './alignment';
@import './elevations';
@import './text';
@import './font-size';
@import './flag';

// Mixin for all theme utilities
// @see theming file
@mixin design-system-utilities() {
  // Define default utilities
  @include mic-grid-utilities();
  @include mic-flexbox-utilities();
  @include mic-sizing-utilities();
  @include mic-spacing-utilities();
  @include mic-display-utilities();
  @include mic-alignment-utilities();
  @include mic-text-utilities();
  @include mic-font-utilities();
  @include mic-flag-utilities();

  // Define utilities using breakpoints prefix
  @each $size, $i in $media-sizes {
    @media (#{$i}) {
      @include mic-grid-utilities($size + '-');
      @include mic-flexbox-utilities($size + '-');
      @include mic-sizing-utilities($size + '-');
      @include mic-spacing-utilities($size + '-');
      @include mic-display-utilities($size + '-');
      @include mic-alignment-utilities($size + '-');
      @include mic-text-utilities($size + '-');
      @include mic-font-utilities($size + '-');
    }
  }

  // Define icon classes
  @include mat-icon-sizing-utilities('large', 40px, 24px);
  @include mat-icon-sizing-utilities('medium', 32px, 19px);
  @include mat-icon-sizing-utilities('small', 26px, 16px);
  @include mat-icon-sizing-utilities('tiny', 20px, 12px);
}
