bootstrap 4.0.0.alpha6 → 4.0.0.beta
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of bootstrap might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/Gemfile +2 -4
- data/README.md +20 -22
- data/assets/javascripts/bootstrap.js +657 -361
- data/assets/javascripts/bootstrap.min.js +2 -3
- data/assets/javascripts/bootstrap/alert.js +8 -8
- data/assets/javascripts/bootstrap/button.js +16 -9
- data/assets/javascripts/bootstrap/carousel.js +48 -21
- data/assets/javascripts/bootstrap/collapse.js +42 -33
- data/assets/javascripts/bootstrap/dropdown.js +196 -52
- data/assets/javascripts/bootstrap/modal.js +71 -29
- data/assets/javascripts/bootstrap/popover.js +25 -13
- data/assets/javascripts/bootstrap/scrollspy.js +23 -21
- data/assets/javascripts/bootstrap/tab.js +14 -18
- data/assets/javascripts/bootstrap/tooltip.js +139 -83
- data/assets/javascripts/bootstrap/util.js +10 -8
- data/assets/stylesheets/_bootstrap-grid.scss +2 -8
- data/assets/stylesheets/_bootstrap-reboot.scss +1 -2
- data/assets/stylesheets/_bootstrap.scss +2 -15
- data/assets/stylesheets/bootstrap/_alert.scss +4 -11
- data/assets/stylesheets/bootstrap/_badge.scss +4 -33
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +1 -1
- data/assets/stylesheets/bootstrap/_button-group.scss +11 -15
- data/assets/stylesheets/bootstrap/_buttons.scss +13 -42
- data/assets/stylesheets/bootstrap/_card.scss +27 -80
- data/assets/stylesheets/bootstrap/_carousel.scss +24 -17
- data/assets/stylesheets/bootstrap/_close.scss +0 -2
- data/assets/stylesheets/bootstrap/_custom-forms.scss +27 -36
- data/assets/stylesheets/bootstrap/_dropdown.scss +15 -48
- data/assets/stylesheets/bootstrap/_forms.scss +70 -68
- data/assets/stylesheets/bootstrap/_functions.scss +90 -0
- data/assets/stylesheets/bootstrap/_grid.scss +3 -2
- data/assets/stylesheets/bootstrap/_images.scss +1 -1
- data/assets/stylesheets/bootstrap/_input-group.scss +6 -8
- data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -4
- data/assets/stylesheets/bootstrap/_list-group.scss +9 -36
- data/assets/stylesheets/bootstrap/_mixins.scss +2 -18
- data/assets/stylesheets/bootstrap/_modal.scss +3 -3
- data/assets/stylesheets/bootstrap/_nav.scss +15 -16
- data/assets/stylesheets/bootstrap/_navbar.scss +70 -54
- data/assets/stylesheets/bootstrap/_pagination.scss +3 -4
- data/assets/stylesheets/bootstrap/_popover.scss +96 -72
- data/assets/stylesheets/bootstrap/_print.scss +1 -9
- data/assets/stylesheets/bootstrap/_progress.scss +4 -4
- data/assets/stylesheets/bootstrap/_reboot.scss +187 -95
- data/assets/stylesheets/bootstrap/_tables.scss +34 -19
- data/assets/stylesheets/bootstrap/_tooltip.scss +52 -35
- data/assets/stylesheets/bootstrap/_type.scss +8 -28
- data/assets/stylesheets/bootstrap/_utilities.scss +1 -0
- data/assets/stylesheets/bootstrap/_variables.scss +286 -410
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +4 -5
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +6 -5
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +5 -0
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +23 -13
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +11 -14
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +57 -55
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +9 -18
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +12 -65
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +6 -6
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -4
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +1 -0
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +4 -3
- data/assets/stylesheets/bootstrap/mixins/_resize.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +5 -2
- data/assets/stylesheets/bootstrap/mixins/_text-truncate.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +9 -0
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +2 -2
- data/assets/stylesheets/bootstrap/utilities/_background.scss +4 -17
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +20 -5
- data/assets/stylesheets/bootstrap/utilities/_display.scss +36 -1
- data/assets/stylesheets/bootstrap/{_responsive-embed.scss → utilities/_embed.scss} +0 -0
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -4
- data/assets/stylesheets/bootstrap/utilities/_position.scss +5 -3
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +10 -12
- data/assets/stylesheets/bootstrap/utilities/_text.scss +5 -17
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +4 -48
- data/bootstrap.gemspec +2 -0
- data/lib/bootstrap.rb +2 -0
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +7 -9
- data/tasks/updater/scss.rb +1 -4
- data/templates/project/_bootstrap-variables.scss +289 -396
- data/test/dummy_rails/app/assets/javascripts/application.js +1 -1
- data/test/dummy_rails/config/application.rb +0 -1
- data/test/gemfiles/rails_4_2.gemfile +0 -4
- data/test/gemfiles/rails_5_0.gemfile +0 -4
- data/test/gemfiles/rails_5_1.gemfile +8 -0
- metadata +23 -8
- data/assets/stylesheets/bootstrap/_custom.scss +0 -4
- data/assets/stylesheets/bootstrap/_normalize.scss +0 -461
- data/assets/stylesheets/bootstrap/mixins/_cards.scss +0 -47
- data/assets/stylesheets/bootstrap/mixins/_transforms.scss +0 -14
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* --------------------------------------------------------------------------
|
3
|
-
* Bootstrap (v4.0.0-
|
3
|
+
* Bootstrap (v4.0.0-beta): util.js
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5
5
|
* --------------------------------------------------------------------------
|
6
6
|
*/
|
@@ -22,10 +22,9 @@ var Util = function ($) {
|
|
22
22
|
MozTransition: 'transitionend',
|
23
23
|
OTransition: 'oTransitionEnd otransitionend',
|
24
24
|
transition: 'transitionend'
|
25
|
-
};
|
26
25
|
|
27
|
-
|
28
|
-
function toType(obj) {
|
26
|
+
// shoutout AngusCroll (https://goo.gl/pxwQGp)
|
27
|
+
};function toType(obj) {
|
29
28
|
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
|
30
29
|
}
|
31
30
|
|
@@ -111,13 +110,16 @@ var Util = function ($) {
|
|
111
110
|
},
|
112
111
|
getSelectorFromElement: function getSelectorFromElement(element) {
|
113
112
|
var selector = element.getAttribute('data-target');
|
114
|
-
|
115
|
-
if (!selector) {
|
113
|
+
if (!selector || selector === '#') {
|
116
114
|
selector = element.getAttribute('href') || '';
|
117
|
-
selector = /^#[a-z]/i.test(selector) ? selector : null;
|
118
115
|
}
|
119
116
|
|
120
|
-
|
117
|
+
try {
|
118
|
+
var $selector = $(selector);
|
119
|
+
return $selector.length > 0 ? selector : null;
|
120
|
+
} catch (error) {
|
121
|
+
return null;
|
122
|
+
}
|
121
123
|
},
|
122
124
|
reflow: function reflow(element) {
|
123
125
|
return element.offsetHeight;
|
@@ -22,22 +22,16 @@ html {
|
|
22
22
|
box-sizing: inherit;
|
23
23
|
}
|
24
24
|
|
25
|
-
|
26
|
-
//
|
27
|
-
// Variables
|
28
|
-
//
|
29
|
-
|
25
|
+
@import "bootstrap/functions";
|
30
26
|
@import "bootstrap/variables";
|
31
27
|
|
32
28
|
//
|
33
29
|
// Grid mixins
|
34
30
|
//
|
35
31
|
|
36
|
-
@import "bootstrap/mixins/clearfix";
|
37
32
|
@import "bootstrap/mixins/breakpoints";
|
38
33
|
@import "bootstrap/mixins/grid-framework";
|
39
34
|
@import "bootstrap/mixins/grid";
|
40
35
|
|
41
|
-
@import "bootstrap/custom";
|
42
|
-
|
43
36
|
@import "bootstrap/grid";
|
37
|
+
@import "bootstrap/utilities/flex";
|
@@ -1,20 +1,14 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap v4.0.0-
|
2
|
+
* Bootstrap v4.0.0-beta (https://getbootstrap.com)
|
3
3
|
* Copyright 2011-2017 The Bootstrap Authors
|
4
4
|
* Copyright 2011-2017 Twitter, Inc.
|
5
5
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
6
6
|
*/
|
7
7
|
|
8
|
-
|
8
|
+
@import "bootstrap/functions";
|
9
9
|
@import "bootstrap/variables";
|
10
10
|
@import "bootstrap/mixins";
|
11
|
-
@import "bootstrap/custom";
|
12
|
-
|
13
|
-
// Reset and dependencies
|
14
|
-
@import "bootstrap/normalize";
|
15
11
|
@import "bootstrap/print";
|
16
|
-
|
17
|
-
// Core CSS
|
18
12
|
@import "bootstrap/reboot";
|
19
13
|
@import "bootstrap/type";
|
20
14
|
@import "bootstrap/images";
|
@@ -23,8 +17,6 @@
|
|
23
17
|
@import "bootstrap/tables";
|
24
18
|
@import "bootstrap/forms";
|
25
19
|
@import "bootstrap/buttons";
|
26
|
-
|
27
|
-
// Components
|
28
20
|
@import "bootstrap/transitions";
|
29
21
|
@import "bootstrap/dropdown";
|
30
22
|
@import "bootstrap/button-group";
|
@@ -41,14 +33,9 @@
|
|
41
33
|
@import "bootstrap/progress";
|
42
34
|
@import "bootstrap/media";
|
43
35
|
@import "bootstrap/list-group";
|
44
|
-
@import "bootstrap/responsive-embed";
|
45
36
|
@import "bootstrap/close";
|
46
|
-
|
47
|
-
// Components w/ JavaScript
|
48
37
|
@import "bootstrap/modal";
|
49
38
|
@import "bootstrap/tooltip";
|
50
39
|
@import "bootstrap/popover";
|
51
40
|
@import "bootstrap/carousel";
|
52
|
-
|
53
|
-
// Utility classes
|
54
41
|
@import "bootstrap/utilities";
|
@@ -41,15 +41,8 @@
|
|
41
41
|
//
|
42
42
|
// Generate contextual modifier classes for colorizing the alert.
|
43
43
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
@include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text);
|
49
|
-
}
|
50
|
-
.alert-warning {
|
51
|
-
@include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text);
|
52
|
-
}
|
53
|
-
.alert-danger {
|
54
|
-
@include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text);
|
44
|
+
@each $color, $value in $theme-colors {
|
45
|
+
.alert-#{$color} {
|
46
|
+
@include alert-variant(theme-color-level($color, -10), theme-color-level($color, -9), theme-color-level($color, 6));
|
47
|
+
}
|
55
48
|
}
|
@@ -27,17 +27,6 @@
|
|
27
27
|
top: -1px;
|
28
28
|
}
|
29
29
|
|
30
|
-
// scss-lint:disable QualifyingElement
|
31
|
-
// Add hover effects, but only for links
|
32
|
-
a.badge {
|
33
|
-
@include hover-focus {
|
34
|
-
color: $badge-link-hover-color;
|
35
|
-
text-decoration: none;
|
36
|
-
cursor: pointer;
|
37
|
-
}
|
38
|
-
}
|
39
|
-
// scss-lint:enable QualifyingElement
|
40
|
-
|
41
30
|
// Pill badges
|
42
31
|
//
|
43
32
|
// Make them extra rounded with a modifier to replace v3's badges.
|
@@ -52,26 +41,8 @@ a.badge {
|
|
52
41
|
//
|
53
42
|
// Contextual variations (linked badges get darker on :hover).
|
54
43
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
.badge-primary {
|
60
|
-
@include badge-variant($badge-primary-bg);
|
61
|
-
}
|
62
|
-
|
63
|
-
.badge-success {
|
64
|
-
@include badge-variant($badge-success-bg);
|
65
|
-
}
|
66
|
-
|
67
|
-
.badge-info {
|
68
|
-
@include badge-variant($badge-info-bg);
|
69
|
-
}
|
70
|
-
|
71
|
-
.badge-warning {
|
72
|
-
@include badge-variant($badge-warning-bg);
|
73
|
-
}
|
74
|
-
|
75
|
-
.badge-danger {
|
76
|
-
@include badge-variant($badge-danger-bg);
|
44
|
+
@each $color, $value in $theme-colors {
|
45
|
+
.badge-#{$color} {
|
46
|
+
@include badge-variant($value);
|
47
|
+
}
|
77
48
|
}
|
@@ -10,8 +10,9 @@
|
|
10
10
|
> .btn {
|
11
11
|
position: relative;
|
12
12
|
flex: 0 1 auto;
|
13
|
+
margin-bottom: 0;
|
13
14
|
|
14
|
-
// Bring the hover, focused, and "active" buttons to the
|
15
|
+
// Bring the hover, focused, and "active" buttons to the front to overlay
|
15
16
|
// the borders properly
|
16
17
|
@include hover {
|
17
18
|
z-index: 2;
|
@@ -35,6 +36,7 @@
|
|
35
36
|
// Optional: Group multiple button groups together for a toolbar
|
36
37
|
.btn-toolbar {
|
37
38
|
display: flex;
|
39
|
+
flex-wrap: wrap;
|
38
40
|
justify-content: flex-start;
|
39
41
|
|
40
42
|
.input-group {
|
@@ -77,12 +79,6 @@
|
|
77
79
|
@include border-left-radius(0);
|
78
80
|
}
|
79
81
|
|
80
|
-
// On active and open, don't show outline
|
81
|
-
.btn-group .dropdown-toggle:active,
|
82
|
-
.btn-group.open .dropdown-toggle {
|
83
|
-
outline: 0;
|
84
|
-
}
|
85
|
-
|
86
82
|
|
87
83
|
// Sizing
|
88
84
|
//
|
@@ -97,8 +93,8 @@
|
|
97
93
|
//
|
98
94
|
|
99
95
|
.btn + .dropdown-toggle-split {
|
100
|
-
padding-right: $btn-padding-x * .75;
|
101
|
-
padding-left: $btn-padding-x * .75;
|
96
|
+
padding-right: $input-btn-padding-x * .75;
|
97
|
+
padding-left: $input-btn-padding-x * .75;
|
102
98
|
|
103
99
|
&::after {
|
104
100
|
margin-left: 0;
|
@@ -106,19 +102,19 @@
|
|
106
102
|
}
|
107
103
|
|
108
104
|
.btn-sm + .dropdown-toggle-split {
|
109
|
-
padding-right: $btn-padding-x-sm * .75;
|
110
|
-
padding-left: $btn-padding-x-sm * .75;
|
105
|
+
padding-right: $input-btn-padding-x-sm * .75;
|
106
|
+
padding-left: $input-btn-padding-x-sm * .75;
|
111
107
|
}
|
112
108
|
|
113
109
|
.btn-lg + .dropdown-toggle-split {
|
114
|
-
padding-right: $btn-padding-x-lg * .75;
|
115
|
-
padding-left: $btn-padding-x-lg * .75;
|
110
|
+
padding-right: $input-btn-padding-x-lg * .75;
|
111
|
+
padding-left: $input-btn-padding-x-lg * .75;
|
116
112
|
}
|
117
113
|
|
118
114
|
|
119
115
|
// The clickable button for toggling the menu
|
120
|
-
//
|
121
|
-
.btn-group.
|
116
|
+
// Set the same inset shadow as the :active state
|
117
|
+
.btn-group.show .dropdown-toggle {
|
122
118
|
@include box-shadow($btn-active-box-shadow);
|
123
119
|
|
124
120
|
// Show no shadow for `.btn-link` since it has no other button styles.
|
@@ -7,13 +7,12 @@
|
|
7
7
|
.btn {
|
8
8
|
display: inline-block;
|
9
9
|
font-weight: $btn-font-weight;
|
10
|
-
line-height: $btn-line-height;
|
11
10
|
text-align: center;
|
12
11
|
white-space: nowrap;
|
13
12
|
vertical-align: middle;
|
14
13
|
user-select: none;
|
15
14
|
border: $input-btn-border-width solid transparent;
|
16
|
-
@include button-size($btn-padding-y, $btn-padding-x, $font-size-base, $btn-border-radius);
|
15
|
+
@include button-size($input-btn-padding-y, $input-btn-padding-x, $font-size-base, $input-btn-line-height, $btn-border-radius);
|
17
16
|
@include transition($btn-transition);
|
18
17
|
|
19
18
|
// Share hover and focus styles
|
@@ -29,7 +28,6 @@
|
|
29
28
|
// Disabled comes first so active can properly restyle
|
30
29
|
&.disabled,
|
31
30
|
&:disabled {
|
32
|
-
cursor: $cursor-disabled;
|
33
31
|
opacity: .65;
|
34
32
|
@include box-shadow(none);
|
35
33
|
}
|
@@ -52,43 +50,16 @@ fieldset[disabled] a.btn {
|
|
52
50
|
// Alternate buttons
|
53
51
|
//
|
54
52
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
@include button-variant($btn-secondary-color, $btn-secondary-bg, $btn-secondary-border);
|
60
|
-
}
|
61
|
-
.btn-info {
|
62
|
-
@include button-variant($btn-info-color, $btn-info-bg, $btn-info-border);
|
63
|
-
}
|
64
|
-
.btn-success {
|
65
|
-
@include button-variant($btn-success-color, $btn-success-bg, $btn-success-border);
|
66
|
-
}
|
67
|
-
.btn-warning {
|
68
|
-
@include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border);
|
69
|
-
}
|
70
|
-
.btn-danger {
|
71
|
-
@include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border);
|
53
|
+
@each $color, $value in $theme-colors {
|
54
|
+
.btn-#{$color} {
|
55
|
+
@include button-variant($value, $value);
|
56
|
+
}
|
72
57
|
}
|
73
58
|
|
74
|
-
|
75
|
-
.btn-outline
|
76
|
-
|
77
|
-
}
|
78
|
-
.btn-outline-secondary {
|
79
|
-
@include button-outline-variant($btn-secondary-border);
|
80
|
-
}
|
81
|
-
.btn-outline-info {
|
82
|
-
@include button-outline-variant($btn-info-bg);
|
83
|
-
}
|
84
|
-
.btn-outline-success {
|
85
|
-
@include button-outline-variant($btn-success-bg);
|
86
|
-
}
|
87
|
-
.btn-outline-warning {
|
88
|
-
@include button-outline-variant($btn-warning-bg);
|
89
|
-
}
|
90
|
-
.btn-outline-danger {
|
91
|
-
@include button-outline-variant($btn-danger-bg);
|
59
|
+
@each $color, $value in $theme-colors {
|
60
|
+
.btn-outline-#{$color} {
|
61
|
+
@include button-outline-variant($value, #fff);
|
62
|
+
}
|
92
63
|
}
|
93
64
|
|
94
65
|
|
@@ -113,6 +84,7 @@ fieldset[disabled] a.btn {
|
|
113
84
|
&:focus,
|
114
85
|
&:active {
|
115
86
|
border-color: transparent;
|
87
|
+
box-shadow: none;
|
116
88
|
}
|
117
89
|
@include hover {
|
118
90
|
border-color: transparent;
|
@@ -137,12 +109,11 @@ fieldset[disabled] a.btn {
|
|
137
109
|
//
|
138
110
|
|
139
111
|
.btn-lg {
|
140
|
-
|
141
|
-
@include button-size($btn-padding-y-lg, $btn-padding-x-lg, $font-size-lg, $btn-border-radius-lg);
|
112
|
+
@include button-size($input-btn-padding-y-lg, $input-btn-padding-x-lg, $font-size-lg, $line-height-lg, $btn-border-radius-lg);
|
142
113
|
}
|
114
|
+
|
143
115
|
.btn-sm {
|
144
|
-
|
145
|
-
@include button-size($btn-padding-y-sm, $btn-padding-x-sm, $font-size-sm, $btn-border-radius-sm);
|
116
|
+
@include button-size($input-btn-padding-y-sm, $input-btn-padding-x-sm, $font-size-sm, $line-height-sm, $btn-border-radius-sm);
|
146
117
|
}
|
147
118
|
|
148
119
|
|
@@ -6,12 +6,15 @@
|
|
6
6
|
position: relative;
|
7
7
|
display: flex;
|
8
8
|
flex-direction: column;
|
9
|
+
min-width: 0;
|
10
|
+
word-wrap: break-word;
|
9
11
|
background-color: $card-bg;
|
12
|
+
background-clip: border-box;
|
10
13
|
border: $card-border-width solid $card-border-color;
|
11
14
|
@include border-radius($card-border-radius);
|
12
15
|
}
|
13
16
|
|
14
|
-
.card-
|
17
|
+
.card-body {
|
15
18
|
// Enable `flex-grow: 1` for decks and groups so that card blocks take up
|
16
19
|
// as much space as possible, ensuring footers are aligned to the bottom.
|
17
20
|
flex: 1 1 auto;
|
@@ -67,7 +70,7 @@
|
|
67
70
|
border-bottom: $card-border-width solid $card-border-color;
|
68
71
|
|
69
72
|
&:first-child {
|
70
|
-
@include border-radius($card-border-radius
|
73
|
+
@include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);
|
71
74
|
}
|
72
75
|
}
|
73
76
|
|
@@ -77,7 +80,7 @@
|
|
77
80
|
border-top: $card-border-width solid $card-border-color;
|
78
81
|
|
79
82
|
&:last-child {
|
80
|
-
@include border-radius(0 0 $card-border-radius
|
83
|
+
@include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);
|
81
84
|
}
|
82
85
|
}
|
83
86
|
|
@@ -98,70 +101,7 @@
|
|
98
101
|
margin-left: -($card-spacer-x / 2);
|
99
102
|
}
|
100
103
|
|
101
|
-
|
102
|
-
//
|
103
|
-
// Background variations
|
104
|
-
//
|
105
|
-
|
106
|
-
.card-primary {
|
107
|
-
@include card-variant($brand-primary, $brand-primary);
|
108
|
-
}
|
109
|
-
.card-success {
|
110
|
-
@include card-variant($brand-success, $brand-success);
|
111
|
-
}
|
112
|
-
.card-info {
|
113
|
-
@include card-variant($brand-info, $brand-info);
|
114
|
-
}
|
115
|
-
.card-warning {
|
116
|
-
@include card-variant($brand-warning, $brand-warning);
|
117
|
-
}
|
118
|
-
.card-danger {
|
119
|
-
@include card-variant($brand-danger, $brand-danger);
|
120
|
-
}
|
121
|
-
|
122
|
-
// Remove all backgrounds
|
123
|
-
.card-outline-primary {
|
124
|
-
@include card-outline-variant($btn-primary-bg);
|
125
|
-
}
|
126
|
-
.card-outline-secondary {
|
127
|
-
@include card-outline-variant($btn-secondary-border);
|
128
|
-
}
|
129
|
-
.card-outline-info {
|
130
|
-
@include card-outline-variant($btn-info-bg);
|
131
|
-
}
|
132
|
-
.card-outline-success {
|
133
|
-
@include card-outline-variant($btn-success-bg);
|
134
|
-
}
|
135
|
-
.card-outline-warning {
|
136
|
-
@include card-outline-variant($btn-warning-bg);
|
137
|
-
}
|
138
|
-
.card-outline-danger {
|
139
|
-
@include card-outline-variant($btn-danger-bg);
|
140
|
-
}
|
141
|
-
|
142
|
-
//
|
143
|
-
// Inverse text within a card for use with dark backgrounds
|
144
|
-
//
|
145
|
-
|
146
|
-
.card-inverse {
|
147
|
-
@include card-inverse;
|
148
|
-
}
|
149
|
-
|
150
|
-
//
|
151
|
-
// Blockquote
|
152
|
-
//
|
153
|
-
|
154
|
-
.card-blockquote {
|
155
|
-
padding: 0;
|
156
|
-
margin-bottom: 0;
|
157
|
-
border-left: 0;
|
158
|
-
}
|
159
|
-
|
160
104
|
// Card image
|
161
|
-
.card-img {
|
162
|
-
// margin: -1.325rem;
|
163
|
-
@include border-radius($card-border-radius-inner);
|
164
|
-
}
|
165
105
|
.card-img-overlay {
|
166
106
|
position: absolute;
|
167
107
|
top: 0;
|
@@ -171,14 +111,20 @@
|
|
171
111
|
padding: $card-img-overlay-padding;
|
172
112
|
}
|
173
113
|
|
174
|
-
|
114
|
+
.card-img {
|
115
|
+
width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
|
116
|
+
@include border-radius($card-inner-border-radius);
|
117
|
+
}
|
175
118
|
|
176
119
|
// Card image caps
|
177
120
|
.card-img-top {
|
178
|
-
|
121
|
+
width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
|
122
|
+
@include border-top-radius($card-inner-border-radius);
|
179
123
|
}
|
124
|
+
|
180
125
|
.card-img-bottom {
|
181
|
-
|
126
|
+
width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
|
127
|
+
@include border-bottom-radius($card-inner-border-radius);
|
182
128
|
}
|
183
129
|
|
184
130
|
|
@@ -188,17 +134,15 @@
|
|
188
134
|
.card-deck {
|
189
135
|
display: flex;
|
190
136
|
flex-flow: row wrap;
|
137
|
+
margin-right: -$card-deck-margin;
|
138
|
+
margin-left: -$card-deck-margin;
|
191
139
|
|
192
140
|
.card {
|
193
141
|
display: flex;
|
194
|
-
flex: 1 0 0
|
142
|
+
flex: 1 0 0%;
|
195
143
|
flex-direction: column;
|
196
|
-
|
197
|
-
|
198
|
-
// negative margin dance like our grid. This differs from the grid
|
199
|
-
// due to the use of margins as gutters instead of padding.
|
200
|
-
&:not(:first-child) { margin-left: $card-deck-margin; }
|
201
|
-
&:not(:last-child) { margin-right: $card-deck-margin; }
|
144
|
+
margin-right: $card-deck-margin;
|
145
|
+
margin-left: $card-deck-margin;
|
202
146
|
}
|
203
147
|
}
|
204
148
|
}
|
@@ -214,7 +158,7 @@
|
|
214
158
|
flex-flow: row wrap;
|
215
159
|
|
216
160
|
.card {
|
217
|
-
flex: 1 0 0
|
161
|
+
flex: 1 0 0%;
|
218
162
|
|
219
163
|
+ .card {
|
220
164
|
margin-left: 0;
|
@@ -262,15 +206,18 @@
|
|
262
206
|
// Columns
|
263
207
|
//
|
264
208
|
|
265
|
-
|
266
|
-
.card
|
209
|
+
.card-columns {
|
210
|
+
.card {
|
211
|
+
margin-bottom: $card-columns-margin;
|
212
|
+
}
|
213
|
+
|
214
|
+
@include media-breakpoint-up(sm) {
|
267
215
|
column-count: $card-columns-count;
|
268
216
|
column-gap: $card-columns-gap;
|
269
217
|
|
270
218
|
.card {
|
271
219
|
display: inline-block; // Don't let them vertically span multiple columns
|
272
220
|
width: 100%; // Don't let their width change
|
273
|
-
margin-bottom: $card-columns-margin;
|
274
221
|
}
|
275
222
|
}
|
276
223
|
}
|