Replace Bootstrap 4 Beta 3 with Bootstrap 4 final

This commit is contained in:
koenemann 2018-01-22 09:09:25 +01:00
parent 044f000028
commit 826d0aa43c
35 changed files with 9838 additions and 1193 deletions

File diff suppressed because it is too large Load Diff

8
css/theme.min.css vendored

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,6 +1,6 @@
/*!
* Bootstrap v4.0.0-beta.3 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Bootstrap v4.0.0 (https://getbootstrap.com)
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@ -54,7 +54,7 @@ function _inheritsLoose(subClass, superClass) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): util.js
* Bootstrap (v4.0.0): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -66,7 +66,7 @@ var Util = function ($$$1) {
* ------------------------------------------------------------------------
*/
var transition = false;
var MAX_UID = 1000000; // shoutout AngusCroll (https://goo.gl/pxwQGp)
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
function toType(obj) {
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
@ -87,7 +87,7 @@ var Util = function ($$$1) {
}
function transitionEndTest() {
if (window.QUnit) {
if (typeof window !== 'undefined' && window.QUnit) {
return false;
}
@ -121,7 +121,7 @@ var Util = function ($$$1) {
}
function escapeId(selector) {
// we escape IDs in case of special selectors (selector = '#myId:something')
// 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;
@ -148,7 +148,7 @@ var Util = function ($$$1) {
if (!selector || selector === '#') {
selector = element.getAttribute('href') || '';
} // if it's an ID
} // If it's an ID
if (selector.charAt(0) === '#') {
@ -158,7 +158,7 @@ var Util = function ($$$1) {
try {
var $selector = $$$1(document).find(selector);
return $selector.length > 0 ? selector : null;
} catch (error) {
} catch (err) {
return null;
}
},
@ -194,7 +194,7 @@ var Util = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): alert.js
* Bootstrap (v4.0.0): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -206,7 +206,7 @@ var Alert = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'alert';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -237,12 +237,12 @@ var Alert = function ($$$1) {
function () {
function Alert(element) {
this._element = element;
} // getters
} // Getters
var _proto = Alert.prototype;
// public
// Public
_proto.close = function close(element) {
element = element || this._element;
@ -260,7 +260,7 @@ var Alert = function ($$$1) {
_proto.dispose = function dispose() {
$$$1.removeData(this._element, DATA_KEY);
this._element = null;
}; // private
}; // Private
_proto._getRootElement = function _getRootElement(element) {
@ -302,7 +302,7 @@ var Alert = function ($$$1) {
_proto._destroyElement = function _destroyElement(element) {
$$$1(element).detach().trigger(Event.CLOSED).remove();
}; // static
}; // Static
Alert._jQueryInterface = function _jQueryInterface(config) {
@ -366,7 +366,7 @@ var Alert = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): button.js
* Bootstrap (v4.0.0): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -378,7 +378,7 @@ var Button = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'button';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.button';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -411,12 +411,12 @@ var Button = function ($$$1) {
function () {
function Button(element) {
this._element = element;
} // getters
} // Getters
var _proto = Button.prototype;
// public
// Public
_proto.toggle = function toggle() {
var triggerChangeEvent = true;
var addAriaPressed = true;
@ -464,7 +464,7 @@ var Button = function ($$$1) {
_proto.dispose = function dispose() {
$$$1.removeData(this._element, DATA_KEY);
this._element = null;
}; // static
}; // Static
Button._jQueryInterface = function _jQueryInterface(config) {
@ -529,7 +529,7 @@ var Button = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): carousel.js
* Bootstrap (v4.0.0): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -541,7 +541,7 @@ var Carousel = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'carousel';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -624,12 +624,12 @@ var Carousel = function ($$$1) {
this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
this._addEventListeners();
} // getters
} // Getters
var _proto = Carousel.prototype;
// public
// Public
_proto.next = function next() {
if (!this._isSliding) {
this._slide(Direction.NEXT);
@ -719,7 +719,7 @@ var Carousel = function ($$$1) {
this._isSliding = null;
this._activeElement = null;
this._indicatorsElement = null;
}; // private
}; // Private
_proto._getConfig = function _getConfig(config) {
@ -745,7 +745,7 @@ var Carousel = function ($$$1) {
});
if ('ontouchstart' in document.documentElement) {
// if it's a touch-enabled device, mouseenter/leave are fired as
// If it's a touch-enabled device, mouseenter/leave are fired as
// part of the mouse compatibility events on first tap - the carousel
// would stop cycling until user tapped out of it;
// here, we listen for touchend, explicitly pause the carousel
@ -784,7 +784,6 @@ var Carousel = function ($$$1) {
break;
default:
return;
}
};
@ -876,7 +875,7 @@ var Carousel = function ($$$1) {
}
if (!activeElement || !nextElement) {
// some weirdness is happening, so we bail
// Some weirdness is happening, so we bail
return;
}
@ -918,7 +917,7 @@ var Carousel = function ($$$1) {
if (isCycling) {
this.cycle();
}
}; // static
}; // Static
Carousel._jQueryInterface = function _jQueryInterface(config) {
@ -942,7 +941,7 @@ var Carousel = function ($$$1) {
data.to(config);
} else if (typeof action === 'string') {
if (typeof data[action] === 'undefined') {
throw new Error("No method named \"" + action + "\"");
throw new TypeError("No method named \"" + action + "\"");
}
data[action]();
@ -1029,7 +1028,7 @@ var Carousel = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): collapse.js
* Bootstrap (v4.0.0): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1041,7 +1040,7 @@ var Collapse = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'collapse';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -1098,6 +1097,8 @@ var Collapse = function ($$$1) {
var selector = Util.getSelectorFromElement(elem);
if (selector !== null && $$$1(selector).filter(element).length > 0) {
this._selector = selector;
this._triggerArray.push(elem);
}
}
@ -1111,12 +1112,12 @@ var Collapse = function ($$$1) {
if (this._config.toggle) {
this.toggle();
}
} // getters
} // Getters
var _proto = Collapse.prototype;
// public
// Public
_proto.toggle = function toggle() {
if ($$$1(this._element).hasClass(ClassName.SHOW)) {
this.hide();
@ -1136,15 +1137,15 @@ var Collapse = function ($$$1) {
var activesData;
if (this._parent) {
actives = $$$1.makeArray($$$1(this._parent).children().children(Selector.ACTIVES));
actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
if (!actives.length) {
if (actives.length === 0) {
actives = null;
}
}
if (actives) {
activesData = $$$1(actives).data(DATA_KEY);
activesData = $$$1(actives).not(this._selector).data(DATA_KEY);
if (activesData && activesData._isTransitioning) {
return;
@ -1159,7 +1160,7 @@ var Collapse = function ($$$1) {
}
if (actives) {
Collapse._jQueryInterface.call($$$1(actives), 'hide');
Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');
if (!activesData) {
$$$1(actives).data(DATA_KEY, null);
@ -1171,7 +1172,7 @@ var Collapse = function ($$$1) {
$$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
this._element.style[dimension] = 0;
if (this._triggerArray.length) {
if (this._triggerArray.length > 0) {
$$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
}
@ -1217,7 +1218,7 @@ var Collapse = function ($$$1) {
Util.reflow(this._element);
$$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
if (this._triggerArray.length) {
if (this._triggerArray.length > 0) {
for (var i = 0; i < this._triggerArray.length; i++) {
var trigger = this._triggerArray[i];
var selector = Util.getSelectorFromElement(trigger);
@ -1261,12 +1262,12 @@ var Collapse = function ($$$1) {
this._element = null;
this._triggerArray = null;
this._isTransitioning = null;
}; // private
}; // Private
_proto._getConfig = function _getConfig(config) {
config = _extends({}, Default, config);
config.toggle = Boolean(config.toggle); // coerce string values
config.toggle = Boolean(config.toggle); // Coerce string values
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
@ -1283,7 +1284,7 @@ var Collapse = function ($$$1) {
var parent = null;
if (Util.isElement(this._config.parent)) {
parent = this._config.parent; // it's a jQuery object
parent = this._config.parent; // It's a jQuery object
if (typeof this._config.parent.jquery !== 'undefined') {
parent = this._config.parent[0];
@ -1303,11 +1304,11 @@ var Collapse = function ($$$1) {
if (element) {
var isOpen = $$$1(element).hasClass(ClassName.SHOW);
if (triggerArray.length) {
if (triggerArray.length > 0) {
$$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
}
}
}; // static
}; // Static
Collapse._getTargetFromElement = function _getTargetFromElement(element) {
@ -1333,7 +1334,7 @@ var Collapse = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -1396,7 +1397,7 @@ var Collapse = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): dropdown.js
* Bootstrap (v4.0.0): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1408,7 +1409,7 @@ var Dropdown = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'dropdown';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -1491,12 +1492,12 @@ var Dropdown = function ($$$1) {
this._inNavbar = this._detectNavbar();
this._addEventListeners();
} // getters
} // Getters
var _proto = Dropdown.prototype;
// public
// Public
_proto.toggle = function toggle() {
if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
return;
@ -1529,10 +1530,10 @@ var Dropdown = function ($$$1) {
* Popper - https://popper.js.org
*/
if (typeof Popper === 'undefined') {
throw new Error('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 element = this._element; // For dropup with alignment we use the parent as popper container
if ($$$1(parent).hasClass(ClassName.DROPUP)) {
if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
@ -1548,13 +1549,13 @@ var Dropdown = function ($$$1) {
}
this._popper = new Popper(element, 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;
// only needed because of broken event delegation on iOS
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
if ('ontouchstart' in document.documentElement && !$$$1(parent).closest(Selector.NAVBAR_NAV).length) {
if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
$$$1('body').children().on('mouseover', null, $$$1.noop);
}
@ -1585,7 +1586,7 @@ var Dropdown = function ($$$1) {
if (this._popper !== null) {
this._popper.scheduleUpdate();
}
}; // private
}; // Private
_proto._addEventListeners = function _addEventListeners() {
@ -1667,7 +1668,7 @@ var Dropdown = function ($$$1) {
}
};
return popperConfig;
}; // static
}; // Static
Dropdown._jQueryInterface = function _jQueryInterface(config) {
@ -1683,7 +1684,7 @@ var Dropdown = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -1725,7 +1726,7 @@ var Dropdown = function ($$$1) {
if (hideEvent.isDefaultPrevented()) {
continue;
} // if this is a touch-enabled device we remove the extra
} // If this is a touch-enabled device we remove the extra
// empty mouseover listeners we added for iOS support
@ -1748,7 +1749,8 @@ var Dropdown = function ($$$1) {
}
return parent || element.parentNode;
};
}; // eslint-disable-next-line complexity
Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
// If not input/textarea:
@ -1785,19 +1787,19 @@ var Dropdown = function ($$$1) {
var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
if (!items.length) {
if (items.length === 0) {
return;
}
var index = items.indexOf(event.target);
if (event.which === ARROW_UP_KEYCODE && index > 0) {
// up
// Up
index--;
}
if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
// down
// Down
index++;
}
@ -1860,7 +1862,7 @@ var Dropdown = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): modal.js
* Bootstrap (v4.0.0): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1872,7 +1874,7 @@ var Modal = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'modal';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -1941,12 +1943,12 @@ var Modal = function ($$$1) {
this._ignoreBackdropClick = false;
this._originalBodyPadding = 0;
this._scrollbarWidth = 0;
} // getters
} // Getters
var _proto = Modal.prototype;
// public
// Public
_proto.toggle = function toggle(relatedTarget) {
return this._isShown ? this.hide() : this.show(relatedTarget);
};
@ -2059,7 +2061,7 @@ var Modal = function ($$$1) {
_proto.handleUpdate = function handleUpdate() {
this._adjustDialog();
}; // private
}; // Private
_proto._getConfig = function _getConfig(config) {
@ -2074,7 +2076,7 @@ var Modal = function ($$$1) {
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// don't move modals dom position
// Don't move modal's DOM position
document.body.appendChild(this._element);
}
@ -2117,9 +2119,9 @@ var Modal = function ($$$1) {
_proto._enforceFocus = function _enforceFocus() {
var _this4 = this;
$$$1(document).off(Event.FOCUSIN) // guard against infinite focus loop
$$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
.on(Event.FOCUSIN, function (event) {
if (document !== event.target && _this4._element !== event.target && !$$$1(_this4._element).has(event.target).length) {
if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
_this4._element.focus();
}
});
@ -2340,7 +2342,7 @@ var Modal = function ($$$1) {
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
return scrollbarWidth;
}; // static
}; // Static
Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
@ -2356,7 +2358,7 @@ var Modal = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config](relatedTarget);
@ -2404,7 +2406,7 @@ var Modal = function ($$$1) {
var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
if (showEvent.isDefaultPrevented()) {
// only register focus restorer if modal will actually get shown
// Only register focus restorer if modal will actually get shown
return;
}
@ -2436,7 +2438,7 @@ var Modal = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): tooltip.js
* Bootstrap (v4.0.0): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -2448,7 +2450,7 @@ var Tooltip = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'tooltip';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -2537,7 +2539,7 @@ var Tooltip = function ($$$1) {
* Popper - https://popper.js.org
*/
if (typeof Popper === 'undefined') {
throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)');
throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
} // private
@ -2545,19 +2547,19 @@ var Tooltip = function ($$$1) {
this._timeout = 0;
this._hoverState = '';
this._activeTrigger = {};
this._popper = null; // protected
this._popper = null; // Protected
this.element = element;
this.config = this._getConfig(config);
this.tip = null;
this._setListeners();
} // getters
} // Getters
var _proto = Tooltip.prototype;
// public
// Public
_proto.enable = function enable() {
this._isEnabled = true;
};
@ -2692,7 +2694,7 @@ var Tooltip = function ($$$1) {
_this._handlePopperPlacementChange(data);
}
});
$$$1(tip).addClass(ClassName.SHOW); // if this is a touch-enabled device we add extra
$$$1(tip).addClass(ClassName.SHOW); // 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
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
@ -2755,7 +2757,7 @@ var Tooltip = function ($$$1) {
return;
}
$$$1(tip).removeClass(ClassName.SHOW); // if this is a touch-enabled device we remove the extra
$$$1(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra
// empty mouseover listeners we added for iOS support
if ('ontouchstart' in document.documentElement) {
@ -2779,7 +2781,7 @@ var Tooltip = function ($$$1) {
if (this._popper !== null) {
this._popper.scheduleUpdate();
}
}; // protected
}; // Protected
_proto.isWithContent = function isWithContent() {
@ -2805,7 +2807,7 @@ var Tooltip = function ($$$1) {
var html = this.config.html;
if (typeof content === 'object' && (content.nodeType || content.jquery)) {
// content is a DOM node or a jQuery
// Content is a DOM node or a jQuery
if (html) {
if (!$$$1(content).parent().is($element)) {
$element.empty().append(content);
@ -2826,7 +2828,7 @@ var Tooltip = function ($$$1) {
}
return title;
}; // private
}; // Private
_proto._getAttachment = function _getAttachment(placement) {
@ -3015,7 +3017,7 @@ var Tooltip = function ($$$1) {
this.hide();
this.show();
this.config.animation = initConfigAnimation;
}; // static
}; // Static
Tooltip._jQueryInterface = function _jQueryInterface(config) {
@ -3035,7 +3037,7 @@ var Tooltip = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -3101,7 +3103,7 @@ var Tooltip = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): popover.js
* Bootstrap (v4.0.0): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -3113,7 +3115,7 @@ var Popover = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'popover';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -3166,7 +3168,7 @@ var Popover = function ($$$1) {
var _proto = Popover.prototype;
// overrides
// Overrides
_proto.isWithContent = function isWithContent() {
return this.getTitle() || this._getContent();
};
@ -3181,7 +3183,7 @@ var Popover = function ($$$1) {
};
_proto.setContent = function setContent() {
var $tip = $$$1(this.getTipElement()); // we use append for html objects to maintain js events
var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events
this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
@ -3193,7 +3195,7 @@ var Popover = function ($$$1) {
this.setElementContent($tip.find(Selector.CONTENT), content);
$tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
}; // private
}; // Private
_proto._getContent = function _getContent() {
@ -3207,7 +3209,7 @@ var Popover = function ($$$1) {
if (tabClass !== null && tabClass.length > 0) {
$tip.removeClass(tabClass.join(''));
}
}; // static
}; // Static
Popover._jQueryInterface = function _jQueryInterface(config) {
@ -3227,7 +3229,7 @@ var Popover = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -3237,7 +3239,7 @@ var Popover = function ($$$1) {
_createClass(Popover, null, [{
key: "VERSION",
// getters
// Getters
get: function get() {
return VERSION;
}
@ -3294,7 +3296,7 @@ var Popover = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): scrollspy.js
* Bootstrap (v4.0.0): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -3306,7 +3308,7 @@ var ScrollSpy = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'scrollspy';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -3373,16 +3375,16 @@ var ScrollSpy = function ($$$1) {
this.refresh();
this._process();
} // getters
} // Getters
var _proto = ScrollSpy.prototype;
// public
// Public
_proto.refresh = function refresh() {
var _this2 = this;
var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
this._offsets = [];
@ -3401,7 +3403,7 @@ var ScrollSpy = function ($$$1) {
var targetBCR = target.getBoundingClientRect();
if (targetBCR.width || targetBCR.height) {
// todo (fat): remove sketch reliance on jQuery position/offset
// TODO (fat): remove sketch reliance on jQuery position/offset
return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
}
}
@ -3429,7 +3431,7 @@ var ScrollSpy = function ($$$1) {
this._targets = null;
this._activeTarget = null;
this._scrollHeight = null;
}; // private
}; // Private
_proto._getConfig = function _getConfig(config) {
@ -3533,7 +3535,7 @@ var ScrollSpy = function ($$$1) {
_proto._clear = function _clear() {
$$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
}; // static
}; // Static
ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
@ -3549,7 +3551,7 @@ var ScrollSpy = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -3605,7 +3607,7 @@ var ScrollSpy = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): tab.js
* Bootstrap (v4.0.0): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -3617,7 +3619,7 @@ var Tab = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'tab';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -3658,12 +3660,12 @@ var Tab = function ($$$1) {
function () {
function Tab(element) {
this._element = element;
} // getters
} // Getters
var _proto = Tab.prototype;
// public
// Public
_proto.show = function show() {
var _this = this;
@ -3726,7 +3728,7 @@ var Tab = function ($$$1) {
_proto.dispose = function dispose() {
$$$1.removeData(this._element, DATA_KEY);
this._element = null;
}; // private
}; // Private
_proto._activate = function _activate(element, container, callback) {
@ -3790,7 +3792,7 @@ var Tab = function ($$$1) {
if (callback) {
callback();
}
}; // static
}; // Static
Tab._jQueryInterface = function _jQueryInterface(config) {
@ -3805,7 +3807,7 @@ var Tab = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -3859,7 +3861,7 @@ var Tab = function ($$$1) {
(function ($$$1) {
if (typeof $$$1 === 'undefined') {
throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
}
var version = $$$1.fn.jquery.split(' ')[0].split('.');

2
js/theme.min.js vendored

File diff suppressed because one or more lines are too long

8713
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -27,29 +27,29 @@
},
"homepage": "https://understrap.com",
"dependencies": {
"bootstrap": "4.0.0-beta.3",
"bootstrap": "4.0.0",
"browser-sync": "^2.22.0",
"del": "^3.0.0",
"font-awesome": "^4.7.0",
"gulp": "^3.9.1",
"gulp-clean-css": "^3.9.1",
"gulp-clone": "^1.0.0",
"gulp-clone": "^1.1.4",
"gulp-concat": "^2.6.1",
"gulp-cssnano": "^2.1.2",
"gulp-ignore": "^2.0.2",
"gulp-imagemin": "^4.0.0",
"gulp-merge": "^0.1.1",
"gulp-plumber": "^1.1.0",
"gulp-plumber": "^1.2.0",
"gulp-rename": "^1.2.2",
"gulp-rimraf": "^0.2.1",
"gulp-rimraf": "^0.2.2",
"gulp-sass": "^3.1.0",
"gulp-sequence": "^0.4.6",
"gulp-sourcemaps": "2.6.2",
"gulp-uglify": "^3.0.0",
"gulp-watch": "^4.3.11",
"merge2": "^1.2.0",
"popper.js": "^1.12.9",
"run-sequence": "^2.2.0",
"merge2": "^1.2.1",
"popper.js": "^1.13.0",
"run-sequence": "^2.2.1",
"undescores-for-npm": "^1.0.0"
}
}

View File

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

View File

@ -1,6 +1,6 @@
/*!
* Bootstrap v4.0.0-beta.3 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Bootstrap v4.0.0 (https://getbootstrap.com)
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@ -53,7 +53,7 @@ function _inheritsLoose(subClass, superClass) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): util.js
* Bootstrap (v4.0.0): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -65,7 +65,7 @@ var Util = function ($$$1) {
* ------------------------------------------------------------------------
*/
var transition = false;
var MAX_UID = 1000000; // shoutout AngusCroll (https://goo.gl/pxwQGp)
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
function toType(obj) {
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
@ -86,7 +86,7 @@ var Util = function ($$$1) {
}
function transitionEndTest() {
if (window.QUnit) {
if (typeof window !== 'undefined' && window.QUnit) {
return false;
}
@ -120,7 +120,7 @@ var Util = function ($$$1) {
}
function escapeId(selector) {
// we escape IDs in case of special selectors (selector = '#myId:something')
// 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;
@ -147,7 +147,7 @@ var Util = function ($$$1) {
if (!selector || selector === '#') {
selector = element.getAttribute('href') || '';
} // if it's an ID
} // If it's an ID
if (selector.charAt(0) === '#') {
@ -157,7 +157,7 @@ var Util = function ($$$1) {
try {
var $selector = $$$1(document).find(selector);
return $selector.length > 0 ? selector : null;
} catch (error) {
} catch (err) {
return null;
}
},
@ -193,7 +193,7 @@ var Util = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): alert.js
* Bootstrap (v4.0.0): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -205,7 +205,7 @@ var Alert = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'alert';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -236,12 +236,12 @@ var Alert = function ($$$1) {
function () {
function Alert(element) {
this._element = element;
} // getters
} // Getters
var _proto = Alert.prototype;
// public
// Public
_proto.close = function close(element) {
element = element || this._element;
@ -259,7 +259,7 @@ var Alert = function ($$$1) {
_proto.dispose = function dispose() {
$$$1.removeData(this._element, DATA_KEY);
this._element = null;
}; // private
}; // Private
_proto._getRootElement = function _getRootElement(element) {
@ -301,7 +301,7 @@ var Alert = function ($$$1) {
_proto._destroyElement = function _destroyElement(element) {
$$$1(element).detach().trigger(Event.CLOSED).remove();
}; // static
}; // Static
Alert._jQueryInterface = function _jQueryInterface(config) {
@ -365,7 +365,7 @@ var Alert = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): button.js
* Bootstrap (v4.0.0): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -377,7 +377,7 @@ var Button = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'button';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.button';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -410,12 +410,12 @@ var Button = function ($$$1) {
function () {
function Button(element) {
this._element = element;
} // getters
} // Getters
var _proto = Button.prototype;
// public
// Public
_proto.toggle = function toggle() {
var triggerChangeEvent = true;
var addAriaPressed = true;
@ -463,7 +463,7 @@ var Button = function ($$$1) {
_proto.dispose = function dispose() {
$$$1.removeData(this._element, DATA_KEY);
this._element = null;
}; // static
}; // Static
Button._jQueryInterface = function _jQueryInterface(config) {
@ -528,7 +528,7 @@ var Button = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): carousel.js
* Bootstrap (v4.0.0): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -540,7 +540,7 @@ var Carousel = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'carousel';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -623,12 +623,12 @@ var Carousel = function ($$$1) {
this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
this._addEventListeners();
} // getters
} // Getters
var _proto = Carousel.prototype;
// public
// Public
_proto.next = function next() {
if (!this._isSliding) {
this._slide(Direction.NEXT);
@ -718,7 +718,7 @@ var Carousel = function ($$$1) {
this._isSliding = null;
this._activeElement = null;
this._indicatorsElement = null;
}; // private
}; // Private
_proto._getConfig = function _getConfig(config) {
@ -744,7 +744,7 @@ var Carousel = function ($$$1) {
});
if ('ontouchstart' in document.documentElement) {
// if it's a touch-enabled device, mouseenter/leave are fired as
// If it's a touch-enabled device, mouseenter/leave are fired as
// part of the mouse compatibility events on first tap - the carousel
// would stop cycling until user tapped out of it;
// here, we listen for touchend, explicitly pause the carousel
@ -783,7 +783,6 @@ var Carousel = function ($$$1) {
break;
default:
return;
}
};
@ -875,7 +874,7 @@ var Carousel = function ($$$1) {
}
if (!activeElement || !nextElement) {
// some weirdness is happening, so we bail
// Some weirdness is happening, so we bail
return;
}
@ -917,7 +916,7 @@ var Carousel = function ($$$1) {
if (isCycling) {
this.cycle();
}
}; // static
}; // Static
Carousel._jQueryInterface = function _jQueryInterface(config) {
@ -941,7 +940,7 @@ var Carousel = function ($$$1) {
data.to(config);
} else if (typeof action === 'string') {
if (typeof data[action] === 'undefined') {
throw new Error("No method named \"" + action + "\"");
throw new TypeError("No method named \"" + action + "\"");
}
data[action]();
@ -1028,7 +1027,7 @@ var Carousel = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): collapse.js
* Bootstrap (v4.0.0): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1040,7 +1039,7 @@ var Collapse = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'collapse';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -1097,6 +1096,8 @@ var Collapse = function ($$$1) {
var selector = Util.getSelectorFromElement(elem);
if (selector !== null && $$$1(selector).filter(element).length > 0) {
this._selector = selector;
this._triggerArray.push(elem);
}
}
@ -1110,12 +1111,12 @@ var Collapse = function ($$$1) {
if (this._config.toggle) {
this.toggle();
}
} // getters
} // Getters
var _proto = Collapse.prototype;
// public
// Public
_proto.toggle = function toggle() {
if ($$$1(this._element).hasClass(ClassName.SHOW)) {
this.hide();
@ -1135,15 +1136,15 @@ var Collapse = function ($$$1) {
var activesData;
if (this._parent) {
actives = $$$1.makeArray($$$1(this._parent).children().children(Selector.ACTIVES));
actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
if (!actives.length) {
if (actives.length === 0) {
actives = null;
}
}
if (actives) {
activesData = $$$1(actives).data(DATA_KEY);
activesData = $$$1(actives).not(this._selector).data(DATA_KEY);
if (activesData && activesData._isTransitioning) {
return;
@ -1158,7 +1159,7 @@ var Collapse = function ($$$1) {
}
if (actives) {
Collapse._jQueryInterface.call($$$1(actives), 'hide');
Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');
if (!activesData) {
$$$1(actives).data(DATA_KEY, null);
@ -1170,7 +1171,7 @@ var Collapse = function ($$$1) {
$$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
this._element.style[dimension] = 0;
if (this._triggerArray.length) {
if (this._triggerArray.length > 0) {
$$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
}
@ -1216,7 +1217,7 @@ var Collapse = function ($$$1) {
Util.reflow(this._element);
$$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
if (this._triggerArray.length) {
if (this._triggerArray.length > 0) {
for (var i = 0; i < this._triggerArray.length; i++) {
var trigger = this._triggerArray[i];
var selector = Util.getSelectorFromElement(trigger);
@ -1260,12 +1261,12 @@ var Collapse = function ($$$1) {
this._element = null;
this._triggerArray = null;
this._isTransitioning = null;
}; // private
}; // Private
_proto._getConfig = function _getConfig(config) {
config = _extends({}, Default, config);
config.toggle = Boolean(config.toggle); // coerce string values
config.toggle = Boolean(config.toggle); // Coerce string values
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
@ -1282,7 +1283,7 @@ var Collapse = function ($$$1) {
var parent = null;
if (Util.isElement(this._config.parent)) {
parent = this._config.parent; // it's a jQuery object
parent = this._config.parent; // It's a jQuery object
if (typeof this._config.parent.jquery !== 'undefined') {
parent = this._config.parent[0];
@ -1302,11 +1303,11 @@ var Collapse = function ($$$1) {
if (element) {
var isOpen = $$$1(element).hasClass(ClassName.SHOW);
if (triggerArray.length) {
if (triggerArray.length > 0) {
$$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
}
}
}; // static
}; // Static
Collapse._getTargetFromElement = function _getTargetFromElement(element) {
@ -1332,7 +1333,7 @@ var Collapse = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -3830,7 +3831,7 @@ Popper.Defaults = Defaults;
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): dropdown.js
* Bootstrap (v4.0.0): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -3842,7 +3843,7 @@ var Dropdown = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'dropdown';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -3925,12 +3926,12 @@ var Dropdown = function ($$$1) {
this._inNavbar = this._detectNavbar();
this._addEventListeners();
} // getters
} // Getters
var _proto = Dropdown.prototype;
// public
// Public
_proto.toggle = function toggle() {
if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
return;
@ -3963,10 +3964,10 @@ var Dropdown = function ($$$1) {
* Popper - https://popper.js.org
*/
if (typeof Popper === 'undefined') {
throw new Error('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 element = this._element; // For dropup with alignment we use the parent as popper container
if ($$$1(parent).hasClass(ClassName.DROPUP)) {
if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
@ -3982,13 +3983,13 @@ var Dropdown = function ($$$1) {
}
this._popper = new Popper(element, 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;
// only needed because of broken event delegation on iOS
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
if ('ontouchstart' in document.documentElement && !$$$1(parent).closest(Selector.NAVBAR_NAV).length) {
if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
$$$1('body').children().on('mouseover', null, $$$1.noop);
}
@ -4019,7 +4020,7 @@ var Dropdown = function ($$$1) {
if (this._popper !== null) {
this._popper.scheduleUpdate();
}
}; // private
}; // Private
_proto._addEventListeners = function _addEventListeners() {
@ -4101,7 +4102,7 @@ var Dropdown = function ($$$1) {
}
};
return popperConfig;
}; // static
}; // Static
Dropdown._jQueryInterface = function _jQueryInterface(config) {
@ -4117,7 +4118,7 @@ var Dropdown = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -4159,7 +4160,7 @@ var Dropdown = function ($$$1) {
if (hideEvent.isDefaultPrevented()) {
continue;
} // if this is a touch-enabled device we remove the extra
} // If this is a touch-enabled device we remove the extra
// empty mouseover listeners we added for iOS support
@ -4182,7 +4183,8 @@ var Dropdown = function ($$$1) {
}
return parent || element.parentNode;
};
}; // eslint-disable-next-line complexity
Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
// If not input/textarea:
@ -4219,19 +4221,19 @@ var Dropdown = function ($$$1) {
var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
if (!items.length) {
if (items.length === 0) {
return;
}
var index = items.indexOf(event.target);
if (event.which === ARROW_UP_KEYCODE && index > 0) {
// up
// Up
index--;
}
if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
// down
// Down
index++;
}
@ -4294,7 +4296,7 @@ var Dropdown = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): modal.js
* Bootstrap (v4.0.0): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -4306,7 +4308,7 @@ var Modal = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'modal';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -4375,12 +4377,12 @@ var Modal = function ($$$1) {
this._ignoreBackdropClick = false;
this._originalBodyPadding = 0;
this._scrollbarWidth = 0;
} // getters
} // Getters
var _proto = Modal.prototype;
// public
// Public
_proto.toggle = function toggle(relatedTarget) {
return this._isShown ? this.hide() : this.show(relatedTarget);
};
@ -4493,7 +4495,7 @@ var Modal = function ($$$1) {
_proto.handleUpdate = function handleUpdate() {
this._adjustDialog();
}; // private
}; // Private
_proto._getConfig = function _getConfig(config) {
@ -4508,7 +4510,7 @@ var Modal = function ($$$1) {
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// don't move modals dom position
// Don't move modal's DOM position
document.body.appendChild(this._element);
}
@ -4551,9 +4553,9 @@ var Modal = function ($$$1) {
_proto._enforceFocus = function _enforceFocus() {
var _this4 = this;
$$$1(document).off(Event.FOCUSIN) // guard against infinite focus loop
$$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
.on(Event.FOCUSIN, function (event) {
if (document !== event.target && _this4._element !== event.target && !$$$1(_this4._element).has(event.target).length) {
if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
_this4._element.focus();
}
});
@ -4774,7 +4776,7 @@ var Modal = function ($$$1) {
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
return scrollbarWidth;
}; // static
}; // Static
Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
@ -4790,7 +4792,7 @@ var Modal = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config](relatedTarget);
@ -4838,7 +4840,7 @@ var Modal = function ($$$1) {
var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
if (showEvent.isDefaultPrevented()) {
// only register focus restorer if modal will actually get shown
// Only register focus restorer if modal will actually get shown
return;
}
@ -4870,7 +4872,7 @@ var Modal = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): tooltip.js
* Bootstrap (v4.0.0): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -4882,7 +4884,7 @@ var Tooltip = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'tooltip';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -4971,7 +4973,7 @@ var Tooltip = function ($$$1) {
* Popper - https://popper.js.org
*/
if (typeof Popper === 'undefined') {
throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)');
throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
} // private
@ -4979,19 +4981,19 @@ var Tooltip = function ($$$1) {
this._timeout = 0;
this._hoverState = '';
this._activeTrigger = {};
this._popper = null; // protected
this._popper = null; // Protected
this.element = element;
this.config = this._getConfig(config);
this.tip = null;
this._setListeners();
} // getters
} // Getters
var _proto = Tooltip.prototype;
// public
// Public
_proto.enable = function enable() {
this._isEnabled = true;
};
@ -5126,7 +5128,7 @@ var Tooltip = function ($$$1) {
_this._handlePopperPlacementChange(data);
}
});
$$$1(tip).addClass(ClassName.SHOW); // if this is a touch-enabled device we add extra
$$$1(tip).addClass(ClassName.SHOW); // 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
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
@ -5189,7 +5191,7 @@ var Tooltip = function ($$$1) {
return;
}
$$$1(tip).removeClass(ClassName.SHOW); // if this is a touch-enabled device we remove the extra
$$$1(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra
// empty mouseover listeners we added for iOS support
if ('ontouchstart' in document.documentElement) {
@ -5213,7 +5215,7 @@ var Tooltip = function ($$$1) {
if (this._popper !== null) {
this._popper.scheduleUpdate();
}
}; // protected
}; // Protected
_proto.isWithContent = function isWithContent() {
@ -5239,7 +5241,7 @@ var Tooltip = function ($$$1) {
var html = this.config.html;
if (typeof content === 'object' && (content.nodeType || content.jquery)) {
// content is a DOM node or a jQuery
// Content is a DOM node or a jQuery
if (html) {
if (!$$$1(content).parent().is($element)) {
$element.empty().append(content);
@ -5260,7 +5262,7 @@ var Tooltip = function ($$$1) {
}
return title;
}; // private
}; // Private
_proto._getAttachment = function _getAttachment(placement) {
@ -5449,7 +5451,7 @@ var Tooltip = function ($$$1) {
this.hide();
this.show();
this.config.animation = initConfigAnimation;
}; // static
}; // Static
Tooltip._jQueryInterface = function _jQueryInterface(config) {
@ -5469,7 +5471,7 @@ var Tooltip = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -5535,7 +5537,7 @@ var Tooltip = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): popover.js
* Bootstrap (v4.0.0): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -5547,7 +5549,7 @@ var Popover = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'popover';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -5600,7 +5602,7 @@ var Popover = function ($$$1) {
var _proto = Popover.prototype;
// overrides
// Overrides
_proto.isWithContent = function isWithContent() {
return this.getTitle() || this._getContent();
};
@ -5615,7 +5617,7 @@ var Popover = function ($$$1) {
};
_proto.setContent = function setContent() {
var $tip = $$$1(this.getTipElement()); // we use append for html objects to maintain js events
var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events
this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
@ -5627,7 +5629,7 @@ var Popover = function ($$$1) {
this.setElementContent($tip.find(Selector.CONTENT), content);
$tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
}; // private
}; // Private
_proto._getContent = function _getContent() {
@ -5641,7 +5643,7 @@ var Popover = function ($$$1) {
if (tabClass !== null && tabClass.length > 0) {
$tip.removeClass(tabClass.join(''));
}
}; // static
}; // Static
Popover._jQueryInterface = function _jQueryInterface(config) {
@ -5661,7 +5663,7 @@ var Popover = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -5671,7 +5673,7 @@ var Popover = function ($$$1) {
_createClass(Popover, null, [{
key: "VERSION",
// getters
// Getters
get: function get() {
return VERSION;
}
@ -5728,7 +5730,7 @@ var Popover = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): scrollspy.js
* Bootstrap (v4.0.0): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -5740,7 +5742,7 @@ var ScrollSpy = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'scrollspy';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -5807,16 +5809,16 @@ var ScrollSpy = function ($$$1) {
this.refresh();
this._process();
} // getters
} // Getters
var _proto = ScrollSpy.prototype;
// public
// Public
_proto.refresh = function refresh() {
var _this2 = this;
var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
this._offsets = [];
@ -5835,7 +5837,7 @@ var ScrollSpy = function ($$$1) {
var targetBCR = target.getBoundingClientRect();
if (targetBCR.width || targetBCR.height) {
// todo (fat): remove sketch reliance on jQuery position/offset
// TODO (fat): remove sketch reliance on jQuery position/offset
return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
}
}
@ -5863,7 +5865,7 @@ var ScrollSpy = function ($$$1) {
this._targets = null;
this._activeTarget = null;
this._scrollHeight = null;
}; // private
}; // Private
_proto._getConfig = function _getConfig(config) {
@ -5967,7 +5969,7 @@ var ScrollSpy = function ($$$1) {
_proto._clear = function _clear() {
$$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
}; // static
}; // Static
ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
@ -5983,7 +5985,7 @@ var ScrollSpy = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -6039,7 +6041,7 @@ var ScrollSpy = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): tab.js
* Bootstrap (v4.0.0): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -6051,7 +6053,7 @@ var Tab = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'tab';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -6092,12 +6094,12 @@ var Tab = function ($$$1) {
function () {
function Tab(element) {
this._element = element;
} // getters
} // Getters
var _proto = Tab.prototype;
// public
// Public
_proto.show = function show() {
var _this = this;
@ -6160,7 +6162,7 @@ var Tab = function ($$$1) {
_proto.dispose = function dispose() {
$$$1.removeData(this._element, DATA_KEY);
this._element = null;
}; // private
}; // Private
_proto._activate = function _activate(element, container, callback) {
@ -6224,7 +6226,7 @@ var Tab = function ($$$1) {
if (callback) {
callback();
}
}; // static
}; // Static
Tab._jQueryInterface = function _jQueryInterface(config) {
@ -6239,7 +6241,7 @@ var Tab = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -6293,7 +6295,7 @@ var Tab = function ($$$1) {
(function ($$$1) {
if (typeof $$$1 === 'undefined') {
throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
}
var version = $$$1.fn.jquery.split(' ')[0].split('.');

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*!
* Bootstrap v4.0.0-beta.3 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Bootstrap v4.0.0 (https://getbootstrap.com)
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
@ -54,7 +54,7 @@ function _inheritsLoose(subClass, superClass) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): util.js
* Bootstrap (v4.0.0): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -66,7 +66,7 @@ var Util = function ($$$1) {
* ------------------------------------------------------------------------
*/
var transition = false;
var MAX_UID = 1000000; // shoutout AngusCroll (https://goo.gl/pxwQGp)
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
function toType(obj) {
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
@ -87,7 +87,7 @@ var Util = function ($$$1) {
}
function transitionEndTest() {
if (window.QUnit) {
if (typeof window !== 'undefined' && window.QUnit) {
return false;
}
@ -121,7 +121,7 @@ var Util = function ($$$1) {
}
function escapeId(selector) {
// we escape IDs in case of special selectors (selector = '#myId:something')
// 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;
@ -148,7 +148,7 @@ var Util = function ($$$1) {
if (!selector || selector === '#') {
selector = element.getAttribute('href') || '';
} // if it's an ID
} // If it's an ID
if (selector.charAt(0) === '#') {
@ -158,7 +158,7 @@ var Util = function ($$$1) {
try {
var $selector = $$$1(document).find(selector);
return $selector.length > 0 ? selector : null;
} catch (error) {
} catch (err) {
return null;
}
},
@ -194,7 +194,7 @@ var Util = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): alert.js
* Bootstrap (v4.0.0): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -206,7 +206,7 @@ var Alert = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'alert';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -237,12 +237,12 @@ var Alert = function ($$$1) {
function () {
function Alert(element) {
this._element = element;
} // getters
} // Getters
var _proto = Alert.prototype;
// public
// Public
_proto.close = function close(element) {
element = element || this._element;
@ -260,7 +260,7 @@ var Alert = function ($$$1) {
_proto.dispose = function dispose() {
$$$1.removeData(this._element, DATA_KEY);
this._element = null;
}; // private
}; // Private
_proto._getRootElement = function _getRootElement(element) {
@ -302,7 +302,7 @@ var Alert = function ($$$1) {
_proto._destroyElement = function _destroyElement(element) {
$$$1(element).detach().trigger(Event.CLOSED).remove();
}; // static
}; // Static
Alert._jQueryInterface = function _jQueryInterface(config) {
@ -366,7 +366,7 @@ var Alert = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): button.js
* Bootstrap (v4.0.0): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -378,7 +378,7 @@ var Button = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'button';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.button';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -411,12 +411,12 @@ var Button = function ($$$1) {
function () {
function Button(element) {
this._element = element;
} // getters
} // Getters
var _proto = Button.prototype;
// public
// Public
_proto.toggle = function toggle() {
var triggerChangeEvent = true;
var addAriaPressed = true;
@ -464,7 +464,7 @@ var Button = function ($$$1) {
_proto.dispose = function dispose() {
$$$1.removeData(this._element, DATA_KEY);
this._element = null;
}; // static
}; // Static
Button._jQueryInterface = function _jQueryInterface(config) {
@ -529,7 +529,7 @@ var Button = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): carousel.js
* Bootstrap (v4.0.0): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -541,7 +541,7 @@ var Carousel = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'carousel';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -624,12 +624,12 @@ var Carousel = function ($$$1) {
this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
this._addEventListeners();
} // getters
} // Getters
var _proto = Carousel.prototype;
// public
// Public
_proto.next = function next() {
if (!this._isSliding) {
this._slide(Direction.NEXT);
@ -719,7 +719,7 @@ var Carousel = function ($$$1) {
this._isSliding = null;
this._activeElement = null;
this._indicatorsElement = null;
}; // private
}; // Private
_proto._getConfig = function _getConfig(config) {
@ -745,7 +745,7 @@ var Carousel = function ($$$1) {
});
if ('ontouchstart' in document.documentElement) {
// if it's a touch-enabled device, mouseenter/leave are fired as
// If it's a touch-enabled device, mouseenter/leave are fired as
// part of the mouse compatibility events on first tap - the carousel
// would stop cycling until user tapped out of it;
// here, we listen for touchend, explicitly pause the carousel
@ -784,7 +784,6 @@ var Carousel = function ($$$1) {
break;
default:
return;
}
};
@ -876,7 +875,7 @@ var Carousel = function ($$$1) {
}
if (!activeElement || !nextElement) {
// some weirdness is happening, so we bail
// Some weirdness is happening, so we bail
return;
}
@ -918,7 +917,7 @@ var Carousel = function ($$$1) {
if (isCycling) {
this.cycle();
}
}; // static
}; // Static
Carousel._jQueryInterface = function _jQueryInterface(config) {
@ -942,7 +941,7 @@ var Carousel = function ($$$1) {
data.to(config);
} else if (typeof action === 'string') {
if (typeof data[action] === 'undefined') {
throw new Error("No method named \"" + action + "\"");
throw new TypeError("No method named \"" + action + "\"");
}
data[action]();
@ -1029,7 +1028,7 @@ var Carousel = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): collapse.js
* Bootstrap (v4.0.0): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1041,7 +1040,7 @@ var Collapse = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'collapse';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -1098,6 +1097,8 @@ var Collapse = function ($$$1) {
var selector = Util.getSelectorFromElement(elem);
if (selector !== null && $$$1(selector).filter(element).length > 0) {
this._selector = selector;
this._triggerArray.push(elem);
}
}
@ -1111,12 +1112,12 @@ var Collapse = function ($$$1) {
if (this._config.toggle) {
this.toggle();
}
} // getters
} // Getters
var _proto = Collapse.prototype;
// public
// Public
_proto.toggle = function toggle() {
if ($$$1(this._element).hasClass(ClassName.SHOW)) {
this.hide();
@ -1136,15 +1137,15 @@ var Collapse = function ($$$1) {
var activesData;
if (this._parent) {
actives = $$$1.makeArray($$$1(this._parent).children().children(Selector.ACTIVES));
actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
if (!actives.length) {
if (actives.length === 0) {
actives = null;
}
}
if (actives) {
activesData = $$$1(actives).data(DATA_KEY);
activesData = $$$1(actives).not(this._selector).data(DATA_KEY);
if (activesData && activesData._isTransitioning) {
return;
@ -1159,7 +1160,7 @@ var Collapse = function ($$$1) {
}
if (actives) {
Collapse._jQueryInterface.call($$$1(actives), 'hide');
Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');
if (!activesData) {
$$$1(actives).data(DATA_KEY, null);
@ -1171,7 +1172,7 @@ var Collapse = function ($$$1) {
$$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
this._element.style[dimension] = 0;
if (this._triggerArray.length) {
if (this._triggerArray.length > 0) {
$$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
}
@ -1217,7 +1218,7 @@ var Collapse = function ($$$1) {
Util.reflow(this._element);
$$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
if (this._triggerArray.length) {
if (this._triggerArray.length > 0) {
for (var i = 0; i < this._triggerArray.length; i++) {
var trigger = this._triggerArray[i];
var selector = Util.getSelectorFromElement(trigger);
@ -1261,12 +1262,12 @@ var Collapse = function ($$$1) {
this._element = null;
this._triggerArray = null;
this._isTransitioning = null;
}; // private
}; // Private
_proto._getConfig = function _getConfig(config) {
config = _extends({}, Default, config);
config.toggle = Boolean(config.toggle); // coerce string values
config.toggle = Boolean(config.toggle); // Coerce string values
Util.typeCheckConfig(NAME, config, DefaultType);
return config;
@ -1283,7 +1284,7 @@ var Collapse = function ($$$1) {
var parent = null;
if (Util.isElement(this._config.parent)) {
parent = this._config.parent; // it's a jQuery object
parent = this._config.parent; // It's a jQuery object
if (typeof this._config.parent.jquery !== 'undefined') {
parent = this._config.parent[0];
@ -1303,11 +1304,11 @@ var Collapse = function ($$$1) {
if (element) {
var isOpen = $$$1(element).hasClass(ClassName.SHOW);
if (triggerArray.length) {
if (triggerArray.length > 0) {
$$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
}
}
}; // static
}; // Static
Collapse._getTargetFromElement = function _getTargetFromElement(element) {
@ -1333,7 +1334,7 @@ var Collapse = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -1396,7 +1397,7 @@ var Collapse = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): dropdown.js
* Bootstrap (v4.0.0): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1408,7 +1409,7 @@ var Dropdown = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'dropdown';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -1491,12 +1492,12 @@ var Dropdown = function ($$$1) {
this._inNavbar = this._detectNavbar();
this._addEventListeners();
} // getters
} // Getters
var _proto = Dropdown.prototype;
// public
// Public
_proto.toggle = function toggle() {
if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
return;
@ -1529,10 +1530,10 @@ var Dropdown = function ($$$1) {
* Popper - https://popper.js.org
*/
if (typeof Popper === 'undefined') {
throw new Error('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 element = this._element; // For dropup with alignment we use the parent as popper container
if ($$$1(parent).hasClass(ClassName.DROPUP)) {
if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
@ -1548,13 +1549,13 @@ var Dropdown = function ($$$1) {
}
this._popper = new Popper(element, 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;
// only needed because of broken event delegation on iOS
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
if ('ontouchstart' in document.documentElement && !$$$1(parent).closest(Selector.NAVBAR_NAV).length) {
if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
$$$1('body').children().on('mouseover', null, $$$1.noop);
}
@ -1585,7 +1586,7 @@ var Dropdown = function ($$$1) {
if (this._popper !== null) {
this._popper.scheduleUpdate();
}
}; // private
}; // Private
_proto._addEventListeners = function _addEventListeners() {
@ -1667,7 +1668,7 @@ var Dropdown = function ($$$1) {
}
};
return popperConfig;
}; // static
}; // Static
Dropdown._jQueryInterface = function _jQueryInterface(config) {
@ -1683,7 +1684,7 @@ var Dropdown = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -1725,7 +1726,7 @@ var Dropdown = function ($$$1) {
if (hideEvent.isDefaultPrevented()) {
continue;
} // if this is a touch-enabled device we remove the extra
} // If this is a touch-enabled device we remove the extra
// empty mouseover listeners we added for iOS support
@ -1748,7 +1749,8 @@ var Dropdown = function ($$$1) {
}
return parent || element.parentNode;
};
}; // eslint-disable-next-line complexity
Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
// If not input/textarea:
@ -1785,19 +1787,19 @@ var Dropdown = function ($$$1) {
var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
if (!items.length) {
if (items.length === 0) {
return;
}
var index = items.indexOf(event.target);
if (event.which === ARROW_UP_KEYCODE && index > 0) {
// up
// Up
index--;
}
if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
// down
// Down
index++;
}
@ -1860,7 +1862,7 @@ var Dropdown = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): modal.js
* Bootstrap (v4.0.0): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -1872,7 +1874,7 @@ var Modal = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'modal';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -1941,12 +1943,12 @@ var Modal = function ($$$1) {
this._ignoreBackdropClick = false;
this._originalBodyPadding = 0;
this._scrollbarWidth = 0;
} // getters
} // Getters
var _proto = Modal.prototype;
// public
// Public
_proto.toggle = function toggle(relatedTarget) {
return this._isShown ? this.hide() : this.show(relatedTarget);
};
@ -2059,7 +2061,7 @@ var Modal = function ($$$1) {
_proto.handleUpdate = function handleUpdate() {
this._adjustDialog();
}; // private
}; // Private
_proto._getConfig = function _getConfig(config) {
@ -2074,7 +2076,7 @@ var Modal = function ($$$1) {
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
// don't move modals dom position
// Don't move modal's DOM position
document.body.appendChild(this._element);
}
@ -2117,9 +2119,9 @@ var Modal = function ($$$1) {
_proto._enforceFocus = function _enforceFocus() {
var _this4 = this;
$$$1(document).off(Event.FOCUSIN) // guard against infinite focus loop
$$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
.on(Event.FOCUSIN, function (event) {
if (document !== event.target && _this4._element !== event.target && !$$$1(_this4._element).has(event.target).length) {
if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
_this4._element.focus();
}
});
@ -2340,7 +2342,7 @@ var Modal = function ($$$1) {
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
return scrollbarWidth;
}; // static
}; // Static
Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
@ -2356,7 +2358,7 @@ var Modal = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config](relatedTarget);
@ -2404,7 +2406,7 @@ var Modal = function ($$$1) {
var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
if (showEvent.isDefaultPrevented()) {
// only register focus restorer if modal will actually get shown
// Only register focus restorer if modal will actually get shown
return;
}
@ -2436,7 +2438,7 @@ var Modal = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): tooltip.js
* Bootstrap (v4.0.0): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -2448,7 +2450,7 @@ var Tooltip = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'tooltip';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -2537,7 +2539,7 @@ var Tooltip = function ($$$1) {
* Popper - https://popper.js.org
*/
if (typeof Popper === 'undefined') {
throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)');
throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
} // private
@ -2545,19 +2547,19 @@ var Tooltip = function ($$$1) {
this._timeout = 0;
this._hoverState = '';
this._activeTrigger = {};
this._popper = null; // protected
this._popper = null; // Protected
this.element = element;
this.config = this._getConfig(config);
this.tip = null;
this._setListeners();
} // getters
} // Getters
var _proto = Tooltip.prototype;
// public
// Public
_proto.enable = function enable() {
this._isEnabled = true;
};
@ -2692,7 +2694,7 @@ var Tooltip = function ($$$1) {
_this._handlePopperPlacementChange(data);
}
});
$$$1(tip).addClass(ClassName.SHOW); // if this is a touch-enabled device we add extra
$$$1(tip).addClass(ClassName.SHOW); // 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
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
@ -2755,7 +2757,7 @@ var Tooltip = function ($$$1) {
return;
}
$$$1(tip).removeClass(ClassName.SHOW); // if this is a touch-enabled device we remove the extra
$$$1(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra
// empty mouseover listeners we added for iOS support
if ('ontouchstart' in document.documentElement) {
@ -2779,7 +2781,7 @@ var Tooltip = function ($$$1) {
if (this._popper !== null) {
this._popper.scheduleUpdate();
}
}; // protected
}; // Protected
_proto.isWithContent = function isWithContent() {
@ -2805,7 +2807,7 @@ var Tooltip = function ($$$1) {
var html = this.config.html;
if (typeof content === 'object' && (content.nodeType || content.jquery)) {
// content is a DOM node or a jQuery
// Content is a DOM node or a jQuery
if (html) {
if (!$$$1(content).parent().is($element)) {
$element.empty().append(content);
@ -2826,7 +2828,7 @@ var Tooltip = function ($$$1) {
}
return title;
}; // private
}; // Private
_proto._getAttachment = function _getAttachment(placement) {
@ -3015,7 +3017,7 @@ var Tooltip = function ($$$1) {
this.hide();
this.show();
this.config.animation = initConfigAnimation;
}; // static
}; // Static
Tooltip._jQueryInterface = function _jQueryInterface(config) {
@ -3035,7 +3037,7 @@ var Tooltip = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -3101,7 +3103,7 @@ var Tooltip = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): popover.js
* Bootstrap (v4.0.0): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -3113,7 +3115,7 @@ var Popover = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'popover';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = "." + DATA_KEY;
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
@ -3166,7 +3168,7 @@ var Popover = function ($$$1) {
var _proto = Popover.prototype;
// overrides
// Overrides
_proto.isWithContent = function isWithContent() {
return this.getTitle() || this._getContent();
};
@ -3181,7 +3183,7 @@ var Popover = function ($$$1) {
};
_proto.setContent = function setContent() {
var $tip = $$$1(this.getTipElement()); // we use append for html objects to maintain js events
var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events
this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
@ -3193,7 +3195,7 @@ var Popover = function ($$$1) {
this.setElementContent($tip.find(Selector.CONTENT), content);
$tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
}; // private
}; // Private
_proto._getContent = function _getContent() {
@ -3207,7 +3209,7 @@ var Popover = function ($$$1) {
if (tabClass !== null && tabClass.length > 0) {
$tip.removeClass(tabClass.join(''));
}
}; // static
}; // Static
Popover._jQueryInterface = function _jQueryInterface(config) {
@ -3227,7 +3229,7 @@ var Popover = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -3237,7 +3239,7 @@ var Popover = function ($$$1) {
_createClass(Popover, null, [{
key: "VERSION",
// getters
// Getters
get: function get() {
return VERSION;
}
@ -3294,7 +3296,7 @@ var Popover = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): scrollspy.js
* Bootstrap (v4.0.0): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -3306,7 +3308,7 @@ var ScrollSpy = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'scrollspy';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -3373,16 +3375,16 @@ var ScrollSpy = function ($$$1) {
this.refresh();
this._process();
} // getters
} // Getters
var _proto = ScrollSpy.prototype;
// public
// Public
_proto.refresh = function refresh() {
var _this2 = this;
var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
this._offsets = [];
@ -3401,7 +3403,7 @@ var ScrollSpy = function ($$$1) {
var targetBCR = target.getBoundingClientRect();
if (targetBCR.width || targetBCR.height) {
// todo (fat): remove sketch reliance on jQuery position/offset
// TODO (fat): remove sketch reliance on jQuery position/offset
return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
}
}
@ -3429,7 +3431,7 @@ var ScrollSpy = function ($$$1) {
this._targets = null;
this._activeTarget = null;
this._scrollHeight = null;
}; // private
}; // Private
_proto._getConfig = function _getConfig(config) {
@ -3533,7 +3535,7 @@ var ScrollSpy = function ($$$1) {
_proto._clear = function _clear() {
$$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
}; // static
}; // Static
ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
@ -3549,7 +3551,7 @@ var ScrollSpy = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -3605,7 +3607,7 @@ var ScrollSpy = function ($$$1) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta.3): tab.js
* Bootstrap (v4.0.0): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@ -3617,7 +3619,7 @@ var Tab = function ($$$1) {
* ------------------------------------------------------------------------
*/
var NAME = 'tab';
var VERSION = '4.0.0-beta.3';
var VERSION = '4.0.0';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@ -3658,12 +3660,12 @@ var Tab = function ($$$1) {
function () {
function Tab(element) {
this._element = element;
} // getters
} // Getters
var _proto = Tab.prototype;
// public
// Public
_proto.show = function show() {
var _this = this;
@ -3726,7 +3728,7 @@ var Tab = function ($$$1) {
_proto.dispose = function dispose() {
$$$1.removeData(this._element, DATA_KEY);
this._element = null;
}; // private
}; // Private
_proto._activate = function _activate(element, container, callback) {
@ -3790,7 +3792,7 @@ var Tab = function ($$$1) {
if (callback) {
callback();
}
}; // static
}; // Static
Tab._jQueryInterface = function _jQueryInterface(config) {
@ -3805,7 +3807,7 @@ var Tab = function ($$$1) {
if (typeof config === 'string') {
if (typeof data[config] === 'undefined') {
throw new Error("No method named \"" + config + "\"");
throw new TypeError("No method named \"" + config + "\"");
}
data[config]();
@ -3859,7 +3861,7 @@ var Tab = function ($$$1) {
(function ($$$1) {
if (typeof $$$1 === 'undefined') {
throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
}
var version = $$$1.fn.jquery.split(' ')[0].split('.');

File diff suppressed because one or more lines are too long

View File

@ -46,6 +46,6 @@
@each $color, $value in $theme-colors {
.alert-#{$color} {
@include alert-variant(theme-color-level($color, -10), theme-color-level($color, -9), theme-color-level($color, 6));
@include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));
}
}

View File

@ -34,12 +34,12 @@
}
// Opinionated: add "hand" cursor to non-disabled .btn elements
&:not([disabled]):not(.disabled) {
&:not(:disabled):not(.disabled) {
cursor: pointer;
}
&:not([disabled]):not(.disabled):active,
&:not([disabled]):not(.disabled).active {
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active {
background-image: none;
@include box-shadow($btn-active-box-shadow);
@ -51,7 +51,7 @@
// Future-proof disabling of clicks on `<a>` elements
a.btn.disabled,
fieldset[disabled] a.btn {
fieldset:disabled a.btn {
pointer-events: none;
}
@ -68,11 +68,7 @@ fieldset[disabled] a.btn {
@each $color, $value in $theme-colors {
.btn-outline-#{$color} {
@if $color == "light" {
@include button-outline-variant($value, $gray-900);
} @else {
@include button-outline-variant($value, $white);
}
@include button-outline-variant($value);
}
}

View File

@ -14,7 +14,7 @@
}
// Opinionated: add "hand" cursor to non-disabled .close elements
&:not([disabled]):not(.disabled) {
&:not(:disabled):not(.disabled) {
cursor: pointer;
}
}

View File

@ -117,6 +117,15 @@
background-image: $custom-checkbox-indicator-icon-indeterminate;
}
}
.custom-control-input:disabled {
&:checked ~ .custom-control-label::before {
background-color: $custom-control-indicator-checked-disabled-bg;
}
&:indeterminate ~ .custom-control-label::before {
background-color: $custom-control-indicator-checked-disabled-bg;
}
}
}
// Radios
@ -136,6 +145,12 @@
background-image: $custom-radio-indicator-icon-checked;
}
}
.custom-control-input:disabled {
&:checked ~ .custom-control-label::before {
background-color: $custom-control-indicator-checked-disabled-bg;
}
}
}
@ -148,7 +163,7 @@
.custom-select {
display: inline-block;
width: 100%;
height: $input-height;
height: $custom-select-height;
padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;
line-height: $custom-select-line-height;
color: $custom-select-color;

View File

@ -11,9 +11,9 @@
align-items: stretch;
width: 100%;
.form-control,
.custom-select,
.custom-file {
> .form-control,
> .custom-select,
> .custom-file {
position: relative; // For focus state's z-index
flex: 1 1 auto;
// Add width 1% and flex-basis auto to ensure that button will not wrap out
@ -26,27 +26,29 @@
z-index: 3;
}
+ .form-control {
+ .form-control,
+ .custom-select,
+ .custom-file {
margin-left: -$input-border-width;
}
}
.form-control,
.custom-select {
> .form-control,
> .custom-select {
&:not(:last-child) { @include border-right-radius(0); }
&:not(:first-child) { @include border-left-radius(0); }
}
// Custom file inputs have more complex markup, thus requiring different
// border-radius overrides.
.custom-file {
> .custom-file {
display: flex;
align-items: center;
&:not(:last-child) .custom-file-control,
&:not(:last-child) .custom-file-control::before { @include border-right-radius(0); }
&:not(:first-child) .custom-file-control,
&:not(:first-child) .custom-file-control::before { @include border-left-radius(0); }
&:not(:last-child) .custom-file-label,
&:not(:last-child) .custom-file-label::before { @include border-right-radius(0); }
&:not(:first-child) .custom-file-label,
&:not(:first-child) .custom-file-label::before { @include border-left-radius(0); }
}
}
@ -60,7 +62,6 @@
.input-group-prepend,
.input-group-append {
display: flex;
align-items: center;
// Ensure buttons are always above inputs for more visually pleasing borders.
// This isn't needed for `.input-group-text` since it shares the same border-color
@ -88,6 +89,8 @@
// to prepend or append to an input.
.input-group-text {
display: flex;
align-items: center;
padding: $input-padding-y $input-padding-x;
margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
font-size: $font-size-base; // Match inputs

View File

@ -118,7 +118,7 @@
}
// Opinionated: add "hand" cursor to non-disabled .navbar-toggler elements
&:not([disabled]):not(.disabled) {
&:not(:disabled):not(.disabled) {
cursor: pointer;
}
}
@ -168,8 +168,8 @@
}
.nav-link {
padding-right: .5rem;
padding-left: .5rem;
padding-right: $navbar-nav-link-padding-x;
padding-left: $navbar-nav-link-padding-x;
}
}

View File

@ -14,16 +14,21 @@
background-color: $pagination-bg;
border: $pagination-border-width solid $pagination-border-color;
@include hover-focus {
&:hover {
color: $pagination-hover-color;
text-decoration: none;
background-color: $pagination-hover-bg;
border-color: $pagination-hover-border-color;
}
&:focus {
z-index: 2;
outline: 0;
box-shadow: $pagination-focus-box-shadow;
}
// Opinionated: add "hand" cursor to non-disabled .page-link elements
&:not([disabled]):not(.disabled) {
&:not(:disabled):not(.disabled) {
cursor: pointer;
}
}

View File

@ -8,13 +8,13 @@
// Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
// So reset our font and text properties to avoid inheriting weird values.
@include reset-text();
font-size: $font-size-sm;
font-size: $popover-font-size;
// Allow breaking very long words so they don't overflow the popover's bounds
word-wrap: break-word;
background-color: $popover-bg;
background-clip: padding-box;
border: $popover-border-width solid $popover-border-color;
@include border-radius($border-radius-lg);
@include border-radius($popover-border-radius);
@include box-shadow($popover-box-shadow);
.arrow {

View File

@ -20,10 +20,11 @@
box-shadow: none !important;
}
a,
a:visited {
a {
&:not(.btn) {
text-decoration: underline;
}
}
// Bootstrap specific; comment the following selector out
//a[href]::after {
@ -82,6 +83,19 @@
// Bootstrap specific changes start
// Specify a size and min-width to make printing closer across browsers.
// We don't set margin here because it breaks `size` in Chrome. We also
// don't use `!important` on `size` as it breaks in Chrome.
@page {
size: $print-page-size;
}
body {
min-width: $print-body-min-width !important;
}
.container {
min-width: $print-body-min-width !important;
}
// Bootstrap components
.navbar {
display: none;

View File

@ -279,29 +279,6 @@ svg:not(:root) {
}
// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.
//
// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11
// DON'T remove the click delay when `<meta name="viewport" content="width=device-width">` is present.
// However, they DO support removing the click delay via `touch-action: manipulation`.
// See:
// * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch
// * https://caniuse.com/#feat=css-touch-action
// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay
a,
area,
button,
[role="button"],
input:not([type="range"]),
label,
select,
summary,
textarea {
touch-action: manipulation;
}
//
// Tables
//

View File

@ -7,7 +7,7 @@
// Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
// So reset our font and text properties to avoid inheriting weird values.
@include reset-text();
font-size: $font-size-sm;
font-size: $tooltip-font-size;
// Allow breaking very long words so they don't overflow the tooltip's bounds
word-wrap: break-word;
opacity: 0;
@ -111,5 +111,5 @@
color: $tooltip-color;
text-align: center;
background-color: $tooltip-bg;
@include border-radius($border-radius);
@include border-radius($tooltip-border-radius);
}

View File

@ -15,7 +15,7 @@ $gray-200: #e9ecef !default;
$gray-300: #dee2e6 !default;
$gray-400: #ced4da !default;
$gray-500: #adb5bd !default;
$gray-600: #868e96 !default;
$gray-600: #6c757d !default;
$gray-700: #495057 !default;
$gray-800: #343a40 !default;
$gray-900: #212529 !default;
@ -103,7 +103,7 @@ $enable-rounded: true !default;
$enable-shadows: false !default;
$enable-gradients: false !default;
$enable-transitions: true !default;
$enable-hover-media-query: false !default;
$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS
$enable-grid-classes: true !default;
$enable-print-styles: true !default;
@ -114,23 +114,27 @@ $enable-print-styles: true !default;
// variables. Mostly focused on spacing.
// You can add more entries to the $spacers map, should you need more variation.
// stylelint-disable
$spacer: 1rem !default;
$spacers: (
$spacers: () !default;
$spacers: map-merge((
0: 0,
1: ($spacer * .25),
2: ($spacer * .5),
3: $spacer,
4: ($spacer * 1.5),
5: ($spacer * 3)
) !default;
), $spacers);
// This variable affects the `.h-*` and `.w-*` classes.
$sizes: (
$sizes: () !default;
$sizes: map-merge((
25: 25%,
50: 50%,
75: 75%,
100: 100%
) !default;
), $sizes);
// stylelint-enable
// Body
//
@ -201,7 +205,7 @@ $line-height-lg: 1.5 !default;
$line-height-sm: 1.5 !default;
$border-width: 1px !default;
$border-color: $gray-200 !default;
$border-color: $gray-300 !default;
$border-radius: .25rem !default;
$border-radius-lg: .3rem !default;
@ -323,7 +327,7 @@ $input-btn-padding-x: .75rem !default;
$input-btn-line-height: $line-height-base !default;
$input-btn-focus-width: .2rem !default;
$input-btn-focus-color: rgba(theme-color("primary"), .25) !default;
$input-btn-focus-color: rgba($component-active-bg, .25) !default;
$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;
$input-btn-padding-y-sm: .25rem !default;
@ -401,14 +405,14 @@ $input-border-radius-lg: $border-radius-lg !default;
$input-border-radius-sm: $border-radius-sm !default;
$input-focus-bg: $input-bg !default;
$input-focus-border-color: lighten(theme-color("primary"), 25%) !default;
$input-focus-border-color: lighten($component-active-bg, 25%) !default;
$input-focus-color: $input-color !default;
$input-focus-width: $input-btn-focus-width !default;
$input-focus-box-shadow: $input-btn-focus-box-shadow !default;
$input-placeholder-color: $gray-600 !default;
$input-height-border: $input-btn-border-width * 2 !default;
$input-height-border: $input-border-width * 2 !default;
$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;
$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;
@ -447,20 +451,21 @@ $custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !
$custom-control-indicator-disabled-bg: $gray-200 !default;
$custom-control-label-disabled-color: $gray-600 !default;
$custom-control-indicator-checked-color: $white !default;
$custom-control-indicator-checked-bg: theme-color("primary") !default;
$custom-control-indicator-checked-color: $component-active-color !default;
$custom-control-indicator-checked-bg: $component-active-bg !default;
$custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;
$custom-control-indicator-checked-box-shadow: none !default;
$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;
$custom-control-indicator-active-color: $white !default;
$custom-control-indicator-active-bg: lighten(theme-color("primary"), 35%) !default;
$custom-control-indicator-active-color: $component-active-color !default;
$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;
$custom-control-indicator-active-box-shadow: none !default;
$custom-checkbox-indicator-border-radius: $border-radius !default;
$custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default;
$custom-checkbox-indicator-indeterminate-bg: theme-color("primary") !default;
$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
$custom-checkbox-indicator-icon-indeterminate: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E"), "#", "%23") !default;
$custom-checkbox-indicator-indeterminate-box-shadow: none !default;
@ -485,7 +490,7 @@ $custom-select-border-color: $input-border-color !default;
$custom-select-border-radius: $border-radius !default;
$custom-select-focus-border-color: $input-focus-border-color !default;
$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), $input-btn-focus-box-shadow !default;
$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;
$custom-select-font-size-sm: 75% !default;
$custom-select-height-sm: $input-height-sm !default;
@ -585,6 +590,8 @@ $nav-pills-link-active-bg: $component-active-bg !default;
$navbar-padding-y: ($spacer / 2) !default;
$navbar-padding-x: $spacer !default;
$navbar-nav-link-padding-x: .5rem !default;
$navbar-brand-font-size: $font-size-lg !default;
// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;
@ -625,13 +632,15 @@ $pagination-bg: $white !default;
$pagination-border-width: $border-width !default;
$pagination-border-color: $gray-300 !default;
$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;
$pagination-hover-color: $link-hover-color !default;
$pagination-hover-bg: $gray-200 !default;
$pagination-hover-border-color: $gray-300 !default;
$pagination-active-color: $white !default;
$pagination-active-bg: theme-color("primary") !default;
$pagination-active-border-color: theme-color("primary") !default;
$pagination-active-color: $component-active-color !default;
$pagination-active-bg: $component-active-bg !default;
$pagination-active-border-color: $pagination-active-bg !default;
$pagination-disabled-color: $gray-600 !default;
$pagination-disabled-bg: $white !default;
@ -667,9 +676,11 @@ $card-columns-margin: $card-spacer-y !default;
// Tooltips
$tooltip-font-size: $font-size-sm !default;
$tooltip-max-width: 200px !default;
$tooltip-color: $white !default;
$tooltip-bg: $black !default;
$tooltip-border-radius: $border-radius !default;
$tooltip-opacity: .9 !default;
$tooltip-padding-y: .25rem !default;
$tooltip-padding-x: .5rem !default;
@ -682,10 +693,12 @@ $tooltip-arrow-color: $tooltip-bg !default;
// Popovers
$popover-font-size: $font-size-sm !default;
$popover-bg: $white !default;
$popover-max-width: 276px !default;
$popover-border-width: $border-width !default;
$popover-border-color: rgba($black, .2) !default;
$popover-border-radius: $border-radius-lg !default;
$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;
$popover-header-bg: darken($popover-bg, 3%) !default;
@ -760,6 +773,10 @@ $alert-border-radius: $border-radius !default;
$alert-link-font-weight: $font-weight-bold !default;
$alert-border-width: $border-width !default;
$alert-bg-level: -10 !default;
$alert-border-level: -9 !default;
$alert-color-level: 6 !default;
// Progress bars
@ -870,3 +887,8 @@ $kbd-bg: $gray-900 !default;
$pre-color: $gray-900 !default;
$pre-scrollable-max-height: 340px !default;
// Printing
$print-page-size: a3 !default;
$print-body-min-width: map-get($grid-breakpoints, "lg") !default;

View File

@ -1,7 +1,7 @@
/*!
* Bootstrap Grid v4.0.0-beta.3 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Bootstrap Grid v4.0.0 (https://getbootstrap.com)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
@ -23,13 +23,10 @@ html {
@import "functions";
@import "variables";
//
// Grid mixins
//
@import "mixins/breakpoints";
@import "mixins/grid-framework";
@import "mixins/grid";
@import "grid";
@import "utilities/display";
@import "utilities/flex";

View File

@ -1,7 +1,7 @@
/*!
* Bootstrap Reboot v4.0.0-beta.3 (https://getbootstrap.com)
* Copyright 2011-2017 The Bootstrap Authors
* Copyright 2011-2017 Twitter, Inc.
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/

View File

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

View File

@ -29,15 +29,17 @@
}
// Maximum breakpoint width. Null for the largest (last) breakpoint.
// The maximum value is calculated as the minimum of the next one less 0.01px
// The maximum value is calculated as the minimum of the next one less 0.02px
// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.
// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max
// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.
// See https://bugs.webkit.org/show_bug.cgi?id=178261
//
// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
// 767px
// 767.98px
@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {
$next: breakpoint-next($name, $breakpoints);
@return if($next, breakpoint-min($next, $breakpoints) - .01px, null);
@return if($next, breakpoint-min($next, $breakpoints) - .02px, null);
}
// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.
@ -88,11 +90,11 @@
@content;
}
} @else if $max == null {
@include media-breakpoint-up($lower) {
@include media-breakpoint-up($lower, $breakpoints) {
@content;
}
} @else if $min == null {
@include media-breakpoint-down($upper) {
@include media-breakpoint-down($upper, $breakpoints) {
@content;
}
}
@ -110,11 +112,11 @@
@content;
}
} @else if $max == null {
@include media-breakpoint-up($name) {
@include media-breakpoint-up($name, $breakpoints) {
@content;
}
} @else if $min == null {
@include media-breakpoint-down($name) {
@include media-breakpoint-down($name, $breakpoints) {
@content;
}
}

View File

@ -28,12 +28,13 @@
// Disabled comes first so active can properly restyle
&.disabled,
&:disabled {
color: color-yiq($background);
background-color: $background;
border-color: $border;
}
&:not([disabled]):not(.disabled):active,
&:not([disabled]):not(.disabled).active,
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active,
.show > &.dropdown-toggle {
color: color-yiq($active-background);
background-color: $active-background;
@ -53,14 +54,14 @@
}
}
@mixin button-outline-variant($color, $color-hover: #fff, $active-background: $color, $active-border: $color) {
@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {
color: $color;
background-color: transparent;
background-image: none;
border-color: $color;
&:hover {
color: color-yiq($color);
color: $color-hover;
background-color: $active-background;
border-color: $active-border;
}
@ -76,16 +77,23 @@
background-color: transparent;
}
&:not([disabled]):not(.disabled):active,
&:not([disabled]):not(.disabled).active,
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active,
.show > &.dropdown-toggle {
color: color-yiq($color-hover);
color: color-yiq($active-background);
background-color: $active-background;
border-color: $active-border;
&:focus {
// Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows and $btn-active-box-shadow != none {
box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);
} @else {
box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
}
}
}
}
// Button sizes
@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {

View File

@ -27,7 +27,6 @@
@mixin form-validation-state($state, $color) {
.#{$state}-feedback {
display: none;
width: 100%;
@ -41,7 +40,7 @@
top: 100%;
z-index: 5;
display: none;
width: 250px;
max-width: 100%; // Contain to parent when possible
padding: .5rem;
margin-top: .1rem;
font-size: .875rem;
@ -75,6 +74,11 @@
~ .form-check-label {
color: $color;
}
~ .#{$state}-feedback,
~ .#{$state}-tooltip {
display: block;
}
}
}

View File

@ -46,14 +46,12 @@
}
}
.order#{$infix}-first {
order: -1;
}
.order#{$infix}-first { order: -1; }
@for $i from 1 through $columns {
.order#{$infix}-#{$i} {
order: $i;
}
.order#{$infix}-last { order: $columns + 1; }
@for $i from 0 through $columns {
.order#{$infix}-#{$i} { order: $i; }
}
// `$columns - 1` because offsetting by the width of an entire row isn't possible

View File

@ -1,61 +1,39 @@
// stylelint-disable indentation
@mixin hover {
// TODO: re-enable along with mq4-hover-shim
// @if $enable-hover-media-query {
// // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover
// // Currently shimmed by https://github.com/twbs/mq4-hover-shim
// @media (hover: hover) {
// &:hover { @content }
// }
// }
// @else {
&:hover { @content; }
// }
}
// Hover mixin and `$enable-hover-media-query` are deprecated.
//
// Origally added during our alphas and maintained during betas, this mixin was
// designed to prevent `:hover` stickiness on iOSan issue where hover styles
// would persist after initial touch.
//
// For backward compatibility, we've kept these mixins and updated them to
// always return their regular psuedo-classes instead of a shimmed media query.
//
// Issue: https://github.com/twbs/bootstrap/issues/25195
@mixin hover {
&:hover { @content; }
}
@mixin hover-focus {
@if $enable-hover-media-query {
&:hover,
&:focus {
@content;
}
@include hover { @content; }
} @else {
&:focus,
&:hover {
@content;
}
}
}
@mixin plain-hover-focus {
@if $enable-hover-media-query {
&,
&:hover,
&:focus {
@content;
}
@include hover { @content; }
} @else {
&,
&:focus,
&:hover {
@content;
}
}
}
@mixin hover-focus-active {
@if $enable-hover-media-query {
&:hover,
&:focus,
&:active {
@content;
}
@include hover { @content; }
} @else {
&:focus,
&:active,
&:hover {
@content;
}
}
}

View File

@ -4,12 +4,8 @@
.list-group-item-#{$state} {
color: $color;
background-color: $background;
}
a.list-group-item-#{$state},
button.list-group-item-#{$state} {
color: $color;
&.list-group-item-action {
@include hover-focus {
color: $color;
background-color: darken($background, 5%);
@ -22,3 +18,4 @@
}
}
}
}

View File

@ -5,6 +5,11 @@
//
.border { border: $border-width solid $border-color !important; }
.border-top { border-top: $border-width solid $border-color !important; }
.border-right { border-right: $border-width solid $border-color !important; }
.border-bottom { border-bottom: $border-width solid $border-color !important; }
.border-left { border-left: $border-width solid $border-color !important; }
.border-0 { border: 0 !important; }
.border-top-0 { border-top: 0 !important; }
.border-right-0 { border-right: 0 !important; }

View File

@ -25,32 +25,14 @@
// Utilities for toggling `display` in print
//
.d-print-block {
display: none !important;
@media print {
display: block !important;
}
}
.d-print-inline {
display: none !important;
@media print {
display: inline !important;
}
}
.d-print-inline-block {
display: none !important;
@media print {
display: inline-block !important;
}
}
.d-print-none {
@media print {
display: none !important;
}
.d-print-none { display: none !important; }
.d-print-inline { display: inline !important; }
.d-print-inline-block { display: inline-block !important; }
.d-print-block { display: block !important; }
.d-print-table { display: table !important; }
.d-print-table-row { display: table-row !important; }
.d-print-table-cell { display: table-cell !important; }
.d-print-flex { display: flex !important; }
.d-print-inline-flex { display: inline-flex !important; }
}