bootstrap-v4-rtl
Advanced tools
Comparing version 4.3.1-6 to 4.4.1-0
/*! | ||
* Bootstrap alert.js v4.3.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Bootstrap alert.js v4.4.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Copyright 2011-2019 Mahdi Majidzadeh | ||
@@ -7,10 +7,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/eventHandler.js'), require('./dom/selectorEngine.js'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/eventHandler.js', './dom/selectorEngine.js', './util.js'], factory) : | ||
(global = global || self, global.Alert = factory(global.Data, global.EventHandler, global.SelectorEngine, global.Util)); | ||
}(this, function (Data, EventHandler, SelectorEngine, Util) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : | ||
(global = global || self, global.Alert = factory(global.jQuery, global.Util)); | ||
}(this, (function ($, Util) { 'use strict'; | ||
Data = Data && Data.hasOwnProperty('default') ? Data['default'] : Data; | ||
EventHandler = EventHandler && EventHandler.hasOwnProperty('default') ? EventHandler['default'] : EventHandler; | ||
SelectorEngine = SelectorEngine && SelectorEngine.hasOwnProperty('default') ? SelectorEngine['default'] : SelectorEngine; | ||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; | ||
Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; | ||
@@ -41,6 +39,7 @@ | ||
var NAME = 'alert'; | ||
var VERSION = '4.3.1'; | ||
var VERSION = '4.4.1'; | ||
var DATA_KEY = 'bs.alert'; | ||
var EVENT_KEY = "." + DATA_KEY; | ||
var DATA_API_KEY = '.data-api'; | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
var Selector = { | ||
@@ -58,9 +57,8 @@ DISMISS: '[data-dismiss="alert"]' | ||
SHOW: 'show' | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
}; | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
@@ -72,6 +70,2 @@ var Alert = | ||
this._element = element; | ||
if (this._element) { | ||
Data.setData(element, DATA_KEY, this); | ||
} | ||
} // Getters | ||
@@ -92,3 +86,3 @@ | ||
if (customEvent === null || customEvent.defaultPrevented) { | ||
if (customEvent.isDefaultPrevented()) { | ||
return; | ||
@@ -101,3 +95,3 @@ } | ||
_proto.dispose = function dispose() { | ||
Data.removeData(this._element, DATA_KEY); | ||
$.removeData(this._element, DATA_KEY); | ||
this._element = null; | ||
@@ -112,7 +106,7 @@ } // Private | ||
if (selector) { | ||
parent = SelectorEngine.findOne(selector); | ||
parent = document.querySelector(selector); | ||
} | ||
if (!parent) { | ||
parent = SelectorEngine.closest(element, "." + ClassName.ALERT); | ||
parent = $(element).closest("." + ClassName.ALERT)[0]; | ||
} | ||
@@ -124,3 +118,5 @@ | ||
_proto._triggerCloseEvent = function _triggerCloseEvent(element) { | ||
return EventHandler.trigger(element, Event.CLOSE); | ||
var closeEvent = $.Event(Event.CLOSE); | ||
$(element).trigger(closeEvent); | ||
return closeEvent; | ||
}; | ||
@@ -131,5 +127,5 @@ | ||
element.classList.remove(ClassName.SHOW); | ||
$(element).removeClass(ClassName.SHOW); | ||
if (!element.classList.contains(ClassName.FADE)) { | ||
if (!$(element).hasClass(ClassName.FADE)) { | ||
this._destroyElement(element); | ||
@@ -141,14 +137,9 @@ | ||
var transitionDuration = Util.getTransitionDurationFromElement(element); | ||
EventHandler.one(element, Util.TRANSITION_END, function (event) { | ||
$(element).one(Util.TRANSITION_END, function (event) { | ||
return _this._destroyElement(element, event); | ||
}); | ||
Util.emulateTransitionEnd(element, transitionDuration); | ||
}).emulateTransitionEnd(transitionDuration); | ||
}; | ||
_proto._destroyElement = function _destroyElement(element) { | ||
if (element.parentNode) { | ||
element.parentNode.removeChild(element); | ||
} | ||
EventHandler.trigger(element, Event.CLOSED); | ||
$(element).detach().trigger(Event.CLOSED).remove(); | ||
} // Static | ||
@@ -159,6 +150,8 @@ ; | ||
return this.each(function () { | ||
var data = Data.getData(this, DATA_KEY); | ||
var $element = $(this); | ||
var data = $element.data(DATA_KEY); | ||
if (!data) { | ||
data = new Alert(this); | ||
$element.data(DATA_KEY, data); | ||
} | ||
@@ -182,6 +175,2 @@ | ||
Alert._getInstance = function _getInstance(element) { | ||
return Data.getData(element, DATA_KEY); | ||
}; | ||
_createClass(Alert, null, [{ | ||
@@ -203,3 +192,3 @@ key: "VERSION", | ||
EventHandler.on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); | ||
$(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); | ||
/** | ||
@@ -209,21 +198,15 @@ * ------------------------------------------------------------------------ | ||
* ------------------------------------------------------------------------ | ||
* add .alert to jQuery only if jQuery is present | ||
*/ | ||
var $ = Util.jQuery; | ||
$.fn[NAME] = Alert._jQueryInterface; | ||
$.fn[NAME].Constructor = Alert; | ||
if (typeof $ !== 'undefined') { | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
$.fn[NAME] = Alert._jQueryInterface; | ||
$.fn[NAME].Constructor = Alert; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Alert._jQueryInterface; | ||
}; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Alert._jQueryInterface; | ||
}; | ||
} | ||
return Alert; | ||
})); | ||
}))); | ||
//# sourceMappingURL=alert.js.map |
/*! | ||
* Bootstrap button.js v4.3.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Bootstrap button.js v4.4.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Copyright 2011-2019 Mahdi Majidzadeh | ||
@@ -7,11 +7,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/eventHandler.js'), require('./dom/selectorEngine.js'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/eventHandler.js', './dom/selectorEngine.js', './util.js'], factory) : | ||
(global = global || self, global.Button = factory(global.Data, global.EventHandler, global.SelectorEngine, global.Util)); | ||
}(this, function (Data, EventHandler, SelectorEngine, Util) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) : | ||
typeof define === 'function' && define.amd ? define(['jquery'], factory) : | ||
(global = global || self, global.Button = factory(global.jQuery)); | ||
}(this, (function ($) { 'use strict'; | ||
Data = Data && Data.hasOwnProperty('default') ? Data['default'] : Data; | ||
EventHandler = EventHandler && EventHandler.hasOwnProperty('default') ? EventHandler['default'] : EventHandler; | ||
SelectorEngine = SelectorEngine && SelectorEngine.hasOwnProperty('default') ? SelectorEngine['default'] : SelectorEngine; | ||
Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; | ||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; | ||
@@ -41,6 +38,7 @@ function _defineProperties(target, props) { | ||
var NAME = 'button'; | ||
var VERSION = '4.3.1'; | ||
var VERSION = '4.4.1'; | ||
var DATA_KEY = 'bs.button'; | ||
var EVENT_KEY = "." + DATA_KEY; | ||
var DATA_API_KEY = '.data-api'; | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
var ClassName = { | ||
@@ -53,3 +51,5 @@ ACTIVE: 'active', | ||
DATA_TOGGLE_CARROT: '[data-toggle^="button"]', | ||
DATA_TOGGLE: '[data-toggle="buttons"]', | ||
DATA_TOGGLES: '[data-toggle="buttons"]', | ||
DATA_TOGGLE: '[data-toggle="button"]', | ||
DATA_TOGGLES_BUTTONS: '[data-toggle="buttons"] .btn', | ||
INPUT: 'input:not([type="hidden"])', | ||
@@ -61,11 +61,10 @@ ACTIVE: '.active', | ||
CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, | ||
FOCUS_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY, | ||
BLUR_DATA_API: "blur" + EVENT_KEY + DATA_API_KEY | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY), | ||
LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY | ||
}; | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
@@ -77,3 +76,2 @@ var Button = | ||
this._element = element; | ||
Data.setData(element, DATA_KEY, this); | ||
} // Getters | ||
@@ -88,6 +86,6 @@ | ||
var addAriaPressed = true; | ||
var rootElement = SelectorEngine.closest(this._element, Selector.DATA_TOGGLE); | ||
var rootElement = $(this._element).closest(Selector.DATA_TOGGLES)[0]; | ||
if (rootElement) { | ||
var input = SelectorEngine.findOne(Selector.INPUT, this._element); | ||
var input = this._element.querySelector(Selector.INPUT); | ||
@@ -99,17 +97,20 @@ if (input) { | ||
} else { | ||
var activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement); | ||
var activeElement = rootElement.querySelector(Selector.ACTIVE); | ||
if (activeElement) { | ||
activeElement.classList.remove(ClassName.ACTIVE); | ||
$(activeElement).removeClass(ClassName.ACTIVE); | ||
} | ||
} | ||
} else if (input.type === 'checkbox') { | ||
if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName.ACTIVE)) { | ||
triggerChangeEvent = false; | ||
} | ||
} else { | ||
// if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input | ||
triggerChangeEvent = false; | ||
} | ||
if (triggerChangeEvent) { | ||
if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) { | ||
return; | ||
} | ||
input.checked = !this._element.classList.contains(ClassName.ACTIVE); | ||
EventHandler.trigger(input, 'change'); | ||
$(input).trigger('change'); | ||
} | ||
@@ -122,8 +123,10 @@ | ||
if (addAriaPressed) { | ||
this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName.ACTIVE)); | ||
} | ||
if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) { | ||
if (addAriaPressed) { | ||
this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName.ACTIVE)); | ||
} | ||
if (triggerChangeEvent) { | ||
this._element.classList.toggle(ClassName.ACTIVE); | ||
if (triggerChangeEvent) { | ||
$(this._element).toggleClass(ClassName.ACTIVE); | ||
} | ||
} | ||
@@ -133,3 +136,3 @@ }; | ||
_proto.dispose = function dispose() { | ||
Data.removeData(this._element, DATA_KEY); | ||
$.removeData(this._element, DATA_KEY); | ||
this._element = null; | ||
@@ -141,6 +144,7 @@ } // Static | ||
return this.each(function () { | ||
var data = Data.getData(this, DATA_KEY); | ||
var data = $(this).data(DATA_KEY); | ||
if (!data) { | ||
data = new Button(this); | ||
$(this).data(DATA_KEY, data); | ||
} | ||
@@ -154,6 +158,2 @@ | ||
Button._getInstance = function _getInstance(element) { | ||
return Data.getData(element, DATA_KEY); | ||
}; | ||
_createClass(Button, null, [{ | ||
@@ -175,27 +175,55 @@ key: "VERSION", | ||
EventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { | ||
event.preventDefault(); | ||
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { | ||
var button = event.target; | ||
if (!button.classList.contains(ClassName.BUTTON)) { | ||
button = SelectorEngine.closest(button, Selector.BUTTON); | ||
if (!$(button).hasClass(ClassName.BUTTON)) { | ||
button = $(button).closest(Selector.BUTTON)[0]; | ||
} | ||
var data = Data.getData(button, DATA_KEY); | ||
if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) { | ||
event.preventDefault(); // work around Firefox bug #1540995 | ||
} else { | ||
var inputBtn = button.querySelector(Selector.INPUT); | ||
if (!data) { | ||
data = new Button(button); | ||
Data.setData(button, DATA_KEY, data); | ||
if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) { | ||
event.preventDefault(); // work around Firefox bug #1540995 | ||
return; | ||
} | ||
Button._jQueryInterface.call($(button), 'toggle'); | ||
} | ||
}).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { | ||
var button = $(event.target).closest(Selector.BUTTON)[0]; | ||
$(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type)); | ||
}); | ||
$(window).on(Event.LOAD_DATA_API, function () { | ||
// ensure correct active class is set to match the controls' actual values/states | ||
// find all checkboxes/readio buttons inside data-toggle groups | ||
var buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLES_BUTTONS)); | ||
data.toggle(); | ||
for (var i = 0, len = buttons.length; i < len; i++) { | ||
var button = buttons[i]; | ||
var input = button.querySelector(Selector.INPUT); | ||
if (input.checked || input.hasAttribute('checked')) { | ||
button.classList.add(ClassName.ACTIVE); | ||
} else { | ||
button.classList.remove(ClassName.ACTIVE); | ||
} | ||
} // find all button toggles | ||
buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)); | ||
for (var _i = 0, _len = buttons.length; _i < _len; _i++) { | ||
var _button = buttons[_i]; | ||
if (_button.getAttribute('aria-pressed') === 'true') { | ||
_button.classList.add(ClassName.ACTIVE); | ||
} else { | ||
_button.classList.remove(ClassName.ACTIVE); | ||
} | ||
} | ||
}); | ||
EventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { | ||
var button = SelectorEngine.closest(event.target, Selector.BUTTON); | ||
button.classList.add(ClassName.FOCUS); | ||
}); | ||
EventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { | ||
var button = SelectorEngine.closest(event.target, Selector.BUTTON); | ||
button.classList.remove(ClassName.FOCUS); | ||
}); | ||
/** | ||
@@ -205,21 +233,15 @@ * ------------------------------------------------------------------------ | ||
* ------------------------------------------------------------------------ | ||
* add .button to jQuery only if jQuery is present | ||
*/ | ||
var $ = Util.jQuery; | ||
$.fn[NAME] = Button._jQueryInterface; | ||
$.fn[NAME].Constructor = Button; | ||
if (typeof $ !== 'undefined') { | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
$.fn[NAME] = Button._jQueryInterface; | ||
$.fn[NAME].Constructor = Button; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Button._jQueryInterface; | ||
}; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Button._jQueryInterface; | ||
}; | ||
} | ||
return Button; | ||
})); | ||
}))); | ||
//# sourceMappingURL=button.js.map |
/*! | ||
* Bootstrap carousel.js v4.3.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Bootstrap carousel.js v4.4.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Copyright 2011-2019 Mahdi Majidzadeh | ||
@@ -7,11 +7,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/eventHandler.js'), require('./dom/manipulator.js'), require('./dom/selectorEngine.js'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/eventHandler.js', './dom/manipulator.js', './dom/selectorEngine.js', './util.js'], factory) : | ||
(global = global || self, global.Carousel = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine, global.Util)); | ||
}(this, function (Data, EventHandler, Manipulator, SelectorEngine, Util) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : | ||
(global = global || self, global.Carousel = factory(global.jQuery, global.Util)); | ||
}(this, (function ($, Util) { 'use strict'; | ||
Data = Data && Data.hasOwnProperty('default') ? Data['default'] : Data; | ||
EventHandler = EventHandler && EventHandler.hasOwnProperty('default') ? EventHandler['default'] : EventHandler; | ||
Manipulator = Manipulator && Manipulator.hasOwnProperty('default') ? Manipulator['default'] : Manipulator; | ||
SelectorEngine = SelectorEngine && SelectorEngine.hasOwnProperty('default') ? SelectorEngine['default'] : SelectorEngine; | ||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; | ||
Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; | ||
@@ -50,16 +47,31 @@ | ||
function _objectSpread(target) { | ||
function ownKeys(object, enumerableOnly) { | ||
var keys = Object.keys(object); | ||
if (Object.getOwnPropertySymbols) { | ||
var symbols = Object.getOwnPropertySymbols(object); | ||
if (enumerableOnly) symbols = symbols.filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(object, sym).enumerable; | ||
}); | ||
keys.push.apply(keys, symbols); | ||
} | ||
return keys; | ||
} | ||
function _objectSpread2(target) { | ||
for (var i = 1; i < arguments.length; i++) { | ||
var source = arguments[i] != null ? arguments[i] : {}; | ||
var ownKeys = Object.keys(source); | ||
if (typeof Object.getOwnPropertySymbols === 'function') { | ||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(source, sym).enumerable; | ||
})); | ||
if (i % 2) { | ||
ownKeys(Object(source), true).forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} else if (Object.getOwnPropertyDescriptors) { | ||
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); | ||
} else { | ||
ownKeys(Object(source)).forEach(function (key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
}); | ||
} | ||
ownKeys.forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} | ||
@@ -77,6 +89,7 @@ | ||
var NAME = 'carousel'; | ||
var VERSION = '4.3.1'; | ||
var VERSION = '4.4.1'; | ||
var DATA_KEY = 'bs.carousel'; | ||
var EVENT_KEY = "." + DATA_KEY; | ||
var DATA_API_KEY = '.data-api'; | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key | ||
@@ -150,9 +163,8 @@ | ||
PEN: 'pen' | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
}; | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
@@ -173,3 +185,3 @@ var Carousel = | ||
this._element = element; | ||
this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element); | ||
this._indicatorsElement = this._element.querySelector(Selector.INDICATORS); | ||
this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; | ||
@@ -179,4 +191,2 @@ this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent); | ||
this._addEventListeners(); | ||
Data.setData(element, DATA_KEY, this); | ||
} // Getters | ||
@@ -197,3 +207,3 @@ | ||
// or the carousel or its parent isn't visible | ||
if (!document.hidden && Util.isVisible(this._element)) { | ||
if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') { | ||
this.next(); | ||
@@ -214,3 +224,3 @@ } | ||
if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) { | ||
if (this._element.querySelector(Selector.NEXT_PREV)) { | ||
Util.triggerTransitionEnd(this._element); | ||
@@ -234,3 +244,3 @@ this.cycle(true); | ||
if (this._config && this._config.interval && !this._isPaused) { | ||
if (this._config.interval && !this._isPaused) { | ||
this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); | ||
@@ -243,3 +253,3 @@ } | ||
this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element); | ||
this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM); | ||
@@ -253,3 +263,3 @@ var activeIndex = this._getItemIndex(this._activeElement); | ||
if (this._isSliding) { | ||
EventHandler.one(this._element, Event.SLID, function () { | ||
$(this._element).one(Event.SLID, function () { | ||
return _this.to(index); | ||
@@ -272,4 +282,4 @@ }); | ||
_proto.dispose = function dispose() { | ||
EventHandler.off(this._element, EVENT_KEY); | ||
Data.removeData(this._element, DATA_KEY); | ||
$(this._element).off(EVENT_KEY); | ||
$.removeData(this._element, DATA_KEY); | ||
this._items = null; | ||
@@ -287,3 +297,3 @@ this._config = null; | ||
_proto._getConfig = function _getConfig(config) { | ||
config = _objectSpread({}, Default, config); | ||
config = _objectSpread2({}, Default, {}, config); | ||
Util.typeCheckConfig(NAME, config, DefaultType); | ||
@@ -300,3 +310,4 @@ return config; | ||
var direction = absDeltax / this.touchDeltaX; // swipe left | ||
var direction = absDeltax / this.touchDeltaX; | ||
this.touchDeltaX = 0; // swipe left | ||
@@ -317,3 +328,3 @@ if (direction > 0) { | ||
if (this._config.keyboard) { | ||
EventHandler.on(this._element, Event.KEYDOWN, function (event) { | ||
$(this._element).on(Event.KEYDOWN, function (event) { | ||
return _this2._keydown(event); | ||
@@ -324,6 +335,5 @@ }); | ||
if (this._config.pause === 'hover') { | ||
EventHandler.on(this._element, Event.MOUSEENTER, function (event) { | ||
$(this._element).on(Event.MOUSEENTER, function (event) { | ||
return _this2.pause(event); | ||
}); | ||
EventHandler.on(this._element, Event.MOUSELEAVE, function (event) { | ||
}).on(Event.MOUSELEAVE, function (event) { | ||
return _this2.cycle(event); | ||
@@ -346,6 +356,6 @@ }); | ||
var start = function start(event) { | ||
if (_this3._pointerEvent && PointerType[event.pointerType.toUpperCase()]) { | ||
_this3.touchStartX = event.clientX; | ||
if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { | ||
_this3.touchStartX = event.originalEvent.clientX; | ||
} else if (!_this3._pointerEvent) { | ||
_this3.touchStartX = event.touches[0].clientX; | ||
_this3.touchStartX = event.originalEvent.touches[0].clientX; | ||
} | ||
@@ -356,6 +366,6 @@ }; | ||
// ensure swiping with one touch and not pinching | ||
if (event.touches && event.touches.length > 1) { | ||
if (event.originalEvent.touches && event.originalEvent.touches.length > 1) { | ||
_this3.touchDeltaX = 0; | ||
} else { | ||
_this3.touchDeltaX = event.touches[0].clientX - _this3.touchStartX; | ||
_this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX; | ||
} | ||
@@ -365,4 +375,4 @@ }; | ||
var end = function end(event) { | ||
if (_this3._pointerEvent && PointerType[event.pointerType.toUpperCase()]) { | ||
_this3.touchDeltaX = event.clientX - _this3.touchStartX; | ||
if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { | ||
_this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX; | ||
} | ||
@@ -392,13 +402,11 @@ | ||
Util.makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(function (itemImg) { | ||
EventHandler.on(itemImg, Event.DRAG_START, function (e) { | ||
return e.preventDefault(); | ||
}); | ||
$(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, function (e) { | ||
return e.preventDefault(); | ||
}); | ||
if (this._pointerEvent) { | ||
EventHandler.on(this._element, Event.POINTERDOWN, function (event) { | ||
$(this._element).on(Event.POINTERDOWN, function (event) { | ||
return start(event); | ||
}); | ||
EventHandler.on(this._element, Event.POINTERUP, function (event) { | ||
$(this._element).on(Event.POINTERUP, function (event) { | ||
return end(event); | ||
@@ -409,9 +417,9 @@ }); | ||
} else { | ||
EventHandler.on(this._element, Event.TOUCHSTART, function (event) { | ||
$(this._element).on(Event.TOUCHSTART, function (event) { | ||
return start(event); | ||
}); | ||
EventHandler.on(this._element, Event.TOUCHMOVE, function (event) { | ||
$(this._element).on(Event.TOUCHMOVE, function (event) { | ||
return move(event); | ||
}); | ||
EventHandler.on(this._element, Event.TOUCHEND, function (event) { | ||
$(this._element).on(Event.TOUCHEND, function (event) { | ||
return end(event); | ||
@@ -437,4 +445,2 @@ }); | ||
break; | ||
default: | ||
} | ||
@@ -444,3 +450,3 @@ }; | ||
_proto._getItemIndex = function _getItemIndex(element) { | ||
this._items = element && element.parentNode ? Util.makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) : []; | ||
this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM)) : []; | ||
return this._items.indexOf(element); | ||
@@ -470,5 +476,5 @@ }; | ||
var fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)); | ||
var fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM)); | ||
return EventHandler.trigger(this._element, Event.SLIDE, { | ||
var slideEvent = $.Event(Event.SLIDE, { | ||
relatedTarget: relatedTarget, | ||
@@ -479,2 +485,4 @@ direction: eventDirectionName, | ||
}); | ||
$(this._element).trigger(slideEvent); | ||
return slideEvent; | ||
}; | ||
@@ -484,12 +492,9 @@ | ||
if (this._indicatorsElement) { | ||
var indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement); | ||
var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE)); | ||
$(indicators).removeClass(ClassName.ACTIVE); | ||
for (var i = 0; i < indicators.length; i++) { | ||
indicators[i].classList.remove(ClassName.ACTIVE); | ||
} | ||
var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; | ||
if (nextIndicator) { | ||
nextIndicator.classList.add(ClassName.ACTIVE); | ||
$(nextIndicator).addClass(ClassName.ACTIVE); | ||
} | ||
@@ -502,3 +507,3 @@ } | ||
var activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element); | ||
var activeElement = this._element.querySelector(Selector.ACTIVE_ITEM); | ||
@@ -526,3 +531,3 @@ var activeElementIndex = this._getItemIndex(activeElement); | ||
if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) { | ||
if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) { | ||
this._isSliding = false; | ||
@@ -534,3 +539,3 @@ return; | ||
if (slideEvent.defaultPrevented) { | ||
if (slideEvent.isDefaultPrevented()) { | ||
return; | ||
@@ -552,7 +557,14 @@ } | ||
if (this._element.classList.contains(ClassName.SLIDE)) { | ||
nextElement.classList.add(orderClassName); | ||
var slidEvent = $.Event(Event.SLID, { | ||
relatedTarget: nextElement, | ||
direction: eventDirectionName, | ||
from: activeElementIndex, | ||
to: nextElementIndex | ||
}); | ||
if ($(this._element).hasClass(ClassName.SLIDE)) { | ||
$(nextElement).addClass(orderClassName); | ||
Util.reflow(nextElement); | ||
activeElement.classList.add(directionalClassName); | ||
nextElement.classList.add(directionalClassName); | ||
$(activeElement).addClass(directionalClassName); | ||
$(nextElement).addClass(directionalClassName); | ||
var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10); | ||
@@ -568,30 +580,15 @@ | ||
var transitionDuration = Util.getTransitionDurationFromElement(activeElement); | ||
EventHandler.one(activeElement, Util.TRANSITION_END, function () { | ||
nextElement.classList.remove(directionalClassName); | ||
nextElement.classList.remove(orderClassName); | ||
nextElement.classList.add(ClassName.ACTIVE); | ||
activeElement.classList.remove(ClassName.ACTIVE); | ||
activeElement.classList.remove(orderClassName); | ||
activeElement.classList.remove(directionalClassName); | ||
$(activeElement).one(Util.TRANSITION_END, function () { | ||
$(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE); | ||
$(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName); | ||
_this4._isSliding = false; | ||
setTimeout(function () { | ||
EventHandler.trigger(_this4._element, Event.SLID, { | ||
relatedTarget: nextElement, | ||
direction: eventDirectionName, | ||
from: activeElementIndex, | ||
to: nextElementIndex | ||
}); | ||
return $(_this4._element).trigger(slidEvent); | ||
}, 0); | ||
}); | ||
Util.emulateTransitionEnd(activeElement, transitionDuration); | ||
}).emulateTransitionEnd(transitionDuration); | ||
} else { | ||
activeElement.classList.remove(ClassName.ACTIVE); | ||
nextElement.classList.add(ClassName.ACTIVE); | ||
$(activeElement).removeClass(ClassName.ACTIVE); | ||
$(nextElement).addClass(ClassName.ACTIVE); | ||
this._isSliding = false; | ||
EventHandler.trigger(this._element, Event.SLID, { | ||
relatedTarget: nextElement, | ||
direction: eventDirectionName, | ||
from: activeElementIndex, | ||
to: nextElementIndex | ||
}); | ||
$(this._element).trigger(slidEvent); | ||
} | ||
@@ -605,34 +602,31 @@ | ||
Carousel._carouselInterface = function _carouselInterface(element, config) { | ||
var data = Data.getData(element, DATA_KEY); | ||
Carousel._jQueryInterface = function _jQueryInterface(config) { | ||
return this.each(function () { | ||
var data = $(this).data(DATA_KEY); | ||
var _config = _objectSpread({}, Default, Manipulator.getDataAttributes(element)); | ||
var _config = _objectSpread2({}, Default, {}, $(this).data()); | ||
if (typeof config === 'object') { | ||
_config = _objectSpread({}, _config, config); | ||
} | ||
if (typeof config === 'object') { | ||
_config = _objectSpread2({}, _config, {}, config); | ||
} | ||
var action = typeof config === 'string' ? config : _config.slide; | ||
var action = typeof config === 'string' ? config : _config.slide; | ||
if (!data) { | ||
data = new Carousel(element, _config); | ||
} | ||
if (typeof config === 'number') { | ||
data.to(config); | ||
} else if (typeof action === 'string') { | ||
if (typeof data[action] === 'undefined') { | ||
throw new Error("No method named \"" + action + "\""); | ||
if (!data) { | ||
data = new Carousel(this, _config); | ||
$(this).data(DATA_KEY, data); | ||
} | ||
data[action](); | ||
} else if (_config.interval && _config.ride) { | ||
data.pause(); | ||
data.cycle(); | ||
} | ||
}; | ||
if (typeof config === 'number') { | ||
data.to(config); | ||
} else if (typeof action === 'string') { | ||
if (typeof data[action] === 'undefined') { | ||
throw new TypeError("No method named \"" + action + "\""); | ||
} | ||
Carousel._jQueryInterface = function _jQueryInterface(config) { | ||
return this.each(function () { | ||
Carousel._carouselInterface(this, config); | ||
data[action](); | ||
} else if (_config.interval && _config.ride) { | ||
data.pause(); | ||
data.cycle(); | ||
} | ||
}); | ||
@@ -648,9 +642,9 @@ }; | ||
var target = SelectorEngine.findOne(selector); | ||
var target = $(selector)[0]; | ||
if (!target || !target.classList.contains(ClassName.CAROUSEL)) { | ||
if (!target || !$(target).hasClass(ClassName.CAROUSEL)) { | ||
return; | ||
} | ||
var config = _objectSpread({}, Manipulator.getDataAttributes(target), Manipulator.getDataAttributes(this)); | ||
var config = _objectSpread2({}, $(target).data(), {}, $(this).data()); | ||
@@ -663,6 +657,6 @@ var slideIndex = this.getAttribute('data-slide-to'); | ||
Carousel._carouselInterface(target, config); | ||
Carousel._jQueryInterface.call($(target), config); | ||
if (slideIndex) { | ||
Data.getData(target, DATA_KEY).to(slideIndex); | ||
$(target).data(DATA_KEY).to(slideIndex); | ||
} | ||
@@ -673,6 +667,2 @@ | ||
Carousel._getInstance = function _getInstance(element) { | ||
return Data.getData(element, DATA_KEY); | ||
}; | ||
_createClass(Carousel, null, [{ | ||
@@ -699,8 +689,10 @@ key: "VERSION", | ||
EventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler); | ||
EventHandler.on(window, Event.LOAD_DATA_API, function () { | ||
var carousels = Util.makeArray(SelectorEngine.find(Selector.DATA_RIDE)); | ||
$(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler); | ||
$(window).on(Event.LOAD_DATA_API, function () { | ||
var carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE)); | ||
for (var i = 0, len = carousels.length; i < len; i++) { | ||
Carousel._carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY)); | ||
var $carousel = $(carousels[i]); | ||
Carousel._jQueryInterface.call($carousel, $carousel.data()); | ||
} | ||
@@ -712,21 +704,15 @@ }); | ||
* ------------------------------------------------------------------------ | ||
* add .carousel to jQuery only if jQuery is present | ||
*/ | ||
var $ = Util.jQuery; | ||
$.fn[NAME] = Carousel._jQueryInterface; | ||
$.fn[NAME].Constructor = Carousel; | ||
if (typeof $ !== 'undefined') { | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
$.fn[NAME] = Carousel._jQueryInterface; | ||
$.fn[NAME].Constructor = Carousel; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Carousel._jQueryInterface; | ||
}; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Carousel._jQueryInterface; | ||
}; | ||
} | ||
return Carousel; | ||
})); | ||
}))); | ||
//# sourceMappingURL=carousel.js.map |
/*! | ||
* Bootstrap collapse.js v4.3.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Bootstrap collapse.js v4.4.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Copyright 2011-2019 Mahdi Majidzadeh | ||
@@ -7,11 +7,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/eventHandler.js'), require('./dom/manipulator.js'), require('./dom/selectorEngine.js'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/eventHandler.js', './dom/manipulator.js', './dom/selectorEngine.js', './util.js'], factory) : | ||
(global = global || self, global.Collapse = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine, global.Util)); | ||
}(this, function (Data, EventHandler, Manipulator, SelectorEngine, Util) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : | ||
(global = global || self, global.Collapse = factory(global.jQuery, global.Util)); | ||
}(this, (function ($, Util) { 'use strict'; | ||
Data = Data && Data.hasOwnProperty('default') ? Data['default'] : Data; | ||
EventHandler = EventHandler && EventHandler.hasOwnProperty('default') ? EventHandler['default'] : EventHandler; | ||
Manipulator = Manipulator && Manipulator.hasOwnProperty('default') ? Manipulator['default'] : Manipulator; | ||
SelectorEngine = SelectorEngine && SelectorEngine.hasOwnProperty('default') ? SelectorEngine['default'] : SelectorEngine; | ||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; | ||
Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; | ||
@@ -50,16 +47,31 @@ | ||
function _objectSpread(target) { | ||
function ownKeys(object, enumerableOnly) { | ||
var keys = Object.keys(object); | ||
if (Object.getOwnPropertySymbols) { | ||
var symbols = Object.getOwnPropertySymbols(object); | ||
if (enumerableOnly) symbols = symbols.filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(object, sym).enumerable; | ||
}); | ||
keys.push.apply(keys, symbols); | ||
} | ||
return keys; | ||
} | ||
function _objectSpread2(target) { | ||
for (var i = 1; i < arguments.length; i++) { | ||
var source = arguments[i] != null ? arguments[i] : {}; | ||
var ownKeys = Object.keys(source); | ||
if (typeof Object.getOwnPropertySymbols === 'function') { | ||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(source, sym).enumerable; | ||
})); | ||
if (i % 2) { | ||
ownKeys(Object(source), true).forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} else if (Object.getOwnPropertyDescriptors) { | ||
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); | ||
} else { | ||
ownKeys(Object(source)).forEach(function (key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
}); | ||
} | ||
ownKeys.forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} | ||
@@ -77,6 +89,7 @@ | ||
var NAME = 'collapse'; | ||
var VERSION = '4.3.1'; | ||
var VERSION = '4.4.1'; | ||
var DATA_KEY = 'bs.collapse'; | ||
var EVENT_KEY = "." + DATA_KEY; | ||
var DATA_API_KEY = '.data-api'; | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
var Default = { | ||
@@ -110,9 +123,8 @@ toggle: true, | ||
DATA_TOGGLE: '[data-toggle="collapse"]' | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
}; | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
@@ -126,4 +138,4 @@ var Collapse = | ||
this._config = this._getConfig(config); | ||
this._triggerArray = Util.makeArray(SelectorEngine.find("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); | ||
var toggleList = Util.makeArray(SelectorEngine.find(Selector.DATA_TOGGLE)); | ||
this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); | ||
var toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)); | ||
@@ -133,7 +145,7 @@ for (var i = 0, len = toggleList.length; i < len; i++) { | ||
var selector = Util.getSelectorFromElement(elem); | ||
var filterElement = Util.makeArray(SelectorEngine.find(selector)).filter(function (foundElem) { | ||
var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) { | ||
return foundElem === element; | ||
}); | ||
if (selector !== null && filterElement.length) { | ||
if (selector !== null && filterElement.length > 0) { | ||
this._selector = selector; | ||
@@ -154,4 +166,2 @@ | ||
} | ||
Data.setData(element, DATA_KEY, this); | ||
} // Getters | ||
@@ -164,3 +174,3 @@ | ||
_proto.toggle = function toggle() { | ||
if (this._element.classList.contains(ClassName.SHOW)) { | ||
if ($(this._element).hasClass(ClassName.SHOW)) { | ||
this.hide(); | ||
@@ -175,3 +185,3 @@ } else { | ||
if (this._isTransitioning || this._element.classList.contains(ClassName.SHOW)) { | ||
if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) { | ||
return; | ||
@@ -184,3 +194,3 @@ } | ||
if (this._parent) { | ||
actives = Util.makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent)).filter(function (elem) { | ||
actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES)).filter(function (elem) { | ||
if (typeof _this._config.parent === 'string') { | ||
@@ -198,9 +208,4 @@ return elem.getAttribute('data-parent') === _this._config.parent; | ||
var container = SelectorEngine.findOne(this._selector); | ||
if (actives) { | ||
var tempActiveData = actives.filter(function (elem) { | ||
return container !== elem; | ||
}); | ||
activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null; | ||
activesData = $(actives).not(this._selector).data(DATA_KEY); | ||
@@ -212,5 +217,6 @@ if (activesData && activesData._isTransitioning) { | ||
var startEvent = EventHandler.trigger(this._element, Event.SHOW); | ||
var startEvent = $.Event(Event.SHOW); | ||
$(this._element).trigger(startEvent); | ||
if (startEvent.defaultPrevented) { | ||
if (startEvent.isDefaultPrevented()) { | ||
return; | ||
@@ -220,11 +226,7 @@ } | ||
if (actives) { | ||
actives.forEach(function (elemActive) { | ||
if (container !== elemActive) { | ||
Collapse._collapseInterface(elemActive, 'hide'); | ||
} | ||
Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide'); | ||
if (!activesData) { | ||
Data.setData(elemActive, DATA_KEY, null); | ||
} | ||
}); | ||
if (!activesData) { | ||
$(actives).data(DATA_KEY, null); | ||
} | ||
} | ||
@@ -234,13 +236,7 @@ | ||
this._element.classList.remove(ClassName.COLLAPSE); | ||
this._element.classList.add(ClassName.COLLAPSING); | ||
$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING); | ||
this._element.style[dimension] = 0; | ||
if (this._triggerArray.length) { | ||
this._triggerArray.forEach(function (element) { | ||
element.classList.remove(ClassName.COLLAPSED); | ||
element.setAttribute('aria-expanded', true); | ||
}); | ||
$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true); | ||
} | ||
@@ -251,8 +247,3 @@ | ||
var complete = function complete() { | ||
_this._element.classList.remove(ClassName.COLLAPSING); | ||
_this._element.classList.add(ClassName.COLLAPSE); | ||
_this._element.classList.add(ClassName.SHOW); | ||
$(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW); | ||
_this._element.style[dimension] = ''; | ||
@@ -262,3 +253,3 @@ | ||
EventHandler.trigger(_this._element, Event.SHOWN); | ||
$(_this._element).trigger(Event.SHOWN); | ||
}; | ||
@@ -269,4 +260,3 @@ | ||
var transitionDuration = Util.getTransitionDurationFromElement(this._element); | ||
EventHandler.one(this._element, Util.TRANSITION_END, complete); | ||
Util.emulateTransitionEnd(this._element, transitionDuration); | ||
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); | ||
this._element.style[dimension] = this._element[scrollSize] + "px"; | ||
@@ -278,9 +268,10 @@ }; | ||
if (this._isTransitioning || !this._element.classList.contains(ClassName.SHOW)) { | ||
if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) { | ||
return; | ||
} | ||
var startEvent = EventHandler.trigger(this._element, Event.HIDE); | ||
var startEvent = $.Event(Event.HIDE); | ||
$(this._element).trigger(startEvent); | ||
if (startEvent.defaultPrevented) { | ||
if (startEvent.isDefaultPrevented()) { | ||
return; | ||
@@ -293,9 +284,3 @@ } | ||
Util.reflow(this._element); | ||
this._element.classList.add(ClassName.COLLAPSING); | ||
this._element.classList.remove(ClassName.COLLAPSE); | ||
this._element.classList.remove(ClassName.SHOW); | ||
$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW); | ||
var triggerArrayLength = this._triggerArray.length; | ||
@@ -309,7 +294,6 @@ | ||
if (selector !== null) { | ||
var elem = SelectorEngine.findOne(selector); | ||
var $elem = $([].slice.call(document.querySelectorAll(selector))); | ||
if (!elem.classList.contains(ClassName.SHOW)) { | ||
trigger.classList.add(ClassName.COLLAPSED); | ||
trigger.setAttribute('aria-expanded', false); | ||
if (!$elem.hasClass(ClassName.SHOW)) { | ||
$(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false); | ||
} | ||
@@ -325,7 +309,3 @@ } | ||
_this2._element.classList.remove(ClassName.COLLAPSING); | ||
_this2._element.classList.add(ClassName.COLLAPSE); | ||
EventHandler.trigger(_this2._element, Event.HIDDEN); | ||
$(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN); | ||
}; | ||
@@ -335,4 +315,3 @@ | ||
var transitionDuration = Util.getTransitionDurationFromElement(this._element); | ||
EventHandler.one(this._element, Util.TRANSITION_END, complete); | ||
Util.emulateTransitionEnd(this._element, transitionDuration); | ||
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); | ||
}; | ||
@@ -345,3 +324,3 @@ | ||
_proto.dispose = function dispose() { | ||
Data.removeData(this._element, DATA_KEY); | ||
$.removeData(this._element, DATA_KEY); | ||
this._config = null; | ||
@@ -356,3 +335,3 @@ this._parent = null; | ||
_proto._getConfig = function _getConfig(config) { | ||
config = _objectSpread({}, Default, config); | ||
config = _objectSpread2({}, Default, {}, config); | ||
config.toggle = Boolean(config.toggle); // Coerce string values | ||
@@ -365,4 +344,3 @@ | ||
_proto._getDimension = function _getDimension() { | ||
var hasWidth = this._element.classList.contains(Dimension.WIDTH); | ||
var hasWidth = $(this._element).hasClass(Dimension.WIDTH); | ||
return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; | ||
@@ -377,13 +355,14 @@ }; | ||
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' || typeof this._config.parent[0] !== 'undefined') { | ||
if (typeof this._config.parent.jquery !== 'undefined') { | ||
parent = this._config.parent[0]; | ||
} | ||
} else { | ||
parent = SelectorEngine.findOne(this._config.parent); | ||
parent = document.querySelector(this._config.parent); | ||
} | ||
var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; | ||
Util.makeArray(SelectorEngine.find(selector, parent)).forEach(function (element) { | ||
var children = [].slice.call(parent.querySelectorAll(selector)); | ||
$(children).each(function (i, element) { | ||
_this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); | ||
@@ -395,16 +374,6 @@ }); | ||
_proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { | ||
if (element) { | ||
var isOpen = element.classList.contains(ClassName.SHOW); | ||
var isOpen = $(element).hasClass(ClassName.SHOW); | ||
if (triggerArray.length) { | ||
triggerArray.forEach(function (elem) { | ||
if (!isOpen) { | ||
elem.classList.add(ClassName.COLLAPSED); | ||
} else { | ||
elem.classList.remove(ClassName.COLLAPSED); | ||
} | ||
elem.setAttribute('aria-expanded', isOpen); | ||
}); | ||
} | ||
if (triggerArray.length) { | ||
$(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); | ||
} | ||
@@ -416,37 +385,31 @@ } // Static | ||
var selector = Util.getSelectorFromElement(element); | ||
return selector ? SelectorEngine.findOne(selector) : null; | ||
return selector ? document.querySelector(selector) : null; | ||
}; | ||
Collapse._collapseInterface = function _collapseInterface(element, config) { | ||
var data = Data.getData(element, DATA_KEY); | ||
Collapse._jQueryInterface = function _jQueryInterface(config) { | ||
return this.each(function () { | ||
var $this = $(this); | ||
var data = $this.data(DATA_KEY); | ||
var _config = _objectSpread({}, Default, Manipulator.getDataAttributes(element), typeof config === 'object' && config ? config : {}); | ||
var _config = _objectSpread2({}, Default, {}, $this.data(), {}, typeof config === 'object' && config ? config : {}); | ||
if (!data && _config.toggle && /show|hide/.test(config)) { | ||
_config.toggle = false; | ||
} | ||
if (!data && _config.toggle && /show|hide/.test(config)) { | ||
_config.toggle = false; | ||
} | ||
if (!data) { | ||
data = new Collapse(element, _config); | ||
} | ||
if (typeof config === 'string') { | ||
if (typeof data[config] === 'undefined') { | ||
throw new Error("No method named \"" + config + "\""); | ||
if (!data) { | ||
data = new Collapse(this, _config); | ||
$this.data(DATA_KEY, data); | ||
} | ||
data[config](); | ||
} | ||
}; | ||
if (typeof config === 'string') { | ||
if (typeof data[config] === 'undefined') { | ||
throw new TypeError("No method named \"" + config + "\""); | ||
} | ||
Collapse._jQueryInterface = function _jQueryInterface(config) { | ||
return this.each(function () { | ||
Collapse._collapseInterface(this, config); | ||
data[config](); | ||
} | ||
}); | ||
}; | ||
Collapse._getInstance = function _getInstance(element) { | ||
return Data.getData(element, DATA_KEY); | ||
}; | ||
_createClass(Collapse, null, [{ | ||
@@ -473,28 +436,17 @@ key: "VERSION", | ||
EventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element | ||
if (event.target.tagName === 'A') { | ||
if (event.currentTarget.tagName === 'A') { | ||
event.preventDefault(); | ||
} | ||
var triggerData = Manipulator.getDataAttributes(this); | ||
var $trigger = $(this); | ||
var selector = Util.getSelectorFromElement(this); | ||
var selectorElements = Util.makeArray(SelectorEngine.find(selector)); | ||
selectorElements.forEach(function (element) { | ||
var data = Data.getData(element, DATA_KEY); | ||
var config; | ||
var selectors = [].slice.call(document.querySelectorAll(selector)); | ||
$(selectors).each(function () { | ||
var $target = $(this); | ||
var data = $target.data(DATA_KEY); | ||
var config = data ? 'toggle' : $trigger.data(); | ||
if (data) { | ||
// update parent attribute | ||
if (data._parent === null && typeof triggerData.parent === 'string') { | ||
data._config.parent = triggerData.parent; | ||
data._parent = data._getParent(); | ||
} | ||
config = 'toggle'; | ||
} else { | ||
config = triggerData; | ||
} | ||
Collapse._collapseInterface(element, config); | ||
Collapse._jQueryInterface.call($target, config); | ||
}); | ||
@@ -506,21 +458,15 @@ }); | ||
* ------------------------------------------------------------------------ | ||
* add .collapse to jQuery only if jQuery is present | ||
*/ | ||
var $ = Util.jQuery; | ||
$.fn[NAME] = Collapse._jQueryInterface; | ||
$.fn[NAME].Constructor = Collapse; | ||
if (typeof $ !== 'undefined') { | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
$.fn[NAME] = Collapse._jQueryInterface; | ||
$.fn[NAME].Constructor = Collapse; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Collapse._jQueryInterface; | ||
}; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Collapse._jQueryInterface; | ||
}; | ||
} | ||
return Collapse; | ||
})); | ||
}))); | ||
//# sourceMappingURL=collapse.js.map |
/*! | ||
* Bootstrap dropdown.js v4.3.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Bootstrap dropdown.js v4.4.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Copyright 2011-2019 Mahdi Majidzadeh | ||
@@ -7,12 +7,9 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/eventHandler.js'), require('./dom/manipulator.js'), require('popper.js'), require('./dom/selectorEngine.js'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/eventHandler.js', './dom/manipulator.js', 'popper.js', './dom/selectorEngine.js', './util.js'], factory) : | ||
(global = global || self, global.Dropdown = factory(global.Data, global.EventHandler, global.Manipulator, global.Popper, global.SelectorEngine, global.Util)); | ||
}(this, function (Data, EventHandler, Manipulator, Popper, SelectorEngine, Util) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util.js'], factory) : | ||
(global = global || self, global.Dropdown = factory(global.jQuery, global.Popper, global.Util)); | ||
}(this, (function ($, Popper, Util) { 'use strict'; | ||
Data = Data && Data.hasOwnProperty('default') ? Data['default'] : Data; | ||
EventHandler = EventHandler && EventHandler.hasOwnProperty('default') ? EventHandler['default'] : EventHandler; | ||
Manipulator = Manipulator && Manipulator.hasOwnProperty('default') ? Manipulator['default'] : Manipulator; | ||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; | ||
Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper; | ||
SelectorEngine = SelectorEngine && SelectorEngine.hasOwnProperty('default') ? SelectorEngine['default'] : SelectorEngine; | ||
Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; | ||
@@ -51,16 +48,31 @@ | ||
function _objectSpread(target) { | ||
function ownKeys(object, enumerableOnly) { | ||
var keys = Object.keys(object); | ||
if (Object.getOwnPropertySymbols) { | ||
var symbols = Object.getOwnPropertySymbols(object); | ||
if (enumerableOnly) symbols = symbols.filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(object, sym).enumerable; | ||
}); | ||
keys.push.apply(keys, symbols); | ||
} | ||
return keys; | ||
} | ||
function _objectSpread2(target) { | ||
for (var i = 1; i < arguments.length; i++) { | ||
var source = arguments[i] != null ? arguments[i] : {}; | ||
var ownKeys = Object.keys(source); | ||
if (typeof Object.getOwnPropertySymbols === 'function') { | ||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(source, sym).enumerable; | ||
})); | ||
if (i % 2) { | ||
ownKeys(Object(source), true).forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} else if (Object.getOwnPropertyDescriptors) { | ||
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); | ||
} else { | ||
ownKeys(Object(source)).forEach(function (key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
}); | ||
} | ||
ownKeys.forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} | ||
@@ -78,6 +90,7 @@ | ||
var NAME = 'dropdown'; | ||
var VERSION = '4.3.1'; | ||
var VERSION = '4.4.1'; | ||
var DATA_KEY = 'bs.dropdown'; | ||
var EVENT_KEY = "." + DATA_KEY; | ||
var DATA_API_KEY = '.data-api'; | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key | ||
@@ -138,3 +151,4 @@ | ||
reference: 'toggle', | ||
display: 'dynamic' | ||
display: 'dynamic', | ||
popperConfig: null | ||
}; | ||
@@ -146,10 +160,10 @@ var DefaultType = { | ||
reference: '(string|element)', | ||
display: 'string' | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
display: 'string', | ||
popperConfig: '(null|object)' | ||
}; | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
@@ -167,4 +181,2 @@ var Dropdown = | ||
this._addEventListeners(); | ||
Data.setData(element, DATA_KEY, this); | ||
} // Getters | ||
@@ -177,10 +189,8 @@ | ||
_proto.toggle = function toggle() { | ||
if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) { | ||
if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) { | ||
return; | ||
} | ||
var parent = Dropdown._getParentFromElement(this._element); | ||
var isActive = $(this._menu).hasClass(ClassName.SHOW); | ||
var isActive = this._menu.classList.contains(ClassName.SHOW); | ||
Dropdown._clearMenus(); | ||
@@ -192,8 +202,24 @@ | ||
this.show(true); | ||
}; | ||
_proto.show = function show(usePopper) { | ||
if (usePopper === void 0) { | ||
usePopper = false; | ||
} | ||
if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) { | ||
return; | ||
} | ||
var relatedTarget = { | ||
relatedTarget: this._element | ||
}; | ||
var showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget); | ||
var showEvent = $.Event(Event.SHOW, relatedTarget); | ||
if (showEvent.defaultPrevented) { | ||
var parent = Dropdown._getParentFromElement(this._element); | ||
$(parent).trigger(showEvent); | ||
if (showEvent.isDefaultPrevented()) { | ||
return; | ||
@@ -203,3 +229,3 @@ } // Disable totally Popper.js for Dropdown in Navbar | ||
if (!this._inNavbar) { | ||
if (!this._inNavbar && usePopper) { | ||
/** | ||
@@ -210,3 +236,3 @@ * Check for Popper dependency | ||
if (typeof Popper === 'undefined') { | ||
throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org)'); | ||
throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)'); | ||
} | ||
@@ -230,3 +256,3 @@ | ||
if (this._config.boundary !== 'scrollParent') { | ||
parent.classList.add(ClassName.POSITION_STATIC); | ||
$(parent).addClass(ClassName.POSITION_STATIC); | ||
} | ||
@@ -241,6 +267,4 @@ | ||
if ('ontouchstart' in document.documentElement && !Util.makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) { | ||
Util.makeArray(document.body.children).forEach(function (elem) { | ||
return EventHandler.on(elem, 'mouseover', null, Util.noop()); | ||
}); | ||
if ('ontouchstart' in document.documentElement && $(parent).closest(Selector.NAVBAR_NAV).length === 0) { | ||
$(document.body).children().on('mouseover', null, $.noop); | ||
} | ||
@@ -252,52 +276,35 @@ | ||
Manipulator.toggleClass(this._menu, ClassName.SHOW); | ||
Manipulator.toggleClass(parent, ClassName.SHOW); | ||
EventHandler.trigger(parent, Event.SHOWN, relatedTarget); | ||
$(this._menu).toggleClass(ClassName.SHOW); | ||
$(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget)); | ||
}; | ||
_proto.show = function show() { | ||
if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) { | ||
_proto.hide = function hide() { | ||
if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) { | ||
return; | ||
} | ||
var parent = Dropdown._getParentFromElement(this._element); | ||
var relatedTarget = { | ||
relatedTarget: this._element | ||
}; | ||
var showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget); | ||
var hideEvent = $.Event(Event.HIDE, relatedTarget); | ||
if (showEvent.defaultPrevented) { | ||
return; | ||
} | ||
var parent = Dropdown._getParentFromElement(this._element); | ||
Manipulator.toggleClass(this._menu, ClassName.SHOW); | ||
Manipulator.toggleClass(parent, ClassName.SHOW); | ||
EventHandler.trigger(parent, Event.SHOWN, relatedTarget); | ||
}; | ||
$(parent).trigger(hideEvent); | ||
_proto.hide = function hide() { | ||
if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) { | ||
if (hideEvent.isDefaultPrevented()) { | ||
return; | ||
} | ||
var parent = Dropdown._getParentFromElement(this._element); | ||
var relatedTarget = { | ||
relatedTarget: this._element | ||
}; | ||
var hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget); | ||
if (hideEvent.defaultPrevented) { | ||
return; | ||
if (this._popper) { | ||
this._popper.destroy(); | ||
} | ||
Manipulator.toggleClass(this._menu, ClassName.SHOW); | ||
Manipulator.toggleClass(parent, ClassName.SHOW); | ||
EventHandler.trigger(parent, Event.HIDDEN, relatedTarget); | ||
$(this._menu).toggleClass(ClassName.SHOW); | ||
$(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget)); | ||
}; | ||
_proto.dispose = function dispose() { | ||
Data.removeData(this._element, DATA_KEY); | ||
EventHandler.off(this._element, EVENT_KEY); | ||
$.removeData(this._element, DATA_KEY); | ||
$(this._element).off(EVENT_KEY); | ||
this._element = null; | ||
@@ -325,3 +332,3 @@ this._menu = null; | ||
EventHandler.on(this._element, Event.CLICK, function (event) { | ||
$(this._element).on(Event.CLICK, function (event) { | ||
event.preventDefault(); | ||
@@ -335,3 +342,3 @@ event.stopPropagation(); | ||
_proto._getConfig = function _getConfig(config) { | ||
config = _objectSpread({}, this.constructor.Default, Manipulator.getDataAttributes(this._element), config); | ||
config = _objectSpread2({}, this.constructor.Default, {}, $(this._element).data(), {}, config); | ||
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); | ||
@@ -346,3 +353,3 @@ return config; | ||
if (parent) { | ||
this._menu = SelectorEngine.findOne(Selector.MENU, parent); | ||
this._menu = parent.querySelector(Selector.MENU); | ||
} | ||
@@ -355,16 +362,16 @@ } | ||
_proto._getPlacement = function _getPlacement() { | ||
var parentDropdown = this._element.parentNode; | ||
var $parentDropdown = $(this._element.parentNode); | ||
var placement = AttachmentMap.BOTTOM; // Handle dropup | ||
if (parentDropdown.classList.contains(ClassName.DROPUP)) { | ||
if ($parentDropdown.hasClass(ClassName.DROPUP)) { | ||
placement = AttachmentMap.TOP; | ||
if (this._menu.classList.contains(ClassName.MENURIGHT)) { | ||
if ($(this._menu).hasClass(ClassName.MENURIGHT)) { | ||
placement = AttachmentMap.TOPEND; | ||
} | ||
} else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) { | ||
} else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) { | ||
placement = AttachmentMap.RIGHT; | ||
} else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) { | ||
} else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) { | ||
placement = AttachmentMap.LEFT; | ||
} else if (this._menu.classList.contains(ClassName.MENURIGHT)) { | ||
} else if ($(this._menu).hasClass(ClassName.MENURIGHT)) { | ||
placement = AttachmentMap.BOTTOMEND; | ||
@@ -377,3 +384,3 @@ } | ||
_proto._detectNavbar = function _detectNavbar() { | ||
return Boolean(SelectorEngine.closest(this._element, '.navbar')); | ||
return $(this._element).closest('.navbar').length > 0; | ||
}; | ||
@@ -388,3 +395,3 @@ | ||
offset.fn = function (data) { | ||
data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {}); | ||
data.offsets = _objectSpread2({}, data.offsets, {}, _this2._config.offset(data.offsets, _this2._element) || {}); | ||
return data; | ||
@@ -410,6 +417,5 @@ }; | ||
} | ||
} // Disable Popper.js if we have a static display | ||
} | ||
}; // Disable Popper.js if we have a static display | ||
}; | ||
if (this._config.display === 'static') { | ||
@@ -421,27 +427,24 @@ popperConfig.modifiers.applyStyle = { | ||
return popperConfig; | ||
return _objectSpread2({}, popperConfig, {}, this._config.popperConfig); | ||
} // Static | ||
; | ||
Dropdown._dropdownInterface = function _dropdownInterface(element, config) { | ||
var data = Data.getData(element, DATA_KEY); | ||
Dropdown._jQueryInterface = function _jQueryInterface(config) { | ||
return this.each(function () { | ||
var data = $(this).data(DATA_KEY); | ||
var _config = typeof config === 'object' ? config : null; | ||
var _config = typeof config === 'object' ? config : null; | ||
if (!data) { | ||
data = new Dropdown(element, _config); | ||
} | ||
if (typeof config === 'string') { | ||
if (typeof data[config] === 'undefined') { | ||
throw new Error("No method named \"" + config + "\""); | ||
if (!data) { | ||
data = new Dropdown(this, _config); | ||
$(this).data(DATA_KEY, data); | ||
} | ||
data[config](); | ||
} | ||
}; | ||
if (typeof config === 'string') { | ||
if (typeof data[config] === 'undefined') { | ||
throw new TypeError("No method named \"" + config + "\""); | ||
} | ||
Dropdown._jQueryInterface = function _jQueryInterface(config) { | ||
return this.each(function () { | ||
Dropdown._dropdownInterface(this, config); | ||
data[config](); | ||
} | ||
}); | ||
@@ -455,3 +458,3 @@ }; | ||
var toggles = Util.makeArray(SelectorEngine.find(Selector.DATA_TOGGLE)); | ||
var toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)); | ||
@@ -461,3 +464,3 @@ for (var i = 0, len = toggles.length; i < len; i++) { | ||
var context = Data.getData(toggles[i], DATA_KEY); | ||
var context = $(toggles[i]).data(DATA_KEY); | ||
var relatedTarget = { | ||
@@ -477,13 +480,14 @@ relatedTarget: toggles[i] | ||
if (!parent.classList.contains(ClassName.SHOW)) { | ||
if (!$(parent).hasClass(ClassName.SHOW)) { | ||
continue; | ||
} | ||
if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && parent.contains(event.target)) { | ||
if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) { | ||
continue; | ||
} | ||
var hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget); | ||
var hideEvent = $.Event(Event.HIDE, relatedTarget); | ||
$(parent).trigger(hideEvent); | ||
if (hideEvent.defaultPrevented) { | ||
if (hideEvent.isDefaultPrevented()) { | ||
continue; | ||
@@ -495,11 +499,13 @@ } // If this is a touch-enabled device we remove the extra | ||
if ('ontouchstart' in document.documentElement) { | ||
Util.makeArray(document.body.children).forEach(function (elem) { | ||
return EventHandler.off(elem, 'mouseover', null, Util.noop()); | ||
}); | ||
$(document.body).children().off('mouseover', null, $.noop); | ||
} | ||
toggles[i].setAttribute('aria-expanded', 'false'); | ||
dropdownMenu.classList.remove(ClassName.SHOW); | ||
parent.classList.remove(ClassName.SHOW); | ||
EventHandler.trigger(parent, Event.HIDDEN, relatedTarget); | ||
if (context._popper) { | ||
context._popper.destroy(); | ||
} | ||
$(dropdownMenu).removeClass(ClassName.SHOW); | ||
$(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget)); | ||
} | ||
@@ -513,7 +519,8 @@ }; | ||
if (selector) { | ||
parent = SelectorEngine.findOne(selector); | ||
parent = document.querySelector(selector); | ||
} | ||
return parent || element.parentNode; | ||
}; | ||
} // eslint-disable-next-line complexity | ||
; | ||
@@ -528,3 +535,3 @@ Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { | ||
// - If trigger inside the menu => not a dropdown command | ||
if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || SelectorEngine.closest(event.target, Selector.MENU)) : !REGEXP_KEYDOWN.test(event.which)) { | ||
if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { | ||
return; | ||
@@ -536,3 +543,3 @@ } | ||
if (this.disabled || this.classList.contains(ClassName.DISABLED)) { | ||
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) { | ||
return; | ||
@@ -543,17 +550,23 @@ } | ||
var isActive = parent.classList.contains(ClassName.SHOW); | ||
var isActive = $(parent).hasClass(ClassName.SHOW); | ||
if (!isActive && event.which === ESCAPE_KEYCODE) { | ||
return; | ||
} | ||
if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { | ||
if (event.which === ESCAPE_KEYCODE) { | ||
EventHandler.trigger(SelectorEngine.findOne(Selector.DATA_TOGGLE, parent), 'focus'); | ||
var toggle = parent.querySelector(Selector.DATA_TOGGLE); | ||
$(toggle).trigger('focus'); | ||
} | ||
Dropdown._clearMenus(); | ||
$(this).trigger('click'); | ||
return; | ||
} | ||
var items = Util.makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent)); | ||
var items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS)).filter(function (item) { | ||
return $(item).is(':visible'); | ||
}); | ||
if (!items.length) { | ||
if (items.length === 0) { | ||
return; | ||
@@ -581,6 +594,2 @@ } | ||
Dropdown._getInstance = function _getInstance(element) { | ||
return Data.getData(element, DATA_KEY); | ||
}; | ||
_createClass(Dropdown, null, [{ | ||
@@ -612,15 +621,10 @@ key: "VERSION", | ||
EventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler); | ||
EventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler); | ||
EventHandler.on(document, Event.CLICK_DATA_API, Dropdown._clearMenus); | ||
EventHandler.on(document, Event.KEYUP_DATA_API, Dropdown._clearMenus); | ||
EventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
$(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
event.preventDefault(); | ||
event.stopPropagation(); | ||
Dropdown._dropdownInterface(this, 'toggle'); | ||
Dropdown._jQueryInterface.call($(this), 'toggle'); | ||
}).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) { | ||
e.stopPropagation(); | ||
}); | ||
EventHandler.on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) { | ||
return e.stopPropagation(); | ||
}); | ||
/** | ||
@@ -630,21 +634,15 @@ * ------------------------------------------------------------------------ | ||
* ------------------------------------------------------------------------ | ||
* add .dropdown to jQuery only if jQuery is present | ||
*/ | ||
var $ = Util.jQuery; | ||
$.fn[NAME] = Dropdown._jQueryInterface; | ||
$.fn[NAME].Constructor = Dropdown; | ||
if (typeof $ !== 'undefined') { | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
$.fn[NAME] = Dropdown._jQueryInterface; | ||
$.fn[NAME].Constructor = Dropdown; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Dropdown._jQueryInterface; | ||
}; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Dropdown._jQueryInterface; | ||
}; | ||
} | ||
return Dropdown; | ||
})); | ||
}))); | ||
//# sourceMappingURL=dropdown.js.map |
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): index.js | ||
* Bootstrap (v4.4.0): index.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -5,0 +5,0 @@ * -------------------------------------------------------------------------- |
/*! | ||
* Bootstrap modal.js v4.3.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Bootstrap modal.js v4.4.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Copyright 2011-2019 Mahdi Majidzadeh | ||
@@ -7,11 +7,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/eventHandler.js'), require('./dom/manipulator.js'), require('./dom/selectorEngine.js'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/eventHandler.js', './dom/manipulator.js', './dom/selectorEngine.js', './util.js'], factory) : | ||
(global = global || self, global.Modal = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine, global.Util)); | ||
}(this, function (Data, EventHandler, Manipulator, SelectorEngine, Util) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : | ||
(global = global || self, global.Modal = factory(global.jQuery, global.Util)); | ||
}(this, (function ($, Util) { 'use strict'; | ||
Data = Data && Data.hasOwnProperty('default') ? Data['default'] : Data; | ||
EventHandler = EventHandler && EventHandler.hasOwnProperty('default') ? EventHandler['default'] : EventHandler; | ||
Manipulator = Manipulator && Manipulator.hasOwnProperty('default') ? Manipulator['default'] : Manipulator; | ||
SelectorEngine = SelectorEngine && SelectorEngine.hasOwnProperty('default') ? SelectorEngine['default'] : SelectorEngine; | ||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; | ||
Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; | ||
@@ -50,16 +47,31 @@ | ||
function _objectSpread(target) { | ||
function ownKeys(object, enumerableOnly) { | ||
var keys = Object.keys(object); | ||
if (Object.getOwnPropertySymbols) { | ||
var symbols = Object.getOwnPropertySymbols(object); | ||
if (enumerableOnly) symbols = symbols.filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(object, sym).enumerable; | ||
}); | ||
keys.push.apply(keys, symbols); | ||
} | ||
return keys; | ||
} | ||
function _objectSpread2(target) { | ||
for (var i = 1; i < arguments.length; i++) { | ||
var source = arguments[i] != null ? arguments[i] : {}; | ||
var ownKeys = Object.keys(source); | ||
if (typeof Object.getOwnPropertySymbols === 'function') { | ||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(source, sym).enumerable; | ||
})); | ||
if (i % 2) { | ||
ownKeys(Object(source), true).forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} else if (Object.getOwnPropertyDescriptors) { | ||
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); | ||
} else { | ||
ownKeys(Object(source)).forEach(function (key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
}); | ||
} | ||
ownKeys.forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} | ||
@@ -77,6 +89,7 @@ | ||
var NAME = 'modal'; | ||
var VERSION = '4.3.1'; | ||
var VERSION = '4.4.1'; | ||
var DATA_KEY = 'bs.modal'; | ||
var EVENT_KEY = "." + DATA_KEY; | ||
var DATA_API_KEY = '.data-api'; | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key | ||
@@ -98,2 +111,3 @@ | ||
HIDE: "hide" + EVENT_KEY, | ||
HIDE_PREVENTED: "hidePrevented" + EVENT_KEY, | ||
HIDDEN: "hidden" + EVENT_KEY, | ||
@@ -116,3 +130,4 @@ SHOW: "show" + EVENT_KEY, | ||
FADE: 'fade', | ||
SHOW: 'show' | ||
SHOW: 'show', | ||
STATIC: 'modal-static' | ||
}; | ||
@@ -126,9 +141,8 @@ var Selector = { | ||
STICKY_CONTENT: '.sticky-top' | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
}; | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
@@ -141,3 +155,3 @@ var Modal = | ||
this._element = element; | ||
this._dialog = SelectorEngine.findOne(Selector.DIALOG, element); | ||
this._dialog = element.querySelector(Selector.DIALOG); | ||
this._backdrop = null; | ||
@@ -149,3 +163,2 @@ this._isShown = false; | ||
this._scrollbarWidth = 0; | ||
Data.setData(element, DATA_KEY, this); | ||
} // Getters | ||
@@ -168,11 +181,12 @@ | ||
if (this._element.classList.contains(ClassName.FADE)) { | ||
if ($(this._element).hasClass(ClassName.FADE)) { | ||
this._isTransitioning = true; | ||
} | ||
var showEvent = EventHandler.trigger(this._element, Event.SHOW, { | ||
var showEvent = $.Event(Event.SHOW, { | ||
relatedTarget: relatedTarget | ||
}); | ||
$(this._element).trigger(showEvent); | ||
if (this._isShown || showEvent.defaultPrevented) { | ||
if (this._isShown || showEvent.isDefaultPrevented()) { | ||
return; | ||
@@ -193,8 +207,8 @@ } | ||
EventHandler.on(this._element, Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) { | ||
$(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) { | ||
return _this.hide(event); | ||
}); | ||
EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, function () { | ||
EventHandler.one(_this._element, Event.MOUSEUP_DISMISS, function (event) { | ||
if (event.target === _this._element) { | ||
$(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () { | ||
$(_this._element).one(Event.MOUSEUP_DISMISS, function (event) { | ||
if ($(event.target).is(_this._element)) { | ||
_this._ignoreBackdropClick = true; | ||
@@ -221,5 +235,6 @@ } | ||
var hideEvent = EventHandler.trigger(this._element, Event.HIDE); | ||
var hideEvent = $.Event(Event.HIDE); | ||
$(this._element).trigger(hideEvent); | ||
if (!this._isShown || hideEvent.defaultPrevented) { | ||
if (!this._isShown || hideEvent.isDefaultPrevented()) { | ||
return; | ||
@@ -229,5 +244,4 @@ } | ||
this._isShown = false; | ||
var transition = $(this._element).hasClass(ClassName.FADE); | ||
var transition = this._element.classList.contains(ClassName.FADE); | ||
if (transition) { | ||
@@ -241,15 +255,12 @@ this._isTransitioning = true; | ||
EventHandler.off(document, Event.FOCUSIN); | ||
$(document).off(Event.FOCUSIN); | ||
$(this._element).removeClass(ClassName.SHOW); | ||
$(this._element).off(Event.CLICK_DISMISS); | ||
$(this._dialog).off(Event.MOUSEDOWN_DISMISS); | ||
this._element.classList.remove(ClassName.SHOW); | ||
EventHandler.off(this._element, Event.CLICK_DISMISS); | ||
EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS); | ||
if (transition) { | ||
var transitionDuration = Util.getTransitionDurationFromElement(this._element); | ||
EventHandler.one(this._element, Util.TRANSITION_END, function (event) { | ||
$(this._element).one(Util.TRANSITION_END, function (event) { | ||
return _this2._hideModal(event); | ||
}); | ||
Util.emulateTransitionEnd(this._element, transitionDuration); | ||
}).emulateTransitionEnd(transitionDuration); | ||
} else { | ||
@@ -262,3 +273,3 @@ this._hideModal(); | ||
[window, this._element, this._dialog].forEach(function (htmlElement) { | ||
return EventHandler.off(htmlElement, EVENT_KEY); | ||
return $(htmlElement).off(EVENT_KEY); | ||
}); | ||
@@ -271,4 +282,4 @@ /** | ||
EventHandler.off(document, Event.FOCUSIN); | ||
Data.removeData(this._element, DATA_KEY); | ||
$(document).off(Event.FOCUSIN); | ||
$.removeData(this._element, DATA_KEY); | ||
this._config = null; | ||
@@ -291,3 +302,3 @@ this._element = null; | ||
_proto._getConfig = function _getConfig(config) { | ||
config = _objectSpread({}, Default, config); | ||
config = _objectSpread2({}, Default, {}, config); | ||
Util.typeCheckConfig(NAME, config, DefaultType); | ||
@@ -297,7 +308,32 @@ return config; | ||
_proto._showElement = function _showElement(relatedTarget) { | ||
_proto._triggerBackdropTransition = function _triggerBackdropTransition() { | ||
var _this3 = this; | ||
var transition = this._element.classList.contains(ClassName.FADE); | ||
if (this._config.backdrop === 'static') { | ||
var hideEventPrevented = $.Event(Event.HIDE_PREVENTED); | ||
$(this._element).trigger(hideEventPrevented); | ||
if (hideEventPrevented.defaultPrevented) { | ||
return; | ||
} | ||
this._element.classList.add(ClassName.STATIC); | ||
var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element); | ||
$(this._element).one(Util.TRANSITION_END, function () { | ||
_this3._element.classList.remove(ClassName.STATIC); | ||
}).emulateTransitionEnd(modalTransitionDuration); | ||
this._element.focus(); | ||
} else { | ||
this.hide(); | ||
} | ||
}; | ||
_proto._showElement = function _showElement(relatedTarget) { | ||
var _this4 = this; | ||
var transition = $(this._element).hasClass(ClassName.FADE); | ||
var modalBody = this._dialog ? this._dialog.querySelector(Selector.MODAL_BODY) : null; | ||
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { | ||
@@ -314,4 +350,4 @@ // Don't move modal's DOM position | ||
if (this._dialog.classList.contains(ClassName.SCROLLABLE)) { | ||
SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog).scrollTop = 0; | ||
if ($(this._dialog).hasClass(ClassName.SCROLLABLE) && modalBody) { | ||
modalBody.scrollTop = 0; | ||
} else { | ||
@@ -325,3 +361,3 @@ this._element.scrollTop = 0; | ||
this._element.classList.add(ClassName.SHOW); | ||
$(this._element).addClass(ClassName.SHOW); | ||
@@ -332,11 +368,13 @@ if (this._config.focus) { | ||
var shownEvent = $.Event(Event.SHOWN, { | ||
relatedTarget: relatedTarget | ||
}); | ||
var transitionComplete = function transitionComplete() { | ||
if (_this3._config.focus) { | ||
_this3._element.focus(); | ||
if (_this4._config.focus) { | ||
_this4._element.focus(); | ||
} | ||
_this3._isTransitioning = false; | ||
EventHandler.trigger(_this3._element, Event.SHOWN, { | ||
relatedTarget: relatedTarget | ||
}); | ||
_this4._isTransitioning = false; | ||
$(_this4._element).trigger(shownEvent); | ||
}; | ||
@@ -346,4 +384,3 @@ | ||
var transitionDuration = Util.getTransitionDurationFromElement(this._dialog); | ||
EventHandler.one(this._dialog, Util.TRANSITION_END, transitionComplete); | ||
Util.emulateTransitionEnd(this._dialog, transitionDuration); | ||
$(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); | ||
} else { | ||
@@ -355,9 +392,8 @@ transitionComplete(); | ||
_proto._enforceFocus = function _enforceFocus() { | ||
var _this4 = this; | ||
var _this5 = this; | ||
EventHandler.off(document, Event.FOCUSIN); // guard against infinite focus loop | ||
EventHandler.on(document, Event.FOCUSIN, function (event) { | ||
if (document !== event.target && _this4._element !== event.target && !_this4._element.contains(event.target)) { | ||
_this4._element.focus(); | ||
$(document).off(Event.FOCUSIN) // Guard against infinite focus loop | ||
.on(Event.FOCUSIN, function (event) { | ||
if (document !== event.target && _this5._element !== event.target && $(_this5._element).has(event.target).length === 0) { | ||
_this5._element.focus(); | ||
} | ||
@@ -368,14 +404,12 @@ }); | ||
_proto._setEscapeEvent = function _setEscapeEvent() { | ||
var _this5 = this; | ||
var _this6 = this; | ||
if (this._isShown && this._config.keyboard) { | ||
EventHandler.on(this._element, Event.KEYDOWN_DISMISS, function (event) { | ||
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) { | ||
if (event.which === ESCAPE_KEYCODE) { | ||
event.preventDefault(); | ||
_this5.hide(); | ||
_this6._triggerBackdropTransition(); | ||
} | ||
}); | ||
} else if (!this._isShown) { | ||
EventHandler.off(this._element, Event.KEYDOWN_DISMISS); | ||
$(this._element).off(Event.KEYDOWN_DISMISS); | ||
} | ||
@@ -385,10 +419,10 @@ }; | ||
_proto._setResizeEvent = function _setResizeEvent() { | ||
var _this6 = this; | ||
var _this7 = this; | ||
if (this._isShown) { | ||
EventHandler.on(window, Event.RESIZE, function (event) { | ||
return _this6.handleUpdate(event); | ||
$(window).on(Event.RESIZE, function (event) { | ||
return _this7.handleUpdate(event); | ||
}); | ||
} else { | ||
EventHandler.off(window, Event.RESIZE); | ||
$(window).off(Event.RESIZE); | ||
} | ||
@@ -398,3 +432,3 @@ }; | ||
_proto._hideModal = function _hideModal() { | ||
var _this7 = this; | ||
var _this8 = this; | ||
@@ -410,9 +444,9 @@ this._element.style.display = 'none'; | ||
this._showBackdrop(function () { | ||
document.body.classList.remove(ClassName.OPEN); | ||
$(document.body).removeClass(ClassName.OPEN); | ||
_this7._resetAdjustments(); | ||
_this8._resetAdjustments(); | ||
_this7._resetScrollbar(); | ||
_this8._resetScrollbar(); | ||
EventHandler.trigger(_this7._element, Event.HIDDEN); | ||
$(_this8._element).trigger(Event.HIDDEN); | ||
}); | ||
@@ -423,4 +457,3 @@ }; | ||
if (this._backdrop) { | ||
this._backdrop.parentNode.removeChild(this._backdrop); | ||
$(this._backdrop).remove(); | ||
this._backdrop = null; | ||
@@ -431,5 +464,5 @@ } | ||
_proto._showBackdrop = function _showBackdrop(callback) { | ||
var _this8 = this; | ||
var _this9 = this; | ||
var animate = this._element.classList.contains(ClassName.FADE) ? ClassName.FADE : ''; | ||
var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : ''; | ||
@@ -444,6 +477,6 @@ if (this._isShown && this._config.backdrop) { | ||
document.body.appendChild(this._backdrop); | ||
EventHandler.on(this._element, Event.CLICK_DISMISS, function (event) { | ||
if (_this8._ignoreBackdropClick) { | ||
_this8._ignoreBackdropClick = false; | ||
$(this._backdrop).appendTo(document.body); | ||
$(this._element).on(Event.CLICK_DISMISS, function (event) { | ||
if (_this9._ignoreBackdropClick) { | ||
_this9._ignoreBackdropClick = false; | ||
return; | ||
@@ -456,7 +489,3 @@ } | ||
if (_this8._config.backdrop === 'static') { | ||
_this8._element.focus(); | ||
} else { | ||
_this8.hide(); | ||
} | ||
_this9._triggerBackdropTransition(); | ||
}); | ||
@@ -468,3 +497,3 @@ | ||
this._backdrop.classList.add(ClassName.SHOW); | ||
$(this._backdrop).addClass(ClassName.SHOW); | ||
@@ -481,9 +510,8 @@ if (!callback) { | ||
var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); | ||
EventHandler.one(this._backdrop, Util.TRANSITION_END, callback); | ||
Util.emulateTransitionEnd(this._backdrop, backdropTransitionDuration); | ||
$(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); | ||
} else if (!this._isShown && this._backdrop) { | ||
this._backdrop.classList.remove(ClassName.SHOW); | ||
$(this._backdrop).removeClass(ClassName.SHOW); | ||
var callbackRemove = function callbackRemove() { | ||
_this8._removeBackdrop(); | ||
_this9._removeBackdrop(); | ||
@@ -495,7 +523,6 @@ if (callback) { | ||
if (this._element.classList.contains(ClassName.FADE)) { | ||
if ($(this._element).hasClass(ClassName.FADE)) { | ||
var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); | ||
EventHandler.one(this._backdrop, Util.TRANSITION_END, callbackRemove); | ||
Util.emulateTransitionEnd(this._backdrop, _backdropTransitionDuration); | ||
$(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); | ||
} else { | ||
@@ -537,3 +564,3 @@ callbackRemove(); | ||
_proto._setScrollbar = function _setScrollbar() { | ||
var _this9 = this; | ||
var _this10 = this; | ||
@@ -543,24 +570,23 @@ if (this._isBodyOverflowing) { | ||
// while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set | ||
// Adjust fixed content padding | ||
Util.makeArray(SelectorEngine.find(Selector.FIXED_CONTENT)).forEach(function (element) { | ||
var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT)); | ||
var stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT)); // Adjust fixed content padding | ||
$(fixedContent).each(function (index, element) { | ||
var actualPadding = element.style.paddingRight; | ||
var calculatedPadding = window.getComputedStyle(element)['padding-right']; | ||
Manipulator.setDataAttribute(element, 'padding-right', actualPadding); | ||
element.style.paddingRight = parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px"; | ||
var calculatedPadding = $(element).css('padding-right'); | ||
$(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px"); | ||
}); // Adjust sticky content margin | ||
Util.makeArray(SelectorEngine.find(Selector.STICKY_CONTENT)).forEach(function (element) { | ||
$(stickyContent).each(function (index, element) { | ||
var actualMargin = element.style.marginRight; | ||
var calculatedMargin = window.getComputedStyle(element)['margin-right']; | ||
Manipulator.setDataAttribute(element, 'margin-right', actualMargin); | ||
element.style.marginRight = parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px"; | ||
var calculatedMargin = $(element).css('margin-right'); | ||
$(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px"); | ||
}); // Adjust body padding | ||
var actualPadding = document.body.style.paddingRight; | ||
var calculatedPadding = window.getComputedStyle(document.body)['padding-right']; | ||
Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding); | ||
document.body.style.paddingRight = parseFloat(calculatedPadding) + this._scrollbarWidth + "px"; | ||
var calculatedPadding = $(document.body).css('padding-right'); | ||
$(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); | ||
} | ||
document.body.classList.add(ClassName.OPEN); | ||
$(document.body).addClass(ClassName.OPEN); | ||
}; | ||
@@ -570,28 +596,21 @@ | ||
// Restore fixed content padding | ||
Util.makeArray(SelectorEngine.find(Selector.FIXED_CONTENT)).forEach(function (element) { | ||
var padding = Manipulator.getDataAttribute(element, 'padding-right'); | ||
var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT)); | ||
$(fixedContent).each(function (index, element) { | ||
var padding = $(element).data('padding-right'); | ||
$(element).removeData('padding-right'); | ||
element.style.paddingRight = padding ? padding : ''; | ||
}); // Restore sticky content | ||
if (typeof padding !== 'undefined') { | ||
Manipulator.removeDataAttribute(element, 'padding-right'); | ||
element.style.paddingRight = padding; | ||
} | ||
}); // Restore sticky content and navbar-toggler margin | ||
var elements = [].slice.call(document.querySelectorAll("" + Selector.STICKY_CONTENT)); | ||
$(elements).each(function (index, element) { | ||
var margin = $(element).data('margin-right'); | ||
Util.makeArray(SelectorEngine.find("" + Selector.STICKY_CONTENT)).forEach(function (element) { | ||
var margin = Manipulator.getDataAttribute(element, 'margin-right'); | ||
if (typeof margin !== 'undefined') { | ||
Manipulator.removeDataAttribute(element, 'margin-right'); | ||
element.style.marginRight = margin; | ||
$(element).css('margin-right', margin).removeData('margin-right'); | ||
} | ||
}); // Restore body padding | ||
var padding = Manipulator.getDataAttribute(document.body, 'padding-right'); | ||
if (typeof padding !== 'undefined') { | ||
Manipulator.removeDataAttribute(document.body, 'padding-right'); | ||
document.body.style.paddingRight = padding; | ||
} else { | ||
document.body.style.paddingRight = ''; | ||
} | ||
var padding = $(document.body).data('padding-right'); | ||
$(document.body).removeData('padding-right'); | ||
document.body.style.paddingRight = padding ? padding : ''; | ||
}; | ||
@@ -612,8 +631,9 @@ | ||
return this.each(function () { | ||
var data = Data.getData(this, DATA_KEY); | ||
var data = $(this).data(DATA_KEY); | ||
var _config = _objectSpread({}, Default, Manipulator.getDataAttributes(this), typeof config === 'object' && config ? config : {}); | ||
var _config = _objectSpread2({}, Default, {}, $(this).data(), {}, typeof config === 'object' && config ? config : {}); | ||
if (!data) { | ||
data = new Modal(this, _config); | ||
$(this).data(DATA_KEY, data); | ||
} | ||
@@ -633,6 +653,2 @@ | ||
Modal._getInstance = function _getInstance(element) { | ||
return Data.getData(element, DATA_KEY); | ||
}; | ||
_createClass(Modal, null, [{ | ||
@@ -659,4 +675,4 @@ key: "VERSION", | ||
EventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
var _this10 = this; | ||
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
var _this11 = this; | ||
@@ -667,6 +683,6 @@ var target; | ||
if (selector) { | ||
target = SelectorEngine.findOne(selector); | ||
target = document.querySelector(selector); | ||
} | ||
var config = Data.getData(target, DATA_KEY) ? 'toggle' : _objectSpread({}, Manipulator.getDataAttributes(target), Manipulator.getDataAttributes(this)); | ||
var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread2({}, $(target).data(), {}, $(this).data()); | ||
@@ -677,21 +693,16 @@ if (this.tagName === 'A' || this.tagName === 'AREA') { | ||
EventHandler.one(target, Event.SHOW, function (showEvent) { | ||
if (showEvent.defaultPrevented) { | ||
// only register focus restorer if modal will actually get shown | ||
var $target = $(target).one(Event.SHOW, function (showEvent) { | ||
if (showEvent.isDefaultPrevented()) { | ||
// Only register focus restorer if modal will actually get shown | ||
return; | ||
} | ||
EventHandler.one(target, Event.HIDDEN, function () { | ||
if (Util.isVisible(_this10)) { | ||
_this10.focus(); | ||
$target.one(Event.HIDDEN, function () { | ||
if ($(_this11).is(':visible')) { | ||
_this11.focus(); | ||
} | ||
}); | ||
}); | ||
var data = Data.getData(target, DATA_KEY); | ||
if (!data) { | ||
data = new Modal(target, config); | ||
} | ||
data.show(this); | ||
Modal._jQueryInterface.call($(target), config, this); | ||
}); | ||
@@ -704,18 +715,13 @@ /** | ||
var $ = Util.jQuery; | ||
$.fn[NAME] = Modal._jQueryInterface; | ||
$.fn[NAME].Constructor = Modal; | ||
if (typeof $ !== 'undefined') { | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
$.fn[NAME] = Modal._jQueryInterface; | ||
$.fn[NAME].Constructor = Modal; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Modal._jQueryInterface; | ||
}; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Modal._jQueryInterface; | ||
}; | ||
} | ||
return Modal; | ||
})); | ||
}))); | ||
//# sourceMappingURL=modal.js.map |
/*! | ||
* Bootstrap popover.js v4.3.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Bootstrap popover.js v4.4.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Copyright 2011-2019 Mahdi Majidzadeh | ||
@@ -7,11 +7,9 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/selectorEngine.js'), require('./tooltip.js'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/selectorEngine.js', './tooltip.js', './util.js'], factory) : | ||
(global = global || self, global.Popover = factory(global.Data, global.SelectorEngine, global.Tooltip, global.Util)); | ||
}(this, function (Data, SelectorEngine, Tooltip, Util) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./tooltip.js')) : | ||
typeof define === 'function' && define.amd ? define(['jquery', './tooltip.js'], factory) : | ||
(global = global || self, global.Popover = factory(global.jQuery, global.Tooltip)); | ||
}(this, (function ($, Tooltip) { 'use strict'; | ||
Data = Data && Data.hasOwnProperty('default') ? Data['default'] : Data; | ||
SelectorEngine = SelectorEngine && SelectorEngine.hasOwnProperty('default') ? SelectorEngine['default'] : SelectorEngine; | ||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; | ||
Tooltip = Tooltip && Tooltip.hasOwnProperty('default') ? Tooltip['default'] : Tooltip; | ||
Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; | ||
@@ -49,16 +47,31 @@ function _defineProperties(target, props) { | ||
function _objectSpread(target) { | ||
function ownKeys(object, enumerableOnly) { | ||
var keys = Object.keys(object); | ||
if (Object.getOwnPropertySymbols) { | ||
var symbols = Object.getOwnPropertySymbols(object); | ||
if (enumerableOnly) symbols = symbols.filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(object, sym).enumerable; | ||
}); | ||
keys.push.apply(keys, symbols); | ||
} | ||
return keys; | ||
} | ||
function _objectSpread2(target) { | ||
for (var i = 1; i < arguments.length; i++) { | ||
var source = arguments[i] != null ? arguments[i] : {}; | ||
var ownKeys = Object.keys(source); | ||
if (typeof Object.getOwnPropertySymbols === 'function') { | ||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(source, sym).enumerable; | ||
})); | ||
if (i % 2) { | ||
ownKeys(Object(source), true).forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} else if (Object.getOwnPropertyDescriptors) { | ||
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); | ||
} else { | ||
ownKeys(Object(source)).forEach(function (key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
}); | ||
} | ||
ownKeys.forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} | ||
@@ -82,16 +95,17 @@ | ||
var NAME = 'popover'; | ||
var VERSION = '4.3.1'; | ||
var VERSION = '4.4.1'; | ||
var DATA_KEY = 'bs.popover'; | ||
var EVENT_KEY = "." + DATA_KEY; | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
var CLASS_PREFIX = 'bs-popover'; | ||
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); | ||
var Default = _objectSpread({}, Tooltip.Default, { | ||
var Default = _objectSpread2({}, Tooltip.Default, { | ||
placement: 'right', | ||
trigger: 'click', | ||
content: '', | ||
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>' | ||
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>' | ||
}); | ||
var DefaultType = _objectSpread({}, Tooltip.DefaultType, { | ||
var DefaultType = _objectSpread2({}, Tooltip.DefaultType, { | ||
content: '(string|element|function)' | ||
@@ -119,9 +133,8 @@ }); | ||
MOUSELEAVE: "mouseleave" + EVENT_KEY | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
}; | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
@@ -145,9 +158,14 @@ var Popover = | ||
_proto.addAttachmentClass = function addAttachmentClass(attachment) { | ||
this.getTipElement().classList.add(CLASS_PREFIX + "-" + attachment); | ||
$(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); | ||
}; | ||
_proto.getTipElement = function getTipElement() { | ||
this.tip = this.tip || $(this.config.template)[0]; | ||
return this.tip; | ||
}; | ||
_proto.setContent = function setContent() { | ||
var tip = this.getTipElement(); // we use append for html objects to maintain js events | ||
var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events | ||
this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle()); | ||
this.setElementContent($tip.find(Selector.TITLE), this.getTitle()); | ||
@@ -160,5 +178,4 @@ var content = this._getContent(); | ||
this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content); | ||
tip.classList.remove(ClassName.FADE); | ||
tip.classList.remove(ClassName.SHOW); | ||
this.setElementContent($tip.find(Selector.CONTENT), content); | ||
$tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); | ||
} // Private | ||
@@ -172,11 +189,7 @@ ; | ||
_proto._cleanTipClass = function _cleanTipClass() { | ||
var tip = this.getTipElement(); | ||
var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX); | ||
var $tip = $(this.getTipElement()); | ||
var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); | ||
if (tabClass !== null && tabClass.length > 0) { | ||
tabClass.map(function (token) { | ||
return token.trim(); | ||
}).forEach(function (tClass) { | ||
return tip.classList.remove(tClass); | ||
}); | ||
$tip.removeClass(tabClass.join('')); | ||
} | ||
@@ -188,3 +201,3 @@ } // Static | ||
return this.each(function () { | ||
var data = Data.getData(this, DATA_KEY); | ||
var data = $(this).data(DATA_KEY); | ||
@@ -199,3 +212,3 @@ var _config = typeof config === 'object' ? config : null; | ||
data = new Popover(this, _config); | ||
Data.setData(this, DATA_KEY, data); | ||
$(this).data(DATA_KEY, data); | ||
} | ||
@@ -213,6 +226,2 @@ | ||
Popover._getInstance = function _getInstance(element) { | ||
return Data.getData(element, DATA_KEY); | ||
}; | ||
_createClass(Popover, null, [{ | ||
@@ -265,18 +274,13 @@ key: "VERSION", | ||
var $ = Util.jQuery; | ||
$.fn[NAME] = Popover._jQueryInterface; | ||
$.fn[NAME].Constructor = Popover; | ||
if (typeof $ !== 'undefined') { | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
$.fn[NAME] = Popover._jQueryInterface; | ||
$.fn[NAME].Constructor = Popover; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Popover._jQueryInterface; | ||
}; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Popover._jQueryInterface; | ||
}; | ||
} | ||
return Popover; | ||
})); | ||
}))); | ||
//# sourceMappingURL=popover.js.map |
/*! | ||
* Bootstrap scrollspy.js v4.3.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Bootstrap scrollspy.js v4.4.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Copyright 2011-2019 Mahdi Majidzadeh | ||
@@ -7,11 +7,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/eventHandler.js'), require('./dom/manipulator.js'), require('./dom/selectorEngine.js'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/eventHandler.js', './dom/manipulator.js', './dom/selectorEngine.js', './util.js'], factory) : | ||
(global = global || self, global.ScrollSpy = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine, global.Util)); | ||
}(this, function (Data, EventHandler, Manipulator, SelectorEngine, Util) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : | ||
(global = global || self, global.ScrollSpy = factory(global.jQuery, global.Util)); | ||
}(this, (function ($, Util) { 'use strict'; | ||
Data = Data && Data.hasOwnProperty('default') ? Data['default'] : Data; | ||
EventHandler = EventHandler && EventHandler.hasOwnProperty('default') ? EventHandler['default'] : EventHandler; | ||
Manipulator = Manipulator && Manipulator.hasOwnProperty('default') ? Manipulator['default'] : Manipulator; | ||
SelectorEngine = SelectorEngine && SelectorEngine.hasOwnProperty('default') ? SelectorEngine['default'] : SelectorEngine; | ||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; | ||
Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; | ||
@@ -50,16 +47,31 @@ | ||
function _objectSpread(target) { | ||
function ownKeys(object, enumerableOnly) { | ||
var keys = Object.keys(object); | ||
if (Object.getOwnPropertySymbols) { | ||
var symbols = Object.getOwnPropertySymbols(object); | ||
if (enumerableOnly) symbols = symbols.filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(object, sym).enumerable; | ||
}); | ||
keys.push.apply(keys, symbols); | ||
} | ||
return keys; | ||
} | ||
function _objectSpread2(target) { | ||
for (var i = 1; i < arguments.length; i++) { | ||
var source = arguments[i] != null ? arguments[i] : {}; | ||
var ownKeys = Object.keys(source); | ||
if (typeof Object.getOwnPropertySymbols === 'function') { | ||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(source, sym).enumerable; | ||
})); | ||
if (i % 2) { | ||
ownKeys(Object(source), true).forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} else if (Object.getOwnPropertyDescriptors) { | ||
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); | ||
} else { | ||
ownKeys(Object(source)).forEach(function (key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
}); | ||
} | ||
ownKeys.forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} | ||
@@ -77,6 +89,7 @@ | ||
var NAME = 'scrollspy'; | ||
var VERSION = '4.3.1'; | ||
var VERSION = '4.4.1'; | ||
var DATA_KEY = 'bs.scrollspy'; | ||
var EVENT_KEY = "." + DATA_KEY; | ||
var DATA_API_KEY = '.data-api'; | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
var Default = { | ||
@@ -116,9 +129,8 @@ offset: 10, | ||
POSITION: 'position' | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
}; | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
@@ -139,3 +151,3 @@ var ScrollSpy = | ||
this._scrollHeight = 0; | ||
EventHandler.on(this._scrollElement, Event.SCROLL, function (event) { | ||
$(this._scrollElement).on(Event.SCROLL, function (event) { | ||
return _this._process(event); | ||
@@ -146,4 +158,2 @@ }); | ||
this._process(); | ||
Data.setData(element, DATA_KEY, this); | ||
} // Getters | ||
@@ -164,3 +174,3 @@ | ||
this._scrollHeight = this._getScrollHeight(); | ||
var targets = Util.makeArray(SelectorEngine.find(this._selector)); | ||
var targets = [].slice.call(document.querySelectorAll(this._selector)); | ||
targets.map(function (element) { | ||
@@ -171,3 +181,3 @@ var target; | ||
if (targetSelector) { | ||
target = SelectorEngine.findOne(targetSelector); | ||
target = document.querySelector(targetSelector); | ||
} | ||
@@ -180,3 +190,3 @@ | ||
// TODO (fat): remove sketch reliance on jQuery position/offset | ||
return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector]; | ||
return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; | ||
} | ||
@@ -198,4 +208,4 @@ } | ||
_proto.dispose = function dispose() { | ||
Data.removeData(this._element, DATA_KEY); | ||
EventHandler.off(this._scrollElement, EVENT_KEY); | ||
$.removeData(this._element, DATA_KEY); | ||
$(this._scrollElement).off(EVENT_KEY); | ||
this._element = null; | ||
@@ -213,10 +223,10 @@ this._scrollElement = null; | ||
_proto._getConfig = function _getConfig(config) { | ||
config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {}); | ||
config = _objectSpread2({}, Default, {}, typeof config === 'object' && config ? config : {}); | ||
if (typeof config.target !== 'string') { | ||
var id = config.target.id; | ||
var id = $(config.target).attr('id'); | ||
if (!id) { | ||
id = Util.getUID(NAME); | ||
config.target.id = id; | ||
$(config.target).attr('id', id); | ||
} | ||
@@ -292,26 +302,18 @@ | ||
var link = SelectorEngine.findOne(queries.join(',')); | ||
var $link = $([].slice.call(document.querySelectorAll(queries.join(',')))); | ||
if (link.classList.contains(ClassName.DROPDOWN_ITEM)) { | ||
SelectorEngine.findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN)).classList.add(ClassName.ACTIVE); | ||
link.classList.add(ClassName.ACTIVE); | ||
if ($link.hasClass(ClassName.DROPDOWN_ITEM)) { | ||
$link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE); | ||
$link.addClass(ClassName.ACTIVE); | ||
} else { | ||
// Set triggered link as active | ||
link.classList.add(ClassName.ACTIVE); | ||
SelectorEngine.parents(link, Selector.NAV_LIST_GROUP).forEach(function (listGroup) { | ||
// Set triggered links parents as active | ||
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor | ||
SelectorEngine.prev(listGroup, Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).forEach(function (item) { | ||
return item.classList.add(ClassName.ACTIVE); | ||
}); // Handle special case when .nav-link is inside .nav-item | ||
$link.addClass(ClassName.ACTIVE); // Set triggered links parents as active | ||
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor | ||
SelectorEngine.prev(listGroup, Selector.NAV_ITEMS).forEach(function (navItem) { | ||
SelectorEngine.children(navItem, Selector.NAV_LINKS).forEach(function (item) { | ||
return item.classList.add(ClassName.ACTIVE); | ||
}); | ||
}); | ||
}); | ||
$link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item | ||
$link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE); | ||
} | ||
EventHandler.trigger(this._scrollElement, Event.ACTIVATE, { | ||
$(this._scrollElement).trigger(Event.ACTIVATE, { | ||
relatedTarget: target | ||
@@ -322,3 +324,3 @@ }); | ||
_proto._clear = function _clear() { | ||
Util.makeArray(SelectorEngine.find(this._selector)).filter(function (node) { | ||
[].slice.call(document.querySelectorAll(this._selector)).filter(function (node) { | ||
return node.classList.contains(ClassName.ACTIVE); | ||
@@ -333,3 +335,3 @@ }).forEach(function (node) { | ||
return this.each(function () { | ||
var data = Data.getData(this, DATA_KEY); | ||
var data = $(this).data(DATA_KEY); | ||
@@ -340,2 +342,3 @@ var _config = typeof config === 'object' && config; | ||
data = new ScrollSpy(this, _config); | ||
$(this).data(DATA_KEY, data); | ||
} | ||
@@ -353,6 +356,2 @@ | ||
ScrollSpy._getInstance = function _getInstance(element) { | ||
return Data.getData(element, DATA_KEY); | ||
}; | ||
_createClass(ScrollSpy, null, [{ | ||
@@ -379,6 +378,11 @@ key: "VERSION", | ||
EventHandler.on(window, Event.LOAD_DATA_API, function () { | ||
Util.makeArray(SelectorEngine.find(Selector.DATA_SPY)).forEach(function (spy) { | ||
return new ScrollSpy(spy, Manipulator.getDataAttributes(spy)); | ||
}); | ||
$(window).on(Event.LOAD_DATA_API, function () { | ||
var scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY)); | ||
var scrollSpysLength = scrollSpys.length; | ||
for (var i = scrollSpysLength; i--;) { | ||
var $spy = $(scrollSpys[i]); | ||
ScrollSpy._jQueryInterface.call($spy, $spy.data()); | ||
} | ||
}); | ||
@@ -391,18 +395,13 @@ /** | ||
var $ = Util.jQuery; | ||
$.fn[NAME] = ScrollSpy._jQueryInterface; | ||
$.fn[NAME].Constructor = ScrollSpy; | ||
if (typeof $ !== 'undefined') { | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
$.fn[NAME] = ScrollSpy._jQueryInterface; | ||
$.fn[NAME].Constructor = ScrollSpy; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return ScrollSpy._jQueryInterface; | ||
}; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return ScrollSpy._jQueryInterface; | ||
}; | ||
} | ||
return ScrollSpy; | ||
})); | ||
}))); | ||
//# sourceMappingURL=scrollspy.js.map |
/*! | ||
* Bootstrap tab.js v4.3.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Bootstrap tab.js v4.4.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Copyright 2011-2019 Mahdi Majidzadeh | ||
@@ -7,10 +7,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/eventHandler.js'), require('./dom/selectorEngine.js'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/eventHandler.js', './dom/selectorEngine.js', './util.js'], factory) : | ||
(global = global || self, global.Tab = factory(global.Data, global.EventHandler, global.SelectorEngine, global.Util)); | ||
}(this, function (Data, EventHandler, SelectorEngine, Util) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : | ||
(global = global || self, global.Tab = factory(global.jQuery, global.Util)); | ||
}(this, (function ($, Util) { 'use strict'; | ||
Data = Data && Data.hasOwnProperty('default') ? Data['default'] : Data; | ||
EventHandler = EventHandler && EventHandler.hasOwnProperty('default') ? EventHandler['default'] : EventHandler; | ||
SelectorEngine = SelectorEngine && SelectorEngine.hasOwnProperty('default') ? SelectorEngine['default'] : SelectorEngine; | ||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; | ||
Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; | ||
@@ -41,6 +39,7 @@ | ||
var NAME = 'tab'; | ||
var VERSION = '4.3.1'; | ||
var VERSION = '4.4.1'; | ||
var DATA_KEY = 'bs.tab'; | ||
var EVENT_KEY = "." + DATA_KEY; | ||
var DATA_API_KEY = '.data-api'; | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
var Event = { | ||
@@ -64,13 +63,12 @@ HIDE: "hide" + EVENT_KEY, | ||
ACTIVE: '.active', | ||
ACTIVE_UL: ':scope > li > .active', | ||
ACTIVE_UL: '> li > .active', | ||
DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', | ||
DROPDOWN_TOGGLE: '.dropdown-toggle', | ||
DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active' | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active' | ||
}; | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
@@ -82,3 +80,2 @@ var Tab = | ||
this._element = element; | ||
Data.setData(this._element, DATA_KEY, this); | ||
} // Getters | ||
@@ -93,3 +90,3 @@ | ||
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains(ClassName.ACTIVE) || this._element.classList.contains(ClassName.DISABLED)) { | ||
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) { | ||
return; | ||
@@ -100,3 +97,3 @@ } | ||
var previous; | ||
var listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP); | ||
var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]; | ||
var selector = Util.getSelectorFromElement(this._element); | ||
@@ -106,19 +103,20 @@ | ||
var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE; | ||
previous = Util.makeArray(SelectorEngine.find(itemSelector, listElement)); | ||
previous = $.makeArray($(listElement).find(itemSelector)); | ||
previous = previous[previous.length - 1]; | ||
} | ||
var hideEvent = null; | ||
var hideEvent = $.Event(Event.HIDE, { | ||
relatedTarget: this._element | ||
}); | ||
var showEvent = $.Event(Event.SHOW, { | ||
relatedTarget: previous | ||
}); | ||
if (previous) { | ||
hideEvent = EventHandler.trigger(previous, Event.HIDE, { | ||
relatedTarget: this._element | ||
}); | ||
$(previous).trigger(hideEvent); | ||
} | ||
var showEvent = EventHandler.trigger(this._element, Event.SHOW, { | ||
relatedTarget: previous | ||
}); | ||
$(this._element).trigger(showEvent); | ||
if (showEvent.defaultPrevented || hideEvent !== null && hideEvent.defaultPrevented) { | ||
if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) { | ||
return; | ||
@@ -128,3 +126,3 @@ } | ||
if (selector) { | ||
target = SelectorEngine.findOne(selector); | ||
target = document.querySelector(selector); | ||
} | ||
@@ -135,8 +133,10 @@ | ||
var complete = function complete() { | ||
EventHandler.trigger(previous, Event.HIDDEN, { | ||
var hiddenEvent = $.Event(Event.HIDDEN, { | ||
relatedTarget: _this._element | ||
}); | ||
EventHandler.trigger(_this._element, Event.SHOWN, { | ||
var shownEvent = $.Event(Event.SHOWN, { | ||
relatedTarget: previous | ||
}); | ||
$(previous).trigger(hiddenEvent); | ||
$(_this._element).trigger(shownEvent); | ||
}; | ||
@@ -152,3 +152,3 @@ | ||
_proto.dispose = function dispose() { | ||
Data.removeData(this._element, DATA_KEY); | ||
$.removeData(this._element, DATA_KEY); | ||
this._element = null; | ||
@@ -161,5 +161,5 @@ } // Private | ||
var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(Selector.ACTIVE_UL, container) : SelectorEngine.children(container, Selector.ACTIVE); | ||
var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector.ACTIVE_UL) : $(container).children(Selector.ACTIVE); | ||
var active = activeElements[0]; | ||
var isTransitioning = callback && active && active.classList.contains(ClassName.FADE); | ||
var isTransitioning = callback && active && $(active).hasClass(ClassName.FADE); | ||
@@ -172,5 +172,3 @@ var complete = function complete() { | ||
var transitionDuration = Util.getTransitionDurationFromElement(active); | ||
active.classList.remove(ClassName.SHOW); | ||
EventHandler.one(active, Util.TRANSITION_END, complete); | ||
Util.emulateTransitionEnd(active, transitionDuration); | ||
$(active).removeClass(ClassName.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); | ||
} else { | ||
@@ -183,7 +181,7 @@ complete(); | ||
if (active) { | ||
active.classList.remove(ClassName.ACTIVE); | ||
var dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode); | ||
$(active).removeClass(ClassName.ACTIVE); | ||
var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0]; | ||
if (dropdownChild) { | ||
dropdownChild.classList.remove(ClassName.ACTIVE); | ||
$(dropdownChild).removeClass(ClassName.ACTIVE); | ||
} | ||
@@ -196,3 +194,3 @@ | ||
element.classList.add(ClassName.ACTIVE); | ||
$(element).addClass(ClassName.ACTIVE); | ||
@@ -209,9 +207,8 @@ if (element.getAttribute('role') === 'tab') { | ||
if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) { | ||
var dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN); | ||
if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) { | ||
var dropdownElement = $(element).closest(Selector.DROPDOWN)[0]; | ||
if (dropdownElement) { | ||
Util.makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE)).forEach(function (dropdown) { | ||
return dropdown.classList.add(ClassName.ACTIVE); | ||
}); | ||
var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE)); | ||
$(dropdownToggleList).addClass(ClassName.ACTIVE); | ||
} | ||
@@ -230,4 +227,10 @@ | ||
return this.each(function () { | ||
var data = Data.getData(this, DATA_KEY) || new Tab(this); | ||
var $this = $(this); | ||
var data = $this.data(DATA_KEY); | ||
if (!data) { | ||
data = new Tab(this); | ||
$this.data(DATA_KEY, data); | ||
} | ||
if (typeof config === 'string') { | ||
@@ -243,6 +246,2 @@ if (typeof data[config] === 'undefined') { | ||
Tab._getInstance = function _getInstance(element) { | ||
return Data.getData(element, DATA_KEY); | ||
}; | ||
_createClass(Tab, null, [{ | ||
@@ -264,6 +263,6 @@ key: "VERSION", | ||
EventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
event.preventDefault(); | ||
var data = Data.getData(this, DATA_KEY) || new Tab(this); | ||
data.show(); | ||
Tab._jQueryInterface.call($(this), 'show'); | ||
}); | ||
@@ -276,18 +275,13 @@ /** | ||
var $ = Util.jQuery; | ||
$.fn[NAME] = Tab._jQueryInterface; | ||
$.fn[NAME].Constructor = Tab; | ||
if (typeof $ !== 'undefined') { | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
$.fn[NAME] = Tab._jQueryInterface; | ||
$.fn[NAME].Constructor = Tab; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Tab._jQueryInterface; | ||
}; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Tab._jQueryInterface; | ||
}; | ||
} | ||
return Tab; | ||
})); | ||
}))); | ||
//# sourceMappingURL=tab.js.map |
/*! | ||
* Bootstrap toast.js v4.3.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Bootstrap toast.js v4.4.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Copyright 2011-2019 Mahdi Majidzadeh | ||
@@ -7,10 +7,8 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/eventHandler.js'), require('./dom/manipulator.js'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/eventHandler.js', './dom/manipulator.js', './util.js'], factory) : | ||
(global = global || self, global.Toast = factory(global.Data, global.EventHandler, global.Manipulator, global.Util)); | ||
}(this, function (Data, EventHandler, Manipulator, Util) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : | ||
(global = global || self, global.Toast = factory(global.jQuery, global.Util)); | ||
}(this, (function ($, Util) { 'use strict'; | ||
Data = Data && Data.hasOwnProperty('default') ? Data['default'] : Data; | ||
EventHandler = EventHandler && EventHandler.hasOwnProperty('default') ? EventHandler['default'] : EventHandler; | ||
Manipulator = Manipulator && Manipulator.hasOwnProperty('default') ? Manipulator['default'] : Manipulator; | ||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; | ||
Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; | ||
@@ -49,16 +47,31 @@ | ||
function _objectSpread(target) { | ||
function ownKeys(object, enumerableOnly) { | ||
var keys = Object.keys(object); | ||
if (Object.getOwnPropertySymbols) { | ||
var symbols = Object.getOwnPropertySymbols(object); | ||
if (enumerableOnly) symbols = symbols.filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(object, sym).enumerable; | ||
}); | ||
keys.push.apply(keys, symbols); | ||
} | ||
return keys; | ||
} | ||
function _objectSpread2(target) { | ||
for (var i = 1; i < arguments.length; i++) { | ||
var source = arguments[i] != null ? arguments[i] : {}; | ||
var ownKeys = Object.keys(source); | ||
if (typeof Object.getOwnPropertySymbols === 'function') { | ||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(source, sym).enumerable; | ||
})); | ||
if (i % 2) { | ||
ownKeys(Object(source), true).forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} else if (Object.getOwnPropertyDescriptors) { | ||
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); | ||
} else { | ||
ownKeys(Object(source)).forEach(function (key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
}); | ||
} | ||
ownKeys.forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} | ||
@@ -76,5 +89,6 @@ | ||
var NAME = 'toast'; | ||
var VERSION = '4.3.1'; | ||
var VERSION = '4.4.1'; | ||
var DATA_KEY = 'bs.toast'; | ||
var EVENT_KEY = "." + DATA_KEY; | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
var Event = { | ||
@@ -105,9 +119,8 @@ CLICK_DISMISS: "click.dismiss" + EVENT_KEY, | ||
DATA_DISMISS: '[data-dismiss="toast"]' | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
}; | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
@@ -123,4 +136,2 @@ var Toast = | ||
this._setListeners(); | ||
Data.setData(element, DATA_KEY, this); | ||
} // Getters | ||
@@ -135,4 +146,9 @@ | ||
EventHandler.trigger(this._element, Event.SHOW); | ||
var showEvent = $.Event(Event.SHOW); | ||
$(this._element).trigger(showEvent); | ||
if (showEvent.isDefaultPrevented()) { | ||
return; | ||
} | ||
if (this._config.animation) { | ||
@@ -147,6 +163,8 @@ this._element.classList.add(ClassName.FADE); | ||
EventHandler.trigger(_this._element, Event.SHOWN); | ||
$(_this._element).trigger(Event.SHOWN); | ||
if (_this._config.autohide) { | ||
_this.hide(); | ||
_this._timeout = setTimeout(function () { | ||
_this.hide(); | ||
}, _this._config.delay); | ||
} | ||
@@ -157,2 +175,4 @@ }; | ||
Util.reflow(this._element); | ||
this._element.classList.add(ClassName.SHOWING); | ||
@@ -162,4 +182,3 @@ | ||
var transitionDuration = Util.getTransitionDurationFromElement(this._element); | ||
EventHandler.one(this._element, Util.TRANSITION_END, complete); | ||
Util.emulateTransitionEnd(this._element, transitionDuration); | ||
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); | ||
} else { | ||
@@ -170,5 +189,3 @@ complete(); | ||
_proto.hide = function hide(withoutTimeout) { | ||
var _this2 = this; | ||
_proto.hide = function hide() { | ||
if (!this._element.classList.contains(ClassName.SHOW)) { | ||
@@ -178,11 +195,10 @@ return; | ||
EventHandler.trigger(this._element, Event.HIDE); | ||
var hideEvent = $.Event(Event.HIDE); | ||
$(this._element).trigger(hideEvent); | ||
if (withoutTimeout) { | ||
this._close(); | ||
} else { | ||
this._timeout = setTimeout(function () { | ||
_this2._close(); | ||
}, this._config.delay); | ||
if (hideEvent.isDefaultPrevented()) { | ||
return; | ||
} | ||
this._close(); | ||
}; | ||
@@ -198,4 +214,4 @@ | ||
EventHandler.off(this._element, Event.CLICK_DISMISS); | ||
Data.removeData(this._element, DATA_KEY); | ||
$(this._element).off(Event.CLICK_DISMISS); | ||
$.removeData(this._element, DATA_KEY); | ||
this._element = null; | ||
@@ -207,3 +223,3 @@ this._config = null; | ||
_proto._getConfig = function _getConfig(config) { | ||
config = _objectSpread({}, Default, Manipulator.getDataAttributes(this._element), typeof config === 'object' && config ? config : {}); | ||
config = _objectSpread2({}, Default, {}, $(this._element).data(), {}, typeof config === 'object' && config ? config : {}); | ||
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); | ||
@@ -214,6 +230,6 @@ return config; | ||
_proto._setListeners = function _setListeners() { | ||
var _this3 = this; | ||
var _this2 = this; | ||
EventHandler.on(this._element, Event.CLICK_DISMISS, Selector.DATA_DISMISS, function () { | ||
return _this3.hide(true); | ||
$(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function () { | ||
return _this2.hide(); | ||
}); | ||
@@ -223,8 +239,8 @@ }; | ||
_proto._close = function _close() { | ||
var _this4 = this; | ||
var _this3 = this; | ||
var complete = function complete() { | ||
_this4._element.classList.add(ClassName.HIDE); | ||
_this3._element.classList.add(ClassName.HIDE); | ||
EventHandler.trigger(_this4._element, Event.HIDDEN); | ||
$(_this3._element).trigger(Event.HIDDEN); | ||
}; | ||
@@ -236,4 +252,3 @@ | ||
var transitionDuration = Util.getTransitionDurationFromElement(this._element); | ||
EventHandler.one(this._element, Util.TRANSITION_END, complete); | ||
Util.emulateTransitionEnd(this._element, transitionDuration); | ||
$(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); | ||
} else { | ||
@@ -247,3 +262,4 @@ complete(); | ||
return this.each(function () { | ||
var data = Data.getData(this, DATA_KEY); | ||
var $element = $(this); | ||
var data = $element.data(DATA_KEY); | ||
@@ -254,2 +270,3 @@ var _config = typeof config === 'object' && config; | ||
data = new Toast(this, _config); | ||
$element.data(DATA_KEY, data); | ||
} | ||
@@ -267,6 +284,2 @@ | ||
Toast._getInstance = function _getInstance(element) { | ||
return Data.getData(element, DATA_KEY); | ||
}; | ||
_createClass(Toast, null, [{ | ||
@@ -295,22 +308,16 @@ key: "VERSION", | ||
* ------------------------------------------------------------------------ | ||
* add .toast to jQuery only if jQuery is present | ||
*/ | ||
var $ = Util.jQuery; | ||
$.fn[NAME] = Toast._jQueryInterface; | ||
$.fn[NAME].Constructor = Toast; | ||
if (typeof $ !== 'undefined') { | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
$.fn[NAME] = Toast._jQueryInterface; | ||
$.fn[NAME].Constructor = Toast; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Toast._jQueryInterface; | ||
}; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Toast._jQueryInterface; | ||
}; | ||
} | ||
return Toast; | ||
})); | ||
}))); | ||
//# sourceMappingURL=toast.js.map |
/*! | ||
* Bootstrap tooltip.js v4.3.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Bootstrap tooltip.js v4.4.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Copyright 2011-2019 Mahdi Majidzadeh | ||
@@ -7,13 +7,10 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./util.js'), require('./dom/data.js'), require('./dom/eventHandler.js'), require('./dom/manipulator.js'), require('popper.js'), require('./dom/selectorEngine.js')) : | ||
typeof define === 'function' && define.amd ? define(['./util.js', './dom/data.js', './dom/eventHandler.js', './dom/manipulator.js', 'popper.js', './dom/selectorEngine.js'], factory) : | ||
(global = global || self, global.Tooltip = factory(global.Util, global.Data, global.EventHandler, global.Manipulator, global.Popper, global.SelectorEngine)); | ||
}(this, function (Util, Data, EventHandler, Manipulator, Popper, SelectorEngine) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) : | ||
typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util.js'], factory) : | ||
(global = global || self, global.Tooltip = factory(global.jQuery, global.Popper, global.Util)); | ||
}(this, (function ($, Popper, Util) { 'use strict'; | ||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; | ||
Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper; | ||
Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; | ||
Data = Data && Data.hasOwnProperty('default') ? Data['default'] : Data; | ||
EventHandler = EventHandler && EventHandler.hasOwnProperty('default') ? EventHandler['default'] : EventHandler; | ||
Manipulator = Manipulator && Manipulator.hasOwnProperty('default') ? Manipulator['default'] : Manipulator; | ||
Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper; | ||
SelectorEngine = SelectorEngine && SelectorEngine.hasOwnProperty('default') ? SelectorEngine['default'] : SelectorEngine; | ||
@@ -51,16 +48,31 @@ function _defineProperties(target, props) { | ||
function _objectSpread(target) { | ||
function ownKeys(object, enumerableOnly) { | ||
var keys = Object.keys(object); | ||
if (Object.getOwnPropertySymbols) { | ||
var symbols = Object.getOwnPropertySymbols(object); | ||
if (enumerableOnly) symbols = symbols.filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(object, sym).enumerable; | ||
}); | ||
keys.push.apply(keys, symbols); | ||
} | ||
return keys; | ||
} | ||
function _objectSpread2(target) { | ||
for (var i = 1; i < arguments.length; i++) { | ||
var source = arguments[i] != null ? arguments[i] : {}; | ||
var ownKeys = Object.keys(source); | ||
if (typeof Object.getOwnPropertySymbols === 'function') { | ||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(source, sym).enumerable; | ||
})); | ||
if (i % 2) { | ||
ownKeys(Object(source), true).forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} else if (Object.getOwnPropertyDescriptors) { | ||
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); | ||
} else { | ||
ownKeys(Object(source)).forEach(function (key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
}); | ||
} | ||
ownKeys.forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} | ||
@@ -73,3 +85,3 @@ | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): tools/sanitizer.js | ||
* Bootstrap (v4.4.1): tools/sanitizer.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -112,9 +124,9 @@ * -------------------------------------------------------------------------- | ||
ul: [] | ||
/** | ||
* A pattern that recognizes a commonly useful subset of URLs that are safe. | ||
* | ||
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts | ||
*/ | ||
}; | ||
/** | ||
* A pattern that recognizes a commonly useful subset of URLs that are safe. | ||
* | ||
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts | ||
*/ | ||
}; | ||
var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi; | ||
@@ -165,3 +177,3 @@ /** | ||
var whitelistKeys = Object.keys(whiteList); | ||
var elements = Util.makeArray(createdDocument.body.querySelectorAll('*')); | ||
var elements = [].slice.call(createdDocument.body.querySelectorAll('*')); | ||
@@ -177,3 +189,3 @@ var _loop = function _loop(i, len) { | ||
var attributeList = Util.makeArray(el.attributes); | ||
var attributeList = [].slice.call(el.attributes); | ||
var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []); | ||
@@ -188,3 +200,3 @@ attributeList.forEach(function (attr) { | ||
for (var i = 0, len = elements.length; i < len; i++) { | ||
var _ret = _loop(i, len); | ||
var _ret = _loop(i); | ||
@@ -204,5 +216,6 @@ if (_ret === "continue") continue; | ||
var NAME = 'tooltip'; | ||
var VERSION = '4.3.1'; | ||
var VERSION = '4.4.1'; | ||
var DATA_KEY = 'bs.tooltip'; | ||
var EVENT_KEY = "." + DATA_KEY; | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
var CLASS_PREFIX = 'bs-tooltip'; | ||
@@ -226,3 +239,4 @@ var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); | ||
sanitizeFn: '(null|function)', | ||
whiteList: 'object' | ||
whiteList: 'object', | ||
popperConfig: '(null|object)' | ||
}; | ||
@@ -238,3 +252,3 @@ var AttachmentMap = { | ||
animation: true, | ||
template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div></div>', | ||
template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>', | ||
trigger: 'hover focus', | ||
@@ -252,3 +266,4 @@ title: '', | ||
sanitizeFn: null, | ||
whiteList: DefaultWhitelist | ||
whiteList: DefaultWhitelist, | ||
popperConfig: null | ||
}; | ||
@@ -278,3 +293,3 @@ var HoverState = { | ||
TOOLTIP_INNER: '.tooltip-inner', | ||
TOOLTIP_ARROW: '.tooltip-arrow' | ||
ARROW: '.arrow' | ||
}; | ||
@@ -286,9 +301,8 @@ var Trigger = { | ||
MANUAL: 'manual' | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
}; | ||
/** | ||
* ------------------------------------------------------------------------ | ||
* Class Definition | ||
* ------------------------------------------------------------------------ | ||
*/ | ||
@@ -299,8 +313,4 @@ var Tooltip = | ||
function Tooltip(element, config) { | ||
/** | ||
* Check for Popper dependency | ||
* Popper - https://popper.js.org | ||
*/ | ||
if (typeof Popper === 'undefined') { | ||
throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org)'); | ||
throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)'); | ||
} // private | ||
@@ -320,4 +330,2 @@ | ||
this._setListeners(); | ||
Data.setData(element, this.constructor.DATA_KEY, this); | ||
} // Getters | ||
@@ -348,7 +356,7 @@ | ||
var dataKey = this.constructor.DATA_KEY; | ||
var context = Data.getData(event.delegateTarget, dataKey); | ||
var context = $(event.currentTarget).data(dataKey); | ||
if (!context) { | ||
context = new this.constructor(event.delegateTarget, this._getDelegateConfig()); | ||
Data.setData(event.delegateTarget, dataKey, context); | ||
context = new this.constructor(event.currentTarget, this._getDelegateConfig()); | ||
$(event.currentTarget).data(dataKey, context); | ||
} | ||
@@ -364,3 +372,3 @@ | ||
} else { | ||
if (this.getTipElement().classList.contains(ClassName.SHOW)) { | ||
if ($(this.getTipElement()).hasClass(ClassName.SHOW)) { | ||
this._leave(null, this); | ||
@@ -377,8 +385,8 @@ | ||
clearTimeout(this._timeout); | ||
Data.removeData(this.element, this.constructor.DATA_KEY); | ||
EventHandler.off(this.element, this.constructor.EVENT_KEY); | ||
EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal'); | ||
$.removeData(this.element, this.constructor.DATA_KEY); | ||
$(this.element).off(this.constructor.EVENT_KEY); | ||
$(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler); | ||
if (this.tip) { | ||
this.tip.parentNode.removeChild(this.tip); | ||
$(this.tip).remove(); | ||
} | ||
@@ -391,3 +399,3 @@ | ||
if (this._popper !== null) { | ||
if (this._popper) { | ||
this._popper.destroy(); | ||
@@ -405,12 +413,14 @@ } | ||
if (this.element.style.display === 'none') { | ||
if ($(this.element).css('display') === 'none') { | ||
throw new Error('Please use show on visible elements'); | ||
} | ||
var showEvent = $.Event(this.constructor.Event.SHOW); | ||
if (this.isWithContent() && this._isEnabled) { | ||
var showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW); | ||
$(this.element).trigger(showEvent); | ||
var shadowRoot = Util.findShadowRoot(this.element); | ||
var isInTheDom = shadowRoot !== null ? shadowRoot.contains(this.element) : this.element.ownerDocument.documentElement.contains(this.element); | ||
var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element); | ||
if (showEvent.defaultPrevented || !isInTheDom) { | ||
if (showEvent.isDefaultPrevented() || !isInTheDom) { | ||
return; | ||
@@ -426,3 +436,3 @@ } | ||
if (this.config.animation) { | ||
tip.classList.add(ClassName.FADE); | ||
$(tip).addClass(ClassName.FADE); | ||
} | ||
@@ -438,33 +448,11 @@ | ||
Data.setData(tip, this.constructor.DATA_KEY, this); | ||
$(tip).data(this.constructor.DATA_KEY, this); | ||
if (!this.element.ownerDocument.documentElement.contains(this.tip)) { | ||
container.appendChild(tip); | ||
if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) { | ||
$(tip).appendTo(container); | ||
} | ||
EventHandler.trigger(this.element, this.constructor.Event.INSERTED); | ||
this._popper = new Popper(this.element, tip, { | ||
placement: attachment, | ||
modifiers: { | ||
offset: this._getOffset(), | ||
flip: { | ||
behavior: this.config.fallbackPlacement | ||
}, | ||
arrow: { | ||
element: Selector.TOOLTIP_ARROW | ||
}, | ||
preventOverflow: { | ||
boundariesElement: this.config.boundary | ||
} | ||
}, | ||
onCreate: function onCreate(data) { | ||
if (data.originalPlacement !== data.placement) { | ||
_this._handlePopperPlacementChange(data); | ||
} | ||
}, | ||
onUpdate: function onUpdate(data) { | ||
return _this._handlePopperPlacementChange(data); | ||
} | ||
}); | ||
tip.classList.add(ClassName.SHOW); // If this is a touch-enabled device we add extra | ||
$(this.element).trigger(this.constructor.Event.INSERTED); | ||
this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment)); | ||
$(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra | ||
// empty mouseover listeners to the body's immediate children; | ||
@@ -475,5 +463,3 @@ // only needed because of broken event delegation on iOS | ||
if ('ontouchstart' in document.documentElement) { | ||
Util.makeArray(document.body.children).forEach(function (element) { | ||
EventHandler.on(element, 'mouseover', Util.noop()); | ||
}); | ||
$(document.body).children().on('mouseover', null, $.noop); | ||
} | ||
@@ -488,3 +474,3 @@ | ||
_this._hoverState = null; | ||
EventHandler.trigger(_this.element, _this.constructor.Event.SHOWN); | ||
$(_this.element).trigger(_this.constructor.Event.SHOWN); | ||
@@ -496,6 +482,5 @@ if (prevHoverState === HoverState.OUT) { | ||
if (this.tip.classList.contains(ClassName.FADE)) { | ||
if ($(this.tip).hasClass(ClassName.FADE)) { | ||
var transitionDuration = Util.getTransitionDurationFromElement(this.tip); | ||
EventHandler.one(this.tip, Util.TRANSITION_END, complete); | ||
Util.emulateTransitionEnd(this.tip, transitionDuration); | ||
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); | ||
} else { | ||
@@ -511,2 +496,3 @@ complete(); | ||
var tip = this.getTipElement(); | ||
var hideEvent = $.Event(this.constructor.Event.HIDE); | ||
@@ -522,3 +508,3 @@ var complete = function complete() { | ||
EventHandler.trigger(_this2.element, _this2.constructor.Event.HIDDEN); | ||
$(_this2.element).trigger(_this2.constructor.Event.HIDDEN); | ||
@@ -534,15 +520,13 @@ if (_this2._popper !== null) { | ||
var hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE); | ||
$(this.element).trigger(hideEvent); | ||
if (hideEvent.defaultPrevented) { | ||
if (hideEvent.isDefaultPrevented()) { | ||
return; | ||
} | ||
tip.classList.remove(ClassName.SHOW); // If this is a touch-enabled device we remove the extra | ||
$(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) { | ||
Util.makeArray(document.body.children).forEach(function (element) { | ||
return EventHandler.off(element, 'mouseover', Util.noop); | ||
}); | ||
$(document.body).children().off('mouseover', null, $.noop); | ||
} | ||
@@ -554,6 +538,5 @@ | ||
if (this.tip.classList.contains(ClassName.FADE)) { | ||
if ($(this.tip).hasClass(ClassName.FADE)) { | ||
var transitionDuration = Util.getTransitionDurationFromElement(tip); | ||
EventHandler.one(tip, Util.TRANSITION_END, complete); | ||
Util.emulateTransitionEnd(tip, transitionDuration); | ||
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); | ||
} else { | ||
@@ -578,13 +561,7 @@ complete(); | ||
_proto.addAttachmentClass = function addAttachmentClass(attachment) { | ||
this.getTipElement().classList.add(CLASS_PREFIX + "-" + attachment); | ||
$(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); | ||
}; | ||
_proto.getTipElement = function getTipElement() { | ||
if (this.tip) { | ||
return this.tip; | ||
} | ||
var element = document.createElement('div'); | ||
element.innerHTML = this.config.template; | ||
this.tip = element.children[0]; | ||
this.tip = this.tip || $(this.config.template)[0]; | ||
return this.tip; | ||
@@ -595,25 +572,15 @@ }; | ||
var tip = this.getTipElement(); | ||
this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle()); | ||
tip.classList.remove(ClassName.FADE); | ||
tip.classList.remove(ClassName.SHOW); | ||
this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle()); | ||
$(tip).removeClass(ClassName.FADE + " " + ClassName.SHOW); | ||
}; | ||
_proto.setElementContent = function setElementContent(element, content) { | ||
if (element === null) { | ||
return; | ||
} | ||
_proto.setElementContent = function setElementContent($element, content) { | ||
if (typeof content === 'object' && (content.nodeType || content.jquery)) { | ||
if (content.jquery) { | ||
content = content[0]; | ||
} // content is a DOM node or a jQuery | ||
// Content is a DOM node or a jQuery | ||
if (this.config.html) { | ||
if (content.parentNode !== element) { | ||
element.innerHTML = ''; | ||
element.appendChild(content); | ||
if (!$(content).parent().is($element)) { | ||
$element.empty().append(content); | ||
} | ||
} else { | ||
element.innerText = content.textContent; | ||
$element.text($(content).text()); | ||
} | ||
@@ -629,5 +596,5 @@ | ||
element.innerHTML = content; | ||
$element.html(content); | ||
} else { | ||
element.innerText = content; | ||
$element.text(content); | ||
} | ||
@@ -647,5 +614,34 @@ }; | ||
_proto._getOffset = function _getOffset() { | ||
_proto._getPopperConfig = function _getPopperConfig(attachment) { | ||
var _this3 = this; | ||
var defaultBsConfig = { | ||
placement: attachment, | ||
modifiers: { | ||
offset: this._getOffset(), | ||
flip: { | ||
behavior: this.config.fallbackPlacement | ||
}, | ||
arrow: { | ||
element: Selector.ARROW | ||
}, | ||
preventOverflow: { | ||
boundariesElement: this.config.boundary | ||
} | ||
}, | ||
onCreate: function onCreate(data) { | ||
if (data.originalPlacement !== data.placement) { | ||
_this3._handlePopperPlacementChange(data); | ||
} | ||
}, | ||
onUpdate: function onUpdate(data) { | ||
return _this3._handlePopperPlacementChange(data); | ||
} | ||
}; | ||
return _objectSpread2({}, defaultBsConfig, {}, this.config.popperConfig); | ||
}; | ||
_proto._getOffset = function _getOffset() { | ||
var _this4 = this; | ||
var offset = {}; | ||
@@ -655,3 +651,3 @@ | ||
offset.fn = function (data) { | ||
data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {}); | ||
data.offsets = _objectSpread2({}, data.offsets, {}, _this4.config.offset(data.offsets, _this4.element) || {}); | ||
return data; | ||
@@ -672,6 +668,6 @@ }; | ||
if (Util.isElement(this.config.container)) { | ||
return this.config.container; | ||
return $(this.config.container); | ||
} | ||
return SelectorEngine.findOne(this.config.container); | ||
return $(document).find(this.config.container); | ||
}; | ||
@@ -684,3 +680,3 @@ | ||
_proto._setListeners = function _setListeners() { | ||
var _this4 = this; | ||
var _this5 = this; | ||
@@ -690,24 +686,26 @@ var triggers = this.config.trigger.split(' '); | ||
if (trigger === 'click') { | ||
EventHandler.on(_this4.element, _this4.constructor.Event.CLICK, _this4.config.selector, function (event) { | ||
return _this4.toggle(event); | ||
$(_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) { | ||
return _this5.toggle(event); | ||
}); | ||
} else if (trigger !== Trigger.MANUAL) { | ||
var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN; | ||
var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT; | ||
EventHandler.on(_this4.element, eventIn, _this4.config.selector, function (event) { | ||
return _this4._enter(event); | ||
var eventIn = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN; | ||
var eventOut = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT; | ||
$(_this5.element).on(eventIn, _this5.config.selector, function (event) { | ||
return _this5._enter(event); | ||
}).on(eventOut, _this5.config.selector, function (event) { | ||
return _this5._leave(event); | ||
}); | ||
EventHandler.on(_this4.element, eventOut, _this4.config.selector, function (event) { | ||
return _this4._leave(event); | ||
}); | ||
} | ||
}); | ||
EventHandler.on(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', function () { | ||
if (_this4.element) { | ||
_this4.hide(); | ||
this._hideModalHandler = function () { | ||
if (_this5.element) { | ||
_this5.hide(); | ||
} | ||
}); | ||
}; | ||
$(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler); | ||
if (this.config.selector) { | ||
this.config = _objectSpread({}, this.config, { | ||
this.config = _objectSpread2({}, this.config, { | ||
trigger: 'manual', | ||
@@ -732,7 +730,7 @@ selector: '' | ||
var dataKey = this.constructor.DATA_KEY; | ||
context = context || Data.getData(event.delegateTarget, dataKey); | ||
context = context || $(event.currentTarget).data(dataKey); | ||
if (!context) { | ||
context = new this.constructor(event.delegateTarget, this._getDelegateConfig()); | ||
Data.setData(event.delegateTarget, dataKey, context); | ||
context = new this.constructor(event.currentTarget, this._getDelegateConfig()); | ||
$(event.currentTarget).data(dataKey, context); | ||
} | ||
@@ -744,3 +742,3 @@ | ||
if (context.getTipElement().classList.contains(ClassName.SHOW) || context._hoverState === HoverState.SHOW) { | ||
if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) { | ||
context._hoverState = HoverState.SHOW; | ||
@@ -767,7 +765,7 @@ return; | ||
var dataKey = this.constructor.DATA_KEY; | ||
context = context || Data.getData(event.delegateTarget, dataKey); | ||
context = context || $(event.currentTarget).data(dataKey); | ||
if (!context) { | ||
context = new this.constructor(event.delegateTarget, this._getDelegateConfig()); | ||
Data.setData(event.delegateTarget, dataKey, context); | ||
context = new this.constructor(event.currentTarget, this._getDelegateConfig()); | ||
$(event.currentTarget).data(dataKey, context); | ||
} | ||
@@ -809,3 +807,3 @@ | ||
_proto._getConfig = function _getConfig(config) { | ||
var dataAttributes = Manipulator.getDataAttributes(this.element); | ||
var dataAttributes = $(this.element).data(); | ||
Object.keys(dataAttributes).forEach(function (dataAttr) { | ||
@@ -816,9 +814,4 @@ if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) { | ||
}); | ||
config = _objectSpread2({}, this.constructor.Default, {}, dataAttributes, {}, typeof config === 'object' && config ? config : {}); | ||
if (config && typeof config.container === 'object' && config.container.jquery) { | ||
config.container = config.container[0]; | ||
} | ||
config = _objectSpread({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {}); | ||
if (typeof config.delay === 'number') { | ||
@@ -863,11 +856,7 @@ config.delay = { | ||
_proto._cleanTipClass = function _cleanTipClass() { | ||
var tip = this.getTipElement(); | ||
var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX); | ||
var $tip = $(this.getTipElement()); | ||
var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); | ||
if (tabClass !== null && tabClass.length) { | ||
tabClass.map(function (token) { | ||
return token.trim(); | ||
}).forEach(function (tClass) { | ||
return tip.classList.remove(tClass); | ||
}); | ||
$tip.removeClass(tabClass.join('')); | ||
} | ||
@@ -893,3 +882,3 @@ }; | ||
tip.classList.remove(ClassName.FADE); | ||
$(tip).removeClass(ClassName.FADE); | ||
this.config.animation = false; | ||
@@ -904,3 +893,3 @@ this.hide(); | ||
return this.each(function () { | ||
var data = Data.getData(this, DATA_KEY); | ||
var data = $(this).data(DATA_KEY); | ||
@@ -915,2 +904,3 @@ var _config = typeof config === 'object' && config; | ||
data = new Tooltip(this, _config); | ||
$(this).data(DATA_KEY, data); | ||
} | ||
@@ -928,6 +918,2 @@ | ||
Tooltip._getInstance = function _getInstance(element) { | ||
return Data.getData(element, DATA_KEY); | ||
}; | ||
_createClass(Tooltip, null, [{ | ||
@@ -979,18 +965,13 @@ key: "VERSION", | ||
var $ = Util.jQuery; | ||
$.fn[NAME] = Tooltip._jQueryInterface; | ||
$.fn[NAME].Constructor = Tooltip; | ||
if (typeof $ !== 'undefined') { | ||
var JQUERY_NO_CONFLICT = $.fn[NAME]; | ||
$.fn[NAME] = Tooltip._jQueryInterface; | ||
$.fn[NAME].Constructor = Tooltip; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Tooltip._jQueryInterface; | ||
}; | ||
$.fn[NAME].noConflict = function () { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT; | ||
return Tooltip._jQueryInterface; | ||
}; | ||
} | ||
return Tooltip; | ||
})); | ||
}))); | ||
//# sourceMappingURL=tooltip.js.map |
/*! | ||
* Bootstrap util.js v4.3.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Bootstrap util.js v4.4.1-0 (https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl) | ||
* Copyright 2011-2019 Mahdi Majidzadeh | ||
@@ -7,14 +7,15 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : | ||
typeof define === 'function' && define.amd ? define(factory) : | ||
(global = global || self, global.Util = factory()); | ||
}(this, function () { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) : | ||
typeof define === 'function' && define.amd ? define(['jquery'], factory) : | ||
(global = global || self, global.Util = factory(global.jQuery)); | ||
}(this, (function ($) { 'use strict'; | ||
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; | ||
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): util.js | ||
* Bootstrap (v4.4.1): util.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
* -------------------------------------------------------------------------- | ||
*/ | ||
/** | ||
@@ -25,2 +26,4 @@ * ------------------------------------------------------------------------ | ||
*/ | ||
var TRANSITION_END = 'transitionend'; | ||
var MAX_UID = 1000000; | ||
@@ -32,2 +35,36 @@ var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp) | ||
} | ||
function getSpecialTransitionEndEvent() { | ||
return { | ||
bindType: TRANSITION_END, | ||
delegateType: TRANSITION_END, | ||
handle: function handle(event) { | ||
if ($(event.target).is(this)) { | ||
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params | ||
} | ||
return undefined; // eslint-disable-line no-undefined | ||
} | ||
}; | ||
} | ||
function transitionEndEmulator(duration) { | ||
var _this = this; | ||
var called = false; | ||
$(this).one(Util.TRANSITION_END, function () { | ||
called = true; | ||
}); | ||
setTimeout(function () { | ||
if (!called) { | ||
Util.triggerTransitionEnd(_this); | ||
} | ||
}, duration); | ||
return this; | ||
} | ||
function setTransitionEndSupport() { | ||
$.fn.emulateTransitionEnd = transitionEndEmulator; | ||
$.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); | ||
} | ||
/** | ||
@@ -41,3 +78,3 @@ * -------------------------------------------------------------------------- | ||
var Util = { | ||
TRANSITION_END: 'transitionend', | ||
TRANSITION_END: 'bsTransitionEnd', | ||
getUID: function getUID(prefix) { | ||
@@ -71,4 +108,4 @@ do { | ||
var transitionDuration = window.getComputedStyle(element).transitionDuration; | ||
var transitionDelay = window.getComputedStyle(element).transitionDelay; | ||
var transitionDuration = $(element).css('transition-duration'); | ||
var transitionDelay = $(element).css('transition-delay'); | ||
var floatTransitionDuration = parseFloat(transitionDuration); | ||
@@ -90,24 +127,11 @@ var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found | ||
triggerTransitionEnd: function triggerTransitionEnd(element) { | ||
element.dispatchEvent(new Event(Util.TRANSITION_END)); | ||
$(element).trigger(TRANSITION_END); | ||
}, | ||
// TODO: Remove in v5 | ||
supportsTransitionEnd: function supportsTransitionEnd() { | ||
return Boolean(TRANSITION_END); | ||
}, | ||
isElement: function isElement(obj) { | ||
return (obj[0] || obj).nodeType; | ||
}, | ||
emulateTransitionEnd: function emulateTransitionEnd(element, duration) { | ||
var called = false; | ||
var durationPadding = 5; | ||
var emulatedDuration = duration + durationPadding; | ||
function listener() { | ||
called = true; | ||
element.removeEventListener(Util.TRANSITION_END, listener); | ||
} | ||
element.addEventListener(Util.TRANSITION_END, listener); | ||
setTimeout(function () { | ||
if (!called) { | ||
Util.triggerTransitionEnd(element); | ||
} | ||
}, emulatedDuration); | ||
}, | ||
typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { | ||
@@ -126,20 +150,2 @@ for (var property in configTypes) { | ||
}, | ||
makeArray: function makeArray(nodeList) { | ||
if (!nodeList) { | ||
return []; | ||
} | ||
return [].slice.call(nodeList); | ||
}, | ||
isVisible: function isVisible(element) { | ||
if (!element) { | ||
return false; | ||
} | ||
if (element.style !== null && element.parentNode !== null && typeof element.parentNode.style !== 'undefined') { | ||
return element.style.display !== 'none' && element.parentNode.style.display !== 'none' && element.style.visibility !== 'hidden'; | ||
} | ||
return false; | ||
}, | ||
findShadowRoot: function findShadowRoot(element) { | ||
@@ -167,16 +173,25 @@ if (!document.documentElement.attachShadow) { | ||
}, | ||
noop: function noop() { | ||
// eslint-disable-next-line no-empty-function | ||
return function () {}; | ||
}, | ||
jQueryDetection: function jQueryDetection() { | ||
if (typeof $ === 'undefined') { | ||
throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.'); | ||
} | ||
get jQuery() { | ||
return window.jQuery; | ||
var version = $.fn.jquery.split(' ')[0].split('.'); | ||
var minMajor = 1; | ||
var ltMajor = 2; | ||
var minMinor = 9; | ||
var minPatch = 1; | ||
var maxMajor = 4; | ||
if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) { | ||
throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0'); | ||
} | ||
} | ||
}; | ||
Util.jQueryDetection(); | ||
setTransitionEndSupport(); | ||
return Util; | ||
})); | ||
}))); | ||
//# sourceMappingURL=util.js.map |
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): alert.js | ||
* Bootstrap (v4.4.1): alert.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -8,5 +8,3 @@ * -------------------------------------------------------------------------- | ||
import Data from './dom/data' | ||
import EventHandler from './dom/eventHandler' | ||
import SelectorEngine from './dom/selectorEngine' | ||
import $ from 'jquery' | ||
import Util from './util' | ||
@@ -21,6 +19,7 @@ | ||
const NAME = 'alert' | ||
const VERSION = '4.3.1' | ||
const VERSION = '4.4.1' | ||
const DATA_KEY = 'bs.alert' | ||
const EVENT_KEY = `.${DATA_KEY}` | ||
const DATA_API_KEY = '.data-api' | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
@@ -52,5 +51,2 @@ const Selector = { | ||
this._element = element | ||
if (this._element) { | ||
Data.setData(element, DATA_KEY, this) | ||
} | ||
} | ||
@@ -74,3 +70,3 @@ | ||
if (customEvent === null || customEvent.defaultPrevented) { | ||
if (customEvent.isDefaultPrevented()) { | ||
return | ||
@@ -83,3 +79,3 @@ } | ||
dispose() { | ||
Data.removeData(this._element, DATA_KEY) | ||
$.removeData(this._element, DATA_KEY) | ||
this._element = null | ||
@@ -95,7 +91,7 @@ } | ||
if (selector) { | ||
parent = SelectorEngine.findOne(selector) | ||
parent = document.querySelector(selector) | ||
} | ||
if (!parent) { | ||
parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`) | ||
parent = $(element).closest(`.${ClassName.ALERT}`)[0] | ||
} | ||
@@ -107,9 +103,12 @@ | ||
_triggerCloseEvent(element) { | ||
return EventHandler.trigger(element, Event.CLOSE) | ||
const closeEvent = $.Event(Event.CLOSE) | ||
$(element).trigger(closeEvent) | ||
return closeEvent | ||
} | ||
_removeElement(element) { | ||
element.classList.remove(ClassName.SHOW) | ||
$(element).removeClass(ClassName.SHOW) | ||
if (!element.classList.contains(ClassName.FADE)) { | ||
if (!$(element).hasClass(ClassName.FADE)) { | ||
this._destroyElement(element) | ||
@@ -121,13 +120,12 @@ return | ||
EventHandler | ||
.one(element, Util.TRANSITION_END, (event) => this._destroyElement(element, event)) | ||
Util.emulateTransitionEnd(element, transitionDuration) | ||
$(element) | ||
.one(Util.TRANSITION_END, (event) => this._destroyElement(element, event)) | ||
.emulateTransitionEnd(transitionDuration) | ||
} | ||
_destroyElement(element) { | ||
if (element.parentNode) { | ||
element.parentNode.removeChild(element) | ||
} | ||
EventHandler.trigger(element, Event.CLOSED) | ||
$(element) | ||
.detach() | ||
.trigger(Event.CLOSED) | ||
.remove() | ||
} | ||
@@ -139,6 +137,8 @@ | ||
return this.each(function () { | ||
let data = Data.getData(this, DATA_KEY) | ||
const $element = $(this) | ||
let data = $element.data(DATA_KEY) | ||
if (!data) { | ||
data = new Alert(this) | ||
$element.data(DATA_KEY, data) | ||
} | ||
@@ -161,6 +161,2 @@ | ||
} | ||
static _getInstance(element) { | ||
return Data.getData(element, DATA_KEY) | ||
} | ||
} | ||
@@ -173,5 +169,9 @@ | ||
*/ | ||
EventHandler | ||
.on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())) | ||
$(document).on( | ||
Event.CLICK_DATA_API, | ||
Selector.DISMISS, | ||
Alert._handleDismiss(new Alert()) | ||
) | ||
/** | ||
@@ -181,16 +181,11 @@ * ------------------------------------------------------------------------ | ||
* ------------------------------------------------------------------------ | ||
* add .alert to jQuery only if jQuery is present | ||
*/ | ||
const $ = Util.jQuery | ||
if (typeof $ !== 'undefined') { | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
$.fn[NAME] = Alert._jQueryInterface | ||
$.fn[NAME].Constructor = Alert | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Alert._jQueryInterface | ||
} | ||
$.fn[NAME] = Alert._jQueryInterface | ||
$.fn[NAME].Constructor = Alert | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Alert._jQueryInterface | ||
} | ||
export default Alert |
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): button.js | ||
* Bootstrap (v4.4.1): button.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -8,6 +8,3 @@ * -------------------------------------------------------------------------- | ||
import Data from './dom/data' | ||
import EventHandler from './dom/eventHandler' | ||
import SelectorEngine from './dom/selectorEngine' | ||
import Util from './util' | ||
import $ from 'jquery' | ||
@@ -21,6 +18,7 @@ /** | ||
const NAME = 'button' | ||
const VERSION = '4.3.1' | ||
const VERSION = '4.4.1' | ||
const DATA_KEY = 'bs.button' | ||
const EVENT_KEY = `.${DATA_KEY}` | ||
const DATA_API_KEY = '.data-api' | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
@@ -34,7 +32,9 @@ const ClassName = { | ||
const Selector = { | ||
DATA_TOGGLE_CARROT : '[data-toggle^="button"]', | ||
DATA_TOGGLE : '[data-toggle="buttons"]', | ||
INPUT : 'input:not([type="hidden"])', | ||
ACTIVE : '.active', | ||
BUTTON : '.btn' | ||
DATA_TOGGLE_CARROT : '[data-toggle^="button"]', | ||
DATA_TOGGLES : '[data-toggle="buttons"]', | ||
DATA_TOGGLE : '[data-toggle="button"]', | ||
DATA_TOGGLES_BUTTONS : '[data-toggle="buttons"] .btn', | ||
INPUT : 'input:not([type="hidden"])', | ||
ACTIVE : '.active', | ||
BUTTON : '.btn' | ||
} | ||
@@ -44,4 +44,5 @@ | ||
CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`, | ||
FOCUS_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY}`, | ||
BLUR_DATA_API : `blur${EVENT_KEY}${DATA_API_KEY}` | ||
FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` + | ||
`blur${EVENT_KEY}${DATA_API_KEY}`, | ||
LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}` | ||
} | ||
@@ -58,3 +59,2 @@ | ||
this._element = element | ||
Data.setData(element, DATA_KEY, this) | ||
} | ||
@@ -73,10 +73,8 @@ | ||
let addAriaPressed = true | ||
const rootElement = $(this._element).closest( | ||
Selector.DATA_TOGGLES | ||
)[0] | ||
const rootElement = SelectorEngine.closest( | ||
this._element, | ||
Selector.DATA_TOGGLE | ||
) | ||
if (rootElement) { | ||
const input = SelectorEngine.findOne(Selector.INPUT, this._element) | ||
const input = this._element.querySelector(Selector.INPUT) | ||
@@ -89,20 +87,20 @@ if (input) { | ||
} else { | ||
const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement) | ||
const activeElement = rootElement.querySelector(Selector.ACTIVE) | ||
if (activeElement) { | ||
activeElement.classList.remove(ClassName.ACTIVE) | ||
$(activeElement).removeClass(ClassName.ACTIVE) | ||
} | ||
} | ||
} else if (input.type === 'checkbox') { | ||
if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName.ACTIVE)) { | ||
triggerChangeEvent = false | ||
} | ||
} else { | ||
// if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input | ||
triggerChangeEvent = false | ||
} | ||
if (triggerChangeEvent) { | ||
if (input.hasAttribute('disabled') || | ||
rootElement.hasAttribute('disabled') || | ||
input.classList.contains('disabled') || | ||
rootElement.classList.contains('disabled')) { | ||
return | ||
} | ||
input.checked = !this._element.classList.contains(ClassName.ACTIVE) | ||
EventHandler.trigger(input, 'change') | ||
$(input).trigger('change') | ||
} | ||
@@ -115,9 +113,11 @@ | ||
if (addAriaPressed) { | ||
this._element.setAttribute('aria-pressed', | ||
!this._element.classList.contains(ClassName.ACTIVE)) | ||
} | ||
if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) { | ||
if (addAriaPressed) { | ||
this._element.setAttribute('aria-pressed', | ||
!this._element.classList.contains(ClassName.ACTIVE)) | ||
} | ||
if (triggerChangeEvent) { | ||
this._element.classList.toggle(ClassName.ACTIVE) | ||
if (triggerChangeEvent) { | ||
$(this._element).toggleClass(ClassName.ACTIVE) | ||
} | ||
} | ||
@@ -127,3 +127,3 @@ } | ||
dispose() { | ||
Data.removeData(this._element, DATA_KEY) | ||
$.removeData(this._element, DATA_KEY) | ||
this._element = null | ||
@@ -136,6 +136,7 @@ } | ||
return this.each(function () { | ||
let data = Data.getData(this, DATA_KEY) | ||
let data = $(this).data(DATA_KEY) | ||
if (!data) { | ||
data = new Button(this) | ||
$(this).data(DATA_KEY, data) | ||
} | ||
@@ -148,6 +149,2 @@ | ||
} | ||
static _getInstance(element) { | ||
return Data.getData(element, DATA_KEY) | ||
} | ||
} | ||
@@ -161,28 +158,55 @@ | ||
EventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => { | ||
event.preventDefault() | ||
$(document) | ||
.on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => { | ||
let button = event.target | ||
let button = event.target | ||
if (!button.classList.contains(ClassName.BUTTON)) { | ||
button = SelectorEngine.closest(button, Selector.BUTTON) | ||
if (!$(button).hasClass(ClassName.BUTTON)) { | ||
button = $(button).closest(Selector.BUTTON)[0] | ||
} | ||
if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) { | ||
event.preventDefault() // work around Firefox bug #1540995 | ||
} else { | ||
const inputBtn = button.querySelector(Selector.INPUT) | ||
if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) { | ||
event.preventDefault() // work around Firefox bug #1540995 | ||
return | ||
} | ||
Button._jQueryInterface.call($(button), 'toggle') | ||
} | ||
}) | ||
.on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => { | ||
const button = $(event.target).closest(Selector.BUTTON)[0] | ||
$(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type)) | ||
}) | ||
$(window).on(Event.LOAD_DATA_API, () => { | ||
// ensure correct active class is set to match the controls' actual values/states | ||
// find all checkboxes/readio buttons inside data-toggle groups | ||
let buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLES_BUTTONS)) | ||
for (let i = 0, len = buttons.length; i < len; i++) { | ||
const button = buttons[i] | ||
const input = button.querySelector(Selector.INPUT) | ||
if (input.checked || input.hasAttribute('checked')) { | ||
button.classList.add(ClassName.ACTIVE) | ||
} else { | ||
button.classList.remove(ClassName.ACTIVE) | ||
} | ||
} | ||
let data = Data.getData(button, DATA_KEY) | ||
if (!data) { | ||
data = new Button(button) | ||
Data.setData(button, DATA_KEY, data) | ||
// find all button toggles | ||
buttons = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)) | ||
for (let i = 0, len = buttons.length; i < len; i++) { | ||
const button = buttons[i] | ||
if (button.getAttribute('aria-pressed') === 'true') { | ||
button.classList.add(ClassName.ACTIVE) | ||
} else { | ||
button.classList.remove(ClassName.ACTIVE) | ||
} | ||
} | ||
data.toggle() | ||
}) | ||
EventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => { | ||
const button = SelectorEngine.closest(event.target, Selector.BUTTON) | ||
button.classList.add(ClassName.FOCUS) | ||
}) | ||
EventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => { | ||
const button = SelectorEngine.closest(event.target, Selector.BUTTON) | ||
button.classList.remove(ClassName.FOCUS) | ||
}) | ||
/** | ||
@@ -192,17 +216,11 @@ * ------------------------------------------------------------------------ | ||
* ------------------------------------------------------------------------ | ||
* add .button to jQuery only if jQuery is present | ||
*/ | ||
const $ = Util.jQuery | ||
if (typeof $ !== 'undefined') { | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
$.fn[NAME] = Button._jQueryInterface | ||
$.fn[NAME].Constructor = Button | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Button._jQueryInterface | ||
} | ||
$.fn[NAME] = Button._jQueryInterface | ||
$.fn[NAME].Constructor = Button | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Button._jQueryInterface | ||
} | ||
export default Button |
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): carousel.js | ||
* Bootstrap (v4.4.1): carousel.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -8,6 +8,3 @@ * -------------------------------------------------------------------------- | ||
import Data from './dom/data' | ||
import EventHandler from './dom/eventHandler' | ||
import Manipulator from './dom/manipulator' | ||
import SelectorEngine from './dom/selectorEngine' | ||
import $ from 'jquery' | ||
import Util from './util' | ||
@@ -22,6 +19,7 @@ | ||
const NAME = 'carousel' | ||
const VERSION = '4.3.1' | ||
const VERSION = '4.4.1' | ||
const DATA_KEY = 'bs.carousel' | ||
const EVENT_KEY = `.${DATA_KEY}` | ||
const DATA_API_KEY = '.data-api' | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key | ||
@@ -119,3 +117,3 @@ const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key | ||
this._element = element | ||
this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element) | ||
this._indicatorsElement = this._element.querySelector(Selector.INDICATORS) | ||
this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0 | ||
@@ -125,3 +123,2 @@ this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent) | ||
this._addEventListeners() | ||
Data.setData(element, DATA_KEY, this) | ||
} | ||
@@ -150,3 +147,4 @@ | ||
// or the carousel or its parent isn't visible | ||
if (!document.hidden && Util.isVisible(this._element)) { | ||
if (!document.hidden && | ||
($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) { | ||
this.next() | ||
@@ -167,3 +165,3 @@ } | ||
if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) { | ||
if (this._element.querySelector(Selector.NEXT_PREV)) { | ||
Util.triggerTransitionEnd(this._element) | ||
@@ -187,3 +185,3 @@ this.cycle(true) | ||
if (this._config && this._config.interval && !this._isPaused) { | ||
if (this._config.interval && !this._isPaused) { | ||
this._interval = setInterval( | ||
@@ -197,3 +195,4 @@ (document.visibilityState ? this.nextWhenVisible : this.next).bind(this), | ||
to(index) { | ||
this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element) | ||
this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM) | ||
const activeIndex = this._getItemIndex(this._activeElement) | ||
@@ -206,3 +205,3 @@ | ||
if (this._isSliding) { | ||
EventHandler.one(this._element, Event.SLID, () => this.to(index)) | ||
$(this._element).one(Event.SLID, () => this.to(index)) | ||
return | ||
@@ -225,4 +224,4 @@ } | ||
dispose() { | ||
EventHandler.off(this._element, EVENT_KEY) | ||
Data.removeData(this._element, DATA_KEY) | ||
$(this._element).off(EVENT_KEY) | ||
$.removeData(this._element, DATA_KEY) | ||
@@ -259,2 +258,4 @@ this._items = null | ||
this.touchDeltaX = 0 | ||
// swipe left | ||
@@ -273,11 +274,10 @@ if (direction > 0) { | ||
if (this._config.keyboard) { | ||
EventHandler | ||
.on(this._element, Event.KEYDOWN, (event) => this._keydown(event)) | ||
$(this._element) | ||
.on(Event.KEYDOWN, (event) => this._keydown(event)) | ||
} | ||
if (this._config.pause === 'hover') { | ||
EventHandler | ||
.on(this._element, Event.MOUSEENTER, (event) => this.pause(event)) | ||
EventHandler | ||
.on(this._element, Event.MOUSELEAVE, (event) => this.cycle(event)) | ||
$(this._element) | ||
.on(Event.MOUSEENTER, (event) => this.pause(event)) | ||
.on(Event.MOUSELEAVE, (event) => this.cycle(event)) | ||
} | ||
@@ -296,6 +296,6 @@ | ||
const start = (event) => { | ||
if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) { | ||
this.touchStartX = event.clientX | ||
if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { | ||
this.touchStartX = event.originalEvent.clientX | ||
} else if (!this._pointerEvent) { | ||
this.touchStartX = event.touches[0].clientX | ||
this.touchStartX = event.originalEvent.touches[0].clientX | ||
} | ||
@@ -306,6 +306,6 @@ } | ||
// ensure swiping with one touch and not pinching | ||
if (event.touches && event.touches.length > 1) { | ||
if (event.originalEvent.touches && event.originalEvent.touches.length > 1) { | ||
this.touchDeltaX = 0 | ||
} else { | ||
this.touchDeltaX = event.touches[0].clientX - this.touchStartX | ||
this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX | ||
} | ||
@@ -315,4 +315,4 @@ } | ||
const end = (event) => { | ||
if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) { | ||
this.touchDeltaX = event.clientX - this.touchStartX | ||
if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { | ||
this.touchDeltaX = event.originalEvent.clientX - this.touchStartX | ||
} | ||
@@ -338,15 +338,12 @@ | ||
Util.makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach((itemImg) => { | ||
EventHandler.on(itemImg, Event.DRAG_START, (e) => e.preventDefault()) | ||
}) | ||
$(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault()) | ||
if (this._pointerEvent) { | ||
EventHandler.on(this._element, Event.POINTERDOWN, (event) => start(event)) | ||
EventHandler.on(this._element, Event.POINTERUP, (event) => end(event)) | ||
$(this._element).on(Event.POINTERDOWN, (event) => start(event)) | ||
$(this._element).on(Event.POINTERUP, (event) => end(event)) | ||
this._element.classList.add(ClassName.POINTER_EVENT) | ||
} else { | ||
EventHandler.on(this._element, Event.TOUCHSTART, (event) => start(event)) | ||
EventHandler.on(this._element, Event.TOUCHMOVE, (event) => move(event)) | ||
EventHandler.on(this._element, Event.TOUCHEND, (event) => end(event)) | ||
$(this._element).on(Event.TOUCHSTART, (event) => start(event)) | ||
$(this._element).on(Event.TOUCHMOVE, (event) => move(event)) | ||
$(this._element).on(Event.TOUCHEND, (event) => end(event)) | ||
} | ||
@@ -375,5 +372,4 @@ } | ||
this._items = element && element.parentNode | ||
? Util.makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) | ||
? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM)) | ||
: [] | ||
return this._items.indexOf(element) | ||
@@ -403,5 +399,4 @@ } | ||
const targetIndex = this._getItemIndex(relatedTarget) | ||
const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)) | ||
return EventHandler.trigger(this._element, Event.SLIDE, { | ||
const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM)) | ||
const slideEvent = $.Event(Event.SLIDE, { | ||
relatedTarget, | ||
@@ -412,2 +407,6 @@ direction: eventDirectionName, | ||
}) | ||
$(this._element).trigger(slideEvent) | ||
return slideEvent | ||
} | ||
@@ -417,6 +416,5 @@ | ||
if (this._indicatorsElement) { | ||
const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement) | ||
for (let i = 0; i < indicators.length; i++) { | ||
indicators[i].classList.remove(ClassName.ACTIVE) | ||
} | ||
const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE)) | ||
$(indicators) | ||
.removeClass(ClassName.ACTIVE) | ||
@@ -428,3 +426,3 @@ const nextIndicator = this._indicatorsElement.children[ | ||
if (nextIndicator) { | ||
nextIndicator.classList.add(ClassName.ACTIVE) | ||
$(nextIndicator).addClass(ClassName.ACTIVE) | ||
} | ||
@@ -435,7 +433,6 @@ } | ||
_slide(direction, element) { | ||
const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element) | ||
const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM) | ||
const activeElementIndex = this._getItemIndex(activeElement) | ||
const nextElement = element || activeElement && | ||
this._getItemByDirection(direction, activeElement) | ||
const nextElementIndex = this._getItemIndex(nextElement) | ||
@@ -458,3 +455,3 @@ const isCycling = Boolean(this._interval) | ||
if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) { | ||
if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) { | ||
this._isSliding = false | ||
@@ -465,3 +462,3 @@ return | ||
const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName) | ||
if (slideEvent.defaultPrevented) { | ||
if (slideEvent.isDefaultPrevented()) { | ||
return | ||
@@ -483,9 +480,16 @@ } | ||
if (this._element.classList.contains(ClassName.SLIDE)) { | ||
nextElement.classList.add(orderClassName) | ||
const slidEvent = $.Event(Event.SLID, { | ||
relatedTarget: nextElement, | ||
direction: eventDirectionName, | ||
from: activeElementIndex, | ||
to: nextElementIndex | ||
}) | ||
if ($(this._element).hasClass(ClassName.SLIDE)) { | ||
$(nextElement).addClass(orderClassName) | ||
Util.reflow(nextElement) | ||
activeElement.classList.add(directionalClassName) | ||
nextElement.classList.add(directionalClassName) | ||
$(activeElement).addClass(directionalClassName) | ||
$(nextElement).addClass(directionalClassName) | ||
@@ -502,36 +506,21 @@ const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10) | ||
EventHandler | ||
.one(activeElement, Util.TRANSITION_END, () => { | ||
nextElement.classList.remove(directionalClassName) | ||
nextElement.classList.remove(orderClassName) | ||
nextElement.classList.add(ClassName.ACTIVE) | ||
$(activeElement) | ||
.one(Util.TRANSITION_END, () => { | ||
$(nextElement) | ||
.removeClass(`${directionalClassName} ${orderClassName}`) | ||
.addClass(ClassName.ACTIVE) | ||
activeElement.classList.remove(ClassName.ACTIVE) | ||
activeElement.classList.remove(orderClassName) | ||
activeElement.classList.remove(directionalClassName) | ||
$(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`) | ||
this._isSliding = false | ||
setTimeout(() => { | ||
EventHandler.trigger(this._element, Event.SLID, { | ||
relatedTarget: nextElement, | ||
direction: eventDirectionName, | ||
from: activeElementIndex, | ||
to: nextElementIndex | ||
}) | ||
}, 0) | ||
setTimeout(() => $(this._element).trigger(slidEvent), 0) | ||
}) | ||
Util.emulateTransitionEnd(activeElement, transitionDuration) | ||
.emulateTransitionEnd(transitionDuration) | ||
} else { | ||
activeElement.classList.remove(ClassName.ACTIVE) | ||
nextElement.classList.add(ClassName.ACTIVE) | ||
$(activeElement).removeClass(ClassName.ACTIVE) | ||
$(nextElement).addClass(ClassName.ACTIVE) | ||
this._isSliding = false | ||
EventHandler.trigger(this._element, Event.SLID, { | ||
relatedTarget: nextElement, | ||
direction: eventDirectionName, | ||
from: activeElementIndex, | ||
to: nextElementIndex | ||
}) | ||
$(this._element).trigger(slidEvent) | ||
} | ||
@@ -546,38 +535,35 @@ | ||
static _carouselInterface(element, config) { | ||
let data = Data.getData(element, DATA_KEY) | ||
let _config = { | ||
...Default, | ||
...Manipulator.getDataAttributes(element) | ||
} | ||
static _jQueryInterface(config) { | ||
return this.each(function () { | ||
let data = $(this).data(DATA_KEY) | ||
let _config = { | ||
...Default, | ||
...$(this).data() | ||
} | ||
if (typeof config === 'object') { | ||
_config = { | ||
..._config, | ||
...config | ||
if (typeof config === 'object') { | ||
_config = { | ||
..._config, | ||
...config | ||
} | ||
} | ||
} | ||
const action = typeof config === 'string' ? config : _config.slide | ||
const action = typeof config === 'string' ? config : _config.slide | ||
if (!data) { | ||
data = new Carousel(element, _config) | ||
} | ||
if (!data) { | ||
data = new Carousel(this, _config) | ||
$(this).data(DATA_KEY, data) | ||
} | ||
if (typeof config === 'number') { | ||
data.to(config) | ||
} else if (typeof action === 'string') { | ||
if (typeof data[action] === 'undefined') { | ||
throw new Error(`No method named "${action}"`) | ||
if (typeof config === 'number') { | ||
data.to(config) | ||
} else if (typeof action === 'string') { | ||
if (typeof data[action] === 'undefined') { | ||
throw new TypeError(`No method named "${action}"`) | ||
} | ||
data[action]() | ||
} else if (_config.interval && _config.ride) { | ||
data.pause() | ||
data.cycle() | ||
} | ||
data[action]() | ||
} else if (_config.interval && _config.ride) { | ||
data.pause() | ||
data.cycle() | ||
} | ||
} | ||
static _jQueryInterface(config) { | ||
return this.each(function () { | ||
Carousel._carouselInterface(this, config) | ||
}) | ||
@@ -593,5 +579,5 @@ } | ||
const target = SelectorEngine.findOne(selector) | ||
const target = $(selector)[0] | ||
if (!target || !target.classList.contains(ClassName.CAROUSEL)) { | ||
if (!target || !$(target).hasClass(ClassName.CAROUSEL)) { | ||
return | ||
@@ -601,4 +587,4 @@ } | ||
const config = { | ||
...Manipulator.getDataAttributes(target), | ||
...Manipulator.getDataAttributes(this) | ||
...$(target).data(), | ||
...$(this).data() | ||
} | ||
@@ -611,6 +597,6 @@ const slideIndex = this.getAttribute('data-slide-to') | ||
Carousel._carouselInterface(target, config) | ||
Carousel._jQueryInterface.call($(target), config) | ||
if (slideIndex) { | ||
Data.getData(target, DATA_KEY).to(slideIndex) | ||
$(target).data(DATA_KEY).to(slideIndex) | ||
} | ||
@@ -620,6 +606,2 @@ | ||
} | ||
static _getInstance(element) { | ||
return Data.getData(element, DATA_KEY) | ||
} | ||
} | ||
@@ -633,9 +615,10 @@ | ||
EventHandler | ||
.on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler) | ||
$(document) | ||
.on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler) | ||
EventHandler.on(window, Event.LOAD_DATA_API, () => { | ||
const carousels = Util.makeArray(SelectorEngine.find(Selector.DATA_RIDE)) | ||
$(window).on(Event.LOAD_DATA_API, () => { | ||
const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE)) | ||
for (let i = 0, len = carousels.length; i < len; i++) { | ||
Carousel._carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY)) | ||
const $carousel = $(carousels[i]) | ||
Carousel._jQueryInterface.call($carousel, $carousel.data()) | ||
} | ||
@@ -648,16 +631,11 @@ }) | ||
* ------------------------------------------------------------------------ | ||
* add .carousel to jQuery only if jQuery is present | ||
*/ | ||
const $ = Util.jQuery | ||
if (typeof $ !== 'undefined') { | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
$.fn[NAME] = Carousel._jQueryInterface | ||
$.fn[NAME].Constructor = Carousel | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Carousel._jQueryInterface | ||
} | ||
$.fn[NAME] = Carousel._jQueryInterface | ||
$.fn[NAME].Constructor = Carousel | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Carousel._jQueryInterface | ||
} | ||
export default Carousel |
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): collapse.js | ||
* Bootstrap (v4.4.1): collapse.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -8,6 +8,3 @@ * -------------------------------------------------------------------------- | ||
import Data from './dom/data' | ||
import EventHandler from './dom/eventHandler' | ||
import Manipulator from './dom/manipulator' | ||
import SelectorEngine from './dom/selectorEngine' | ||
import $ from 'jquery' | ||
import Util from './util' | ||
@@ -22,6 +19,7 @@ | ||
const NAME = 'collapse' | ||
const VERSION = '4.3.1' | ||
const VERSION = '4.4.1' | ||
const DATA_KEY = 'bs.collapse' | ||
const EVENT_KEY = `.${DATA_KEY}` | ||
const DATA_API_KEY = '.data-api' | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
@@ -74,3 +72,3 @@ const Default = { | ||
this._config = this._getConfig(config) | ||
this._triggerArray = Util.makeArray(SelectorEngine.find( | ||
this._triggerArray = [].slice.call(document.querySelectorAll( | ||
`[data-toggle="collapse"][href="#${element.id}"],` + | ||
@@ -80,10 +78,10 @@ `[data-toggle="collapse"][data-target="#${element.id}"]` | ||
const toggleList = Util.makeArray(SelectorEngine.find(Selector.DATA_TOGGLE)) | ||
const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)) | ||
for (let i = 0, len = toggleList.length; i < len; i++) { | ||
const elem = toggleList[i] | ||
const selector = Util.getSelectorFromElement(elem) | ||
const filterElement = Util.makeArray(SelectorEngine.find(selector)) | ||
const filterElement = [].slice.call(document.querySelectorAll(selector)) | ||
.filter((foundElem) => foundElem === element) | ||
if (selector !== null && filterElement.length) { | ||
if (selector !== null && filterElement.length > 0) { | ||
this._selector = selector | ||
@@ -103,4 +101,2 @@ this._triggerArray.push(elem) | ||
} | ||
Data.setData(element, DATA_KEY, this) | ||
} | ||
@@ -121,3 +117,3 @@ | ||
toggle() { | ||
if (this._element.classList.contains(ClassName.SHOW)) { | ||
if ($(this._element).hasClass(ClassName.SHOW)) { | ||
this.hide() | ||
@@ -131,3 +127,3 @@ } else { | ||
if (this._isTransitioning || | ||
this._element.classList.contains(ClassName.SHOW)) { | ||
$(this._element).hasClass(ClassName.SHOW)) { | ||
return | ||
@@ -140,3 +136,3 @@ } | ||
if (this._parent) { | ||
actives = Util.makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent)) | ||
actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES)) | ||
.filter((elem) => { | ||
@@ -155,7 +151,4 @@ if (typeof this._config.parent === 'string') { | ||
const container = SelectorEngine.findOne(this._selector) | ||
if (actives) { | ||
const tempActiveData = actives.filter((elem) => container !== elem) | ||
activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null | ||
activesData = $(actives).not(this._selector).data(DATA_KEY) | ||
if (activesData && activesData._isTransitioning) { | ||
@@ -166,4 +159,5 @@ return | ||
const startEvent = EventHandler.trigger(this._element, Event.SHOW) | ||
if (startEvent.defaultPrevented) { | ||
const startEvent = $.Event(Event.SHOW) | ||
$(this._element).trigger(startEvent) | ||
if (startEvent.isDefaultPrevented()) { | ||
return | ||
@@ -173,11 +167,6 @@ } | ||
if (actives) { | ||
actives.forEach((elemActive) => { | ||
if (container !== elemActive) { | ||
Collapse._collapseInterface(elemActive, 'hide') | ||
} | ||
if (!activesData) { | ||
Data.setData(elemActive, DATA_KEY, null) | ||
} | ||
}) | ||
Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide') | ||
if (!activesData) { | ||
$(actives).data(DATA_KEY, null) | ||
} | ||
} | ||
@@ -187,4 +176,5 @@ | ||
this._element.classList.remove(ClassName.COLLAPSE) | ||
this._element.classList.add(ClassName.COLLAPSING) | ||
$(this._element) | ||
.removeClass(ClassName.COLLAPSE) | ||
.addClass(ClassName.COLLAPSING) | ||
@@ -194,6 +184,5 @@ this._element.style[dimension] = 0 | ||
if (this._triggerArray.length) { | ||
this._triggerArray.forEach((element) => { | ||
element.classList.remove(ClassName.COLLAPSED) | ||
element.setAttribute('aria-expanded', true) | ||
}) | ||
$(this._triggerArray) | ||
.removeClass(ClassName.COLLAPSED) | ||
.attr('aria-expanded', true) | ||
} | ||
@@ -204,5 +193,6 @@ | ||
const complete = () => { | ||
this._element.classList.remove(ClassName.COLLAPSING) | ||
this._element.classList.add(ClassName.COLLAPSE) | ||
this._element.classList.add(ClassName.SHOW) | ||
$(this._element) | ||
.removeClass(ClassName.COLLAPSING) | ||
.addClass(ClassName.COLLAPSE) | ||
.addClass(ClassName.SHOW) | ||
@@ -213,3 +203,3 @@ this._element.style[dimension] = '' | ||
EventHandler.trigger(this._element, Event.SHOWN) | ||
$(this._element).trigger(Event.SHOWN) | ||
} | ||
@@ -221,5 +211,6 @@ | ||
EventHandler.one(this._element, Util.TRANSITION_END, complete) | ||
$(this._element) | ||
.one(Util.TRANSITION_END, complete) | ||
.emulateTransitionEnd(transitionDuration) | ||
Util.emulateTransitionEnd(this._element, transitionDuration) | ||
this._element.style[dimension] = `${this._element[scrollSize]}px` | ||
@@ -230,8 +221,9 @@ } | ||
if (this._isTransitioning || | ||
!this._element.classList.contains(ClassName.SHOW)) { | ||
!$(this._element).hasClass(ClassName.SHOW)) { | ||
return | ||
} | ||
const startEvent = EventHandler.trigger(this._element, Event.HIDE) | ||
if (startEvent.defaultPrevented) { | ||
const startEvent = $.Event(Event.HIDE) | ||
$(this._element).trigger(startEvent) | ||
if (startEvent.isDefaultPrevented()) { | ||
return | ||
@@ -246,5 +238,6 @@ } | ||
this._element.classList.add(ClassName.COLLAPSING) | ||
this._element.classList.remove(ClassName.COLLAPSE) | ||
this._element.classList.remove(ClassName.SHOW) | ||
$(this._element) | ||
.addClass(ClassName.COLLAPSING) | ||
.removeClass(ClassName.COLLAPSE) | ||
.removeClass(ClassName.SHOW) | ||
@@ -258,7 +251,6 @@ const triggerArrayLength = this._triggerArray.length | ||
if (selector !== null) { | ||
const elem = SelectorEngine.findOne(selector) | ||
if (!elem.classList.contains(ClassName.SHOW)) { | ||
trigger.classList.add(ClassName.COLLAPSED) | ||
trigger.setAttribute('aria-expanded', false) | ||
const $elem = $([].slice.call(document.querySelectorAll(selector))) | ||
if (!$elem.hasClass(ClassName.SHOW)) { | ||
$(trigger).addClass(ClassName.COLLAPSED) | ||
.attr('aria-expanded', false) | ||
} | ||
@@ -273,5 +265,6 @@ } | ||
this.setTransitioning(false) | ||
this._element.classList.remove(ClassName.COLLAPSING) | ||
this._element.classList.add(ClassName.COLLAPSE) | ||
EventHandler.trigger(this._element, Event.HIDDEN) | ||
$(this._element) | ||
.removeClass(ClassName.COLLAPSING) | ||
.addClass(ClassName.COLLAPSE) | ||
.trigger(Event.HIDDEN) | ||
} | ||
@@ -282,4 +275,5 @@ | ||
EventHandler.one(this._element, Util.TRANSITION_END, complete) | ||
Util.emulateTransitionEnd(this._element, transitionDuration) | ||
$(this._element) | ||
.one(Util.TRANSITION_END, complete) | ||
.emulateTransitionEnd(transitionDuration) | ||
} | ||
@@ -292,3 +286,3 @@ | ||
dispose() { | ||
Data.removeData(this._element, DATA_KEY) | ||
$.removeData(this._element, DATA_KEY) | ||
@@ -315,3 +309,3 @@ this._config = null | ||
_getDimension() { | ||
const hasWidth = this._element.classList.contains(Dimension.WIDTH) | ||
const hasWidth = $(this._element).hasClass(Dimension.WIDTH) | ||
return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT | ||
@@ -326,8 +320,8 @@ } | ||
// it's a jQuery object | ||
if (typeof this._config.parent.jquery !== 'undefined' || typeof this._config.parent[0] !== 'undefined') { | ||
// It's a jQuery object | ||
if (typeof this._config.parent.jquery !== 'undefined') { | ||
parent = this._config.parent[0] | ||
} | ||
} else { | ||
parent = SelectorEngine.findOne(this._config.parent) | ||
parent = document.querySelector(this._config.parent) | ||
} | ||
@@ -338,9 +332,9 @@ | ||
Util.makeArray(SelectorEngine.find(selector, parent)) | ||
.forEach((element) => { | ||
this._addAriaAndCollapsedClass( | ||
Collapse._getTargetFromElement(element), | ||
[element] | ||
) | ||
}) | ||
const children = [].slice.call(parent.querySelectorAll(selector)) | ||
$(children).each((i, element) => { | ||
this._addAriaAndCollapsedClass( | ||
Collapse._getTargetFromElement(element), | ||
[element] | ||
) | ||
}) | ||
@@ -351,15 +345,8 @@ return parent | ||
_addAriaAndCollapsedClass(element, triggerArray) { | ||
if (element) { | ||
const isOpen = element.classList.contains(ClassName.SHOW) | ||
const isOpen = $(element).hasClass(ClassName.SHOW) | ||
if (triggerArray.length) { | ||
triggerArray.forEach((elem) => { | ||
if (!isOpen) { | ||
elem.classList.add(ClassName.COLLAPSED) | ||
} else { | ||
elem.classList.remove(ClassName.COLLAPSED) | ||
} | ||
elem.setAttribute('aria-expanded', isOpen) | ||
}) | ||
} | ||
if (triggerArray.length) { | ||
$(triggerArray) | ||
.toggleClass(ClassName.COLLAPSED, !isOpen) | ||
.attr('aria-expanded', isOpen) | ||
} | ||
@@ -372,38 +359,32 @@ } | ||
const selector = Util.getSelectorFromElement(element) | ||
return selector ? SelectorEngine.findOne(selector) : null | ||
return selector ? document.querySelector(selector) : null | ||
} | ||
static _collapseInterface(element, config) { | ||
let data = Data.getData(element, DATA_KEY) | ||
const _config = { | ||
...Default, | ||
...Manipulator.getDataAttributes(element), | ||
...typeof config === 'object' && config ? config : {} | ||
} | ||
static _jQueryInterface(config) { | ||
return this.each(function () { | ||
const $this = $(this) | ||
let data = $this.data(DATA_KEY) | ||
const _config = { | ||
...Default, | ||
...$this.data(), | ||
...typeof config === 'object' && config ? config : {} | ||
} | ||
if (!data && _config.toggle && /show|hide/.test(config)) { | ||
_config.toggle = false | ||
} | ||
if (!data && _config.toggle && /show|hide/.test(config)) { | ||
_config.toggle = false | ||
} | ||
if (!data) { | ||
data = new Collapse(element, _config) | ||
} | ||
if (!data) { | ||
data = new Collapse(this, _config) | ||
$this.data(DATA_KEY, data) | ||
} | ||
if (typeof config === 'string') { | ||
if (typeof data[config] === 'undefined') { | ||
throw new Error(`No method named "${config}"`) | ||
if (typeof config === 'string') { | ||
if (typeof data[config] === 'undefined') { | ||
throw new TypeError(`No method named "${config}"`) | ||
} | ||
data[config]() | ||
} | ||
data[config]() | ||
} | ||
} | ||
static _jQueryInterface(config) { | ||
return this.each(function () { | ||
Collapse._collapseInterface(this, config) | ||
}) | ||
} | ||
static _getInstance(element) { | ||
return Data.getData(element, DATA_KEY) | ||
} | ||
} | ||
@@ -417,27 +398,17 @@ | ||
EventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element | ||
if (event.target.tagName === 'A') { | ||
if (event.currentTarget.tagName === 'A') { | ||
event.preventDefault() | ||
} | ||
const triggerData = Manipulator.getDataAttributes(this) | ||
const selector = Util.getSelectorFromElement(this) | ||
const selectorElements = Util.makeArray(SelectorEngine.find(selector)) | ||
const $trigger = $(this) | ||
const selector = Util.getSelectorFromElement(this) | ||
const selectors = [].slice.call(document.querySelectorAll(selector)) | ||
selectorElements.forEach((element) => { | ||
const data = Data.getData(element, DATA_KEY) | ||
let config | ||
if (data) { | ||
// update parent attribute | ||
if (data._parent === null && typeof triggerData.parent === 'string') { | ||
data._config.parent = triggerData.parent | ||
data._parent = data._getParent() | ||
} | ||
config = 'toggle' | ||
} else { | ||
config = triggerData | ||
} | ||
Collapse._collapseInterface(element, config) | ||
$(selectors).each(function () { | ||
const $target = $(this) | ||
const data = $target.data(DATA_KEY) | ||
const config = data ? 'toggle' : $trigger.data() | ||
Collapse._jQueryInterface.call($target, config) | ||
}) | ||
@@ -450,16 +421,11 @@ }) | ||
* ------------------------------------------------------------------------ | ||
* add .collapse to jQuery only if jQuery is present | ||
*/ | ||
const $ = Util.jQuery | ||
if (typeof $ !== 'undefined') { | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
$.fn[NAME] = Collapse._jQueryInterface | ||
$.fn[NAME].Constructor = Collapse | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Collapse._jQueryInterface | ||
} | ||
$.fn[NAME] = Collapse._jQueryInterface | ||
$.fn[NAME].Constructor = Collapse | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Collapse._jQueryInterface | ||
} | ||
export default Collapse |
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): dropdown.js | ||
* Bootstrap (v4.4.1): dropdown.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -8,7 +8,4 @@ * -------------------------------------------------------------------------- | ||
import Data from './dom/data' | ||
import EventHandler from './dom/eventHandler' | ||
import Manipulator from './dom/manipulator' | ||
import $ from 'jquery' | ||
import Popper from 'popper.js' | ||
import SelectorEngine from './dom/selectorEngine' | ||
import Util from './util' | ||
@@ -23,6 +20,7 @@ | ||
const NAME = 'dropdown' | ||
const VERSION = '4.3.1' | ||
const VERSION = '4.4.1' | ||
const DATA_KEY = 'bs.dropdown' | ||
const EVENT_KEY = `.${DATA_KEY}` | ||
const DATA_API_KEY = '.data-api' | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key | ||
@@ -78,15 +76,17 @@ const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key | ||
const Default = { | ||
offset : 0, | ||
flip : true, | ||
boundary : 'scrollParent', | ||
reference : 'toggle', | ||
display : 'dynamic' | ||
offset : 0, | ||
flip : true, | ||
boundary : 'scrollParent', | ||
reference : 'toggle', | ||
display : 'dynamic', | ||
popperConfig : null | ||
} | ||
const DefaultType = { | ||
offset : '(number|string|function)', | ||
flip : 'boolean', | ||
boundary : '(string|element)', | ||
reference : '(string|element)', | ||
display : 'string' | ||
offset : '(number|string|function)', | ||
flip : 'boolean', | ||
boundary : '(string|element)', | ||
reference : '(string|element)', | ||
display : 'string', | ||
popperConfig : '(null|object)' | ||
} | ||
@@ -109,3 +109,2 @@ | ||
this._addEventListeners() | ||
Data.setData(element, DATA_KEY, this) | ||
} | ||
@@ -130,8 +129,7 @@ | ||
toggle() { | ||
if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) { | ||
if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) { | ||
return | ||
} | ||
const parent = Dropdown._getParentFromElement(this._element) | ||
const isActive = this._menu.classList.contains(ClassName.SHOW) | ||
const isActive = $(this._menu).hasClass(ClassName.SHOW) | ||
@@ -144,8 +142,19 @@ Dropdown._clearMenus() | ||
this.show(true) | ||
} | ||
show(usePopper = false) { | ||
if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) { | ||
return | ||
} | ||
const relatedTarget = { | ||
relatedTarget: this._element | ||
} | ||
const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget) | ||
const showEvent = $.Event(Event.SHOW, relatedTarget) | ||
const parent = Dropdown._getParentFromElement(this._element) | ||
if (showEvent.defaultPrevented) { | ||
$(parent).trigger(showEvent) | ||
if (showEvent.isDefaultPrevented()) { | ||
return | ||
@@ -155,3 +164,3 @@ } | ||
// Disable totally Popper.js for Dropdown in Navbar | ||
if (!this._inNavbar) { | ||
if (!this._inNavbar && usePopper) { | ||
/** | ||
@@ -162,3 +171,3 @@ * Check for Popper dependency | ||
if (typeof Popper === 'undefined') { | ||
throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org)') | ||
throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)') | ||
} | ||
@@ -183,3 +192,3 @@ | ||
if (this._config.boundary !== 'scrollParent') { | ||
parent.classList.add(ClassName.POSITION_STATIC) | ||
$(parent).addClass(ClassName.POSITION_STATIC) | ||
} | ||
@@ -194,5 +203,4 @@ this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig()) | ||
if ('ontouchstart' in document.documentElement && | ||
!Util.makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) { | ||
Util.makeArray(document.body.children) | ||
.forEach((elem) => EventHandler.on(elem, 'mouseover', null, Util.noop())) | ||
$(parent).closest(Selector.NAVBAR_NAV).length === 0) { | ||
$(document.body).children().on('mouseover', null, $.noop) | ||
} | ||
@@ -203,52 +211,38 @@ | ||
Manipulator.toggleClass(this._menu, ClassName.SHOW) | ||
Manipulator.toggleClass(parent, ClassName.SHOW) | ||
EventHandler.trigger(parent, Event.SHOWN, relatedTarget) | ||
$(this._menu).toggleClass(ClassName.SHOW) | ||
$(parent) | ||
.toggleClass(ClassName.SHOW) | ||
.trigger($.Event(Event.SHOWN, relatedTarget)) | ||
} | ||
show() { | ||
if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) { | ||
hide() { | ||
if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) { | ||
return | ||
} | ||
const parent = Dropdown._getParentFromElement(this._element) | ||
const relatedTarget = { | ||
relatedTarget: this._element | ||
} | ||
const hideEvent = $.Event(Event.HIDE, relatedTarget) | ||
const parent = Dropdown._getParentFromElement(this._element) | ||
const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget) | ||
$(parent).trigger(hideEvent) | ||
if (showEvent.defaultPrevented) { | ||
if (hideEvent.isDefaultPrevented()) { | ||
return | ||
} | ||
Manipulator.toggleClass(this._menu, ClassName.SHOW) | ||
Manipulator.toggleClass(parent, ClassName.SHOW) | ||
EventHandler.trigger(parent, Event.SHOWN, relatedTarget) | ||
} | ||
hide() { | ||
if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) { | ||
return | ||
if (this._popper) { | ||
this._popper.destroy() | ||
} | ||
const parent = Dropdown._getParentFromElement(this._element) | ||
const relatedTarget = { | ||
relatedTarget: this._element | ||
} | ||
const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget) | ||
if (hideEvent.defaultPrevented) { | ||
return | ||
} | ||
Manipulator.toggleClass(this._menu, ClassName.SHOW) | ||
Manipulator.toggleClass(parent, ClassName.SHOW) | ||
EventHandler.trigger(parent, Event.HIDDEN, relatedTarget) | ||
$(this._menu).toggleClass(ClassName.SHOW) | ||
$(parent) | ||
.toggleClass(ClassName.SHOW) | ||
.trigger($.Event(Event.HIDDEN, relatedTarget)) | ||
} | ||
dispose() { | ||
Data.removeData(this._element, DATA_KEY) | ||
EventHandler.off(this._element, EVENT_KEY) | ||
$.removeData(this._element, DATA_KEY) | ||
$(this._element).off(EVENT_KEY) | ||
this._element = null | ||
@@ -272,3 +266,3 @@ this._menu = null | ||
_addEventListeners() { | ||
EventHandler.on(this._element, Event.CLICK, (event) => { | ||
$(this._element).on(Event.CLICK, (event) => { | ||
event.preventDefault() | ||
@@ -283,3 +277,3 @@ event.stopPropagation() | ||
...this.constructor.Default, | ||
...Manipulator.getDataAttributes(this._element), | ||
...$(this._element).data(), | ||
...config | ||
@@ -302,3 +296,3 @@ } | ||
if (parent) { | ||
this._menu = SelectorEngine.findOne(Selector.MENU, parent) | ||
this._menu = parent.querySelector(Selector.MENU) | ||
} | ||
@@ -310,16 +304,16 @@ } | ||
_getPlacement() { | ||
const parentDropdown = this._element.parentNode | ||
let placement = AttachmentMap.BOTTOM | ||
const $parentDropdown = $(this._element.parentNode) | ||
let placement = AttachmentMap.BOTTOM | ||
// Handle dropup | ||
if (parentDropdown.classList.contains(ClassName.DROPUP)) { | ||
if ($parentDropdown.hasClass(ClassName.DROPUP)) { | ||
placement = AttachmentMap.TOP | ||
if (this._menu.classList.contains(ClassName.MENURIGHT)) { | ||
if ($(this._menu).hasClass(ClassName.MENURIGHT)) { | ||
placement = AttachmentMap.TOPEND | ||
} | ||
} else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) { | ||
} else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) { | ||
placement = AttachmentMap.RIGHT | ||
} else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) { | ||
} else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) { | ||
placement = AttachmentMap.LEFT | ||
} else if (this._menu.classList.contains(ClassName.MENURIGHT)) { | ||
} else if ($(this._menu).hasClass(ClassName.MENURIGHT)) { | ||
placement = AttachmentMap.BOTTOMEND | ||
@@ -331,3 +325,3 @@ } | ||
_detectNavbar() { | ||
return Boolean(SelectorEngine.closest(this._element, '.navbar')) | ||
return $(this._element).closest('.navbar').length > 0 | ||
} | ||
@@ -375,3 +369,6 @@ | ||
return popperConfig | ||
return { | ||
...popperConfig, | ||
...this._config.popperConfig | ||
} | ||
} | ||
@@ -381,21 +378,18 @@ | ||
static _dropdownInterface(element, config) { | ||
let data = Data.getData(element, DATA_KEY) | ||
const _config = typeof config === 'object' ? config : null | ||
static _jQueryInterface(config) { | ||
return this.each(function () { | ||
let data = $(this).data(DATA_KEY) | ||
const _config = typeof config === 'object' ? config : null | ||
if (!data) { | ||
data = new Dropdown(element, _config) | ||
} | ||
if (!data) { | ||
data = new Dropdown(this, _config) | ||
$(this).data(DATA_KEY, data) | ||
} | ||
if (typeof config === 'string') { | ||
if (typeof data[config] === 'undefined') { | ||
throw new Error(`No method named "${config}"`) | ||
if (typeof config === 'string') { | ||
if (typeof data[config] === 'undefined') { | ||
throw new TypeError(`No method named "${config}"`) | ||
} | ||
data[config]() | ||
} | ||
data[config]() | ||
} | ||
} | ||
static _jQueryInterface(config) { | ||
return this.each(function () { | ||
Dropdown._dropdownInterface(this, config) | ||
}) | ||
@@ -410,6 +404,7 @@ } | ||
const toggles = Util.makeArray(SelectorEngine.find(Selector.DATA_TOGGLE)) | ||
const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)) | ||
for (let i = 0, len = toggles.length; i < len; i++) { | ||
const parent = Dropdown._getParentFromElement(toggles[i]) | ||
const context = Data.getData(toggles[i], DATA_KEY) | ||
const parent = Dropdown._getParentFromElement(toggles[i]) | ||
const context = $(toggles[i]).data(DATA_KEY) | ||
const relatedTarget = { | ||
@@ -428,3 +423,3 @@ relatedTarget: toggles[i] | ||
const dropdownMenu = context._menu | ||
if (!parent.classList.contains(ClassName.SHOW)) { | ||
if (!$(parent).hasClass(ClassName.SHOW)) { | ||
continue | ||
@@ -434,10 +429,10 @@ } | ||
if (event && (event.type === 'click' && | ||
/input|textarea/i.test(event.target.tagName) || | ||
event.type === 'keyup' && event.which === TAB_KEYCODE) && | ||
parent.contains(event.target)) { | ||
/input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && | ||
$.contains(parent, event.target)) { | ||
continue | ||
} | ||
const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget) | ||
if (hideEvent.defaultPrevented) { | ||
const hideEvent = $.Event(Event.HIDE, relatedTarget) | ||
$(parent).trigger(hideEvent) | ||
if (hideEvent.isDefaultPrevented()) { | ||
continue | ||
@@ -449,4 +444,3 @@ } | ||
if ('ontouchstart' in document.documentElement) { | ||
Util.makeArray(document.body.children) | ||
.forEach((elem) => EventHandler.off(elem, 'mouseover', null, Util.noop())) | ||
$(document.body).children().off('mouseover', null, $.noop) | ||
} | ||
@@ -456,5 +450,10 @@ | ||
dropdownMenu.classList.remove(ClassName.SHOW) | ||
parent.classList.remove(ClassName.SHOW) | ||
EventHandler.trigger(parent, Event.HIDDEN, relatedTarget) | ||
if (context._popper) { | ||
context._popper.destroy() | ||
} | ||
$(dropdownMenu).removeClass(ClassName.SHOW) | ||
$(parent) | ||
.removeClass(ClassName.SHOW) | ||
.trigger($.Event(Event.HIDDEN, relatedTarget)) | ||
} | ||
@@ -468,3 +467,3 @@ } | ||
if (selector) { | ||
parent = SelectorEngine.findOne(selector) | ||
parent = document.querySelector(selector) | ||
} | ||
@@ -475,2 +474,3 @@ | ||
// eslint-disable-next-line complexity | ||
static _dataApiKeydownHandler(event) { | ||
@@ -487,3 +487,3 @@ // If not input/textarea: | ||
(event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || | ||
SelectorEngine.closest(event.target, Selector.MENU)) : !REGEXP_KEYDOWN.test(event.which)) { | ||
$(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { | ||
return | ||
@@ -495,3 +495,3 @@ } | ||
if (this.disabled || this.classList.contains(ClassName.DISABLED)) { | ||
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) { | ||
return | ||
@@ -501,16 +501,22 @@ } | ||
const parent = Dropdown._getParentFromElement(this) | ||
const isActive = parent.classList.contains(ClassName.SHOW) | ||
const isActive = $(parent).hasClass(ClassName.SHOW) | ||
if (!isActive && event.which === ESCAPE_KEYCODE) { | ||
return | ||
} | ||
if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { | ||
if (event.which === ESCAPE_KEYCODE) { | ||
EventHandler.trigger(SelectorEngine.findOne(Selector.DATA_TOGGLE, parent), 'focus') | ||
const toggle = parent.querySelector(Selector.DATA_TOGGLE) | ||
$(toggle).trigger('focus') | ||
} | ||
Dropdown._clearMenus() | ||
$(this).trigger('click') | ||
return | ||
} | ||
const items = Util.makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent)) | ||
const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS)) | ||
.filter((item) => $(item).is(':visible')) | ||
if (!items.length) { | ||
if (items.length === 0) { | ||
return | ||
@@ -535,6 +541,2 @@ } | ||
} | ||
static _getInstance(element) { | ||
return Data.getData(element, DATA_KEY) | ||
} | ||
} | ||
@@ -548,13 +550,14 @@ | ||
EventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler) | ||
EventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler) | ||
EventHandler.on(document, Event.CLICK_DATA_API, Dropdown._clearMenus) | ||
EventHandler.on(document, Event.KEYUP_DATA_API, Dropdown._clearMenus) | ||
EventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
event.preventDefault() | ||
event.stopPropagation() | ||
Dropdown._dropdownInterface(this, 'toggle') | ||
}) | ||
EventHandler | ||
.on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => e.stopPropagation()) | ||
$(document) | ||
.on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler) | ||
.on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler) | ||
.on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus) | ||
.on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
event.preventDefault() | ||
event.stopPropagation() | ||
Dropdown._jQueryInterface.call($(this), 'toggle') | ||
}) | ||
.on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => { | ||
e.stopPropagation() | ||
}) | ||
@@ -565,16 +568,12 @@ /** | ||
* ------------------------------------------------------------------------ | ||
* add .dropdown to jQuery only if jQuery is present | ||
*/ | ||
const $ = Util.jQuery | ||
if (typeof $ !== 'undefined') { | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
$.fn[NAME] = Dropdown._jQueryInterface | ||
$.fn[NAME].Constructor = Dropdown | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Dropdown._jQueryInterface | ||
} | ||
$.fn[NAME] = Dropdown._jQueryInterface | ||
$.fn[NAME].Constructor = Dropdown | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Dropdown._jQueryInterface | ||
} | ||
export default Dropdown |
@@ -1,8 +0,1 @@ | ||
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): index.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
* -------------------------------------------------------------------------- | ||
*/ | ||
import Alert from './alert' | ||
@@ -15,3 +8,3 @@ import Button from './button' | ||
import Popover from './popover' | ||
import ScrollSpy from './scrollspy' | ||
import Scrollspy from './scrollspy' | ||
import Tab from './tab' | ||
@@ -22,2 +15,9 @@ import Toast from './toast' | ||
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.4.1): index.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
* -------------------------------------------------------------------------- | ||
*/ | ||
export { | ||
@@ -32,3 +32,3 @@ Util, | ||
Popover, | ||
ScrollSpy, | ||
Scrollspy, | ||
Tab, | ||
@@ -35,0 +35,0 @@ Toast, |
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): modal.js | ||
* Bootstrap (v4.4.1): modal.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -8,6 +8,3 @@ * -------------------------------------------------------------------------- | ||
import Data from './dom/data' | ||
import EventHandler from './dom/eventHandler' | ||
import Manipulator from './dom/manipulator' | ||
import SelectorEngine from './dom/selectorEngine' | ||
import $ from 'jquery' | ||
import Util from './util' | ||
@@ -22,6 +19,7 @@ | ||
const NAME = 'modal' | ||
const VERSION = '4.3.1' | ||
const VERSION = '4.4.1' | ||
const DATA_KEY = 'bs.modal' | ||
const EVENT_KEY = `.${DATA_KEY}` | ||
const DATA_API_KEY = '.data-api' | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key | ||
@@ -45,2 +43,3 @@ | ||
HIDE : `hide${EVENT_KEY}`, | ||
HIDE_PREVENTED : `hidePrevented${EVENT_KEY}`, | ||
HIDDEN : `hidden${EVENT_KEY}`, | ||
@@ -64,3 +63,4 @@ SHOW : `show${EVENT_KEY}`, | ||
FADE : 'fade', | ||
SHOW : 'show' | ||
SHOW : 'show', | ||
STATIC : 'modal-static' | ||
} | ||
@@ -87,3 +87,3 @@ | ||
this._element = element | ||
this._dialog = SelectorEngine.findOne(Selector.DIALOG, element) | ||
this._dialog = element.querySelector(Selector.DIALOG) | ||
this._backdrop = null | ||
@@ -95,3 +95,2 @@ this._isShown = false | ||
this._scrollbarWidth = 0 | ||
Data.setData(element, DATA_KEY, this) | ||
} | ||
@@ -120,11 +119,13 @@ | ||
if (this._element.classList.contains(ClassName.FADE)) { | ||
if ($(this._element).hasClass(ClassName.FADE)) { | ||
this._isTransitioning = true | ||
} | ||
const showEvent = EventHandler.trigger(this._element, Event.SHOW, { | ||
const showEvent = $.Event(Event.SHOW, { | ||
relatedTarget | ||
}) | ||
if (this._isShown || showEvent.defaultPrevented) { | ||
$(this._element).trigger(showEvent) | ||
if (this._isShown || showEvent.isDefaultPrevented()) { | ||
return | ||
@@ -143,3 +144,3 @@ } | ||
EventHandler.on(this._element, | ||
$(this._element).on( | ||
Event.CLICK_DISMISS, | ||
@@ -150,5 +151,5 @@ Selector.DATA_DISMISS, | ||
EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => { | ||
EventHandler.one(this._element, Event.MOUSEUP_DISMISS, (event) => { | ||
if (event.target === this._element) { | ||
$(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => { | ||
$(this._element).one(Event.MOUSEUP_DISMISS, (event) => { | ||
if ($(event.target).is(this._element)) { | ||
this._ignoreBackdropClick = true | ||
@@ -171,5 +172,7 @@ } | ||
const hideEvent = EventHandler.trigger(this._element, Event.HIDE) | ||
const hideEvent = $.Event(Event.HIDE) | ||
if (!this._isShown || hideEvent.defaultPrevented) { | ||
$(this._element).trigger(hideEvent) | ||
if (!this._isShown || hideEvent.isDefaultPrevented()) { | ||
return | ||
@@ -179,3 +182,3 @@ } | ||
this._isShown = false | ||
const transition = this._element.classList.contains(ClassName.FADE) | ||
const transition = $(this._element).hasClass(ClassName.FADE) | ||
@@ -189,8 +192,8 @@ if (transition) { | ||
EventHandler.off(document, Event.FOCUSIN) | ||
$(document).off(Event.FOCUSIN) | ||
this._element.classList.remove(ClassName.SHOW) | ||
$(this._element).removeClass(ClassName.SHOW) | ||
EventHandler.off(this._element, Event.CLICK_DISMISS) | ||
EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS) | ||
$(this._element).off(Event.CLICK_DISMISS) | ||
$(this._dialog).off(Event.MOUSEDOWN_DISMISS) | ||
@@ -201,4 +204,5 @@ | ||
EventHandler.one(this._element, Util.TRANSITION_END, (event) => this._hideModal(event)) | ||
Util.emulateTransitionEnd(this._element, transitionDuration) | ||
$(this._element) | ||
.one(Util.TRANSITION_END, (event) => this._hideModal(event)) | ||
.emulateTransitionEnd(transitionDuration) | ||
} else { | ||
@@ -211,3 +215,3 @@ this._hideModal() | ||
[window, this._element, this._dialog] | ||
.forEach((htmlElement) => EventHandler.off(htmlElement, EVENT_KEY)) | ||
.forEach((htmlElement) => $(htmlElement).off(EVENT_KEY)) | ||
@@ -219,5 +223,5 @@ /** | ||
*/ | ||
EventHandler.off(document, Event.FOCUSIN) | ||
$(document).off(Event.FOCUSIN) | ||
Data.removeData(this._element, DATA_KEY) | ||
$.removeData(this._element, DATA_KEY) | ||
@@ -250,4 +254,28 @@ this._config = null | ||
_triggerBackdropTransition() { | ||
if (this._config.backdrop === 'static') { | ||
const hideEventPrevented = $.Event(Event.HIDE_PREVENTED) | ||
$(this._element).trigger(hideEventPrevented) | ||
if (hideEventPrevented.defaultPrevented) { | ||
return | ||
} | ||
this._element.classList.add(ClassName.STATIC) | ||
const modalTransitionDuration = Util.getTransitionDurationFromElement(this._element) | ||
$(this._element).one(Util.TRANSITION_END, () => { | ||
this._element.classList.remove(ClassName.STATIC) | ||
}) | ||
.emulateTransitionEnd(modalTransitionDuration) | ||
this._element.focus() | ||
} else { | ||
this.hide() | ||
} | ||
} | ||
_showElement(relatedTarget) { | ||
const transition = this._element.classList.contains(ClassName.FADE) | ||
const transition = $(this._element).hasClass(ClassName.FADE) | ||
const modalBody = this._dialog ? this._dialog.querySelector(Selector.MODAL_BODY) : null | ||
@@ -264,4 +292,4 @@ if (!this._element.parentNode || | ||
if (this._dialog.classList.contains(ClassName.SCROLLABLE)) { | ||
SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog).scrollTop = 0 | ||
if ($(this._dialog).hasClass(ClassName.SCROLLABLE) && modalBody) { | ||
modalBody.scrollTop = 0 | ||
} else { | ||
@@ -275,3 +303,3 @@ this._element.scrollTop = 0 | ||
this._element.classList.add(ClassName.SHOW) | ||
$(this._element).addClass(ClassName.SHOW) | ||
@@ -282,2 +310,6 @@ if (this._config.focus) { | ||
const shownEvent = $.Event(Event.SHOWN, { | ||
relatedTarget | ||
}) | ||
const transitionComplete = () => { | ||
@@ -288,5 +320,3 @@ if (this._config.focus) { | ||
this._isTransitioning = false | ||
EventHandler.trigger(this._element, Event.SHOWN, { | ||
relatedTarget | ||
}) | ||
$(this._element).trigger(shownEvent) | ||
} | ||
@@ -297,4 +327,5 @@ | ||
EventHandler.one(this._dialog, Util.TRANSITION_END, transitionComplete) | ||
Util.emulateTransitionEnd(this._dialog, transitionDuration) | ||
$(this._dialog) | ||
.one(Util.TRANSITION_END, transitionComplete) | ||
.emulateTransitionEnd(transitionDuration) | ||
} else { | ||
@@ -306,10 +337,11 @@ transitionComplete() | ||
_enforceFocus() { | ||
EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop | ||
EventHandler.on(document, Event.FOCUSIN, (event) => { | ||
if (document !== event.target && | ||
this._element !== event.target && | ||
!this._element.contains(event.target)) { | ||
this._element.focus() | ||
} | ||
}) | ||
$(document) | ||
.off(Event.FOCUSIN) // Guard against infinite focus loop | ||
.on(Event.FOCUSIN, (event) => { | ||
if (document !== event.target && | ||
this._element !== event.target && | ||
$(this._element).has(event.target).length === 0) { | ||
this._element.focus() | ||
} | ||
}) | ||
} | ||
@@ -319,10 +351,9 @@ | ||
if (this._isShown && this._config.keyboard) { | ||
EventHandler.on(this._element, Event.KEYDOWN_DISMISS, (event) => { | ||
$(this._element).on(Event.KEYDOWN_DISMISS, (event) => { | ||
if (event.which === ESCAPE_KEYCODE) { | ||
event.preventDefault() | ||
this.hide() | ||
this._triggerBackdropTransition() | ||
} | ||
}) | ||
} else if (!this._isShown) { | ||
EventHandler.off(this._element, Event.KEYDOWN_DISMISS) | ||
$(this._element).off(Event.KEYDOWN_DISMISS) | ||
} | ||
@@ -333,5 +364,5 @@ } | ||
if (this._isShown) { | ||
EventHandler.on(window, Event.RESIZE, (event) => this.handleUpdate(event)) | ||
$(window).on(Event.RESIZE, (event) => this.handleUpdate(event)) | ||
} else { | ||
EventHandler.off(window, Event.RESIZE) | ||
$(window).off(Event.RESIZE) | ||
} | ||
@@ -346,6 +377,6 @@ } | ||
this._showBackdrop(() => { | ||
document.body.classList.remove(ClassName.OPEN) | ||
$(document.body).removeClass(ClassName.OPEN) | ||
this._resetAdjustments() | ||
this._resetScrollbar() | ||
EventHandler.trigger(this._element, Event.HIDDEN) | ||
$(this._element).trigger(Event.HIDDEN) | ||
}) | ||
@@ -356,3 +387,3 @@ } | ||
if (this._backdrop) { | ||
this._backdrop.parentNode.removeChild(this._backdrop) | ||
$(this._backdrop).remove() | ||
this._backdrop = null | ||
@@ -363,5 +394,4 @@ } | ||
_showBackdrop(callback) { | ||
const animate = this._element.classList.contains(ClassName.FADE) | ||
? ClassName.FADE | ||
: '' | ||
const animate = $(this._element).hasClass(ClassName.FADE) | ||
? ClassName.FADE : '' | ||
@@ -376,5 +406,5 @@ if (this._isShown && this._config.backdrop) { | ||
document.body.appendChild(this._backdrop) | ||
$(this._backdrop).appendTo(document.body) | ||
EventHandler.on(this._element, Event.CLICK_DISMISS, (event) => { | ||
$(this._element).on(Event.CLICK_DISMISS, (event) => { | ||
if (this._ignoreBackdropClick) { | ||
@@ -387,7 +417,4 @@ this._ignoreBackdropClick = false | ||
} | ||
if (this._config.backdrop === 'static') { | ||
this._element.focus() | ||
} else { | ||
this.hide() | ||
} | ||
this._triggerBackdropTransition() | ||
}) | ||
@@ -399,3 +426,3 @@ | ||
this._backdrop.classList.add(ClassName.SHOW) | ||
$(this._backdrop).addClass(ClassName.SHOW) | ||
@@ -413,6 +440,7 @@ if (!callback) { | ||
EventHandler.one(this._backdrop, Util.TRANSITION_END, callback) | ||
Util.emulateTransitionEnd(this._backdrop, backdropTransitionDuration) | ||
$(this._backdrop) | ||
.one(Util.TRANSITION_END, callback) | ||
.emulateTransitionEnd(backdropTransitionDuration) | ||
} else if (!this._isShown && this._backdrop) { | ||
this._backdrop.classList.remove(ClassName.SHOW) | ||
$(this._backdrop).removeClass(ClassName.SHOW) | ||
@@ -426,6 +454,8 @@ const callbackRemove = () => { | ||
if (this._element.classList.contains(ClassName.FADE)) { | ||
if ($(this._element).hasClass(ClassName.FADE)) { | ||
const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop) | ||
EventHandler.one(this._backdrop, Util.TRANSITION_END, callbackRemove) | ||
Util.emulateTransitionEnd(this._backdrop, backdropTransitionDuration) | ||
$(this._backdrop) | ||
.one(Util.TRANSITION_END, callbackRemove) | ||
.emulateTransitionEnd(backdropTransitionDuration) | ||
} else { | ||
@@ -472,30 +502,32 @@ callbackRemove() | ||
// while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set | ||
const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT)) | ||
const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT)) | ||
// Adjust fixed content padding | ||
Util.makeArray(SelectorEngine.find(Selector.FIXED_CONTENT)) | ||
.forEach((element) => { | ||
const actualPadding = element.style.paddingRight | ||
const calculatedPadding = window.getComputedStyle(element)['padding-right'] | ||
Manipulator.setDataAttribute(element, 'padding-right', actualPadding) | ||
element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px` | ||
}) | ||
$(fixedContent).each((index, element) => { | ||
const actualPadding = element.style.paddingRight | ||
const calculatedPadding = $(element).css('padding-right') | ||
$(element) | ||
.data('padding-right', actualPadding) | ||
.css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`) | ||
}) | ||
// Adjust sticky content margin | ||
Util.makeArray(SelectorEngine.find(Selector.STICKY_CONTENT)) | ||
.forEach((element) => { | ||
const actualMargin = element.style.marginRight | ||
const calculatedMargin = window.getComputedStyle(element)['margin-right'] | ||
Manipulator.setDataAttribute(element, 'margin-right', actualMargin) | ||
element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px` | ||
}) | ||
$(stickyContent).each((index, element) => { | ||
const actualMargin = element.style.marginRight | ||
const calculatedMargin = $(element).css('margin-right') | ||
$(element) | ||
.data('margin-right', actualMargin) | ||
.css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`) | ||
}) | ||
// Adjust body padding | ||
const actualPadding = document.body.style.paddingRight | ||
const calculatedPadding = window.getComputedStyle(document.body)['padding-right'] | ||
Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding) | ||
document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px` | ||
const calculatedPadding = $(document.body).css('padding-right') | ||
$(document.body) | ||
.data('padding-right', actualPadding) | ||
.css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`) | ||
} | ||
document.body.classList.add(ClassName.OPEN) | ||
$(document.body).addClass(ClassName.OPEN) | ||
} | ||
@@ -505,29 +537,22 @@ | ||
// Restore fixed content padding | ||
Util.makeArray(SelectorEngine.find(Selector.FIXED_CONTENT)) | ||
.forEach((element) => { | ||
const padding = Manipulator.getDataAttribute(element, 'padding-right') | ||
if (typeof padding !== 'undefined') { | ||
Manipulator.removeDataAttribute(element, 'padding-right') | ||
element.style.paddingRight = padding | ||
} | ||
}) | ||
const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT)) | ||
$(fixedContent).each((index, element) => { | ||
const padding = $(element).data('padding-right') | ||
$(element).removeData('padding-right') | ||
element.style.paddingRight = padding ? padding : '' | ||
}) | ||
// Restore sticky content and navbar-toggler margin | ||
Util.makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`)) | ||
.forEach((element) => { | ||
const margin = Manipulator.getDataAttribute(element, 'margin-right') | ||
if (typeof margin !== 'undefined') { | ||
Manipulator.removeDataAttribute(element, 'margin-right') | ||
element.style.marginRight = margin | ||
} | ||
}) | ||
// Restore sticky content | ||
const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`)) | ||
$(elements).each((index, element) => { | ||
const margin = $(element).data('margin-right') | ||
if (typeof margin !== 'undefined') { | ||
$(element).css('margin-right', margin).removeData('margin-right') | ||
} | ||
}) | ||
// Restore body padding | ||
const padding = Manipulator.getDataAttribute(document.body, 'padding-right') | ||
if (typeof padding !== 'undefined') { | ||
Manipulator.removeDataAttribute(document.body, 'padding-right') | ||
document.body.style.paddingRight = padding | ||
} else { | ||
document.body.style.paddingRight = '' | ||
} | ||
const padding = $(document.body).data('padding-right') | ||
$(document.body).removeData('padding-right') | ||
document.body.style.paddingRight = padding ? padding : '' | ||
} | ||
@@ -548,6 +573,6 @@ | ||
return this.each(function () { | ||
let data = Data.getData(this, DATA_KEY) | ||
let data = $(this).data(DATA_KEY) | ||
const _config = { | ||
...Default, | ||
...Manipulator.getDataAttributes(this), | ||
...$(this).data(), | ||
...typeof config === 'object' && config ? config : {} | ||
@@ -558,2 +583,3 @@ } | ||
data = new Modal(this, _config) | ||
$(this).data(DATA_KEY, data) | ||
} | ||
@@ -571,6 +597,2 @@ | ||
} | ||
static _getInstance(element) { | ||
return Data.getData(element, DATA_KEY) | ||
} | ||
} | ||
@@ -584,3 +606,3 @@ | ||
EventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
let target | ||
@@ -590,9 +612,9 @@ const selector = Util.getSelectorFromElement(this) | ||
if (selector) { | ||
target = SelectorEngine.findOne(selector) | ||
target = document.querySelector(selector) | ||
} | ||
const config = Data.getData(target, DATA_KEY) | ||
const config = $(target).data(DATA_KEY) | ||
? 'toggle' : { | ||
...Manipulator.getDataAttributes(target), | ||
...Manipulator.getDataAttributes(this) | ||
...$(target).data(), | ||
...$(this).data() | ||
} | ||
@@ -604,10 +626,10 @@ | ||
EventHandler.one(target, Event.SHOW, (showEvent) => { | ||
if (showEvent.defaultPrevented) { | ||
// only register focus restorer if modal will actually get shown | ||
const $target = $(target).one(Event.SHOW, (showEvent) => { | ||
if (showEvent.isDefaultPrevented()) { | ||
// Only register focus restorer if modal will actually get shown | ||
return | ||
} | ||
EventHandler.one(target, Event.HIDDEN, () => { | ||
if (Util.isVisible(this)) { | ||
$target.one(Event.HIDDEN, () => { | ||
if ($(this).is(':visible')) { | ||
this.focus() | ||
@@ -618,8 +640,3 @@ } | ||
let data = Data.getData(target, DATA_KEY) | ||
if (!data) { | ||
data = new Modal(target, config) | ||
} | ||
data.show(this) | ||
Modal._jQueryInterface.call($(target), config, this) | ||
}) | ||
@@ -633,13 +650,9 @@ | ||
const $ = Util.jQuery | ||
if (typeof $ !== 'undefined') { | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
$.fn[NAME] = Modal._jQueryInterface | ||
$.fn[NAME].Constructor = Modal | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Modal._jQueryInterface | ||
} | ||
$.fn[NAME] = Modal._jQueryInterface | ||
$.fn[NAME].Constructor = Modal | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Modal._jQueryInterface | ||
} | ||
export default Modal |
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): popover.js | ||
* Bootstrap (v4.4.1): popover.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -8,6 +8,4 @@ * -------------------------------------------------------------------------- | ||
import Data from './dom/data' | ||
import SelectorEngine from './dom/selectorEngine' | ||
import $ from 'jquery' | ||
import Tooltip from './tooltip' | ||
import Util from './util' | ||
@@ -21,5 +19,6 @@ /** | ||
const NAME = 'popover' | ||
const VERSION = '4.3.1' | ||
const VERSION = '4.4.1' | ||
const DATA_KEY = 'bs.popover' | ||
const EVENT_KEY = `.${DATA_KEY}` | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
const CLASS_PREFIX = 'bs-popover' | ||
@@ -34,3 +33,3 @@ const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g') | ||
template : '<div class="popover" role="tooltip">' + | ||
'<div class="popover-arrow"></div>' + | ||
'<div class="arrow"></div>' + | ||
'<h3 class="popover-header"></h3>' + | ||
@@ -112,10 +111,15 @@ '<div class="popover-body"></div></div>' | ||
addAttachmentClass(attachment) { | ||
this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`) | ||
$(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`) | ||
} | ||
getTipElement() { | ||
this.tip = this.tip || $(this.config.template)[0] | ||
return this.tip | ||
} | ||
setContent() { | ||
const tip = this.getTipElement() | ||
const $tip = $(this.getTipElement()) | ||
// we use append for html objects to maintain js events | ||
this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle()) | ||
// We use append for html objects to maintain js events | ||
this.setElementContent($tip.find(Selector.TITLE), this.getTitle()) | ||
let content = this._getContent() | ||
@@ -125,6 +129,5 @@ if (typeof content === 'function') { | ||
} | ||
this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content) | ||
this.setElementContent($tip.find(Selector.CONTENT), content) | ||
tip.classList.remove(ClassName.FADE) | ||
tip.classList.remove(ClassName.SHOW) | ||
$tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`) | ||
} | ||
@@ -140,8 +143,6 @@ | ||
_cleanTipClass() { | ||
const tip = this.getTipElement() | ||
const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX) | ||
const $tip = $(this.getTipElement()) | ||
const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX) | ||
if (tabClass !== null && tabClass.length > 0) { | ||
tabClass.map((token) => token.trim()) | ||
.forEach((tClass) => tip.classList.remove(tClass)) | ||
$tip.removeClass(tabClass.join('')) | ||
} | ||
@@ -154,3 +155,3 @@ } | ||
return this.each(function () { | ||
let data = Data.getData(this, DATA_KEY) | ||
let data = $(this).data(DATA_KEY) | ||
const _config = typeof config === 'object' ? config : null | ||
@@ -164,3 +165,3 @@ | ||
data = new Popover(this, _config) | ||
Data.setData(this, DATA_KEY, data) | ||
$(this).data(DATA_KEY, data) | ||
} | ||
@@ -176,6 +177,2 @@ | ||
} | ||
static _getInstance(element) { | ||
return Data.getData(element, DATA_KEY) | ||
} | ||
} | ||
@@ -189,13 +186,9 @@ | ||
const $ = Util.jQuery | ||
if (typeof $ !== 'undefined') { | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
$.fn[NAME] = Popover._jQueryInterface | ||
$.fn[NAME].Constructor = Popover | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Popover._jQueryInterface | ||
} | ||
$.fn[NAME] = Popover._jQueryInterface | ||
$.fn[NAME].Constructor = Popover | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Popover._jQueryInterface | ||
} | ||
export default Popover |
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): scrollspy.js | ||
* Bootstrap (v4.4.1): scrollspy.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -8,6 +8,3 @@ * -------------------------------------------------------------------------- | ||
import Data from './dom/data' | ||
import EventHandler from './dom/eventHandler' | ||
import Manipulator from './dom/manipulator' | ||
import SelectorEngine from './dom/selectorEngine' | ||
import $ from 'jquery' | ||
import Util from './util' | ||
@@ -22,6 +19,7 @@ | ||
const NAME = 'scrollspy' | ||
const VERSION = '4.3.1' | ||
const VERSION = '4.4.1' | ||
const DATA_KEY = 'bs.scrollspy' | ||
const EVENT_KEY = `.${DATA_KEY}` | ||
const DATA_API_KEY = '.data-api' | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
@@ -88,8 +86,6 @@ const Default = { | ||
EventHandler.on(this._scrollElement, Event.SCROLL, (event) => this._process(event)) | ||
$(this._scrollElement).on(Event.SCROLL, (event) => this._process(event)) | ||
this.refresh() | ||
this._process() | ||
Data.setData(element, DATA_KEY, this) | ||
} | ||
@@ -124,3 +120,3 @@ | ||
const targets = Util.makeArray(SelectorEngine.find(this._selector)) | ||
const targets = [].slice.call(document.querySelectorAll(this._selector)) | ||
@@ -133,3 +129,3 @@ targets | ||
if (targetSelector) { | ||
target = SelectorEngine.findOne(targetSelector) | ||
target = document.querySelector(targetSelector) | ||
} | ||
@@ -142,3 +138,3 @@ | ||
return [ | ||
Manipulator[offsetMethod](target).top + offsetBase, | ||
$(target)[offsetMethod]().top + offsetBase, | ||
targetSelector | ||
@@ -159,4 +155,4 @@ ] | ||
dispose() { | ||
Data.removeData(this._element, DATA_KEY) | ||
EventHandler.off(this._scrollElement, EVENT_KEY) | ||
$.removeData(this._element, DATA_KEY) | ||
$(this._scrollElement).off(EVENT_KEY) | ||
@@ -182,6 +178,6 @@ this._element = null | ||
if (typeof config.target !== 'string') { | ||
let id = config.target.id | ||
let id = $(config.target).attr('id') | ||
if (!id) { | ||
id = Util.getUID(NAME) | ||
config.target.id = id | ||
$(config.target).attr('id', id) | ||
} | ||
@@ -257,35 +253,22 @@ config.target = `#${id}` | ||
const queries = this._selector.split(',') | ||
const queries = this._selector | ||
.split(',') | ||
.map((selector) => `${selector}[data-target="${target}"],${selector}[href="${target}"]`) | ||
const link = SelectorEngine.findOne(queries.join(',')) | ||
const $link = $([].slice.call(document.querySelectorAll(queries.join(',')))) | ||
if (link.classList.contains(ClassName.DROPDOWN_ITEM)) { | ||
SelectorEngine | ||
.findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN)) | ||
.classList.add(ClassName.ACTIVE) | ||
link.classList.add(ClassName.ACTIVE) | ||
if ($link.hasClass(ClassName.DROPDOWN_ITEM)) { | ||
$link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE) | ||
$link.addClass(ClassName.ACTIVE) | ||
} else { | ||
// Set triggered link as active | ||
link.classList.add(ClassName.ACTIVE) | ||
SelectorEngine | ||
.parents(link, Selector.NAV_LIST_GROUP) | ||
.forEach((listGroup) => { | ||
// Set triggered links parents as active | ||
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor | ||
SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`) | ||
.forEach((item) => item.classList.add(ClassName.ACTIVE)) | ||
// Handle special case when .nav-link is inside .nav-item | ||
SelectorEngine.prev(listGroup, Selector.NAV_ITEMS) | ||
.forEach((navItem) => { | ||
SelectorEngine.children(navItem, Selector.NAV_LINKS) | ||
.forEach((item) => item.classList.add(ClassName.ACTIVE)) | ||
}) | ||
}) | ||
$link.addClass(ClassName.ACTIVE) | ||
// Set triggered links parents as active | ||
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor | ||
$link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE) | ||
// Handle special case when .nav-link is inside .nav-item | ||
$link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE) | ||
} | ||
EventHandler.trigger(this._scrollElement, Event.ACTIVATE, { | ||
$(this._scrollElement).trigger(Event.ACTIVATE, { | ||
relatedTarget: target | ||
@@ -296,3 +279,3 @@ }) | ||
_clear() { | ||
Util.makeArray(SelectorEngine.find(this._selector)) | ||
[].slice.call(document.querySelectorAll(this._selector)) | ||
.filter((node) => node.classList.contains(ClassName.ACTIVE)) | ||
@@ -306,3 +289,3 @@ .forEach((node) => node.classList.remove(ClassName.ACTIVE)) | ||
return this.each(function () { | ||
let data = Data.getData(this, DATA_KEY) | ||
let data = $(this).data(DATA_KEY) | ||
const _config = typeof config === 'object' && config | ||
@@ -312,2 +295,3 @@ | ||
data = new ScrollSpy(this, _config) | ||
$(this).data(DATA_KEY, data) | ||
} | ||
@@ -323,6 +307,2 @@ | ||
} | ||
static _getInstance(element) { | ||
return Data.getData(element, DATA_KEY) | ||
} | ||
} | ||
@@ -336,5 +316,10 @@ | ||
EventHandler.on(window, Event.LOAD_DATA_API, () => { | ||
Util.makeArray(SelectorEngine.find(Selector.DATA_SPY)) | ||
.forEach((spy) => new ScrollSpy(spy, Manipulator.getDataAttributes(spy))) | ||
$(window).on(Event.LOAD_DATA_API, () => { | ||
const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY)) | ||
const scrollSpysLength = scrollSpys.length | ||
for (let i = scrollSpysLength; i--;) { | ||
const $spy = $(scrollSpys[i]) | ||
ScrollSpy._jQueryInterface.call($spy, $spy.data()) | ||
} | ||
}) | ||
@@ -348,13 +333,9 @@ | ||
const $ = Util.jQuery | ||
if (typeof $ !== 'undefined') { | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
$.fn[NAME] = ScrollSpy._jQueryInterface | ||
$.fn[NAME].Constructor = ScrollSpy | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return ScrollSpy._jQueryInterface | ||
} | ||
$.fn[NAME] = ScrollSpy._jQueryInterface | ||
$.fn[NAME].Constructor = ScrollSpy | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return ScrollSpy._jQueryInterface | ||
} | ||
export default ScrollSpy |
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): tab.js | ||
* Bootstrap (v4.4.1): tab.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -8,5 +8,3 @@ * -------------------------------------------------------------------------- | ||
import Data from './dom/data' | ||
import EventHandler from './dom/eventHandler' | ||
import SelectorEngine from './dom/selectorEngine' | ||
import $ from 'jquery' | ||
import Util from './util' | ||
@@ -21,6 +19,7 @@ | ||
const NAME = 'tab' | ||
const VERSION = '4.3.1' | ||
const VERSION = '4.4.1' | ||
const DATA_KEY = 'bs.tab' | ||
const EVENT_KEY = `.${DATA_KEY}` | ||
const DATA_API_KEY = '.data-api' | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
@@ -47,6 +46,6 @@ const Event = { | ||
ACTIVE : '.active', | ||
ACTIVE_UL : ':scope > li > .active', | ||
ACTIVE_UL : '> li > .active', | ||
DATA_TOGGLE : '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', | ||
DROPDOWN_TOGGLE : '.dropdown-toggle', | ||
DROPDOWN_ACTIVE_CHILD : ':scope > .dropdown-menu .active' | ||
DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active' | ||
} | ||
@@ -63,4 +62,2 @@ | ||
this._element = element | ||
Data.setData(this._element, DATA_KEY, this) | ||
} | ||
@@ -78,5 +75,5 @@ | ||
if (this._element.parentNode && | ||
this._element.parentNode.nodeType === Node.ELEMENT_NODE && | ||
this._element.classList.contains(ClassName.ACTIVE) || | ||
this._element.classList.contains(ClassName.DISABLED)) { | ||
this._element.parentNode.nodeType === Node.ELEMENT_NODE && | ||
$(this._element).hasClass(ClassName.ACTIVE) || | ||
$(this._element).hasClass(ClassName.DISABLED)) { | ||
return | ||
@@ -87,3 +84,3 @@ } | ||
let previous | ||
const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP) | ||
const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0] | ||
const selector = Util.getSelectorFromElement(this._element) | ||
@@ -93,20 +90,22 @@ | ||
const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE | ||
previous = Util.makeArray(SelectorEngine.find(itemSelector, listElement)) | ||
previous = $.makeArray($(listElement).find(itemSelector)) | ||
previous = previous[previous.length - 1] | ||
} | ||
let hideEvent = null | ||
const hideEvent = $.Event(Event.HIDE, { | ||
relatedTarget: this._element | ||
}) | ||
const showEvent = $.Event(Event.SHOW, { | ||
relatedTarget: previous | ||
}) | ||
if (previous) { | ||
hideEvent = EventHandler.trigger(previous, Event.HIDE, { | ||
relatedTarget: this._element | ||
}) | ||
$(previous).trigger(hideEvent) | ||
} | ||
const showEvent = EventHandler.trigger(this._element, Event.SHOW, { | ||
relatedTarget: previous | ||
}) | ||
$(this._element).trigger(showEvent) | ||
if (showEvent.defaultPrevented || | ||
hideEvent !== null && hideEvent.defaultPrevented) { | ||
if (showEvent.isDefaultPrevented() || | ||
hideEvent.isDefaultPrevented()) { | ||
return | ||
@@ -116,3 +115,3 @@ } | ||
if (selector) { | ||
target = SelectorEngine.findOne(selector) | ||
target = document.querySelector(selector) | ||
} | ||
@@ -126,8 +125,12 @@ | ||
const complete = () => { | ||
EventHandler.trigger(previous, Event.HIDDEN, { | ||
const hiddenEvent = $.Event(Event.HIDDEN, { | ||
relatedTarget: this._element | ||
}) | ||
EventHandler.trigger(this._element, Event.SHOWN, { | ||
const shownEvent = $.Event(Event.SHOWN, { | ||
relatedTarget: previous | ||
}) | ||
$(previous).trigger(hiddenEvent) | ||
$(this._element).trigger(shownEvent) | ||
} | ||
@@ -143,3 +146,3 @@ | ||
dispose() { | ||
Data.removeData(this._element, DATA_KEY) | ||
$.removeData(this._element, DATA_KEY) | ||
this._element = null | ||
@@ -152,9 +155,7 @@ } | ||
const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') | ||
? SelectorEngine.find(Selector.ACTIVE_UL, container) | ||
: SelectorEngine.children(container, Selector.ACTIVE) | ||
? $(container).find(Selector.ACTIVE_UL) | ||
: $(container).children(Selector.ACTIVE) | ||
const active = activeElements[0] | ||
const isTransitioning = callback && | ||
(active && active.classList.contains(ClassName.FADE)) | ||
const active = activeElements[0] | ||
const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE)) | ||
const complete = () => this._transitionComplete( | ||
@@ -168,6 +169,7 @@ element, | ||
const transitionDuration = Util.getTransitionDurationFromElement(active) | ||
active.classList.remove(ClassName.SHOW) | ||
EventHandler.one(active, Util.TRANSITION_END, complete) | ||
Util.emulateTransitionEnd(active, transitionDuration) | ||
$(active) | ||
.removeClass(ClassName.SHOW) | ||
.one(Util.TRANSITION_END, complete) | ||
.emulateTransitionEnd(transitionDuration) | ||
} else { | ||
@@ -180,8 +182,10 @@ complete() | ||
if (active) { | ||
active.classList.remove(ClassName.ACTIVE) | ||
$(active).removeClass(ClassName.ACTIVE) | ||
const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode) | ||
const dropdownChild = $(active.parentNode).find( | ||
Selector.DROPDOWN_ACTIVE_CHILD | ||
)[0] | ||
if (dropdownChild) { | ||
dropdownChild.classList.remove(ClassName.ACTIVE) | ||
$(dropdownChild).removeClass(ClassName.ACTIVE) | ||
} | ||
@@ -194,3 +198,3 @@ | ||
element.classList.add(ClassName.ACTIVE) | ||
$(element).addClass(ClassName.ACTIVE) | ||
if (element.getAttribute('role') === 'tab') { | ||
@@ -206,8 +210,9 @@ element.setAttribute('aria-selected', true) | ||
if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) { | ||
const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN) | ||
if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) { | ||
const dropdownElement = $(element).closest(Selector.DROPDOWN)[0] | ||
if (dropdownElement) { | ||
Util.makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE)) | ||
.forEach((dropdown) => dropdown.classList.add(ClassName.ACTIVE)) | ||
const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE)) | ||
$(dropdownToggleList).addClass(ClassName.ACTIVE) | ||
} | ||
@@ -227,4 +232,10 @@ | ||
return this.each(function () { | ||
const data = Data.getData(this, DATA_KEY) || new Tab(this) | ||
const $this = $(this) | ||
let data = $this.data(DATA_KEY) | ||
if (!data) { | ||
data = new Tab(this) | ||
$this.data(DATA_KEY, data) | ||
} | ||
if (typeof config === 'string') { | ||
@@ -238,6 +249,2 @@ if (typeof data[config] === 'undefined') { | ||
} | ||
static _getInstance(element) { | ||
return Data.getData(element, DATA_KEY) | ||
} | ||
} | ||
@@ -251,9 +258,8 @@ | ||
EventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
event.preventDefault() | ||
$(document) | ||
.on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { | ||
event.preventDefault() | ||
Tab._jQueryInterface.call($(this), 'show') | ||
}) | ||
const data = Data.getData(this, DATA_KEY) || new Tab(this) | ||
data.show() | ||
}) | ||
/** | ||
@@ -265,13 +271,9 @@ * ------------------------------------------------------------------------ | ||
const $ = Util.jQuery | ||
if (typeof $ !== 'undefined') { | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
$.fn[NAME] = Tab._jQueryInterface | ||
$.fn[NAME].Constructor = Tab | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Tab._jQueryInterface | ||
} | ||
$.fn[NAME] = Tab._jQueryInterface | ||
$.fn[NAME].Constructor = Tab | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Tab._jQueryInterface | ||
} | ||
export default Tab |
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): toast.js | ||
* Bootstrap (v4.4.1): toast.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -8,5 +8,3 @@ * -------------------------------------------------------------------------- | ||
import Data from './dom/data' | ||
import EventHandler from './dom/eventHandler' | ||
import Manipulator from './dom/manipulator' | ||
import $ from 'jquery' | ||
import Util from './util' | ||
@@ -20,6 +18,7 @@ | ||
const NAME = 'toast' | ||
const VERSION = '4.3.1' | ||
const DATA_KEY = 'bs.toast' | ||
const EVENT_KEY = `.${DATA_KEY}` | ||
const NAME = 'toast' | ||
const VERSION = '4.4.1' | ||
const DATA_KEY = 'bs.toast' | ||
const EVENT_KEY = `.${DATA_KEY}` | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
@@ -69,3 +68,2 @@ const Event = { | ||
this._setListeners() | ||
Data.setData(element, DATA_KEY, this) | ||
} | ||
@@ -90,4 +88,9 @@ | ||
show() { | ||
EventHandler.trigger(this._element, Event.SHOW) | ||
const showEvent = $.Event(Event.SHOW) | ||
$(this._element).trigger(showEvent) | ||
if (showEvent.isDefaultPrevented()) { | ||
return | ||
} | ||
if (this._config.animation) { | ||
@@ -101,6 +104,8 @@ this._element.classList.add(ClassName.FADE) | ||
EventHandler.trigger(this._element, Event.SHOWN) | ||
$(this._element).trigger(Event.SHOWN) | ||
if (this._config.autohide) { | ||
this.hide() | ||
this._timeout = setTimeout(() => { | ||
this.hide() | ||
}, this._config.delay) | ||
} | ||
@@ -110,2 +115,3 @@ } | ||
this._element.classList.remove(ClassName.HIDE) | ||
Util.reflow(this._element) | ||
this._element.classList.add(ClassName.SHOWING) | ||
@@ -115,4 +121,5 @@ if (this._config.animation) { | ||
EventHandler.one(this._element, Util.TRANSITION_END, complete) | ||
Util.emulateTransitionEnd(this._element, transitionDuration) | ||
$(this._element) | ||
.one(Util.TRANSITION_END, complete) | ||
.emulateTransitionEnd(transitionDuration) | ||
} else { | ||
@@ -123,3 +130,3 @@ complete() | ||
hide(withoutTimeout) { | ||
hide() { | ||
if (!this._element.classList.contains(ClassName.SHOW)) { | ||
@@ -129,11 +136,10 @@ return | ||
EventHandler.trigger(this._element, Event.HIDE) | ||
const hideEvent = $.Event(Event.HIDE) | ||
if (withoutTimeout) { | ||
this._close() | ||
} else { | ||
this._timeout = setTimeout(() => { | ||
this._close() | ||
}, this._config.delay) | ||
$(this._element).trigger(hideEvent) | ||
if (hideEvent.isDefaultPrevented()) { | ||
return | ||
} | ||
this._close() | ||
} | ||
@@ -149,5 +155,5 @@ | ||
EventHandler.off(this._element, Event.CLICK_DISMISS) | ||
Data.removeData(this._element, DATA_KEY) | ||
$(this._element).off(Event.CLICK_DISMISS) | ||
$.removeData(this._element, DATA_KEY) | ||
this._element = null | ||
@@ -162,3 +168,3 @@ this._config = null | ||
...Default, | ||
...Manipulator.getDataAttributes(this._element), | ||
...$(this._element).data(), | ||
...typeof config === 'object' && config ? config : {} | ||
@@ -177,7 +183,6 @@ } | ||
_setListeners() { | ||
EventHandler.on( | ||
this._element, | ||
$(this._element).on( | ||
Event.CLICK_DISMISS, | ||
Selector.DATA_DISMISS, | ||
() => this.hide(true) | ||
() => this.hide() | ||
) | ||
@@ -189,3 +194,3 @@ } | ||
this._element.classList.add(ClassName.HIDE) | ||
EventHandler.trigger(this._element, Event.HIDDEN) | ||
$(this._element).trigger(Event.HIDDEN) | ||
} | ||
@@ -197,4 +202,5 @@ | ||
EventHandler.one(this._element, Util.TRANSITION_END, complete) | ||
Util.emulateTransitionEnd(this._element, transitionDuration) | ||
$(this._element) | ||
.one(Util.TRANSITION_END, complete) | ||
.emulateTransitionEnd(transitionDuration) | ||
} else { | ||
@@ -209,3 +215,4 @@ complete() | ||
return this.each(function () { | ||
let data = Data.getData(this, DATA_KEY) | ||
const $element = $(this) | ||
let data = $element.data(DATA_KEY) | ||
const _config = typeof config === 'object' && config | ||
@@ -215,2 +222,3 @@ | ||
data = new Toast(this, _config) | ||
$element.data(DATA_KEY, data) | ||
} | ||
@@ -227,6 +235,2 @@ | ||
} | ||
static _getInstance(element) { | ||
return Data.getData(element, DATA_KEY) | ||
} | ||
} | ||
@@ -238,16 +242,11 @@ | ||
* ------------------------------------------------------------------------ | ||
* add .toast to jQuery only if jQuery is present | ||
*/ | ||
const $ = Util.jQuery | ||
if (typeof $ !== 'undefined') { | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
$.fn[NAME] = Toast._jQueryInterface | ||
$.fn[NAME].Constructor = Toast | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Toast._jQueryInterface | ||
} | ||
$.fn[NAME] = Toast._jQueryInterface | ||
$.fn[NAME].Constructor = Toast | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Toast._jQueryInterface | ||
} | ||
export default Toast |
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): tools/sanitizer.js | ||
* Bootstrap (v4.4.1): tools/sanitizer.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -8,4 +8,2 @@ * -------------------------------------------------------------------------- | ||
import Util from '../util' | ||
const uriAttrs = [ | ||
@@ -107,3 +105,3 @@ 'background', | ||
const whitelistKeys = Object.keys(whiteList) | ||
const elements = Util.makeArray(createdDocument.body.querySelectorAll('*')) | ||
const elements = [].slice.call(createdDocument.body.querySelectorAll('*')) | ||
@@ -120,3 +118,3 @@ for (let i = 0, len = elements.length; i < len; i++) { | ||
const attributeList = Util.makeArray(el.attributes) | ||
const attributeList = [].slice.call(el.attributes) | ||
const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []) | ||
@@ -123,0 +121,0 @@ |
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): tooltip.js | ||
* Bootstrap (v4.4.1): tooltip.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -12,7 +12,4 @@ * -------------------------------------------------------------------------- | ||
} from './tools/sanitizer' | ||
import Data from './dom/data' | ||
import EventHandler from './dom/eventHandler' | ||
import Manipulator from './dom/manipulator' | ||
import $ from 'jquery' | ||
import Popper from 'popper.js' | ||
import SelectorEngine from './dom/selectorEngine' | ||
import Util from './util' | ||
@@ -27,5 +24,6 @@ | ||
const NAME = 'tooltip' | ||
const VERSION = '4.3.1' | ||
const VERSION = '4.4.1' | ||
const DATA_KEY = 'bs.tooltip' | ||
const EVENT_KEY = `.${DATA_KEY}` | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
const CLASS_PREFIX = 'bs-tooltip' | ||
@@ -35,3 +33,2 @@ const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g') | ||
const DefaultType = { | ||
@@ -52,3 +49,4 @@ animation : 'boolean', | ||
sanitizeFn : '(null|function)', | ||
whiteList : 'object' | ||
whiteList : 'object', | ||
popperConfig : '(null|object)' | ||
} | ||
@@ -67,3 +65,3 @@ | ||
template : '<div class="tooltip" role="tooltip">' + | ||
'<div class="tooltip-arrow"></div>' + | ||
'<div class="arrow"></div>' + | ||
'<div class="tooltip-inner"></div></div>', | ||
@@ -82,3 +80,4 @@ trigger : 'hover focus', | ||
sanitizeFn : null, | ||
whiteList : DefaultWhitelist | ||
whiteList : DefaultWhitelist, | ||
popperConfig : null | ||
} | ||
@@ -112,3 +111,3 @@ | ||
TOOLTIP_INNER : '.tooltip-inner', | ||
TOOLTIP_ARROW : '.tooltip-arrow' | ||
ARROW : '.arrow' | ||
} | ||
@@ -132,8 +131,4 @@ | ||
constructor(element, config) { | ||
/** | ||
* Check for Popper dependency | ||
* Popper - https://popper.js.org | ||
*/ | ||
if (typeof Popper === 'undefined') { | ||
throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org)') | ||
throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)') | ||
} | ||
@@ -154,3 +149,2 @@ | ||
this._setListeners() | ||
Data.setData(element, this.constructor.DATA_KEY, this) | ||
} | ||
@@ -209,10 +203,10 @@ | ||
const dataKey = this.constructor.DATA_KEY | ||
let context = Data.getData(event.delegateTarget, dataKey) | ||
let context = $(event.currentTarget).data(dataKey) | ||
if (!context) { | ||
context = new this.constructor( | ||
event.delegateTarget, | ||
event.currentTarget, | ||
this._getDelegateConfig() | ||
) | ||
Data.setData(event.delegateTarget, dataKey, context) | ||
$(event.currentTarget).data(dataKey, context) | ||
} | ||
@@ -228,3 +222,3 @@ | ||
} else { | ||
if (this.getTipElement().classList.contains(ClassName.SHOW)) { | ||
if ($(this.getTipElement()).hasClass(ClassName.SHOW)) { | ||
this._leave(null, this) | ||
@@ -241,9 +235,9 @@ return | ||
Data.removeData(this.element, this.constructor.DATA_KEY) | ||
$.removeData(this.element, this.constructor.DATA_KEY) | ||
EventHandler.off(this.element, this.constructor.EVENT_KEY) | ||
EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal') | ||
$(this.element).off(this.constructor.EVENT_KEY) | ||
$(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler) | ||
if (this.tip) { | ||
this.tip.parentNode.removeChild(this.tip) | ||
$(this.tip).remove() | ||
} | ||
@@ -255,3 +249,3 @@ | ||
this._activeTrigger = null | ||
if (this._popper !== null) { | ||
if (this._popper) { | ||
this._popper.destroy() | ||
@@ -267,14 +261,17 @@ } | ||
show() { | ||
if (this.element.style.display === 'none') { | ||
if ($(this.element).css('display') === 'none') { | ||
throw new Error('Please use show on visible elements') | ||
} | ||
const showEvent = $.Event(this.constructor.Event.SHOW) | ||
if (this.isWithContent() && this._isEnabled) { | ||
const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW) | ||
$(this.element).trigger(showEvent) | ||
const shadowRoot = Util.findShadowRoot(this.element) | ||
const isInTheDom = shadowRoot !== null | ||
? shadowRoot.contains(this.element) | ||
: this.element.ownerDocument.documentElement.contains(this.element) | ||
const isInTheDom = $.contains( | ||
shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, | ||
this.element | ||
) | ||
if (showEvent.defaultPrevented || !isInTheDom) { | ||
if (showEvent.isDefaultPrevented() || !isInTheDom) { | ||
return | ||
@@ -292,3 +289,3 @@ } | ||
if (this.config.animation) { | ||
tip.classList.add(ClassName.FADE) | ||
$(tip).addClass(ClassName.FADE) | ||
} | ||
@@ -304,33 +301,13 @@ | ||
const container = this._getContainer() | ||
Data.setData(tip, this.constructor.DATA_KEY, this) | ||
$(tip).data(this.constructor.DATA_KEY, this) | ||
if (!this.element.ownerDocument.documentElement.contains(this.tip)) { | ||
container.appendChild(tip) | ||
if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) { | ||
$(tip).appendTo(container) | ||
} | ||
EventHandler.trigger(this.element, this.constructor.Event.INSERTED) | ||
$(this.element).trigger(this.constructor.Event.INSERTED) | ||
this._popper = new Popper(this.element, tip, { | ||
placement: attachment, | ||
modifiers: { | ||
offset: this._getOffset(), | ||
flip: { | ||
behavior: this.config.fallbackPlacement | ||
}, | ||
arrow: { | ||
element: Selector.TOOLTIP_ARROW | ||
}, | ||
preventOverflow: { | ||
boundariesElement: this.config.boundary | ||
} | ||
}, | ||
onCreate: (data) => { | ||
if (data.originalPlacement !== data.placement) { | ||
this._handlePopperPlacementChange(data) | ||
} | ||
}, | ||
onUpdate: (data) => this._handlePopperPlacementChange(data) | ||
}) | ||
this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment)) | ||
tip.classList.add(ClassName.SHOW) | ||
$(tip).addClass(ClassName.SHOW) | ||
@@ -342,5 +319,3 @@ // If this is a touch-enabled device we add extra | ||
if ('ontouchstart' in document.documentElement) { | ||
Util.makeArray(document.body.children).forEach((element) => { | ||
EventHandler.on(element, 'mouseover', Util.noop()) | ||
}) | ||
$(document.body).children().on('mouseover', null, $.noop) | ||
} | ||
@@ -355,3 +330,3 @@ | ||
EventHandler.trigger(this.element, this.constructor.Event.SHOWN) | ||
$(this.element).trigger(this.constructor.Event.SHOWN) | ||
@@ -363,6 +338,8 @@ if (prevHoverState === HoverState.OUT) { | ||
if (this.tip.classList.contains(ClassName.FADE)) { | ||
if ($(this.tip).hasClass(ClassName.FADE)) { | ||
const transitionDuration = Util.getTransitionDurationFromElement(this.tip) | ||
EventHandler.one(this.tip, Util.TRANSITION_END, complete) | ||
Util.emulateTransitionEnd(this.tip, transitionDuration) | ||
$(this.tip) | ||
.one(Util.TRANSITION_END, complete) | ||
.emulateTransitionEnd(transitionDuration) | ||
} else { | ||
@@ -376,3 +353,4 @@ complete() | ||
const tip = this.getTipElement() | ||
const complete = () => { | ||
const hideEvent = $.Event(this.constructor.Event.HIDE) | ||
const complete = () => { | ||
if (this._hoverState !== HoverState.SHOW && tip.parentNode) { | ||
@@ -384,3 +362,3 @@ tip.parentNode.removeChild(tip) | ||
this.element.removeAttribute('aria-describedby') | ||
EventHandler.trigger(this.element, this.constructor.Event.HIDDEN) | ||
$(this.element).trigger(this.constructor.Event.HIDDEN) | ||
if (this._popper !== null) { | ||
@@ -395,8 +373,9 @@ this._popper.destroy() | ||
const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE) | ||
if (hideEvent.defaultPrevented) { | ||
$(this.element).trigger(hideEvent) | ||
if (hideEvent.isDefaultPrevented()) { | ||
return | ||
} | ||
tip.classList.remove(ClassName.SHOW) | ||
$(tip).removeClass(ClassName.SHOW) | ||
@@ -406,4 +385,3 @@ // If this is a touch-enabled device we remove the extra | ||
if ('ontouchstart' in document.documentElement) { | ||
Util.makeArray(document.body.children) | ||
.forEach((element) => EventHandler.off(element, 'mouseover', Util.noop)) | ||
$(document.body).children().off('mouseover', null, $.noop) | ||
} | ||
@@ -415,6 +393,8 @@ | ||
if (this.tip.classList.contains(ClassName.FADE)) { | ||
if ($(this.tip).hasClass(ClassName.FADE)) { | ||
const transitionDuration = Util.getTransitionDurationFromElement(tip) | ||
EventHandler.one(tip, Util.TRANSITION_END, complete) | ||
Util.emulateTransitionEnd(tip, transitionDuration) | ||
$(tip) | ||
.one(Util.TRANSITION_END, complete) | ||
.emulateTransitionEnd(transitionDuration) | ||
} else { | ||
@@ -440,14 +420,7 @@ complete() | ||
addAttachmentClass(attachment) { | ||
this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`) | ||
$(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`) | ||
} | ||
getTipElement() { | ||
if (this.tip) { | ||
return this.tip | ||
} | ||
const element = document.createElement('div') | ||
element.innerHTML = this.config.template | ||
this.tip = element.children[0] | ||
this.tip = this.tip || $(this.config.template)[0] | ||
return this.tip | ||
@@ -458,25 +431,15 @@ } | ||
const tip = this.getTipElement() | ||
this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle()) | ||
tip.classList.remove(ClassName.FADE) | ||
tip.classList.remove(ClassName.SHOW) | ||
this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle()) | ||
$(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`) | ||
} | ||
setElementContent(element, content) { | ||
if (element === null) { | ||
return | ||
} | ||
setElementContent($element, content) { | ||
if (typeof content === 'object' && (content.nodeType || content.jquery)) { | ||
if (content.jquery) { | ||
content = content[0] | ||
} | ||
// content is a DOM node or a jQuery | ||
// Content is a DOM node or a jQuery | ||
if (this.config.html) { | ||
if (content.parentNode !== element) { | ||
element.innerHTML = '' | ||
element.appendChild(content) | ||
if (!$(content).parent().is($element)) { | ||
$element.empty().append(content) | ||
} | ||
} else { | ||
element.innerText = content.textContent | ||
$element.text($(content).text()) | ||
} | ||
@@ -492,5 +455,5 @@ | ||
element.innerHTML = content | ||
$element.html(content) | ||
} else { | ||
element.innerText = content | ||
$element.text(content) | ||
} | ||
@@ -513,2 +476,31 @@ } | ||
_getPopperConfig(attachment) { | ||
const defaultBsConfig = { | ||
placement: attachment, | ||
modifiers: { | ||
offset: this._getOffset(), | ||
flip: { | ||
behavior: this.config.fallbackPlacement | ||
}, | ||
arrow: { | ||
element: Selector.ARROW | ||
}, | ||
preventOverflow: { | ||
boundariesElement: this.config.boundary | ||
} | ||
}, | ||
onCreate: (data) => { | ||
if (data.originalPlacement !== data.placement) { | ||
this._handlePopperPlacementChange(data) | ||
} | ||
}, | ||
onUpdate: (data) => this._handlePopperPlacementChange(data) | ||
} | ||
return { | ||
...defaultBsConfig, | ||
...this.config.popperConfig | ||
} | ||
} | ||
_getOffset() { | ||
@@ -539,6 +531,6 @@ const offset = {} | ||
if (Util.isElement(this.config.container)) { | ||
return this.config.container | ||
return $(this.config.container) | ||
} | ||
return SelectorEngine.findOne(this.config.container) | ||
return $(document).find(this.config.container) | ||
} | ||
@@ -555,3 +547,3 @@ | ||
if (trigger === 'click') { | ||
EventHandler.on(this.element, | ||
$(this.element).on( | ||
this.constructor.Event.CLICK, | ||
@@ -569,22 +561,25 @@ this.config.selector, | ||
EventHandler.on(this.element, | ||
eventIn, | ||
this.config.selector, | ||
(event) => this._enter(event) | ||
) | ||
EventHandler.on(this.element, | ||
eventOut, | ||
this.config.selector, | ||
(event) => this._leave(event) | ||
) | ||
$(this.element) | ||
.on( | ||
eventIn, | ||
this.config.selector, | ||
(event) => this._enter(event) | ||
) | ||
.on( | ||
eventOut, | ||
this.config.selector, | ||
(event) => this._leave(event) | ||
) | ||
} | ||
}) | ||
EventHandler.on(SelectorEngine.closest(this.element, '.modal'), | ||
this._hideModalHandler = () => { | ||
if (this.element) { | ||
this.hide() | ||
} | ||
} | ||
$(this.element).closest('.modal').on( | ||
'hide.bs.modal', | ||
() => { | ||
if (this.element) { | ||
this.hide() | ||
} | ||
} | ||
this._hideModalHandler | ||
) | ||
@@ -618,10 +613,10 @@ | ||
const dataKey = this.constructor.DATA_KEY | ||
context = context || Data.getData(event.delegateTarget, dataKey) | ||
context = context || $(event.currentTarget).data(dataKey) | ||
if (!context) { | ||
context = new this.constructor( | ||
event.delegateTarget, | ||
event.currentTarget, | ||
this._getDelegateConfig() | ||
) | ||
Data.setData(event.delegateTarget, dataKey, context) | ||
$(event.currentTarget).data(dataKey, context) | ||
} | ||
@@ -635,4 +630,3 @@ | ||
if (context.getTipElement().classList.contains(ClassName.SHOW) || | ||
context._hoverState === HoverState.SHOW) { | ||
if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) { | ||
context._hoverState = HoverState.SHOW | ||
@@ -660,10 +654,10 @@ return | ||
const dataKey = this.constructor.DATA_KEY | ||
context = context || Data.getData(event.delegateTarget, dataKey) | ||
context = context || $(event.currentTarget).data(dataKey) | ||
if (!context) { | ||
context = new this.constructor( | ||
event.delegateTarget, | ||
event.currentTarget, | ||
this._getDelegateConfig() | ||
) | ||
Data.setData(event.delegateTarget, dataKey, context) | ||
$(event.currentTarget).data(dataKey, context) | ||
} | ||
@@ -708,3 +702,3 @@ | ||
_getConfig(config) { | ||
const dataAttributes = Manipulator.getDataAttributes(this.element) | ||
const dataAttributes = $(this.element).data() | ||
@@ -718,6 +712,2 @@ Object.keys(dataAttributes) | ||
if (config && typeof config.container === 'object' && config.container.jquery) { | ||
config.container = config.container[0] | ||
} | ||
config = { | ||
@@ -772,8 +762,6 @@ ...this.constructor.Default, | ||
_cleanTipClass() { | ||
const tip = this.getTipElement() | ||
const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX) | ||
const $tip = $(this.getTipElement()) | ||
const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX) | ||
if (tabClass !== null && tabClass.length) { | ||
tabClass | ||
.map((token) => token.trim()) | ||
.forEach((tClass) => tip.classList.remove(tClass)) | ||
$tip.removeClass(tabClass.join('')) | ||
} | ||
@@ -792,6 +780,8 @@ } | ||
const initConfigAnimation = this.config.animation | ||
if (tip.getAttribute('x-placement') !== null) { | ||
return | ||
} | ||
tip.classList.remove(ClassName.FADE) | ||
$(tip).removeClass(ClassName.FADE) | ||
this.config.animation = false | ||
@@ -807,3 +797,3 @@ this.hide() | ||
return this.each(function () { | ||
let data = Data.getData(this, DATA_KEY) | ||
let data = $(this).data(DATA_KEY) | ||
const _config = typeof config === 'object' && config | ||
@@ -817,2 +807,3 @@ | ||
data = new Tooltip(this, _config) | ||
$(this).data(DATA_KEY, data) | ||
} | ||
@@ -828,6 +819,2 @@ | ||
} | ||
static _getInstance(element) { | ||
return Data.getData(element, DATA_KEY) | ||
} | ||
} | ||
@@ -840,13 +827,10 @@ | ||
*/ | ||
const $ = Util.jQuery | ||
if (typeof $ !== 'undefined') { | ||
const JQUERY_NO_CONFLICT = $.fn[NAME] | ||
$.fn[NAME] = Tooltip._jQueryInterface | ||
$.fn[NAME].Constructor = Tooltip | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Tooltip._jQueryInterface | ||
} | ||
$.fn[NAME] = Tooltip._jQueryInterface | ||
$.fn[NAME].Constructor = Tooltip | ||
$.fn[NAME].noConflict = () => { | ||
$.fn[NAME] = JQUERY_NO_CONFLICT | ||
return Tooltip._jQueryInterface | ||
} | ||
export default Tooltip |
/** | ||
* -------------------------------------------------------------------------- | ||
* Bootstrap (v4.3.1): util.js | ||
* Bootstrap (v4.4.1): util.js | ||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | ||
@@ -8,2 +8,4 @@ * -------------------------------------------------------------------------- | ||
import $ from 'jquery' | ||
/** | ||
@@ -15,2 +17,3 @@ * ------------------------------------------------------------------------ | ||
const TRANSITION_END = 'transitionend' | ||
const MAX_UID = 1000000 | ||
@@ -24,2 +27,36 @@ const MILLISECONDS_MULTIPLIER = 1000 | ||
function getSpecialTransitionEndEvent() { | ||
return { | ||
bindType: TRANSITION_END, | ||
delegateType: TRANSITION_END, | ||
handle(event) { | ||
if ($(event.target).is(this)) { | ||
return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params | ||
} | ||
return undefined // eslint-disable-line no-undefined | ||
} | ||
} | ||
} | ||
function transitionEndEmulator(duration) { | ||
let called = false | ||
$(this).one(Util.TRANSITION_END, () => { | ||
called = true | ||
}) | ||
setTimeout(() => { | ||
if (!called) { | ||
Util.triggerTransitionEnd(this) | ||
} | ||
}, duration) | ||
return this | ||
} | ||
function setTransitionEndSupport() { | ||
$.fn.emulateTransitionEnd = transitionEndEmulator | ||
$.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent() | ||
} | ||
/** | ||
@@ -32,4 +69,5 @@ * -------------------------------------------------------------------------- | ||
const Util = { | ||
TRANSITION_END: 'transitionend', | ||
TRANSITION_END: 'bsTransitionEnd', | ||
getUID(prefix) { | ||
@@ -64,4 +102,4 @@ do { | ||
// Get transition-duration of the element | ||
let transitionDuration = window.getComputedStyle(element).transitionDuration | ||
let transitionDelay = window.getComputedStyle(element).transitionDelay | ||
let transitionDuration = $(element).css('transition-duration') | ||
let transitionDelay = $(element).css('transition-delay') | ||
@@ -88,5 +126,10 @@ const floatTransitionDuration = parseFloat(transitionDuration) | ||
triggerTransitionEnd(element) { | ||
element.dispatchEvent(new Event(Util.TRANSITION_END)) | ||
$(element).trigger(TRANSITION_END) | ||
}, | ||
// TODO: Remove in v5 | ||
supportsTransitionEnd() { | ||
return Boolean(TRANSITION_END) | ||
}, | ||
isElement(obj) { | ||
@@ -96,19 +139,2 @@ return (obj[0] || obj).nodeType | ||
emulateTransitionEnd(element, duration) { | ||
let called = false | ||
const durationPadding = 5 | ||
const emulatedDuration = duration + durationPadding | ||
function listener() { | ||
called = true | ||
element.removeEventListener(Util.TRANSITION_END, listener) | ||
} | ||
element.addEventListener(Util.TRANSITION_END, listener) | ||
setTimeout(() => { | ||
if (!called) { | ||
Util.triggerTransitionEnd(element) | ||
} | ||
}, emulatedDuration) | ||
}, | ||
typeCheckConfig(componentName, config, configTypes) { | ||
@@ -132,23 +158,2 @@ for (const property in configTypes) { | ||
makeArray(nodeList) { | ||
if (!nodeList) { | ||
return [] | ||
} | ||
return [].slice.call(nodeList) | ||
}, | ||
isVisible(element) { | ||
if (!element) { | ||
return false | ||
} | ||
if (element.style !== null && element.parentNode !== null && typeof element.parentNode.style !== 'undefined') { | ||
return element.style.display !== 'none' && | ||
element.parentNode.style.display !== 'none' && | ||
element.style.visibility !== 'hidden' | ||
} | ||
return false | ||
}, | ||
findShadowRoot(element) { | ||
@@ -177,12 +182,23 @@ if (!document.documentElement.attachShadow) { | ||
noop() { | ||
// eslint-disable-next-line no-empty-function | ||
return function () {} | ||
}, | ||
jQueryDetection() { | ||
if (typeof $ === 'undefined') { | ||
throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.') | ||
} | ||
get jQuery() { | ||
return window.jQuery | ||
const version = $.fn.jquery.split(' ')[0].split('.') | ||
const minMajor = 1 | ||
const ltMajor = 2 | ||
const minMinor = 9 | ||
const minPatch = 1 | ||
const maxMajor = 4 | ||
if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) { | ||
throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0') | ||
} | ||
} | ||
} | ||
Util.jQueryDetection() | ||
setTransitionEndSupport() | ||
export default Util |
158
package.json
{ | ||
"name": "bootstrap-v4-rtl", | ||
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", | ||
"version": "4.3.1-6", | ||
"version_short": "4.3", | ||
"version": "4.4.1-0", | ||
"version_short": "4.4", | ||
"keywords": [ | ||
@@ -24,13 +24,15 @@ "css", | ||
"start": "npm-run-all --parallel watch", | ||
"linkinator": "linkinator _gh_pages --recurse --skip \"^(?!http://localhost)\"", | ||
"blc": "blc --exclude-external --filter-level 3 --follow --get --ordered --recursive --host-requests 4 --input http://localhost:3000/", | ||
"http-server": "http-server --silent -p 3000", | ||
"bundlesize": "bundlesize", | ||
"check-broken-links": "npm-run-all --parallel --race \"http-server -- _gh_pages/\" blc", | ||
"css": "npm-run-all css-compile css-prefix css-minify", | ||
"css-main": "npm-run-all css-lint css-compile-main css-prefix-main css-minify-main", | ||
"css-compile": "npm-run-all --parallel css-compile-*", | ||
"css-compile-main": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/bootstrap.scss dist/css/bootstrap.css && node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/bootstrap-grid.scss dist/css/bootstrap-grid.css && node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/bootstrap-reboot.scss dist/css/bootstrap-reboot.css && node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/bootstrap-rtl.scss dist/css/bootstrap-rtl.css", | ||
"css-lint": "npm-run-all --parallel css-lint-*", | ||
"css-compile-main": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/ -o dist/css/", | ||
"css-lint": "npm-run-all --continue-on-error --parallel css-lint-*", | ||
"css-lint-main": "stylelint \"scss/**/*.scss\" --cache --cache-location .cache/.stylelintcache", | ||
"css-lint-vars": "fusv scss/", | ||
"css-minify": "npm-run-all --parallel css-minify-*", | ||
"css-minify-main": "cleancss --level 1 --format breaksWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap.min.css dist/css/bootstrap.css && cleancss --level 1 --format breaksWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-grid.min.css dist/css/bootstrap-grid.css && cleancss --level 1 --format breaksWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-reboot.min.css dist/css/bootstrap-reboot.css && cleancss --level 1 --format breaksWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-rtl.min.css dist/css/bootstrap-rtl.css", | ||
"css-minify-main": "cleancss --level 1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap.min.css dist/css/bootstrap.css && cleancss --level 1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-grid.min.css dist/css/bootstrap-grid.css && cleancss --level 1 --format breakWith=lf --source-map --source-map-inline-sources --output dist/css/bootstrap-reboot.min.css dist/css/bootstrap-reboot.css", | ||
"css-prefix": "npm-run-all --parallel css-prefix-*", | ||
@@ -45,8 +47,8 @@ "css-prefix-main": "postcss --config build/postcss.config.js --replace \"dist/css/*.css\" \"!dist/css/*.min.css\"", | ||
"js-compile-plugins-coverage": "cross-env NODE_ENV=test node build/build-plugins.js", | ||
"js-lint": "npm-run-all --parallel js-lint-*", | ||
"js-lint": "npm-run-all --continue-on-error --parallel js-lint-*", | ||
"js-lint-main": "eslint --cache --cache-location .cache/.eslintcache js/src js/tests build/", | ||
"js-minify": "npm-run-all --parallel js-minify-main", | ||
"js-minify-main": "npm-run-all js-minify-standalone js-minify-bundle", | ||
"js-minify-standalone": "terser --compress --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.js.map,includeSources,url=bootstrap.min.js.map\" --output dist/js/bootstrap.min.js dist/js/bootstrap.js", | ||
"js-minify-bundle": "terser --compress --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.bundle.js.map,includeSources,url=bootstrap.bundle.min.js.map\" --output dist/js/bootstrap.bundle.min.js dist/js/bootstrap.bundle.js", | ||
"js-minify-standalone": "uglifyjs --compress typeofs=false --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.js.map,includeSources,url=bootstrap.min.js.map\" --output dist/js/bootstrap.min.js dist/js/bootstrap.js", | ||
"js-minify-bundle": "uglifyjs --compress typeofs=false --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.bundle.js.map,includeSources,url=bootstrap.bundle.min.js.map\" --output dist/js/bootstrap.bundle.min.js dist/js/bootstrap.bundle.js", | ||
"js-test": "npm-run-all js-test-karma* js-test-integration", | ||
@@ -60,4 +62,3 @@ "js-test-karma": "karma start js/tests/karma.conf.js", | ||
"lint": "npm-run-all --parallel js-lint css-lint", | ||
"coveralls": "shx cat js/coverage/lcov.info | coveralls", | ||
"update-deps": "ncu -a -x jquery -x bundlesize && npm update && bundle update && cross-env-shell echo Manually update \\\"site/docs/$npm_package_version_short/assets/js/vendor/\\\"", | ||
"update-deps": "ncu -a -x \"cross-env,eslint,find-unused-sass-variables,karma,karma-browserstack-launcher,karma-qunit,nodemon,qunit,rollup,stylelint,stylelint-config-twbs-bootstrap\" && npm update && bundle update", | ||
"release": "npm-run-all dist release-sri release-zip", | ||
@@ -68,3 +69,4 @@ "release-sri": "node build/generate-sri.js", | ||
"dist": "npm-run-all --parallel css js", | ||
"test": "npm-run-all lint dist js-test bundlesize", | ||
"test": "npm-run-all lint dist js-test", | ||
"netlify": "npm-run-all dist release-sri", | ||
"watch": "npm-run-all --parallel watch-*", | ||
@@ -79,6 +81,6 @@ "watch-css-main": "nodemon --watch scss/ --ext scss --exec \"npm run css-main\"", | ||
"type": "git", | ||
"url": "git+https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl.git" | ||
"url": "git+https://github.com/twbs/bootstrap.git" | ||
}, | ||
"bugs": { | ||
"url": "https://github.com/MahdiMajidzadeh/bootstrap-v4-rtl/issues" | ||
"url": "https://github.com/twbs/bootstrap/issues" | ||
}, | ||
@@ -88,51 +90,52 @@ "license": "MIT", | ||
"peerDependencies": { | ||
"popper.js": "^1.14.7" | ||
"jquery": "1.9.1 - 3", | ||
"popper.js": "^1.16.0" | ||
}, | ||
"devDependencies": { | ||
"@babel/cli": "^7.2.3", | ||
"@babel/core": "^7.3.3", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.3.2", | ||
"@babel/preset-env": "^7.3.1", | ||
"autoprefixer": "^9.4.7", | ||
"babel-eslint": "^10.0.1", | ||
"babel-plugin-istanbul": "^5.1.1", | ||
"bundlesize": "0.15.3", | ||
"clean-css-cli": "^4.2.1", | ||
"coveralls": "^3.0.2", | ||
"cross-env": "^5.2.0", | ||
"eslint": "^5.14.0", | ||
"find-unused-sass-variables": "^0.3.2", | ||
"glob": "^7.1.3", | ||
"@babel/cli": "^7.7.4", | ||
"@babel/core": "^7.7.4", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.7.4", | ||
"@babel/preset-env": "^7.7.4", | ||
"autoprefixer": "^9.7.2", | ||
"babel-eslint": "^10.0.3", | ||
"babel-plugin-istanbul": "^5.2.0", | ||
"broken-link-checker": "^0.7.8", | ||
"bundlesize": "^0.18.0", | ||
"clean-css-cli": "^4.3.0", | ||
"cross-env": "^5.2.1", | ||
"eslint": "^5.16.0", | ||
"find-unused-sass-variables": "^0.6.0", | ||
"glob": "^7.1.6", | ||
"hammer-simulator": "0.0.1", | ||
"http-server": "^0.11.1", | ||
"ip": "^1.1.5", | ||
"jquery": "^3.3.1", | ||
"karma": "^4.0.0", | ||
"karma-browserstack-launcher": "^1.4.0", | ||
"karma-chrome-launcher": "^2.2.0", | ||
"karma-coverage-istanbul-reporter": "^2.0.5", | ||
"jquery": "^3.4.1", | ||
"karma": "^3.1.4", | ||
"karma-browserstack-launcher": "1.4.0", | ||
"karma-chrome-launcher": "^3.1.0", | ||
"karma-coverage-istanbul-reporter": "^2.1.1", | ||
"karma-detect-browsers": "^2.3.3", | ||
"karma-firefox-launcher": "^1.1.0", | ||
"karma-qunit": "^2.1.0", | ||
"karma-firefox-launcher": "^1.2.0", | ||
"karma-qunit": "^3.1.3", | ||
"karma-sinon": "^1.0.5", | ||
"linkinator": "^1.1.6", | ||
"node-sass": "^4.11.0", | ||
"nodemon": "^1.18.10", | ||
"node-sass": "^4.13.0", | ||
"nodemon": "^1.19.4", | ||
"npm-run-all": "^4.1.5", | ||
"popper.js": "^1.14.7", | ||
"postcss-cli": "^6.1.1", | ||
"qunit": "^2.9.1", | ||
"rollup": "^1.2.1", | ||
"rollup-plugin-babel": "^4.3.2", | ||
"rollup-plugin-commonjs": "^9.2.0", | ||
"rollup-plugin-node-resolve": "^4.0.0", | ||
"popper.js": "^1.16.0", | ||
"postcss-cli": "^6.1.3", | ||
"qunit": "2.9.2", | ||
"rollup": "1.26.5", | ||
"rollup-plugin-babel": "^4.3.3", | ||
"rollup-plugin-commonjs": "^10.1.0", | ||
"rollup-plugin-node-resolve": "^5.2.0", | ||
"shelljs": "^0.8.3", | ||
"shx": "^0.3.2", | ||
"sinon": "^7.2.3", | ||
"sinon": "^7.5.0", | ||
"stylelint": "^9.10.1", | ||
"stylelint-config-twbs-bootstrap": "^0.3.0", | ||
"terser": "^3.16.1", | ||
"vnu-jar": "18.11.5" | ||
"stylelint-config-twbs-bootstrap": "^0.5.0", | ||
"uglify-js": "^3.6.9", | ||
"vnu-jar": "19.9.4" | ||
}, | ||
"engines": { | ||
"node": ">=8" | ||
"node": ">=6" | ||
}, | ||
@@ -144,44 +147,2 @@ "files": [ | ||
], | ||
"bundlesize": [ | ||
{ | ||
"path": "./dist/css/bootstrap-grid.css", | ||
"maxSize": "7 kB" | ||
}, | ||
{ | ||
"path": "./dist/css/bootstrap-grid.min.css", | ||
"maxSize": "6 kB" | ||
}, | ||
{ | ||
"path": "./dist/css/bootstrap-reboot.css", | ||
"maxSize": "2 kB" | ||
}, | ||
{ | ||
"path": "./dist/css/bootstrap-reboot.min.css", | ||
"maxSize": "2 kB" | ||
}, | ||
{ | ||
"path": "./dist/css/bootstrap.css", | ||
"maxSize": "25 kB" | ||
}, | ||
{ | ||
"path": "./dist/css/bootstrap.min.css", | ||
"maxSize": "23 kB" | ||
}, | ||
{ | ||
"path": "./dist/js/bootstrap.bundle.js", | ||
"maxSize": "51 kB" | ||
}, | ||
{ | ||
"path": "./dist/js/bootstrap.bundle.min.js", | ||
"maxSize": "24 kB" | ||
}, | ||
{ | ||
"path": "./dist/js/bootstrap.js", | ||
"maxSize": "29 kB" | ||
}, | ||
{ | ||
"path": "./dist/js/bootstrap.min.js", | ||
"maxSize": "17.5 kB" | ||
} | ||
], | ||
"jspm": { | ||
@@ -196,4 +157,6 @@ "registry": "npm", | ||
"deps": [ | ||
"jquery", | ||
"popper.js" | ||
] | ||
], | ||
"exports": "$" | ||
} | ||
@@ -203,5 +166,10 @@ }, | ||
"peerDependencies": { | ||
"popper.js": "^1.14.7" | ||
"jquery": "1.9.1 - 3", | ||
"popper.js": "^1.16.0" | ||
} | ||
}, | ||
"funding": { | ||
"type": "opencollective", | ||
"url": "https://opencollective.com/bootstrap" | ||
} | ||
} |
@@ -8,3 +8,3 @@ <p align="center"> | ||
<p align="center"> | ||
based on version 4.3.1 | ||
based on version 4.4.1 | ||
</p> | ||
@@ -51,17 +51,4 @@ <p align="center"> | ||
## Creators | ||
## Contributors | ||
**Mark Otto** | ||
- <https://twitter.com/mdo> | ||
- <https://github.com/mdo> | ||
**Jacob Thornton** | ||
- <https://twitter.com/fat> | ||
- <https://github.com/fat> | ||
**Mahdi Majidzadeh** (rtl version) | ||
- <https://twitter.com/mahdimajidzadeh> | ||
- <https://github.com/mahdimajidzadeh> | ||
Mahdi Majidzadeh [twitter](https://twitter.com/mahdimajidzadeh) - [github](https://github.com/mahdimajidzadeh) |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
6145764
2
157
43236
3
53