mirror of
https://github.com/tenrok/bootstrap.git
synced 2026-05-24 14:04:09 +03:00
91e25a3892
- Rearrange Sass files to simplify things - Rename `utl()` to `util()` - Add new `$enable-utility-classes` variable for disabling the default generation of our utilities (useful if you want to only use utilities via mixin)
75 lines
2.5 KiB
SCSS
75 lines
2.5 KiB
SCSS
@if $enable-utility-classes {
|
|
// 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) {
|
|
@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
|
|
|
|
@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;
|
|
}
|
|
}
|