bootstrap 4.0.0 → 4.1.0
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.
Potentially problematic release.
This version of bootstrap might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +1 -1
- data/Rakefile +2 -0
- data/assets/javascripts/bootstrap-sprockets.js +6 -6
- data/assets/javascripts/bootstrap.js +3075 -3044
- data/assets/javascripts/bootstrap.min.js +2 -2
- data/assets/javascripts/bootstrap/alert.js +5 -5
- data/assets/javascripts/bootstrap/button.js +2 -2
- data/assets/javascripts/bootstrap/carousel.js +13 -11
- data/assets/javascripts/bootstrap/collapse.js +11 -19
- data/assets/javascripts/bootstrap/dropdown.js +34 -16
- data/assets/javascripts/bootstrap/modal.js +27 -24
- data/assets/javascripts/bootstrap/popover.js +7 -5
- data/assets/javascripts/bootstrap/scrollspy.js +6 -4
- data/assets/javascripts/bootstrap/tab.js +5 -5
- data/assets/javascripts/bootstrap/tooltip.js +15 -12
- data/assets/javascripts/bootstrap/util.js +28 -35
- data/assets/stylesheets/_bootstrap-grid.scss +1 -1
- data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
- data/assets/stylesheets/_bootstrap.scss +1 -1
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +9 -6
- data/assets/stylesheets/bootstrap/_button-group.scss +7 -1
- data/assets/stylesheets/bootstrap/_buttons.scss +1 -0
- data/assets/stylesheets/bootstrap/_card.scss +33 -2
- data/assets/stylesheets/bootstrap/_carousel.scss +48 -4
- data/assets/stylesheets/bootstrap/_custom-forms.scss +126 -3
- data/assets/stylesheets/bootstrap/_dropdown.scss +36 -1
- data/assets/stylesheets/bootstrap/_forms.scss +3 -1
- data/assets/stylesheets/bootstrap/_functions.scss +1 -1
- data/assets/stylesheets/bootstrap/_input-group.scss +2 -2
- data/assets/stylesheets/bootstrap/_mixins.scss +0 -1
- data/assets/stylesheets/bootstrap/_modal.scss +2 -2
- data/assets/stylesheets/bootstrap/_navbar.scss +0 -12
- data/assets/stylesheets/bootstrap/_pagination.scss +2 -1
- data/assets/stylesheets/bootstrap/_print.scss +6 -6
- data/assets/stylesheets/bootstrap/_progress.scss +1 -0
- data/assets/stylesheets/bootstrap/_reboot.scss +3 -3
- data/assets/stylesheets/bootstrap/_tables.scss +11 -3
- data/assets/stylesheets/bootstrap/_transitions.scss +4 -18
- data/assets/stylesheets/bootstrap/_utilities.scss +1 -0
- data/assets/stylesheets/bootstrap/_variables.scss +75 -41
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +1 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +7 -7
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +1 -3
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +1 -3
- data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +4 -0
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_position.scss +1 -0
- data/assets/stylesheets/bootstrap/utilities/_shadows.scss +6 -0
- data/assets/stylesheets/bootstrap/utilities/_text.scss +7 -1
- data/lib/bootstrap/version.rb +2 -2
- metadata +3 -3
- data/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +0 -10
@@ -4,11 +4,13 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
4
4
|
|
5
5
|
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
|
6
6
|
|
7
|
-
function
|
7
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
|
8
|
+
|
9
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
8
10
|
|
9
11
|
/**
|
10
12
|
* --------------------------------------------------------------------------
|
11
|
-
* Bootstrap (v4.
|
13
|
+
* Bootstrap (v4.1.0): popover.js
|
12
14
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
13
15
|
* --------------------------------------------------------------------------
|
14
16
|
*/
|
@@ -19,21 +21,21 @@ var Popover = function ($) {
|
|
19
21
|
* ------------------------------------------------------------------------
|
20
22
|
*/
|
21
23
|
var NAME = 'popover';
|
22
|
-
var VERSION = '4.
|
24
|
+
var VERSION = '4.1.0';
|
23
25
|
var DATA_KEY = 'bs.popover';
|
24
26
|
var EVENT_KEY = "." + DATA_KEY;
|
25
27
|
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
26
28
|
var CLASS_PREFIX = 'bs-popover';
|
27
29
|
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
28
30
|
|
29
|
-
var Default =
|
31
|
+
var Default = _objectSpread({}, Tooltip.Default, {
|
30
32
|
placement: 'right',
|
31
33
|
trigger: 'click',
|
32
34
|
content: '',
|
33
35
|
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
|
34
36
|
});
|
35
37
|
|
36
|
-
var DefaultType =
|
38
|
+
var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
|
37
39
|
content: '(string|element|function)'
|
38
40
|
});
|
39
41
|
|
@@ -1,4 +1,6 @@
|
|
1
|
-
function
|
1
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
|
2
|
+
|
3
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
2
4
|
|
3
5
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
4
6
|
|
@@ -6,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
6
8
|
|
7
9
|
/**
|
8
10
|
* --------------------------------------------------------------------------
|
9
|
-
* Bootstrap (v4.
|
11
|
+
* Bootstrap (v4.1.0): scrollspy.js
|
10
12
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
11
13
|
* --------------------------------------------------------------------------
|
12
14
|
*/
|
@@ -17,7 +19,7 @@ var ScrollSpy = function ($) {
|
|
17
19
|
* ------------------------------------------------------------------------
|
18
20
|
*/
|
19
21
|
var NAME = 'scrollspy';
|
20
|
-
var VERSION = '4.
|
22
|
+
var VERSION = '4.1.0';
|
21
23
|
var DATA_KEY = 'bs.scrollspy';
|
22
24
|
var EVENT_KEY = "." + DATA_KEY;
|
23
25
|
var DATA_API_KEY = '.data-api';
|
@@ -144,7 +146,7 @@ var ScrollSpy = function ($) {
|
|
144
146
|
|
145
147
|
|
146
148
|
_proto._getConfig = function _getConfig(config) {
|
147
|
-
config =
|
149
|
+
config = _objectSpread({}, Default, config);
|
148
150
|
|
149
151
|
if (typeof config.target !== 'string') {
|
150
152
|
var id = $(config.target).attr('id');
|
@@ -4,7 +4,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
4
4
|
|
5
5
|
/**
|
6
6
|
* --------------------------------------------------------------------------
|
7
|
-
* Bootstrap (v4.
|
7
|
+
* Bootstrap (v4.1.0): tab.js
|
8
8
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
9
9
|
* --------------------------------------------------------------------------
|
10
10
|
*/
|
@@ -15,12 +15,11 @@ var Tab = function ($) {
|
|
15
15
|
* ------------------------------------------------------------------------
|
16
16
|
*/
|
17
17
|
var NAME = 'tab';
|
18
|
-
var VERSION = '4.
|
18
|
+
var VERSION = '4.1.0';
|
19
19
|
var DATA_KEY = 'bs.tab';
|
20
20
|
var EVENT_KEY = "." + DATA_KEY;
|
21
21
|
var DATA_API_KEY = '.data-api';
|
22
22
|
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
23
|
-
var TRANSITION_DURATION = 150;
|
24
23
|
var Event = {
|
25
24
|
HIDE: "hide" + EVENT_KEY,
|
26
25
|
HIDDEN: "hidden" + EVENT_KEY,
|
@@ -139,14 +138,15 @@ var Tab = function ($) {
|
|
139
138
|
}
|
140
139
|
|
141
140
|
var active = activeElements[0];
|
142
|
-
var isTransitioning = callback &&
|
141
|
+
var isTransitioning = callback && active && $(active).hasClass(ClassName.FADE);
|
143
142
|
|
144
143
|
var complete = function complete() {
|
145
144
|
return _this2._transitionComplete(element, active, callback);
|
146
145
|
};
|
147
146
|
|
148
147
|
if (active && isTransitioning) {
|
149
|
-
|
148
|
+
var transitionDuration = Util.getTransitionDurationFromElement(active);
|
149
|
+
$(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
150
150
|
} else {
|
151
151
|
complete();
|
152
152
|
}
|
@@ -1,4 +1,6 @@
|
|
1
|
-
function
|
1
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
|
2
|
+
|
3
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
2
4
|
|
3
5
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
4
6
|
|
@@ -6,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
6
8
|
|
7
9
|
/**
|
8
10
|
* --------------------------------------------------------------------------
|
9
|
-
* Bootstrap (v4.
|
11
|
+
* Bootstrap (v4.1.0): tooltip.js
|
10
12
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
11
13
|
* --------------------------------------------------------------------------
|
12
14
|
*/
|
@@ -17,11 +19,10 @@ var Tooltip = function ($) {
|
|
17
19
|
* ------------------------------------------------------------------------
|
18
20
|
*/
|
19
21
|
var NAME = 'tooltip';
|
20
|
-
var VERSION = '4.
|
22
|
+
var VERSION = '4.1.0';
|
21
23
|
var DATA_KEY = 'bs.tooltip';
|
22
24
|
var EVENT_KEY = "." + DATA_KEY;
|
23
25
|
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
24
|
-
var TRANSITION_DURATION = 150;
|
25
26
|
var CLASS_PREFIX = 'bs-tooltip';
|
26
27
|
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
27
28
|
var DefaultType = {
|
@@ -267,7 +268,7 @@ var Tooltip = function ($) {
|
|
267
268
|
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
|
268
269
|
|
269
270
|
if ('ontouchstart' in document.documentElement) {
|
270
|
-
$(
|
271
|
+
$(document.body).children().on('mouseover', null, $.noop);
|
271
272
|
}
|
272
273
|
|
273
274
|
var complete = function complete() {
|
@@ -284,8 +285,9 @@ var Tooltip = function ($) {
|
|
284
285
|
}
|
285
286
|
};
|
286
287
|
|
287
|
-
if (
|
288
|
-
|
288
|
+
if ($(this.tip).hasClass(ClassName.FADE)) {
|
289
|
+
var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
|
290
|
+
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
289
291
|
} else {
|
290
292
|
complete();
|
291
293
|
}
|
@@ -328,15 +330,16 @@ var Tooltip = function ($) {
|
|
328
330
|
// empty mouseover listeners we added for iOS support
|
329
331
|
|
330
332
|
if ('ontouchstart' in document.documentElement) {
|
331
|
-
$(
|
333
|
+
$(document.body).children().off('mouseover', null, $.noop);
|
332
334
|
}
|
333
335
|
|
334
336
|
this._activeTrigger[Trigger.CLICK] = false;
|
335
337
|
this._activeTrigger[Trigger.FOCUS] = false;
|
336
338
|
this._activeTrigger[Trigger.HOVER] = false;
|
337
339
|
|
338
|
-
if (
|
339
|
-
|
340
|
+
if ($(this.tip).hasClass(ClassName.FADE)) {
|
341
|
+
var transitionDuration = Util.getTransitionDurationFromElement(tip);
|
342
|
+
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
340
343
|
} else {
|
341
344
|
complete();
|
342
345
|
}
|
@@ -427,7 +430,7 @@ var Tooltip = function ($) {
|
|
427
430
|
});
|
428
431
|
|
429
432
|
if (this.config.selector) {
|
430
|
-
this.config =
|
433
|
+
this.config = _objectSpread({}, this.config, {
|
431
434
|
trigger: 'manual',
|
432
435
|
selector: ''
|
433
436
|
});
|
@@ -521,7 +524,7 @@ var Tooltip = function ($) {
|
|
521
524
|
};
|
522
525
|
|
523
526
|
_proto._getConfig = function _getConfig(config) {
|
524
|
-
config =
|
527
|
+
config = _objectSpread({}, this.constructor.Default, $(this.element).data(), config);
|
525
528
|
|
526
529
|
if (typeof config.delay === 'number') {
|
527
530
|
config.delay = {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* --------------------------------------------------------------------------
|
3
|
-
* Bootstrap (v4.
|
3
|
+
* Bootstrap (v4.1.0): util.js
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5
5
|
* --------------------------------------------------------------------------
|
6
6
|
*/
|
@@ -10,17 +10,18 @@ var Util = function ($) {
|
|
10
10
|
* Private TransitionEnd Helpers
|
11
11
|
* ------------------------------------------------------------------------
|
12
12
|
*/
|
13
|
-
var
|
14
|
-
var MAX_UID = 1000000;
|
13
|
+
var TRANSITION_END = 'transitionend';
|
14
|
+
var MAX_UID = 1000000;
|
15
|
+
var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
15
16
|
|
16
17
|
function toType(obj) {
|
17
|
-
return {}.toString.call(obj).match(/\s([a-
|
18
|
+
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
18
19
|
}
|
19
20
|
|
20
21
|
function getSpecialTransitionEndEvent() {
|
21
22
|
return {
|
22
|
-
bindType:
|
23
|
-
delegateType:
|
23
|
+
bindType: TRANSITION_END,
|
24
|
+
delegateType: TRANSITION_END,
|
24
25
|
handle: function handle(event) {
|
25
26
|
if ($(event.target).is(this)) {
|
26
27
|
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
|
@@ -31,16 +32,6 @@ var Util = function ($) {
|
|
31
32
|
};
|
32
33
|
}
|
33
34
|
|
34
|
-
function transitionEndTest() {
|
35
|
-
if (typeof window !== 'undefined' && window.QUnit) {
|
36
|
-
return false;
|
37
|
-
}
|
38
|
-
|
39
|
-
return {
|
40
|
-
end: 'transitionend'
|
41
|
-
};
|
42
|
-
}
|
43
|
-
|
44
35
|
function transitionEndEmulator(duration) {
|
45
36
|
var _this = this;
|
46
37
|
|
@@ -57,19 +48,8 @@ var Util = function ($) {
|
|
57
48
|
}
|
58
49
|
|
59
50
|
function setTransitionEndSupport() {
|
60
|
-
transition = transitionEndTest();
|
61
51
|
$.fn.emulateTransitionEnd = transitionEndEmulator;
|
62
|
-
|
63
|
-
if (Util.supportsTransitionEnd()) {
|
64
|
-
$.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
|
65
|
-
}
|
66
|
-
}
|
67
|
-
|
68
|
-
function escapeId(selector) {
|
69
|
-
// We escape IDs in case of special selectors (selector = '#myId:something')
|
70
|
-
// $.escapeSelector does not exist in jQuery < 3
|
71
|
-
selector = typeof $.escapeSelector === 'function' ? $.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
|
72
|
-
return selector;
|
52
|
+
$.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
|
73
53
|
}
|
74
54
|
/**
|
75
55
|
* --------------------------------------------------------------------------
|
@@ -93,11 +73,6 @@ var Util = function ($) {
|
|
93
73
|
|
94
74
|
if (!selector || selector === '#') {
|
95
75
|
selector = element.getAttribute('href') || '';
|
96
|
-
} // If it's an ID
|
97
|
-
|
98
|
-
|
99
|
-
if (selector.charAt(0) === '#') {
|
100
|
-
selector = escapeId(selector);
|
101
76
|
}
|
102
77
|
|
103
78
|
try {
|
@@ -107,14 +82,32 @@ var Util = function ($) {
|
|
107
82
|
return null;
|
108
83
|
}
|
109
84
|
},
|
85
|
+
getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
|
86
|
+
if (!element) {
|
87
|
+
return 0;
|
88
|
+
} // Get transition-duration of the element
|
89
|
+
|
90
|
+
|
91
|
+
var transitionDuration = $(element).css('transition-duration');
|
92
|
+
var floatTransitionDuration = parseFloat(transitionDuration); // Return 0 if element or transition duration is not found
|
93
|
+
|
94
|
+
if (!floatTransitionDuration) {
|
95
|
+
return 0;
|
96
|
+
} // If multiple durations are defined, take the first
|
97
|
+
|
98
|
+
|
99
|
+
transitionDuration = transitionDuration.split(',')[0];
|
100
|
+
return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER;
|
101
|
+
},
|
110
102
|
reflow: function reflow(element) {
|
111
103
|
return element.offsetHeight;
|
112
104
|
},
|
113
105
|
triggerTransitionEnd: function triggerTransitionEnd(element) {
|
114
|
-
$(element).trigger(
|
106
|
+
$(element).trigger(TRANSITION_END);
|
115
107
|
},
|
108
|
+
// TODO: Remove in v5
|
116
109
|
supportsTransitionEnd: function supportsTransitionEnd() {
|
117
|
-
return Boolean(
|
110
|
+
return Boolean(TRANSITION_END);
|
118
111
|
},
|
119
112
|
isElement: function isElement(obj) {
|
120
113
|
return (obj[0] || obj).nodeType;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap Grid v4.
|
2
|
+
* Bootstrap Grid v4.1.0 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2018 The Bootstrap Authors
|
4
4
|
* Copyright 2011-2018 Twitter, Inc.
|
5
5
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap Reboot v4.
|
2
|
+
* Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2018 The Bootstrap Authors
|
4
4
|
* Copyright 2011-2018 Twitter, Inc.
|
5
5
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
@@ -5,17 +5,20 @@
|
|
5
5
|
margin-bottom: $breadcrumb-margin-bottom;
|
6
6
|
list-style: none;
|
7
7
|
background-color: $breadcrumb-bg;
|
8
|
-
@include border-radius($border-radius);
|
8
|
+
@include border-radius($breadcrumb-border-radius);
|
9
9
|
}
|
10
10
|
|
11
11
|
.breadcrumb-item {
|
12
12
|
// The separator between breadcrumbs (by default, a forward-slash: "/")
|
13
|
-
+ .breadcrumb-item
|
14
|
-
display: inline-block; // Suppress underlining of the separator in modern browsers
|
15
|
-
padding-right: $breadcrumb-item-padding;
|
13
|
+
+ .breadcrumb-item {
|
16
14
|
padding-left: $breadcrumb-item-padding;
|
17
|
-
|
18
|
-
|
15
|
+
|
16
|
+
&::before {
|
17
|
+
display: inline-block; // Suppress underlining of the separator in modern browsers
|
18
|
+
padding-right: $breadcrumb-item-padding;
|
19
|
+
color: $breadcrumb-divider-color;
|
20
|
+
content: $breadcrumb-divider;
|
21
|
+
}
|
19
22
|
}
|
20
23
|
|
21
24
|
// IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built
|
@@ -76,9 +76,15 @@
|
|
76
76
|
padding-right: $btn-padding-x * .75;
|
77
77
|
padding-left: $btn-padding-x * .75;
|
78
78
|
|
79
|
-
&::after
|
79
|
+
&::after,
|
80
|
+
.dropup &::after,
|
81
|
+
.dropright &::after {
|
80
82
|
margin-left: 0;
|
81
83
|
}
|
84
|
+
|
85
|
+
.dropleft &::before {
|
86
|
+
margin-right: 0;
|
87
|
+
}
|
82
88
|
}
|
83
89
|
|
84
90
|
.btn-sm + .dropdown-toggle-split {
|
@@ -153,7 +153,7 @@
|
|
153
153
|
|
154
154
|
.card {
|
155
155
|
display: flex;
|
156
|
-
// Flexbugs #4: https://github.com/philipwalton/flexbugs#4
|
156
|
+
// Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
|
157
157
|
flex: 1 0 0%;
|
158
158
|
flex-direction: column;
|
159
159
|
margin-right: $card-deck-margin;
|
@@ -183,7 +183,7 @@
|
|
183
183
|
// The child selector allows nested `.card` within `.card-group`
|
184
184
|
// to display properly.
|
185
185
|
> .card {
|
186
|
-
// Flexbugs #4: https://github.com/philipwalton/flexbugs#4
|
186
|
+
// Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
|
187
187
|
flex: 1 0 0%;
|
188
188
|
margin-bottom: 0;
|
189
189
|
|
@@ -261,6 +261,8 @@
|
|
261
261
|
@include media-breakpoint-up(sm) {
|
262
262
|
column-count: $card-columns-count;
|
263
263
|
column-gap: $card-columns-gap;
|
264
|
+
orphans: 1;
|
265
|
+
widows: 1;
|
264
266
|
|
265
267
|
.card {
|
266
268
|
display: inline-block; // Don't let them vertically span multiple columns
|
@@ -268,3 +270,32 @@
|
|
268
270
|
}
|
269
271
|
}
|
270
272
|
}
|
273
|
+
|
274
|
+
|
275
|
+
//
|
276
|
+
// Accordion
|
277
|
+
//
|
278
|
+
|
279
|
+
.accordion {
|
280
|
+
.card:not(:first-of-type):not(:last-of-type) {
|
281
|
+
border-bottom: 0;
|
282
|
+
border-radius: 0;
|
283
|
+
}
|
284
|
+
|
285
|
+
.card:not(:first-of-type) {
|
286
|
+
.card-header:first-child {
|
287
|
+
border-radius: 0;
|
288
|
+
}
|
289
|
+
}
|
290
|
+
|
291
|
+
.card:first-of-type {
|
292
|
+
border-bottom: 0;
|
293
|
+
border-bottom-right-radius: 0;
|
294
|
+
border-bottom-left-radius: 0;
|
295
|
+
}
|
296
|
+
|
297
|
+
.card:last-of-type {
|
298
|
+
border-top-left-radius: 0;
|
299
|
+
border-top-right-radius: 0;
|
300
|
+
}
|
301
|
+
}
|