Update to 0.5.0

Bootstrap 4.0 final update
This commit is contained in:
Holger Könemann 2018-02-03 12:24:49 +01:00
parent 41e006504b
commit dc30ee7d65
40 changed files with 1142 additions and 1205 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -232,10 +232,6 @@ gulp.task('copy-assets', function() {
gulp.src(basePaths.node + 'font-awesome/scss/*.scss')
.pipe(gulp.dest(basePaths.dev + '/sass/fontawesome'));
// Copy jQuery
gulp.src(basePaths.node + 'jquery/dist/*.js')
.pipe(gulp.dest(basePaths.js));
// _s SCSS files
gulp.src(basePaths.node + 'undescores-for-npm/sass/**/*.scss')
.pipe(gulp.dest(basePaths.dev + '/sass/underscores'));

View file

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

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,6 @@
/**!
* @fileOverview Kickass library to create and place poppers near their reference elements.
* @version 1.12.9
* @version 1.13.0
* @license
* Copyright (c) 2016 Federico Zivolo and contributors
*

View file

@ -1,6 +1,6 @@
{
"name": "understrap-child",
"version": "0.4.0",
"version": "0.5.0",
"description": "Basic Child Theme for UnderStrap Theme Framework: https://github.com/holger1411/understrap",
"main": "index.js",
"scripts": {
@ -25,31 +25,32 @@
},
"homepage": "https://understrap.com",
"dependencies": {
"bootstrap": "4.0.0-beta.3",
"bootstrap": "4.0.0",
"browser-sync": "^2.22.0",
"del": "^3.0.0",
"font-awesome": "^4.7.0",
"gulp": "^3.9.1",
"gulp-clean-css": "^3.9.1",
"gulp-clone": "^1.0.0",
"gulp-clone": "^1.1.4",
"gulp-concat": "^2.6.1",
"gulp-cssnano": "^2.1.2",
"gulp-ignore": "^2.0.2",
"gulp-imagemin": "^4.0.0",
"gulp-merge": "^0.1.1",
"gulp-plumber": "^1.1.0",
"gulp-plumber": "^1.2.0",
"gulp-rename": "^1.2.2",
"gulp-rimraf": "^0.2.1",
"gulp-replace": "^0.6.1",
"gulp-rimraf": "^0.2.2",
"gulp-sass": "^3.1.0",
"gulp-sequence": "^0.4.6",
"gulp-sourcemaps": "2.6.2",
"gulp-uglify": "^3.0.0",
"gulp-watch": "^4.3.11",
"merge2": "^1.2.0",
"popper.js": "^1.12.9",
"run-sequence": "^2.2.0",
"merge2": "^1.2.1",
"popper.js": "^1.13.0",
"run-sequence": "^2.2.1",
"undescores-for-npm": "^1.0.0",
"understrap": "^0.7.0"
"understrap": "^0.8.0"
}
}

View file

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

View file

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

File diff suppressed because one or more lines are too long

View file

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

File diff suppressed because one or more lines are too long

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -4,21 +4,18 @@
.list-group-item-#{$state} {
color: $color;
background-color: $background;
}
a.list-group-item-#{$state},
button.list-group-item-#{$state} {
color: $color;
&.list-group-item-action {
@include hover-focus {
color: $color;
background-color: darken($background, 5%);
}
@include hover-focus {
color: $color;
background-color: darken($background, 5%);
}
&.active {
color: #fff;
background-color: $color;
border-color: $color;
&.active {
color: #fff;
background-color: $color;
border-color: $color;
}
}
}
}

View file

@ -4,7 +4,12 @@
// Border
//
.border { border: $border-width solid $border-color !important; }
.border { border: $border-width solid $border-color !important; }
.border-top { border-top: $border-width solid $border-color !important; }
.border-right { border-right: $border-width solid $border-color !important; }
.border-bottom { border-bottom: $border-width solid $border-color !important; }
.border-left { border-left: $border-width solid $border-color !important; }
.border-0 { border: 0 !important; }
.border-top-0 { border-top: 0 !important; }
.border-right-0 { border-right: 0 !important; }

View file

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

View file

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

View file

@ -3,4 +3,4 @@
// Just copy a variable from src/sass/bootstrap4/_variables.scss, paste it here and edit the value.
$primary: #0052CC; // Thats a sample how you could change a BootStrap variable.
$primary: #8753D5; // Thats a sample how you could change a BootStrap variable.

View file

@ -43,6 +43,11 @@
// Post design
.entry-footer span { padding-right: 10px; }
//Woocommerce product gallery slider width fix
figure.woocommerce-product-gallery__wrapper {
max-width: inherit !important;
}
// Limit featured image size to 100%
img.wp-post-image,
article img,

View file

@ -5,7 +5,7 @@
Author: Holger Koenemann
Author URI: http://www.holgerkoenemann.de
Template: understrap
Version: 0.4.0
Version: 0.5.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: understrap-child