Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap-rubygem.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGleb Mazovetskiy <glex.spb@gmail.com>2018-04-16 14:37:20 +0300
committerGleb Mazovetskiy <glex.spb@gmail.com>2018-04-16 14:37:20 +0300
commit5a78819c01c9d6fae1216fa94a7f64a353afad05 (patch)
tree87dad69c30a60701c4dcb01e9935138acf0201b9 /assets/javascripts/bootstrap
parentfad13e5e60e6ece5223e1b66d498716a0d70b1cd (diff)
rake update[v4.1.0]
Diffstat (limited to 'assets/javascripts/bootstrap')
-rw-r--r--assets/javascripts/bootstrap/alert.js10
-rw-r--r--assets/javascripts/bootstrap/button.js4
-rw-r--r--assets/javascripts/bootstrap/carousel.js24
-rw-r--r--assets/javascripts/bootstrap/collapse.js30
-rw-r--r--assets/javascripts/bootstrap/dropdown.js50
-rw-r--r--assets/javascripts/bootstrap/modal.js51
-rw-r--r--assets/javascripts/bootstrap/popover.js12
-rw-r--r--assets/javascripts/bootstrap/scrollspy.js10
-rw-r--r--assets/javascripts/bootstrap/tab.js10
-rw-r--r--assets/javascripts/bootstrap/tooltip.js27
-rw-r--r--assets/javascripts/bootstrap/util.js63
11 files changed, 153 insertions, 138 deletions
diff --git a/assets/javascripts/bootstrap/alert.js b/assets/javascripts/bootstrap/alert.js
index 3de9f13..c241746 100644
--- a/assets/javascripts/bootstrap/alert.js
+++ b/assets/javascripts/bootstrap/alert.js
@@ -4,7 +4,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): alert.js
+ * Bootstrap (v4.1.0): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -15,12 +15,11 @@ var Alert = function ($) {
* ------------------------------------------------------------------------
*/
var NAME = 'alert';
- var VERSION = '4.0.0';
+ var VERSION = '4.1.0';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
- var TRANSITION_DURATION = 150;
var Selector = {
DISMISS: '[data-dismiss="alert"]'
};
@@ -98,15 +97,16 @@ var Alert = function ($) {
$(element).removeClass(ClassName.SHOW);
- if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
+ if (!$(element).hasClass(ClassName.FADE)) {
this._destroyElement(element);
return;
}
+ var transitionDuration = Util.getTransitionDurationFromElement(element);
$(element).one(Util.TRANSITION_END, function (event) {
return _this._destroyElement(element, event);
- }).emulateTransitionEnd(TRANSITION_DURATION);
+ }).emulateTransitionEnd(transitionDuration);
};
_proto._destroyElement = function _destroyElement(element) {
diff --git a/assets/javascripts/bootstrap/button.js b/assets/javascripts/bootstrap/button.js
index 7d23bbe..d517e52 100644
--- a/assets/javascripts/bootstrap/button.js
+++ b/assets/javascripts/bootstrap/button.js
@@ -4,7 +4,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): button.js
+ * Bootstrap (v4.1.0): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -15,7 +15,7 @@ var Button = function ($) {
* ------------------------------------------------------------------------
*/
var NAME = 'button';
- var VERSION = '4.0.0';
+ var VERSION = '4.1.0';
var DATA_KEY = 'bs.button';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
diff --git a/assets/javascripts/bootstrap/carousel.js b/assets/javascripts/bootstrap/carousel.js
index f5dd28c..8326699 100644
--- a/assets/javascripts/bootstrap/carousel.js
+++ b/assets/javascripts/bootstrap/carousel.js
@@ -1,4 +1,6 @@
-function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
+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; }
+
+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; }
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); } }
@@ -6,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): carousel.js
+ * Bootstrap (v4.1.0): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -17,12 +19,11 @@ var Carousel = function ($) {
* ------------------------------------------------------------------------
*/
var NAME = 'carousel';
- var VERSION = '4.0.0';
+ var VERSION = '4.1.0';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
- var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
@@ -131,7 +132,7 @@ var Carousel = function ($) {
this._isPaused = true;
}
- if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
+ if ($(this._element).find(Selector.NEXT_PREV)[0]) {
Util.triggerTransitionEnd(this._element);
this.cycle(true);
}
@@ -199,7 +200,7 @@ var Carousel = function ($) {
_proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default, config);
+ config = _objectSpread({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
@@ -370,11 +371,12 @@ var Carousel = function ($) {
to: nextElementIndex
});
- if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
+ if ($(this._element).hasClass(ClassName.SLIDE)) {
$(nextElement).addClass(orderClassName);
Util.reflow(nextElement);
$(activeElement).addClass(directionalClassName);
$(nextElement).addClass(directionalClassName);
+ var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
$(activeElement).one(Util.TRANSITION_END, function () {
$(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
$(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
@@ -382,7 +384,7 @@ var Carousel = function ($) {
setTimeout(function () {
return $(_this3._element).trigger(slidEvent);
}, 0);
- }).emulateTransitionEnd(TRANSITION_DURATION);
+ }).emulateTransitionEnd(transitionDuration);
} else {
$(activeElement).removeClass(ClassName.ACTIVE);
$(nextElement).addClass(ClassName.ACTIVE);
@@ -400,10 +402,10 @@ var Carousel = function ($) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
- var _config = _extends({}, Default, $(this).data());
+ var _config = _objectSpread({}, Default, $(this).data());
if (typeof config === 'object') {
- _config = _extends({}, _config, config);
+ _config = _objectSpread({}, _config, config);
}
var action = typeof config === 'string' ? config : _config.slide;
@@ -441,7 +443,7 @@ var Carousel = function ($) {
return;
}
- var config = _extends({}, $(target).data(), $(this).data());
+ var config = _objectSpread({}, $(target).data(), $(this).data());
var slideIndex = this.getAttribute('data-slide-to');
diff --git a/assets/javascripts/bootstrap/collapse.js b/assets/javascripts/bootstrap/collapse.js
index 39f4b88..6b0c1da 100644
--- a/assets/javascripts/bootstrap/collapse.js
+++ b/assets/javascripts/bootstrap/collapse.js
@@ -1,4 +1,6 @@
-function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
+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; }
+
+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; }
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); } }
@@ -6,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): collapse.js
+ * Bootstrap (v4.1.0): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -17,12 +19,11 @@ var Collapse = function ($) {
* ------------------------------------------------------------------------
*/
var NAME = 'collapse';
- var VERSION = '4.0.0';
+ var VERSION = '4.1.0';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
- var TRANSITION_DURATION = 600;
var Default = {
toggle: true,
parent: ''
@@ -164,14 +165,10 @@ var Collapse = function ($) {
$(_this._element).trigger(Event.SHOWN);
};
- if (!Util.supportsTransitionEnd()) {
- complete();
- return;
- }
-
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
var scrollSize = "scroll" + capitalizedDimension;
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+ $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
this._element.style[dimension] = this._element[scrollSize] + "px";
};
@@ -219,13 +216,8 @@ var Collapse = function ($) {
};
this._element.style[dimension] = '';
-
- if (!Util.supportsTransitionEnd()) {
- complete();
- return;
- }
-
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+ $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
};
_proto.setTransitioning = function setTransitioning(isTransitioning) {
@@ -243,7 +235,7 @@ var Collapse = function ($) {
_proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default, config);
+ config = _objectSpread({}, Default, config);
config.toggle = Boolean(config.toggle); // Coerce string values
Util.typeCheckConfig(NAME, config, DefaultType);
@@ -298,7 +290,7 @@ var Collapse = function ($) {
var $this = $(this);
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)) {
_config.toggle = false;
diff --git a/assets/javascripts/bootstrap/dropdown.js b/assets/javascripts/bootstrap/dropdown.js
index a4f73fe..9a81783 100644
--- a/assets/javascripts/bootstrap/dropdown.js
+++ b/assets/javascripts/bootstrap/dropdown.js
@@ -1,4 +1,6 @@
-function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
+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; }
+
+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; }
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); } }
@@ -6,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): dropdown.js
+ * Bootstrap (v4.1.0): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -17,7 +19,7 @@ var Dropdown = function ($) {
* ------------------------------------------------------------------------
*/
var NAME = 'dropdown';
- var VERSION = '4.0.0';
+ var VERSION = '4.1.0';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -60,7 +62,7 @@ var Dropdown = function ($) {
FORM_CHILD: '.dropdown form',
MENU: '.dropdown-menu',
NAVBAR_NAV: '.navbar-nav',
- VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
+ VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
};
var AttachmentMap = {
TOP: 'top-start',
@@ -75,12 +77,16 @@ var Dropdown = function ($) {
var Default = {
offset: 0,
flip: true,
- boundary: 'scrollParent'
+ boundary: 'scrollParent',
+ reference: 'toggle',
+ display: 'dynamic'
};
var DefaultType = {
offset: '(number|string|function)',
flip: 'boolean',
- boundary: '(string|element)'
+ boundary: '(string|element)',
+ reference: '(string|element)',
+ display: 'string'
/**
* ------------------------------------------------------------------------
* Class Definition
@@ -141,11 +147,15 @@ var Dropdown = function ($) {
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 (this._config.reference === 'parent') {
+ referenceElement = parent;
+ } else if (Util.isElement(this._config.reference)) {
+ referenceElement = this._config.reference; // Check if it's jQuery element
- if ($(parent).hasClass(ClassName.DROPUP)) {
- if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {
- element = parent;
+ if (typeof this._config.reference.jquery !== 'undefined') {
+ referenceElement = this._config.reference[0];
}
} // If boundary is not `scrollParent`, then set position to `static`
// to allow the menu to "escape" the scroll parent's boundaries
@@ -156,7 +166,7 @@ var Dropdown = function ($) {
$(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
// empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS
@@ -164,7 +174,7 @@ var Dropdown = function ($) {
if ('ontouchstart' in document.documentElement && $(parent).closest(Selector.NAVBAR_NAV).length === 0) {
- $('body').children().on('mouseover', null, $.noop);
+ $(document.body).children().on('mouseover', null, $.noop);
}
this._element.focus();
@@ -209,7 +219,7 @@ var Dropdown = function ($) {
};
_proto._getConfig = function _getConfig(config) {
- config = _extends({}, this.constructor.Default, $(this._element).data(), config);
+ config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config);
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
return config;
};
@@ -256,7 +266,7 @@ var Dropdown = function ($) {
if (typeof this._config.offset === 'function') {
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;
};
} else {
@@ -273,8 +283,16 @@ var Dropdown = function ($) {
preventOverflow: {
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;
}; // Static
@@ -339,7 +357,7 @@ var Dropdown = function ($) {
if ('ontouchstart' in document.documentElement) {
- $('body').children().off('mouseover', null, $.noop);
+ $(document.body).children().off('mouseover', null, $.noop);
}
toggles[i].setAttribute('aria-expanded', 'false');
diff --git a/assets/javascripts/bootstrap/modal.js b/assets/javascripts/bootstrap/modal.js
index 8e3c886..6e94b87 100644
--- a/assets/javascripts/bootstrap/modal.js
+++ b/assets/javascripts/bootstrap/modal.js
@@ -1,4 +1,6 @@
-function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
+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; }
+
+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; }
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); } }
@@ -6,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): modal.js
+ * Bootstrap (v4.1.0): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -17,13 +19,11 @@ var Modal = function ($) {
* ------------------------------------------------------------------------
*/
var NAME = 'modal';
- var VERSION = '4.0.0';
+ var VERSION = '4.1.0';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
- var TRANSITION_DURATION = 300;
- var BACKDROP_TRANSITION_DURATION = 150;
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var Default = {
@@ -84,7 +84,6 @@ var Modal = function ($) {
this._isShown = false;
this._isBodyOverflowing = false;
this._ignoreBackdropClick = false;
- this._originalBodyPadding = 0;
this._scrollbarWidth = 0;
} // Getters
@@ -103,7 +102,7 @@ var Modal = function ($) {
return;
}
- if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
+ if ($(this._element).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
}
@@ -165,7 +164,7 @@ var Modal = function ($) {
}
this._isShown = false;
- var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+ var transition = $(this._element).hasClass(ClassName.FADE);
if (transition) {
this._isTransitioning = true;
@@ -181,9 +180,10 @@ var Modal = function ($) {
$(this._dialog).off(Event.MOUSEDOWN_DISMISS);
if (transition) {
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
$(this._element).one(Util.TRANSITION_END, function (event) {
return _this2._hideModal(event);
- }).emulateTransitionEnd(TRANSITION_DURATION);
+ }).emulateTransitionEnd(transitionDuration);
} else {
this._hideModal();
}
@@ -208,7 +208,7 @@ var Modal = function ($) {
_proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default, config);
+ config = _objectSpread({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
};
@@ -216,7 +216,7 @@ var Modal = function ($) {
_proto._showElement = function _showElement(relatedTarget) {
var _this3 = this;
- var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+ var transition = $(this._element).hasClass(ClassName.FADE);
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// Don't move modal's DOM position
@@ -253,7 +253,8 @@ var Modal = function ($) {
};
if (transition) {
- $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+ $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
} else {
transitionComplete();
}
@@ -331,7 +332,6 @@ var Modal = function ($) {
var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
if (this._isShown && this._config.backdrop) {
- var doAnimate = Util.supportsTransitionEnd() && animate;
this._backdrop = document.createElement('div');
this._backdrop.className = ClassName.BACKDROP;
@@ -357,7 +357,7 @@ var Modal = function ($) {
}
});
- if (doAnimate) {
+ if (animate) {
Util.reflow(this._backdrop);
}
@@ -367,12 +367,13 @@ var Modal = function ($) {
return;
}
- if (!doAnimate) {
+ if (!animate) {
callback();
return;
}
- $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+ var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
+ $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
} else if (!this._isShown && this._backdrop) {
$(this._backdrop).removeClass(ClassName.SHOW);
@@ -384,8 +385,10 @@ var Modal = function ($) {
}
};
- if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
- $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+ if ($(this._element).hasClass(ClassName.FADE)) {
+ var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
+
+ $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
} else {
callbackRemove();
}
@@ -447,8 +450,8 @@ var Modal = function ($) {
}); // Adjust body padding
var actualPadding = document.body.style.paddingRight;
- var calculatedPadding = $('body').css('padding-right');
- $('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
+ var calculatedPadding = $(document.body).css('padding-right');
+ $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
}
};
@@ -470,10 +473,10 @@ var Modal = function ($) {
}
}); // Restore body padding
- var padding = $('body').data('padding-right');
+ var padding = $(document.body).data('padding-right');
if (typeof padding !== 'undefined') {
- $('body').css('padding-right', padding).removeData('padding-right');
+ $(document.body).css('padding-right', padding).removeData('padding-right');
}
};
@@ -492,7 +495,7 @@ var Modal = function ($) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
- var _config = _extends({}, Modal.Default, $(this).data(), typeof config === 'object' && config);
+ var _config = _objectSpread({}, Modal.Default, $(this).data(), typeof config === 'object' && config);
if (!data) {
data = new Modal(this, _config);
@@ -542,7 +545,7 @@ var Modal = function ($) {
target = $(selector)[0];
}
- var config = $(target).data(DATA_KEY) ? 'toggle' : _extends({}, $(target).data(), $(this).data());
+ var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data());
if (this.tagName === 'A' || this.tagName === 'AREA') {
event.preventDefault();
diff --git a/assets/javascripts/bootstrap/popover.js b/assets/javascripts/bootstrap/popover.js
index ee53fcd..c4adfb5 100644
--- a/assets/javascripts/bootstrap/popover.js
+++ b/assets/javascripts/bootstrap/popover.js
@@ -4,11 +4,13 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
-function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
+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; }
+
+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; }
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): popover.js
+ * Bootstrap (v4.1.0): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -19,21 +21,21 @@ var Popover = function ($) {
* ------------------------------------------------------------------------
*/
var NAME = 'popover';
- var VERSION = '4.0.0';
+ var VERSION = '4.1.0';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
var CLASS_PREFIX = 'bs-popover';
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
- var Default = _extends({}, Tooltip.Default, {
+ var Default = _objectSpread({}, Tooltip.Default, {
placement: 'right',
trigger: 'click',
content: '',
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)'
});
diff --git a/assets/javascripts/bootstrap/scrollspy.js b/assets/javascripts/bootstrap/scrollspy.js
index 616bb03..38b45d6 100644
--- a/assets/javascripts/bootstrap/scrollspy.js
+++ b/assets/javascripts/bootstrap/scrollspy.js
@@ -1,4 +1,6 @@
-function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
+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; }
+
+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; }
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); } }
@@ -6,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): scrollspy.js
+ * Bootstrap (v4.1.0): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -17,7 +19,7 @@ var ScrollSpy = function ($) {
* ------------------------------------------------------------------------
*/
var NAME = 'scrollspy';
- var VERSION = '4.0.0';
+ var VERSION = '4.1.0';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -144,7 +146,7 @@ var ScrollSpy = function ($) {
_proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default, config);
+ config = _objectSpread({}, Default, config);
if (typeof config.target !== 'string') {
var id = $(config.target).attr('id');
diff --git a/assets/javascripts/bootstrap/tab.js b/assets/javascripts/bootstrap/tab.js
index b8aa5a8..7c9ba2d 100644
--- a/assets/javascripts/bootstrap/tab.js
+++ b/assets/javascripts/bootstrap/tab.js
@@ -4,7 +4,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): tab.js
+ * Bootstrap (v4.1.0): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -15,12 +15,11 @@ var Tab = function ($) {
* ------------------------------------------------------------------------
*/
var NAME = 'tab';
- var VERSION = '4.0.0';
+ var VERSION = '4.1.0';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
- var TRANSITION_DURATION = 150;
var Event = {
HIDE: "hide" + EVENT_KEY,
HIDDEN: "hidden" + EVENT_KEY,
@@ -139,14 +138,15 @@ var Tab = function ($) {
}
var active = activeElements[0];
- var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE);
+ var isTransitioning = callback && active && $(active).hasClass(ClassName.FADE);
var complete = function complete() {
return _this2._transitionComplete(element, active, callback);
};
if (active && isTransitioning) {
- $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ var transitionDuration = Util.getTransitionDurationFromElement(active);
+ $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else {
complete();
}
diff --git a/assets/javascripts/bootstrap/tooltip.js b/assets/javascripts/bootstrap/tooltip.js
index edb2c96..63f1bc6 100644
--- a/assets/javascripts/bootstrap/tooltip.js
+++ b/assets/javascripts/bootstrap/tooltip.js
@@ -1,4 +1,6 @@
-function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
+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; }
+
+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; }
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); } }
@@ -6,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): tooltip.js
+ * Bootstrap (v4.1.0): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -17,11 +19,10 @@ var Tooltip = function ($) {
* ------------------------------------------------------------------------
*/
var NAME = 'tooltip';
- var VERSION = '4.0.0';
+ var VERSION = '4.1.0';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
- var TRANSITION_DURATION = 150;
var CLASS_PREFIX = 'bs-tooltip';
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
var DefaultType = {
@@ -267,7 +268,7 @@ var Tooltip = function ($) {
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
if ('ontouchstart' in document.documentElement) {
- $('body').children().on('mouseover', null, $.noop);
+ $(document.body).children().on('mouseover', null, $.noop);
}
var complete = function complete() {
@@ -284,8 +285,9 @@ var Tooltip = function ($) {
}
};
- if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
- $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
+ if ($(this.tip).hasClass(ClassName.FADE)) {
+ var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
+ $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else {
complete();
}
@@ -328,15 +330,16 @@ var Tooltip = function ($) {
// empty mouseover listeners we added for iOS support
if ('ontouchstart' in document.documentElement) {
- $('body').children().off('mouseover', null, $.noop);
+ $(document.body).children().off('mouseover', null, $.noop);
}
this._activeTrigger[Trigger.CLICK] = false;
this._activeTrigger[Trigger.FOCUS] = false;
this._activeTrigger[Trigger.HOVER] = false;
- if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
- $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ if ($(this.tip).hasClass(ClassName.FADE)) {
+ var transitionDuration = Util.getTransitionDurationFromElement(tip);
+ $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
} else {
complete();
}
@@ -427,7 +430,7 @@ var Tooltip = function ($) {
});
if (this.config.selector) {
- this.config = _extends({}, this.config, {
+ this.config = _objectSpread({}, this.config, {
trigger: 'manual',
selector: ''
});
@@ -521,7 +524,7 @@ var Tooltip = function ($) {
};
_proto._getConfig = function _getConfig(config) {
- config = _extends({}, this.constructor.Default, $(this.element).data(), config);
+ config = _objectSpread({}, this.constructor.Default, $(this.element).data(), config);
if (typeof config.delay === 'number') {
config.delay = {
diff --git a/assets/javascripts/bootstrap/util.js b/assets/javascripts/bootstrap/util.js
index 1e33eb8..e03cfc9 100644
--- a/assets/javascripts/bootstrap/util.js
+++ b/assets/javascripts/bootstrap/util.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): util.js
+ * Bootstrap (v4.1.0): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -10,17 +10,18 @@ var Util = function ($) {
* Private TransitionEnd Helpers
* ------------------------------------------------------------------------
*/
- var transition = false;
- var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
+ var TRANSITION_END = 'transitionend';
+ var MAX_UID = 1000000;
+ var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
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() {
return {
- bindType: transition.end,
- delegateType: transition.end,
+ bindType: TRANSITION_END,
+ delegateType: TRANSITION_END,
handle: function handle(event) {
if ($(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
@@ -31,16 +32,6 @@ var Util = function ($) {
};
}
- function transitionEndTest() {
- if (typeof window !== 'undefined' && window.QUnit) {
- return false;
- }
-
- return {
- end: 'transitionend'
- };
- }
-
function transitionEndEmulator(duration) {
var _this = this;
@@ -57,19 +48,8 @@ var Util = function ($) {
}
function setTransitionEndSupport() {
- transition = transitionEndTest();
$.fn.emulateTransitionEnd = transitionEndEmulator;
-
- if (Util.supportsTransitionEnd()) {
- $.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 $.escapeSelector === 'function' ? $.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
- return selector;
+ $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
}
/**
* --------------------------------------------------------------------------
@@ -93,11 +73,6 @@ var Util = function ($) {
if (!selector || selector === '#') {
selector = element.getAttribute('href') || '';
- } // If it's an ID
-
-
- if (selector.charAt(0) === '#') {
- selector = escapeId(selector);
}
try {
@@ -107,14 +82,32 @@ var Util = function ($) {
return null;
}
},
+ getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
+ if (!element) {
+ return 0;
+ } // Get transition-duration of the element
+
+
+ var transitionDuration = $(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) {
return element.offsetHeight;
},
triggerTransitionEnd: function triggerTransitionEnd(element) {
- $(element).trigger(transition.end);
+ $(element).trigger(TRANSITION_END);
},
+ // TODO: Remove in v5
supportsTransitionEnd: function supportsTransitionEnd() {
- return Boolean(transition);
+ return Boolean(TRANSITION_END);
},
isElement: function isElement(obj) {
return (obj[0] || obj).nodeType;