diff options
author | Martijn Cuppens <martijn.cuppens@intracto.com> | 2019-05-23 12:56:03 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-23 12:56:03 +0300 |
commit | 769c8d824600fbf521e3976cc4a3c6152ed4e8ce (patch) | |
tree | 270b5b5a1590e774f02a0baad9b5e66a1922b64e /scss/utilities | |
parent | a4a04cd9ec741050390746f8056cc79a9c04c8df (diff) |
Helpers & utilities split (#28445)
Diffstat (limited to 'scss/utilities')
-rw-r--r-- | scss/utilities/_align.scss | 8 | ||||
-rw-r--r-- | scss/utilities/_api.scss | 29 | ||||
-rw-r--r-- | scss/utilities/_background.scss | 21 | ||||
-rw-r--r-- | scss/utilities/_borders.scss | 75 | ||||
-rw-r--r-- | scss/utilities/_clearfix.scss | 3 | ||||
-rw-r--r-- | scss/utilities/_display.scss | 17 | ||||
-rw-r--r-- | scss/utilities/_embed.scss | 36 | ||||
-rw-r--r-- | scss/utilities/_flex.scss | 51 | ||||
-rw-r--r-- | scss/utilities/_float.scss | 11 | ||||
-rw-r--r-- | scss/utilities/_overflow.scss | 5 | ||||
-rw-r--r-- | scss/utilities/_position.scss | 32 | ||||
-rw-r--r-- | scss/utilities/_screenreaders.scss | 8 | ||||
-rw-r--r-- | scss/utilities/_shadows.scss | 6 | ||||
-rw-r--r-- | scss/utilities/_sizing.scss | 8 | ||||
-rw-r--r-- | scss/utilities/_spacing.scss | 73 | ||||
-rw-r--r-- | scss/utilities/_stretched-link.scss | 19 | ||||
-rw-r--r-- | scss/utilities/_text.scss | 61 |
17 files changed, 29 insertions, 434 deletions
diff --git a/scss/utilities/_align.scss b/scss/utilities/_align.scss deleted file mode 100644 index 8b7df9f76c..0000000000 --- a/scss/utilities/_align.scss +++ /dev/null @@ -1,8 +0,0 @@ -// stylelint-disable declaration-no-important - -.align-baseline { vertical-align: baseline !important; } // Browser default -.align-top { vertical-align: top !important; } -.align-middle { vertical-align: middle !important; } -.align-bottom { vertical-align: bottom !important; } -.align-text-bottom { vertical-align: text-bottom !important; } -.align-text-top { vertical-align: text-top !important; } diff --git a/scss/utilities/_api.scss b/scss/utilities/_api.scss new file mode 100644 index 0000000000..5b9b6651cb --- /dev/null +++ b/scss/utilities/_api.scss @@ -0,0 +1,29 @@ +// 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); + } + } + } +} + + +// 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"); + } + } +} diff --git a/scss/utilities/_background.scss b/scss/utilities/_background.scss deleted file mode 100644 index f9fbb48b9d..0000000000 --- a/scss/utilities/_background.scss +++ /dev/null @@ -1,21 +0,0 @@ -// stylelint-disable declaration-no-important - -@each $color, $value in $theme-colors { - .bg-#{$color} { - background-color: $value !important; - } -} - -@if $enable-gradients { - @each $color, $value in $theme-colors { - @include bg-gradient-variant(".bg-gradient-#{$color}", $value); - } -} - -.bg-white { - background-color: $white !important; -} - -.bg-transparent { - background-color: transparent !important; -} diff --git a/scss/utilities/_borders.scss b/scss/utilities/_borders.scss deleted file mode 100644 index 302f6bf849..0000000000 --- a/scss/utilities/_borders.scss +++ /dev/null @@ -1,75 +0,0 @@ -// stylelint-disable property-blacklist, declaration-no-important - -// -// Border -// - -.border { border: $border-width solid $border-color !important; } -.border-top { border-top: $border-width solid $border-color !important; } -.border-right { border-right: $border-width solid $border-color !important; } -.border-bottom { border-bottom: $border-width solid $border-color !important; } -.border-left { border-left: $border-width solid $border-color !important; } - -.border-0 { border: 0 !important; } -.border-top-0 { border-top: 0 !important; } -.border-right-0 { border-right: 0 !important; } -.border-bottom-0 { border-bottom: 0 !important; } -.border-left-0 { border-left: 0 !important; } - -@each $color, $value in $theme-colors { - .border-#{$color} { - border-color: $value !important; - } -} - -.border-white { - border-color: $white !important; -} - -// -// Border-radius -// - -.rounded-sm { - border-radius: $border-radius-sm !important; -} - -.rounded { - border-radius: $border-radius !important; -} - -.rounded-top { - border-top-left-radius: $border-radius !important; - border-top-right-radius: $border-radius !important; -} - -.rounded-right { - border-top-right-radius: $border-radius !important; - border-bottom-right-radius: $border-radius !important; -} - -.rounded-bottom { - border-bottom-right-radius: $border-radius !important; - border-bottom-left-radius: $border-radius !important; -} - -.rounded-left { - border-top-left-radius: $border-radius !important; - border-bottom-left-radius: $border-radius !important; -} - -.rounded-lg { - border-radius: $border-radius-lg !important; -} - -.rounded-circle { - border-radius: 50% !important; -} - -.rounded-pill { - border-radius: $rounded-pill !important; -} - -.rounded-0 { - border-radius: 0 !important; -} diff --git a/scss/utilities/_clearfix.scss b/scss/utilities/_clearfix.scss deleted file mode 100644 index e92522a94d..0000000000 --- a/scss/utilities/_clearfix.scss +++ /dev/null @@ -1,3 +0,0 @@ -.clearfix { - @include clearfix(); -} diff --git a/scss/utilities/_display.scss b/scss/utilities/_display.scss deleted file mode 100644 index 217672998b..0000000000 --- a/scss/utilities/_display.scss +++ /dev/null @@ -1,17 +0,0 @@ -// stylelint-disable declaration-no-important - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - - @each $value in $displays { - .d#{$infix}-#{$value} { display: $value !important; } - } - } -} - -@media print { - @each $value in $displays { - .d-print-#{$value} { display: $value !important; } - } -} diff --git a/scss/utilities/_embed.scss b/scss/utilities/_embed.scss deleted file mode 100644 index 89d22aa6c4..0000000000 --- a/scss/utilities/_embed.scss +++ /dev/null @@ -1,36 +0,0 @@ -// Credit: Nicolas Gallagher and SUIT CSS. - -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden; - - &::before { - display: block; - content: ""; - } - - .embed-responsive-item, - iframe, - embed, - object, - video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; - } -} - -@each $key, $ratio in $embed-responsive-aspect-ratios { - .embed-responsive-#{$key} { - &::before { - padding-top: percentage(map-get($ratio, y) / map-get($ratio, x)); - } - } -} diff --git a/scss/utilities/_flex.scss b/scss/utilities/_flex.scss deleted file mode 100644 index 3d4266e0d0..0000000000 --- a/scss/utilities/_flex.scss +++ /dev/null @@ -1,51 +0,0 @@ -// stylelint-disable declaration-no-important - -// Flex variation -// -// Custom styles for additional flex alignment options. - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - - .flex#{$infix}-row { flex-direction: row !important; } - .flex#{$infix}-column { flex-direction: column !important; } - .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; } - .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; } - - .flex#{$infix}-wrap { flex-wrap: wrap !important; } - .flex#{$infix}-nowrap { flex-wrap: nowrap !important; } - .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; } - .flex#{$infix}-fill { flex: 1 1 auto !important; } - .flex#{$infix}-grow-0 { flex-grow: 0 !important; } - .flex#{$infix}-grow-1 { flex-grow: 1 !important; } - .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; } - .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; } - - .justify-content#{$infix}-start { justify-content: flex-start !important; } - .justify-content#{$infix}-end { justify-content: flex-end !important; } - .justify-content#{$infix}-center { justify-content: center !important; } - .justify-content#{$infix}-between { justify-content: space-between !important; } - .justify-content#{$infix}-around { justify-content: space-around !important; } - - .align-items#{$infix}-start { align-items: flex-start !important; } - .align-items#{$infix}-end { align-items: flex-end !important; } - .align-items#{$infix}-center { align-items: center !important; } - .align-items#{$infix}-baseline { align-items: baseline !important; } - .align-items#{$infix}-stretch { align-items: stretch !important; } - - .align-content#{$infix}-start { align-content: flex-start !important; } - .align-content#{$infix}-end { align-content: flex-end !important; } - .align-content#{$infix}-center { align-content: center !important; } - .align-content#{$infix}-between { align-content: space-between !important; } - .align-content#{$infix}-around { align-content: space-around !important; } - .align-content#{$infix}-stretch { align-content: stretch !important; } - - .align-self#{$infix}-auto { align-self: auto !important; } - .align-self#{$infix}-start { align-self: flex-start !important; } - .align-self#{$infix}-end { align-self: flex-end !important; } - .align-self#{$infix}-center { align-self: center !important; } - .align-self#{$infix}-baseline { align-self: baseline !important; } - .align-self#{$infix}-stretch { align-self: stretch !important; } - } -} diff --git a/scss/utilities/_float.scss b/scss/utilities/_float.scss deleted file mode 100644 index 54250844ff..0000000000 --- a/scss/utilities/_float.scss +++ /dev/null @@ -1,11 +0,0 @@ -// stylelint-disable declaration-no-important - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - - .float#{$infix}-left { float: left !important; } - .float#{$infix}-right { float: right !important; } - .float#{$infix}-none { float: none !important; } - } -} diff --git a/scss/utilities/_overflow.scss b/scss/utilities/_overflow.scss deleted file mode 100644 index 8326c30641..0000000000 --- a/scss/utilities/_overflow.scss +++ /dev/null @@ -1,5 +0,0 @@ -// stylelint-disable declaration-no-important - -@each $value in $overflows { - .overflow-#{$value} { overflow: $value !important; } -} diff --git a/scss/utilities/_position.scss b/scss/utilities/_position.scss deleted file mode 100644 index cdf6c115f3..0000000000 --- a/scss/utilities/_position.scss +++ /dev/null @@ -1,32 +0,0 @@ -// stylelint-disable declaration-no-important - -// Common values -@each $position in $positions { - .position-#{$position} { position: $position !important; } -} - -// Shorthand - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: $zindex-fixed; -} - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: $zindex-fixed; -} - -.sticky-top { - @supports (position: sticky) { - position: sticky; - top: 0; - z-index: $zindex-sticky; - } -} diff --git a/scss/utilities/_screenreaders.scss b/scss/utilities/_screenreaders.scss deleted file mode 100644 index c8034d10ee..0000000000 --- a/scss/utilities/_screenreaders.scss +++ /dev/null @@ -1,8 +0,0 @@ -// -// Screenreaders -// - -.sr-only, -.sr-only-focusable:not(:focus) { - @include sr-only(); -} diff --git a/scss/utilities/_shadows.scss b/scss/utilities/_shadows.scss deleted file mode 100644 index f5d03fcd59..0000000000 --- a/scss/utilities/_shadows.scss +++ /dev/null @@ -1,6 +0,0 @@ -// stylelint-disable declaration-no-important - -.shadow-sm { box-shadow: $box-shadow-sm !important; } -.shadow { box-shadow: $box-shadow !important; } -.shadow-lg { box-shadow: $box-shadow-lg !important; } -.shadow-none { box-shadow: none !important; } diff --git a/scss/utilities/_sizing.scss b/scss/utilities/_sizing.scss index f376488022..cc346215b2 100644 --- a/scss/utilities/_sizing.scss +++ b/scss/utilities/_sizing.scss @@ -1,13 +1,5 @@ // stylelint-disable declaration-no-important -// Width and height - -@each $prop, $abbrev in (width: w, height: h) { - @each $size, $length in $sizes { - .#{$abbrev}-#{$size} { #{$prop}: $length !important; } - } -} - .mw-100 { max-width: 100% !important; } .mh-100 { max-height: 100% !important; } diff --git a/scss/utilities/_spacing.scss b/scss/utilities/_spacing.scss deleted file mode 100644 index 351136790a..0000000000 --- a/scss/utilities/_spacing.scss +++ /dev/null @@ -1,73 +0,0 @@ -// stylelint-disable declaration-no-important - -// Margin and Padding - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - - @each $prop, $abbrev in (margin: m, padding: p) { - @each $size, $length in $spacers { - .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; } - .#{$abbrev}t#{$infix}-#{$size}, - .#{$abbrev}y#{$infix}-#{$size} { - #{$prop}-top: $length !important; - } - .#{$abbrev}r#{$infix}-#{$size}, - .#{$abbrev}x#{$infix}-#{$size} { - #{$prop}-right: $length !important; - } - .#{$abbrev}b#{$infix}-#{$size}, - .#{$abbrev}y#{$infix}-#{$size} { - #{$prop}-bottom: $length !important; - } - .#{$abbrev}l#{$infix}-#{$size}, - .#{$abbrev}x#{$infix}-#{$size} { - #{$prop}-left: $length !important; - } - } - } - - // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`) - @each $size, $length in $spacers { - @if $size != 0 { - .m#{$infix}-n#{$size} { margin: -$length !important; } - .mt#{$infix}-n#{$size}, - .my#{$infix}-n#{$size} { - margin-top: -$length !important; - } - .mr#{$infix}-n#{$size}, - .mx#{$infix}-n#{$size} { - margin-right: -$length !important; - } - .mb#{$infix}-n#{$size}, - .my#{$infix}-n#{$size} { - margin-bottom: -$length !important; - } - .ml#{$infix}-n#{$size}, - .mx#{$infix}-n#{$size} { - margin-left: -$length !important; - } - } - } - - // Some special margin utils - .m#{$infix}-auto { margin: auto !important; } - .mt#{$infix}-auto, - .my#{$infix}-auto { - margin-top: auto !important; - } - .mr#{$infix}-auto, - .mx#{$infix}-auto { - margin-right: auto !important; - } - .mb#{$infix}-auto, - .my#{$infix}-auto { - margin-bottom: auto !important; - } - .ml#{$infix}-auto, - .mx#{$infix}-auto { - margin-left: auto !important; - } - } -} diff --git a/scss/utilities/_stretched-link.scss b/scss/utilities/_stretched-link.scss deleted file mode 100644 index fb5066bf55..0000000000 --- a/scss/utilities/_stretched-link.scss +++ /dev/null @@ -1,19 +0,0 @@ -// -// Stretched link -// - -.stretched-link { - &::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - // Just in case `pointer-events: none` is set on a parent - pointer-events: auto; - content: ""; - // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color - background-color: rgba(0, 0, 0, 0); - } -} diff --git a/scss/utilities/_text.scss b/scss/utilities/_text.scss index fbf707d01f..ba775ee8d8 100644 --- a/scss/utilities/_text.scss +++ b/scss/utilities/_text.scss @@ -1,68 +1,7 @@ -// stylelint-disable declaration-no-important - // // Text // -.text-monospace { font-family: $font-family-monospace !important; } - -// Alignment - -.text-justify { text-align: justify !important; } -.text-wrap { white-space: normal !important; } -.text-nowrap { white-space: nowrap !important; } -.text-truncate { @include text-truncate; } - -// Responsive alignment - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - - .text#{$infix}-left { text-align: left !important; } - .text#{$infix}-right { text-align: right !important; } - .text#{$infix}-center { text-align: center !important; } - } -} - -// Transformation - -.text-lowercase { text-transform: lowercase !important; } -.text-uppercase { text-transform: uppercase !important; } -.text-capitalize { text-transform: capitalize !important; } - -// Weight and italics - -.font-weight-light { font-weight: $font-weight-light !important; } -.font-weight-lighter { font-weight: $font-weight-lighter !important; } -.font-weight-normal { font-weight: $font-weight-normal !important; } -.font-weight-bold { font-weight: $font-weight-bold !important; } -.font-weight-bolder { font-weight: $font-weight-bolder !important; } -.font-italic { font-style: italic !important; } - -// Contextual colors - -.text-white { color: $white !important; } - @each $color, $value in $theme-colors { @include text-emphasis-variant(".text-#{$color}", $value); } - -.text-body { color: $body-color !important; } -.text-muted { color: $text-muted !important; } - -.text-black-50 { color: rgba($black, .5) !important; } -.text-white-50 { color: rgba($white, .5) !important; } - -// Misc - -.text-decoration-none { text-decoration: none !important; } - -.text-break { - word-break: break-word !important; // IE & < Edge 18 - overflow-wrap: break-word !important; -} - -// Reset - -.text-reset { color: inherit !important; } |