One Hat Cyber Team
Your IP:
216.73.216.176
Server IP:
198.54.114.155
Server:
Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
Server Software:
LiteSpeed
PHP Version:
5.6.40
Create File
|
Create Folder
Execute
Dir :
~
/
proc
/
self
/
cwd
/
View File Name :
mixins.tar
_resize.scss 0000644 00000000320 15111313425 0007070 0 ustar 00 // Resize anything @mixin resizable($direction) { overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` resize: $direction; // Options: horizontal, vertical, both } _list-group.scss 0000644 00000000704 15111313425 0007702 0 ustar 00 // List Groups @mixin list-group-item-variant($state, $background, $color) { .list-group-item-#{$state} { color: $color; background-color: $background; &.list-group-item-action { @include hover-focus { color: $color; background-color: darken($background, 5%); } &.active { color: $white; background-color: $color; border-color: $color; } } } } _gradients.scss 0000644 00000004057 15111313426 0007563 0 ustar 00 // Gradients @mixin gradient-bg($color) { @if $enable-gradients { background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x; } @else { background-color: $color; } } // Horizontal gradient, from left to right // // Creates two color stops, start and end, by specifying a color and position for each color stop. @mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) { background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); background-repeat: repeat-x; } // Vertical gradient, from top to bottom // // Creates two color stops, start and end, by specifying a color and position for each color stop. @mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) { background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); background-repeat: repeat-x; } @mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) { background-image: linear-gradient($deg, $start-color, $end-color); background-repeat: repeat-x; } @mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color); background-repeat: no-repeat; } @mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color); background-repeat: no-repeat; } @mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) { background-image: radial-gradient(circle, $inner-color, $outer-color); background-repeat: no-repeat; } @mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) { background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent); } _grid-framework.scss 0000644 00000003546 15111313426 0010525 0 ustar 00 // Framework grid generation // // Used only by Bootstrap to generate the correct number of grid classes given // any value of `$grid-columns`. @mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) { // Common properties for all breakpoints %grid-column { position: relative; width: 100%; padding-right: $gutter / 2; padding-left: $gutter / 2; } @each $breakpoint in map-keys($breakpoints) { $infix: breakpoint-infix($breakpoint, $breakpoints); // Allow columns to stretch full width below their breakpoints @for $i from 1 through $columns { .col#{$infix}-#{$i} { @extend %grid-column; } } .col#{$infix}, .col#{$infix}-auto { @extend %grid-column; } @include media-breakpoint-up($breakpoint, $breakpoints) { // Provide basic `.col-{bp}` classes for equal-width flexbox columns .col#{$infix} { flex-basis: 0; flex-grow: 1; max-width: 100%; } .col#{$infix}-auto { flex: 0 0 auto; width: auto; max-width: 100%; // Reset earlier grid tiers } @for $i from 1 through $columns { .col#{$infix}-#{$i} { @include make-col($i, $columns); } } .order#{$infix}-first { order: -1; } .order#{$infix}-last { order: $columns + 1; } @for $i from 0 through $columns { .order#{$infix}-#{$i} { order: $i; } } // `$columns - 1` because offsetting by the width of an entire row isn't possible @for $i from 0 through ($columns - 1) { @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0 .offset#{$infix}-#{$i} { @include make-col-offset($i, $columns); } } } } } } _reset-text.scss 0000644 00000000760 15111313426 0007704 0 ustar 00 @mixin reset-text { font-family: $font-family-base; // We deliberately do NOT reset font-size or word-wrap. font-style: normal; font-weight: $font-weight-normal; line-height: $line-height-base; text-align: left; // Fallback for where `start` is not supported text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; white-space: normal; line-break: auto; } _image.scss 0000644 00000002253 15111313426 0006661 0 ustar 00 // Image Mixins // - Responsive image // - Retina image // Responsive image // // Keep images from scaling beyond the width of their parents. @mixin img-fluid { // Part 1: Set a maximum relative to the parent max-width: 100%; // Part 2: Override the height to auto, otherwise images will be stretched // when setting a width and height attribute on the img element. height: auto; } // Retina image // // Short retina mixin for setting background-image and -size. @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) { background-image: url($file-1x); // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio, // but doesn't convert dppx=>dpi. // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard. // Compatibility info: https://caniuse.com/#feat=css-media-resolution @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx only screen and (min-resolution: 2dppx) { // Standardized background-image: url($file-2x); background-size: $width-1x $height-1x; } @include deprecate("`img-retina()`", "v4.3.0", "v5"); } _transition.scss 0000644 00000000574 15111313426 0007775 0 ustar 00 // stylelint-disable property-blacklist @mixin transition($transition...) { @if $enable-transitions { @if length($transition) == 0 { transition: $transition-base; } @else { transition: $transition; } } @if $enable-prefers-reduced-motion-media-query { @media (prefers-reduced-motion: reduce) { transition: none; } } } _visibility.scss 0000644 00000000305 15111313426 0007762 0 ustar 00 // stylelint-disable declaration-no-important // Visibility @mixin invisible($visibility) { visibility: $visibility !important; @include deprecate("`invisible()`", "v4.3.0", "v5"); } _hover.scss 0000644 00000001422 15111313426 0006717 0 ustar 00 // Hover mixin and `$enable-hover-media-query` are deprecated. // // Originally added during our alphas and maintained during betas, this mixin was // designed to prevent `:hover` stickiness on iOS-an issue where hover styles // would persist after initial touch. // // For backward compatibility, we've kept these mixins and updated them to // always return their regular pseudo-classes instead of a shimmed media query. // // Issue: https://github.com/twbs/bootstrap/issues/25195 @mixin hover { &:hover { @content; } } @mixin hover-focus { &:hover, &:focus { @content; } } @mixin plain-hover-focus { &, &:hover, &:focus { @content; } } @mixin hover-focus-active { &:hover, &:focus, &:active { @content; } } _table-row.scss 0000644 00000001477 15111313426 0007502 0 ustar 00 // Tables @mixin table-row-variant($state, $background, $border: null) { // Exact selectors below required to override `.table-striped` and prevent // inheritance to nested tables. .table-#{$state} { &, > th, > td { background-color: $background; } @if $border != null { th, td, thead th, tbody + tbody { border-color: $border; } } } // Hover states for `.table-hover` // Note: this is not available for cells or rows within `thead` or `tfoot`. .table-hover { $hover-background: darken($background, 5%); .table-#{$state} { @include hover { background-color: $hover-background; > td, > th { background-color: $hover-background; } } } } } _pagination.scss 0000644 00000000744 15111313426 0007733 0 ustar 00 // Pagination @mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) { .page-link { padding: $padding-y $padding-x; @include font-size($font-size); line-height: $line-height; } .page-item { &:first-child { .page-link { @include border-left-radius($border-radius); } } &:last-child { .page-link { @include border-right-radius($border-radius); } } } } _caret.scss 0000644 00000002674 15111313426 0006704 0 ustar 00 @mixin caret-down { border-top: $caret-width solid; border-right: $caret-width solid transparent; border-bottom: 0; border-left: $caret-width solid transparent; } @mixin caret-up { border-top: 0; border-right: $caret-width solid transparent; border-bottom: $caret-width solid; border-left: $caret-width solid transparent; } @mixin caret-right { border-top: $caret-width solid transparent; border-right: 0; border-bottom: $caret-width solid transparent; border-left: $caret-width solid; } @mixin caret-left { border-top: $caret-width solid transparent; border-right: $caret-width solid; border-bottom: $caret-width solid transparent; } @mixin caret($direction: down) { @if $enable-caret { &::after { display: inline-block; margin-left: $caret-spacing; vertical-align: $caret-vertical-align; content: ""; @if $direction == down { @include caret-down; } @else if $direction == up { @include caret-up; } @else if $direction == right { @include caret-right; } } @if $direction == left { &::after { display: none; } &::before { display: inline-block; margin-right: $caret-spacing; vertical-align: $caret-vertical-align; content: ""; @include caret-left; } } &:empty::after { margin-left: 0; } } } _buttons.scss 0000644 00000006624 15111313426 0007303 0 ustar 00 // Button variants // // Easily pump out default styles, as well as :hover, :focus, :active, // and disabled options for all buttons @mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) { color: color-yiq($background); @include gradient-bg($background); border-color: $border; @include box-shadow($btn-box-shadow); @include hover { color: color-yiq($hover-background); @include gradient-bg($hover-background); border-color: $hover-border; } &:focus, &.focus { // Avoid using mixin so we can pass custom focus shadow properly @if $enable-shadows { box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); } @else { box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); } } // Disabled comes first so active can properly restyle &.disabled, &:disabled { color: color-yiq($background); background-color: $background; border-color: $border; // Remove CSS gradients if they're enabled @if $enable-gradients { background-image: none; } } &:not(:disabled):not(.disabled):active, &:not(:disabled):not(.disabled).active, .show > &.dropdown-toggle { color: color-yiq($active-background); background-color: $active-background; @if $enable-gradients { background-image: none; // Remove the gradient for the pressed/active state } border-color: $active-border; &:focus { // Avoid using mixin so we can pass custom focus shadow properly @if $enable-shadows and $btn-active-box-shadow != none { box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); } @else { box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); } } } } @mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) { color: $color; border-color: $color; @include hover { color: $color-hover; background-color: $active-background; border-color: $active-border; } &:focus, &.focus { box-shadow: 0 0 0 $btn-focus-width rgba($color, .5); } &.disabled, &:disabled { color: $color; background-color: transparent; } &:not(:disabled):not(.disabled):active, &:not(:disabled):not(.disabled).active, .show > &.dropdown-toggle { color: color-yiq($active-background); background-color: $active-background; border-color: $active-border; &:focus { // Avoid using mixin so we can pass custom focus shadow properly @if $enable-shadows and $btn-active-box-shadow != none { box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5); } @else { box-shadow: 0 0 0 $btn-focus-width rgba($color, .5); } } } } // Button sizes @mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) { padding: $padding-y $padding-x; @include font-size($font-size); line-height: $line-height; // Manually declare to provide an override to the browser default @include border-radius($border-radius, 0); } _text-hide.scss 0000644 00000000521 15111313426 0007466 0 ustar 00 // CSS image replacement @mixin text-hide($ignore-warning: false) { // stylelint-disable-next-line font-family-no-missing-generic-family-keyword font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; @include deprecate("`text-hide()`", "v4.1.0", "v5", $ignore-warning); } _badge.scss 0000644 00000000517 15111313426 0006642 0 ustar 00 @mixin badge-variant($bg) { color: color-yiq($bg); background-color: $bg; @at-root a#{&} { @include hover-focus { color: color-yiq($bg); background-color: darken($bg, 10%); } &:focus, &.focus { outline: 0; box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5); } } } _text-emphasis.scss 0000644 00000000574 15111313426 0010376 0 ustar 00 // stylelint-disable declaration-no-important // Typography @mixin text-emphasis-variant($parent, $color) { #{$parent} { color: $color !important; } @if $emphasized-link-hover-darken-percentage != 0 { a#{$parent} { @include hover-focus { color: darken($color, $emphasized-link-hover-darken-percentage) !important; } } } } _border-radius.scss 0000644 00000002573 15111313426 0010346 0 ustar 00 // stylelint-disable property-blacklist // Single side border-radius @mixin border-radius($radius: $border-radius, $fallback-border-radius: false) { @if $enable-rounded { border-radius: $radius; } @else if $fallback-border-radius != false { border-radius: $fallback-border-radius; } } @mixin border-top-radius($radius) { @if $enable-rounded { border-top-left-radius: $radius; border-top-right-radius: $radius; } } @mixin border-right-radius($radius) { @if $enable-rounded { border-top-right-radius: $radius; border-bottom-right-radius: $radius; } } @mixin border-bottom-radius($radius) { @if $enable-rounded { border-bottom-right-radius: $radius; border-bottom-left-radius: $radius; } } @mixin border-left-radius($radius) { @if $enable-rounded { border-top-left-radius: $radius; border-bottom-left-radius: $radius; } } @mixin border-top-left-radius($radius) { @if $enable-rounded { border-top-left-radius: $radius; } } @mixin border-top-right-radius($radius) { @if $enable-rounded { border-top-right-radius: $radius; } } @mixin border-bottom-right-radius($radius) { @if $enable-rounded { border-bottom-right-radius: $radius; } } @mixin border-bottom-left-radius($radius) { @if $enable-rounded { border-bottom-left-radius: $radius; } } _nav-divider.scss 0000644 00000000417 15111313426 0010007 0 ustar 00 // Horizontal dividers // // Dividers (basically an hr) within dropdowns and nav lists @mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) { height: 0; margin: $margin-y 0; overflow: hidden; border-top: 1px solid $color; } _text-truncate.scss 0000644 00000000260 15111313427 0010403 0 ustar 00 // Text truncate // Requires inline-block or block for proper styling @mixin text-truncate() { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } _deprecate.scss 0000644 00000001157 15111313427 0007536 0 ustar 00 // Deprecate mixin // // This mixin can be used to deprecate mixins or functions. // `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to // some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap) @mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) { @if ($enable-deprecation-messages != false and $ignore-warning != true) { @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}."; } } _forms.scss 0000644 00000011760 15111313427 0006731 0 ustar 00 // Form control focus state // // Generate a customized focus state and for any input with the specified color, // which defaults to the `$input-focus-border-color` variable. // // We highly encourage you to not customize the default value, but instead use // this to tweak colors on an as-needed basis. This aesthetic change is based on // WebKit's default styles, but applicable to a wider range of browsers. Its // usability and accessibility should be taken into account with any change. // // Example usage: change the default blue border and shadow to white for better // contrast against a dark gray background. @mixin form-control-focus() { &:focus { color: $input-focus-color; background-color: $input-focus-bg; border-color: $input-focus-border-color; outline: 0; // Avoid using mixin so we can pass custom focus shadow properly @if $enable-shadows { box-shadow: $input-box-shadow, $input-focus-box-shadow; } @else { box-shadow: $input-focus-box-shadow; } } } @mixin form-validation-state($state, $color, $icon) { .#{$state}-feedback { display: none; width: 100%; margin-top: $form-feedback-margin-top; @include font-size($form-feedback-font-size); color: $color; } .#{$state}-tooltip { position: absolute; top: 100%; z-index: 5; display: none; max-width: 100%; // Contain to parent when possible padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x; margin-top: .1rem; @include font-size($form-feedback-tooltip-font-size); line-height: $form-feedback-tooltip-line-height; color: color-yiq($color); background-color: rgba($color, $form-feedback-tooltip-opacity); @include border-radius($form-feedback-tooltip-border-radius); } .form-control { .was-validated &:#{$state}, &.is-#{$state} { border-color: $color; @if $enable-validation-icons { padding-right: $input-height-inner; background-image: $icon; background-repeat: no-repeat; background-position: center right $input-height-inner-quarter; background-size: $input-height-inner-half $input-height-inner-half; } &:focus { border-color: $color; box-shadow: 0 0 0 $input-focus-width rgba($color, .25); } ~ .#{$state}-feedback, ~ .#{$state}-tooltip { display: block; } } } // stylelint-disable-next-line selector-no-qualifying-type textarea.form-control { .was-validated &:#{$state}, &.is-#{$state} { @if $enable-validation-icons { padding-right: $input-height-inner; background-position: top $input-height-inner-quarter right $input-height-inner-quarter; } } } .custom-select { .was-validated &:#{$state}, &.is-#{$state} { border-color: $color; @if $enable-validation-icons { padding-right: $custom-select-feedback-icon-padding-right; background: $custom-select-background, $icon $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size; } &:focus { border-color: $color; box-shadow: 0 0 0 $input-focus-width rgba($color, .25); } ~ .#{$state}-feedback, ~ .#{$state}-tooltip { display: block; } } } .form-control-file { .was-validated &:#{$state}, &.is-#{$state} { ~ .#{$state}-feedback, ~ .#{$state}-tooltip { display: block; } } } .form-check-input { .was-validated &:#{$state}, &.is-#{$state} { ~ .form-check-label { color: $color; } ~ .#{$state}-feedback, ~ .#{$state}-tooltip { display: block; } } } .custom-control-input { .was-validated &:#{$state}, &.is-#{$state} { ~ .custom-control-label { color: $color; &::before { border-color: $color; } } ~ .#{$state}-feedback, ~ .#{$state}-tooltip { display: block; } &:checked { ~ .custom-control-label::before { border-color: lighten($color, 10%); @include gradient-bg(lighten($color, 10%)); } } &:focus { ~ .custom-control-label::before { box-shadow: 0 0 0 $input-focus-width rgba($color, .25); } &:not(:checked) ~ .custom-control-label::before { border-color: $color; } } } } // custom file .custom-file-input { .was-validated &:#{$state}, &.is-#{$state} { ~ .custom-file-label { border-color: $color; } ~ .#{$state}-feedback, ~ .#{$state}-tooltip { display: block; } &:focus { ~ .custom-file-label { border-color: $color; box-shadow: 0 0 0 $input-focus-width rgba($color, .25); } } } } } _alert.scss 0000644 00000000377 15111313427 0006714 0 ustar 00 @mixin alert-variant($background, $border, $color) { color: $color; @include gradient-bg($background); border-color: $border; hr { border-top-color: darken($border, 5%); } .alert-link { color: darken($color, 10%); } } _box-shadow.scss 0000644 00000001050 15111313427 0007645 0 ustar 00 @mixin box-shadow($shadow...) { @if $enable-shadows { $result: (); @if (length($shadow) == 1) { // We can pass `@include box-shadow(none);` $result: $shadow; } @else { // Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;` @for $i from 1 through length($shadow) { @if nth($shadow, $i) != "none" { $result: append($result, nth($shadow, $i), "comma"); } } } @if (length($result) > 0) { box-shadow: $result; } } } _lists.scss 0000644 00000000257 15111313427 0006740 0 ustar 00 // Lists // Unstyled keeps list items block level, just removes default browser padding and list-style @mixin list-unstyled { padding-left: 0; list-style: none; } _float.scss 0000644 00000000620 15111313427 0006701 0 ustar 00 // stylelint-disable declaration-no-important @mixin float-left { float: left !important; @include deprecate("The `float-left` mixin", "v4.3.0", "v5"); } @mixin float-right { float: right !important; @include deprecate("The `float-right` mixin", "v4.3.0", "v5"); } @mixin float-none { float: none !important; @include deprecate("The `float-none` mixin", "v4.3.0", "v5"); } _grid.scss 0000644 00000003123 15111313427 0006522 0 ustar 00 /// Grid system // // Generate semantic grid columns with these mixins. @mixin make-container($gutter: $grid-gutter-width) { width: 100%; padding-right: $gutter / 2; padding-left: $gutter / 2; margin-right: auto; margin-left: auto; } // For each breakpoint, define the maximum width of the container in a media query @mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) { @each $breakpoint, $container-max-width in $max-widths { @include media-breakpoint-up($breakpoint, $breakpoints) { max-width: $container-max-width; } } } @mixin make-row($gutter: $grid-gutter-width) { display: flex; flex-wrap: wrap; margin-right: -$gutter / 2; margin-left: -$gutter / 2; } @mixin make-col-ready($gutter: $grid-gutter-width) { position: relative; // Prevent columns from becoming too narrow when at smaller grid tiers by // always setting `width: 100%;`. This works because we use `flex` values // later on to override this initial width. width: 100%; padding-right: $gutter / 2; padding-left: $gutter / 2; } @mixin make-col($size, $columns: $grid-columns) { flex: 0 0 percentage($size / $columns); // Add a `max-width` to ensure content within each column does not blow out // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari // do not appear to require this. max-width: percentage($size / $columns); } @mixin make-col-offset($size, $columns: $grid-columns) { $num: $size / $columns; margin-left: if($num == 0, 0, percentage($num)); } _breakpoints.scss 0000644 00000010775 15111313427 0010131 0 ustar 00 // Breakpoint viewport sizes and media queries. // // Breakpoints are defined as a map of (name: minimum width), order from small to large: // // (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px) // // The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default. // Name of the next breakpoint, or null for the last breakpoint. // // >> breakpoint-next(sm) // md // >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) // md // >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl)) // md @function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) { $n: index($breakpoint-names, $name); @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null); } // Minimum breakpoint width. Null for the smallest (first) breakpoint. // // >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) // 576px @function breakpoint-min($name, $breakpoints: $grid-breakpoints) { $min: map-get($breakpoints, $name); @return if($min != 0, $min, null); } // Maximum breakpoint width. Null for the largest (last) breakpoint. // The maximum value is calculated as the minimum of the next one less 0.02px // to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths. // See https://www.w3.org/TR/mediaqueries-4/#mq-min-max // Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari. // See https://bugs.webkit.org/show_bug.cgi?id=178261 // // >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) // 767.98px @function breakpoint-max($name, $breakpoints: $grid-breakpoints) { $next: breakpoint-next($name, $breakpoints); @return if($next, breakpoint-min($next, $breakpoints) - .02, null); } // Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front. // Useful for making responsive utilities. // // >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) // "" (Returns a blank string) // >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)) // "-sm" @function breakpoint-infix($name, $breakpoints: $grid-breakpoints) { @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}"); } // Media of at least the minimum breakpoint width. No query for the smallest breakpoint. // Makes the @content apply to the given breakpoint and wider. @mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) { $min: breakpoint-min($name, $breakpoints); @if $min { @media (min-width: $min) { @content; } } @else { @content; } } // Media of at most the maximum breakpoint width. No query for the largest breakpoint. // Makes the @content apply to the given breakpoint and narrower. @mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) { $max: breakpoint-max($name, $breakpoints); @if $max { @media (max-width: $max) { @content; } } @else { @content; } } // Media that spans multiple breakpoint widths. // Makes the @content apply between the min and max breakpoints @mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) { $min: breakpoint-min($lower, $breakpoints); $max: breakpoint-max($upper, $breakpoints); @if $min != null and $max != null { @media (min-width: $min) and (max-width: $max) { @content; } } @else if $max == null { @include media-breakpoint-up($lower, $breakpoints) { @content; } } @else if $min == null { @include media-breakpoint-down($upper, $breakpoints) { @content; } } } // Media between the breakpoint's minimum and maximum widths. // No minimum for the smallest breakpoint, and no maximum for the largest one. // Makes the @content apply only to the given breakpoint, not viewports any wider or narrower. @mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) { $min: breakpoint-min($name, $breakpoints); $max: breakpoint-max($name, $breakpoints); @if $min != null and $max != null { @media (min-width: $min) and (max-width: $max) { @content; } } @else if $max == null { @include media-breakpoint-up($name, $breakpoints) { @content; } } @else if $min == null { @include media-breakpoint-down($name, $breakpoints) { @content; } } } _background-variant.scss 0000644 00000000757 15111313427 0011370 0 ustar 00 // stylelint-disable declaration-no-important // Contextual backgrounds @mixin bg-variant($parent, $color) { #{$parent} { background-color: $color !important; } a#{$parent}, button#{$parent} { @include hover-focus { background-color: darken($color, 10%) !important; } } } @mixin bg-gradient-variant($parent, $color) { #{$parent} { background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important; } } _size.scss 0000644 00000000233 15111313430 0006540 0 ustar 00 // Sizing shortcuts @mixin size($width, $height: $width) { width: $width; height: $height; @include deprecate("`size()`", "v4.3.0", "v5"); } _screen-reader.scss 0000644 00000001376 15111313430 0010316 0 ustar 00 // Only display content to screen readers // // See: https://a11yproject.com/posts/how-to-hide-content/ // See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/ @mixin sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } // Use in conjunction with .sr-only to only display content when it's focused. // // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 // // Credit: HTML5 Boilerplate @mixin sr-only-focusable { &:active, &:focus { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; } } _clearfix.scss 0000644 00000000144 15111313430 0007364 0 ustar 00 @mixin clearfix() { &::after { display: block; clear: both; content: ""; } }