Bootstrap version bump

This commit is contained in:
Noah 2018-04-11 18:59:48 -07:00
parent b7d1661fcd
commit 532135094c
14 changed files with 4198 additions and 4330 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com) * Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors * Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc. * Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
@ -202,7 +202,7 @@ th {
label { label {
display: inline-block; display: inline-block;
margin-bottom: .5rem; margin-bottom: 0.5rem;
} }
button { button {

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com) * Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors * Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc. * Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)

File diff suppressed because one or more lines are too long

873
root/css/bootstrap.css vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

315
root/js/bootstrap.js vendored
View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap v4.0.0 (https://getbootstrap.com) * Bootstrap v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@ -28,22 +28,38 @@ function _createClass(Constructor, protoProps, staticProps) {
return Constructor; return Constructor;
} }
function _extends() { function _defineProperty(obj, key, value) {
_extends = Object.assign || function (target) { if (key in obj) {
for (var i = 1; i < arguments.length; i++) { Object.defineProperty(obj, key, {
var source = arguments[i]; value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
for (var key in source) { return obj;
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
} }
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; return target;
};
return _extends.apply(this, arguments);
} }
function _inheritsLoose(subClass, superClass) { function _inheritsLoose(subClass, superClass) {
@ -54,7 +70,7 @@ function _inheritsLoose(subClass, superClass) {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0): util.js * Bootstrap (v4.1.0): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -65,17 +81,18 @@ var Util = function ($$$1) {
* Private TransitionEnd Helpers * Private TransitionEnd Helpers
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var transition = false; var TRANSITION_END = 'transitionend';
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp) var MAX_UID = 1000000;
var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
function toType(obj) { function toType(obj) {
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase(); return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
} }
function getSpecialTransitionEndEvent() { function getSpecialTransitionEndEvent() {
return { return {
bindType: transition.end, bindType: TRANSITION_END,
delegateType: transition.end, delegateType: TRANSITION_END,
handle: function handle(event) { handle: function handle(event) {
if ($$$1(event.target).is(this)) { if ($$$1(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
@ -86,16 +103,6 @@ var Util = function ($$$1) {
}; };
} }
function transitionEndTest() {
if (typeof window !== 'undefined' && window.QUnit) {
return false;
}
return {
end: 'transitionend'
};
}
function transitionEndEmulator(duration) { function transitionEndEmulator(duration) {
var _this = this; var _this = this;
@ -112,20 +119,9 @@ var Util = function ($$$1) {
} }
function setTransitionEndSupport() { function setTransitionEndSupport() {
transition = transitionEndTest();
$$$1.fn.emulateTransitionEnd = transitionEndEmulator; $$$1.fn.emulateTransitionEnd = transitionEndEmulator;
if (Util.supportsTransitionEnd()) {
$$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
} }
}
function escapeId(selector) {
// We escape IDs in case of special selectors (selector = '#myId:something')
// $.escapeSelector does not exist in jQuery < 3
selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
return selector;
}
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Public Util Api * Public Util Api
@ -148,11 +144,6 @@ var Util = function ($$$1) {
if (!selector || selector === '#') { if (!selector || selector === '#') {
selector = element.getAttribute('href') || ''; selector = element.getAttribute('href') || '';
} // If it's an ID
if (selector.charAt(0) === '#') {
selector = escapeId(selector);
} }
try { try {
@ -162,14 +153,32 @@ var Util = function ($$$1) {
return null; return null;
} }
}, },
getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
if (!element) {
return 0;
} // Get transition-duration of the element
var transitionDuration = $$$1(element).css('transition-duration');
var floatTransitionDuration = parseFloat(transitionDuration); // Return 0 if element or transition duration is not found
if (!floatTransitionDuration) {
return 0;
} // If multiple durations are defined, take the first
transitionDuration = transitionDuration.split(',')[0];
return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER;
},
reflow: function reflow(element) { reflow: function reflow(element) {
return element.offsetHeight; return element.offsetHeight;
}, },
triggerTransitionEnd: function triggerTransitionEnd(element) { triggerTransitionEnd: function triggerTransitionEnd(element) {
$$$1(element).trigger(transition.end); $$$1(element).trigger(TRANSITION_END);
}, },
// TODO: Remove in v5
supportsTransitionEnd: function supportsTransitionEnd() { supportsTransitionEnd: function supportsTransitionEnd() {
return Boolean(transition); return Boolean(TRANSITION_END);
}, },
isElement: function isElement(obj) { isElement: function isElement(obj) {
return (obj[0] || obj).nodeType; return (obj[0] || obj).nodeType;
@ -194,7 +203,7 @@ var Util = function ($$$1) {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0): alert.js * Bootstrap (v4.1.0): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -206,12 +215,11 @@ var Alert = function ($$$1) {
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'alert'; var NAME = 'alert';
var VERSION = '4.0.0'; var VERSION = '4.1.0';
var DATA_KEY = 'bs.alert'; var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
var TRANSITION_DURATION = 150;
var Selector = { var Selector = {
DISMISS: '[data-dismiss="alert"]' DISMISS: '[data-dismiss="alert"]'
}; };
@ -289,15 +297,16 @@ var Alert = function ($$$1) {
$$$1(element).removeClass(ClassName.SHOW); $$$1(element).removeClass(ClassName.SHOW);
if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) { if (!$$$1(element).hasClass(ClassName.FADE)) {
this._destroyElement(element); this._destroyElement(element);
return; return;
} }
var transitionDuration = Util.getTransitionDurationFromElement(element);
$$$1(element).one(Util.TRANSITION_END, function (event) { $$$1(element).one(Util.TRANSITION_END, function (event) {
return _this._destroyElement(element, event); return _this._destroyElement(element, event);
}).emulateTransitionEnd(TRANSITION_DURATION); }).emulateTransitionEnd(transitionDuration);
}; };
_proto._destroyElement = function _destroyElement(element) { _proto._destroyElement = function _destroyElement(element) {
@ -337,6 +346,7 @@ var Alert = function ($$$1) {
return VERSION; return VERSION;
} }
}]); }]);
return Alert; return Alert;
}(); }();
/** /**
@ -366,7 +376,7 @@ var Alert = function ($$$1) {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0): button.js * Bootstrap (v4.1.0): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -378,7 +388,7 @@ var Button = function ($$$1) {
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'button'; var NAME = 'button';
var VERSION = '4.0.0'; var VERSION = '4.1.0';
var DATA_KEY = 'bs.button'; var DATA_KEY = 'bs.button';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -488,6 +498,7 @@ var Button = function ($$$1) {
return VERSION; return VERSION;
} }
}]); }]);
return Button; return Button;
}(); }();
/** /**
@ -529,7 +540,7 @@ var Button = function ($$$1) {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0): carousel.js * Bootstrap (v4.1.0): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -541,12 +552,11 @@ var Carousel = function ($$$1) {
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'carousel'; var NAME = 'carousel';
var VERSION = '4.0.0'; var VERSION = '4.1.0';
var DATA_KEY = 'bs.carousel'; var DATA_KEY = 'bs.carousel';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
@ -655,7 +665,7 @@ var Carousel = function ($$$1) {
this._isPaused = true; this._isPaused = true;
} }
if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) { if ($$$1(this._element).find(Selector.NEXT_PREV)[0]) {
Util.triggerTransitionEnd(this._element); Util.triggerTransitionEnd(this._element);
this.cycle(true); this.cycle(true);
} }
@ -723,7 +733,7 @@ var Carousel = function ($$$1) {
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _extends({}, Default, config); config = _objectSpread({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType); Util.typeCheckConfig(NAME, config, DefaultType);
return config; return config;
}; };
@ -894,11 +904,12 @@ var Carousel = function ($$$1) {
to: nextElementIndex to: nextElementIndex
}); });
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) { if ($$$1(this._element).hasClass(ClassName.SLIDE)) {
$$$1(nextElement).addClass(orderClassName); $$$1(nextElement).addClass(orderClassName);
Util.reflow(nextElement); Util.reflow(nextElement);
$$$1(activeElement).addClass(directionalClassName); $$$1(activeElement).addClass(directionalClassName);
$$$1(nextElement).addClass(directionalClassName); $$$1(nextElement).addClass(directionalClassName);
var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
$$$1(activeElement).one(Util.TRANSITION_END, function () { $$$1(activeElement).one(Util.TRANSITION_END, function () {
$$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE); $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
$$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName); $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
@ -906,7 +917,7 @@ var Carousel = function ($$$1) {
setTimeout(function () { setTimeout(function () {
return $$$1(_this3._element).trigger(slidEvent); return $$$1(_this3._element).trigger(slidEvent);
}, 0); }, 0);
}).emulateTransitionEnd(TRANSITION_DURATION); }).emulateTransitionEnd(transitionDuration);
} else { } else {
$$$1(activeElement).removeClass(ClassName.ACTIVE); $$$1(activeElement).removeClass(ClassName.ACTIVE);
$$$1(nextElement).addClass(ClassName.ACTIVE); $$$1(nextElement).addClass(ClassName.ACTIVE);
@ -924,10 +935,10 @@ var Carousel = function ($$$1) {
return this.each(function () { return this.each(function () {
var data = $$$1(this).data(DATA_KEY); var data = $$$1(this).data(DATA_KEY);
var _config = _extends({}, Default, $$$1(this).data()); var _config = _objectSpread({}, Default, $$$1(this).data());
if (typeof config === 'object') { if (typeof config === 'object') {
_config = _extends({}, _config, config); _config = _objectSpread({}, _config, config);
} }
var action = typeof config === 'string' ? config : _config.slide; var action = typeof config === 'string' ? config : _config.slide;
@ -965,7 +976,8 @@ var Carousel = function ($$$1) {
return; return;
} }
var config = _extends({}, $$$1(target).data(), $$$1(this).data()); var config = _objectSpread({}, $$$1(target).data(), $$$1(this).data());
var slideIndex = this.getAttribute('data-slide-to'); var slideIndex = this.getAttribute('data-slide-to');
if (slideIndex) { if (slideIndex) {
@ -992,6 +1004,7 @@ var Carousel = function ($$$1) {
return Default; return Default;
} }
}]); }]);
return Carousel; return Carousel;
}(); }();
/** /**
@ -1028,7 +1041,7 @@ var Carousel = function ($$$1) {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0): collapse.js * Bootstrap (v4.1.0): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -1040,12 +1053,11 @@ var Collapse = function ($$$1) {
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'collapse'; var NAME = 'collapse';
var VERSION = '4.0.0'; var VERSION = '4.1.0';
var DATA_KEY = 'bs.collapse'; var DATA_KEY = 'bs.collapse';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
var TRANSITION_DURATION = 600;
var Default = { var Default = {
toggle: true, toggle: true,
parent: '' parent: ''
@ -1187,14 +1199,10 @@ var Collapse = function ($$$1) {
$$$1(_this._element).trigger(Event.SHOWN); $$$1(_this._element).trigger(Event.SHOWN);
}; };
if (!Util.supportsTransitionEnd()) {
complete();
return;
}
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
var scrollSize = "scroll" + capitalizedDimension; var scrollSize = "scroll" + capitalizedDimension;
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); var transitionDuration = Util.getTransitionDurationFromElement(this._element);
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
this._element.style[dimension] = this._element[scrollSize] + "px"; this._element.style[dimension] = this._element[scrollSize] + "px";
}; };
@ -1242,13 +1250,8 @@ var Collapse = function ($$$1) {
}; };
this._element.style[dimension] = ''; this._element.style[dimension] = '';
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
if (!Util.supportsTransitionEnd()) { $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
complete();
return;
}
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
}; };
_proto.setTransitioning = function setTransitioning(isTransitioning) { _proto.setTransitioning = function setTransitioning(isTransitioning) {
@ -1266,7 +1269,7 @@ var Collapse = function ($$$1) {
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _extends({}, Default, config); config = _objectSpread({}, Default, config);
config.toggle = Boolean(config.toggle); // Coerce string values config.toggle = Boolean(config.toggle); // Coerce string values
Util.typeCheckConfig(NAME, config, DefaultType); Util.typeCheckConfig(NAME, config, DefaultType);
@ -1321,7 +1324,7 @@ var Collapse = function ($$$1) {
var $this = $$$1(this); var $this = $$$1(this);
var data = $this.data(DATA_KEY); var data = $this.data(DATA_KEY);
var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config); var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config);
if (!data && _config.toggle && /show|hide/.test(config)) { if (!data && _config.toggle && /show|hide/.test(config)) {
_config.toggle = false; _config.toggle = false;
@ -1353,6 +1356,7 @@ var Collapse = function ($$$1) {
return Default; return Default;
} }
}]); }]);
return Collapse; return Collapse;
}(); }();
/** /**
@ -1397,7 +1401,7 @@ var Collapse = function ($$$1) {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0): dropdown.js * Bootstrap (v4.1.0): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -1409,7 +1413,7 @@ var Dropdown = function ($$$1) {
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'dropdown'; var NAME = 'dropdown';
var VERSION = '4.0.0'; var VERSION = '4.1.0';
var DATA_KEY = 'bs.dropdown'; var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -1452,7 +1456,7 @@ var Dropdown = function ($$$1) {
FORM_CHILD: '.dropdown form', FORM_CHILD: '.dropdown form',
MENU: '.dropdown-menu', MENU: '.dropdown-menu',
NAVBAR_NAV: '.navbar-nav', NAVBAR_NAV: '.navbar-nav',
VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)' VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
}; };
var AttachmentMap = { var AttachmentMap = {
TOP: 'top-start', TOP: 'top-start',
@ -1467,12 +1471,16 @@ var Dropdown = function ($$$1) {
var Default = { var Default = {
offset: 0, offset: 0,
flip: true, flip: true,
boundary: 'scrollParent' boundary: 'scrollParent',
reference: 'toggle',
display: 'dynamic'
}; };
var DefaultType = { var DefaultType = {
offset: '(number|string|function)', offset: '(number|string|function)',
flip: 'boolean', flip: 'boolean',
boundary: '(string|element)' boundary: '(string|element)',
reference: '(string|element)',
display: 'string'
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Class Definition * Class Definition
@ -1533,11 +1541,15 @@ var Dropdown = function ($$$1) {
throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)'); throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
} }
var element = this._element; // For dropup with alignment we use the parent as popper container var referenceElement = this._element;
if ($$$1(parent).hasClass(ClassName.DROPUP)) { if (this._config.reference === 'parent') {
if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) { referenceElement = parent;
element = parent; } else if (Util.isElement(this._config.reference)) {
referenceElement = this._config.reference; // Check if it's jQuery element
if (typeof this._config.reference.jquery !== 'undefined') {
referenceElement = this._config.reference[0];
} }
} // If boundary is not `scrollParent`, then set position to `static` } // If boundary is not `scrollParent`, then set position to `static`
// to allow the menu to "escape" the scroll parent's boundaries // to allow the menu to "escape" the scroll parent's boundaries
@ -1548,7 +1560,7 @@ var Dropdown = function ($$$1) {
$$$1(parent).addClass(ClassName.POSITION_STATIC); $$$1(parent).addClass(ClassName.POSITION_STATIC);
} }
this._popper = new Popper(element, this._menu, this._getPopperConfig()); this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
} // If this is a touch-enabled device we add extra } // If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children; // empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS // only needed because of broken event delegation on iOS
@ -1556,7 +1568,7 @@ var Dropdown = function ($$$1) {
if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) { if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
$$$1('body').children().on('mouseover', null, $$$1.noop); $$$1(document.body).children().on('mouseover', null, $$$1.noop);
} }
this._element.focus(); this._element.focus();
@ -1601,7 +1613,7 @@ var Dropdown = function ($$$1) {
}; };
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config); config = _objectSpread({}, this.constructor.Default, $$$1(this._element).data(), config);
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
return config; return config;
}; };
@ -1648,7 +1660,7 @@ var Dropdown = function ($$$1) {
if (typeof this._config.offset === 'function') { if (typeof this._config.offset === 'function') {
offsetConf.fn = function (data) { offsetConf.fn = function (data) {
data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {}); data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {});
return data; return data;
}; };
} else { } else {
@ -1665,8 +1677,16 @@ var Dropdown = function ($$$1) {
preventOverflow: { preventOverflow: {
boundariesElement: this._config.boundary boundariesElement: this._config.boundary
} }
} } // Disable Popper.js if we have a static display
}; };
if (this._config.display === 'static') {
popperConfig.modifiers.applyStyle = {
enabled: false
};
}
return popperConfig; return popperConfig;
}; // Static }; // Static
@ -1731,7 +1751,7 @@ var Dropdown = function ($$$1) {
if ('ontouchstart' in document.documentElement) { if ('ontouchstart' in document.documentElement) {
$$$1('body').children().off('mouseover', null, $$$1.noop); $$$1(document.body).children().off('mouseover', null, $$$1.noop);
} }
toggles[i].setAttribute('aria-expanded', 'false'); toggles[i].setAttribute('aria-expanded', 'false');
@ -1826,6 +1846,7 @@ var Dropdown = function ($$$1) {
return DefaultType; return DefaultType;
} }
}]); }]);
return Dropdown; return Dropdown;
}(); }();
/** /**
@ -1862,7 +1883,7 @@ var Dropdown = function ($$$1) {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0): modal.js * Bootstrap (v4.1.0): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -1874,13 +1895,11 @@ var Modal = function ($$$1) {
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'modal'; var NAME = 'modal';
var VERSION = '4.0.0'; var VERSION = '4.1.0';
var DATA_KEY = 'bs.modal'; var DATA_KEY = 'bs.modal';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
var TRANSITION_DURATION = 300;
var BACKDROP_TRANSITION_DURATION = 150;
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var Default = { var Default = {
@ -1941,7 +1960,6 @@ var Modal = function ($$$1) {
this._isShown = false; this._isShown = false;
this._isBodyOverflowing = false; this._isBodyOverflowing = false;
this._ignoreBackdropClick = false; this._ignoreBackdropClick = false;
this._originalBodyPadding = 0;
this._scrollbarWidth = 0; this._scrollbarWidth = 0;
} // Getters } // Getters
@ -1960,7 +1978,7 @@ var Modal = function ($$$1) {
return; return;
} }
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) { if ($$$1(this._element).hasClass(ClassName.FADE)) {
this._isTransitioning = true; this._isTransitioning = true;
} }
@ -2022,7 +2040,7 @@ var Modal = function ($$$1) {
} }
this._isShown = false; this._isShown = false;
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE); var transition = $$$1(this._element).hasClass(ClassName.FADE);
if (transition) { if (transition) {
this._isTransitioning = true; this._isTransitioning = true;
@ -2038,9 +2056,10 @@ var Modal = function ($$$1) {
$$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS); $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
if (transition) { if (transition) {
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
$$$1(this._element).one(Util.TRANSITION_END, function (event) { $$$1(this._element).one(Util.TRANSITION_END, function (event) {
return _this2._hideModal(event); return _this2._hideModal(event);
}).emulateTransitionEnd(TRANSITION_DURATION); }).emulateTransitionEnd(transitionDuration);
} else { } else {
this._hideModal(); this._hideModal();
} }
@ -2065,7 +2084,7 @@ var Modal = function ($$$1) {
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _extends({}, Default, config); config = _objectSpread({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType); Util.typeCheckConfig(NAME, config, DefaultType);
return config; return config;
}; };
@ -2073,7 +2092,7 @@ var Modal = function ($$$1) {
_proto._showElement = function _showElement(relatedTarget) { _proto._showElement = function _showElement(relatedTarget) {
var _this3 = this; var _this3 = this;
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE); var transition = $$$1(this._element).hasClass(ClassName.FADE);
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// Don't move modal's DOM position // Don't move modal's DOM position
@ -2110,7 +2129,8 @@ var Modal = function ($$$1) {
}; };
if (transition) { if (transition) {
$$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION); var transitionDuration = Util.getTransitionDurationFromElement(this._element);
$$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
} else { } else {
transitionComplete(); transitionComplete();
} }
@ -2188,7 +2208,6 @@ var Modal = function ($$$1) {
var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : ''; var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
if (this._isShown && this._config.backdrop) { if (this._isShown && this._config.backdrop) {
var doAnimate = Util.supportsTransitionEnd() && animate;
this._backdrop = document.createElement('div'); this._backdrop = document.createElement('div');
this._backdrop.className = ClassName.BACKDROP; this._backdrop.className = ClassName.BACKDROP;
@ -2214,7 +2233,7 @@ var Modal = function ($$$1) {
} }
}); });
if (doAnimate) { if (animate) {
Util.reflow(this._backdrop); Util.reflow(this._backdrop);
} }
@ -2224,12 +2243,13 @@ var Modal = function ($$$1) {
return; return;
} }
if (!doAnimate) { if (!animate) {
callback(); callback();
return; return;
} }
$$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION); var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
$$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
} else if (!this._isShown && this._backdrop) { } else if (!this._isShown && this._backdrop) {
$$$1(this._backdrop).removeClass(ClassName.SHOW); $$$1(this._backdrop).removeClass(ClassName.SHOW);
@ -2241,8 +2261,10 @@ var Modal = function ($$$1) {
} }
}; };
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) { if ($$$1(this._element).hasClass(ClassName.FADE)) {
$$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION); var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
$$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
} else { } else {
callbackRemove(); callbackRemove();
} }
@ -2304,8 +2326,8 @@ var Modal = function ($$$1) {
}); // Adjust body padding }); // Adjust body padding
var actualPadding = document.body.style.paddingRight; var actualPadding = document.body.style.paddingRight;
var calculatedPadding = $$$1('body').css('padding-right'); var calculatedPadding = $$$1(document.body).css('padding-right');
$$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); $$$1(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
} }
}; };
@ -2327,10 +2349,10 @@ var Modal = function ($$$1) {
} }
}); // Restore body padding }); // Restore body padding
var padding = $$$1('body').data('padding-right'); var padding = $$$1(document.body).data('padding-right');
if (typeof padding !== 'undefined') { if (typeof padding !== 'undefined') {
$$$1('body').css('padding-right', padding).removeData('padding-right'); $$$1(document.body).css('padding-right', padding).removeData('padding-right');
} }
}; };
@ -2349,7 +2371,7 @@ var Modal = function ($$$1) {
return this.each(function () { return this.each(function () {
var data = $$$1(this).data(DATA_KEY); var data = $$$1(this).data(DATA_KEY);
var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config); var _config = _objectSpread({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
if (!data) { if (!data) {
data = new Modal(this, _config); data = new Modal(this, _config);
@ -2379,6 +2401,7 @@ var Modal = function ($$$1) {
return Default; return Default;
} }
}]); }]);
return Modal; return Modal;
}(); }();
/** /**
@ -2398,7 +2421,7 @@ var Modal = function ($$$1) {
target = $$$1(selector)[0]; target = $$$1(selector)[0];
} }
var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _extends({}, $$$1(target).data(), $$$1(this).data()); var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $$$1(target).data(), $$$1(this).data());
if (this.tagName === 'A' || this.tagName === 'AREA') { if (this.tagName === 'A' || this.tagName === 'AREA') {
event.preventDefault(); event.preventDefault();
@ -2438,7 +2461,7 @@ var Modal = function ($$$1) {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0): tooltip.js * Bootstrap (v4.1.0): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -2450,11 +2473,10 @@ var Tooltip = function ($$$1) {
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'tooltip'; var NAME = 'tooltip';
var VERSION = '4.0.0'; var VERSION = '4.1.0';
var DATA_KEY = 'bs.tooltip'; var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
var TRANSITION_DURATION = 150;
var CLASS_PREFIX = 'bs-tooltip'; var CLASS_PREFIX = 'bs-tooltip';
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
var DefaultType = { var DefaultType = {
@ -2700,7 +2722,7 @@ var Tooltip = function ($$$1) {
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
if ('ontouchstart' in document.documentElement) { if ('ontouchstart' in document.documentElement) {
$$$1('body').children().on('mouseover', null, $$$1.noop); $$$1(document.body).children().on('mouseover', null, $$$1.noop);
} }
var complete = function complete() { var complete = function complete() {
@ -2717,8 +2739,9 @@ var Tooltip = function ($$$1) {
} }
}; };
if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) { if ($$$1(this.tip).hasClass(ClassName.FADE)) {
$$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION); var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
$$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else { } else {
complete(); complete();
} }
@ -2761,15 +2784,16 @@ var Tooltip = function ($$$1) {
// empty mouseover listeners we added for iOS support // empty mouseover listeners we added for iOS support
if ('ontouchstart' in document.documentElement) { if ('ontouchstart' in document.documentElement) {
$$$1('body').children().off('mouseover', null, $$$1.noop); $$$1(document.body).children().off('mouseover', null, $$$1.noop);
} }
this._activeTrigger[Trigger.CLICK] = false; this._activeTrigger[Trigger.CLICK] = false;
this._activeTrigger[Trigger.FOCUS] = false; this._activeTrigger[Trigger.FOCUS] = false;
this._activeTrigger[Trigger.HOVER] = false; this._activeTrigger[Trigger.HOVER] = false;
if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) { if ($$$1(this.tip).hasClass(ClassName.FADE)) {
$$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); var transitionDuration = Util.getTransitionDurationFromElement(tip);
$$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else { } else {
complete(); complete();
} }
@ -2860,7 +2884,7 @@ var Tooltip = function ($$$1) {
}); });
if (this.config.selector) { if (this.config.selector) {
this.config = _extends({}, this.config, { this.config = _objectSpread({}, this.config, {
trigger: 'manual', trigger: 'manual',
selector: '' selector: ''
}); });
@ -2954,7 +2978,7 @@ var Tooltip = function ($$$1) {
}; };
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _extends({}, this.constructor.Default, $$$1(this.element).data(), config); config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), config);
if (typeof config.delay === 'number') { if (typeof config.delay === 'number') {
config.delay = { config.delay = {
@ -3081,6 +3105,7 @@ var Tooltip = function ($$$1) {
return DefaultType; return DefaultType;
} }
}]); }]);
return Tooltip; return Tooltip;
}(); }();
/** /**
@ -3103,7 +3128,7 @@ var Tooltip = function ($$$1) {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0): popover.js * Bootstrap (v4.1.0): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -3115,21 +3140,24 @@ var Popover = function ($$$1) {
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'popover'; var NAME = 'popover';
var VERSION = '4.0.0'; var VERSION = '4.1.0';
var DATA_KEY = 'bs.popover'; var DATA_KEY = 'bs.popover';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
var CLASS_PREFIX = 'bs-popover'; var CLASS_PREFIX = 'bs-popover';
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
var Default = _extends({}, Tooltip.Default, {
var Default = _objectSpread({}, Tooltip.Default, {
placement: 'right', placement: 'right',
trigger: 'click', trigger: 'click',
content: '', content: '',
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>' template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
}); });
var DefaultType = _extends({}, Tooltip.DefaultType, {
var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
content: '(string|element|function)' content: '(string|element|function)'
}); });
var ClassName = { var ClassName = {
FADE: 'fade', FADE: 'fade',
SHOW: 'show' SHOW: 'show'
@ -3274,6 +3302,7 @@ var Popover = function ($$$1) {
return DefaultType; return DefaultType;
} }
}]); }]);
return Popover; return Popover;
}(Tooltip); }(Tooltip);
/** /**
@ -3296,7 +3325,7 @@ var Popover = function ($$$1) {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0): scrollspy.js * Bootstrap (v4.1.0): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -3308,7 +3337,7 @@ var ScrollSpy = function ($$$1) {
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'scrollspy'; var NAME = 'scrollspy';
var VERSION = '4.0.0'; var VERSION = '4.1.0';
var DATA_KEY = 'bs.scrollspy'; var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@ -3435,7 +3464,7 @@ var ScrollSpy = function ($$$1) {
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _extends({}, Default, config); config = _objectSpread({}, Default, config);
if (typeof config.target !== 'string') { if (typeof config.target !== 'string') {
var id = $$$1(config.target).attr('id'); var id = $$$1(config.target).attr('id');
@ -3570,6 +3599,7 @@ var ScrollSpy = function ($$$1) {
return Default; return Default;
} }
}]); }]);
return ScrollSpy; return ScrollSpy;
}(); }();
/** /**
@ -3607,7 +3637,7 @@ var ScrollSpy = function ($$$1) {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0): tab.js * Bootstrap (v4.1.0): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@ -3619,12 +3649,11 @@ var Tab = function ($$$1) {
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
*/ */
var NAME = 'tab'; var NAME = 'tab';
var VERSION = '4.0.0'; var VERSION = '4.1.0';
var DATA_KEY = 'bs.tab'; var DATA_KEY = 'bs.tab';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
var TRANSITION_DURATION = 150;
var Event = { var Event = {
HIDE: "hide" + EVENT_KEY, HIDE: "hide" + EVENT_KEY,
HIDDEN: "hidden" + EVENT_KEY, HIDDEN: "hidden" + EVENT_KEY,
@ -3743,14 +3772,15 @@ var Tab = function ($$$1) {
} }
var active = activeElements[0]; var active = activeElements[0];
var isTransitioning = callback && Util.supportsTransitionEnd() && active && $$$1(active).hasClass(ClassName.FADE); var isTransitioning = callback && active && $$$1(active).hasClass(ClassName.FADE);
var complete = function complete() { var complete = function complete() {
return _this2._transitionComplete(element, active, callback); return _this2._transitionComplete(element, active, callback);
}; };
if (active && isTransitioning) { if (active && isTransitioning) {
$$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); var transitionDuration = Util.getTransitionDurationFromElement(active);
$$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else { } else {
complete(); complete();
} }
@ -3821,6 +3851,7 @@ var Tab = function ($$$1) {
return VERSION; return VERSION;
} }
}]); }]);
return Tab; return Tab;
}(); }();
/** /**
@ -3854,7 +3885,7 @@ var Tab = function ($$$1) {
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.0.0-alpha.6): index.js * Bootstrap (v4.0.0): index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */

File diff suppressed because one or more lines are too long