From 72447ad4972105e920f1767f369b98a76dcfa107 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Mon, 23 Jul 2018 17:51:14 -0700 Subject: dist --- js/dist/alert.js | 294 ++++++------ js/dist/alert.js.map | 2 +- js/dist/button.js | 275 ++++++------ js/dist/button.js.map | 2 +- js/dist/carousel.js | 872 +++++++++++++++++++----------------- js/dist/carousel.js.map | 2 +- js/dist/collapse.js | 622 ++++++++++++++------------ js/dist/collapse.js.map | 2 +- js/dist/dropdown.js | 823 ++++++++++++++++++---------------- js/dist/dropdown.js.map | 2 +- js/dist/modal.js | 950 ++++++++++++++++++++------------------- js/dist/modal.js.map | 2 +- js/dist/popover.js | 388 +++++++++------- js/dist/popover.js.map | 2 +- js/dist/scrollspy.js | 560 ++++++++++++----------- js/dist/scrollspy.js.map | 2 +- js/dist/tab.js | 410 +++++++++-------- js/dist/tab.js.map | 2 +- js/dist/tooltip.js | 1109 ++++++++++++++++++++++++---------------------- js/dist/tooltip.js.map | 2 +- js/dist/util.js | 247 ++++++----- js/dist/util.js.map | 2 +- 22 files changed, 3530 insertions(+), 3042 deletions(-) (limited to 'js') diff --git a/js/dist/alert.js b/js/dist/alert.js index ffb6ac668a..edee00e47c 100644 --- a/js/dist/alert.js +++ b/js/dist/alert.js @@ -1,178 +1,204 @@ -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } +(function (global, factory) { + 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.Alert = factory(global.jQuery,global.Util)); +}(this, (function ($,Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.2): alert.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ -var Alert = function ($) { /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ + * -------------------------------------------------------------------------- + * Bootstrap (v4.1.2): alert.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- */ - var NAME = 'alert'; - var VERSION = '4.1.2'; - var DATA_KEY = 'bs.alert'; - var EVENT_KEY = "." + DATA_KEY; - var DATA_API_KEY = '.data-api'; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Selector = { - DISMISS: '[data-dismiss="alert"]' - }; - var Event = { - CLOSE: "close" + EVENT_KEY, - CLOSED: "closed" + EVENT_KEY, - CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY - }; - var ClassName = { - ALERT: 'alert', - FADE: 'fade', - SHOW: 'show' + + var Alert = function ($$$1) { /** * ------------------------------------------------------------------------ - * Class Definition + * Constants * ------------------------------------------------------------------------ */ + var NAME = 'alert'; + var VERSION = '4.1.2'; + var DATA_KEY = 'bs.alert'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; + var Selector = { + DISMISS: '[data-dismiss="alert"]' + }; + var Event = { + CLOSE: "close" + EVENT_KEY, + CLOSED: "closed" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + ALERT: 'alert', + FADE: 'fade', + SHOW: 'show' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ - }; + }; - var Alert = - /*#__PURE__*/ - function () { - function Alert(element) { - this._element = element; - } // Getters + var Alert = + /*#__PURE__*/ + function () { + function Alert(element) { + this._element = element; + } // Getters - var _proto = Alert.prototype; + var _proto = Alert.prototype; - // Public - _proto.close = function close(element) { - var rootElement = this._element; + // Public + _proto.close = function close(element) { + var rootElement = this._element; - if (element) { - rootElement = this._getRootElement(element); - } + if (element) { + rootElement = this._getRootElement(element); + } - var customEvent = this._triggerCloseEvent(rootElement); + var customEvent = this._triggerCloseEvent(rootElement); - if (customEvent.isDefaultPrevented()) { - return; - } + if (customEvent.isDefaultPrevented()) { + return; + } - this._removeElement(rootElement); - }; + this._removeElement(rootElement); + }; - _proto.dispose = function dispose() { - $.removeData(this._element, DATA_KEY); - this._element = null; - }; // Private + _proto.dispose = function dispose() { + $$$1.removeData(this._element, DATA_KEY); + this._element = null; + }; // Private - _proto._getRootElement = function _getRootElement(element) { - var selector = Util.getSelectorFromElement(element); - var parent = false; + _proto._getRootElement = function _getRootElement(element) { + var selector = Util.getSelectorFromElement(element); + var parent = false; - if (selector) { - parent = document.querySelector(selector); - } + if (selector) { + parent = document.querySelector(selector); + } - if (!parent) { - parent = $(element).closest("." + ClassName.ALERT)[0]; - } + if (!parent) { + parent = $$$1(element).closest("." + ClassName.ALERT)[0]; + } - return parent; - }; + return parent; + }; - _proto._triggerCloseEvent = function _triggerCloseEvent(element) { - var closeEvent = $.Event(Event.CLOSE); - $(element).trigger(closeEvent); - return closeEvent; - }; + _proto._triggerCloseEvent = function _triggerCloseEvent(element) { + var closeEvent = $$$1.Event(Event.CLOSE); + $$$1(element).trigger(closeEvent); + return closeEvent; + }; - _proto._removeElement = function _removeElement(element) { - var _this = this; + _proto._removeElement = function _removeElement(element) { + var _this = this; - $(element).removeClass(ClassName.SHOW); + $$$1(element).removeClass(ClassName.SHOW); - if (!$(element).hasClass(ClassName.FADE)) { - this._destroyElement(element); + if (!$$$1(element).hasClass(ClassName.FADE)) { + this._destroyElement(element); - return; - } + return; + } - var transitionDuration = Util.getTransitionDurationFromElement(element); - $(element).one(Util.TRANSITION_END, function (event) { - return _this._destroyElement(element, event); - }).emulateTransitionEnd(transitionDuration); - }; + var transitionDuration = Util.getTransitionDurationFromElement(element); + $$$1(element).one(Util.TRANSITION_END, function (event) { + return _this._destroyElement(element, event); + }).emulateTransitionEnd(transitionDuration); + }; - _proto._destroyElement = function _destroyElement(element) { - $(element).detach().trigger(Event.CLOSED).remove(); - }; // Static + _proto._destroyElement = function _destroyElement(element) { + $$$1(element).detach().trigger(Event.CLOSED).remove(); + }; // Static - Alert._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var $element = $(this); - var data = $element.data(DATA_KEY); + Alert._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $$$1(this); + var data = $element.data(DATA_KEY); - if (!data) { - data = new Alert(this); - $element.data(DATA_KEY, data); - } + if (!data) { + data = new Alert(this); + $element.data(DATA_KEY, data); + } - if (config === 'close') { - data[config](this); - } - }); - }; + if (config === 'close') { + data[config](this); + } + }); + }; - Alert._handleDismiss = function _handleDismiss(alertInstance) { - return function (event) { - if (event) { - event.preventDefault(); - } + Alert._handleDismiss = function _handleDismiss(alertInstance) { + return function (event) { + if (event) { + event.preventDefault(); + } - alertInstance.close(this); + alertInstance.close(this); + }; }; - }; - _createClass(Alert, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }]); + _createClass(Alert, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }]); - return Alert; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ + return Alert; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ - $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ + $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ - $.fn[NAME] = Alert._jQueryInterface; - $.fn[NAME].Constructor = Alert; + $$$1.fn[NAME] = Alert._jQueryInterface; + $$$1.fn[NAME].Constructor = Alert; - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return Alert._jQueryInterface; - }; + $$$1.fn[NAME].noConflict = function () { + $$$1.fn[NAME] = JQUERY_NO_CONFLICT; + return Alert._jQueryInterface; + }; + + return Alert; + }($); return Alert; -}($); -//# sourceMappingURL=alert.js.map \ No newline at end of file + +}))); +//# sourceMappingURL=alert.js.map diff --git a/js/dist/alert.js.map b/js/dist/alert.js.map index 6f471fcb64..604b5f7b82 100644 --- a/js/dist/alert.js.map +++ b/js/dist/alert.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/alert.js"],"names":["Alert","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","element","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","selector","Util","getSelectorFromElement","parent","document","querySelector","closest","closeEvent","trigger","removeClass","hasClass","_destroyElement","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","event","emulateTransitionEnd","detach","remove","_jQueryInterface","config","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict"],"mappings":"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","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.1.2'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n"],"file":"alert.js"} \ No newline at end of file +{"version":3,"file":"alert.js","sources":["../src/alert.js"],"sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.1.2'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n"],"names":["Alert","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","element","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","selector","Util","getSelectorFromElement","parent","document","querySelector","closest","closeEvent","trigger","removeClass","hasClass","_destroyElement","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","event","emulateTransitionEnd","detach","remove","_jQueryInterface","config","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file diff --git a/js/dist/button.js b/js/dist/button.js index 3dc17f1f92..99d93ae192 100644 --- a/js/dist/button.js +++ b/js/dist/button.js @@ -1,167 +1,192 @@ -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) : + typeof define === 'function' && define.amd ? define(['jquery'], factory) : + (global.Button = factory(global.jQuery)); +}(this, (function ($) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.2): button.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ -var Button = function ($) { /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ + * -------------------------------------------------------------------------- + * Bootstrap (v4.1.2): button.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- */ - var NAME = 'button'; - var VERSION = '4.1.2'; - var DATA_KEY = 'bs.button'; - var EVENT_KEY = "." + DATA_KEY; - var DATA_API_KEY = '.data-api'; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var ClassName = { - ACTIVE: 'active', - BUTTON: 'btn', - FOCUS: 'focus' - }; - var Selector = { - DATA_TOGGLE_CARROT: '[data-toggle^="button"]', - DATA_TOGGLE: '[data-toggle="buttons"]', - INPUT: 'input', - ACTIVE: '.active', - BUTTON: '.btn' - }; - var Event = { - CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, - FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY) + + var Button = function ($$$1) { /** * ------------------------------------------------------------------------ - * Class Definition + * Constants * ------------------------------------------------------------------------ */ + var NAME = 'button'; + var VERSION = '4.1.2'; + var DATA_KEY = 'bs.button'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; + var ClassName = { + ACTIVE: 'active', + BUTTON: 'btn', + FOCUS: 'focus' + }; + var Selector = { + DATA_TOGGLE_CARROT: '[data-toggle^="button"]', + DATA_TOGGLE: '[data-toggle="buttons"]', + INPUT: 'input', + ACTIVE: '.active', + BUTTON: '.btn' + }; + var Event = { + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, + FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY) + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ - }; + }; - var Button = - /*#__PURE__*/ - function () { - function Button(element) { - this._element = element; - } // Getters + var Button = + /*#__PURE__*/ + function () { + function Button(element) { + this._element = element; + } // Getters - var _proto = Button.prototype; + var _proto = Button.prototype; - // Public - _proto.toggle = function toggle() { - var triggerChangeEvent = true; - var addAriaPressed = true; - var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0]; + // Public + _proto.toggle = function toggle() { + var triggerChangeEvent = true; + var addAriaPressed = true; + var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0]; - if (rootElement) { - var input = this._element.querySelector(Selector.INPUT); + if (rootElement) { + var input = this._element.querySelector(Selector.INPUT); - if (input) { - if (input.type === 'radio') { - if (input.checked && this._element.classList.contains(ClassName.ACTIVE)) { - triggerChangeEvent = false; - } else { - var activeElement = rootElement.querySelector(Selector.ACTIVE); + if (input) { + if (input.type === 'radio') { + if (input.checked && this._element.classList.contains(ClassName.ACTIVE)) { + triggerChangeEvent = false; + } else { + var activeElement = rootElement.querySelector(Selector.ACTIVE); - if (activeElement) { - $(activeElement).removeClass(ClassName.ACTIVE); + if (activeElement) { + $$$1(activeElement).removeClass(ClassName.ACTIVE); + } } } - } - if (triggerChangeEvent) { - if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) { - return; + 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); + $$$1(input).trigger('change'); } - input.checked = !this._element.classList.contains(ClassName.ACTIVE); - $(input).trigger('change'); + input.focus(); + addAriaPressed = false; } + } - input.focus(); - addAriaPressed = false; + if (addAriaPressed) { + this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName.ACTIVE)); } - } - if (addAriaPressed) { - this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName.ACTIVE)); - } + if (triggerChangeEvent) { + $$$1(this._element).toggleClass(ClassName.ACTIVE); + } + }; - if (triggerChangeEvent) { - $(this._element).toggleClass(ClassName.ACTIVE); - } - }; + _proto.dispose = function dispose() { + $$$1.removeData(this._element, DATA_KEY); + this._element = null; + }; // Static - _proto.dispose = function dispose() { - $.removeData(this._element, DATA_KEY); - this._element = null; - }; // Static + Button._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $$$1(this).data(DATA_KEY); - Button._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $(this).data(DATA_KEY); + if (!data) { + data = new Button(this); + $$$1(this).data(DATA_KEY, data); + } - if (!data) { - data = new Button(this); - $(this).data(DATA_KEY, data); - } + if (config === 'toggle') { + data[config](); + } + }); + }; - if (config === 'toggle') { - data[config](); + _createClass(Button, null, [{ + key: "VERSION", + get: function get() { + return VERSION; } - }); - }; + }]); - _createClass(Button, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }]); + return Button; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ - return Button; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ + $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { + event.preventDefault(); + var button = event.target; - $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { - event.preventDefault(); - var button = event.target; + if (!$$$1(button).hasClass(ClassName.BUTTON)) { + button = $$$1(button).closest(Selector.BUTTON); + } - if (!$(button).hasClass(ClassName.BUTTON)) { - button = $(button).closest(Selector.BUTTON); - } + Button._jQueryInterface.call($$$1(button), 'toggle'); + }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { + var button = $$$1(event.target).closest(Selector.BUTTON)[0]; + $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type)); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ - 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)); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ + $$$1.fn[NAME] = Button._jQueryInterface; + $$$1.fn[NAME].Constructor = Button; - $.fn[NAME] = Button._jQueryInterface; - $.fn[NAME].Constructor = Button; + $$$1.fn[NAME].noConflict = function () { + $$$1.fn[NAME] = JQUERY_NO_CONFLICT; + return Button._jQueryInterface; + }; - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return Button._jQueryInterface; - }; + return Button; + }($); return Button; -}($); -//# sourceMappingURL=button.js.map \ No newline at end of file + +}))); +//# sourceMappingURL=button.js.map diff --git a/js/dist/button.js.map b/js/dist/button.js.map index a02ccbcd5f..fb4da219b8 100644 --- a/js/dist/button.js.map +++ b/js/dist/button.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/button.js"],"names":["Button","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ClassName","ACTIVE","BUTTON","FOCUS","Selector","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","Event","CLICK_DATA_API","FOCUS_BLUR_DATA_API","element","_element","toggle","triggerChangeEvent","addAriaPressed","rootElement","closest","input","querySelector","type","checked","classList","contains","activeElement","removeClass","hasAttribute","trigger","focus","setAttribute","toggleClass","dispose","removeData","_jQueryInterface","config","each","data","document","on","event","preventDefault","button","target","hasClass","call","test","Constructor","noConflict"],"mappings":"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","sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.1.2'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n"],"file":"button.js"} \ No newline at end of file +{"version":3,"file":"button.js","sources":["../src/button.js"],"sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.1.2'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n"],"names":["Button","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ClassName","ACTIVE","BUTTON","FOCUS","Selector","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","Event","CLICK_DATA_API","FOCUS_BLUR_DATA_API","element","_element","toggle","triggerChangeEvent","addAriaPressed","rootElement","closest","input","querySelector","type","checked","classList","contains","activeElement","removeClass","hasAttribute","trigger","focus","setAttribute","toggleClass","dispose","removeData","_jQueryInterface","config","each","data","document","on","event","preventDefault","button","target","hasClass","call","test","Constructor","noConflict"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAEA;;;;;;;EAOA,IAAMA,SAAU,UAACC,IAAD,EAAO;EACrB;;;;;EAMA,MAAMC,OAAsB,QAA5B;EACA,MAAMC,UAAsB,OAA5B;EACA,MAAMC,WAAsB,WAA5B;EACA,MAAMC,kBAA0BD,QAAhC;EACA,MAAME,eAAsB,WAA5B;EACA,MAAMC,qBAAsBN,KAAEO,EAAF,CAAKN,IAAL,CAA5B;EAEA,MAAMO,YAAY;EAChBC,YAAS,QADO;EAEhBC,YAAS,KAFO;EAGhBC,WAAS;EAHO,GAAlB;EAMA,MAAMC,WAAW;EACfC,wBAAqB,yBADN;EAEfC,iBAAqB,yBAFN;EAGfC,WAAqB,OAHN;EAIfN,YAAqB,SAJN;EAKfC,YAAqB;EALN,GAAjB;EAQA,MAAMM,QAAQ;EACZC,8BAA8Bb,SAA9B,GAA0CC,YAD9B;EAEZa,yBAAsB,UAAQd,SAAR,GAAoBC,YAApB,mBACSD,SADT,GACqBC,YADrB;EAIxB;;;;;;EANc,GAAd;;EA5BqB,MAwCfN,MAxCe;EAAA;EAAA;EAyCnB,oBAAYoB,OAAZ,EAAqB;EACnB,WAAKC,QAAL,GAAgBD,OAAhB;EACD,KA3CkB;;;EAAA;;EAmDnB;EAnDmB,WAqDnBE,MArDmB,qBAqDV;EACP,UAAIC,qBAAqB,IAAzB;EACA,UAAIC,iBAAiB,IAArB;EACA,UAAMC,cAAcxB,KAAE,KAAKoB,QAAP,EAAiBK,OAAjB,CAClBb,SAASE,WADS,EAElB,CAFkB,CAApB;;EAIA,UAAIU,WAAJ,EAAiB;EACf,YAAME,QAAQ,KAAKN,QAAL,CAAcO,aAAd,CAA4Bf,SAASG,KAArC,CAAd;;EAEA,YAAIW,KAAJ,EAAW;EACT,cAAIA,MAAME,IAAN,KAAe,OAAnB,EAA4B;EAC1B,gBAAIF,MAAMG,OAAN,IACF,KAAKT,QAAL,CAAcU,SAAd,CAAwBC,QAAxB,CAAiCvB,UAAUC,MAA3C,CADF,EACsD;EACpDa,mCAAqB,KAArB;EACD,aAHD,MAGO;EACL,kBAAMU,gBAAgBR,YAAYG,aAAZ,CAA0Bf,SAASH,MAAnC,CAAtB;;EAEA,kBAAIuB,aAAJ,EAAmB;EACjBhC,qBAAEgC,aAAF,EAAiBC,WAAjB,CAA6BzB,UAAUC,MAAvC;EACD;EACF;EACF;;EAED,cAAIa,kBAAJ,EAAwB;EACtB,gBAAII,MAAMQ,YAAN,CAAmB,UAAnB,KACFV,YAAYU,YAAZ,CAAyB,UAAzB,CADE,IAEFR,MAAMI,SAAN,CAAgBC,QAAhB,CAAyB,UAAzB,CAFE,IAGFP,YAAYM,SAAZ,CAAsBC,QAAtB,CAA+B,UAA/B,CAHF,EAG8C;EAC5C;EACD;;EACDL,kBAAMG,OAAN,GAAgB,CAAC,KAAKT,QAAL,CAAcU,SAAd,CAAwBC,QAAxB,CAAiCvB,UAAUC,MAA3C,CAAjB;EACAT,iBAAE0B,KAAF,EAASS,OAAT,CAAiB,QAAjB;EACD;;EAEDT,gBAAMU,KAAN;EACAb,2BAAiB,KAAjB;EACD;EACF;;EAED,UAAIA,cAAJ,EAAoB;EAClB,aAAKH,QAAL,CAAciB,YAAd,CAA2B,cAA3B,EACE,CAAC,KAAKjB,QAAL,CAAcU,SAAd,CAAwBC,QAAxB,CAAiCvB,UAAUC,MAA3C,CADH;EAED;;EAED,UAAIa,kBAAJ,EAAwB;EACtBtB,aAAE,KAAKoB,QAAP,EAAiBkB,WAAjB,CAA6B9B,UAAUC,MAAvC;EACD;EACF,KArGkB;;EAAA,WAuGnB8B,OAvGmB,sBAuGT;EACRvC,WAAEwC,UAAF,CAAa,KAAKpB,QAAlB,EAA4BjB,QAA5B;EACA,WAAKiB,QAAL,GAAgB,IAAhB;EACD,KA1GkB;;;EAAA,WA8GZqB,gBA9GY,6BA8GKC,MA9GL,EA8Ga;EAC9B,aAAO,KAAKC,IAAL,CAAU,YAAY;EAC3B,YAAIC,OAAO5C,KAAE,IAAF,EAAQ4C,IAAR,CAAazC,QAAb,CAAX;;EAEA,YAAI,CAACyC,IAAL,EAAW;EACTA,iBAAO,IAAI7C,MAAJ,CAAW,IAAX,CAAP;EACAC,eAAE,IAAF,EAAQ4C,IAAR,CAAazC,QAAb,EAAuByC,IAAvB;EACD;;EAED,YAAIF,WAAW,QAAf,EAAyB;EACvBE,eAAKF,MAAL;EACD;EACF,OAXM,CAAP;EAYD,KA3HkB;;EAAA;EAAA;EAAA,0BA+CE;EACnB,eAAOxC,OAAP;EACD;EAjDkB;;EAAA;EAAA;EA8HrB;;;;;;;EAMAF,OAAE6C,QAAF,EACGC,EADH,CACM9B,MAAMC,cADZ,EAC4BL,SAASC,kBADrC,EACyD,UAACkC,KAAD,EAAW;EAChEA,UAAMC,cAAN;EAEA,QAAIC,SAASF,MAAMG,MAAnB;;EAEA,QAAI,CAAClD,KAAEiD,MAAF,EAAUE,QAAV,CAAmB3C,UAAUE,MAA7B,CAAL,EAA2C;EACzCuC,eAASjD,KAAEiD,MAAF,EAAUxB,OAAV,CAAkBb,SAASF,MAA3B,CAAT;EACD;;EAEDX,WAAO0C,gBAAP,CAAwBW,IAAxB,CAA6BpD,KAAEiD,MAAF,CAA7B,EAAwC,QAAxC;EACD,GAXH,EAYGH,EAZH,CAYM9B,MAAME,mBAZZ,EAYiCN,SAASC,kBAZ1C,EAY8D,UAACkC,KAAD,EAAW;EACrE,QAAME,SAASjD,KAAE+C,MAAMG,MAAR,EAAgBzB,OAAhB,CAAwBb,SAASF,MAAjC,EAAyC,CAAzC,CAAf;EACAV,SAAEiD,MAAF,EAAUX,WAAV,CAAsB9B,UAAUG,KAAhC,EAAuC,eAAe0C,IAAf,CAAoBN,MAAMnB,IAA1B,CAAvC;EACD,GAfH;EAiBA;;;;;;EAMA5B,OAAEO,EAAF,CAAKN,IAAL,IAAaF,OAAO0C,gBAApB;EACAzC,OAAEO,EAAF,CAAKN,IAAL,EAAWqD,WAAX,GAAyBvD,MAAzB;;EACAC,OAAEO,EAAF,CAAKN,IAAL,EAAWsD,UAAX,GAAwB,YAAY;EAClCvD,SAAEO,EAAF,CAAKN,IAAL,IAAaK,kBAAb;EACA,WAAOP,OAAO0C,gBAAd;EACD,GAHD;;EAKA,SAAO1C,MAAP;EACD,CAnKc,CAmKZC,CAnKY,CAAf;;;;;;;;"} \ No newline at end of file diff --git a/js/dist/carousel.js b/js/dist/carousel.js index 4cde937bd8..766f7708c7 100644 --- a/js/dist/carousel.js +++ b/js/dist/carousel.js @@ -1,511 +1,567 @@ -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } +(function (global, factory) { + 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.Carousel = factory(global.jQuery,global.Util)); +}(this, (function ($,Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + return obj; + } -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.2): carousel.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ -var Carousel = function ($) { /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ + * -------------------------------------------------------------------------- + * Bootstrap (v4.1.2): carousel.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- */ - var NAME = 'carousel'; - var VERSION = '4.1.2'; - 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 - - var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key - - var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch - - var Default = { - interval: 5000, - keyboard: true, - slide: false, - pause: 'hover', - wrap: true - }; - var DefaultType = { - interval: '(number|boolean)', - keyboard: 'boolean', - slide: '(boolean|string)', - pause: '(string|boolean)', - wrap: 'boolean' - }; - var Direction = { - NEXT: 'next', - PREV: 'prev', - LEFT: 'left', - RIGHT: 'right' - }; - var Event = { - SLIDE: "slide" + EVENT_KEY, - SLID: "slid" + EVENT_KEY, - KEYDOWN: "keydown" + EVENT_KEY, - MOUSEENTER: "mouseenter" + EVENT_KEY, - MOUSELEAVE: "mouseleave" + EVENT_KEY, - TOUCHEND: "touchend" + EVENT_KEY, - LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY, - CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY - }; - var ClassName = { - CAROUSEL: 'carousel', - ACTIVE: 'active', - SLIDE: 'slide', - RIGHT: 'carousel-item-right', - LEFT: 'carousel-item-left', - NEXT: 'carousel-item-next', - PREV: 'carousel-item-prev', - ITEM: 'carousel-item' - }; - var Selector = { - ACTIVE: '.active', - ACTIVE_ITEM: '.active.carousel-item', - ITEM: '.carousel-item', - NEXT_PREV: '.carousel-item-next, .carousel-item-prev', - INDICATORS: '.carousel-indicators', - DATA_SLIDE: '[data-slide], [data-slide-to]', - DATA_RIDE: '[data-ride="carousel"]' + + var Carousel = function ($$$1) { /** * ------------------------------------------------------------------------ - * Class Definition + * Constants * ------------------------------------------------------------------------ */ + var NAME = 'carousel'; + var VERSION = '4.1.2'; + var DATA_KEY = 'bs.carousel'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; + var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key + + var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key + + var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch + + var Default = { + interval: 5000, + keyboard: true, + slide: false, + pause: 'hover', + wrap: true + }; + var DefaultType = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: '(string|boolean)', + wrap: 'boolean' + }; + var Direction = { + NEXT: 'next', + PREV: 'prev', + LEFT: 'left', + RIGHT: 'right' + }; + var Event = { + SLIDE: "slide" + EVENT_KEY, + SLID: "slid" + EVENT_KEY, + KEYDOWN: "keydown" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY, + TOUCHEND: "touchend" + EVENT_KEY, + LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + CAROUSEL: 'carousel', + ACTIVE: 'active', + SLIDE: 'slide', + RIGHT: 'carousel-item-right', + LEFT: 'carousel-item-left', + NEXT: 'carousel-item-next', + PREV: 'carousel-item-prev', + ITEM: 'carousel-item' + }; + var Selector = { + ACTIVE: '.active', + ACTIVE_ITEM: '.active.carousel-item', + ITEM: '.carousel-item', + NEXT_PREV: '.carousel-item-next, .carousel-item-prev', + INDICATORS: '.carousel-indicators', + DATA_SLIDE: '[data-slide], [data-slide-to]', + DATA_RIDE: '[data-ride="carousel"]' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ - }; - - var Carousel = - /*#__PURE__*/ - function () { - function Carousel(element, config) { - this._items = null; - this._interval = null; - this._activeElement = null; - this._isPaused = false; - this._isSliding = false; - this.touchTimeout = null; - this._config = this._getConfig(config); - this._element = $(element)[0]; - this._indicatorsElement = this._element.querySelector(Selector.INDICATORS); - - this._addEventListeners(); - } // Getters + }; + var Carousel = + /*#__PURE__*/ + function () { + function Carousel(element, config) { + this._items = null; + this._interval = null; + this._activeElement = null; + this._isPaused = false; + this._isSliding = false; + this.touchTimeout = null; + this._config = this._getConfig(config); + this._element = $$$1(element)[0]; + this._indicatorsElement = this._element.querySelector(Selector.INDICATORS); - var _proto = Carousel.prototype; + this._addEventListeners(); + } // Getters - // Public - _proto.next = function next() { - if (!this._isSliding) { - this._slide(Direction.NEXT); - } - }; - _proto.nextWhenVisible = function nextWhenVisible() { - // Don't call next when the page isn't visible - // or the carousel or its parent isn't visible - if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') { - this.next(); - } - }; + var _proto = Carousel.prototype; - _proto.prev = function prev() { - if (!this._isSliding) { - this._slide(Direction.PREV); - } - }; + // Public + _proto.next = function next() { + if (!this._isSliding) { + this._slide(Direction.NEXT); + } + }; - _proto.pause = function pause(event) { - if (!event) { - this._isPaused = true; - } + _proto.nextWhenVisible = function nextWhenVisible() { + // Don't call next when the page isn't visible + // or the carousel or its parent isn't visible + if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') { + this.next(); + } + }; - if (this._element.querySelector(Selector.NEXT_PREV)) { - Util.triggerTransitionEnd(this._element); - this.cycle(true); - } + _proto.prev = function prev() { + if (!this._isSliding) { + this._slide(Direction.PREV); + } + }; - clearInterval(this._interval); - this._interval = null; - }; + _proto.pause = function pause(event) { + if (!event) { + this._isPaused = true; + } - _proto.cycle = function cycle(event) { - if (!event) { - this._isPaused = false; - } + if (this._element.querySelector(Selector.NEXT_PREV)) { + Util.triggerTransitionEnd(this._element); + this.cycle(true); + } - if (this._interval) { clearInterval(this._interval); this._interval = null; - } + }; - if (this._config.interval && !this._isPaused) { - this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); - } - }; + _proto.cycle = function cycle(event) { + if (!event) { + this._isPaused = false; + } - _proto.to = function to(index) { - var _this = this; + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } - this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM); + if (this._config.interval && !this._isPaused) { + this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); + } + }; - var activeIndex = this._getItemIndex(this._activeElement); + _proto.to = function to(index) { + var _this = this; - if (index > this._items.length - 1 || index < 0) { - return; - } + this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM); - if (this._isSliding) { - $(this._element).one(Event.SLID, function () { - return _this.to(index); - }); - return; - } + var activeIndex = this._getItemIndex(this._activeElement); - if (activeIndex === index) { - this.pause(); - this.cycle(); - return; - } + if (index > this._items.length - 1 || index < 0) { + return; + } - var direction = index > activeIndex ? Direction.NEXT : Direction.PREV; + if (this._isSliding) { + $$$1(this._element).one(Event.SLID, function () { + return _this.to(index); + }); + return; + } - this._slide(direction, this._items[index]); - }; + if (activeIndex === index) { + this.pause(); + this.cycle(); + return; + } - _proto.dispose = function dispose() { - $(this._element).off(EVENT_KEY); - $.removeData(this._element, DATA_KEY); - this._items = null; - this._config = null; - this._element = null; - this._interval = null; - this._isPaused = null; - this._isSliding = null; - this._activeElement = null; - this._indicatorsElement = null; - }; // Private - - - _proto._getConfig = function _getConfig(config) { - config = _objectSpread({}, Default, config); - Util.typeCheckConfig(NAME, config, DefaultType); - return config; - }; + var direction = index > activeIndex ? Direction.NEXT : Direction.PREV; - _proto._addEventListeners = function _addEventListeners() { - var _this2 = this; + this._slide(direction, this._items[index]); + }; - if (this._config.keyboard) { - $(this._element).on(Event.KEYDOWN, function (event) { - return _this2._keydown(event); - }); - } + _proto.dispose = function dispose() { + $$$1(this._element).off(EVENT_KEY); + $$$1.removeData(this._element, DATA_KEY); + this._items = null; + this._config = null; + this._element = null; + this._interval = null; + this._isPaused = null; + this._isSliding = null; + this._activeElement = null; + this._indicatorsElement = null; + }; // Private - if (this._config.pause === 'hover') { - $(this._element).on(Event.MOUSEENTER, function (event) { - return _this2.pause(event); - }).on(Event.MOUSELEAVE, function (event) { - return _this2.cycle(event); - }); - if ('ontouchstart' in document.documentElement) { - // If it's a touch-enabled device, mouseenter/leave are fired as - // part of the mouse compatibility events on first tap - the carousel - // would stop cycling until user tapped out of it; - // here, we listen for touchend, explicitly pause the carousel - // (as if it's the second time we tap on it, mouseenter compat event - // is NOT fired) and after a timeout (to allow for mouse compatibility - // events to fire) we explicitly restart cycling - $(this._element).on(Event.TOUCHEND, function () { - _this2.pause(); - - if (_this2.touchTimeout) { - clearTimeout(_this2.touchTimeout); - } + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default, config); + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._addEventListeners = function _addEventListeners() { + var _this2 = this; - _this2.touchTimeout = setTimeout(function (event) { - return _this2.cycle(event); - }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval); + if (this._config.keyboard) { + $$$1(this._element).on(Event.KEYDOWN, function (event) { + return _this2._keydown(event); }); } - } - }; - _proto._keydown = function _keydown(event) { - if (/input|textarea/i.test(event.target.tagName)) { - return; - } + if (this._config.pause === 'hover') { + $$$1(this._element).on(Event.MOUSEENTER, function (event) { + return _this2.pause(event); + }).on(Event.MOUSELEAVE, function (event) { + return _this2.cycle(event); + }); - switch (event.which) { - case ARROW_LEFT_KEYCODE: - event.preventDefault(); - this.prev(); - break; + if ('ontouchstart' in document.documentElement) { + // If it's a touch-enabled device, mouseenter/leave are fired as + // part of the mouse compatibility events on first tap - the carousel + // would stop cycling until user tapped out of it; + // here, we listen for touchend, explicitly pause the carousel + // (as if it's the second time we tap on it, mouseenter compat event + // is NOT fired) and after a timeout (to allow for mouse compatibility + // events to fire) we explicitly restart cycling + $$$1(this._element).on(Event.TOUCHEND, function () { + _this2.pause(); + + if (_this2.touchTimeout) { + clearTimeout(_this2.touchTimeout); + } + + _this2.touchTimeout = setTimeout(function (event) { + return _this2.cycle(event); + }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval); + }); + } + } + }; - case ARROW_RIGHT_KEYCODE: - event.preventDefault(); - this.next(); - break; + _proto._keydown = function _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } - default: - } - }; + switch (event.which) { + case ARROW_LEFT_KEYCODE: + event.preventDefault(); + this.prev(); + break; - _proto._getItemIndex = function _getItemIndex(element) { - this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM)) : []; - return this._items.indexOf(element); - }; + case ARROW_RIGHT_KEYCODE: + event.preventDefault(); + this.next(); + break; - _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { - var isNextDirection = direction === Direction.NEXT; - var isPrevDirection = direction === Direction.PREV; + default: + } + }; - var activeIndex = this._getItemIndex(activeElement); + _proto._getItemIndex = function _getItemIndex(element) { + this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM)) : []; + return this._items.indexOf(element); + }; - var lastItemIndex = this._items.length - 1; - var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; + _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { + var isNextDirection = direction === Direction.NEXT; + var isPrevDirection = direction === Direction.PREV; - if (isGoingToWrap && !this._config.wrap) { - return activeElement; - } + var activeIndex = this._getItemIndex(activeElement); - var delta = direction === Direction.PREV ? -1 : 1; - var itemIndex = (activeIndex + delta) % this._items.length; - return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; - }; + var lastItemIndex = this._items.length - 1; + var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; - _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { - var targetIndex = this._getItemIndex(relatedTarget); + if (isGoingToWrap && !this._config.wrap) { + return activeElement; + } - var fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM)); + var delta = direction === Direction.PREV ? -1 : 1; + var itemIndex = (activeIndex + delta) % this._items.length; + return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; + }; - var slideEvent = $.Event(Event.SLIDE, { - relatedTarget: relatedTarget, - direction: eventDirectionName, - from: fromIndex, - to: targetIndex - }); - $(this._element).trigger(slideEvent); - return slideEvent; - }; + _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { + var targetIndex = this._getItemIndex(relatedTarget); - _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { - if (this._indicatorsElement) { - var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE)); - $(indicators).removeClass(ClassName.ACTIVE); + var fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM)); - var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; + var slideEvent = $$$1.Event(Event.SLIDE, { + relatedTarget: relatedTarget, + direction: eventDirectionName, + from: fromIndex, + to: targetIndex + }); + $$$1(this._element).trigger(slideEvent); + return slideEvent; + }; + + _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { + if (this._indicatorsElement) { + var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE)); + $$$1(indicators).removeClass(ClassName.ACTIVE); - if (nextIndicator) { - $(nextIndicator).addClass(ClassName.ACTIVE); + var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; + + if (nextIndicator) { + $$$1(nextIndicator).addClass(ClassName.ACTIVE); + } } - } - }; + }; - _proto._slide = function _slide(direction, element) { - var _this3 = this; + _proto._slide = function _slide(direction, element) { + var _this3 = this; - var activeElement = this._element.querySelector(Selector.ACTIVE_ITEM); + var activeElement = this._element.querySelector(Selector.ACTIVE_ITEM); - var activeElementIndex = this._getItemIndex(activeElement); + var activeElementIndex = this._getItemIndex(activeElement); - var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); + var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); - var nextElementIndex = this._getItemIndex(nextElement); + var nextElementIndex = this._getItemIndex(nextElement); - var isCycling = Boolean(this._interval); - var directionalClassName; - var orderClassName; - var eventDirectionName; + var isCycling = Boolean(this._interval); + var directionalClassName; + var orderClassName; + var eventDirectionName; - if (direction === Direction.NEXT) { - directionalClassName = ClassName.LEFT; - orderClassName = ClassName.NEXT; - eventDirectionName = Direction.LEFT; - } else { - directionalClassName = ClassName.RIGHT; - orderClassName = ClassName.PREV; - eventDirectionName = Direction.RIGHT; - } + if (direction === Direction.NEXT) { + directionalClassName = ClassName.LEFT; + orderClassName = ClassName.NEXT; + eventDirectionName = Direction.LEFT; + } else { + directionalClassName = ClassName.RIGHT; + orderClassName = ClassName.PREV; + eventDirectionName = Direction.RIGHT; + } - if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) { - this._isSliding = false; - return; - } + if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) { + this._isSliding = false; + return; + } - var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); + var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); - if (slideEvent.isDefaultPrevented()) { - return; - } + if (slideEvent.isDefaultPrevented()) { + return; + } - if (!activeElement || !nextElement) { - // Some weirdness is happening, so we bail - return; - } + if (!activeElement || !nextElement) { + // Some weirdness is happening, so we bail + return; + } - this._isSliding = true; + this._isSliding = true; - if (isCycling) { - this.pause(); - } + if (isCycling) { + this.pause(); + } - this._setActiveIndicatorElement(nextElement); + this._setActiveIndicatorElement(nextElement); - var slidEvent = $.Event(Event.SLID, { - relatedTarget: nextElement, - direction: eventDirectionName, - from: activeElementIndex, - to: nextElementIndex - }); + var slidEvent = $$$1.Event(Event.SLID, { + relatedTarget: nextElement, + direction: eventDirectionName, + from: activeElementIndex, + to: nextElementIndex + }); - if ($(this._element).hasClass(ClassName.SLIDE)) { - $(nextElement).addClass(orderClassName); - Util.reflow(nextElement); - $(activeElement).addClass(directionalClassName); - $(nextElement).addClass(directionalClassName); - var transitionDuration = Util.getTransitionDurationFromElement(activeElement); - $(activeElement).one(Util.TRANSITION_END, function () { - $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE); - $(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName); - _this3._isSliding = false; - setTimeout(function () { - return $(_this3._element).trigger(slidEvent); - }, 0); - }).emulateTransitionEnd(transitionDuration); - } else { - $(activeElement).removeClass(ClassName.ACTIVE); - $(nextElement).addClass(ClassName.ACTIVE); - this._isSliding = false; - $(this._element).trigger(slidEvent); - } + if ($$$1(this._element).hasClass(ClassName.SLIDE)) { + $$$1(nextElement).addClass(orderClassName); + Util.reflow(nextElement); + $$$1(activeElement).addClass(directionalClassName); + $$$1(nextElement).addClass(directionalClassName); + var transitionDuration = Util.getTransitionDurationFromElement(activeElement); + $$$1(activeElement).one(Util.TRANSITION_END, function () { + $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE); + $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName); + _this3._isSliding = false; + setTimeout(function () { + return $$$1(_this3._element).trigger(slidEvent); + }, 0); + }).emulateTransitionEnd(transitionDuration); + } else { + $$$1(activeElement).removeClass(ClassName.ACTIVE); + $$$1(nextElement).addClass(ClassName.ACTIVE); + this._isSliding = false; + $$$1(this._element).trigger(slidEvent); + } - if (isCycling) { - this.cycle(); - } - }; // Static + if (isCycling) { + this.cycle(); + } + }; // Static - Carousel._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $(this).data(DATA_KEY); + Carousel._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $$$1(this).data(DATA_KEY); - var _config = _objectSpread({}, Default, $(this).data()); + var _config = _objectSpread({}, Default, $$$1(this).data()); - if (typeof config === 'object') { - _config = _objectSpread({}, _config, config); - } + if (typeof config === 'object') { + _config = _objectSpread({}, _config, config); + } - var action = typeof config === 'string' ? config : _config.slide; + var action = typeof config === 'string' ? config : _config.slide; - if (!data) { - data = new Carousel(this, _config); - $(this).data(DATA_KEY, data); - } + if (!data) { + data = new Carousel(this, _config); + $$$1(this).data(DATA_KEY, data); + } + + if (typeof config === 'number') { + data.to(config); + } else if (typeof action === 'string') { + if (typeof data[action] === 'undefined') { + throw new TypeError("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) { + data.pause(); + data.cycle(); } + }); + }; + + Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { + var selector = Util.getSelectorFromElement(this); - data[action](); - } else if (_config.interval) { - data.pause(); - data.cycle(); + if (!selector) { + return; } - }); - }; - Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { - var selector = Util.getSelectorFromElement(this); + var target = $$$1(selector)[0]; - if (!selector) { - return; - } - - var target = $(selector)[0]; + if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) { + return; + } - if (!target || !$(target).hasClass(ClassName.CAROUSEL)) { - return; - } + var config = _objectSpread({}, $$$1(target).data(), $$$1(this).data()); - var config = _objectSpread({}, $(target).data(), $(this).data()); + var slideIndex = this.getAttribute('data-slide-to'); - var slideIndex = this.getAttribute('data-slide-to'); + if (slideIndex) { + config.interval = false; + } - if (slideIndex) { - config.interval = false; - } + Carousel._jQueryInterface.call($$$1(target), config); - Carousel._jQueryInterface.call($(target), config); + if (slideIndex) { + $$$1(target).data(DATA_KEY).to(slideIndex); + } - if (slideIndex) { - $(target).data(DATA_KEY).to(slideIndex); - } + event.preventDefault(); + }; - event.preventDefault(); - }; + _createClass(Carousel, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }]); - _createClass(Carousel, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }, { - key: "Default", - get: function get() { - return Default; - } - }]); + return Carousel; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ - return Carousel; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ + $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler); + $$$1(window).on(Event.LOAD_DATA_API, function () { + var carousels = [].slice.call(document.querySelectorAll(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++) { + var $carousel = $$$1(carousels[i]); - for (var i = 0, len = carousels.length; i < len; i++) { - var $carousel = $(carousels[i]); + Carousel._jQueryInterface.call($carousel, $carousel.data()); + } + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ - Carousel._jQueryInterface.call($carousel, $carousel.data()); - } - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ + $$$1.fn[NAME] = Carousel._jQueryInterface; + $$$1.fn[NAME].Constructor = Carousel; - $.fn[NAME] = Carousel._jQueryInterface; - $.fn[NAME].Constructor = Carousel; + $$$1.fn[NAME].noConflict = function () { + $$$1.fn[NAME] = JQUERY_NO_CONFLICT; + return Carousel._jQueryInterface; + }; - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return Carousel._jQueryInterface; - }; + return Carousel; + }($); return Carousel; -}($); -//# sourceMappingURL=carousel.js.map \ No newline at end of file + +}))); +//# sourceMappingURL=carousel.js.map diff --git a/js/dist/carousel.js.map b/js/dist/carousel.js.map index 74ccca6ef2..a18d6af6ca 100644 --- a/js/dist/carousel.js.map +++ b/js/dist/carousel.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/carousel.js"],"names":["Carousel","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","Default","interval","keyboard","slide","pause","wrap","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","Event","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHEND","LOAD_DATA_API","CLICK_DATA_API","ClassName","CAROUSEL","ACTIVE","ITEM","Selector","ACTIVE_ITEM","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","element","config","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_element","_indicatorsElement","querySelector","_addEventListeners","next","_slide","nextWhenVisible","document","hidden","is","css","prev","event","Util","triggerTransitionEnd","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","one","direction","dispose","off","removeData","typeCheckConfig","on","_keydown","documentElement","clearTimeout","setTimeout","test","target","tagName","which","preventDefault","parentNode","slice","call","querySelectorAll","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","trigger","_setActiveIndicatorElement","indicators","removeClass","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","Boolean","directionalClassName","orderClassName","hasClass","isDefaultPrevented","slidEvent","reflow","transitionDuration","getTransitionDurationFromElement","TRANSITION_END","emulateTransitionEnd","_jQueryInterface","each","data","action","TypeError","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","getAttribute","window","carousels","i","len","$carousel","Constructor","noConflict"],"mappings":"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","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.1.2'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n"],"file":"carousel.js"} \ No newline at end of file +{"version":3,"file":"carousel.js","sources":["../src/carousel.js"],"sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.1.2'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n"],"names":["Carousel","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","Default","interval","keyboard","slide","pause","wrap","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","Event","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHEND","LOAD_DATA_API","CLICK_DATA_API","ClassName","CAROUSEL","ACTIVE","ITEM","Selector","ACTIVE_ITEM","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","element","config","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_element","_indicatorsElement","querySelector","_addEventListeners","next","_slide","nextWhenVisible","document","hidden","is","css","prev","event","Util","triggerTransitionEnd","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","one","direction","dispose","off","removeData","typeCheckConfig","on","_keydown","documentElement","clearTimeout","setTimeout","test","target","tagName","which","preventDefault","parentNode","slice","call","querySelectorAll","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","trigger","_setActiveIndicatorElement","indicators","removeClass","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","Boolean","directionalClassName","orderClassName","hasClass","isDefaultPrevented","slidEvent","reflow","transitionDuration","getTransitionDurationFromElement","TRANSITION_END","emulateTransitionEnd","_jQueryInterface","each","data","action","TypeError","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","getAttribute","window","carousels","i","len","$carousel","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file diff --git a/js/dist/collapse.js b/js/dist/collapse.js index 478e8a98b4..ef8a84321d 100644 --- a/js/dist/collapse.js +++ b/js/dist/collapse.js @@ -1,375 +1,431 @@ -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } +(function (global, factory) { + 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.Collapse = factory(global.jQuery,global.Util)); +}(this, (function ($,Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + return target; + } -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.2): collapse.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ -var Collapse = function ($) { /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ + * -------------------------------------------------------------------------- + * Bootstrap (v4.1.2): collapse.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- */ - var NAME = 'collapse'; - var VERSION = '4.1.2'; - var DATA_KEY = 'bs.collapse'; - var EVENT_KEY = "." + DATA_KEY; - var DATA_API_KEY = '.data-api'; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Default = { - toggle: true, - parent: '' - }; - var DefaultType = { - toggle: 'boolean', - parent: '(string|element)' - }; - var Event = { - SHOW: "show" + EVENT_KEY, - SHOWN: "shown" + EVENT_KEY, - HIDE: "hide" + EVENT_KEY, - HIDDEN: "hidden" + EVENT_KEY, - CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY - }; - var ClassName = { - SHOW: 'show', - COLLAPSE: 'collapse', - COLLAPSING: 'collapsing', - COLLAPSED: 'collapsed' - }; - var Dimension = { - WIDTH: 'width', - HEIGHT: 'height' - }; - var Selector = { - ACTIVES: '.show, .collapsing', - DATA_TOGGLE: '[data-toggle="collapse"]' + + var Collapse = function ($$$1) { /** * ------------------------------------------------------------------------ - * Class Definition + * Constants * ------------------------------------------------------------------------ */ + var NAME = 'collapse'; + var VERSION = '4.1.2'; + var DATA_KEY = 'bs.collapse'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; + var Default = { + toggle: true, + parent: '' + }; + var DefaultType = { + toggle: 'boolean', + parent: '(string|element)' + }; + var Event = { + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + SHOW: 'show', + COLLAPSE: 'collapse', + COLLAPSING: 'collapsing', + COLLAPSED: 'collapsed' + }; + var Dimension = { + WIDTH: 'width', + HEIGHT: 'height' + }; + var Selector = { + ACTIVES: '.show, .collapsing', + DATA_TOGGLE: '[data-toggle="collapse"]' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ - }; - - var Collapse = - /*#__PURE__*/ - function () { - function Collapse(element, config) { - this._isTransitioning = false; - this._element = element; - this._config = this._getConfig(config); - this._triggerArray = $.makeArray(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); - var toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)); - - for (var i = 0, len = toggleList.length; i < len; i++) { - var elem = toggleList[i]; - var selector = Util.getSelectorFromElement(elem); - var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) { - return foundElem === element; - }); - - if (selector !== null && filterElement.length > 0) { - this._selector = selector; + }; - this._triggerArray.push(elem); + var Collapse = + /*#__PURE__*/ + function () { + function Collapse(element, config) { + this._isTransitioning = false; + this._element = element; + this._config = this._getConfig(config); + this._triggerArray = $$$1.makeArray(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); + var toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)); + + for (var i = 0, len = toggleList.length; i < len; i++) { + var elem = toggleList[i]; + var selector = Util.getSelectorFromElement(elem); + var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) { + return foundElem === element; + }); + + if (selector !== null && filterElement.length > 0) { + this._selector = selector; + + this._triggerArray.push(elem); + } } - } - this._parent = this._config.parent ? this._getParent() : null; + this._parent = this._config.parent ? this._getParent() : null; - if (!this._config.parent) { - this._addAriaAndCollapsedClass(this._element, this._triggerArray); - } + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._element, this._triggerArray); + } - if (this._config.toggle) { - this.toggle(); - } - } // Getters + if (this._config.toggle) { + this.toggle(); + } + } // Getters - var _proto = Collapse.prototype; + var _proto = Collapse.prototype; - // Public - _proto.toggle = function toggle() { - if ($(this._element).hasClass(ClassName.SHOW)) { - this.hide(); - } else { - this.show(); - } - }; + // Public + _proto.toggle = function toggle() { + if ($$$1(this._element).hasClass(ClassName.SHOW)) { + this.hide(); + } else { + this.show(); + } + }; - _proto.show = function show() { - var _this = this; + _proto.show = function show() { + var _this = this; - if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) { - return; - } + if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) { + return; + } - var actives; - var activesData; + var actives; + var activesData; - if (this._parent) { - actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES)).filter(function (elem) { - return elem.getAttribute('data-parent') === _this._config.parent; - }); + if (this._parent) { + actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES)).filter(function (elem) { + return elem.getAttribute('data-parent') === _this._config.parent; + }); - if (actives.length === 0) { - actives = null; + if (actives.length === 0) { + actives = null; + } } - } - if (actives) { - activesData = $(actives).not(this._selector).data(DATA_KEY); + if (actives) { + activesData = $$$1(actives).not(this._selector).data(DATA_KEY); - if (activesData && activesData._isTransitioning) { - return; + if (activesData && activesData._isTransitioning) { + return; + } } - } - var startEvent = $.Event(Event.SHOW); - $(this._element).trigger(startEvent); + var startEvent = $$$1.Event(Event.SHOW); + $$$1(this._element).trigger(startEvent); - if (startEvent.isDefaultPrevented()) { - return; - } + if (startEvent.isDefaultPrevented()) { + return; + } - if (actives) { - Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide'); + if (actives) { + Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide'); - if (!activesData) { - $(actives).data(DATA_KEY, null); + if (!activesData) { + $$$1(actives).data(DATA_KEY, null); + } } - } - var dimension = this._getDimension(); + var dimension = this._getDimension(); - $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING); - this._element.style[dimension] = 0; + $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING); + this._element.style[dimension] = 0; - if (this._triggerArray.length) { - $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true); - } + if (this._triggerArray.length) { + $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true); + } - this.setTransitioning(true); + this.setTransitioning(true); - var complete = function complete() { - $(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW); - _this._element.style[dimension] = ''; + var complete = function complete() { + $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW); + _this._element.style[dimension] = ''; - _this.setTransitioning(false); + _this.setTransitioning(false); - $(_this._element).trigger(Event.SHOWN); - }; + $$$1(_this._element).trigger(Event.SHOWN); + }; - var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); - var scrollSize = "scroll" + capitalizedDimension; - var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); - this._element.style[dimension] = this._element[scrollSize] + "px"; - }; + var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + var scrollSize = "scroll" + capitalizedDimension; + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + this._element.style[dimension] = this._element[scrollSize] + "px"; + }; - _proto.hide = function hide() { - var _this2 = this; + _proto.hide = function hide() { + var _this2 = this; - if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) { - return; - } + if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) { + return; + } - var startEvent = $.Event(Event.HIDE); - $(this._element).trigger(startEvent); + var startEvent = $$$1.Event(Event.HIDE); + $$$1(this._element).trigger(startEvent); - if (startEvent.isDefaultPrevented()) { - return; - } + if (startEvent.isDefaultPrevented()) { + return; + } - var dimension = this._getDimension(); + var dimension = this._getDimension(); - this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; - Util.reflow(this._element); - $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW); - var triggerArrayLength = this._triggerArray.length; + this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; + Util.reflow(this._element); + $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW); + var triggerArrayLength = this._triggerArray.length; - if (triggerArrayLength > 0) { - for (var i = 0; i < triggerArrayLength; i++) { - var trigger = this._triggerArray[i]; - var selector = Util.getSelectorFromElement(trigger); + if (triggerArrayLength > 0) { + for (var i = 0; i < triggerArrayLength; i++) { + var trigger = this._triggerArray[i]; + var selector = Util.getSelectorFromElement(trigger); - if (selector !== null) { - var $elem = $([].slice.call(document.querySelectorAll(selector))); + if (selector !== null) { + var $elem = $$$1([].slice.call(document.querySelectorAll(selector))); - if (!$elem.hasClass(ClassName.SHOW)) { - $(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false); + if (!$elem.hasClass(ClassName.SHOW)) { + $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false); + } } } } - } - this.setTransitioning(true); + this.setTransitioning(true); - var complete = function complete() { - _this2.setTransitioning(false); + var complete = function complete() { + _this2.setTransitioning(false); - $(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN); - }; + $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN); + }; - this._element.style[dimension] = ''; - var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); - }; + this._element.style[dimension] = ''; + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + }; - _proto.setTransitioning = function setTransitioning(isTransitioning) { - this._isTransitioning = isTransitioning; - }; + _proto.setTransitioning = function setTransitioning(isTransitioning) { + this._isTransitioning = isTransitioning; + }; - _proto.dispose = function dispose() { - $.removeData(this._element, DATA_KEY); - this._config = null; - this._parent = null; - this._element = null; - this._triggerArray = null; - this._isTransitioning = null; - }; // Private + _proto.dispose = function dispose() { + $$$1.removeData(this._element, DATA_KEY); + this._config = null; + this._parent = null; + this._element = null; + this._triggerArray = null; + this._isTransitioning = null; + }; // Private - _proto._getConfig = function _getConfig(config) { - config = _objectSpread({}, Default, config); - config.toggle = Boolean(config.toggle); // Coerce string values + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default, config); + config.toggle = Boolean(config.toggle); // Coerce string values - Util.typeCheckConfig(NAME, config, DefaultType); - return config; - }; + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; - _proto._getDimension = function _getDimension() { - var hasWidth = $(this._element).hasClass(Dimension.WIDTH); - return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; - }; + _proto._getDimension = function _getDimension() { + var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH); + return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; + }; - _proto._getParent = function _getParent() { - var _this3 = this; + _proto._getParent = function _getParent() { + var _this3 = this; - var parent = null; + var parent = null; - if (Util.isElement(this._config.parent)) { - parent = this._config.parent; // It's a jQuery object + if (Util.isElement(this._config.parent)) { + parent = this._config.parent; // It's a jQuery object - if (typeof this._config.parent.jquery !== 'undefined') { - parent = this._config.parent[0]; + if (typeof this._config.parent.jquery !== 'undefined') { + parent = this._config.parent[0]; + } + } else { + parent = document.querySelector(this._config.parent); } - } else { - parent = document.querySelector(this._config.parent); - } - var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; - var children = [].slice.call(parent.querySelectorAll(selector)); - $(children).each(function (i, element) { - _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); - }); - return parent; - }; + var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; + var children = [].slice.call(parent.querySelectorAll(selector)); + $$$1(children).each(function (i, element) { + _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); + }); + return parent; + }; - _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { - if (element) { - var isOpen = $(element).hasClass(ClassName.SHOW); + _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { + if (element) { + var isOpen = $$$1(element).hasClass(ClassName.SHOW); - if (triggerArray.length) { - $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); + if (triggerArray.length) { + $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); + } } - } - }; // Static + }; // Static - Collapse._getTargetFromElement = function _getTargetFromElement(element) { - var selector = Util.getSelectorFromElement(element); - return selector ? document.querySelector(selector) : null; - }; + Collapse._getTargetFromElement = function _getTargetFromElement(element) { + var selector = Util.getSelectorFromElement(element); + return selector ? document.querySelector(selector) : null; + }; - Collapse._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var $this = $(this); - var data = $this.data(DATA_KEY); + Collapse._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $this = $$$1(this); + var data = $this.data(DATA_KEY); - var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config ? config : {}); + var _config = _objectSpread({}, 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(this, _config); - $this.data(DATA_KEY, data); - } + if (!data) { + data = new Collapse(this, _config); + $this.data(DATA_KEY, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); + data[config](); } + }); + }; - data[config](); + _createClass(Collapse, null, [{ + key: "VERSION", + get: function get() { + return VERSION; } - }); - }; - - _createClass(Collapse, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }, { - key: "Default", - get: function get() { - return Default; - } - }]); + }, { + key: "Default", + get: function get() { + return Default; + } + }]); - return Collapse; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ + return Collapse; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ - $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { - // preventDefault only for elements (which change the URL) not inside the collapsible element - if (event.currentTarget.tagName === 'A') { - event.preventDefault(); - } + $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + // preventDefault only for elements (which change the URL) not inside the collapsible element + if (event.currentTarget.tagName === 'A') { + event.preventDefault(); + } - var $trigger = $(this); - var selector = Util.getSelectorFromElement(this); - 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(); + var $trigger = $$$1(this); + var selector = Util.getSelectorFromElement(this); + var selectors = [].slice.call(document.querySelectorAll(selector)); + $$$1(selectors).each(function () { + var $target = $$$1(this); + var data = $target.data(DATA_KEY); + var config = data ? 'toggle' : $trigger.data(); - Collapse._jQueryInterface.call($target, config); + Collapse._jQueryInterface.call($target, config); + }); }); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $$$1.fn[NAME] = Collapse._jQueryInterface; + $$$1.fn[NAME].Constructor = Collapse; - $.fn[NAME] = Collapse._jQueryInterface; - $.fn[NAME].Constructor = Collapse; + $$$1.fn[NAME].noConflict = function () { + $$$1.fn[NAME] = JQUERY_NO_CONFLICT; + return Collapse._jQueryInterface; + }; - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return Collapse._jQueryInterface; - }; + return Collapse; + }($); return Collapse; -}($); -//# sourceMappingURL=collapse.js.map \ No newline at end of file + +}))); +//# sourceMappingURL=collapse.js.map diff --git a/js/dist/collapse.js.map b/js/dist/collapse.js.map index dd7d667147..3bd4bea0c9 100644 --- a/js/dist/collapse.js.map +++ b/js/dist/collapse.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/collapse.js"],"names":["Collapse","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","Default","toggle","parent","DefaultType","Event","SHOW","SHOWN","HIDE","HIDDEN","CLICK_DATA_API","ClassName","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","Selector","ACTIVES","DATA_TOGGLE","element","config","_isTransitioning","_element","_config","_getConfig","_triggerArray","makeArray","document","querySelectorAll","id","toggleList","slice","call","i","len","length","elem","selector","Util","getSelectorFromElement","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hasClass","hide","show","actives","activesData","getAttribute","not","data","startEvent","trigger","isDefaultPrevented","_jQueryInterface","dimension","_getDimension","removeClass","addClass","style","attr","setTransitioning","complete","capitalizedDimension","toUpperCase","scrollSize","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","getBoundingClientRect","reflow","triggerArrayLength","$elem","isTransitioning","dispose","removeData","Boolean","typeCheckConfig","hasWidth","isElement","jquery","querySelector","children","each","_getTargetFromElement","triggerArray","isOpen","toggleClass","$this","test","TypeError","on","event","currentTarget","tagName","preventDefault","$trigger","selectors","$target","Constructor","noConflict"],"mappings":"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","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.1.2'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => elem.getAttribute('data-parent') === this._config.parent)\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n"],"file":"collapse.js"} \ No newline at end of file +{"version":3,"file":"collapse.js","sources":["../src/collapse.js"],"sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.1.2'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => elem.getAttribute('data-parent') === this._config.parent)\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n"],"names":["Collapse","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","Default","toggle","parent","DefaultType","Event","SHOW","SHOWN","HIDE","HIDDEN","CLICK_DATA_API","ClassName","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","Selector","ACTIVES","DATA_TOGGLE","element","config","_isTransitioning","_element","_config","_getConfig","_triggerArray","makeArray","document","querySelectorAll","id","toggleList","slice","call","i","len","length","elem","selector","Util","getSelectorFromElement","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hasClass","hide","show","actives","activesData","getAttribute","not","data","startEvent","trigger","isDefaultPrevented","_jQueryInterface","dimension","_getDimension","removeClass","addClass","style","attr","setTransitioning","complete","capitalizedDimension","toUpperCase","scrollSize","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","getBoundingClientRect","reflow","triggerArrayLength","$elem","isTransitioning","dispose","removeData","Boolean","typeCheckConfig","hasWidth","isElement","jquery","querySelector","children","each","_getTargetFromElement","triggerArray","isOpen","toggleClass","$this","test","TypeError","on","event","currentTarget","tagName","preventDefault","$trigger","selectors","$target","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file diff --git a/js/dist/dropdown.js b/js/dist/dropdown.js index 8e6a59a49b..790b564937 100644 --- a/js/dist/dropdown.js +++ b/js/dist/dropdown.js @@ -1,495 +1,552 @@ -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } +(function (global, factory) { + 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.Dropdown = 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; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + return target; + } -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.2): dropdown.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ -var Dropdown = function ($) { /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ + * -------------------------------------------------------------------------- + * Bootstrap (v4.1.2): dropdown.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- */ - var NAME = 'dropdown'; - var VERSION = '4.1.2'; - 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 - - var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key - - var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key - - var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key - - var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key - - var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) - - var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE); - var Event = { - HIDE: "hide" + EVENT_KEY, - HIDDEN: "hidden" + EVENT_KEY, - SHOW: "show" + EVENT_KEY, - SHOWN: "shown" + EVENT_KEY, - CLICK: "click" + EVENT_KEY, - CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, - KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY, - KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY - }; - var ClassName = { - DISABLED: 'disabled', - SHOW: 'show', - DROPUP: 'dropup', - DROPRIGHT: 'dropright', - DROPLEFT: 'dropleft', - MENURIGHT: 'dropdown-menu-right', - MENULEFT: 'dropdown-menu-left', - POSITION_STATIC: 'position-static' - }; - var Selector = { - DATA_TOGGLE: '[data-toggle="dropdown"]', - FORM_CHILD: '.dropdown form', - MENU: '.dropdown-menu', - NAVBAR_NAV: '.navbar-nav', - VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)' - }; - var AttachmentMap = { - TOP: 'top-start', - TOPEND: 'top-end', - BOTTOM: 'bottom-start', - BOTTOMEND: 'bottom-end', - RIGHT: 'right-start', - RIGHTEND: 'right-end', - LEFT: 'left-start', - LEFTEND: 'left-end' - }; - var Default = { - offset: 0, - flip: true, - boundary: 'scrollParent', - reference: 'toggle', - display: 'dynamic' - }; - var DefaultType = { - offset: '(number|string|function)', - flip: 'boolean', - boundary: '(string|element)', - reference: '(string|element)', - display: 'string' + + var Dropdown = function ($$$1) { /** * ------------------------------------------------------------------------ - * Class Definition + * Constants * ------------------------------------------------------------------------ */ + var NAME = 'dropdown'; + var VERSION = '4.1.2'; + var DATA_KEY = 'bs.dropdown'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + + var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key + + var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key + + var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key + + var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key + + var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) + + var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE); + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + CLICK: "click" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, + KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY, + KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + DISABLED: 'disabled', + SHOW: 'show', + DROPUP: 'dropup', + DROPRIGHT: 'dropright', + DROPLEFT: 'dropleft', + MENURIGHT: 'dropdown-menu-right', + MENULEFT: 'dropdown-menu-left', + POSITION_STATIC: 'position-static' + }; + var Selector = { + DATA_TOGGLE: '[data-toggle="dropdown"]', + FORM_CHILD: '.dropdown form', + MENU: '.dropdown-menu', + NAVBAR_NAV: '.navbar-nav', + VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)' + }; + var AttachmentMap = { + TOP: 'top-start', + TOPEND: 'top-end', + BOTTOM: 'bottom-start', + BOTTOMEND: 'bottom-end', + RIGHT: 'right-start', + RIGHTEND: 'right-end', + LEFT: 'left-start', + LEFTEND: 'left-end' + }; + var Default = { + offset: 0, + flip: true, + boundary: 'scrollParent', + reference: 'toggle', + display: 'dynamic' + }; + var DefaultType = { + offset: '(number|string|function)', + flip: 'boolean', + boundary: '(string|element)', + reference: '(string|element)', + display: 'string' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ - }; + }; - var Dropdown = - /*#__PURE__*/ - function () { - function Dropdown(element, config) { - this._element = element; - this._popper = null; - this._config = this._getConfig(config); - this._menu = this._getMenuElement(); - this._inNavbar = this._detectNavbar(); + var Dropdown = + /*#__PURE__*/ + function () { + function Dropdown(element, config) { + this._element = element; + this._popper = null; + this._config = this._getConfig(config); + this._menu = this._getMenuElement(); + this._inNavbar = this._detectNavbar(); - this._addEventListeners(); - } // Getters + this._addEventListeners(); + } // Getters - var _proto = Dropdown.prototype; + var _proto = Dropdown.prototype; - // Public - _proto.toggle = function toggle() { - if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) { - return; - } + // Public + _proto.toggle = function toggle() { + if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) { + return; + } - var parent = Dropdown._getParentFromElement(this._element); + var parent = Dropdown._getParentFromElement(this._element); - var isActive = $(this._menu).hasClass(ClassName.SHOW); + var isActive = $$$1(this._menu).hasClass(ClassName.SHOW); - Dropdown._clearMenus(); + Dropdown._clearMenus(); - if (isActive) { - return; - } + if (isActive) { + return; + } - var relatedTarget = { - relatedTarget: this._element - }; - var showEvent = $.Event(Event.SHOW, relatedTarget); - $(parent).trigger(showEvent); + var relatedTarget = { + relatedTarget: this._element + }; + var showEvent = $$$1.Event(Event.SHOW, relatedTarget); + $$$1(parent).trigger(showEvent); - if (showEvent.isDefaultPrevented()) { - return; - } // Disable totally Popper.js for Dropdown in Navbar + if (showEvent.isDefaultPrevented()) { + return; + } // Disable totally Popper.js for Dropdown in Navbar - if (!this._inNavbar) { - /** - * Check for Popper dependency - * Popper - https://popper.js.org - */ - if (typeof Popper === 'undefined') { - throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)'); - } + if (!this._inNavbar) { + /** + * Check for Popper dependency + * Popper - https://popper.js.org + */ + if (typeof Popper === 'undefined') { + throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)'); + } - var referenceElement = this._element; + var referenceElement = this._element; - if (this._config.reference === 'parent') { - referenceElement = parent; - } else if (Util.isElement(this._config.reference)) { - referenceElement = this._config.reference; // Check if it's jQuery element + if (this._config.reference === 'parent') { + referenceElement = parent; + } else if (Util.isElement(this._config.reference)) { + referenceElement = this._config.reference; // Check if it's jQuery element - if (typeof this._config.reference.jquery !== 'undefined') { - referenceElement = this._config.reference[0]; - } - } // If boundary is not `scrollParent`, then set position to `static` - // to allow the menu to "escape" the scroll parent's boundaries - // https://github.com/twbs/bootstrap/issues/24251 + if (typeof this._config.reference.jquery !== 'undefined') { + referenceElement = this._config.reference[0]; + } + } // If boundary is not `scrollParent`, then set position to `static` + // to allow the menu to "escape" the scroll parent's boundaries + // https://github.com/twbs/bootstrap/issues/24251 - if (this._config.boundary !== 'scrollParent') { - $(parent).addClass(ClassName.POSITION_STATIC); - } + if (this._config.boundary !== 'scrollParent') { + $$$1(parent).addClass(ClassName.POSITION_STATIC); + } - this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig()); - } // If this is a touch-enabled device we add extra - // empty mouseover listeners to the body's immediate children; - // only needed because of broken event delegation on iOS - // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig()); + } // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html - if ('ontouchstart' in document.documentElement && $(parent).closest(Selector.NAVBAR_NAV).length === 0) { - $(document.body).children().on('mouseover', null, $.noop); - } + if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) { + $$$1(document.body).children().on('mouseover', null, $$$1.noop); + } - this._element.focus(); + this._element.focus(); - this._element.setAttribute('aria-expanded', true); + this._element.setAttribute('aria-expanded', true); - $(this._menu).toggleClass(ClassName.SHOW); - $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget)); - }; + $$$1(this._menu).toggleClass(ClassName.SHOW); + $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget)); + }; - _proto.dispose = function dispose() { - $.removeData(this._element, DATA_KEY); - $(this._element).off(EVENT_KEY); - this._element = null; - this._menu = null; + _proto.dispose = function dispose() { + $$$1.removeData(this._element, DATA_KEY); + $$$1(this._element).off(EVENT_KEY); + this._element = null; + this._menu = null; - if (this._popper !== null) { - this._popper.destroy(); + if (this._popper !== null) { + this._popper.destroy(); - this._popper = null; - } - }; + this._popper = null; + } + }; - _proto.update = function update() { - this._inNavbar = this._detectNavbar(); + _proto.update = function update() { + this._inNavbar = this._detectNavbar(); - if (this._popper !== null) { - this._popper.scheduleUpdate(); - } - }; // Private + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + }; // Private - _proto._addEventListeners = function _addEventListeners() { - var _this = this; + _proto._addEventListeners = function _addEventListeners() { + var _this = this; - $(this._element).on(Event.CLICK, function (event) { - event.preventDefault(); - event.stopPropagation(); + $$$1(this._element).on(Event.CLICK, function (event) { + event.preventDefault(); + event.stopPropagation(); - _this.toggle(); - }); - }; + _this.toggle(); + }); + }; - _proto._getConfig = function _getConfig(config) { - config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config); - Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); - return config; - }; + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, this.constructor.Default, $$$1(this._element).data(), config); + Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); + return config; + }; - _proto._getMenuElement = function _getMenuElement() { - if (!this._menu) { - var parent = Dropdown._getParentFromElement(this._element); + _proto._getMenuElement = function _getMenuElement() { + if (!this._menu) { + var parent = Dropdown._getParentFromElement(this._element); - if (parent) { - this._menu = parent.querySelector(Selector.MENU); + if (parent) { + this._menu = parent.querySelector(Selector.MENU); + } } - } - return this._menu; - }; + return this._menu; + }; - _proto._getPlacement = function _getPlacement() { - var $parentDropdown = $(this._element.parentNode); - var placement = AttachmentMap.BOTTOM; // Handle dropup + _proto._getPlacement = function _getPlacement() { + var $parentDropdown = $$$1(this._element.parentNode); + var placement = AttachmentMap.BOTTOM; // Handle dropup - if ($parentDropdown.hasClass(ClassName.DROPUP)) { - placement = AttachmentMap.TOP; + if ($parentDropdown.hasClass(ClassName.DROPUP)) { + placement = AttachmentMap.TOP; - if ($(this._menu).hasClass(ClassName.MENURIGHT)) { - placement = AttachmentMap.TOPEND; + if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) { + placement = AttachmentMap.TOPEND; + } + } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) { + placement = AttachmentMap.RIGHT; + } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) { + placement = AttachmentMap.LEFT; + } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) { + placement = AttachmentMap.BOTTOMEND; } - } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) { - placement = AttachmentMap.RIGHT; - } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) { - placement = AttachmentMap.LEFT; - } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) { - placement = AttachmentMap.BOTTOMEND; - } - - return placement; - }; - _proto._detectNavbar = function _detectNavbar() { - return $(this._element).closest('.navbar').length > 0; - }; + return placement; + }; - _proto._getPopperConfig = function _getPopperConfig() { - var _this2 = this; + _proto._detectNavbar = function _detectNavbar() { + return $$$1(this._element).closest('.navbar').length > 0; + }; - var offsetConf = {}; + _proto._getPopperConfig = function _getPopperConfig() { + var _this2 = this; - if (typeof this._config.offset === 'function') { - offsetConf.fn = function (data) { - data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {}); - return data; - }; - } else { - offsetConf.offset = this._config.offset; - } + var offsetConf = {}; - var popperConfig = { - placement: this._getPlacement(), - modifiers: { - offset: offsetConf, - flip: { - enabled: this._config.flip - }, - preventOverflow: { - boundariesElement: this._config.boundary - } - } // Disable Popper.js if we have a static display + if (typeof this._config.offset === 'function') { + offsetConf.fn = function (data) { + data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {}); + return data; + }; + } else { + offsetConf.offset = this._config.offset; + } - }; + var popperConfig = { + placement: this._getPlacement(), + modifiers: { + offset: offsetConf, + flip: { + enabled: this._config.flip + }, + preventOverflow: { + boundariesElement: this._config.boundary + } + } // Disable Popper.js if we have a static display - if (this._config.display === 'static') { - popperConfig.modifiers.applyStyle = { - enabled: false }; - } - return popperConfig; - }; // Static + if (this._config.display === 'static') { + popperConfig.modifiers.applyStyle = { + enabled: false + }; + } + return popperConfig; + }; // Static - Dropdown._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $(this).data(DATA_KEY); - var _config = typeof config === 'object' ? config : null; + Dropdown._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $$$1(this).data(DATA_KEY); - if (!data) { - data = new Dropdown(this, _config); - $(this).data(DATA_KEY, data); - } + var _config = typeof config === 'object' ? config : null; + + if (!data) { + data = new Dropdown(this, _config); + $$$1(this).data(DATA_KEY, data); + } - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); } + }); + }; - data[config](); + Dropdown._clearMenus = function _clearMenus(event) { + if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { + return; } - }); - }; - Dropdown._clearMenus = function _clearMenus(event) { - if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { - return; - } + var toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)); - var toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE)); + for (var i = 0, len = toggles.length; i < len; i++) { + var parent = Dropdown._getParentFromElement(toggles[i]); - for (var i = 0, len = toggles.length; i < len; i++) { - var parent = Dropdown._getParentFromElement(toggles[i]); + var context = $$$1(toggles[i]).data(DATA_KEY); + var relatedTarget = { + relatedTarget: toggles[i] + }; - var context = $(toggles[i]).data(DATA_KEY); - var relatedTarget = { - relatedTarget: toggles[i] - }; + if (event && event.type === 'click') { + relatedTarget.clickEvent = event; + } - if (event && event.type === 'click') { - relatedTarget.clickEvent = event; - } + if (!context) { + continue; + } - if (!context) { - continue; - } + var dropdownMenu = context._menu; - var dropdownMenu = context._menu; + if (!$$$1(parent).hasClass(ClassName.SHOW)) { + continue; + } - 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) && $$$1.contains(parent, event.target)) { + continue; + } - 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 = $$$1.Event(Event.HIDE, relatedTarget); + $$$1(parent).trigger(hideEvent); - var hideEvent = $.Event(Event.HIDE, relatedTarget); - $(parent).trigger(hideEvent); + if (hideEvent.isDefaultPrevented()) { + continue; + } // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support - if (hideEvent.isDefaultPrevented()) { - continue; - } // If this is a touch-enabled device we remove the extra - // empty mouseover listeners we added for iOS support + if ('ontouchstart' in document.documentElement) { + $$$1(document.body).children().off('mouseover', null, $$$1.noop); + } - if ('ontouchstart' in document.documentElement) { - $(document.body).children().off('mouseover', null, $.noop); + toggles[i].setAttribute('aria-expanded', 'false'); + $$$1(dropdownMenu).removeClass(ClassName.SHOW); + $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget)); } + }; - toggles[i].setAttribute('aria-expanded', 'false'); - $(dropdownMenu).removeClass(ClassName.SHOW); - $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget)); - } - }; + Dropdown._getParentFromElement = function _getParentFromElement(element) { + var parent; + var selector = Util.getSelectorFromElement(element); - Dropdown._getParentFromElement = function _getParentFromElement(element) { - var parent; - var selector = Util.getSelectorFromElement(element); + if (selector) { + parent = document.querySelector(selector); + } - if (selector) { - parent = document.querySelector(selector); - } + return parent || element.parentNode; + }; // eslint-disable-next-line complexity - return parent || element.parentNode; - }; // eslint-disable-next-line complexity + Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { + // If not input/textarea: + // - And not a key in REGEXP_KEYDOWN => not a dropdown command + // If input/textarea: + // - If space key => not a dropdown command + // - If key is other than escape + // - If key is not up or down => not a dropdown command + // - 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 || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { + return; + } - Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { - // If not input/textarea: - // - And not a key in REGEXP_KEYDOWN => not a dropdown command - // If input/textarea: - // - If space key => not a dropdown command - // - If key is other than escape - // - If key is not up or down => not a dropdown command - // - 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 || $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { - return; - } + event.preventDefault(); + event.stopPropagation(); - event.preventDefault(); - event.stopPropagation(); + if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) { + return; + } - if (this.disabled || $(this).hasClass(ClassName.DISABLED)) { - return; - } + var parent = Dropdown._getParentFromElement(this); - var parent = Dropdown._getParentFromElement(this); + var isActive = $$$1(parent).hasClass(ClassName.SHOW); - var isActive = $(parent).hasClass(ClassName.SHOW); + if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { + if (event.which === ESCAPE_KEYCODE) { + var toggle = parent.querySelector(Selector.DATA_TOGGLE); + $$$1(toggle).trigger('focus'); + } - if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { - if (event.which === ESCAPE_KEYCODE) { - var toggle = parent.querySelector(Selector.DATA_TOGGLE); - $(toggle).trigger('focus'); + $$$1(this).trigger('click'); + return; } - $(this).trigger('click'); - return; - } + var items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS)); - var items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS)); + if (items.length === 0) { + return; + } - if (items.length === 0) { - return; - } + var index = items.indexOf(event.target); - var index = items.indexOf(event.target); + if (event.which === ARROW_UP_KEYCODE && index > 0) { + // Up + index--; + } - if (event.which === ARROW_UP_KEYCODE && index > 0) { - // Up - index--; - } + if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { + // Down + index++; + } - if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { - // Down - index++; - } + if (index < 0) { + index = 0; + } - if (index < 0) { - index = 0; - } + items[index].focus(); + }; - items[index].focus(); - }; + _createClass(Dropdown, null, [{ + key: "VERSION", + get: function get() { + return VERSION; + } + }, { + key: "Default", + get: function get() { + return Default; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }]); - _createClass(Dropdown, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }, { - key: "Default", - get: function get() { - return Default; - } - }, { - key: "DefaultType", - get: function get() { - return DefaultType; - } - }]); + return Dropdown; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ - return Dropdown; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ + $$$1(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(); - $(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($$$1(this), 'toggle'); + }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) { + e.stopPropagation(); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ - Dropdown._jQueryInterface.call($(this), 'toggle'); - }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) { - e.stopPropagation(); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ + $$$1.fn[NAME] = Dropdown._jQueryInterface; + $$$1.fn[NAME].Constructor = Dropdown; - $.fn[NAME] = Dropdown._jQueryInterface; - $.fn[NAME].Constructor = Dropdown; + $$$1.fn[NAME].noConflict = function () { + $$$1.fn[NAME] = JQUERY_NO_CONFLICT; + return Dropdown._jQueryInterface; + }; - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return Dropdown._jQueryInterface; - }; + return Dropdown; + }($, Popper); return Dropdown; -}($, Popper); -//# sourceMappingURL=dropdown.js.map \ No newline at end of file + +}))); +//# sourceMappingURL=dropdown.js.map diff --git a/js/dist/dropdown.js.map b/js/dist/dropdown.js.map index 31eaee666d..19ea01907d 100644 --- a/js/dist/dropdown.js.map +++ b/js/dist/dropdown.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/dropdown.js"],"names":["Dropdown","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","RegExp","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK","CLICK_DATA_API","KEYDOWN_DATA_API","KEYUP_DATA_API","ClassName","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","Selector","DATA_TOGGLE","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHT","RIGHTEND","LEFT","LEFTEND","Default","offset","flip","boundary","reference","display","DefaultType","element","config","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","toggle","disabled","hasClass","parent","_getParentFromElement","isActive","_clearMenus","relatedTarget","showEvent","trigger","isDefaultPrevented","Popper","TypeError","referenceElement","Util","isElement","jquery","addClass","_getPopperConfig","document","documentElement","closest","length","body","children","on","noop","focus","setAttribute","toggleClass","dispose","removeData","off","destroy","update","scheduleUpdate","event","preventDefault","stopPropagation","constructor","data","typeCheckConfig","querySelector","_getPlacement","$parentDropdown","parentNode","placement","offsetConf","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","_jQueryInterface","each","which","type","toggles","slice","call","querySelectorAll","i","len","context","clickEvent","dropdownMenu","test","target","tagName","contains","hideEvent","removeClass","selector","getSelectorFromElement","_dataApiKeydownHandler","items","index","indexOf","e","Constructor","noConflict"],"mappings":"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","sourcesContent":["import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.1.2'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n"],"file":"dropdown.js"} \ No newline at end of file +{"version":3,"file":"dropdown.js","sources":["../src/dropdown.js"],"sourcesContent":["import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.1.2'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n"],"names":["Dropdown","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","RegExp","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK","CLICK_DATA_API","KEYDOWN_DATA_API","KEYUP_DATA_API","ClassName","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","Selector","DATA_TOGGLE","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHT","RIGHTEND","LEFT","LEFTEND","Default","offset","flip","boundary","reference","display","DefaultType","element","config","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","toggle","disabled","hasClass","parent","_getParentFromElement","isActive","_clearMenus","relatedTarget","showEvent","trigger","isDefaultPrevented","Popper","TypeError","referenceElement","Util","isElement","jquery","addClass","_getPopperConfig","document","documentElement","closest","length","body","children","on","noop","focus","setAttribute","toggleClass","dispose","removeData","off","destroy","update","scheduleUpdate","event","preventDefault","stopPropagation","constructor","data","typeCheckConfig","querySelector","_getPlacement","$parentDropdown","parentNode","placement","offsetConf","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","_jQueryInterface","each","which","type","toggles","slice","call","querySelectorAll","i","len","context","clickEvent","dropdownMenu","test","target","tagName","contains","hideEvent","removeClass","selector","getSelectorFromElement","_dataApiKeydownHandler","items","index","indexOf","e","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file diff --git a/js/dist/modal.js b/js/dist/modal.js index 3d2cd161db..c90f5f5528 100644 --- a/js/dist/modal.js +++ b/js/dist/modal.js @@ -1,578 +1,634 @@ -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } +(function (global, factory) { + 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.Modal = factory(global.jQuery,global.Util)); +}(this, (function ($,Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + return obj; + } -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + + return target; + } -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.2): modal.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ -var Modal = function ($) { /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ + * -------------------------------------------------------------------------- + * Bootstrap (v4.1.2): modal.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- */ - var NAME = 'modal'; - var VERSION = '4.1.2'; - 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 - - var Default = { - backdrop: true, - keyboard: true, - focus: true, - show: true - }; - var DefaultType = { - backdrop: '(boolean|string)', - keyboard: 'boolean', - focus: 'boolean', - show: 'boolean' - }; - var Event = { - HIDE: "hide" + EVENT_KEY, - HIDDEN: "hidden" + EVENT_KEY, - SHOW: "show" + EVENT_KEY, - SHOWN: "shown" + EVENT_KEY, - FOCUSIN: "focusin" + EVENT_KEY, - RESIZE: "resize" + EVENT_KEY, - CLICK_DISMISS: "click.dismiss" + EVENT_KEY, - KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY, - MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY, - MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY, - CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY - }; - var ClassName = { - SCROLLBAR_MEASURER: 'modal-scrollbar-measure', - BACKDROP: 'modal-backdrop', - OPEN: 'modal-open', - FADE: 'fade', - SHOW: 'show' - }; - var Selector = { - DIALOG: '.modal-dialog', - DATA_TOGGLE: '[data-toggle="modal"]', - DATA_DISMISS: '[data-dismiss="modal"]', - FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', - STICKY_CONTENT: '.sticky-top' + + var Modal = function ($$$1) { /** * ------------------------------------------------------------------------ - * Class Definition + * Constants * ------------------------------------------------------------------------ */ + var NAME = 'modal'; + var VERSION = '4.1.2'; + var DATA_KEY = 'bs.modal'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + + var Default = { + backdrop: true, + keyboard: true, + focus: true, + show: true + }; + var DefaultType = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + focus: 'boolean', + show: 'boolean' + }; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + FOCUSIN: "focusin" + EVENT_KEY, + RESIZE: "resize" + EVENT_KEY, + CLICK_DISMISS: "click.dismiss" + EVENT_KEY, + KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY, + MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY, + MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + SCROLLBAR_MEASURER: 'modal-scrollbar-measure', + BACKDROP: 'modal-backdrop', + OPEN: 'modal-open', + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + DIALOG: '.modal-dialog', + DATA_TOGGLE: '[data-toggle="modal"]', + DATA_DISMISS: '[data-dismiss="modal"]', + FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', + STICKY_CONTENT: '.sticky-top' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ - }; + }; - var Modal = - /*#__PURE__*/ - function () { - function Modal(element, config) { - this._config = this._getConfig(config); - this._element = element; - this._dialog = element.querySelector(Selector.DIALOG); - this._backdrop = null; - this._isShown = false; - this._isBodyOverflowing = false; - this._ignoreBackdropClick = false; - this._scrollbarWidth = 0; - } // Getters + var Modal = + /*#__PURE__*/ + function () { + function Modal(element, config) { + this._config = this._getConfig(config); + this._element = element; + this._dialog = element.querySelector(Selector.DIALOG); + this._backdrop = null; + this._isShown = false; + this._isBodyOverflowing = false; + this._ignoreBackdropClick = false; + this._scrollbarWidth = 0; + } // Getters - var _proto = Modal.prototype; + var _proto = Modal.prototype; - // Public - _proto.toggle = function toggle(relatedTarget) { - return this._isShown ? this.hide() : this.show(relatedTarget); - }; + // Public + _proto.toggle = function toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + }; - _proto.show = function show(relatedTarget) { - var _this = this; + _proto.show = function show(relatedTarget) { + var _this = this; - if (this._isTransitioning || this._isShown) { - return; - } + if (this._isTransitioning || this._isShown) { + return; + } - if ($(this._element).hasClass(ClassName.FADE)) { - this._isTransitioning = true; - } + if ($$$1(this._element).hasClass(ClassName.FADE)) { + this._isTransitioning = true; + } - var showEvent = $.Event(Event.SHOW, { - relatedTarget: relatedTarget - }); - $(this._element).trigger(showEvent); + var showEvent = $$$1.Event(Event.SHOW, { + relatedTarget: relatedTarget + }); + $$$1(this._element).trigger(showEvent); - if (this._isShown || showEvent.isDefaultPrevented()) { - return; - } + if (this._isShown || showEvent.isDefaultPrevented()) { + return; + } - this._isShown = true; + this._isShown = true; - this._checkScrollbar(); + this._checkScrollbar(); - this._setScrollbar(); + this._setScrollbar(); - this._adjustDialog(); + this._adjustDialog(); - $(document.body).addClass(ClassName.OPEN); + $$$1(document.body).addClass(ClassName.OPEN); - this._setEscapeEvent(); + this._setEscapeEvent(); - this._setResizeEvent(); + this._setResizeEvent(); - $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) { - return _this.hide(event); - }); - $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () { - $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) { - if ($(event.target).is(_this._element)) { - _this._ignoreBackdropClick = true; - } + $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) { + return _this.hide(event); + }); + $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () { + $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) { + if ($$$1(event.target).is(_this._element)) { + _this._ignoreBackdropClick = true; + } + }); }); - }); - this._showBackdrop(function () { - return _this._showElement(relatedTarget); - }); - }; + this._showBackdrop(function () { + return _this._showElement(relatedTarget); + }); + }; - _proto.hide = function hide(event) { - var _this2 = this; + _proto.hide = function hide(event) { + var _this2 = this; - if (event) { - event.preventDefault(); - } + if (event) { + event.preventDefault(); + } - if (this._isTransitioning || !this._isShown) { - return; - } + if (this._isTransitioning || !this._isShown) { + return; + } - var hideEvent = $.Event(Event.HIDE); - $(this._element).trigger(hideEvent); + var hideEvent = $$$1.Event(Event.HIDE); + $$$1(this._element).trigger(hideEvent); - if (!this._isShown || hideEvent.isDefaultPrevented()) { - return; - } + if (!this._isShown || hideEvent.isDefaultPrevented()) { + return; + } - this._isShown = false; - var transition = $(this._element).hasClass(ClassName.FADE); + this._isShown = false; + var transition = $$$1(this._element).hasClass(ClassName.FADE); - if (transition) { - this._isTransitioning = true; - } + if (transition) { + this._isTransitioning = true; + } - this._setEscapeEvent(); + this._setEscapeEvent(); - this._setResizeEvent(); + this._setResizeEvent(); - $(document).off(Event.FOCUSIN); - $(this._element).removeClass(ClassName.SHOW); - $(this._element).off(Event.CLICK_DISMISS); - $(this._dialog).off(Event.MOUSEDOWN_DISMISS); + $$$1(document).off(Event.FOCUSIN); + $$$1(this._element).removeClass(ClassName.SHOW); + $$$1(this._element).off(Event.CLICK_DISMISS); + $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS); - if (transition) { - var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $(this._element).one(Util.TRANSITION_END, function (event) { - return _this2._hideModal(event); - }).emulateTransitionEnd(transitionDuration); - } else { - this._hideModal(); - } - }; + if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $$$1(this._element).one(Util.TRANSITION_END, function (event) { + return _this2._hideModal(event); + }).emulateTransitionEnd(transitionDuration); + } else { + this._hideModal(); + } + }; - _proto.dispose = function dispose() { - $.removeData(this._element, DATA_KEY); - $(window, document, this._element, this._backdrop).off(EVENT_KEY); - this._config = null; - this._element = null; - this._dialog = null; - this._backdrop = null; - this._isShown = null; - this._isBodyOverflowing = null; - this._ignoreBackdropClick = null; - this._scrollbarWidth = null; - }; + _proto.dispose = function dispose() { + $$$1.removeData(this._element, DATA_KEY); + $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY); + this._config = null; + this._element = null; + this._dialog = null; + this._backdrop = null; + this._isShown = null; + this._isBodyOverflowing = null; + this._ignoreBackdropClick = null; + this._scrollbarWidth = null; + }; - _proto.handleUpdate = function handleUpdate() { - this._adjustDialog(); - }; // Private + _proto.handleUpdate = function handleUpdate() { + this._adjustDialog(); + }; // Private - _proto._getConfig = function _getConfig(config) { - config = _objectSpread({}, Default, config); - Util.typeCheckConfig(NAME, config, DefaultType); - return config; - }; + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default, config); + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; - _proto._showElement = function _showElement(relatedTarget) { - var _this3 = this; + _proto._showElement = function _showElement(relatedTarget) { + var _this3 = this; - var transition = $(this._element).hasClass(ClassName.FADE); + var transition = $$$1(this._element).hasClass(ClassName.FADE); - if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { - // Don't move modal's DOM position - document.body.appendChild(this._element); - } + if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { + // Don't move modal's DOM position + document.body.appendChild(this._element); + } - this._element.style.display = 'block'; + this._element.style.display = 'block'; - this._element.removeAttribute('aria-hidden'); + this._element.removeAttribute('aria-hidden'); - this._element.scrollTop = 0; + this._element.scrollTop = 0; - if (transition) { - Util.reflow(this._element); - } + if (transition) { + Util.reflow(this._element); + } - $(this._element).addClass(ClassName.SHOW); + $$$1(this._element).addClass(ClassName.SHOW); - if (this._config.focus) { - this._enforceFocus(); - } + if (this._config.focus) { + this._enforceFocus(); + } - var shownEvent = $.Event(Event.SHOWN, { - relatedTarget: relatedTarget - }); + var shownEvent = $$$1.Event(Event.SHOWN, { + relatedTarget: relatedTarget + }); + + var transitionComplete = function transitionComplete() { + if (_this3._config.focus) { + _this3._element.focus(); + } - var transitionComplete = function transitionComplete() { - if (_this3._config.focus) { - _this3._element.focus(); + _this3._isTransitioning = false; + $$$1(_this3._element).trigger(shownEvent); + }; + + if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); + } else { + transitionComplete(); } + }; + + _proto._enforceFocus = function _enforceFocus() { + var _this4 = this; - _this3._isTransitioning = false; - $(_this3._element).trigger(shownEvent); + $$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop + .on(Event.FOCUSIN, function (event) { + if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) { + _this4._element.focus(); + } + }); }; - if (transition) { - var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); - } else { - transitionComplete(); - } - }; + _proto._setEscapeEvent = function _setEscapeEvent() { + var _this5 = this; - _proto._enforceFocus = function _enforceFocus() { - var _this4 = this; + if (this._isShown && this._config.keyboard) { + $$$1(this._element).on(Event.KEYDOWN_DISMISS, function (event) { + if (event.which === ESCAPE_KEYCODE) { + event.preventDefault(); - $(document).off(Event.FOCUSIN) // Guard against infinite focus loop - .on(Event.FOCUSIN, function (event) { - if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) { - _this4._element.focus(); + _this5.hide(); + } + }); + } else if (!this._isShown) { + $$$1(this._element).off(Event.KEYDOWN_DISMISS); } - }); - }; - - _proto._setEscapeEvent = function _setEscapeEvent() { - var _this5 = this; + }; - if (this._isShown && this._config.keyboard) { - $(this._element).on(Event.KEYDOWN_DISMISS, function (event) { - if (event.which === ESCAPE_KEYCODE) { - event.preventDefault(); + _proto._setResizeEvent = function _setResizeEvent() { + var _this6 = this; - _this5.hide(); - } - }); - } else if (!this._isShown) { - $(this._element).off(Event.KEYDOWN_DISMISS); - } - }; + if (this._isShown) { + $$$1(window).on(Event.RESIZE, function (event) { + return _this6.handleUpdate(event); + }); + } else { + $$$1(window).off(Event.RESIZE); + } + }; - _proto._setResizeEvent = function _setResizeEvent() { - var _this6 = this; + _proto._hideModal = function _hideModal() { + var _this7 = this; - if (this._isShown) { - $(window).on(Event.RESIZE, function (event) { - return _this6.handleUpdate(event); - }); - } else { - $(window).off(Event.RESIZE); - } - }; + this._element.style.display = 'none'; - _proto._hideModal = function _hideModal() { - var _this7 = this; + this._element.setAttribute('aria-hidden', true); - this._element.style.display = 'none'; + this._isTransitioning = false; - this._element.setAttribute('aria-hidden', true); + this._showBackdrop(function () { + $$$1(document.body).removeClass(ClassName.OPEN); - this._isTransitioning = false; + _this7._resetAdjustments(); - this._showBackdrop(function () { - $(document.body).removeClass(ClassName.OPEN); + _this7._resetScrollbar(); - _this7._resetAdjustments(); + $$$1(_this7._element).trigger(Event.HIDDEN); + }); + }; - _this7._resetScrollbar(); + _proto._removeBackdrop = function _removeBackdrop() { + if (this._backdrop) { + $$$1(this._backdrop).remove(); + this._backdrop = null; + } + }; - $(_this7._element).trigger(Event.HIDDEN); - }); - }; + _proto._showBackdrop = function _showBackdrop(callback) { + var _this8 = this; - _proto._removeBackdrop = function _removeBackdrop() { - if (this._backdrop) { - $(this._backdrop).remove(); - this._backdrop = null; - } - }; + var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : ''; - _proto._showBackdrop = function _showBackdrop(callback) { - var _this8 = this; + if (this._isShown && this._config.backdrop) { + this._backdrop = document.createElement('div'); + this._backdrop.className = ClassName.BACKDROP; - var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : ''; + if (animate) { + this._backdrop.classList.add(animate); + } - if (this._isShown && this._config.backdrop) { - this._backdrop = document.createElement('div'); - this._backdrop.className = ClassName.BACKDROP; + $$$1(this._backdrop).appendTo(document.body); + $$$1(this._element).on(Event.CLICK_DISMISS, function (event) { + if (_this8._ignoreBackdropClick) { + _this8._ignoreBackdropClick = false; + return; + } + + if (event.target !== event.currentTarget) { + return; + } + + if (_this8._config.backdrop === 'static') { + _this8._element.focus(); + } else { + _this8.hide(); + } + }); + + if (animate) { + Util.reflow(this._backdrop); + } - if (animate) { - this._backdrop.classList.add(animate); - } + $$$1(this._backdrop).addClass(ClassName.SHOW); - $(this._backdrop).appendTo(document.body); - $(this._element).on(Event.CLICK_DISMISS, function (event) { - if (_this8._ignoreBackdropClick) { - _this8._ignoreBackdropClick = false; + if (!callback) { return; } - if (event.target !== event.currentTarget) { + if (!animate) { + callback(); return; } - if (_this8._config.backdrop === 'static') { - _this8._element.focus(); - } else { - _this8.hide(); - } - }); + var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); + } else if (!this._isShown && this._backdrop) { + $$$1(this._backdrop).removeClass(ClassName.SHOW); - if (animate) { - Util.reflow(this._backdrop); - } + var callbackRemove = function callbackRemove() { + _this8._removeBackdrop(); - $(this._backdrop).addClass(ClassName.SHOW); + if (callback) { + callback(); + } + }; - if (!callback) { - return; - } + if ($$$1(this._element).hasClass(ClassName.FADE)) { + var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); - if (!animate) { + $$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); + } else { + callbackRemove(); + } + } else if (callback) { callback(); - return; } + }; // ---------------------------------------------------------------------- + // the following methods are used to handle overflowing modals + // todo (fat): these should probably be refactored out of modal.js + // ---------------------------------------------------------------------- - var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); - $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); - } else if (!this._isShown && this._backdrop) { - $(this._backdrop).removeClass(ClassName.SHOW); - - var callbackRemove = function callbackRemove() { - _this8._removeBackdrop(); - if (callback) { - callback(); - } - }; + _proto._adjustDialog = function _adjustDialog() { + var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; - if ($(this._element).hasClass(ClassName.FADE)) { - var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); - - $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); - } else { - callbackRemove(); + if (!this._isBodyOverflowing && isModalOverflowing) { + this._element.style.paddingLeft = this._scrollbarWidth + "px"; } - } else if (callback) { - callback(); - } - }; // ---------------------------------------------------------------------- - // the following methods are used to handle overflowing modals - // todo (fat): these should probably be refactored out of modal.js - // ---------------------------------------------------------------------- - - - _proto._adjustDialog = function _adjustDialog() { - var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; - if (!this._isBodyOverflowing && isModalOverflowing) { - this._element.style.paddingLeft = this._scrollbarWidth + "px"; - } - - if (this._isBodyOverflowing && !isModalOverflowing) { - this._element.style.paddingRight = this._scrollbarWidth + "px"; - } - }; + if (this._isBodyOverflowing && !isModalOverflowing) { + this._element.style.paddingRight = this._scrollbarWidth + "px"; + } + }; - _proto._resetAdjustments = function _resetAdjustments() { - this._element.style.paddingLeft = ''; - this._element.style.paddingRight = ''; - }; + _proto._resetAdjustments = function _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + }; - _proto._checkScrollbar = function _checkScrollbar() { - var rect = document.body.getBoundingClientRect(); - this._isBodyOverflowing = rect.left + rect.right < window.innerWidth; - this._scrollbarWidth = this._getScrollbarWidth(); - }; + _proto._checkScrollbar = function _checkScrollbar() { + var rect = document.body.getBoundingClientRect(); + this._isBodyOverflowing = rect.left + rect.right < window.innerWidth; + this._scrollbarWidth = this._getScrollbarWidth(); + }; - _proto._setScrollbar = function _setScrollbar() { - var _this9 = this; + _proto._setScrollbar = function _setScrollbar() { + var _this9 = this; + + if (this._isBodyOverflowing) { + // Note: DOMNode.style.paddingRight returns the actual value or '' if not set + // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set + var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT)); + var stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT)); // Adjust fixed content padding + + $$$1(fixedContent).each(function (index, element) { + var actualPadding = element.style.paddingRight; + var calculatedPadding = $$$1(element).css('padding-right'); + $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px"); + }); // Adjust sticky content margin + + $$$1(stickyContent).each(function (index, element) { + var actualMargin = element.style.marginRight; + var calculatedMargin = $$$1(element).css('margin-right'); + $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px"); + }); // Adjust body padding + + var actualPadding = document.body.style.paddingRight; + var calculatedPadding = $$$1(document.body).css('padding-right'); + $$$1(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); + } + }; - if (this._isBodyOverflowing) { - // Note: DOMNode.style.paddingRight returns the actual value or '' if not set - // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set + _proto._resetScrollbar = function _resetScrollbar() { + // Restore fixed content padding 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 = $(element).css('padding-right'); - $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px"); - }); // Adjust sticky content margin - - $(stickyContent).each(function (index, element) { - var actualMargin = element.style.marginRight; - var calculatedMargin = $(element).css('margin-right'); - $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px"); - }); // Adjust body padding - - var actualPadding = document.body.style.paddingRight; - var calculatedPadding = $(document.body).css('padding-right'); - $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); - } - }; + $$$1(fixedContent).each(function (index, element) { + var padding = $$$1(element).data('padding-right'); + $$$1(element).removeData('padding-right'); + element.style.paddingRight = padding ? padding : ''; + }); // Restore sticky content + + var elements = [].slice.call(document.querySelectorAll("" + Selector.STICKY_CONTENT)); + $$$1(elements).each(function (index, element) { + var margin = $$$1(element).data('margin-right'); + + if (typeof margin !== 'undefined') { + $$$1(element).css('margin-right', margin).removeData('margin-right'); + } + }); // Restore body padding - _proto._resetScrollbar = function _resetScrollbar() { - // Restore fixed content padding - 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 - - var elements = [].slice.call(document.querySelectorAll("" + Selector.STICKY_CONTENT)); - $(elements).each(function (index, element) { - var margin = $(element).data('margin-right'); - - if (typeof margin !== 'undefined') { - $(element).css('margin-right', margin).removeData('margin-right'); - } - }); // Restore body padding + var padding = $$$1(document.body).data('padding-right'); + $$$1(document.body).removeData('padding-right'); + document.body.style.paddingRight = padding ? padding : ''; + }; - var padding = $(document.body).data('padding-right'); - $(document.body).removeData('padding-right'); - document.body.style.paddingRight = padding ? padding : ''; - }; + _proto._getScrollbarWidth = function _getScrollbarWidth() { + // thx d.walsh + var scrollDiv = document.createElement('div'); + scrollDiv.className = ClassName.SCROLLBAR_MEASURER; + document.body.appendChild(scrollDiv); + var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + return scrollbarWidth; + }; // Static - _proto._getScrollbarWidth = function _getScrollbarWidth() { - // thx d.walsh - var scrollDiv = document.createElement('div'); - scrollDiv.className = ClassName.SCROLLBAR_MEASURER; - document.body.appendChild(scrollDiv); - var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - return scrollbarWidth; - }; // Static + Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { + return this.each(function () { + var data = $$$1(this).data(DATA_KEY); - Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { - return this.each(function () { - var data = $(this).data(DATA_KEY); + var _config = _objectSpread({}, Default, $$$1(this).data(), typeof config === 'object' && config ? config : {}); - var _config = _objectSpread({}, Default, $(this).data(), typeof config === 'object' && config ? config : {}); + if (!data) { + data = new Modal(this, _config); + $$$1(this).data(DATA_KEY, data); + } - if (!data) { - data = new Modal(this, _config); - $(this).data(DATA_KEY, data); - } + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); + data[config](relatedTarget); + } else if (_config.show) { + data.show(relatedTarget); } + }); + }; - data[config](relatedTarget); - } else if (_config.show) { - data.show(relatedTarget); + _createClass(Modal, null, [{ + key: "VERSION", + get: function get() { + return VERSION; } - }); - }; - - _createClass(Modal, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }, { - key: "Default", - get: function get() { - return Default; - } - }]); - - return Modal; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ + }, { + key: "Default", + get: function get() { + return Default; + } + }]); + return Modal; + }(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ - $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { - var _this10 = this; - var target; - var selector = Util.getSelectorFromElement(this); + $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + var _this10 = this; - if (selector) { - target = document.querySelector(selector); - } + var target; + var selector = Util.getSelectorFromElement(this); - var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data()); + if (selector) { + target = document.querySelector(selector); + } - if (this.tagName === 'A' || this.tagName === 'AREA') { - event.preventDefault(); - } + var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $$$1(target).data(), $$$1(this).data()); - var $target = $(target).one(Event.SHOW, function (showEvent) { - if (showEvent.isDefaultPrevented()) { - // Only register focus restorer if modal will actually get shown - return; + if (this.tagName === 'A' || this.tagName === 'AREA') { + event.preventDefault(); } - $target.one(Event.HIDDEN, function () { - if ($(_this10).is(':visible')) { - _this10.focus(); + var $target = $$$1(target).one(Event.SHOW, function (showEvent) { + if (showEvent.isDefaultPrevented()) { + // Only register focus restorer if modal will actually get shown + return; } + + $target.one(Event.HIDDEN, function () { + if ($$$1(_this10).is(':visible')) { + _this10.focus(); + } + }); }); + + Modal._jQueryInterface.call($$$1(target), config, this); }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ - Modal._jQueryInterface.call($(target), config, this); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ + $$$1.fn[NAME] = Modal._jQueryInterface; + $$$1.fn[NAME].Constructor = Modal; - $.fn[NAME] = Modal._jQueryInterface; - $.fn[NAME].Constructor = Modal; + $$$1.fn[NAME].noConflict = function () { + $$$1.fn[NAME] = JQUERY_NO_CONFLICT; + return Modal._jQueryInterface; + }; - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return Modal._jQueryInterface; - }; + return Modal; + }($); return Modal; -}($); -//# sourceMappingURL=modal.js.map \ No newline at end of file + +}))); +//# sourceMappingURL=modal.js.map diff --git a/js/dist/modal.js.map b/js/dist/modal.js.map index 5d95096bde..8834f96bdd 100644 --- a/js/dist/modal.js.map +++ b/js/dist/modal.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/modal.js"],"names":["Modal","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ESCAPE_KEYCODE","Default","backdrop","keyboard","focus","show","DefaultType","Event","HIDE","HIDDEN","SHOW","SHOWN","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","CLICK_DATA_API","ClassName","SCROLLBAR_MEASURER","BACKDROP","OPEN","FADE","Selector","DIALOG","DATA_TOGGLE","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","element","config","_config","_getConfig","_element","_dialog","querySelector","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","toggle","relatedTarget","hide","_isTransitioning","hasClass","showEvent","trigger","isDefaultPrevented","_checkScrollbar","_setScrollbar","_adjustDialog","document","body","addClass","_setEscapeEvent","_setResizeEvent","on","event","one","target","is","_showBackdrop","_showElement","preventDefault","hideEvent","transition","off","removeClass","transitionDuration","Util","getTransitionDurationFromElement","TRANSITION_END","_hideModal","emulateTransitionEnd","dispose","removeData","window","handleUpdate","typeCheckConfig","parentNode","nodeType","Node","ELEMENT_NODE","appendChild","style","display","removeAttribute","scrollTop","reflow","_enforceFocus","shownEvent","transitionComplete","has","length","which","setAttribute","_resetAdjustments","_resetScrollbar","_removeBackdrop","remove","callback","animate","createElement","className","classList","add","appendTo","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","documentElement","clientHeight","paddingLeft","paddingRight","rect","getBoundingClientRect","left","right","innerWidth","_getScrollbarWidth","fixedContent","slice","call","querySelectorAll","stickyContent","each","index","actualPadding","calculatedPadding","css","data","parseFloat","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_jQueryInterface","TypeError","selector","getSelectorFromElement","tagName","$target","Constructor","noConflict"],"mappings":"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","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.1.2'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n"],"file":"modal.js"} \ No newline at end of file +{"version":3,"file":"modal.js","sources":["../src/modal.js"],"sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.1.2'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n"],"names":["Modal","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ESCAPE_KEYCODE","Default","backdrop","keyboard","focus","show","DefaultType","Event","HIDE","HIDDEN","SHOW","SHOWN","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","CLICK_DATA_API","ClassName","SCROLLBAR_MEASURER","BACKDROP","OPEN","FADE","Selector","DIALOG","DATA_TOGGLE","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","element","config","_config","_getConfig","_element","_dialog","querySelector","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","toggle","relatedTarget","hide","_isTransitioning","hasClass","showEvent","trigger","isDefaultPrevented","_checkScrollbar","_setScrollbar","_adjustDialog","document","body","addClass","_setEscapeEvent","_setResizeEvent","on","event","one","target","is","_showBackdrop","_showElement","preventDefault","hideEvent","transition","off","removeClass","transitionDuration","Util","getTransitionDurationFromElement","TRANSITION_END","_hideModal","emulateTransitionEnd","dispose","removeData","window","handleUpdate","typeCheckConfig","parentNode","nodeType","Node","ELEMENT_NODE","appendChild","style","display","removeAttribute","scrollTop","reflow","_enforceFocus","shownEvent","transitionComplete","has","length","which","setAttribute","_resetAdjustments","_resetScrollbar","_removeBackdrop","remove","callback","animate","createElement","className","classList","add","appendTo","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","documentElement","clientHeight","paddingLeft","paddingRight","rect","getBoundingClientRect","left","right","innerWidth","_getScrollbarWidth","fixedContent","slice","call","querySelectorAll","stickyContent","each","index","actualPadding","calculatedPadding","css","data","parseFloat","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_jQueryInterface","TypeError","selector","getSelectorFromElement","tagName","$target","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file diff --git a/js/dist/popover.js b/js/dist/popover.js index dc5557571e..ef112e24ee 100644 --- a/js/dist/popover.js +++ b/js/dist/popover.js @@ -1,206 +1,266 @@ -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } +(function (global, factory) { + 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.Popover = factory(global.jQuery,global.Tooltip)); +}(this, (function ($,Tooltip) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Tooltip = Tooltip && Tooltip.hasOwnProperty('default') ? Tooltip['default'] : Tooltip; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); -function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + return target; + } -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; + } -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.2): popover.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ -var Popover = function ($) { /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ + * -------------------------------------------------------------------------- + * Bootstrap (v4.1.2): popover.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- */ - var NAME = 'popover'; - var VERSION = '4.1.2'; - 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, { - placement: 'right', - trigger: 'click', - content: '', - template: '' - }); - - var DefaultType = _objectSpread({}, Tooltip.DefaultType, { - content: '(string|element|function)' - }); - - var ClassName = { - FADE: 'fade', - SHOW: 'show' - }; - var Selector = { - TITLE: '.popover-header', - CONTENT: '.popover-body' - }; - var Event = { - HIDE: "hide" + EVENT_KEY, - HIDDEN: "hidden" + EVENT_KEY, - SHOW: "show" + EVENT_KEY, - SHOWN: "shown" + EVENT_KEY, - INSERTED: "inserted" + EVENT_KEY, - CLICK: "click" + EVENT_KEY, - FOCUSIN: "focusin" + EVENT_KEY, - FOCUSOUT: "focusout" + EVENT_KEY, - MOUSEENTER: "mouseenter" + EVENT_KEY, - MOUSELEAVE: "mouseleave" + EVENT_KEY + + var Popover = function ($$$1) { /** * ------------------------------------------------------------------------ - * Class Definition + * Constants * ------------------------------------------------------------------------ */ + var NAME = 'popover'; + var VERSION = '4.1.2'; + var DATA_KEY = 'bs.popover'; + var EVENT_KEY = "." + DATA_KEY; + var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; + var CLASS_PREFIX = 'bs-popover'; + var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + + var Default = _objectSpread({}, Tooltip.Default, { + placement: 'right', + trigger: 'click', + content: '', + template: '' + }); + + var DefaultType = _objectSpread({}, Tooltip.DefaultType, { + content: '(string|element|function)' + }); + + var ClassName = { + FADE: 'fade', + SHOW: 'show' + }; + var Selector = { + TITLE: '.popover-header', + CONTENT: '.popover-body' + }; + var Event = { + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + INSERTED: "inserted" + EVENT_KEY, + CLICK: "click" + EVENT_KEY, + FOCUSIN: "focusin" + EVENT_KEY, + FOCUSOUT: "focusout" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ - }; - - var Popover = - /*#__PURE__*/ - function (_Tooltip) { - _inheritsLoose(Popover, _Tooltip); + }; - function Popover() { - return _Tooltip.apply(this, arguments) || this; - } + var Popover = + /*#__PURE__*/ + function (_Tooltip) { + _inheritsLoose(Popover, _Tooltip); - var _proto = Popover.prototype; + function Popover() { + return _Tooltip.apply(this, arguments) || this; + } - // Overrides - _proto.isWithContent = function isWithContent() { - return this.getTitle() || this._getContent(); - }; + var _proto = Popover.prototype; - _proto.addAttachmentClass = function addAttachmentClass(attachment) { - $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); - }; + // Overrides + _proto.isWithContent = function isWithContent() { + return this.getTitle() || this._getContent(); + }; - _proto.getTipElement = function getTipElement() { - this.tip = this.tip || $(this.config.template)[0]; - return this.tip; - }; + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); + }; - _proto.setContent = function setContent() { - var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $$$1(this.config.template)[0]; + return this.tip; + }; - this.setElementContent($tip.find(Selector.TITLE), this.getTitle()); + _proto.setContent = function setContent() { + var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events - var content = this._getContent(); + this.setElementContent($tip.find(Selector.TITLE), this.getTitle()); - if (typeof content === 'function') { - content = content.call(this.element); - } + var content = this._getContent(); - this.setElementContent($tip.find(Selector.CONTENT), content); - $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); - }; // Private + if (typeof content === 'function') { + content = content.call(this.element); + } + this.setElementContent($tip.find(Selector.CONTENT), content); + $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); + }; // Private - _proto._getContent = function _getContent() { - return this.element.getAttribute('data-content') || this.config.content; - }; - _proto._cleanTipClass = function _cleanTipClass() { - var $tip = $(this.getTipElement()); - var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + _proto._getContent = function _getContent() { + return this.element.getAttribute('data-content') || this.config.content; + }; - if (tabClass !== null && tabClass.length > 0) { - $tip.removeClass(tabClass.join('')); - } - }; // Static + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $$$1(this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + if (tabClass !== null && tabClass.length > 0) { + $tip.removeClass(tabClass.join('')); + } + }; // Static - Popover._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $(this).data(DATA_KEY); - var _config = typeof config === 'object' ? config : null; + Popover._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $$$1(this).data(DATA_KEY); - if (!data && /destroy|hide/.test(config)) { - return; - } + var _config = typeof config === 'object' ? config : null; - if (!data) { - data = new Popover(this, _config); - $(this).data(DATA_KEY, data); - } + if (!data && /destroy|hide/.test(config)) { + return; + } - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); + if (!data) { + data = new Popover(this, _config); + $$$1(this).data(DATA_KEY, data); } - data[config](); + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Popover, null, [{ + key: "VERSION", + // Getters + get: function get() { + return VERSION; } - }); - }; + }, { + key: "Default", + get: function get() { + return Default; + } + }, { + key: "NAME", + get: function get() { + return NAME; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY; + } + }, { + key: "Event", + get: function get() { + return Event; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType; + } + }]); - _createClass(Popover, null, [{ - key: "VERSION", - // Getters - get: function get() { - return VERSION; - } - }, { - key: "Default", - get: function get() { - return Default; - } - }, { - key: "NAME", - get: function get() { - return NAME; - } - }, { - key: "DATA_KEY", - get: function get() { - return DATA_KEY; - } - }, { - key: "Event", - get: function get() { - return Event; - } - }, { - key: "EVENT_KEY", - get: function get() { - return EVENT_KEY; - } - }, { - key: "DefaultType", - get: function get() { - return DefaultType; - } - }]); + return Popover; + }(Tooltip); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ - return Popover; - }(Tooltip); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ + $$$1.fn[NAME] = Popover._jQueryInterface; + $$$1.fn[NAME].Constructor = Popover; - $.fn[NAME] = Popover._jQueryInterface; - $.fn[NAME].Constructor = Popover; + $$$1.fn[NAME].noConflict = function () { + $$$1.fn[NAME] = JQUERY_NO_CONFLICT; + return Popover._jQueryInterface; + }; - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return Popover._jQueryInterface; - }; + return Popover; + }($); return Popover; -}($); -//# sourceMappingURL=popover.js.map \ No newline at end of file + +}))); +//# sourceMappingURL=popover.js.map diff --git a/js/dist/popover.js.map b/js/dist/popover.js.map index e297dc3603..67b98fca8a 100644 --- a/js/dist/popover.js.map +++ b/js/dist/popover.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/popover.js"],"names":["Popover","$","NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","Default","Tooltip","placement","trigger","content","template","DefaultType","ClassName","FADE","SHOW","Selector","TITLE","CONTENT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","isWithContent","getTitle","_getContent","addAttachmentClass","attachment","getTipElement","addClass","tip","config","setContent","$tip","setElementContent","find","call","element","removeClass","getAttribute","_cleanTipClass","tabClass","attr","match","length","join","_jQueryInterface","each","data","_config","test","TypeError","Constructor","noConflict"],"mappings":"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","sourcesContent":["import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.1.2'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '
' +\n '
' +\n '

' +\n '
'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n"],"file":"popover.js"} \ No newline at end of file +{"version":3,"file":"popover.js","sources":["../src/popover.js"],"sourcesContent":["import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.1.2'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '
' +\n '
' +\n '

' +\n '
'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n"],"names":["Popover","$","NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","Default","Tooltip","placement","trigger","content","template","DefaultType","ClassName","FADE","SHOW","Selector","TITLE","CONTENT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","isWithContent","getTitle","_getContent","addAttachmentClass","attachment","getTipElement","addClass","tip","config","setContent","$tip","setElementContent","find","call","element","removeClass","getAttribute","_cleanTipClass","tabClass","attr","match","length","join","_jQueryInterface","each","data","_config","test","TypeError","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file diff --git a/js/dist/scrollspy.js b/js/dist/scrollspy.js index 1a385d95ea..5be3560881 100644 --- a/js/dist/scrollspy.js +++ b/js/dist/scrollspy.js @@ -1,323 +1,379 @@ -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } +(function (global, factory) { + 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.ScrollSpy = factory(global.jQuery,global.Util)); +}(this, (function ($,Util) { 'use strict'; + + $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util; + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } + + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; + } + + function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + return target; + } -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.1.2): scrollspy.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ -var ScrollSpy = function ($) { /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ + * -------------------------------------------------------------------------- + * Bootstrap (v4.1.2): scrollspy.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- */ - var NAME = 'scrollspy'; - var VERSION = '4.1.2'; - var DATA_KEY = 'bs.scrollspy'; - var EVENT_KEY = "." + DATA_KEY; - var DATA_API_KEY = '.data-api'; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Default = { - offset: 10, - method: 'auto', - target: '' - }; - var DefaultType = { - offset: 'number', - method: 'string', - target: '(string|element)' - }; - var Event = { - ACTIVATE: "activate" + EVENT_KEY, - SCROLL: "scroll" + EVENT_KEY, - LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY - }; - var ClassName = { - DROPDOWN_ITEM: 'dropdown-item', - DROPDOWN_MENU: 'dropdown-menu', - ACTIVE: 'active' - }; - var Selector = { - DATA_SPY: '[data-spy="scroll"]', - ACTIVE: '.active', - NAV_LIST_GROUP: '.nav, .list-group', - NAV_LINKS: '.nav-link', - NAV_ITEMS: '.nav-item', - LIST_ITEMS: '.list-group-item', - DROPDOWN: '.dropdown', - DROPDOWN_ITEMS: '.dropdown-item', - DROPDOWN_TOGGLE: '.dropdown-toggle' - }; - var OffsetMethod = { - OFFSET: 'offset', - POSITION: 'position' + + var ScrollSpy = function ($$$1) { /** * ------------------------------------------------------------------------ - * Class Definition + * Constants * ------------------------------------------------------------------------ */ + var NAME = 'scrollspy'; + var VERSION = '4.1.2'; + var DATA_KEY = 'bs.scrollspy'; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; + var Default = { + offset: 10, + method: 'auto', + target: '' + }; + var DefaultType = { + offset: 'number', + method: 'string', + target: '(string|element)' + }; + var Event = { + ACTIVATE: "activate" + EVENT_KEY, + SCROLL: "scroll" + EVENT_KEY, + LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + DROPDOWN_ITEM: 'dropdown-item', + DROPDOWN_MENU: 'dropdown-menu', + ACTIVE: 'active' + }; + var Selector = { + DATA_SPY: '[data-spy="scroll"]', + ACTIVE: '.active', + NAV_LIST_GROUP: '.nav, .list-group', + NAV_LINKS: '.nav-link', + NAV_ITEMS: '.nav-item', + LIST_ITEMS: '.list-group-item', + DROPDOWN: '.dropdown', + DROPDOWN_ITEMS: '.dropdown-item', + DROPDOWN_TOGGLE: '.dropdown-toggle' + }; + var OffsetMethod = { + OFFSET: 'offset', + POSITION: 'position' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ - }; - - var ScrollSpy = - /*#__PURE__*/ - function () { - function ScrollSpy(element, config) { - var _this = this; - - this._element = element; - this._scrollElement = element.tagName === 'BODY' ? window : element; - this._config = this._getConfig(config); - this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS); - this._offsets = []; - this._targets = []; - this._activeTarget = null; - this._scrollHeight = 0; - $(this._scrollElement).on(Event.SCROLL, function (event) { - return _this._process(event); - }); - this.refresh(); + }; - this._process(); - } // Getters + var ScrollSpy = + /*#__PURE__*/ + function () { + function ScrollSpy(element, config) { + var _this = this; + + this._element = element; + this._scrollElement = element.tagName === 'BODY' ? window : element; + this._config = this._getConfig(config); + this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS); + this._offsets = []; + this._targets = []; + this._activeTarget = null; + this._scrollHeight = 0; + $$$1(this._scrollElement).on(Event.SCROLL, function (event) { + return _this._process(event); + }); + this.refresh(); + this._process(); + } // Getters - var _proto = ScrollSpy.prototype; - // Public - _proto.refresh = function refresh() { - var _this2 = this; + var _proto = ScrollSpy.prototype; - var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION; - var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; - var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0; - this._offsets = []; - this._targets = []; - this._scrollHeight = this._getScrollHeight(); - var targets = [].slice.call(document.querySelectorAll(this._selector)); - targets.map(function (element) { - var target; - var targetSelector = Util.getSelectorFromElement(element); + // Public + _proto.refresh = function refresh() { + var _this2 = this; - if (targetSelector) { - target = document.querySelector(targetSelector); - } + var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION; + var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; + var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0; + this._offsets = []; + this._targets = []; + this._scrollHeight = this._getScrollHeight(); + var targets = [].slice.call(document.querySelectorAll(this._selector)); + targets.map(function (element) { + var target; + var targetSelector = Util.getSelectorFromElement(element); + + if (targetSelector) { + target = document.querySelector(targetSelector); + } - if (target) { - var targetBCR = target.getBoundingClientRect(); + if (target) { + var targetBCR = target.getBoundingClientRect(); - if (targetBCR.width || targetBCR.height) { - // TODO (fat): remove sketch reliance on jQuery position/offset - return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; + if (targetBCR.width || targetBCR.height) { + // TODO (fat): remove sketch reliance on jQuery position/offset + return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector]; + } } - } - return null; - }).filter(function (item) { - return item; - }).sort(function (a, b) { - return a[0] - b[0]; - }).forEach(function (item) { - _this2._offsets.push(item[0]); + return null; + }).filter(function (item) { + return item; + }).sort(function (a, b) { + return a[0] - b[0]; + }).forEach(function (item) { + _this2._offsets.push(item[0]); + + _this2._targets.push(item[1]); + }); + }; + + _proto.dispose = function dispose() { + $$$1.removeData(this._element, DATA_KEY); + $$$1(this._scrollElement).off(EVENT_KEY); + this._element = null; + this._scrollElement = null; + this._config = null; + this._selector = null; + this._offsets = null; + this._targets = null; + this._activeTarget = null; + this._scrollHeight = null; + }; // Private - _this2._targets.push(item[1]); - }); - }; - _proto.dispose = function dispose() { - $.removeData(this._element, DATA_KEY); - $(this._scrollElement).off(EVENT_KEY); - this._element = null; - this._scrollElement = null; - this._config = null; - this._selector = null; - this._offsets = null; - this._targets = null; - this._activeTarget = null; - this._scrollHeight = null; - }; // Private - - - _proto._getConfig = function _getConfig(config) { - config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {}); - - if (typeof config.target !== 'string') { - var id = $(config.target).attr('id'); - - if (!id) { - id = Util.getUID(NAME); - $(config.target).attr('id', id); - } + _proto._getConfig = function _getConfig(config) { + config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {}); - config.target = "#" + id; - } + if (typeof config.target !== 'string') { + var id = $$$1(config.target).attr('id'); - Util.typeCheckConfig(NAME, config, DefaultType); - return config; - }; + if (!id) { + id = Util.getUID(NAME); + $$$1(config.target).attr('id', id); + } - _proto._getScrollTop = function _getScrollTop() { - return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; - }; + config.target = "#" + id; + } - _proto._getScrollHeight = function _getScrollHeight() { - return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); - }; + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; - _proto._getOffsetHeight = function _getOffsetHeight() { - return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; - }; + _proto._getScrollTop = function _getScrollTop() { + return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; + }; - _proto._process = function _process() { - var scrollTop = this._getScrollTop() + this._config.offset; + _proto._getScrollHeight = function _getScrollHeight() { + return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); + }; - var scrollHeight = this._getScrollHeight(); + _proto._getOffsetHeight = function _getOffsetHeight() { + return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; + }; - var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); + _proto._process = function _process() { + var scrollTop = this._getScrollTop() + this._config.offset; - if (this._scrollHeight !== scrollHeight) { - this.refresh(); - } + var scrollHeight = this._getScrollHeight(); - if (scrollTop >= maxScroll) { - var target = this._targets[this._targets.length - 1]; + var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); - if (this._activeTarget !== target) { - this._activate(target); + if (this._scrollHeight !== scrollHeight) { + this.refresh(); } - return; - } + if (scrollTop >= maxScroll) { + var target = this._targets[this._targets.length - 1]; - if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { - this._activeTarget = null; + if (this._activeTarget !== target) { + this._activate(target); + } - this._clear(); + return; + } - return; - } + if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { + this._activeTarget = null; + + this._clear(); - var offsetLength = this._offsets.length; + return; + } - for (var i = offsetLength; i--;) { - var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); + var offsetLength = this._offsets.length; - if (isActiveTarget) { - this._activate(this._targets[i]); + for (var i = offsetLength; i--;) { + var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); + + if (isActiveTarget) { + this._activate(this._targets[i]); + } } - } - }; + }; - _proto._activate = function _activate(target) { - this._activeTarget = target; + _proto._activate = function _activate(target) { + this._activeTarget = target; - this._clear(); + this._clear(); - var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style + var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style - queries = queries.map(function (selector) { - return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]"); - }); - var $link = $([].slice.call(document.querySelectorAll(queries.join(',')))); + queries = queries.map(function (selector) { + return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]"); + }); + var $link = $$$1([].slice.call(document.querySelectorAll(queries.join(',')))); - 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.addClass(ClassName.ACTIVE); // Set triggered links parents as active - // With both