Update to Bootstrap 4.1 and rebuild
This commit is contained in:
parent
882cd19601
commit
79b418afb7
|
@ -1,2 +1,2 @@
|
|||
|
||||
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWVkaXRvci1zdHlsZS5jc3MiLCJzb3VyY2VzIjpbImN1c3RvbS1lZGl0b3Itc3R5bGUuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvL0FkZCB5b3VyIG93biBlZGl0b3Igc3R5bGVzIGhlcmUgb3IgY29tbWVudCBvdXQgdGhlIG5leHQgbGluZSBpZiB5b3Ugd2FudCB0byBwdWxsIGluIHRoZSB3aG9sZSBCb290c3RyYXAgc3R1ZmZcbi8vQGltcG9ydCBcInRoZW1lXCI7ICJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0= */
|
||||
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJjdXN0b20tZWRpdG9yLXN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbXX0= */
|
||||
|
|
3135
css/theme.css
3135
css/theme.css
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
179
js/popper.js
179
js/popper.js
|
@ -1,6 +1,6 @@
|
|||
/**!
|
||||
* @fileOverview Kickass library to create and place poppers near their reference elements.
|
||||
* @version 1.13.0
|
||||
* @version 1.14.3
|
||||
* @license
|
||||
* Copyright (c) 2016 Federico Zivolo and contributors
|
||||
*
|
||||
|
@ -29,6 +29,7 @@
|
|||
}(this, (function () { 'use strict';
|
||||
|
||||
var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
|
||||
|
||||
var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
|
||||
var timeoutDuration = 0;
|
||||
for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
|
||||
|
@ -148,13 +149,33 @@ function getScrollParent(element) {
|
|||
overflowX = _getStyleComputedProp.overflowX,
|
||||
overflowY = _getStyleComputedProp.overflowY;
|
||||
|
||||
if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {
|
||||
if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {
|
||||
return element;
|
||||
}
|
||||
|
||||
return getScrollParent(getParentNode(element));
|
||||
}
|
||||
|
||||
var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);
|
||||
var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);
|
||||
|
||||
/**
|
||||
* Determines if the browser is Internet Explorer
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @param {Number} version to check
|
||||
* @returns {Boolean} isIE
|
||||
*/
|
||||
function isIE(version) {
|
||||
if (version === 11) {
|
||||
return isIE11;
|
||||
}
|
||||
if (version === 10) {
|
||||
return isIE10;
|
||||
}
|
||||
return isIE11 || isIE10;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the offset parent of the given element
|
||||
* @method
|
||||
|
@ -163,16 +184,23 @@ function getScrollParent(element) {
|
|||
* @returns {Element} offset parent
|
||||
*/
|
||||
function getOffsetParent(element) {
|
||||
if (!element) {
|
||||
return document.documentElement;
|
||||
}
|
||||
|
||||
var noOffsetParent = isIE(10) ? document.body : null;
|
||||
|
||||
// NOTE: 1 DOM access here
|
||||
var offsetParent = element && element.offsetParent;
|
||||
var offsetParent = element.offsetParent;
|
||||
// Skip hidden elements which don't have an offsetParent
|
||||
while (offsetParent === noOffsetParent && element.nextElementSibling) {
|
||||
offsetParent = (element = element.nextElementSibling).offsetParent;
|
||||
}
|
||||
|
||||
var nodeName = offsetParent && offsetParent.nodeName;
|
||||
|
||||
if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {
|
||||
if (element) {
|
||||
return element.ownerDocument.documentElement;
|
||||
}
|
||||
|
||||
return document.documentElement;
|
||||
return element ? element.ownerDocument.documentElement : document.documentElement;
|
||||
}
|
||||
|
||||
// .offsetParent will return the closest TD or TABLE in case
|
||||
|
@ -314,29 +342,14 @@ function getBordersSize(styles, axis) {
|
|||
return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tells if you are running Internet Explorer 10
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @returns {Boolean} isIE10
|
||||
*/
|
||||
var isIE10 = undefined;
|
||||
|
||||
var isIE10$1 = function () {
|
||||
if (isIE10 === undefined) {
|
||||
isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;
|
||||
}
|
||||
return isIE10;
|
||||
};
|
||||
|
||||
function getSize(axis, body, html, computedStyle) {
|
||||
return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);
|
||||
return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);
|
||||
}
|
||||
|
||||
function getWindowSizes() {
|
||||
var body = document.body;
|
||||
var html = document.documentElement;
|
||||
var computedStyle = isIE10$1() && getComputedStyle(html);
|
||||
var computedStyle = isIE(10) && getComputedStyle(html);
|
||||
|
||||
return {
|
||||
height: getSize('Height', body, html, computedStyle),
|
||||
|
@ -428,8 +441,8 @@ function getBoundingClientRect(element) {
|
|||
// IE10 10 FIX: Please, don't ask, the element isn't
|
||||
// considered in DOM in some circumstances...
|
||||
// This isn't reproducible in IE10 compatibility mode of IE11
|
||||
if (isIE10$1()) {
|
||||
try {
|
||||
if (isIE(10)) {
|
||||
rect = element.getBoundingClientRect();
|
||||
var scrollTop = getScroll(element, 'top');
|
||||
var scrollLeft = getScroll(element, 'left');
|
||||
|
@ -437,10 +450,10 @@ function getBoundingClientRect(element) {
|
|||
rect.left += scrollLeft;
|
||||
rect.bottom += scrollTop;
|
||||
rect.right += scrollLeft;
|
||||
} catch (err) {}
|
||||
} else {
|
||||
rect = element.getBoundingClientRect();
|
||||
}
|
||||
} catch (e) {}
|
||||
|
||||
var result = {
|
||||
left: rect.left,
|
||||
|
@ -472,7 +485,9 @@ function getBoundingClientRect(element) {
|
|||
}
|
||||
|
||||
function getOffsetRectRelativeToArbitraryNode(children, parent) {
|
||||
var isIE10 = isIE10$1();
|
||||
var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
||||
|
||||
var isIE10 = isIE(10);
|
||||
var isHTML = parent.nodeName === 'HTML';
|
||||
var childrenRect = getBoundingClientRect(children);
|
||||
var parentRect = getBoundingClientRect(parent);
|
||||
|
@ -482,6 +497,11 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
|
|||
var borderTopWidth = parseFloat(styles.borderTopWidth, 10);
|
||||
var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
|
||||
|
||||
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
|
||||
if (fixedPosition && parent.nodeName === 'HTML') {
|
||||
parentRect.top = Math.max(parentRect.top, 0);
|
||||
parentRect.left = Math.max(parentRect.left, 0);
|
||||
}
|
||||
var offsets = getClientRect({
|
||||
top: childrenRect.top - parentRect.top - borderTopWidth,
|
||||
left: childrenRect.left - parentRect.left - borderLeftWidth,
|
||||
|
@ -509,7 +529,7 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
|
|||
offsets.marginLeft = marginLeft;
|
||||
}
|
||||
|
||||
if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {
|
||||
if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {
|
||||
offsets = includeScroll(offsets, parent);
|
||||
}
|
||||
|
||||
|
@ -517,13 +537,15 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
|
|||
}
|
||||
|
||||
function getViewportOffsetRectRelativeToArtbitraryNode(element) {
|
||||
var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
||||
|
||||
var html = element.ownerDocument.documentElement;
|
||||
var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);
|
||||
var width = Math.max(html.clientWidth, window.innerWidth || 0);
|
||||
var height = Math.max(html.clientHeight, window.innerHeight || 0);
|
||||
|
||||
var scrollTop = getScroll(html);
|
||||
var scrollLeft = getScroll(html, 'left');
|
||||
var scrollTop = !excludeScroll ? getScroll(html) : 0;
|
||||
var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;
|
||||
|
||||
var offset = {
|
||||
top: scrollTop - relativeOffset.top + relativeOffset.marginTop,
|
||||
|
@ -554,6 +576,26 @@ function isFixed(element) {
|
|||
return isFixed(getParentNode(element));
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the first parent of an element that has a transformed property defined
|
||||
* @method
|
||||
* @memberof Popper.Utils
|
||||
* @argument {Element} element
|
||||
* @returns {Element} first transformed parent or documentElement
|
||||
*/
|
||||
|
||||
function getFixedPositionOffsetParent(element) {
|
||||
// This check is needed to avoid errors in case one of the elements isn't defined for any reason
|
||||
if (!element || !element.parentElement || isIE()) {
|
||||
return document.documentElement;
|
||||
}
|
||||
var el = element.parentElement;
|
||||
while (el && getStyleComputedProperty(el, 'transform') === 'none') {
|
||||
el = el.parentElement;
|
||||
}
|
||||
return el || document.documentElement;
|
||||
}
|
||||
|
||||
/**
|
||||
* Computed the boundaries limits and return them
|
||||
* @method
|
||||
|
@ -562,16 +604,20 @@ function isFixed(element) {
|
|||
* @param {HTMLElement} reference
|
||||
* @param {number} padding
|
||||
* @param {HTMLElement} boundariesElement - Element used to define the boundaries
|
||||
* @param {Boolean} fixedPosition - Is in fixed position mode
|
||||
* @returns {Object} Coordinates of the boundaries
|
||||
*/
|
||||
function getBoundaries(popper, reference, padding, boundariesElement) {
|
||||
var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
||||
|
||||
// NOTE: 1 DOM access here
|
||||
|
||||
var boundaries = { top: 0, left: 0 };
|
||||
var offsetParent = findCommonOffsetParent(popper, reference);
|
||||
var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
|
||||
|
||||
// Handle viewport case
|
||||
if (boundariesElement === 'viewport') {
|
||||
boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);
|
||||
boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);
|
||||
} else {
|
||||
// Handle other cases based on DOM element used as boundaries
|
||||
var boundariesNode = void 0;
|
||||
|
@ -586,7 +632,7 @@ function getBoundaries(popper, reference, padding, boundariesElement) {
|
|||
boundariesNode = boundariesElement;
|
||||
}
|
||||
|
||||
var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);
|
||||
var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);
|
||||
|
||||
// In case of HTML, we need a different computation
|
||||
if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
|
||||
|
@ -687,11 +733,14 @@ function computeAutoPlacement(placement, refRect, popper, reference, boundariesE
|
|||
* @param {Object} state
|
||||
* @param {Element} popper - the popper element
|
||||
* @param {Element} reference - the reference element (the popper will be relative to this)
|
||||
* @param {Element} fixedPosition - is in fixed position mode
|
||||
* @returns {Object} An object containing the offsets which will be applied to the popper
|
||||
*/
|
||||
function getReferenceOffsets(state, popper, reference) {
|
||||
var commonOffsetParent = findCommonOffsetParent(popper, reference);
|
||||
return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);
|
||||
var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
||||
|
||||
var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
|
||||
return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -864,7 +913,7 @@ function update() {
|
|||
};
|
||||
|
||||
// compute reference element offsets
|
||||
data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);
|
||||
data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);
|
||||
|
||||
// compute auto placement, store placement inside the data object,
|
||||
// modifiers will be able to edit `placement` if needed
|
||||
|
@ -874,9 +923,12 @@ function update() {
|
|||
// store the computed placement inside `originalPlacement`
|
||||
data.originalPlacement = data.placement;
|
||||
|
||||
data.positionFixed = this.options.positionFixed;
|
||||
|
||||
// compute the popper offsets
|
||||
data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);
|
||||
data.offsets.popper.position = 'absolute';
|
||||
|
||||
data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';
|
||||
|
||||
// run the modifiers
|
||||
data = runModifiers(this.modifiers, data);
|
||||
|
@ -916,7 +968,7 @@ function getSupportedPropertyName(property) {
|
|||
var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];
|
||||
var upperProp = property.charAt(0).toUpperCase() + property.slice(1);
|
||||
|
||||
for (var i = 0; i < prefixes.length - 1; i++) {
|
||||
for (var i = 0; i < prefixes.length; i++) {
|
||||
var prefix = prefixes[i];
|
||||
var toCheck = prefix ? '' + prefix + upperProp : property;
|
||||
if (typeof document.body.style[toCheck] !== 'undefined') {
|
||||
|
@ -937,9 +989,12 @@ function destroy() {
|
|||
// touch DOM only if `applyStyle` modifier is enabled
|
||||
if (isModifierEnabled(this.modifiers, 'applyStyle')) {
|
||||
this.popper.removeAttribute('x-placement');
|
||||
this.popper.style.left = '';
|
||||
this.popper.style.position = '';
|
||||
this.popper.style.top = '';
|
||||
this.popper.style.left = '';
|
||||
this.popper.style.right = '';
|
||||
this.popper.style.bottom = '';
|
||||
this.popper.style.willChange = '';
|
||||
this.popper.style[getSupportedPropertyName('transform')] = '';
|
||||
}
|
||||
|
||||
|
@ -1127,12 +1182,12 @@ function applyStyle(data) {
|
|||
* @method
|
||||
* @memberof Popper.modifiers
|
||||
* @param {HTMLElement} reference - The reference element used to position the popper
|
||||
* @param {HTMLElement} popper - The HTML element used as popper.
|
||||
* @param {HTMLElement} popper - The HTML element used as popper
|
||||
* @param {Object} options - Popper.js options
|
||||
*/
|
||||
function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {
|
||||
// compute reference element offsets
|
||||
var referenceOffsets = getReferenceOffsets(state, popper, reference);
|
||||
var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);
|
||||
|
||||
// compute auto placement, store placement inside the data object,
|
||||
// modifiers will be able to edit `placement` if needed
|
||||
|
@ -1143,7 +1198,7 @@ function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {
|
|||
|
||||
// Apply `position` to popper before anything else because
|
||||
// without the position applied we can't guarantee correct computations
|
||||
setStyles(popper, { position: 'absolute' });
|
||||
setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });
|
||||
|
||||
return options;
|
||||
}
|
||||
|
@ -1178,11 +1233,13 @@ function computeStyle(data, options) {
|
|||
position: popper.position
|
||||
};
|
||||
|
||||
// floor sides to avoid blurry text
|
||||
// Avoid blurry text by using full pixel integers.
|
||||
// For pixel-perfect positioning, top/bottom prefers rounded
|
||||
// values, while left/right prefers floored values.
|
||||
var offsets = {
|
||||
left: Math.floor(popper.left),
|
||||
top: Math.floor(popper.top),
|
||||
bottom: Math.floor(popper.bottom),
|
||||
top: Math.round(popper.top),
|
||||
bottom: Math.round(popper.bottom),
|
||||
right: Math.floor(popper.right)
|
||||
};
|
||||
|
||||
|
@ -1446,7 +1503,7 @@ function flip(data, options) {
|
|||
return data;
|
||||
}
|
||||
|
||||
var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);
|
||||
var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);
|
||||
|
||||
var placement = data.placement.split('-')[0];
|
||||
var placementOpposite = getOppositePlacement(placement);
|
||||
|
@ -1738,7 +1795,27 @@ function preventOverflow(data, options) {
|
|||
boundariesElement = getOffsetParent(boundariesElement);
|
||||
}
|
||||
|
||||
var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);
|
||||
// NOTE: DOM access here
|
||||
// resets the popper's position so that the document size can be calculated excluding
|
||||
// the size of the popper element itself
|
||||
var transformProp = getSupportedPropertyName('transform');
|
||||
var popperStyles = data.instance.popper.style; // assignment to help minification
|
||||
var top = popperStyles.top,
|
||||
left = popperStyles.left,
|
||||
transform = popperStyles[transformProp];
|
||||
|
||||
popperStyles.top = '';
|
||||
popperStyles.left = '';
|
||||
popperStyles[transformProp] = '';
|
||||
|
||||
var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);
|
||||
|
||||
// NOTE: DOM access here
|
||||
// restores the original style properties after the offsets have been computed
|
||||
popperStyles.top = top;
|
||||
popperStyles.left = left;
|
||||
popperStyles[transformProp] = transform;
|
||||
|
||||
options.boundaries = boundaries;
|
||||
|
||||
var order = options.priority;
|
||||
|
@ -2235,6 +2312,12 @@ var Defaults = {
|
|||
*/
|
||||
placement: 'bottom',
|
||||
|
||||
/**
|
||||
* Set this to true if you want popper to position it self in 'fixed' mode
|
||||
* @prop {Boolean} positionFixed=false
|
||||
*/
|
||||
positionFixed: false,
|
||||
|
||||
/**
|
||||
* Whether events (resize, scroll) are initially enabled
|
||||
* @prop {Boolean} eventsEnabled=true
|
||||
|
|
File diff suppressed because one or more lines are too long
316
js/theme.js
316
js/theme.js
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap v4.1.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
|
@ -28,22 +28,38 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|||
return Constructor;
|
||||
}
|
||||
|
||||
function _extends() {
|
||||
_extends = Object.assign || function (target) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i];
|
||||
function _defineProperty(obj, key, value) {
|
||||
if (key in obj) {
|
||||
Object.defineProperty(obj, key, {
|
||||
value: value,
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
writable: true
|
||||
});
|
||||
} else {
|
||||
obj[key] = value;
|
||||
}
|
||||
|
||||
for (var key in source) {
|
||||
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
||||
target[key] = source[key];
|
||||
return obj;
|
||||
}
|
||||
|
||||
function _objectSpread(target) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i] != null ? arguments[i] : {};
|
||||
var ownKeys = Object.keys(source);
|
||||
|
||||
if (typeof Object.getOwnPropertySymbols === 'function') {
|
||||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
|
||||
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
||||
}));
|
||||
}
|
||||
|
||||
ownKeys.forEach(function (key) {
|
||||
_defineProperty(target, key, source[key]);
|
||||
});
|
||||
}
|
||||
|
||||
return target;
|
||||
};
|
||||
|
||||
return _extends.apply(this, arguments);
|
||||
}
|
||||
|
||||
function _inheritsLoose(subClass, superClass) {
|
||||
|
@ -54,7 +70,7 @@ function _inheritsLoose(subClass, superClass) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): util.js
|
||||
* Bootstrap (v4.1.0): util.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -65,17 +81,18 @@ var Util = function ($$$1) {
|
|||
* Private TransitionEnd Helpers
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var transition = false;
|
||||
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||
var TRANSITION_END = 'transitionend';
|
||||
var MAX_UID = 1000000;
|
||||
var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||
|
||||
function toType(obj) {
|
||||
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
|
||||
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
||||
}
|
||||
|
||||
function getSpecialTransitionEndEvent() {
|
||||
return {
|
||||
bindType: transition.end,
|
||||
delegateType: transition.end,
|
||||
bindType: TRANSITION_END,
|
||||
delegateType: TRANSITION_END,
|
||||
handle: function handle(event) {
|
||||
if ($$$1(event.target).is(this)) {
|
||||
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
|
||||
|
@ -86,16 +103,6 @@ var Util = function ($$$1) {
|
|||
};
|
||||
}
|
||||
|
||||
function transitionEndTest() {
|
||||
if (typeof window !== 'undefined' && window.QUnit) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return {
|
||||
end: 'transitionend'
|
||||
};
|
||||
}
|
||||
|
||||
function transitionEndEmulator(duration) {
|
||||
var _this = this;
|
||||
|
||||
|
@ -112,20 +119,9 @@ var Util = function ($$$1) {
|
|||
}
|
||||
|
||||
function setTransitionEndSupport() {
|
||||
transition = transitionEndTest();
|
||||
$$$1.fn.emulateTransitionEnd = transitionEndEmulator;
|
||||
|
||||
if (Util.supportsTransitionEnd()) {
|
||||
$$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
|
||||
}
|
||||
}
|
||||
|
||||
function escapeId(selector) {
|
||||
// We escape IDs in case of special selectors (selector = '#myId:something')
|
||||
// $.escapeSelector does not exist in jQuery < 3
|
||||
selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
|
||||
return selector;
|
||||
}
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Public Util Api
|
||||
|
@ -148,11 +144,6 @@ var Util = function ($$$1) {
|
|||
|
||||
if (!selector || selector === '#') {
|
||||
selector = element.getAttribute('href') || '';
|
||||
} // If it's an ID
|
||||
|
||||
|
||||
if (selector.charAt(0) === '#') {
|
||||
selector = escapeId(selector);
|
||||
}
|
||||
|
||||
try {
|
||||
|
@ -162,14 +153,32 @@ var Util = function ($$$1) {
|
|||
return null;
|
||||
}
|
||||
},
|
||||
getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
|
||||
if (!element) {
|
||||
return 0;
|
||||
} // Get transition-duration of the element
|
||||
|
||||
|
||||
var transitionDuration = $$$1(element).css('transition-duration');
|
||||
var floatTransitionDuration = parseFloat(transitionDuration); // Return 0 if element or transition duration is not found
|
||||
|
||||
if (!floatTransitionDuration) {
|
||||
return 0;
|
||||
} // If multiple durations are defined, take the first
|
||||
|
||||
|
||||
transitionDuration = transitionDuration.split(',')[0];
|
||||
return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER;
|
||||
},
|
||||
reflow: function reflow(element) {
|
||||
return element.offsetHeight;
|
||||
},
|
||||
triggerTransitionEnd: function triggerTransitionEnd(element) {
|
||||
$$$1(element).trigger(transition.end);
|
||||
$$$1(element).trigger(TRANSITION_END);
|
||||
},
|
||||
// TODO: Remove in v5
|
||||
supportsTransitionEnd: function supportsTransitionEnd() {
|
||||
return Boolean(transition);
|
||||
return Boolean(TRANSITION_END);
|
||||
},
|
||||
isElement: function isElement(obj) {
|
||||
return (obj[0] || obj).nodeType;
|
||||
|
@ -194,7 +203,7 @@ var Util = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): alert.js
|
||||
* Bootstrap (v4.1.0): alert.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -206,12 +215,11 @@ var Alert = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'alert';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.alert';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var Selector = {
|
||||
DISMISS: '[data-dismiss="alert"]'
|
||||
};
|
||||
|
@ -289,15 +297,16 @@ var Alert = function ($$$1) {
|
|||
|
||||
$$$1(element).removeClass(ClassName.SHOW);
|
||||
|
||||
if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) {
|
||||
if (!$$$1(element).hasClass(ClassName.FADE)) {
|
||||
this._destroyElement(element);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(element);
|
||||
$$$1(element).one(Util.TRANSITION_END, function (event) {
|
||||
return _this._destroyElement(element, event);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
};
|
||||
|
||||
_proto._destroyElement = function _destroyElement(element) {
|
||||
|
@ -337,6 +346,7 @@ var Alert = function ($$$1) {
|
|||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Alert;
|
||||
}();
|
||||
/**
|
||||
|
@ -366,7 +376,7 @@ var Alert = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): button.js
|
||||
* Bootstrap (v4.1.0): button.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -378,7 +388,7 @@ var Button = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'button';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.button';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
|
@ -488,6 +498,7 @@ var Button = function ($$$1) {
|
|||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Button;
|
||||
}();
|
||||
/**
|
||||
|
@ -529,7 +540,7 @@ var Button = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): carousel.js
|
||||
* Bootstrap (v4.1.0): carousel.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -541,12 +552,11 @@ var Carousel = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'carousel';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.carousel';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 600;
|
||||
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
|
||||
|
||||
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
|
||||
|
@ -655,7 +665,7 @@ var Carousel = function ($$$1) {
|
|||
this._isPaused = true;
|
||||
}
|
||||
|
||||
if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
|
||||
if ($$$1(this._element).find(Selector.NEXT_PREV)[0]) {
|
||||
Util.triggerTransitionEnd(this._element);
|
||||
this.cycle(true);
|
||||
}
|
||||
|
@ -723,7 +733,7 @@ var Carousel = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
return config;
|
||||
};
|
||||
|
@ -894,11 +904,12 @@ var Carousel = function ($$$1) {
|
|||
to: nextElementIndex
|
||||
});
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) {
|
||||
if ($$$1(this._element).hasClass(ClassName.SLIDE)) {
|
||||
$$$1(nextElement).addClass(orderClassName);
|
||||
Util.reflow(nextElement);
|
||||
$$$1(activeElement).addClass(directionalClassName);
|
||||
$$$1(nextElement).addClass(directionalClassName);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
|
||||
$$$1(activeElement).one(Util.TRANSITION_END, function () {
|
||||
$$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
|
||||
$$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
|
||||
|
@ -906,7 +917,7 @@ var Carousel = function ($$$1) {
|
|||
setTimeout(function () {
|
||||
return $$$1(_this3._element).trigger(slidEvent);
|
||||
}, 0);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
$$$1(activeElement).removeClass(ClassName.ACTIVE);
|
||||
$$$1(nextElement).addClass(ClassName.ACTIVE);
|
||||
|
@ -924,10 +935,10 @@ var Carousel = function ($$$1) {
|
|||
return this.each(function () {
|
||||
var data = $$$1(this).data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Default, $$$1(this).data());
|
||||
var _config = _objectSpread({}, Default, $$$1(this).data());
|
||||
|
||||
if (typeof config === 'object') {
|
||||
_config = _extends({}, _config, config);
|
||||
_config = _objectSpread({}, _config, config);
|
||||
}
|
||||
|
||||
var action = typeof config === 'string' ? config : _config.slide;
|
||||
|
@ -965,7 +976,8 @@ var Carousel = function ($$$1) {
|
|||
return;
|
||||
}
|
||||
|
||||
var config = _extends({}, $$$1(target).data(), $$$1(this).data());
|
||||
var config = _objectSpread({}, $$$1(target).data(), $$$1(this).data());
|
||||
|
||||
var slideIndex = this.getAttribute('data-slide-to');
|
||||
|
||||
if (slideIndex) {
|
||||
|
@ -992,6 +1004,7 @@ var Carousel = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Carousel;
|
||||
}();
|
||||
/**
|
||||
|
@ -1028,7 +1041,7 @@ var Carousel = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): collapse.js
|
||||
* Bootstrap (v4.1.0): collapse.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1040,12 +1053,11 @@ var Collapse = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'collapse';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.collapse';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 600;
|
||||
var Default = {
|
||||
toggle: true,
|
||||
parent: ''
|
||||
|
@ -1187,14 +1199,10 @@ var Collapse = function ($$$1) {
|
|||
$$$1(_this._element).trigger(Event.SHOWN);
|
||||
};
|
||||
|
||||
if (!Util.supportsTransitionEnd()) {
|
||||
complete();
|
||||
return;
|
||||
}
|
||||
|
||||
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
|
||||
var scrollSize = "scroll" + capitalizedDimension;
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
this._element.style[dimension] = this._element[scrollSize] + "px";
|
||||
};
|
||||
|
||||
|
@ -1242,13 +1250,8 @@ var Collapse = function ($$$1) {
|
|||
};
|
||||
|
||||
this._element.style[dimension] = '';
|
||||
|
||||
if (!Util.supportsTransitionEnd()) {
|
||||
complete();
|
||||
return;
|
||||
}
|
||||
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
};
|
||||
|
||||
_proto.setTransitioning = function setTransitioning(isTransitioning) {
|
||||
|
@ -1266,7 +1269,7 @@ var Collapse = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
config.toggle = Boolean(config.toggle); // Coerce string values
|
||||
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
|
@ -1321,7 +1324,7 @@ var Collapse = function ($$$1) {
|
|||
var $this = $$$1(this);
|
||||
var data = $this.data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);
|
||||
var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config);
|
||||
|
||||
if (!data && _config.toggle && /show|hide/.test(config)) {
|
||||
_config.toggle = false;
|
||||
|
@ -1353,6 +1356,7 @@ var Collapse = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Collapse;
|
||||
}();
|
||||
/**
|
||||
|
@ -1397,7 +1401,7 @@ var Collapse = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): dropdown.js
|
||||
* Bootstrap (v4.1.0): dropdown.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1409,7 +1413,7 @@ var Dropdown = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'dropdown';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.dropdown';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
|
@ -1452,7 +1456,7 @@ var Dropdown = function ($$$1) {
|
|||
FORM_CHILD: '.dropdown form',
|
||||
MENU: '.dropdown-menu',
|
||||
NAVBAR_NAV: '.navbar-nav',
|
||||
VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
|
||||
VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
|
||||
};
|
||||
var AttachmentMap = {
|
||||
TOP: 'top-start',
|
||||
|
@ -1467,12 +1471,16 @@ var Dropdown = function ($$$1) {
|
|||
var Default = {
|
||||
offset: 0,
|
||||
flip: true,
|
||||
boundary: 'scrollParent'
|
||||
boundary: 'scrollParent',
|
||||
reference: 'toggle',
|
||||
display: 'dynamic'
|
||||
};
|
||||
var DefaultType = {
|
||||
offset: '(number|string|function)',
|
||||
flip: 'boolean',
|
||||
boundary: '(string|element)'
|
||||
boundary: '(string|element)',
|
||||
reference: '(string|element)',
|
||||
display: 'string'
|
||||
/**
|
||||
* ------------------------------------------------------------------------
|
||||
* Class Definition
|
||||
|
@ -1533,11 +1541,15 @@ var Dropdown = function ($$$1) {
|
|||
throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
|
||||
}
|
||||
|
||||
var element = this._element; // For dropup with alignment we use the parent as popper container
|
||||
var referenceElement = this._element;
|
||||
|
||||
if ($$$1(parent).hasClass(ClassName.DROPUP)) {
|
||||
if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
|
||||
element = parent;
|
||||
if (this._config.reference === 'parent') {
|
||||
referenceElement = parent;
|
||||
} else if (Util.isElement(this._config.reference)) {
|
||||
referenceElement = this._config.reference; // Check if it's jQuery element
|
||||
|
||||
if (typeof this._config.reference.jquery !== 'undefined') {
|
||||
referenceElement = this._config.reference[0];
|
||||
}
|
||||
} // If boundary is not `scrollParent`, then set position to `static`
|
||||
// to allow the menu to "escape" the scroll parent's boundaries
|
||||
|
@ -1548,7 +1560,7 @@ var Dropdown = function ($$$1) {
|
|||
$$$1(parent).addClass(ClassName.POSITION_STATIC);
|
||||
}
|
||||
|
||||
this._popper = new Popper(element, this._menu, this._getPopperConfig());
|
||||
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
|
||||
} // If this is a touch-enabled device we add extra
|
||||
// empty mouseover listeners to the body's immediate children;
|
||||
// only needed because of broken event delegation on iOS
|
||||
|
@ -1556,7 +1568,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
|
||||
if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
|
||||
$$$1('body').children().on('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().on('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
this._element.focus();
|
||||
|
@ -1601,7 +1613,7 @@ var Dropdown = function ($$$1) {
|
|||
};
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
|
||||
config = _objectSpread({}, this.constructor.Default, $$$1(this._element).data(), config);
|
||||
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
||||
return config;
|
||||
};
|
||||
|
@ -1648,7 +1660,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
if (typeof this._config.offset === 'function') {
|
||||
offsetConf.fn = function (data) {
|
||||
data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
|
||||
data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {});
|
||||
return data;
|
||||
};
|
||||
} else {
|
||||
|
@ -1665,8 +1677,16 @@ var Dropdown = function ($$$1) {
|
|||
preventOverflow: {
|
||||
boundariesElement: this._config.boundary
|
||||
}
|
||||
}
|
||||
} // Disable Popper.js if we have a static display
|
||||
|
||||
};
|
||||
|
||||
if (this._config.display === 'static') {
|
||||
popperConfig.modifiers.applyStyle = {
|
||||
enabled: false
|
||||
};
|
||||
}
|
||||
|
||||
return popperConfig;
|
||||
}; // Static
|
||||
|
||||
|
@ -1731,7 +1751,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().off('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().off('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
toggles[i].setAttribute('aria-expanded', 'false');
|
||||
|
@ -1826,6 +1846,7 @@ var Dropdown = function ($$$1) {
|
|||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Dropdown;
|
||||
}();
|
||||
/**
|
||||
|
@ -1862,7 +1883,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): modal.js
|
||||
* Bootstrap (v4.1.0): modal.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1874,13 +1895,11 @@ var Modal = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'modal';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.modal';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 300;
|
||||
var BACKDROP_TRANSITION_DURATION = 150;
|
||||
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
|
||||
|
||||
var Default = {
|
||||
|
@ -1941,7 +1960,6 @@ var Modal = function ($$$1) {
|
|||
this._isShown = false;
|
||||
this._isBodyOverflowing = false;
|
||||
this._ignoreBackdropClick = false;
|
||||
this._originalBodyPadding = 0;
|
||||
this._scrollbarWidth = 0;
|
||||
} // Getters
|
||||
|
||||
|
@ -1960,7 +1978,7 @@ var Modal = function ($$$1) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
if ($$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
this._isTransitioning = true;
|
||||
}
|
||||
|
||||
|
@ -2022,7 +2040,7 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
|
||||
this._isShown = false;
|
||||
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
|
||||
var transition = $$$1(this._element).hasClass(ClassName.FADE);
|
||||
|
||||
if (transition) {
|
||||
this._isTransitioning = true;
|
||||
|
@ -2038,9 +2056,10 @@ var Modal = function ($$$1) {
|
|||
$$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
|
||||
|
||||
if (transition) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, function (event) {
|
||||
return _this2._hideModal(event);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
this._hideModal();
|
||||
}
|
||||
|
@ -2065,7 +2084,7 @@ var Modal = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
return config;
|
||||
};
|
||||
|
@ -2073,7 +2092,7 @@ var Modal = function ($$$1) {
|
|||
_proto._showElement = function _showElement(relatedTarget) {
|
||||
var _this3 = this;
|
||||
|
||||
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
|
||||
var transition = $$$1(this._element).hasClass(ClassName.FADE);
|
||||
|
||||
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
|
||||
// Don't move modal's DOM position
|
||||
|
@ -2110,7 +2129,8 @@ var Modal = function ($$$1) {
|
|||
};
|
||||
|
||||
if (transition) {
|
||||
$$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
transitionComplete();
|
||||
}
|
||||
|
@ -2188,7 +2208,6 @@ var Modal = function ($$$1) {
|
|||
var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
|
||||
|
||||
if (this._isShown && this._config.backdrop) {
|
||||
var doAnimate = Util.supportsTransitionEnd() && animate;
|
||||
this._backdrop = document.createElement('div');
|
||||
this._backdrop.className = ClassName.BACKDROP;
|
||||
|
||||
|
@ -2214,7 +2233,7 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
});
|
||||
|
||||
if (doAnimate) {
|
||||
if (animate) {
|
||||
Util.reflow(this._backdrop);
|
||||
}
|
||||
|
||||
|
@ -2224,12 +2243,13 @@ var Modal = function ($$$1) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (!doAnimate) {
|
||||
if (!animate) {
|
||||
callback();
|
||||
return;
|
||||
}
|
||||
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
|
||||
var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
|
||||
} else if (!this._isShown && this._backdrop) {
|
||||
$$$1(this._backdrop).removeClass(ClassName.SHOW);
|
||||
|
||||
|
@ -2241,8 +2261,10 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
};
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
|
||||
if ($$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
|
||||
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
|
||||
} else {
|
||||
callbackRemove();
|
||||
}
|
||||
|
@ -2304,8 +2326,8 @@ var Modal = function ($$$1) {
|
|||
}); // Adjust body padding
|
||||
|
||||
var actualPadding = document.body.style.paddingRight;
|
||||
var calculatedPadding = $$$1('body').css('padding-right');
|
||||
$$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
|
||||
var calculatedPadding = $$$1(document.body).css('padding-right');
|
||||
$$$1(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -2327,10 +2349,10 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
}); // Restore body padding
|
||||
|
||||
var padding = $$$1('body').data('padding-right');
|
||||
var padding = $$$1(document.body).data('padding-right');
|
||||
|
||||
if (typeof padding !== 'undefined') {
|
||||
$$$1('body').css('padding-right', padding).removeData('padding-right');
|
||||
$$$1(document.body).css('padding-right', padding).removeData('padding-right');
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -2349,7 +2371,7 @@ var Modal = function ($$$1) {
|
|||
return this.each(function () {
|
||||
var data = $$$1(this).data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
|
||||
var _config = _objectSpread({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
|
||||
|
||||
if (!data) {
|
||||
data = new Modal(this, _config);
|
||||
|
@ -2379,6 +2401,7 @@ var Modal = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Modal;
|
||||
}();
|
||||
/**
|
||||
|
@ -2398,7 +2421,7 @@ var Modal = function ($$$1) {
|
|||
target = $$$1(selector)[0];
|
||||
}
|
||||
|
||||
var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _extends({}, $$$1(target).data(), $$$1(this).data());
|
||||
var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $$$1(target).data(), $$$1(this).data());
|
||||
|
||||
if (this.tagName === 'A' || this.tagName === 'AREA') {
|
||||
event.preventDefault();
|
||||
|
@ -2438,7 +2461,7 @@ var Modal = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): tooltip.js
|
||||
* Bootstrap (v4.1.0): tooltip.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -2450,11 +2473,10 @@ var Tooltip = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'tooltip';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.tooltip';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var CLASS_PREFIX = 'bs-tooltip';
|
||||
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
||||
var DefaultType = {
|
||||
|
@ -2700,7 +2722,7 @@ var Tooltip = function ($$$1) {
|
|||
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().on('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().on('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
var complete = function complete() {
|
||||
|
@ -2717,8 +2739,9 @@ var Tooltip = function ($$$1) {
|
|||
}
|
||||
};
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
$$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
|
||||
if ($$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
|
||||
$$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
|
@ -2761,15 +2784,16 @@ var Tooltip = function ($$$1) {
|
|||
// empty mouseover listeners we added for iOS support
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().off('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().off('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
this._activeTrigger[Trigger.CLICK] = false;
|
||||
this._activeTrigger[Trigger.FOCUS] = false;
|
||||
this._activeTrigger[Trigger.HOVER] = false;
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
$$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
if ($$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(tip);
|
||||
$$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
|
@ -2860,7 +2884,7 @@ var Tooltip = function ($$$1) {
|
|||
});
|
||||
|
||||
if (this.config.selector) {
|
||||
this.config = _extends({}, this.config, {
|
||||
this.config = _objectSpread({}, this.config, {
|
||||
trigger: 'manual',
|
||||
selector: ''
|
||||
});
|
||||
|
@ -2954,7 +2978,7 @@ var Tooltip = function ($$$1) {
|
|||
};
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, this.constructor.Default, $$$1(this.element).data(), config);
|
||||
config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), config);
|
||||
|
||||
if (typeof config.delay === 'number') {
|
||||
config.delay = {
|
||||
|
@ -3081,6 +3105,7 @@ var Tooltip = function ($$$1) {
|
|||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Tooltip;
|
||||
}();
|
||||
/**
|
||||
|
@ -3103,7 +3128,7 @@ var Tooltip = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): popover.js
|
||||
* Bootstrap (v4.1.0): popover.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -3115,21 +3140,24 @@ var Popover = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'popover';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.popover';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var CLASS_PREFIX = 'bs-popover';
|
||||
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
||||
var Default = _extends({}, Tooltip.Default, {
|
||||
|
||||
var Default = _objectSpread({}, Tooltip.Default, {
|
||||
placement: 'right',
|
||||
trigger: 'click',
|
||||
content: '',
|
||||
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
|
||||
});
|
||||
var DefaultType = _extends({}, Tooltip.DefaultType, {
|
||||
|
||||
var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
|
||||
content: '(string|element|function)'
|
||||
});
|
||||
|
||||
var ClassName = {
|
||||
FADE: 'fade',
|
||||
SHOW: 'show'
|
||||
|
@ -3274,6 +3302,7 @@ var Popover = function ($$$1) {
|
|||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Popover;
|
||||
}(Tooltip);
|
||||
/**
|
||||
|
@ -3296,7 +3325,7 @@ var Popover = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): scrollspy.js
|
||||
* Bootstrap (v4.1.0): scrollspy.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -3308,7 +3337,7 @@ var ScrollSpy = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'scrollspy';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.scrollspy';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
|
@ -3435,7 +3464,7 @@ var ScrollSpy = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
|
||||
if (typeof config.target !== 'string') {
|
||||
var id = $$$1(config.target).attr('id');
|
||||
|
@ -3570,6 +3599,7 @@ var ScrollSpy = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return ScrollSpy;
|
||||
}();
|
||||
/**
|
||||
|
@ -3607,7 +3637,7 @@ var ScrollSpy = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): tab.js
|
||||
* Bootstrap (v4.1.0): tab.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -3619,12 +3649,11 @@ var Tab = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'tab';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.tab';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var Event = {
|
||||
HIDE: "hide" + EVENT_KEY,
|
||||
HIDDEN: "hidden" + EVENT_KEY,
|
||||
|
@ -3743,14 +3772,15 @@ var Tab = function ($$$1) {
|
|||
}
|
||||
|
||||
var active = activeElements[0];
|
||||
var isTransitioning = callback && Util.supportsTransitionEnd() && active && $$$1(active).hasClass(ClassName.FADE);
|
||||
var isTransitioning = callback && active && $$$1(active).hasClass(ClassName.FADE);
|
||||
|
||||
var complete = function complete() {
|
||||
return _this2._transitionComplete(element, active, callback);
|
||||
};
|
||||
|
||||
if (active && isTransitioning) {
|
||||
$$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(active);
|
||||
$$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
|
@ -3821,6 +3851,7 @@ var Tab = function ($$$1) {
|
|||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Tab;
|
||||
}();
|
||||
/**
|
||||
|
@ -3854,7 +3885,7 @@ var Tab = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0-alpha.6): index.js
|
||||
* Bootstrap (v4.0.0): index.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -3926,3 +3957,4 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|||
}, false );
|
||||
}
|
||||
})();
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -27,7 +27,7 @@
|
|||
},
|
||||
"homepage": "https://understrap.com",
|
||||
"dependencies": {
|
||||
"bootstrap": "4.0.0",
|
||||
"bootstrap": "4.1.0",
|
||||
"browser-sync": "^2.23.6",
|
||||
"del": "^3.0.0",
|
||||
"font-awesome": "^4.7.0",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap v4.1.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)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap v4.1.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
|
@ -28,22 +28,38 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|||
return Constructor;
|
||||
}
|
||||
|
||||
function _extends() {
|
||||
_extends = Object.assign || function (target) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i];
|
||||
function _defineProperty(obj, key, value) {
|
||||
if (key in obj) {
|
||||
Object.defineProperty(obj, key, {
|
||||
value: value,
|
||||
enumerable: true,
|
||||
configurable: true,
|
||||
writable: true
|
||||
});
|
||||
} else {
|
||||
obj[key] = value;
|
||||
}
|
||||
|
||||
for (var key in source) {
|
||||
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
||||
target[key] = source[key];
|
||||
return obj;
|
||||
}
|
||||
|
||||
function _objectSpread(target) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
var source = arguments[i] != null ? arguments[i] : {};
|
||||
var ownKeys = Object.keys(source);
|
||||
|
||||
if (typeof Object.getOwnPropertySymbols === 'function') {
|
||||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
|
||||
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
||||
}));
|
||||
}
|
||||
|
||||
ownKeys.forEach(function (key) {
|
||||
_defineProperty(target, key, source[key]);
|
||||
});
|
||||
}
|
||||
|
||||
return target;
|
||||
};
|
||||
|
||||
return _extends.apply(this, arguments);
|
||||
}
|
||||
|
||||
function _inheritsLoose(subClass, superClass) {
|
||||
|
@ -54,7 +70,7 @@ function _inheritsLoose(subClass, superClass) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): util.js
|
||||
* Bootstrap (v4.1.0): util.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -65,17 +81,18 @@ var Util = function ($$$1) {
|
|||
* Private TransitionEnd Helpers
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var transition = false;
|
||||
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||
var TRANSITION_END = 'transitionend';
|
||||
var MAX_UID = 1000000;
|
||||
var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
||||
|
||||
function toType(obj) {
|
||||
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
|
||||
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
||||
}
|
||||
|
||||
function getSpecialTransitionEndEvent() {
|
||||
return {
|
||||
bindType: transition.end,
|
||||
delegateType: transition.end,
|
||||
bindType: TRANSITION_END,
|
||||
delegateType: TRANSITION_END,
|
||||
handle: function handle(event) {
|
||||
if ($$$1(event.target).is(this)) {
|
||||
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
|
||||
|
@ -86,16 +103,6 @@ var Util = function ($$$1) {
|
|||
};
|
||||
}
|
||||
|
||||
function transitionEndTest() {
|
||||
if (typeof window !== 'undefined' && window.QUnit) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return {
|
||||
end: 'transitionend'
|
||||
};
|
||||
}
|
||||
|
||||
function transitionEndEmulator(duration) {
|
||||
var _this = this;
|
||||
|
||||
|
@ -112,20 +119,9 @@ var Util = function ($$$1) {
|
|||
}
|
||||
|
||||
function setTransitionEndSupport() {
|
||||
transition = transitionEndTest();
|
||||
$$$1.fn.emulateTransitionEnd = transitionEndEmulator;
|
||||
|
||||
if (Util.supportsTransitionEnd()) {
|
||||
$$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
|
||||
}
|
||||
}
|
||||
|
||||
function escapeId(selector) {
|
||||
// We escape IDs in case of special selectors (selector = '#myId:something')
|
||||
// $.escapeSelector does not exist in jQuery < 3
|
||||
selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
|
||||
return selector;
|
||||
}
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Public Util Api
|
||||
|
@ -148,11 +144,6 @@ var Util = function ($$$1) {
|
|||
|
||||
if (!selector || selector === '#') {
|
||||
selector = element.getAttribute('href') || '';
|
||||
} // If it's an ID
|
||||
|
||||
|
||||
if (selector.charAt(0) === '#') {
|
||||
selector = escapeId(selector);
|
||||
}
|
||||
|
||||
try {
|
||||
|
@ -162,14 +153,32 @@ var Util = function ($$$1) {
|
|||
return null;
|
||||
}
|
||||
},
|
||||
getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
|
||||
if (!element) {
|
||||
return 0;
|
||||
} // Get transition-duration of the element
|
||||
|
||||
|
||||
var transitionDuration = $$$1(element).css('transition-duration');
|
||||
var floatTransitionDuration = parseFloat(transitionDuration); // Return 0 if element or transition duration is not found
|
||||
|
||||
if (!floatTransitionDuration) {
|
||||
return 0;
|
||||
} // If multiple durations are defined, take the first
|
||||
|
||||
|
||||
transitionDuration = transitionDuration.split(',')[0];
|
||||
return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER;
|
||||
},
|
||||
reflow: function reflow(element) {
|
||||
return element.offsetHeight;
|
||||
},
|
||||
triggerTransitionEnd: function triggerTransitionEnd(element) {
|
||||
$$$1(element).trigger(transition.end);
|
||||
$$$1(element).trigger(TRANSITION_END);
|
||||
},
|
||||
// TODO: Remove in v5
|
||||
supportsTransitionEnd: function supportsTransitionEnd() {
|
||||
return Boolean(transition);
|
||||
return Boolean(TRANSITION_END);
|
||||
},
|
||||
isElement: function isElement(obj) {
|
||||
return (obj[0] || obj).nodeType;
|
||||
|
@ -194,7 +203,7 @@ var Util = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): alert.js
|
||||
* Bootstrap (v4.1.0): alert.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -206,12 +215,11 @@ var Alert = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'alert';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.alert';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var Selector = {
|
||||
DISMISS: '[data-dismiss="alert"]'
|
||||
};
|
||||
|
@ -289,15 +297,16 @@ var Alert = function ($$$1) {
|
|||
|
||||
$$$1(element).removeClass(ClassName.SHOW);
|
||||
|
||||
if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) {
|
||||
if (!$$$1(element).hasClass(ClassName.FADE)) {
|
||||
this._destroyElement(element);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(element);
|
||||
$$$1(element).one(Util.TRANSITION_END, function (event) {
|
||||
return _this._destroyElement(element, event);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
};
|
||||
|
||||
_proto._destroyElement = function _destroyElement(element) {
|
||||
|
@ -337,6 +346,7 @@ var Alert = function ($$$1) {
|
|||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Alert;
|
||||
}();
|
||||
/**
|
||||
|
@ -366,7 +376,7 @@ var Alert = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): button.js
|
||||
* Bootstrap (v4.1.0): button.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -378,7 +388,7 @@ var Button = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'button';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.button';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
|
@ -488,6 +498,7 @@ var Button = function ($$$1) {
|
|||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Button;
|
||||
}();
|
||||
/**
|
||||
|
@ -529,7 +540,7 @@ var Button = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): carousel.js
|
||||
* Bootstrap (v4.1.0): carousel.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -541,12 +552,11 @@ var Carousel = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'carousel';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.carousel';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 600;
|
||||
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
|
||||
|
||||
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
|
||||
|
@ -655,7 +665,7 @@ var Carousel = function ($$$1) {
|
|||
this._isPaused = true;
|
||||
}
|
||||
|
||||
if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
|
||||
if ($$$1(this._element).find(Selector.NEXT_PREV)[0]) {
|
||||
Util.triggerTransitionEnd(this._element);
|
||||
this.cycle(true);
|
||||
}
|
||||
|
@ -723,7 +733,7 @@ var Carousel = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
return config;
|
||||
};
|
||||
|
@ -894,11 +904,12 @@ var Carousel = function ($$$1) {
|
|||
to: nextElementIndex
|
||||
});
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) {
|
||||
if ($$$1(this._element).hasClass(ClassName.SLIDE)) {
|
||||
$$$1(nextElement).addClass(orderClassName);
|
||||
Util.reflow(nextElement);
|
||||
$$$1(activeElement).addClass(directionalClassName);
|
||||
$$$1(nextElement).addClass(directionalClassName);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
|
||||
$$$1(activeElement).one(Util.TRANSITION_END, function () {
|
||||
$$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
|
||||
$$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
|
||||
|
@ -906,7 +917,7 @@ var Carousel = function ($$$1) {
|
|||
setTimeout(function () {
|
||||
return $$$1(_this3._element).trigger(slidEvent);
|
||||
}, 0);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
$$$1(activeElement).removeClass(ClassName.ACTIVE);
|
||||
$$$1(nextElement).addClass(ClassName.ACTIVE);
|
||||
|
@ -924,10 +935,10 @@ var Carousel = function ($$$1) {
|
|||
return this.each(function () {
|
||||
var data = $$$1(this).data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Default, $$$1(this).data());
|
||||
var _config = _objectSpread({}, Default, $$$1(this).data());
|
||||
|
||||
if (typeof config === 'object') {
|
||||
_config = _extends({}, _config, config);
|
||||
_config = _objectSpread({}, _config, config);
|
||||
}
|
||||
|
||||
var action = typeof config === 'string' ? config : _config.slide;
|
||||
|
@ -965,7 +976,8 @@ var Carousel = function ($$$1) {
|
|||
return;
|
||||
}
|
||||
|
||||
var config = _extends({}, $$$1(target).data(), $$$1(this).data());
|
||||
var config = _objectSpread({}, $$$1(target).data(), $$$1(this).data());
|
||||
|
||||
var slideIndex = this.getAttribute('data-slide-to');
|
||||
|
||||
if (slideIndex) {
|
||||
|
@ -992,6 +1004,7 @@ var Carousel = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Carousel;
|
||||
}();
|
||||
/**
|
||||
|
@ -1028,7 +1041,7 @@ var Carousel = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): collapse.js
|
||||
* Bootstrap (v4.1.0): collapse.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1040,12 +1053,11 @@ var Collapse = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'collapse';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.collapse';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 600;
|
||||
var Default = {
|
||||
toggle: true,
|
||||
parent: ''
|
||||
|
@ -1187,14 +1199,10 @@ var Collapse = function ($$$1) {
|
|||
$$$1(_this._element).trigger(Event.SHOWN);
|
||||
};
|
||||
|
||||
if (!Util.supportsTransitionEnd()) {
|
||||
complete();
|
||||
return;
|
||||
}
|
||||
|
||||
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
|
||||
var scrollSize = "scroll" + capitalizedDimension;
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
this._element.style[dimension] = this._element[scrollSize] + "px";
|
||||
};
|
||||
|
||||
|
@ -1242,13 +1250,8 @@ var Collapse = function ($$$1) {
|
|||
};
|
||||
|
||||
this._element.style[dimension] = '';
|
||||
|
||||
if (!Util.supportsTransitionEnd()) {
|
||||
complete();
|
||||
return;
|
||||
}
|
||||
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
};
|
||||
|
||||
_proto.setTransitioning = function setTransitioning(isTransitioning) {
|
||||
|
@ -1266,7 +1269,7 @@ var Collapse = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
config.toggle = Boolean(config.toggle); // Coerce string values
|
||||
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
|
@ -1321,7 +1324,7 @@ var Collapse = function ($$$1) {
|
|||
var $this = $$$1(this);
|
||||
var data = $this.data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);
|
||||
var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config);
|
||||
|
||||
if (!data && _config.toggle && /show|hide/.test(config)) {
|
||||
_config.toggle = false;
|
||||
|
@ -1353,6 +1356,7 @@ var Collapse = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Collapse;
|
||||
}();
|
||||
/**
|
||||
|
@ -1397,7 +1401,7 @@ var Collapse = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): dropdown.js
|
||||
* Bootstrap (v4.1.0): dropdown.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1409,7 +1413,7 @@ var Dropdown = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'dropdown';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.dropdown';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
|
@ -1452,7 +1456,7 @@ var Dropdown = function ($$$1) {
|
|||
FORM_CHILD: '.dropdown form',
|
||||
MENU: '.dropdown-menu',
|
||||
NAVBAR_NAV: '.navbar-nav',
|
||||
VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
|
||||
VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
|
||||
};
|
||||
var AttachmentMap = {
|
||||
TOP: 'top-start',
|
||||
|
@ -1467,12 +1471,16 @@ var Dropdown = function ($$$1) {
|
|||
var Default = {
|
||||
offset: 0,
|
||||
flip: true,
|
||||
boundary: 'scrollParent'
|
||||
boundary: 'scrollParent',
|
||||
reference: 'toggle',
|
||||
display: 'dynamic'
|
||||
};
|
||||
var DefaultType = {
|
||||
offset: '(number|string|function)',
|
||||
flip: 'boolean',
|
||||
boundary: '(string|element)'
|
||||
boundary: '(string|element)',
|
||||
reference: '(string|element)',
|
||||
display: 'string'
|
||||
/**
|
||||
* ------------------------------------------------------------------------
|
||||
* Class Definition
|
||||
|
@ -1533,11 +1541,15 @@ var Dropdown = function ($$$1) {
|
|||
throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
|
||||
}
|
||||
|
||||
var element = this._element; // For dropup with alignment we use the parent as popper container
|
||||
var referenceElement = this._element;
|
||||
|
||||
if ($$$1(parent).hasClass(ClassName.DROPUP)) {
|
||||
if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
|
||||
element = parent;
|
||||
if (this._config.reference === 'parent') {
|
||||
referenceElement = parent;
|
||||
} else if (Util.isElement(this._config.reference)) {
|
||||
referenceElement = this._config.reference; // Check if it's jQuery element
|
||||
|
||||
if (typeof this._config.reference.jquery !== 'undefined') {
|
||||
referenceElement = this._config.reference[0];
|
||||
}
|
||||
} // If boundary is not `scrollParent`, then set position to `static`
|
||||
// to allow the menu to "escape" the scroll parent's boundaries
|
||||
|
@ -1548,7 +1560,7 @@ var Dropdown = function ($$$1) {
|
|||
$$$1(parent).addClass(ClassName.POSITION_STATIC);
|
||||
}
|
||||
|
||||
this._popper = new Popper(element, this._menu, this._getPopperConfig());
|
||||
this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
|
||||
} // If this is a touch-enabled device we add extra
|
||||
// empty mouseover listeners to the body's immediate children;
|
||||
// only needed because of broken event delegation on iOS
|
||||
|
@ -1556,7 +1568,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
|
||||
if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
|
||||
$$$1('body').children().on('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().on('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
this._element.focus();
|
||||
|
@ -1601,7 +1613,7 @@ var Dropdown = function ($$$1) {
|
|||
};
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
|
||||
config = _objectSpread({}, this.constructor.Default, $$$1(this._element).data(), config);
|
||||
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
||||
return config;
|
||||
};
|
||||
|
@ -1648,7 +1660,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
if (typeof this._config.offset === 'function') {
|
||||
offsetConf.fn = function (data) {
|
||||
data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
|
||||
data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {});
|
||||
return data;
|
||||
};
|
||||
} else {
|
||||
|
@ -1665,8 +1677,16 @@ var Dropdown = function ($$$1) {
|
|||
preventOverflow: {
|
||||
boundariesElement: this._config.boundary
|
||||
}
|
||||
}
|
||||
} // Disable Popper.js if we have a static display
|
||||
|
||||
};
|
||||
|
||||
if (this._config.display === 'static') {
|
||||
popperConfig.modifiers.applyStyle = {
|
||||
enabled: false
|
||||
};
|
||||
}
|
||||
|
||||
return popperConfig;
|
||||
}; // Static
|
||||
|
||||
|
@ -1731,7 +1751,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().off('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().off('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
toggles[i].setAttribute('aria-expanded', 'false');
|
||||
|
@ -1826,6 +1846,7 @@ var Dropdown = function ($$$1) {
|
|||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Dropdown;
|
||||
}();
|
||||
/**
|
||||
|
@ -1862,7 +1883,7 @@ var Dropdown = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): modal.js
|
||||
* Bootstrap (v4.1.0): modal.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -1874,13 +1895,11 @@ var Modal = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'modal';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.modal';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 300;
|
||||
var BACKDROP_TRANSITION_DURATION = 150;
|
||||
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
|
||||
|
||||
var Default = {
|
||||
|
@ -1941,7 +1960,6 @@ var Modal = function ($$$1) {
|
|||
this._isShown = false;
|
||||
this._isBodyOverflowing = false;
|
||||
this._ignoreBackdropClick = false;
|
||||
this._originalBodyPadding = 0;
|
||||
this._scrollbarWidth = 0;
|
||||
} // Getters
|
||||
|
||||
|
@ -1960,7 +1978,7 @@ var Modal = function ($$$1) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
if ($$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
this._isTransitioning = true;
|
||||
}
|
||||
|
||||
|
@ -2022,7 +2040,7 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
|
||||
this._isShown = false;
|
||||
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
|
||||
var transition = $$$1(this._element).hasClass(ClassName.FADE);
|
||||
|
||||
if (transition) {
|
||||
this._isTransitioning = true;
|
||||
|
@ -2038,9 +2056,10 @@ var Modal = function ($$$1) {
|
|||
$$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
|
||||
|
||||
if (transition) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._element).one(Util.TRANSITION_END, function (event) {
|
||||
return _this2._hideModal(event);
|
||||
}).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
}).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
this._hideModal();
|
||||
}
|
||||
|
@ -2065,7 +2084,7 @@ var Modal = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
Util.typeCheckConfig(NAME, config, DefaultType);
|
||||
return config;
|
||||
};
|
||||
|
@ -2073,7 +2092,7 @@ var Modal = function ($$$1) {
|
|||
_proto._showElement = function _showElement(relatedTarget) {
|
||||
var _this3 = this;
|
||||
|
||||
var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
|
||||
var transition = $$$1(this._element).hasClass(ClassName.FADE);
|
||||
|
||||
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
|
||||
// Don't move modal's DOM position
|
||||
|
@ -2110,7 +2129,8 @@ var Modal = function ($$$1) {
|
|||
};
|
||||
|
||||
if (transition) {
|
||||
$$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this._element);
|
||||
$$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
transitionComplete();
|
||||
}
|
||||
|
@ -2188,7 +2208,6 @@ var Modal = function ($$$1) {
|
|||
var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
|
||||
|
||||
if (this._isShown && this._config.backdrop) {
|
||||
var doAnimate = Util.supportsTransitionEnd() && animate;
|
||||
this._backdrop = document.createElement('div');
|
||||
this._backdrop.className = ClassName.BACKDROP;
|
||||
|
||||
|
@ -2214,7 +2233,7 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
});
|
||||
|
||||
if (doAnimate) {
|
||||
if (animate) {
|
||||
Util.reflow(this._backdrop);
|
||||
}
|
||||
|
||||
|
@ -2224,12 +2243,13 @@ var Modal = function ($$$1) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (!doAnimate) {
|
||||
if (!animate) {
|
||||
callback();
|
||||
return;
|
||||
}
|
||||
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
|
||||
var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
|
||||
} else if (!this._isShown && this._backdrop) {
|
||||
$$$1(this._backdrop).removeClass(ClassName.SHOW);
|
||||
|
||||
|
@ -2241,8 +2261,10 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
};
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
|
||||
if ($$$1(this._element).hasClass(ClassName.FADE)) {
|
||||
var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
|
||||
|
||||
$$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
|
||||
} else {
|
||||
callbackRemove();
|
||||
}
|
||||
|
@ -2304,8 +2326,8 @@ var Modal = function ($$$1) {
|
|||
}); // Adjust body padding
|
||||
|
||||
var actualPadding = document.body.style.paddingRight;
|
||||
var calculatedPadding = $$$1('body').css('padding-right');
|
||||
$$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
|
||||
var calculatedPadding = $$$1(document.body).css('padding-right');
|
||||
$$$1(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -2327,10 +2349,10 @@ var Modal = function ($$$1) {
|
|||
}
|
||||
}); // Restore body padding
|
||||
|
||||
var padding = $$$1('body').data('padding-right');
|
||||
var padding = $$$1(document.body).data('padding-right');
|
||||
|
||||
if (typeof padding !== 'undefined') {
|
||||
$$$1('body').css('padding-right', padding).removeData('padding-right');
|
||||
$$$1(document.body).css('padding-right', padding).removeData('padding-right');
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -2349,7 +2371,7 @@ var Modal = function ($$$1) {
|
|||
return this.each(function () {
|
||||
var data = $$$1(this).data(DATA_KEY);
|
||||
|
||||
var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
|
||||
var _config = _objectSpread({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
|
||||
|
||||
if (!data) {
|
||||
data = new Modal(this, _config);
|
||||
|
@ -2379,6 +2401,7 @@ var Modal = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Modal;
|
||||
}();
|
||||
/**
|
||||
|
@ -2398,7 +2421,7 @@ var Modal = function ($$$1) {
|
|||
target = $$$1(selector)[0];
|
||||
}
|
||||
|
||||
var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _extends({}, $$$1(target).data(), $$$1(this).data());
|
||||
var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $$$1(target).data(), $$$1(this).data());
|
||||
|
||||
if (this.tagName === 'A' || this.tagName === 'AREA') {
|
||||
event.preventDefault();
|
||||
|
@ -2438,7 +2461,7 @@ var Modal = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): tooltip.js
|
||||
* Bootstrap (v4.1.0): tooltip.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -2450,11 +2473,10 @@ var Tooltip = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'tooltip';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.tooltip';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var CLASS_PREFIX = 'bs-tooltip';
|
||||
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
||||
var DefaultType = {
|
||||
|
@ -2700,7 +2722,7 @@ var Tooltip = function ($$$1) {
|
|||
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().on('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().on('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
var complete = function complete() {
|
||||
|
@ -2717,8 +2739,9 @@ var Tooltip = function ($$$1) {
|
|||
}
|
||||
};
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
$$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
|
||||
if ($$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
|
||||
$$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
|
@ -2761,15 +2784,16 @@ var Tooltip = function ($$$1) {
|
|||
// empty mouseover listeners we added for iOS support
|
||||
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
$$$1('body').children().off('mouseover', null, $$$1.noop);
|
||||
$$$1(document.body).children().off('mouseover', null, $$$1.noop);
|
||||
}
|
||||
|
||||
this._activeTrigger[Trigger.CLICK] = false;
|
||||
this._activeTrigger[Trigger.FOCUS] = false;
|
||||
this._activeTrigger[Trigger.HOVER] = false;
|
||||
|
||||
if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
$$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
if ($$$1(this.tip).hasClass(ClassName.FADE)) {
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(tip);
|
||||
$$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
|
@ -2860,7 +2884,7 @@ var Tooltip = function ($$$1) {
|
|||
});
|
||||
|
||||
if (this.config.selector) {
|
||||
this.config = _extends({}, this.config, {
|
||||
this.config = _objectSpread({}, this.config, {
|
||||
trigger: 'manual',
|
||||
selector: ''
|
||||
});
|
||||
|
@ -2954,7 +2978,7 @@ var Tooltip = function ($$$1) {
|
|||
};
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, this.constructor.Default, $$$1(this.element).data(), config);
|
||||
config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), config);
|
||||
|
||||
if (typeof config.delay === 'number') {
|
||||
config.delay = {
|
||||
|
@ -3081,6 +3105,7 @@ var Tooltip = function ($$$1) {
|
|||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Tooltip;
|
||||
}();
|
||||
/**
|
||||
|
@ -3103,7 +3128,7 @@ var Tooltip = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): popover.js
|
||||
* Bootstrap (v4.1.0): popover.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -3115,21 +3140,24 @@ var Popover = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'popover';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.popover';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var CLASS_PREFIX = 'bs-popover';
|
||||
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
||||
var Default = _extends({}, Tooltip.Default, {
|
||||
|
||||
var Default = _objectSpread({}, Tooltip.Default, {
|
||||
placement: 'right',
|
||||
trigger: 'click',
|
||||
content: '',
|
||||
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
|
||||
});
|
||||
var DefaultType = _extends({}, Tooltip.DefaultType, {
|
||||
|
||||
var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
|
||||
content: '(string|element|function)'
|
||||
});
|
||||
|
||||
var ClassName = {
|
||||
FADE: 'fade',
|
||||
SHOW: 'show'
|
||||
|
@ -3274,6 +3302,7 @@ var Popover = function ($$$1) {
|
|||
return DefaultType;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Popover;
|
||||
}(Tooltip);
|
||||
/**
|
||||
|
@ -3296,7 +3325,7 @@ var Popover = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): scrollspy.js
|
||||
* Bootstrap (v4.1.0): scrollspy.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -3308,7 +3337,7 @@ var ScrollSpy = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'scrollspy';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.scrollspy';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
|
@ -3435,7 +3464,7 @@ var ScrollSpy = function ($$$1) {
|
|||
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _extends({}, Default, config);
|
||||
config = _objectSpread({}, Default, config);
|
||||
|
||||
if (typeof config.target !== 'string') {
|
||||
var id = $$$1(config.target).attr('id');
|
||||
|
@ -3570,6 +3599,7 @@ var ScrollSpy = function ($$$1) {
|
|||
return Default;
|
||||
}
|
||||
}]);
|
||||
|
||||
return ScrollSpy;
|
||||
}();
|
||||
/**
|
||||
|
@ -3607,7 +3637,7 @@ var ScrollSpy = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0): tab.js
|
||||
* Bootstrap (v4.1.0): tab.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -3619,12 +3649,11 @@ var Tab = function ($$$1) {
|
|||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
var NAME = 'tab';
|
||||
var VERSION = '4.0.0';
|
||||
var VERSION = '4.1.0';
|
||||
var DATA_KEY = 'bs.tab';
|
||||
var EVENT_KEY = "." + DATA_KEY;
|
||||
var DATA_API_KEY = '.data-api';
|
||||
var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
|
||||
var TRANSITION_DURATION = 150;
|
||||
var Event = {
|
||||
HIDE: "hide" + EVENT_KEY,
|
||||
HIDDEN: "hidden" + EVENT_KEY,
|
||||
|
@ -3743,14 +3772,15 @@ var Tab = function ($$$1) {
|
|||
}
|
||||
|
||||
var active = activeElements[0];
|
||||
var isTransitioning = callback && Util.supportsTransitionEnd() && active && $$$1(active).hasClass(ClassName.FADE);
|
||||
var isTransitioning = callback && active && $$$1(active).hasClass(ClassName.FADE);
|
||||
|
||||
var complete = function complete() {
|
||||
return _this2._transitionComplete(element, active, callback);
|
||||
};
|
||||
|
||||
if (active && isTransitioning) {
|
||||
$$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
|
||||
var transitionDuration = Util.getTransitionDurationFromElement(active);
|
||||
$$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
||||
} else {
|
||||
complete();
|
||||
}
|
||||
|
@ -3821,6 +3851,7 @@ var Tab = function ($$$1) {
|
|||
return VERSION;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Tab;
|
||||
}();
|
||||
/**
|
||||
|
@ -3854,7 +3885,7 @@ var Tab = function ($$$1) {
|
|||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
* Bootstrap (v4.0.0-alpha.6): index.js
|
||||
* Bootstrap (v4.0.0): index.js
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -5,17 +5,20 @@
|
|||
margin-bottom: $breadcrumb-margin-bottom;
|
||||
list-style: none;
|
||||
background-color: $breadcrumb-bg;
|
||||
@include border-radius($border-radius);
|
||||
@include border-radius($breadcrumb-border-radius);
|
||||
}
|
||||
|
||||
.breadcrumb-item {
|
||||
// The separator between breadcrumbs (by default, a forward-slash: "/")
|
||||
+ .breadcrumb-item::before {
|
||||
+ .breadcrumb-item {
|
||||
padding-left: $breadcrumb-item-padding;
|
||||
|
||||
&::before {
|
||||
display: inline-block; // Suppress underlining of the separator in modern browsers
|
||||
padding-right: $breadcrumb-item-padding;
|
||||
padding-left: $breadcrumb-item-padding;
|
||||
color: $breadcrumb-divider-color;
|
||||
content: "#{$breadcrumb-divider}";
|
||||
content: $breadcrumb-divider;
|
||||
}
|
||||
}
|
||||
|
||||
// IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built
|
||||
|
|
|
@ -76,9 +76,15 @@
|
|||
padding-right: $btn-padding-x * .75;
|
||||
padding-left: $btn-padding-x * .75;
|
||||
|
||||
&::after {
|
||||
&::after,
|
||||
.dropup &::after,
|
||||
.dropright &::after {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.dropleft &::before {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-sm + .dropdown-toggle-split {
|
||||
|
|
|
@ -100,6 +100,7 @@ fieldset:disabled a.btn {
|
|||
&:disabled,
|
||||
&.disabled {
|
||||
color: $btn-link-disabled-color;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
// No need for an active state here
|
||||
|
|
|
@ -153,7 +153,7 @@
|
|||
|
||||
.card {
|
||||
display: flex;
|
||||
// Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored
|
||||
// Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
|
||||
flex: 1 0 0%;
|
||||
flex-direction: column;
|
||||
margin-right: $card-deck-margin;
|
||||
|
@ -183,7 +183,7 @@
|
|||
// The child selector allows nested `.card` within `.card-group`
|
||||
// to display properly.
|
||||
> .card {
|
||||
// Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored
|
||||
// Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
|
||||
flex: 1 0 0%;
|
||||
margin-bottom: 0;
|
||||
|
||||
|
@ -261,6 +261,8 @@
|
|||
@include media-breakpoint-up(sm) {
|
||||
column-count: $card-columns-count;
|
||||
column-gap: $card-columns-gap;
|
||||
orphans: 1;
|
||||
widows: 1;
|
||||
|
||||
.card {
|
||||
display: inline-block; // Don't let them vertically span multiple columns
|
||||
|
@ -268,3 +270,32 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Accordion
|
||||
//
|
||||
|
||||
.accordion {
|
||||
.card:not(:first-of-type):not(:last-of-type) {
|
||||
border-bottom: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.card:not(:first-of-type) {
|
||||
.card-header:first-child {
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.card:first-of-type {
|
||||
border-bottom: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.card:last-of-type {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,13 @@
|
|||
// Wrapper for the slide container and indicators
|
||||
// Notes on the classes:
|
||||
//
|
||||
// 1. The .carousel-item-left and .carousel-item-right is used to indicate where
|
||||
// the active slide is heading.
|
||||
// 2. .active.carousel-item is the current slide.
|
||||
// 3. .active.carousel-item-left and .active.carousel-item-right is the current
|
||||
// slide in its in-transition state. Only one of these occurs at a time.
|
||||
// 4. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right
|
||||
// is the upcoming slide in transition.
|
||||
|
||||
.carousel {
|
||||
position: relative;
|
||||
}
|
||||
|
@ -31,7 +40,6 @@
|
|||
top: 0;
|
||||
}
|
||||
|
||||
// CSS3 transforms when supported by the browser
|
||||
.carousel-item-next.carousel-item-left,
|
||||
.carousel-item-prev.carousel-item-right {
|
||||
transform: translateX(0);
|
||||
|
@ -60,6 +68,42 @@
|
|||
}
|
||||
|
||||
|
||||
//
|
||||
// Alternate transitions
|
||||
//
|
||||
|
||||
.carousel-fade {
|
||||
.carousel-item {
|
||||
opacity: 0;
|
||||
transition-duration: .6s;
|
||||
transition-property: opacity;
|
||||
}
|
||||
|
||||
.carousel-item.active,
|
||||
.carousel-item-next.carousel-item-left,
|
||||
.carousel-item-prev.carousel-item-right {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.active.carousel-item-left,
|
||||
.active.carousel-item-right {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.carousel-item-next,
|
||||
.carousel-item-prev,
|
||||
.carousel-item.active,
|
||||
.active.carousel-item-left,
|
||||
.active.carousel-item-prev {
|
||||
transform: translateX(0);
|
||||
|
||||
@supports (transform-style: preserve-3d) {
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Left/right controls for nav
|
||||
//
|
||||
|
@ -91,13 +135,13 @@
|
|||
.carousel-control-prev {
|
||||
left: 0;
|
||||
@if $enable-gradients {
|
||||
background: linear-gradient(90deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));
|
||||
background: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));
|
||||
}
|
||||
}
|
||||
.carousel-control-next {
|
||||
right: 0;
|
||||
@if $enable-gradients {
|
||||
background: linear-gradient(270deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));
|
||||
background: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -157,7 +157,7 @@
|
|||
// Select
|
||||
//
|
||||
// Replaces the browser default select with a custom one, mostly pulled from
|
||||
// http://primercss.io.
|
||||
// https://primer.github.io/.
|
||||
//
|
||||
|
||||
.custom-select {
|
||||
|
@ -247,11 +247,11 @@
|
|||
margin: 0;
|
||||
opacity: 0;
|
||||
|
||||
&:focus ~ .custom-file-control {
|
||||
&:focus ~ .custom-file-label {
|
||||
border-color: $custom-file-focus-border-color;
|
||||
box-shadow: $custom-file-focus-box-shadow;
|
||||
|
||||
&::before {
|
||||
&::after {
|
||||
border-color: $custom-file-focus-border-color;
|
||||
}
|
||||
}
|
||||
|
@ -295,3 +295,126 @@
|
|||
@include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);
|
||||
}
|
||||
}
|
||||
|
||||
// Range
|
||||
//
|
||||
// Style range inputs the same across browsers. Vendor-specific rules for psuedo
|
||||
// elements cannot be mixed. As such, there are no shared styles for focus or
|
||||
// active states on prefixed selectors.
|
||||
|
||||
.custom-range {
|
||||
width: 100%;
|
||||
padding-left: 0; // Firefox specific
|
||||
background-color: transparent;
|
||||
appearance: none;
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
&::-moz-focus-outer {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
&::-webkit-slider-thumb {
|
||||
width: $custom-range-thumb-width;
|
||||
height: $custom-range-thumb-height;
|
||||
margin-top: -($custom-range-thumb-width * .25); // Webkit specific?
|
||||
@include gradient-bg($custom-range-thumb-bg);
|
||||
border: $custom-range-thumb-border;
|
||||
@include border-radius($custom-range-thumb-border-radius);
|
||||
@include box-shadow($custom-range-thumb-box-shadow);
|
||||
appearance: none;
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility
|
||||
}
|
||||
|
||||
&:active {
|
||||
@include gradient-bg($custom-range-thumb-active-bg);
|
||||
}
|
||||
}
|
||||
|
||||
&::-webkit-slider-runnable-track {
|
||||
width: $custom-range-track-width;
|
||||
height: $custom-range-track-height;
|
||||
color: transparent; // Why?
|
||||
cursor: $custom-range-track-cursor;
|
||||
background-color: $custom-range-track-bg;
|
||||
border-color: transparent;
|
||||
@include border-radius($custom-range-track-border-radius);
|
||||
@include box-shadow($custom-range-track-box-shadow);
|
||||
}
|
||||
|
||||
&::-moz-range-thumb {
|
||||
width: $custom-range-thumb-width;
|
||||
height: $custom-range-thumb-height;
|
||||
@include gradient-bg($custom-range-thumb-bg);
|
||||
border: $custom-range-thumb-border;
|
||||
@include border-radius($custom-range-thumb-border-radius);
|
||||
@include box-shadow($custom-range-thumb-box-shadow);
|
||||
appearance: none;
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility
|
||||
}
|
||||
|
||||
&:active {
|
||||
@include gradient-bg($custom-range-thumb-active-bg);
|
||||
}
|
||||
}
|
||||
|
||||
&::-moz-range-track {
|
||||
width: $custom-range-track-width;
|
||||
height: $custom-range-track-height;
|
||||
color: transparent;
|
||||
cursor: $custom-range-track-cursor;
|
||||
background-color: $custom-range-track-bg;
|
||||
border-color: transparent; // Firefox specific?
|
||||
@include border-radius($custom-range-track-border-radius);
|
||||
@include box-shadow($custom-range-track-box-shadow);
|
||||
}
|
||||
|
||||
&::-ms-thumb {
|
||||
width: $custom-range-thumb-width;
|
||||
height: $custom-range-thumb-height;
|
||||
@include gradient-bg($custom-range-thumb-bg);
|
||||
border: $custom-range-thumb-border;
|
||||
@include border-radius($custom-range-thumb-border-radius);
|
||||
@include box-shadow($custom-range-thumb-box-shadow);
|
||||
appearance: none;
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility
|
||||
}
|
||||
|
||||
&:active {
|
||||
@include gradient-bg($custom-range-thumb-active-bg);
|
||||
}
|
||||
}
|
||||
|
||||
&::-ms-track {
|
||||
width: $custom-range-track-width;
|
||||
height: $custom-range-track-height;
|
||||
color: transparent;
|
||||
cursor: $custom-range-track-cursor;
|
||||
background-color: transparent;
|
||||
border-color: transparent;
|
||||
border-width: ($custom-range-thumb-height * .5);
|
||||
@include box-shadow($custom-range-track-box-shadow);
|
||||
}
|
||||
|
||||
&::-ms-fill-lower {
|
||||
background-color: $custom-range-track-bg;
|
||||
@include border-radius($custom-range-track-border-radius);
|
||||
}
|
||||
|
||||
&::-ms-fill-upper {
|
||||
margin-right: 15px; // arbitrary?
|
||||
background-color: $custom-range-track-bg;
|
||||
@include border-radius($custom-range-track-border-radius);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
// The dropdown wrapper (`<div>`)
|
||||
.dropup,
|
||||
.dropdown {
|
||||
.dropright,
|
||||
.dropdown,
|
||||
.dropleft {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
@ -31,10 +33,17 @@
|
|||
@include box-shadow($dropdown-box-shadow);
|
||||
}
|
||||
|
||||
.dropdown-menu-right {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
// Allow for dropdowns to go bottom up (aka, dropup-menu)
|
||||
// Just add .dropup after the standard .dropdown class and you're set.
|
||||
.dropup {
|
||||
.dropdown-menu {
|
||||
top: auto;
|
||||
bottom: 100%;
|
||||
margin-top: 0;
|
||||
margin-bottom: $dropdown-spacer;
|
||||
}
|
||||
|
@ -46,6 +55,9 @@
|
|||
|
||||
.dropright {
|
||||
.dropdown-menu {
|
||||
top: 0;
|
||||
right: auto;
|
||||
left: 100%;
|
||||
margin-top: 0;
|
||||
margin-left: $dropdown-spacer;
|
||||
}
|
||||
|
@ -60,6 +72,9 @@
|
|||
|
||||
.dropleft {
|
||||
.dropdown-menu {
|
||||
top: 0;
|
||||
right: 100%;
|
||||
left: auto;
|
||||
margin-top: 0;
|
||||
margin-right: $dropdown-spacer;
|
||||
}
|
||||
|
@ -72,6 +87,19 @@
|
|||
}
|
||||
}
|
||||
|
||||
// When enabled Popper.js, reset basic dropdown position
|
||||
// stylelint-disable no-duplicate-selectors
|
||||
.dropdown-menu {
|
||||
&[x-placement^="top"],
|
||||
&[x-placement^="right"],
|
||||
&[x-placement^="bottom"],
|
||||
&[x-placement^="left"] {
|
||||
right: auto;
|
||||
bottom: auto;
|
||||
}
|
||||
}
|
||||
// stylelint-enable no-duplicate-selectors
|
||||
|
||||
// Dividers (basically an `<hr>`) within the dropdown
|
||||
.dropdown-divider {
|
||||
@include nav-divider($dropdown-divider-bg);
|
||||
|
@ -129,3 +157,10 @@
|
|||
color: $dropdown-header-color;
|
||||
white-space: nowrap; // as with > li > a
|
||||
}
|
||||
|
||||
// Dropdown text
|
||||
.dropdown-item-text {
|
||||
display: block;
|
||||
padding: $dropdown-item-padding-y $dropdown-item-padding-x;
|
||||
color: $dropdown-link-color;
|
||||
}
|
||||
|
|
|
@ -121,6 +121,7 @@ select.form-control {
|
|||
padding-bottom: $input-padding-y;
|
||||
margin-bottom: 0; // match inputs if this class comes on inputs with default margins
|
||||
line-height: $input-line-height;
|
||||
color: $input-plaintext-color;
|
||||
background-color: transparent;
|
||||
border: solid transparent;
|
||||
border-width: $input-border-width 0;
|
||||
|
@ -302,7 +303,8 @@ select.form-control-lg {
|
|||
display: inline-block;
|
||||
}
|
||||
|
||||
.input-group {
|
||||
.input-group,
|
||||
.custom-select {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
// Request a theme color level
|
||||
@function theme-color-level($color-name: "primary", $level: 0) {
|
||||
$color: theme-color($color-name);
|
||||
$color-base: if($level > 0, #000, #fff);
|
||||
$color-base: if($level > 0, $black, $white);
|
||||
$level: abs($level);
|
||||
|
||||
@return mix($color-base, $color, $level * $theme-color-interval);
|
||||
|
|
|
@ -46,9 +46,9 @@
|
|||
align-items: center;
|
||||
|
||||
&:not(:last-child) .custom-file-label,
|
||||
&:not(:last-child) .custom-file-label::before { @include border-right-radius(0); }
|
||||
&:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }
|
||||
&:not(:first-child) .custom-file-label,
|
||||
&:not(:first-child) .custom-file-label::before { @include border-left-radius(0); }
|
||||
&:not(:first-child) .custom-file-label::after { @include border-left-radius(0); }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,6 @@
|
|||
|
||||
// // Layout
|
||||
@import "mixins/clearfix";
|
||||
// @import "mixins/navbar-align";
|
||||
@import "mixins/grid-framework";
|
||||
@import "mixins/grid";
|
||||
@import "mixins/float";
|
||||
|
|
|
@ -67,7 +67,7 @@
|
|||
background-color: $modal-content-bg;
|
||||
background-clip: padding-box;
|
||||
border: $modal-content-border-width solid $modal-content-border-color;
|
||||
@include border-radius($border-radius-lg);
|
||||
@include border-radius($modal-content-border-radius);
|
||||
@include box-shadow($modal-content-box-shadow-xs);
|
||||
// Remove focus outline from opened modal
|
||||
outline: 0;
|
||||
|
@ -96,7 +96,7 @@
|
|||
justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
|
||||
padding: $modal-header-padding;
|
||||
border-bottom: $modal-header-border-width solid $modal-header-border-color;
|
||||
@include border-top-radius($border-radius-lg);
|
||||
@include border-top-radius($modal-content-border-radius);
|
||||
|
||||
.close {
|
||||
padding: $modal-header-padding;
|
||||
|
|
|
@ -162,11 +162,6 @@
|
|||
position: absolute;
|
||||
}
|
||||
|
||||
.dropdown-menu-right {
|
||||
right: 0;
|
||||
left: auto; // Reset the default from `.dropdown-menu`
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
padding-right: $navbar-nav-link-padding-x;
|
||||
padding-left: $navbar-nav-link-padding-x;
|
||||
|
@ -189,13 +184,6 @@
|
|||
.navbar-toggler {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dropup {
|
||||
.dropdown-menu {
|
||||
top: auto;
|
||||
bottom: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
border: $pagination-border-width solid $pagination-border-color;
|
||||
|
||||
&:hover {
|
||||
z-index: 2;
|
||||
color: $pagination-hover-color;
|
||||
text-decoration: none;
|
||||
background-color: $pagination-hover-bg;
|
||||
|
@ -23,7 +24,7 @@
|
|||
|
||||
&:focus {
|
||||
z-index: 2;
|
||||
outline: 0;
|
||||
outline: $pagination-focus-outline;
|
||||
box-shadow: $pagination-focus-box-shadow;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
// ==========================================================================
|
||||
// Print styles.
|
||||
// Inlined to avoid the additional HTTP request:
|
||||
// http://www.phpied.com/delay-loading-your-print-css/
|
||||
// https://www.phpied.com/delay-loading-your-print-css/
|
||||
// ==========================================================================
|
||||
|
||||
@if $enable-print-styles {
|
||||
|
@ -14,7 +14,7 @@
|
|||
*::before,
|
||||
*::after {
|
||||
// Bootstrap specific; comment out `color` and `background`
|
||||
//color: #000 !important; // Black prints faster: http://www.sanbeiji.com/archives/953
|
||||
//color: $black !important; // Black prints faster
|
||||
text-shadow: none !important;
|
||||
//background: transparent !important;
|
||||
box-shadow: none !important;
|
||||
|
@ -51,7 +51,7 @@
|
|||
}
|
||||
pre,
|
||||
blockquote {
|
||||
border: $border-width solid #999; // Bootstrap custom code; using `$border-width` instead of 1px
|
||||
border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@
|
|||
display: none;
|
||||
}
|
||||
.badge {
|
||||
border: $border-width solid #000;
|
||||
border: $border-width solid $black;
|
||||
}
|
||||
|
||||
.table {
|
||||
|
@ -109,13 +109,13 @@
|
|||
|
||||
td,
|
||||
th {
|
||||
background-color: #fff !important;
|
||||
background-color: $white !important;
|
||||
}
|
||||
}
|
||||
.table-bordered {
|
||||
th,
|
||||
td {
|
||||
border: 1px solid #ddd !important;
|
||||
border: 1px solid $gray-300 !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
justify-content: center;
|
||||
color: $progress-bar-color;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
background-color: $progress-bar-bg;
|
||||
@include transition($progress-bar-transition);
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ html {
|
|||
-webkit-text-size-adjust: 100%; // 4
|
||||
-ms-text-size-adjust: 100%; // 4
|
||||
-ms-overflow-style: scrollbar; // 5
|
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 6
|
||||
-webkit-tap-highlight-color: rgba($black, 0); // 6
|
||||
}
|
||||
|
||||
// IE10+ doesn't honor `<meta name="viewport">` in some cases.
|
||||
|
@ -290,7 +290,7 @@ table {
|
|||
caption {
|
||||
padding-top: $table-cell-padding;
|
||||
padding-bottom: $table-cell-padding;
|
||||
color: $text-muted;
|
||||
color: $table-caption-color;
|
||||
text-align: left;
|
||||
caption-side: bottom;
|
||||
}
|
||||
|
@ -309,7 +309,7 @@ th {
|
|||
label {
|
||||
// Allow labels to use `margin` for spacing.
|
||||
display: inline-block;
|
||||
margin-bottom: .5rem;
|
||||
margin-bottom: $label-margin-bottom;
|
||||
}
|
||||
|
||||
// Remove the default `border-radius` that macOS Chrome adds.
|
||||
|
|
|
@ -42,9 +42,9 @@
|
|||
}
|
||||
|
||||
|
||||
// Bordered version
|
||||
// Border versions
|
||||
//
|
||||
// Add borders all around the table and between all the columns.
|
||||
// Add or remove borders all around the table and between all the columns.
|
||||
|
||||
.table-bordered {
|
||||
border: $table-border-width solid $table-border-color;
|
||||
|
@ -62,13 +62,21 @@
|
|||
}
|
||||
}
|
||||
|
||||
.table-borderless {
|
||||
th,
|
||||
td,
|
||||
thead th,
|
||||
tbody + tbody {
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Zebra-striping
|
||||
//
|
||||
// Default zebra-stripe styles (alternating gray and transparent backgrounds)
|
||||
|
||||
.table-striped {
|
||||
tbody tr:nth-of-type(odd) {
|
||||
tbody tr:nth-of-type(#{$table-striped-order}) {
|
||||
background-color: $table-accent-bg;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,30 +1,16 @@
|
|||
// stylelint-disable selector-no-qualifying-type
|
||||
|
||||
.fade {
|
||||
opacity: 0;
|
||||
@include transition($transition-fade);
|
||||
|
||||
&.show {
|
||||
opacity: 1;
|
||||
&:not(.show) {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.collapse {
|
||||
&:not(.show) {
|
||||
display: none;
|
||||
&.show {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
tr {
|
||||
&.collapse.show {
|
||||
display: table-row;
|
||||
}
|
||||
}
|
||||
|
||||
tbody {
|
||||
&.collapse.show {
|
||||
display: table-row-group;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
@import "utilities/float";
|
||||
@import "utilities/position";
|
||||
@import "utilities/screenreaders";
|
||||
@import "utilities/shadows";
|
||||
@import "utilities/sizing";
|
||||
@import "utilities/spacing";
|
||||
@import "utilities/text";
|
||||
|
|
|
@ -132,7 +132,8 @@ $sizes: map-merge((
|
|||
25: 25%,
|
||||
50: 50%,
|
||||
75: 75%,
|
||||
100: 100%
|
||||
100: 100%,
|
||||
auto: auto
|
||||
), $sizes);
|
||||
// stylelint-enable
|
||||
|
||||
|
@ -211,6 +212,10 @@ $border-radius: .25rem !default;
|
|||
$border-radius-lg: .3rem !default;
|
||||
$border-radius-sm: .2rem !default;
|
||||
|
||||
$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;
|
||||
$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;
|
||||
$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;
|
||||
|
||||
$component-active-color: $white !default;
|
||||
$component-active-bg: theme-color("primary") !default;
|
||||
|
||||
|
@ -317,6 +322,9 @@ $table-dark-hover-bg: rgba($white, .075) !default;
|
|||
$table-dark-border-color: lighten($gray-900, 7.5%) !default;
|
||||
$table-dark-color: $body-bg !default;
|
||||
|
||||
$table-striped-order: odd !default;
|
||||
|
||||
$table-caption-color: $text-muted !default;
|
||||
|
||||
// Buttons + Forms
|
||||
//
|
||||
|
@ -380,6 +388,8 @@ $btn-transition: color .15s ease-in-out, background-color .15s ease
|
|||
|
||||
// Forms
|
||||
|
||||
$label-margin-bottom: .5rem !default;
|
||||
|
||||
$input-padding-y: $input-btn-padding-y !default;
|
||||
$input-padding-x: $input-btn-padding-x !default;
|
||||
$input-line-height: $input-btn-line-height !default;
|
||||
|
@ -411,6 +421,7 @@ $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-plaintext-color: $body-color !default;
|
||||
|
||||
$input-height-border: $input-border-width * 2 !default;
|
||||
|
||||
|
@ -480,7 +491,7 @@ $custom-select-indicator-padding: 1rem !default; // Extra padding to account f
|
|||
$custom-select-line-height: $input-btn-line-height !default;
|
||||
$custom-select-color: $input-color !default;
|
||||
$custom-select-disabled-color: $gray-600 !default;
|
||||
$custom-select-bg: $white !default;
|
||||
$custom-select-bg: $input-bg !default;
|
||||
$custom-select-disabled-bg: $gray-200 !default;
|
||||
$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
|
||||
$custom-select-indicator-color: $gray-800 !default;
|
||||
|
@ -498,6 +509,22 @@ $custom-select-height-sm: $input-height-sm !default;
|
|||
$custom-select-font-size-lg: 125% !default;
|
||||
$custom-select-height-lg: $input-height-lg !default;
|
||||
|
||||
$custom-range-track-width: 100% !default;
|
||||
$custom-range-track-height: .5rem !default;
|
||||
$custom-range-track-cursor: pointer !default;
|
||||
$custom-range-track-bg: $gray-300 !default;
|
||||
$custom-range-track-border-radius: 1rem !default;
|
||||
$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;
|
||||
|
||||
$custom-range-thumb-width: 1rem !default;
|
||||
$custom-range-thumb-height: $custom-range-thumb-width !default;
|
||||
$custom-range-thumb-bg: $component-active-bg !default;
|
||||
$custom-range-thumb-border: 0 !default;
|
||||
$custom-range-thumb-border-radius: 1rem !default;
|
||||
$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;
|
||||
$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;
|
||||
$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;
|
||||
|
||||
$custom-file-height: $input-height !default;
|
||||
$custom-file-focus-border-color: $input-focus-border-color !default;
|
||||
$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
||||
|
@ -585,6 +612,9 @@ $nav-pills-border-radius: $border-radius !default;
|
|||
$nav-pills-link-active-color: $component-active-color !default;
|
||||
$nav-pills-link-active-bg: $component-active-bg !default;
|
||||
|
||||
$nav-divider-color: $gray-200 !default;
|
||||
$nav-divider-margin-y: ($spacer / 2) !default;
|
||||
|
||||
// Navbar
|
||||
|
||||
$navbar-padding-y: ($spacer / 2) !default;
|
||||
|
@ -633,6 +663,7 @@ $pagination-border-width: $border-width !default;
|
|||
$pagination-border-color: $gray-300 !default;
|
||||
|
||||
$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
||||
$pagination-focus-outline: 0 !default;
|
||||
|
||||
$pagination-hover-color: $link-hover-color !default;
|
||||
$pagination-hover-bg: $gray-200 !default;
|
||||
|
@ -744,6 +775,7 @@ $modal-title-line-height: $line-height-base !default;
|
|||
$modal-content-bg: $white !default;
|
||||
$modal-content-border-color: rgba($black, .2) !default;
|
||||
$modal-content-border-width: $border-width !default;
|
||||
$modal-content-border-radius: $border-radius-lg !default;
|
||||
$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;
|
||||
$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;
|
||||
|
||||
|
@ -842,7 +874,9 @@ $breadcrumb-margin-bottom: 1rem !default;
|
|||
$breadcrumb-bg: $gray-200 !default;
|
||||
$breadcrumb-divider-color: $gray-600 !default;
|
||||
$breadcrumb-active-color: $gray-600 !default;
|
||||
$breadcrumb-divider: "/" !default;
|
||||
$breadcrumb-divider: quote("/") !default;
|
||||
|
||||
$breadcrumb-border-radius: $border-radius !default;
|
||||
|
||||
|
||||
// Carousel
|
||||
|
@ -864,7 +898,7 @@ $carousel-control-icon-width: 20px !default;
|
|||
$carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
$carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||
|
||||
$carousel-transition: transform .6s ease !default;
|
||||
$carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitons (e.g., `transform 2s ease, opacity .5s ease-out`)
|
||||
|
||||
|
||||
// Close
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap Grid v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap Grid v4.1.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)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2018 The Bootstrap Authors
|
||||
* Copyright 2011-2018 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*!
|
||||
* Bootstrap v4.0.0 (https://getbootstrap.com)
|
||||
* Bootstrap v4.1.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)
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
|
||||
@mixin caret-right {
|
||||
border-top: $caret-width solid transparent;
|
||||
border-right: 0;
|
||||
border-bottom: $caret-width solid transparent;
|
||||
border-left: $caret-width solid;
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
margin-top: .1rem;
|
||||
font-size: .875rem;
|
||||
line-height: 1;
|
||||
color: #fff;
|
||||
color: $white;
|
||||
background-color: rgba($color, .8);
|
||||
border-radius: .2rem;
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
// Horizontal gradient, from left to right
|
||||
//
|
||||
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
||||
@mixin gradient-x($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
|
||||
@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
|
||||
background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
|
@ -19,27 +19,27 @@
|
|||
// Vertical gradient, from top to bottom
|
||||
//
|
||||
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
||||
@mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
|
||||
@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
|
||||
background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
|
||||
@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
|
||||
@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {
|
||||
background-image: linear-gradient($deg, $start-color, $end-color);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
@mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
|
||||
@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
|
||||
background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
@mixin gradient-y-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
|
||||
@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
|
||||
background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
@mixin gradient-radial($inner-color: #555, $outer-color: #333) {
|
||||
@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {
|
||||
background-image: radial-gradient(circle, $inner-color, $outer-color);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {
|
||||
@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {
|
||||
background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
||||
}
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
// stylelint-disable indentation
|
||||
|
||||
// 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 iOS—an issue where hover styles
|
||||
// designed to prevent `:hover` stickiness on iOS-an issue where hover styles
|
||||
// would persist after initial touch.
|
||||
//
|
||||
// For backward compatibility, we've kept these mixins and updated them to
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
}
|
||||
|
||||
&.active {
|
||||
color: #fff;
|
||||
color: $white;
|
||||
background-color: $color;
|
||||
border-color: $color;
|
||||
}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
//
|
||||
// Dividers (basically an hr) within dropdowns and nav lists
|
||||
|
||||
@mixin nav-divider($color: #e5e5e5) {
|
||||
@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) {
|
||||
height: 0;
|
||||
margin: ($spacer / 2) 0;
|
||||
margin: $margin-y 0;
|
||||
overflow: hidden;
|
||||
border-top: 1px solid $color;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Only display content to screen readers
|
||||
//
|
||||
// See: http://a11yproject.com/posts/how-to-hide-content/
|
||||
// See: https://a11yproject.com/posts/how-to-hide-content/
|
||||
// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
|
||||
|
||||
@mixin sr-only {
|
||||
|
@ -11,7 +11,6 @@
|
|||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap;
|
||||
clip-path: inset(50%);
|
||||
border: 0;
|
||||
}
|
||||
|
||||
|
@ -30,6 +29,5 @@
|
|||
overflow: visible;
|
||||
clip: auto;
|
||||
white-space: normal;
|
||||
clip-path: none;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,4 +6,6 @@
|
|||
text-shadow: none;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
|
||||
@warn "The `text-hide()` mixin has been deprecated as of v4.1.0. It will be removed entirely in v5.";
|
||||
}
|
||||
|
|
|
@ -6,4 +6,8 @@
|
|||
transition: $transition;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (prefers-reduced-motion: reduce) {
|
||||
transition: none;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,6 +16,11 @@
|
|||
.flex#{$infix}-wrap { flex-wrap: wrap !important; }
|
||||
.flex#{$infix}-nowrap { flex-wrap: nowrap !important; }
|
||||
.flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }
|
||||
.flex#{$infix}-fill { flex: 1 1 auto !important; }
|
||||
.flex#{$infix}-grow-0 { flex-grow: 0 !important; }
|
||||
.flex#{$infix}-grow-1 { flex-grow: 1 !important; }
|
||||
.flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }
|
||||
.flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }
|
||||
|
||||
.justify-content#{$infix}-start { justify-content: flex-start !important; }
|
||||
.justify-content#{$infix}-end { justify-content: flex-end !important; }
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
// Common values
|
||||
|
||||
// Sass list not in variables since it's not intended for customization.
|
||||
// stylelint-disable-next-line scss/dollar-variable-default
|
||||
$positions: static, relative, absolute, fixed, sticky;
|
||||
|
||||
@each $position in $positions {
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
// stylelint-disable declaration-no-important
|
||||
|
||||
.shadow-sm { box-shadow: $box-shadow-sm !important; }
|
||||
.shadow { box-shadow: $box-shadow !important; }
|
||||
.shadow-lg { box-shadow: $box-shadow-lg !important; }
|
||||
.shadow-none { box-shadow: none !important; }
|
|
@ -4,6 +4,8 @@
|
|||
// Text
|
||||
//
|
||||
|
||||
.text-monospace { font-family: $font-family-monospace; }
|
||||
|
||||
// Alignment
|
||||
|
||||
.text-justify { text-align: justify !important; }
|
||||
|
@ -37,14 +39,18 @@
|
|||
|
||||
// Contextual colors
|
||||
|
||||
.text-white { color: #fff !important; }
|
||||
.text-white { color: $white !important; }
|
||||
|
||||
@each $color, $value in $theme-colors {
|
||||
@include text-emphasis-variant(".text-#{$color}", $value);
|
||||
}
|
||||
|
||||
.text-body { color: $body-color !important; }
|
||||
.text-muted { color: $text-muted !important; }
|
||||
|
||||
.text-black-50 { color: rgba($black, .5) !important; }
|
||||
.text-white-50 { color: rgba($white, .5) !important; }
|
||||
|
||||
// Misc
|
||||
|
||||
.text-hide {
|
||||
|
|
Reference in New Issue