bootstrap 4.4.1 → 5.0.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 +13 -2
- data/README.md +7 -4
- data/assets/javascripts/bootstrap-global-this-define.js +6 -0
- data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
- data/assets/javascripts/bootstrap-sprockets.js +15 -8
- data/assets/javascripts/bootstrap.js +3244 -2770
- data/assets/javascripts/bootstrap.min.js +4 -4
- data/assets/javascripts/bootstrap/alert.js +130 -124
- data/assets/javascripts/bootstrap/base-component.js +168 -0
- data/assets/javascripts/bootstrap/button.js +85 -179
- data/assets/javascripts/bootstrap/carousel.js +430 -405
- data/assets/javascripts/bootstrap/collapse.js +325 -264
- data/assets/javascripts/bootstrap/dom/data.js +68 -0
- data/assets/javascripts/bootstrap/dom/event-handler.js +315 -0
- data/assets/javascripts/bootstrap/dom/manipulator.js +88 -0
- data/assets/javascripts/bootstrap/dom/selector-engine.js +85 -0
- data/assets/javascripts/bootstrap/dropdown.js +464 -400
- data/assets/javascripts/bootstrap/modal.js +604 -464
- data/assets/javascripts/bootstrap/offcanvas.js +671 -0
- data/assets/javascripts/bootstrap/popover.js +119 -192
- data/assets/javascripts/bootstrap/scrollspy.js +250 -238
- data/assets/javascripts/bootstrap/tab.js +189 -151
- data/assets/javascripts/bootstrap/toast.js +215 -192
- data/assets/javascripts/bootstrap/tooltip.js +604 -544
- data/assets/stylesheets/_bootstrap-grid.scss +54 -18
- data/assets/stylesheets/_bootstrap-reboot.scss +7 -4
- data/assets/stylesheets/_bootstrap.scss +19 -11
- data/assets/stylesheets/bootstrap/_accordion.scss +118 -0
- data/assets/stylesheets/bootstrap/_alert.scss +15 -9
- data/assets/stylesheets/bootstrap/_badge.scss +2 -27
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +4 -18
- data/assets/stylesheets/bootstrap/_button-group.scss +21 -45
- data/assets/stylesheets/bootstrap/_buttons.scss +27 -55
- data/assets/stylesheets/bootstrap/_card.scss +43 -106
- data/assets/stylesheets/bootstrap/_carousel.scss +65 -33
- data/assets/stylesheets/bootstrap/_close.scss +30 -31
- data/assets/stylesheets/bootstrap/_containers.scss +41 -0
- data/assets/stylesheets/bootstrap/_dropdown.scss +87 -38
- data/assets/stylesheets/bootstrap/_forms.scss +9 -338
- data/assets/stylesheets/bootstrap/_functions.scss +99 -28
- data/assets/stylesheets/bootstrap/_grid.scss +3 -50
- data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
- data/assets/stylesheets/bootstrap/_list-group.scss +38 -22
- data/assets/stylesheets/bootstrap/_mixins.scss +8 -13
- data/assets/stylesheets/bootstrap/_modal.scss +45 -65
- data/assets/stylesheets/bootstrap/_nav.scss +28 -9
- data/assets/stylesheets/bootstrap/_navbar.scss +51 -69
- data/assets/stylesheets/bootstrap/_offcanvas.scss +77 -0
- data/assets/stylesheets/bootstrap/_pagination.scss +11 -20
- data/assets/stylesheets/bootstrap/_popover.scss +15 -27
- data/assets/stylesheets/bootstrap/_progress.scss +6 -4
- data/assets/stylesheets/bootstrap/_reboot.scss +339 -200
- data/assets/stylesheets/bootstrap/_root.scss +5 -9
- data/assets/stylesheets/bootstrap/_spinners.scss +21 -7
- data/assets/stylesheets/bootstrap/_tables.scss +80 -114
- data/assets/stylesheets/bootstrap/_toasts.scss +21 -14
- data/assets/stylesheets/bootstrap/_tooltip.scss +17 -17
- data/assets/stylesheets/bootstrap/_transitions.scss +2 -1
- data/assets/stylesheets/bootstrap/_type.scss +38 -59
- data/assets/stylesheets/bootstrap/_utilities.scss +594 -17
- data/assets/stylesheets/bootstrap/_variables.scss +810 -489
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
- data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +152 -0
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +219 -0
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +67 -0
- data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
- data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -0
- data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
- data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
- data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
- data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
- data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
- data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
- data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
- data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
- data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +3 -5
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +37 -22
- data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +14 -10
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +75 -52
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +10 -8
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +42 -75
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +90 -34
- data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +5 -2
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +17 -8
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +68 -0
- data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +29 -0
- data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +234 -126
- data/bootstrap.gemspec +1 -3
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +20 -5
- data/tasks/updater/network.rb +8 -2
- data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
- data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
- data/test/dummy_rails/app/views/pages/root.html +89 -0
- data/test/dummy_rails/config/application.rb +0 -3
- data/test/gemfiles/rails_6_0.gemfile +7 -0
- data/test/gemfiles/rails_6_1.gemfile +7 -0
- metadata +48 -73
- data/assets/javascripts/bootstrap/util.js +0 -188
- data/assets/stylesheets/bootstrap/_code.scss +0 -48
- data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -521
- data/assets/stylesheets/bootstrap/_input-group.scss +0 -191
- data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
- data/assets/stylesheets/bootstrap/_media.scss +0 -8
- data/assets/stylesheets/bootstrap/_print.scss +0 -141
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -22
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
- data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -71
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
- data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
- data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
- data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
- data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
- data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
- data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
- data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
- data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
- data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
- data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
- data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
- data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
- data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// stylelint-disable selector-no-qualifying-type
|
|
2
|
-
|
|
3
1
|
//
|
|
4
2
|
// Base styles
|
|
5
3
|
//
|
|
@@ -8,49 +6,48 @@
|
|
|
8
6
|
display: inline-block;
|
|
9
7
|
font-family: $btn-font-family;
|
|
10
8
|
font-weight: $btn-font-weight;
|
|
9
|
+
line-height: $btn-line-height;
|
|
11
10
|
color: $body-color;
|
|
12
11
|
text-align: center;
|
|
12
|
+
text-decoration: if($link-decoration == none, null, none);
|
|
13
13
|
white-space: $btn-white-space;
|
|
14
14
|
vertical-align: middle;
|
|
15
|
-
cursor: if($enable-
|
|
15
|
+
cursor: if($enable-button-pointers, pointer, null);
|
|
16
16
|
user-select: none;
|
|
17
17
|
background-color: transparent;
|
|
18
18
|
border: $btn-border-width solid transparent;
|
|
19
|
-
@include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-
|
|
19
|
+
@include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);
|
|
20
20
|
@include transition($btn-transition);
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
&:hover {
|
|
23
23
|
color: $body-color;
|
|
24
|
-
text-decoration: none;
|
|
24
|
+
text-decoration: if($link-hover-decoration == underline, none, null);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
.btn-check:focus + &,
|
|
28
|
+
&:focus {
|
|
29
29
|
outline: 0;
|
|
30
30
|
box-shadow: $btn-focus-box-shadow;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
&:
|
|
36
|
-
|
|
37
|
-
@include box-shadow(none);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
&:not(:disabled):not(.disabled):active,
|
|
41
|
-
&:not(:disabled):not(.disabled).active {
|
|
33
|
+
.btn-check:checked + &,
|
|
34
|
+
.btn-check:active + &,
|
|
35
|
+
&:active,
|
|
36
|
+
&.active {
|
|
42
37
|
@include box-shadow($btn-active-box-shadow);
|
|
43
38
|
|
|
44
39
|
&:focus {
|
|
45
40
|
@include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
|
|
46
41
|
}
|
|
47
42
|
}
|
|
48
|
-
}
|
|
49
43
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
fieldset:disabled
|
|
53
|
-
|
|
44
|
+
&:disabled,
|
|
45
|
+
&.disabled,
|
|
46
|
+
fieldset:disabled & {
|
|
47
|
+
pointer-events: none;
|
|
48
|
+
opacity: $btn-disabled-opacity;
|
|
49
|
+
@include box-shadow(none);
|
|
50
|
+
}
|
|
54
51
|
}
|
|
55
52
|
|
|
56
53
|
|
|
@@ -58,6 +55,7 @@ fieldset:disabled a.btn {
|
|
|
58
55
|
// Alternate buttons
|
|
59
56
|
//
|
|
60
57
|
|
|
58
|
+
// scss-docs-start btn-variant-loops
|
|
61
59
|
@each $color, $value in $theme-colors {
|
|
62
60
|
.btn-#{$color} {
|
|
63
61
|
@include button-variant($value, $value);
|
|
@@ -69,6 +67,7 @@ fieldset:disabled a.btn {
|
|
|
69
67
|
@include button-outline-variant($value);
|
|
70
68
|
}
|
|
71
69
|
}
|
|
70
|
+
// scss-docs-end btn-variant-loops
|
|
72
71
|
|
|
73
72
|
|
|
74
73
|
//
|
|
@@ -78,24 +77,21 @@ fieldset:disabled a.btn {
|
|
|
78
77
|
// Make a button look and behave like a link
|
|
79
78
|
.btn-link {
|
|
80
79
|
font-weight: $font-weight-normal;
|
|
81
|
-
color: $link-color;
|
|
80
|
+
color: $btn-link-color;
|
|
82
81
|
text-decoration: $link-decoration;
|
|
83
82
|
|
|
84
|
-
|
|
85
|
-
color: $link-hover-color;
|
|
83
|
+
&:hover {
|
|
84
|
+
color: $btn-link-hover-color;
|
|
86
85
|
text-decoration: $link-hover-decoration;
|
|
87
86
|
}
|
|
88
87
|
|
|
89
|
-
&:focus
|
|
90
|
-
&.focus {
|
|
88
|
+
&:focus {
|
|
91
89
|
text-decoration: $link-hover-decoration;
|
|
92
|
-
box-shadow: none;
|
|
93
90
|
}
|
|
94
91
|
|
|
95
92
|
&:disabled,
|
|
96
93
|
&.disabled {
|
|
97
94
|
color: $btn-link-disabled-color;
|
|
98
|
-
pointer-events: none;
|
|
99
95
|
}
|
|
100
96
|
|
|
101
97
|
// No need for an active state here
|
|
@@ -107,33 +103,9 @@ fieldset:disabled a.btn {
|
|
|
107
103
|
//
|
|
108
104
|
|
|
109
105
|
.btn-lg {
|
|
110
|
-
@include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-
|
|
106
|
+
@include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);
|
|
111
107
|
}
|
|
112
108
|
|
|
113
109
|
.btn-sm {
|
|
114
|
-
@include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
//
|
|
119
|
-
// Block button
|
|
120
|
-
//
|
|
121
|
-
|
|
122
|
-
.btn-block {
|
|
123
|
-
display: block;
|
|
124
|
-
width: 100%;
|
|
125
|
-
|
|
126
|
-
// Vertically space out multiple block buttons
|
|
127
|
-
+ .btn-block {
|
|
128
|
-
margin-top: $btn-block-spacing-y;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
// Specificity overrides
|
|
133
|
-
input[type="submit"],
|
|
134
|
-
input[type="reset"],
|
|
135
|
-
input[type="button"] {
|
|
136
|
-
&.btn-block {
|
|
137
|
-
width: 100%;
|
|
138
|
-
}
|
|
110
|
+
@include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);
|
|
139
111
|
}
|
|
@@ -19,36 +19,43 @@
|
|
|
19
19
|
margin-left: 0;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
> .list-group
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
> .list-group {
|
|
23
|
+
border-top: inherit;
|
|
24
|
+
border-bottom: inherit;
|
|
25
|
+
|
|
26
|
+
&:first-child {
|
|
27
|
+
border-top-width: 0;
|
|
28
|
+
@include border-top-radius($card-inner-border-radius);
|
|
25
29
|
}
|
|
26
|
-
}
|
|
27
30
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
@include border-bottom-radius($card-border-radius);
|
|
31
|
+
&:last-child {
|
|
32
|
+
border-bottom-width: 0;
|
|
33
|
+
@include border-bottom-radius($card-inner-border-radius);
|
|
31
34
|
}
|
|
32
35
|
}
|
|
36
|
+
|
|
37
|
+
// Due to specificity of the above selector (`.card > .list-group`), we must
|
|
38
|
+
// use a child selector here to prevent double borders.
|
|
39
|
+
> .card-header + .list-group,
|
|
40
|
+
> .list-group + .card-footer {
|
|
41
|
+
border-top: 0;
|
|
42
|
+
}
|
|
33
43
|
}
|
|
34
44
|
|
|
35
45
|
.card-body {
|
|
36
46
|
// Enable `flex-grow: 1` for decks and groups so that card blocks take up
|
|
37
47
|
// as much space as possible, ensuring footers are aligned to the bottom.
|
|
38
48
|
flex: 1 1 auto;
|
|
39
|
-
|
|
40
|
-
// See: https://github.com/twbs/bootstrap/pull/28855
|
|
41
|
-
min-height: 1px;
|
|
42
|
-
padding: $card-spacer-x;
|
|
49
|
+
padding: $card-spacer-y $card-spacer-x;
|
|
43
50
|
color: $card-color;
|
|
44
51
|
}
|
|
45
52
|
|
|
46
53
|
.card-title {
|
|
47
|
-
margin-bottom: $card-spacer-y;
|
|
54
|
+
margin-bottom: $card-title-spacer-y;
|
|
48
55
|
}
|
|
49
56
|
|
|
50
57
|
.card-subtitle {
|
|
51
|
-
margin-top: -$card-spacer-y / 2;
|
|
58
|
+
margin-top: -$card-title-spacer-y / 2;
|
|
52
59
|
margin-bottom: 0;
|
|
53
60
|
}
|
|
54
61
|
|
|
@@ -57,7 +64,7 @@
|
|
|
57
64
|
}
|
|
58
65
|
|
|
59
66
|
.card-link {
|
|
60
|
-
|
|
67
|
+
&:hover {
|
|
61
68
|
text-decoration: none;
|
|
62
69
|
}
|
|
63
70
|
|
|
@@ -71,7 +78,7 @@
|
|
|
71
78
|
//
|
|
72
79
|
|
|
73
80
|
.card-header {
|
|
74
|
-
padding: $card-
|
|
81
|
+
padding: $card-cap-padding-y $card-cap-padding-x;
|
|
75
82
|
margin-bottom: 0; // Removes the default margin-bottom of <hN>
|
|
76
83
|
color: $card-cap-color;
|
|
77
84
|
background-color: $card-cap-bg;
|
|
@@ -80,16 +87,11 @@
|
|
|
80
87
|
&:first-child {
|
|
81
88
|
@include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);
|
|
82
89
|
}
|
|
83
|
-
|
|
84
|
-
+ .list-group {
|
|
85
|
-
.list-group-item:first-child {
|
|
86
|
-
border-top: 0;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
90
|
}
|
|
90
91
|
|
|
91
92
|
.card-footer {
|
|
92
|
-
padding: $card-
|
|
93
|
+
padding: $card-cap-padding-y $card-cap-padding-x;
|
|
94
|
+
color: $card-cap-color;
|
|
93
95
|
background-color: $card-cap-bg;
|
|
94
96
|
border-top: $card-border-width solid $card-border-color;
|
|
95
97
|
|
|
@@ -104,15 +106,22 @@
|
|
|
104
106
|
//
|
|
105
107
|
|
|
106
108
|
.card-header-tabs {
|
|
107
|
-
margin-right: -$card-
|
|
108
|
-
margin-bottom: -$card-
|
|
109
|
-
margin-left: -$card-
|
|
109
|
+
margin-right: -$card-cap-padding-x / 2;
|
|
110
|
+
margin-bottom: -$card-cap-padding-y;
|
|
111
|
+
margin-left: -$card-cap-padding-x / 2;
|
|
110
112
|
border-bottom: 0;
|
|
113
|
+
|
|
114
|
+
@if $nav-tabs-link-active-bg != $card-bg {
|
|
115
|
+
.nav-link.active {
|
|
116
|
+
background-color: $card-bg;
|
|
117
|
+
border-bottom-color: $card-bg;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
111
120
|
}
|
|
112
121
|
|
|
113
122
|
.card-header-pills {
|
|
114
|
-
margin-right: -$card-
|
|
115
|
-
margin-left: -$card-
|
|
123
|
+
margin-right: -$card-cap-padding-x / 2;
|
|
124
|
+
margin-left: -$card-cap-padding-x / 2;
|
|
116
125
|
}
|
|
117
126
|
|
|
118
127
|
// Card image
|
|
@@ -123,12 +132,12 @@
|
|
|
123
132
|
bottom: 0;
|
|
124
133
|
left: 0;
|
|
125
134
|
padding: $card-img-overlay-padding;
|
|
135
|
+
@include border-radius($card-inner-border-radius);
|
|
126
136
|
}
|
|
127
137
|
|
|
128
138
|
.card-img,
|
|
129
139
|
.card-img-top,
|
|
130
140
|
.card-img-bottom {
|
|
131
|
-
flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396
|
|
132
141
|
width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
|
|
133
142
|
}
|
|
134
143
|
|
|
@@ -143,30 +152,6 @@
|
|
|
143
152
|
}
|
|
144
153
|
|
|
145
154
|
|
|
146
|
-
// Card deck
|
|
147
|
-
|
|
148
|
-
.card-deck {
|
|
149
|
-
.card {
|
|
150
|
-
margin-bottom: $card-deck-margin;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
@include media-breakpoint-up(sm) {
|
|
154
|
-
display: flex;
|
|
155
|
-
flex-flow: row wrap;
|
|
156
|
-
margin-right: -$card-deck-margin;
|
|
157
|
-
margin-left: -$card-deck-margin;
|
|
158
|
-
|
|
159
|
-
.card {
|
|
160
|
-
// Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
|
|
161
|
-
flex: 1 0 0%;
|
|
162
|
-
margin-right: $card-deck-margin;
|
|
163
|
-
margin-bottom: 0; // Override the default
|
|
164
|
-
margin-left: $card-deck-margin;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
|
|
170
155
|
//
|
|
171
156
|
// Card groups
|
|
172
157
|
//
|
|
@@ -196,31 +181,31 @@
|
|
|
196
181
|
// Handle rounded corners
|
|
197
182
|
@if $enable-rounded {
|
|
198
183
|
&:not(:last-child) {
|
|
199
|
-
@include border-
|
|
184
|
+
@include border-end-radius(0);
|
|
200
185
|
|
|
201
186
|
.card-img-top,
|
|
202
187
|
.card-header {
|
|
203
|
-
// stylelint-disable-next-line property-
|
|
188
|
+
// stylelint-disable-next-line property-disallowed-list
|
|
204
189
|
border-top-right-radius: 0;
|
|
205
190
|
}
|
|
206
191
|
.card-img-bottom,
|
|
207
192
|
.card-footer {
|
|
208
|
-
// stylelint-disable-next-line property-
|
|
193
|
+
// stylelint-disable-next-line property-disallowed-list
|
|
209
194
|
border-bottom-right-radius: 0;
|
|
210
195
|
}
|
|
211
196
|
}
|
|
212
197
|
|
|
213
198
|
&:not(:first-child) {
|
|
214
|
-
@include border-
|
|
199
|
+
@include border-start-radius(0);
|
|
215
200
|
|
|
216
201
|
.card-img-top,
|
|
217
202
|
.card-header {
|
|
218
|
-
// stylelint-disable-next-line property-
|
|
203
|
+
// stylelint-disable-next-line property-disallowed-list
|
|
219
204
|
border-top-left-radius: 0;
|
|
220
205
|
}
|
|
221
206
|
.card-img-bottom,
|
|
222
207
|
.card-footer {
|
|
223
|
-
// stylelint-disable-next-line property-
|
|
208
|
+
// stylelint-disable-next-line property-disallowed-list
|
|
224
209
|
border-bottom-left-radius: 0;
|
|
225
210
|
}
|
|
226
211
|
}
|
|
@@ -228,51 +213,3 @@
|
|
|
228
213
|
}
|
|
229
214
|
}
|
|
230
215
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
//
|
|
234
|
-
// Columns
|
|
235
|
-
//
|
|
236
|
-
|
|
237
|
-
.card-columns {
|
|
238
|
-
.card {
|
|
239
|
-
margin-bottom: $card-columns-margin;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
@include media-breakpoint-up(sm) {
|
|
243
|
-
column-count: $card-columns-count;
|
|
244
|
-
column-gap: $card-columns-gap;
|
|
245
|
-
orphans: 1;
|
|
246
|
-
widows: 1;
|
|
247
|
-
|
|
248
|
-
.card {
|
|
249
|
-
display: inline-block; // Don't let them vertically span multiple columns
|
|
250
|
-
width: 100%; // Don't let their width change
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
//
|
|
257
|
-
// Accordion
|
|
258
|
-
//
|
|
259
|
-
|
|
260
|
-
.accordion {
|
|
261
|
-
> .card {
|
|
262
|
-
overflow: hidden;
|
|
263
|
-
|
|
264
|
-
&:not(:last-of-type) {
|
|
265
|
-
border-bottom: 0;
|
|
266
|
-
@include border-bottom-radius(0);
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
&:not(:first-of-type) {
|
|
270
|
-
@include border-top-radius(0);
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
> .card-header {
|
|
274
|
-
@include border-radius(0);
|
|
275
|
-
margin-bottom: -$card-border-width;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
}
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)
|
|
4
4
|
// even when their scroll action started on a carousel, but for compatibility (with Firefox)
|
|
5
5
|
// we're preventing all actions instead
|
|
6
|
-
// 2. The .carousel-item-
|
|
6
|
+
// 2. The .carousel-item-start and .carousel-item-end is used to indicate where
|
|
7
7
|
// the active slide is heading.
|
|
8
8
|
// 3. .active.carousel-item is the current slide.
|
|
9
|
-
// 4. .active.carousel-item-
|
|
9
|
+
// 4. .active.carousel-item-start and .active.carousel-item-end is the current
|
|
10
10
|
// slide in its in-transition state. Only one of these occurs at a time.
|
|
11
|
-
// 5. .carousel-item-next.carousel-item-
|
|
11
|
+
// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end
|
|
12
12
|
// is the upcoming slide in transition.
|
|
13
13
|
|
|
14
14
|
.carousel {
|
|
@@ -42,16 +42,19 @@
|
|
|
42
42
|
display: block;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
.
|
|
45
|
+
/* rtl:begin:ignore */
|
|
46
|
+
.carousel-item-next:not(.carousel-item-start),
|
|
47
|
+
.active.carousel-item-end {
|
|
47
48
|
transform: translateX(100%);
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
.carousel-item-prev:not(.carousel-item-
|
|
51
|
-
.active.carousel-item-
|
|
51
|
+
.carousel-item-prev:not(.carousel-item-end),
|
|
52
|
+
.active.carousel-item-start {
|
|
52
53
|
transform: translateX(-100%);
|
|
53
54
|
}
|
|
54
55
|
|
|
56
|
+
/* rtl:end:ignore */
|
|
57
|
+
|
|
55
58
|
|
|
56
59
|
//
|
|
57
60
|
// Alternate transitions
|
|
@@ -65,14 +68,14 @@
|
|
|
65
68
|
}
|
|
66
69
|
|
|
67
70
|
.carousel-item.active,
|
|
68
|
-
.carousel-item-next.carousel-item-
|
|
69
|
-
.carousel-item-prev.carousel-item-
|
|
71
|
+
.carousel-item-next.carousel-item-start,
|
|
72
|
+
.carousel-item-prev.carousel-item-end {
|
|
70
73
|
z-index: 1;
|
|
71
74
|
opacity: 1;
|
|
72
75
|
}
|
|
73
76
|
|
|
74
|
-
.active.carousel-item-
|
|
75
|
-
.active.carousel-item-
|
|
77
|
+
.active.carousel-item-start,
|
|
78
|
+
.active.carousel-item-end {
|
|
76
79
|
z-index: 0;
|
|
77
80
|
opacity: 0;
|
|
78
81
|
@include transition(opacity 0s $carousel-transition-duration);
|
|
@@ -95,13 +98,17 @@
|
|
|
95
98
|
align-items: center; // 2. vertically center contents
|
|
96
99
|
justify-content: center; // 3. horizontally center contents
|
|
97
100
|
width: $carousel-control-width;
|
|
101
|
+
padding: 0;
|
|
98
102
|
color: $carousel-control-color;
|
|
99
103
|
text-align: center;
|
|
104
|
+
background: none;
|
|
105
|
+
border: 0;
|
|
100
106
|
opacity: $carousel-control-opacity;
|
|
101
107
|
@include transition($carousel-control-transition);
|
|
102
108
|
|
|
103
109
|
// Hover/focus state
|
|
104
|
-
|
|
110
|
+
&:hover,
|
|
111
|
+
&:focus {
|
|
105
112
|
color: $carousel-control-color;
|
|
106
113
|
text-decoration: none;
|
|
107
114
|
outline: 0;
|
|
@@ -110,15 +117,11 @@
|
|
|
110
117
|
}
|
|
111
118
|
.carousel-control-prev {
|
|
112
119
|
left: 0;
|
|
113
|
-
|
|
114
|
-
background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));
|
|
115
|
-
}
|
|
120
|
+
background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);
|
|
116
121
|
}
|
|
117
122
|
.carousel-control-next {
|
|
118
123
|
right: 0;
|
|
119
|
-
|
|
120
|
-
background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));
|
|
121
|
-
}
|
|
124
|
+
background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null);
|
|
122
125
|
}
|
|
123
126
|
|
|
124
127
|
// Icons for within
|
|
@@ -127,8 +130,19 @@
|
|
|
127
130
|
display: inline-block;
|
|
128
131
|
width: $carousel-control-icon-width;
|
|
129
132
|
height: $carousel-control-icon-width;
|
|
130
|
-
background: no-repeat
|
|
131
|
-
|
|
133
|
+
background-repeat: no-repeat;
|
|
134
|
+
background-position: 50%;
|
|
135
|
+
background-size: 100% 100%;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/* rtl:options: {
|
|
139
|
+
"autoRename": true,
|
|
140
|
+
"stringMap":[ {
|
|
141
|
+
"name" : "prev-next",
|
|
142
|
+
"search" : "prev",
|
|
143
|
+
"replace" : "next"
|
|
144
|
+
} ]
|
|
145
|
+
} */
|
|
132
146
|
.carousel-control-prev-icon {
|
|
133
147
|
background-image: escape-svg($carousel-control-prev-icon-bg);
|
|
134
148
|
}
|
|
@@ -136,46 +150,48 @@
|
|
|
136
150
|
background-image: escape-svg($carousel-control-next-icon-bg);
|
|
137
151
|
}
|
|
138
152
|
|
|
139
|
-
|
|
140
|
-
// Optional indicator pips
|
|
153
|
+
// Optional indicator pips/controls
|
|
141
154
|
//
|
|
142
|
-
// Add
|
|
143
|
-
// slide your carousel holds.
|
|
155
|
+
// Add a container (such as a list) with the following class and add an item (ideally a focusable control,
|
|
156
|
+
// like a button) with data-bs-target for each slide your carousel holds.
|
|
144
157
|
|
|
145
158
|
.carousel-indicators {
|
|
146
159
|
position: absolute;
|
|
147
160
|
right: 0;
|
|
148
161
|
bottom: 0;
|
|
149
162
|
left: 0;
|
|
150
|
-
z-index:
|
|
163
|
+
z-index: 2;
|
|
151
164
|
display: flex;
|
|
152
165
|
justify-content: center;
|
|
153
|
-
padding
|
|
166
|
+
padding: 0;
|
|
154
167
|
// Use the .carousel-control's width as margin so we don't overlay those
|
|
155
168
|
margin-right: $carousel-control-width;
|
|
169
|
+
margin-bottom: 1rem;
|
|
156
170
|
margin-left: $carousel-control-width;
|
|
157
171
|
list-style: none;
|
|
158
172
|
|
|
159
|
-
|
|
173
|
+
[data-bs-target] {
|
|
160
174
|
box-sizing: content-box;
|
|
161
175
|
flex: 0 1 auto;
|
|
162
176
|
width: $carousel-indicator-width;
|
|
163
177
|
height: $carousel-indicator-height;
|
|
178
|
+
padding: 0;
|
|
164
179
|
margin-right: $carousel-indicator-spacer;
|
|
165
180
|
margin-left: $carousel-indicator-spacer;
|
|
166
181
|
text-indent: -999px;
|
|
167
182
|
cursor: pointer;
|
|
168
183
|
background-color: $carousel-indicator-active-bg;
|
|
169
184
|
background-clip: padding-box;
|
|
185
|
+
border: 0;
|
|
170
186
|
// Use transparent borders to increase the hit area by 10px on top and bottom.
|
|
171
187
|
border-top: $carousel-indicator-hit-area-height solid transparent;
|
|
172
188
|
border-bottom: $carousel-indicator-hit-area-height solid transparent;
|
|
173
|
-
opacity:
|
|
189
|
+
opacity: $carousel-indicator-opacity;
|
|
174
190
|
@include transition($carousel-indicator-transition);
|
|
175
191
|
}
|
|
176
192
|
|
|
177
193
|
.active {
|
|
178
|
-
opacity:
|
|
194
|
+
opacity: $carousel-indicator-active-opacity;
|
|
179
195
|
}
|
|
180
196
|
}
|
|
181
197
|
|
|
@@ -187,11 +203,27 @@
|
|
|
187
203
|
.carousel-caption {
|
|
188
204
|
position: absolute;
|
|
189
205
|
right: (100% - $carousel-caption-width) / 2;
|
|
190
|
-
bottom:
|
|
206
|
+
bottom: $carousel-caption-spacer;
|
|
191
207
|
left: (100% - $carousel-caption-width) / 2;
|
|
192
|
-
|
|
193
|
-
padding-
|
|
194
|
-
padding-bottom: 20px;
|
|
208
|
+
padding-top: $carousel-caption-padding-y;
|
|
209
|
+
padding-bottom: $carousel-caption-padding-y;
|
|
195
210
|
color: $carousel-caption-color;
|
|
196
211
|
text-align: center;
|
|
197
212
|
}
|
|
213
|
+
|
|
214
|
+
// Dark mode carousel
|
|
215
|
+
|
|
216
|
+
.carousel-dark {
|
|
217
|
+
.carousel-control-prev-icon,
|
|
218
|
+
.carousel-control-next-icon {
|
|
219
|
+
filter: $carousel-dark-control-icon-filter;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.carousel-indicators [data-bs-target] {
|
|
223
|
+
background-color: $carousel-dark-indicator-active-bg;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.carousel-caption {
|
|
227
|
+
color: $carousel-dark-caption-color;
|
|
228
|
+
}
|
|
229
|
+
}
|