-// Loop over each breakpoint
-@each $breakpoint in map-keys($grid-breakpoints) {
-
- // Generate media query if needed
- @include media-breakpoint-up($breakpoint) {
- $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
-
- // Loop over each utility property
- @each $key, $utility in $utilities {
- // The utility can be disabled with `false`, thus check if the utility is a map first
- // Only proceed if responsive media queries are enabled or if it's the base media query
- @if type-of($utility) == "map" and (map-get($utility, responsive) or $infix == "") {
- @include generate-utility($utility, $infix);
- }
- }
- }
-}
-
-// RFS rescaling
-@media (min-width: $rfs-mq-value) {
+@if $enable-utility-classes {
+ // Loop over each breakpoint
@each $breakpoint in map-keys($grid-breakpoints) {
- $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+ // Generate media query if needed
+ @include media-breakpoint-up($breakpoint) {
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
- @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {
// Loop over each utility property
@each $key, $utility in $utilities {
// The utility can be disabled with `false`, thus check if the utility is a map first
// Only proceed if responsive media queries are enabled or if it's the base media query
- @if type-of($utility) == "map" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == "") {
- @include generate-utility($utility, $infix, true);
+ @if type-of($utility) == "map" and (map-get($utility, responsive) or $infix == "") {
+ @include generate-utility($utility, $infix);
+ }
+ }
+ }
+ }
+
+ // RFS rescaling
+ @media (min-width: $rfs-mq-value) {
+ @each $breakpoint in map-keys($grid-breakpoints) {
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+
+ @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {
+ // Loop over each utility property
+ @each $key, $utility in $utilities {
+ // The utility can be disabled with `false`, thus check if the utility is a map first
+ // Only proceed if responsive media queries are enabled or if it's the base media query
+ @if type-of($utility) == "map" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == "") {
+ @include generate-utility($utility, $infix, true);
+ }
}
}
}
}
+
+
+ // Print utilities
+ @media print {
+ @each $key, $utility in $utilities {
+ // The utility can be disabled with `false`, thus check if the utility is a map first
+ // Then check if the utility needs print styles
+ @if type-of($utility) == "map" and map-get($utility, print) == true {
+ @include generate-utility($utility, "-print");
+ }
+ }
+ }
}
+// Generate utility placeholders
+
+$utilities-map: build-utilities-map(); // stylelint-disable-line scss/dollar-variable-default
-// Print utilities
-@media print {
- @each $key, $utility in $utilities {
- // The utility can be disabled with `false`, thus check if the utility is a map first
- // Then check if the utility needs print styles
- @if type-of($utility) == "map" and map-get($utility, print) == true {
- @include generate-utility($utility, "-print");
+@mixin util($class) {
+ @if map-has-key($utilities-map, $class) {
+ $definition: map-get($utilities-map, $class);
+ $breakpoint: map-get($definition, breakpoint);
+ @if $breakpoint != null {
+ @include media-breakpoint-up($breakpoint) {
+ @each $property in map-get($definition, properties) {
+ #{$property}: map-get($definition, value);
+ }
+ }
}
+ @else {
+ @each $property in map-get($definition, properties) {
+ #{$property}: map-get($definition, value);
+ }
+ }
+ }
+ @else {
+ @debug "Unknown utility class " + $class;
}
}