bootstrap 4.4.1 → 4.6.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +11 -1
- data/CHANGELOG.md +4 -0
- data/README.md +7 -1
- data/Rakefile +16 -4
- data/assets/javascripts/bootstrap/alert.js +42 -53
- data/assets/javascripts/bootstrap/button.js +76 -81
- data/assets/javascripts/bootstrap/carousel.js +161 -199
- data/assets/javascripts/bootstrap/collapse.js +97 -142
- data/assets/javascripts/bootstrap/dropdown.js +130 -186
- data/assets/javascripts/bootstrap/modal.js +191 -213
- data/assets/javascripts/bootstrap/popover.js +62 -92
- data/assets/javascripts/bootstrap/scrollspy.js +81 -132
- data/assets/javascripts/bootstrap/tab.js +78 -83
- data/assets/javascripts/bootstrap/toast.js +83 -118
- data/assets/javascripts/bootstrap/tooltip.js +158 -198
- data/assets/javascripts/bootstrap/util.js +27 -26
- data/assets/javascripts/bootstrap-sprockets.js +7 -7
- data/assets/javascripts/bootstrap.js +1037 -1202
- data/assets/javascripts/bootstrap.min.js +4 -4
- data/assets/stylesheets/_bootstrap-grid.scss +5 -4
- data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
- data/assets/stylesheets/_bootstrap.scss +4 -4
- data/assets/stylesheets/bootstrap/_alert.scss +1 -0
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +1 -1
- data/assets/stylesheets/bootstrap/_buttons.scss +10 -7
- data/assets/stylesheets/bootstrap/_card.scss +30 -22
- data/assets/stylesheets/bootstrap/_carousel.scss +6 -3
- data/assets/stylesheets/bootstrap/_close.scss +0 -1
- data/assets/stylesheets/bootstrap/_custom-forms.scss +23 -18
- data/assets/stylesheets/bootstrap/_dropdown.scss +4 -3
- data/assets/stylesheets/bootstrap/_forms.scss +19 -10
- data/assets/stylesheets/bootstrap/_functions.scss +62 -6
- data/assets/stylesheets/bootstrap/_grid.scss +10 -6
- data/assets/stylesheets/bootstrap/_images.scss +1 -1
- data/assets/stylesheets/bootstrap/_input-group.scss +24 -4
- data/assets/stylesheets/bootstrap/_jumbotron.scss +1 -1
- data/assets/stylesheets/bootstrap/_list-group.scss +10 -14
- data/assets/stylesheets/bootstrap/_modal.scss +4 -3
- data/assets/stylesheets/bootstrap/_nav.scss +9 -4
- data/assets/stylesheets/bootstrap/_navbar.scss +10 -2
- data/assets/stylesheets/bootstrap/_pagination.scss +3 -2
- data/assets/stylesheets/bootstrap/_popover.scss +9 -9
- data/assets/stylesheets/bootstrap/_print.scss +0 -9
- data/assets/stylesheets/bootstrap/_progress.scss +2 -1
- data/assets/stylesheets/bootstrap/_reboot.scss +27 -25
- data/assets/stylesheets/bootstrap/_root.scss +0 -1
- data/assets/stylesheets/bootstrap/_spinners.scss +18 -8
- data/assets/stylesheets/bootstrap/_toasts.scss +4 -2
- data/assets/stylesheets/bootstrap/_tooltip.scss +4 -4
- data/assets/stylesheets/bootstrap/_transitions.scss +6 -0
- data/assets/stylesheets/bootstrap/_type.scss +1 -1
- data/assets/stylesheets/bootstrap/_utilities.scss +2 -1
- data/assets/stylesheets/bootstrap/_variables.scss +34 -28
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +27 -14
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +6 -6
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +23 -5
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +26 -17
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +17 -17
- data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
- data/assets/stylesheets/bootstrap/utilities/_background.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_text.scss +2 -2
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +126 -102
- data/bootstrap.gemspec +1 -3
- data/lib/bootstrap/engine.rb +17 -1
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +18 -6
- data/tasks/updater/network.rb +8 -2
- data/test/gemfiles/rails_6_0.gemfile +7 -0
- data/test/gemfiles/rails_7_0_dartsass.gemfile +8 -0
- data/test/gemfiles/rails_7_0_sassc.gemfile +8 -0
- metadata +12 -19
|
@@ -1,9 +1,22 @@
|
|
|
1
|
-
// stylelint-disable property-
|
|
1
|
+
// stylelint-disable property-disallowed-list
|
|
2
2
|
// Single side border-radius
|
|
3
3
|
|
|
4
|
+
// Helper function to replace negative values with 0
|
|
5
|
+
@function valid-radius($radius) {
|
|
6
|
+
$return: ();
|
|
7
|
+
@each $value in $radius {
|
|
8
|
+
@if type-of($value) == number {
|
|
9
|
+
$return: append($return, max($value, 0));
|
|
10
|
+
} @else {
|
|
11
|
+
$return: append($return, $value);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
@return $return;
|
|
15
|
+
}
|
|
16
|
+
|
|
4
17
|
@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {
|
|
5
18
|
@if $enable-rounded {
|
|
6
|
-
border-radius: $radius;
|
|
19
|
+
border-radius: valid-radius($radius);
|
|
7
20
|
}
|
|
8
21
|
@else if $fallback-border-radius != false {
|
|
9
22
|
border-radius: $fallback-border-radius;
|
|
@@ -12,52 +25,52 @@
|
|
|
12
25
|
|
|
13
26
|
@mixin border-top-radius($radius) {
|
|
14
27
|
@if $enable-rounded {
|
|
15
|
-
border-top-left-radius: $radius;
|
|
16
|
-
border-top-right-radius: $radius;
|
|
28
|
+
border-top-left-radius: valid-radius($radius);
|
|
29
|
+
border-top-right-radius: valid-radius($radius);
|
|
17
30
|
}
|
|
18
31
|
}
|
|
19
32
|
|
|
20
33
|
@mixin border-right-radius($radius) {
|
|
21
34
|
@if $enable-rounded {
|
|
22
|
-
border-top-right-radius: $radius;
|
|
23
|
-
border-bottom-right-radius: $radius;
|
|
35
|
+
border-top-right-radius: valid-radius($radius);
|
|
36
|
+
border-bottom-right-radius: valid-radius($radius);
|
|
24
37
|
}
|
|
25
38
|
}
|
|
26
39
|
|
|
27
40
|
@mixin border-bottom-radius($radius) {
|
|
28
41
|
@if $enable-rounded {
|
|
29
|
-
border-bottom-right-radius: $radius;
|
|
30
|
-
border-bottom-left-radius: $radius;
|
|
42
|
+
border-bottom-right-radius: valid-radius($radius);
|
|
43
|
+
border-bottom-left-radius: valid-radius($radius);
|
|
31
44
|
}
|
|
32
45
|
}
|
|
33
46
|
|
|
34
47
|
@mixin border-left-radius($radius) {
|
|
35
48
|
@if $enable-rounded {
|
|
36
|
-
border-top-left-radius: $radius;
|
|
37
|
-
border-bottom-left-radius: $radius;
|
|
49
|
+
border-top-left-radius: valid-radius($radius);
|
|
50
|
+
border-bottom-left-radius: valid-radius($radius);
|
|
38
51
|
}
|
|
39
52
|
}
|
|
40
53
|
|
|
41
54
|
@mixin border-top-left-radius($radius) {
|
|
42
55
|
@if $enable-rounded {
|
|
43
|
-
border-top-left-radius: $radius;
|
|
56
|
+
border-top-left-radius: valid-radius($radius);
|
|
44
57
|
}
|
|
45
58
|
}
|
|
46
59
|
|
|
47
60
|
@mixin border-top-right-radius($radius) {
|
|
48
61
|
@if $enable-rounded {
|
|
49
|
-
border-top-right-radius: $radius;
|
|
62
|
+
border-top-right-radius: valid-radius($radius);
|
|
50
63
|
}
|
|
51
64
|
}
|
|
52
65
|
|
|
53
66
|
@mixin border-bottom-right-radius($radius) {
|
|
54
67
|
@if $enable-rounded {
|
|
55
|
-
border-bottom-right-radius: $radius;
|
|
68
|
+
border-bottom-right-radius: valid-radius($radius);
|
|
56
69
|
}
|
|
57
70
|
}
|
|
58
71
|
|
|
59
72
|
@mixin border-bottom-left-radius($radius) {
|
|
60
73
|
@if $enable-rounded {
|
|
61
|
-
border-bottom-left-radius: $radius;
|
|
74
|
+
border-bottom-left-radius: valid-radius($radius);
|
|
62
75
|
}
|
|
63
76
|
}
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
color: color-yiq($hover-background);
|
|
21
21
|
@include gradient-bg($hover-background);
|
|
22
22
|
border-color: $hover-border;
|
|
23
|
-
// Avoid using mixin so we can pass custom focus shadow properly
|
|
24
23
|
@if $enable-shadows {
|
|
25
|
-
box-shadow
|
|
24
|
+
@include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));
|
|
26
25
|
} @else {
|
|
26
|
+
// Avoid using mixin so we can pass custom focus shadow properly
|
|
27
27
|
box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
border-color: $active-border;
|
|
52
52
|
|
|
53
53
|
&:focus {
|
|
54
|
-
// Avoid using mixin so we can pass custom focus shadow properly
|
|
55
54
|
@if $enable-shadows and $btn-active-box-shadow != none {
|
|
56
|
-
box-shadow
|
|
55
|
+
@include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));
|
|
57
56
|
} @else {
|
|
57
|
+
// Avoid using mixin so we can pass custom focus shadow properly
|
|
58
58
|
box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -90,10 +90,10 @@
|
|
|
90
90
|
border-color: $active-border;
|
|
91
91
|
|
|
92
92
|
&:focus {
|
|
93
|
-
// Avoid using mixin so we can pass custom focus shadow properly
|
|
94
93
|
@if $enable-shadows and $btn-active-box-shadow != none {
|
|
95
|
-
box-shadow
|
|
94
|
+
@include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));
|
|
96
95
|
} @else {
|
|
96
|
+
// Avoid using mixin so we can pass custom focus shadow properly
|
|
97
97
|
box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
background-color: $input-focus-bg;
|
|
17
17
|
border-color: $input-focus-border-color;
|
|
18
18
|
outline: 0;
|
|
19
|
-
// Avoid using mixin so we can pass custom focus shadow properly
|
|
20
19
|
@if $enable-shadows {
|
|
21
|
-
box-shadow
|
|
20
|
+
@include box-shadow($input-box-shadow, $input-focus-box-shadow);
|
|
22
21
|
} @else {
|
|
22
|
+
// Avoid using mixin so we can pass custom focus shadow properly
|
|
23
23
|
box-shadow: $input-focus-box-shadow;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
.#{$state}-tooltip {
|
|
54
54
|
position: absolute;
|
|
55
55
|
top: 100%;
|
|
56
|
+
left: 0;
|
|
56
57
|
z-index: 5;
|
|
57
58
|
display: none;
|
|
58
59
|
max-width: 100%; // Contain to parent when possible
|
|
@@ -63,6 +64,13 @@
|
|
|
63
64
|
color: color-yiq($color);
|
|
64
65
|
background-color: rgba($color, $form-feedback-tooltip-opacity);
|
|
65
66
|
@include border-radius($form-feedback-tooltip-border-radius);
|
|
67
|
+
|
|
68
|
+
// See https://github.com/twbs/bootstrap/pull/31557
|
|
69
|
+
// Align tooltip to form elements
|
|
70
|
+
.form-row > .col > &,
|
|
71
|
+
.form-row > [class*="col-"] > & {
|
|
72
|
+
left: $form-grid-gutter-width * .5;
|
|
73
|
+
}
|
|
66
74
|
}
|
|
67
75
|
|
|
68
76
|
@include form-validation-state-selector($state) {
|
|
@@ -77,7 +85,7 @@
|
|
|
77
85
|
border-color: $color;
|
|
78
86
|
|
|
79
87
|
@if $enable-validation-icons {
|
|
80
|
-
padding-right: $input-height-inner;
|
|
88
|
+
padding-right: $input-height-inner !important; // stylelint-disable-line declaration-no-important
|
|
81
89
|
background-image: escape-svg($icon);
|
|
82
90
|
background-repeat: no-repeat;
|
|
83
91
|
background-position: right $input-height-inner-quarter center;
|
|
@@ -91,6 +99,16 @@
|
|
|
91
99
|
}
|
|
92
100
|
}
|
|
93
101
|
|
|
102
|
+
// stylelint-disable-next-line selector-no-qualifying-type
|
|
103
|
+
select.form-control {
|
|
104
|
+
@include form-validation-state-selector($state) {
|
|
105
|
+
@if $enable-validation-icons {
|
|
106
|
+
padding-right: $input-padding-x * 4 !important; // stylelint-disable-line declaration-no-important
|
|
107
|
+
background-position: right $input-padding-x * 2 center;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
94
112
|
// stylelint-disable-next-line selector-no-qualifying-type
|
|
95
113
|
textarea.form-control {
|
|
96
114
|
@include form-validation-state-selector($state) {
|
|
@@ -106,8 +124,8 @@
|
|
|
106
124
|
border-color: $color;
|
|
107
125
|
|
|
108
126
|
@if $enable-validation-icons {
|
|
109
|
-
padding-right: $custom-select-feedback-icon-padding-right;
|
|
110
|
-
background: $custom-select-background,
|
|
127
|
+
padding-right: $custom-select-feedback-icon-padding-right !important; // stylelint-disable-line declaration-no-important
|
|
128
|
+
background: $custom-select-background, $custom-select-bg escape-svg($icon) $custom-select-feedback-icon-position / $custom-select-feedback-icon-size no-repeat;
|
|
111
129
|
}
|
|
112
130
|
|
|
113
131
|
&:focus {
|
|
@@ -8,19 +8,22 @@
|
|
|
8
8
|
%grid-column {
|
|
9
9
|
position: relative;
|
|
10
10
|
width: 100%;
|
|
11
|
-
padding-right: $gutter
|
|
12
|
-
padding-left: $gutter
|
|
11
|
+
padding-right: $gutter * .5;
|
|
12
|
+
padding-left: $gutter * .5;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
@each $breakpoint in map-keys($breakpoints) {
|
|
16
16
|
$infix: breakpoint-infix($breakpoint, $breakpoints);
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
@if $columns > 0 {
|
|
19
|
+
// Allow columns to stretch full width below their breakpoints
|
|
20
|
+
@for $i from 1 through $columns {
|
|
21
|
+
.col#{$infix}-#{$i} {
|
|
22
|
+
@extend %grid-column;
|
|
23
|
+
}
|
|
22
24
|
}
|
|
23
25
|
}
|
|
26
|
+
|
|
24
27
|
.col#{$infix},
|
|
25
28
|
.col#{$infix}-auto {
|
|
26
29
|
@extend %grid-column;
|
|
@@ -34,9 +37,11 @@
|
|
|
34
37
|
max-width: 100%;
|
|
35
38
|
}
|
|
36
39
|
|
|
37
|
-
@
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
@if $grid-row-columns > 0 {
|
|
41
|
+
@for $i from 1 through $grid-row-columns {
|
|
42
|
+
.row-cols#{$infix}-#{$i} {
|
|
43
|
+
@include row-cols($i);
|
|
44
|
+
}
|
|
40
45
|
}
|
|
41
46
|
}
|
|
42
47
|
|
|
@@ -44,9 +49,11 @@
|
|
|
44
49
|
@include make-col-auto();
|
|
45
50
|
}
|
|
46
51
|
|
|
47
|
-
@
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
@if $columns > 0 {
|
|
53
|
+
@for $i from 1 through $columns {
|
|
54
|
+
.col#{$infix}-#{$i} {
|
|
55
|
+
@include make-col($i, $columns);
|
|
56
|
+
}
|
|
50
57
|
}
|
|
51
58
|
}
|
|
52
59
|
|
|
@@ -58,11 +65,13 @@
|
|
|
58
65
|
.order#{$infix}-#{$i} { order: $i; }
|
|
59
66
|
}
|
|
60
67
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
@
|
|
64
|
-
|
|
65
|
-
|
|
68
|
+
@if $columns > 0 {
|
|
69
|
+
// `$columns - 1` because offsetting by the width of an entire row isn't possible
|
|
70
|
+
@for $i from 0 through ($columns - 1) {
|
|
71
|
+
@if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
|
|
72
|
+
.offset#{$infix}-#{$i} {
|
|
73
|
+
@include make-col-offset($i, $columns);
|
|
74
|
+
}
|
|
66
75
|
}
|
|
67
76
|
}
|
|
68
77
|
}
|
|
@@ -4,12 +4,18 @@
|
|
|
4
4
|
|
|
5
5
|
@mixin make-container($gutter: $grid-gutter-width) {
|
|
6
6
|
width: 100%;
|
|
7
|
-
padding-right: $gutter
|
|
8
|
-
padding-left: $gutter
|
|
7
|
+
padding-right: $gutter * .5;
|
|
8
|
+
padding-left: $gutter * .5;
|
|
9
9
|
margin-right: auto;
|
|
10
10
|
margin-left: auto;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
@mixin make-row($gutter: $grid-gutter-width) {
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-wrap: wrap;
|
|
16
|
+
margin-right: -$gutter * .5;
|
|
17
|
+
margin-left: -$gutter * .5;
|
|
18
|
+
}
|
|
13
19
|
|
|
14
20
|
// For each breakpoint, define the maximum width of the container in a media query
|
|
15
21
|
@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {
|
|
@@ -18,13 +24,7 @@
|
|
|
18
24
|
max-width: $container-max-width;
|
|
19
25
|
}
|
|
20
26
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
@mixin make-row($gutter: $grid-gutter-width) {
|
|
24
|
-
display: flex;
|
|
25
|
-
flex-wrap: wrap;
|
|
26
|
-
margin-right: -$gutter / 2;
|
|
27
|
-
margin-left: -$gutter / 2;
|
|
27
|
+
@include deprecate("The `make-container-max-widths` mixin", "v4.5.2", "v5");
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
@mixin make-col-ready($gutter: $grid-gutter-width) {
|
|
@@ -33,16 +33,16 @@
|
|
|
33
33
|
// always setting `width: 100%;`. This works because we use `flex` values
|
|
34
34
|
// later on to override this initial width.
|
|
35
35
|
width: 100%;
|
|
36
|
-
padding-right: $gutter
|
|
37
|
-
padding-left: $gutter
|
|
36
|
+
padding-right: $gutter * .5;
|
|
37
|
+
padding-left: $gutter * .5;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
@mixin make-col($size, $columns: $grid-columns) {
|
|
41
|
-
flex: 0 0 percentage($size
|
|
41
|
+
flex: 0 0 percentage(divide($size, $columns));
|
|
42
42
|
// Add a `max-width` to ensure content within each column does not blow out
|
|
43
43
|
// the width of the column. Applies to IE10+ and Firefox. Chrome and Safari
|
|
44
44
|
// do not appear to require this.
|
|
45
|
-
max-width: percentage($size
|
|
45
|
+
max-width: percentage(divide($size, $columns));
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
@mixin make-col-auto() {
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
@mixin make-col-offset($size, $columns: $grid-columns) {
|
|
55
|
-
$num: $size
|
|
55
|
+
$num: divide($size, $columns);
|
|
56
56
|
margin-left: if($num == 0, 0, percentage($num));
|
|
57
57
|
}
|
|
58
58
|
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
// numberof columns. Supports wrapping to new lines, but does not do a Masonry
|
|
63
63
|
// style grid.
|
|
64
64
|
@mixin row-cols($count) {
|
|
65
|
-
|
|
66
|
-
flex: 0 0 100
|
|
67
|
-
max-width: 100
|
|
65
|
+
> * {
|
|
66
|
+
flex: 0 0 divide(100%, $count);
|
|
67
|
+
max-width: divide(100%, $count);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
// Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,
|
|
27
27
|
// but doesn't convert dppx=>dpi.
|
|
28
28
|
// There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.
|
|
29
|
-
// Compatibility info: https://caniuse.com
|
|
29
|
+
// Compatibility info: https://caniuse.com/css-media-resolution
|
|
30
30
|
@media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx
|
|
31
31
|
only screen and (min-resolution: 2dppx) { // Standardized
|
|
32
32
|
background-image: url($file-2x);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Only display content to screen readers
|
|
2
2
|
//
|
|
3
|
-
// See: https://a11yproject.com/posts/how-to-hide-content/
|
|
4
|
-
// See: https://
|
|
3
|
+
// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/
|
|
4
|
+
// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/
|
|
5
5
|
|
|
6
6
|
@mixin sr-only() {
|
|
7
7
|
position: absolute;
|
|
@@ -1,16 +1,26 @@
|
|
|
1
|
-
// stylelint-disable property-
|
|
1
|
+
// stylelint-disable property-disallowed-list
|
|
2
2
|
@mixin transition($transition...) {
|
|
3
|
+
@if length($transition) == 0 {
|
|
4
|
+
$transition: $transition-base;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
@if length($transition) > 1 {
|
|
8
|
+
@each $value in $transition {
|
|
9
|
+
@if $value == null or $value == none {
|
|
10
|
+
@warn "The keyword 'none' or 'null' must be used as a single argument.";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
3
15
|
@if $enable-transitions {
|
|
4
|
-
@if
|
|
5
|
-
transition: $transition-base;
|
|
6
|
-
} @else {
|
|
16
|
+
@if nth($transition, 1) != null {
|
|
7
17
|
transition: $transition;
|
|
8
18
|
}
|
|
9
|
-
}
|
|
10
19
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
20
|
+
@if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {
|
|
21
|
+
@media (prefers-reduced-motion: reduce) {
|
|
22
|
+
transition: none;
|
|
23
|
+
}
|
|
14
24
|
}
|
|
15
25
|
}
|
|
16
26
|
}
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
|
|
34
34
|
.embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {
|
|
35
35
|
&::before {
|
|
36
|
-
padding-top: percentage($embed-responsive-aspect-ratio-y
|
|
36
|
+
padding-top: percentage(divide($embed-responsive-aspect-ratio-y, $embed-responsive-aspect-ratio-x));
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
|
|
31
31
|
// Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)
|
|
32
32
|
@each $size, $length in $spacers {
|
|
33
|
-
@if $size != 0 {
|
|
33
|
+
@if "#{$size}" != "0" {
|
|
34
34
|
.m#{$infix}-n#{$size} { margin: -$length !important; }
|
|
35
35
|
.mt#{$infix}-n#{$size},
|
|
36
36
|
.my#{$infix}-n#{$size} {
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
.text-decoration-none { text-decoration: none !important; }
|
|
64
64
|
|
|
65
65
|
.text-break {
|
|
66
|
-
word-break: break-word !important; //
|
|
67
|
-
|
|
66
|
+
word-break: break-word !important; // Deprecated, but avoids issues with flex containers
|
|
67
|
+
word-wrap: break-word !important; // Used instead of `overflow-wrap` for IE & Edge Legacy
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
// Reset
|