Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/js/dist
diff options
context:
space:
mode:
authorMark Otto <markdotto@gmail.com>2017-09-06 07:05:12 +0300
committerMark Otto <markdotto@gmail.com>2017-09-06 07:05:12 +0300
commitdf47558ef680adf6e80b5e8402837125c41210c0 (patch)
treefb9cb52d3ed467f73c16140254b18e9733e640ab /js/dist
parentfbd1f52f896c599211c24c5c86d04fbbb3e88165 (diff)
dist
Diffstat (limited to 'js/dist')
-rw-r--r--js/dist/alert.js156
-rw-r--r--js/dist/alert.js.map2
-rw-r--r--js/dist/button.js110
-rw-r--r--js/dist/button.js.map2
-rw-r--r--js/dist/carousel.js585
-rw-r--r--js/dist/carousel.js.map2
-rw-r--r--js/dist/collapse.js346
-rw-r--r--js/dist/collapse.js.map2
-rw-r--r--js/dist/dropdown.js447
-rw-r--r--js/dist/dropdown.js.map2
-rw-r--r--js/dist/index.js22
-rw-r--r--js/dist/index.js.map1
-rw-r--r--js/dist/modal.js684
-rw-r--r--js/dist/modal.js.map2
-rw-r--r--js/dist/popover.js118
-rw-r--r--js/dist/popover.js.map2
-rw-r--r--js/dist/scrollspy.js301
-rw-r--r--js/dist/scrollspy.js.map2
-rw-r--r--js/dist/tab.js245
-rw-r--r--js/dist/tab.js.map2
-rw-r--r--js/dist/tooltip.js786
-rw-r--r--js/dist/tooltip.js.map2
-rw-r--r--js/dist/util.js12
-rw-r--r--js/dist/util.js.map2
24 files changed, 2030 insertions, 1805 deletions
diff --git a/js/dist/alert.js b/js/dist/alert.js
index 0d881dc411..4420d463be 100644
--- a/js/dist/alert.js
+++ b/js/dist/alert.js
@@ -1,3 +1,5 @@
+'use strict';
+
var _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -9,7 +11,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
* --------------------------------------------------------------------------
*/
-var Alert = function ($) {
+var Alert = function () {
/**
* ------------------------------------------------------------------------
@@ -56,98 +58,110 @@ var Alert = function ($) {
// getters
- // public
-
- Alert.prototype.close = function close(element) {
- element = element || this._element;
+ _createClass(Alert, [{
+ key: 'close',
- var rootElement = this._getRootElement(element);
- var customEvent = this._triggerCloseEvent(rootElement);
- if (customEvent.isDefaultPrevented()) {
- return;
- }
+ // public
- this._removeElement(rootElement);
- };
+ value: function close(element) {
+ element = element || this._element;
- Alert.prototype.dispose = function dispose() {
- $.removeData(this._element, DATA_KEY);
- this._element = null;
- };
+ var rootElement = this._getRootElement(element);
+ var customEvent = this._triggerCloseEvent(rootElement);
- // private
-
- Alert.prototype._getRootElement = function _getRootElement(element) {
- var selector = Util.getSelectorFromElement(element);
- var parent = false;
+ if (customEvent.isDefaultPrevented()) {
+ return;
+ }
- if (selector) {
- parent = $(selector)[0];
+ this._removeElement(rootElement);
}
-
- if (!parent) {
- parent = $(element).closest('.' + ClassName.ALERT)[0];
+ }, {
+ key: 'dispose',
+ value: function dispose() {
+ $.removeData(this._element, DATA_KEY);
+ this._element = null;
}
- return parent;
- };
-
- Alert.prototype._triggerCloseEvent = function _triggerCloseEvent(element) {
- var closeEvent = $.Event(Event.CLOSE);
+ // private
- $(element).trigger(closeEvent);
- return closeEvent;
- };
+ }, {
+ key: '_getRootElement',
+ value: function _getRootElement(element) {
+ var selector = Util.getSelectorFromElement(element);
+ var parent = false;
- Alert.prototype._removeElement = function _removeElement(element) {
- var _this = this;
+ if (selector) {
+ parent = $(selector)[0];
+ }
- $(element).removeClass(ClassName.SHOW);
+ if (!parent) {
+ parent = $(element).closest('.' + ClassName.ALERT)[0];
+ }
- if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
- this._destroyElement(element);
- return;
+ return parent;
}
+ }, {
+ key: '_triggerCloseEvent',
+ value: function _triggerCloseEvent(element) {
+ var closeEvent = $.Event(Event.CLOSE);
- $(element).one(Util.TRANSITION_END, function (event) {
- return _this._destroyElement(element, event);
- }).emulateTransitionEnd(TRANSITION_DURATION);
- };
-
- Alert.prototype._destroyElement = function _destroyElement(element) {
- $(element).detach().trigger(Event.CLOSED).remove();
- };
-
- // static
+ $(element).trigger(closeEvent);
+ return closeEvent;
+ }
+ }, {
+ key: '_removeElement',
+ value: function _removeElement(element) {
+ var _this = this;
- Alert._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var $element = $(this);
- var data = $element.data(DATA_KEY);
+ $(element).removeClass(ClassName.SHOW);
- if (!data) {
- data = new Alert(this);
- $element.data(DATA_KEY, data);
+ if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {
+ this._destroyElement(element);
+ return;
}
- if (config === 'close') {
- data[config](this);
- }
- });
- };
+ $(element).one(Util.TRANSITION_END, function (event) {
+ return _this._destroyElement(element, event);
+ }).emulateTransitionEnd(TRANSITION_DURATION);
+ }
+ }, {
+ key: '_destroyElement',
+ value: function _destroyElement(element) {
+ $(element).detach().trigger(Event.CLOSED).remove();
+ }
- Alert._handleDismiss = function _handleDismiss(alertInstance) {
- return function (event) {
- if (event) {
- event.preventDefault();
- }
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
- alertInstance.close(this);
- };
- };
+ if (!data) {
+ data = new Alert(this);
+ $element.data(DATA_KEY, data);
+ }
- _createClass(Alert, null, [{
+ if (config === 'close') {
+ data[config](this);
+ }
+ });
+ }
+ }, {
+ key: '_handleDismiss',
+ value: function _handleDismiss(alertInstance) {
+ return function (event) {
+ if (event) {
+ event.preventDefault();
+ }
+
+ alertInstance.close(this);
+ };
+ }
+ }, {
key: 'VERSION',
get: function get() {
return VERSION;
diff --git a/js/dist/alert.js.map b/js/dist/alert.js.map
index 64fbf2e001..107e588bd4 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","TRANSITION_DURATION","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","closest","closeEvent","trigger","removeClass","supportsTransitionEnd","hasClass","_destroyElement","one","TRANSITION_END","event","emulateTransitionEnd","detach","remove","_jQueryInterface","config","each","$element","data","_handleDismiss","alertInstance","preventDefault","document","on","Constructor","noConflict","jQuery"],"mappings":"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","file":"alert.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0-beta'\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 const TRANSITION_DURATION = 150\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 * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\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\n // private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\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 (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\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 /**\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 * ------------------------------------------------------------------------\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})(jQuery)\n\nexport default Alert\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/alert.js"],"names":["Alert","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","TRANSITION_DURATION","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","element","_element","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","removeData","selector","Util","getSelectorFromElement","parent","closest","closeEvent","trigger","removeClass","supportsTransitionEnd","hasClass","_destroyElement","one","TRANSITION_END","event","emulateTransitionEnd","detach","remove","config","each","$element","data","alertInstance","preventDefault","close","document","on","_handleDismiss","_jQueryInterface","Constructor","noConflict","jQuery"],"mappings":"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","file":"alert.js","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0-beta'\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 const TRANSITION_DURATION = 150\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 * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\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\n // private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\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 (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\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 /**\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 * ------------------------------------------------------------------------\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})(jQuery)\n\nexport default Alert\n"]} \ No newline at end of file
diff --git a/js/dist/button.js b/js/dist/button.js
index 69af9a8ada..21267816d6 100644
--- a/js/dist/button.js
+++ b/js/dist/button.js
@@ -1,3 +1,5 @@
+'use strict';
+
var _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -9,7 +11,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
* --------------------------------------------------------------------------
*/
-var Button = function ($) {
+var Button = function () {
/**
* ------------------------------------------------------------------------
@@ -58,74 +60,80 @@ var Button = function ($) {
// getters
- // public
+ _createClass(Button, [{
+ key: 'toggle',
+
+
+ // public
- Button.prototype.toggle = function toggle() {
- var triggerChangeEvent = true;
- var addAriaPressed = true;
- var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
+ value: function toggle() {
+ var triggerChangeEvent = true;
+ var addAriaPressed = true;
+ var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
- if (rootElement) {
- var input = $(this._element).find(Selector.INPUT)[0];
+ if (rootElement) {
+ var input = $(this._element).find(Selector.INPUT)[0];
- if (input) {
- if (input.type === 'radio') {
- if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {
- triggerChangeEvent = false;
- } else {
- var activeElement = $(rootElement).find(Selector.ACTIVE)[0];
+ if (input) {
+ if (input.type === 'radio') {
+ if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {
+ triggerChangeEvent = false;
+ } else {
+ var activeElement = $(rootElement).find(Selector.ACTIVE)[0];
- if (activeElement) {
- $(activeElement).removeClass(ClassName.ACTIVE);
+ if (activeElement) {
+ $(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).hasClass(ClassName.ACTIVE);
+ $(input).trigger('change');
}
- input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
- $(input).trigger('change');
+
+ input.focus();
+ addAriaPressed = false;
}
+ }
- input.focus();
- addAriaPressed = false;
+ if (addAriaPressed) {
+ this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
}
- }
- if (addAriaPressed) {
- this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
+ if (triggerChangeEvent) {
+ $(this._element).toggleClass(ClassName.ACTIVE);
+ }
}
-
- if (triggerChangeEvent) {
- $(this._element).toggleClass(ClassName.ACTIVE);
+ }, {
+ key: 'dispose',
+ value: function dispose() {
+ $.removeData(this._element, DATA_KEY);
+ this._element = null;
}
- };
-
- Button.prototype.dispose = function dispose() {
- $.removeData(this._element, DATA_KEY);
- this._element = null;
- };
- // static
+ // static
- Button._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $(this).data(DATA_KEY);
-
- if (!data) {
- data = new Button(this);
- $(this).data(DATA_KEY, data);
- }
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
- if (config === 'toggle') {
- data[config]();
- }
- });
- };
+ if (!data) {
+ data = new Button(this);
+ $(this).data(DATA_KEY, data);
+ }
- _createClass(Button, null, [{
+ if (config === 'toggle') {
+ data[config]();
+ }
+ });
+ }
+ }, {
key: 'VERSION',
get: function get() {
return VERSION;
diff --git a/js/dist/button.js.map b/js/dist/button.js.map
index f22489cfe8..46ee9bc4e2 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","find","type","checked","hasClass","activeElement","removeClass","hasAttribute","classList","contains","trigger","focus","setAttribute","toggleClass","dispose","removeData","_jQueryInterface","config","each","data","document","on","event","preventDefault","button","target","call","test","Constructor","noConflict","jQuery"],"mappings":"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","file":"button.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0-beta'\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 * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\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).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\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).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(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\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 /**\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 * ------------------------------------------------------------------------\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})(jQuery)\n\nexport default Button\n"]} \ No newline at end of file
+{"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","triggerChangeEvent","addAriaPressed","rootElement","closest","input","find","type","checked","hasClass","activeElement","removeClass","hasAttribute","classList","contains","trigger","focus","setAttribute","toggleClass","removeData","config","each","data","document","on","event","preventDefault","button","target","_jQueryInterface","call","test","Constructor","noConflict","jQuery"],"mappings":"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","file":"button.js","sourcesContent":["import $ from 'jquery'\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0-beta'\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 * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\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).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\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).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(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\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 /**\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 * ------------------------------------------------------------------------\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})(jQuery)\n\nexport default Button\n"]} \ No newline at end of file
diff --git a/js/dist/carousel.js b/js/dist/carousel.js
index 6001f024f6..d70d03d961 100644
--- a/js/dist/carousel.js
+++ b/js/dist/carousel.js
@@ -1,3 +1,5 @@
+'use strict';
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -11,7 +13,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
* --------------------------------------------------------------------------
*/
-var Carousel = function ($) {
+var Carousel = function () {
/**
* ------------------------------------------------------------------------
@@ -113,360 +115,381 @@ var Carousel = function ($) {
// getters
- // public
+ _createClass(Carousel, [{
+ key: 'next',
- Carousel.prototype.next = function next() {
- if (!this._isSliding) {
- this._slide(Direction.NEXT);
- }
- };
- Carousel.prototype.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();
- }
- };
+ // public
- Carousel.prototype.prev = function prev() {
- if (!this._isSliding) {
- this._slide(Direction.PREV);
+ value: function next() {
+ if (!this._isSliding) {
+ this._slide(Direction.NEXT);
+ }
}
- };
-
- Carousel.prototype.pause = function pause(event) {
- if (!event) {
- this._isPaused = true;
+ }, {
+ key: 'nextWhenVisible',
+ value: 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();
+ }
}
-
- if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
- Util.triggerTransitionEnd(this._element);
- this.cycle(true);
+ }, {
+ key: 'prev',
+ value: function prev() {
+ if (!this._isSliding) {
+ this._slide(Direction.PREV);
+ }
}
+ }, {
+ key: 'pause',
+ value: function pause(event) {
+ if (!event) {
+ this._isPaused = true;
+ }
- clearInterval(this._interval);
- this._interval = null;
- };
-
- Carousel.prototype.cycle = function cycle(event) {
- if (!event) {
- this._isPaused = false;
- }
+ if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
+ Util.triggerTransitionEnd(this._element);
+ this.cycle(true);
+ }
- if (this._interval) {
clearInterval(this._interval);
this._interval = null;
}
+ }, {
+ key: 'cycle',
+ value: function cycle(event) {
+ if (!event) {
+ this._isPaused = false;
+ }
- if (this._config.interval && !this._isPaused) {
- this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
- }
- };
-
- Carousel.prototype.to = function to(index) {
- var _this = this;
-
- this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
-
- var activeIndex = this._getItemIndex(this._activeElement);
-
- if (index > this._items.length - 1 || index < 0) {
- return;
- }
+ if (this._interval) {
+ clearInterval(this._interval);
+ this._interval = null;
+ }
- if (this._isSliding) {
- $(this._element).one(Event.SLID, function () {
- return _this.to(index);
- });
- return;
+ if (this._config.interval && !this._isPaused) {
+ this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
+ }
}
+ }, {
+ key: 'to',
+ value: function to(index) {
+ var _this = this;
- if (activeIndex === index) {
- this.pause();
- this.cycle();
- return;
- }
+ this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+ var activeIndex = this._getItemIndex(this._activeElement);
- this._slide(direction, this._items[index]);
- };
+ if (index > this._items.length - 1 || index < 0) {
+ return;
+ }
- Carousel.prototype.dispose = function dispose() {
- $(this._element).off(EVENT_KEY);
- $.removeData(this._element, DATA_KEY);
+ if (this._isSliding) {
+ $(this._element).one(Event.SLID, function () {
+ return _this.to(index);
+ });
+ return;
+ }
- this._items = null;
- this._config = null;
- this._element = null;
- this._interval = null;
- this._isPaused = null;
- this._isSliding = null;
- this._activeElement = null;
- this._indicatorsElement = null;
- };
+ if (activeIndex === index) {
+ this.pause();
+ this.cycle();
+ return;
+ }
- // private
+ var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
- Carousel.prototype._getConfig = function _getConfig(config) {
- config = $.extend({}, Default, config);
- Util.typeCheckConfig(NAME, config, DefaultType);
- return config;
- };
+ this._slide(direction, this._items[index]);
+ }
+ }, {
+ key: 'dispose',
+ value: 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;
+ }
- Carousel.prototype._addEventListeners = function _addEventListeners() {
- var _this2 = this;
+ // private
- if (this._config.keyboard) {
- $(this._element).on(Event.KEYDOWN, function (event) {
- return _this2._keydown(event);
- });
+ }, {
+ key: '_getConfig',
+ value: function _getConfig(config) {
+ config = $.extend({}, Default, config);
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
}
+ }, {
+ key: '_addEventListeners',
+ value: function _addEventListeners() {
+ var _this2 = this;
- 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);
- }
- _this2.touchTimeout = setTimeout(function (event) {
- return _this2.cycle(event);
- }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
+ if (this._config.keyboard) {
+ $(this._element).on(Event.KEYDOWN, function (event) {
+ return _this2._keydown(event);
});
}
- }
- };
- Carousel.prototype._keydown = function _keydown(event) {
- if (/input|textarea/i.test(event.target.tagName)) {
- return;
+ 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);
+ }
+ _this2.touchTimeout = setTimeout(function (event) {
+ return _this2.cycle(event);
+ }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
+ });
+ }
+ }
}
-
- switch (event.which) {
- case ARROW_LEFT_KEYCODE:
- event.preventDefault();
- this.prev();
- break;
- case ARROW_RIGHT_KEYCODE:
- event.preventDefault();
- this.next();
- break;
- default:
+ }, {
+ key: '_keydown',
+ value: function _keydown(event) {
+ if (/input|textarea/i.test(event.target.tagName)) {
return;
+ }
+
+ switch (event.which) {
+ case ARROW_LEFT_KEYCODE:
+ event.preventDefault();
+ this.prev();
+ break;
+ case ARROW_RIGHT_KEYCODE:
+ event.preventDefault();
+ this.next();
+ break;
+ default:
+ return;
+ }
}
- };
-
- Carousel.prototype._getItemIndex = function _getItemIndex(element) {
- this._items = $.makeArray($(element).parent().find(Selector.ITEM));
- return this._items.indexOf(element);
- };
-
- Carousel.prototype._getItemByDirection = function _getItemByDirection(direction, activeElement) {
- var isNextDirection = direction === Direction.NEXT;
- var isPrevDirection = direction === Direction.PREV;
- var activeIndex = this._getItemIndex(activeElement);
- var lastItemIndex = this._items.length - 1;
- var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
-
- if (isGoingToWrap && !this._config.wrap) {
- return activeElement;
+ }, {
+ key: '_getItemIndex',
+ value: function _getItemIndex(element) {
+ this._items = $.makeArray($(element).parent().find(Selector.ITEM));
+ return this._items.indexOf(element);
}
+ }, {
+ key: '_getItemByDirection',
+ value: function _getItemByDirection(direction, activeElement) {
+ var isNextDirection = direction === Direction.NEXT;
+ var isPrevDirection = direction === Direction.PREV;
+ var activeIndex = this._getItemIndex(activeElement);
+ var lastItemIndex = this._items.length - 1;
+ var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
+
+ if (isGoingToWrap && !this._config.wrap) {
+ return 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];
- };
-
- Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
- var targetIndex = this._getItemIndex(relatedTarget);
- var fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0]);
- var slideEvent = $.Event(Event.SLIDE, {
- relatedTarget: relatedTarget,
- direction: eventDirectionName,
- from: fromIndex,
- to: targetIndex
- });
+ var delta = direction === Direction.PREV ? -1 : 1;
+ var itemIndex = (activeIndex + delta) % this._items.length;
- $(this._element).trigger(slideEvent);
+ return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
+ }
+ }, {
+ key: '_triggerSlideEvent',
+ value: function _triggerSlideEvent(relatedTarget, eventDirectionName) {
+ var targetIndex = this._getItemIndex(relatedTarget);
+ var fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0]);
+ var slideEvent = $.Event(Event.SLIDE, {
+ relatedTarget: relatedTarget,
+ direction: eventDirectionName,
+ from: fromIndex,
+ to: targetIndex
+ });
- return slideEvent;
- };
+ $(this._element).trigger(slideEvent);
- Carousel.prototype._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
- if (this._indicatorsElement) {
- $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+ return slideEvent;
+ }
+ }, {
+ key: '_setActiveIndicatorElement',
+ value: function _setActiveIndicatorElement(element) {
+ if (this._indicatorsElement) {
+ $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
- var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
+ var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
- if (nextIndicator) {
- $(nextIndicator).addClass(ClassName.ACTIVE);
+ if (nextIndicator) {
+ $(nextIndicator).addClass(ClassName.ACTIVE);
+ }
}
}
- };
-
- Carousel.prototype._slide = function _slide(direction, element) {
- var _this3 = this;
-
- var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
- var activeElementIndex = this._getItemIndex(activeElement);
- var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
- var nextElementIndex = this._getItemIndex(nextElement);
- var isCycling = Boolean(this._interval);
-
- var directionalClassName = void 0;
- var orderClassName = void 0;
- var eventDirectionName = void 0;
-
- if (direction === Direction.NEXT) {
- directionalClassName = ClassName.LEFT;
- orderClassName = ClassName.NEXT;
- eventDirectionName = Direction.LEFT;
- } else {
- directionalClassName = ClassName.RIGHT;
- orderClassName = ClassName.PREV;
- eventDirectionName = Direction.RIGHT;
- }
+ }, {
+ key: '_slide',
+ value: function _slide(direction, element) {
+ var _this3 = this;
+
+ var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
+ var activeElementIndex = this._getItemIndex(activeElement);
+ var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
+ var nextElementIndex = this._getItemIndex(nextElement);
+ var isCycling = Boolean(this._interval);
+
+ var directionalClassName = void 0;
+ var orderClassName = void 0;
+ var eventDirectionName = void 0;
+
+ 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 && $(nextElement).hasClass(ClassName.ACTIVE)) {
+ this._isSliding = false;
+ return;
+ }
- var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
- if (slideEvent.isDefaultPrevented()) {
- return;
- }
+ var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
+ 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 = $.Event(Event.SLID, {
+ relatedTarget: nextElement,
+ direction: eventDirectionName,
+ from: activeElementIndex,
+ to: nextElementIndex
+ });
- if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
+ if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
- $(nextElement).addClass(orderClassName);
+ $(nextElement).addClass(orderClassName);
- Util.reflow(nextElement);
+ Util.reflow(nextElement);
- $(activeElement).addClass(directionalClassName);
- $(nextElement).addClass(directionalClassName);
+ $(activeElement).addClass(directionalClassName);
+ $(nextElement).addClass(directionalClassName);
- $(activeElement).one(Util.TRANSITION_END, function () {
- $(nextElement).removeClass(directionalClassName + ' ' + orderClassName).addClass(ClassName.ACTIVE);
+ $(activeElement).one(Util.TRANSITION_END, function () {
+ $(nextElement).removeClass(directionalClassName + ' ' + orderClassName).addClass(ClassName.ACTIVE);
- $(activeElement).removeClass(ClassName.ACTIVE + ' ' + orderClassName + ' ' + directionalClassName);
+ $(activeElement).removeClass(ClassName.ACTIVE + ' ' + orderClassName + ' ' + directionalClassName);
- _this3._isSliding = false;
+ _this3._isSliding = false;
- setTimeout(function () {
- return $(_this3._element).trigger(slidEvent);
- }, 0);
- }).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- $(activeElement).removeClass(ClassName.ACTIVE);
- $(nextElement).addClass(ClassName.ACTIVE);
+ setTimeout(function () {
+ return $(_this3._element).trigger(slidEvent);
+ }, 0);
+ }).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ $(activeElement).removeClass(ClassName.ACTIVE);
+ $(nextElement).addClass(ClassName.ACTIVE);
- this._isSliding = false;
- $(this._element).trigger(slidEvent);
- }
+ this._isSliding = false;
+ $(this._element).trigger(slidEvent);
+ }
- if (isCycling) {
- this.cycle();
+ if (isCycling) {
+ this.cycle();
+ }
}
- };
-
- // static
- Carousel._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $(this).data(DATA_KEY);
- var _config = $.extend({}, Default, $(this).data());
+ // static
- if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object') {
- $.extend(_config, config);
- }
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = $.extend({}, Default, $(this).data());
- var action = typeof config === 'string' ? config : _config.slide;
+ if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object') {
+ $.extend(_config, config);
+ }
- if (!data) {
- data = new Carousel(this, _config);
- $(this).data(DATA_KEY, data);
- }
+ var action = typeof config === 'string' ? config : _config.slide;
- if (typeof config === 'number') {
- data.to(config);
- } else if (typeof action === 'string') {
- if (data[action] === undefined) {
- throw new Error('No method named "' + action + '"');
+ if (!data) {
+ data = new Carousel(this, _config);
+ $(this).data(DATA_KEY, data);
}
- data[action]();
- } else if (_config.interval) {
- data.pause();
- data.cycle();
- }
- });
- };
- Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
- var selector = Util.getSelectorFromElement(this);
-
- if (!selector) {
- return;
+ if (typeof config === 'number') {
+ data.to(config);
+ } else if (typeof action === 'string') {
+ if (typeof data[action] === 'undefined') {
+ throw new Error('No method named "' + action + '"');
+ }
+ data[action]();
+ } else if (_config.interval) {
+ data.pause();
+ data.cycle();
+ }
+ });
}
+ }, {
+ key: '_dataApiClickHandler',
+ value: function _dataApiClickHandler(event) {
+ var selector = Util.getSelectorFromElement(this);
- var target = $(selector)[0];
+ if (!selector) {
+ return;
+ }
- if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
- return;
- }
+ var target = $(selector)[0];
- var config = $.extend({}, $(target).data(), $(this).data());
- var slideIndex = this.getAttribute('data-slide-to');
+ if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {
+ return;
+ }
- if (slideIndex) {
- config.interval = false;
- }
+ var config = $.extend({}, $(target).data(), $(this).data());
+ var slideIndex = this.getAttribute('data-slide-to');
- Carousel._jQueryInterface.call($(target), config);
+ if (slideIndex) {
+ config.interval = false;
+ }
- if (slideIndex) {
- $(target).data(DATA_KEY).to(slideIndex);
- }
+ Carousel._jQueryInterface.call($(target), config);
- event.preventDefault();
- };
+ if (slideIndex) {
+ $(target).data(DATA_KEY).to(slideIndex);
+ }
- _createClass(Carousel, null, [{
+ event.preventDefault();
+ }
+ }, {
key: 'VERSION',
get: function get() {
return VERSION;
diff --git a/js/dist/carousel.js.map b/js/dist/carousel.js.map
index f1503da6f1..239546f741 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","TRANSITION_DURATION","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","find","_addEventListeners","next","_slide","nextWhenVisible","document","hidden","is","css","prev","event","Util","supportsTransitionEnd","triggerTransitionEnd","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","one","direction","dispose","off","removeData","extend","typeCheckConfig","on","_keydown","documentElement","clearTimeout","setTimeout","test","target","tagName","which","preventDefault","makeArray","parent","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","trigger","_setActiveIndicatorElement","removeClass","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","Boolean","directionalClassName","orderClassName","hasClass","isDefaultPrevented","slidEvent","reflow","TRANSITION_END","emulateTransitionEnd","_jQueryInterface","each","data","action","undefined","Error","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","getAttribute","call","window","$carousel","Constructor","noConflict","jQuery"],"mappings":"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","file":"carousel.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0-beta'\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 TRANSITION_DURATION = 600\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 * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n\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).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\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\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).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\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).find(Selector.ACTIVE_ITEM)[0]\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\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\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 return\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\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\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\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 $(this._indicatorsElement)\n .find(Selector.ACTIVE)\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).find(Selector.ACTIVE_ITEM)[0]\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 (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\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 })\n .emulateTransitionEnd(TRANSITION_DURATION)\n\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\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (typeof config === 'object') {\n $.extend(_config, config)\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 (data[action] === undefined) {\n throw new Error(`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 = $.extend({}, $(target).data(), $(this).data())\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 /**\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 $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\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})(jQuery)\n\nexport default Carousel\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/carousel.js"],"names":["Carousel","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","TRANSITION_DURATION","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","find","_addEventListeners","_slide","document","hidden","is","css","next","event","Util","supportsTransitionEnd","triggerTransitionEnd","cycle","clearInterval","setInterval","visibilityState","nextWhenVisible","bind","index","activeIndex","_getItemIndex","length","one","to","direction","off","removeData","extend","typeCheckConfig","on","_keydown","documentElement","clearTimeout","setTimeout","test","target","tagName","which","preventDefault","prev","makeArray","parent","indexOf","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","trigger","removeClass","nextIndicator","children","addClass","activeElementIndex","nextElement","_getItemByDirection","nextElementIndex","isCycling","Boolean","directionalClassName","orderClassName","hasClass","_triggerSlideEvent","isDefaultPrevented","_setActiveIndicatorElement","slidEvent","reflow","TRANSITION_END","emulateTransitionEnd","each","data","action","Error","selector","getSelectorFromElement","slideIndex","getAttribute","_jQueryInterface","call","_dataApiClickHandler","window","$carousel","Constructor","noConflict","jQuery"],"mappings":"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","file":"carousel.js","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0-beta'\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 TRANSITION_DURATION = 600\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 * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n\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).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\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\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).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\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).find(Selector.ACTIVE_ITEM)[0]\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\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\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 return\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\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\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\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 $(this._indicatorsElement)\n .find(Selector.ACTIVE)\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).find(Selector.ACTIVE_ITEM)[0]\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 (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\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 })\n .emulateTransitionEnd(TRANSITION_DURATION)\n\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\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (typeof config === 'object') {\n $.extend(_config, config)\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 Error(`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 = $.extend({}, $(target).data(), $(this).data())\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 /**\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 $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\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})(jQuery)\n\nexport default Carousel\n"]} \ No newline at end of file
diff --git a/js/dist/collapse.js b/js/dist/collapse.js
index 50320dbdb0..532e46f46b 100644
--- a/js/dist/collapse.js
+++ b/js/dist/collapse.js
@@ -1,3 +1,5 @@
+'use strict';
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -11,7 +13,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
* --------------------------------------------------------------------------
*/
-var Collapse = function ($) {
+var Collapse = function () {
/**
* ------------------------------------------------------------------------
@@ -98,222 +100,237 @@ var Collapse = function ($) {
// getters
- // public
-
- Collapse.prototype.toggle = function toggle() {
- if ($(this._element).hasClass(ClassName.SHOW)) {
- this.hide();
- } else {
- this.show();
- }
- };
+ _createClass(Collapse, [{
+ key: 'toggle',
- Collapse.prototype.show = function show() {
- var _this = this;
-
- if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) {
- return;
- }
- var actives = void 0;
- var activesData = void 0;
+ // public
- if (this._parent) {
- actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES));
- if (!actives.length) {
- actives = null;
+ value: function toggle() {
+ if ($(this._element).hasClass(ClassName.SHOW)) {
+ this.hide();
+ } else {
+ this.show();
}
}
+ }, {
+ key: 'show',
+ value: function show() {
+ var _this = this;
- if (actives) {
- activesData = $(actives).data(DATA_KEY);
- if (activesData && activesData._isTransitioning) {
+ if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) {
return;
}
- }
- var startEvent = $.Event(Event.SHOW);
- $(this._element).trigger(startEvent);
- if (startEvent.isDefaultPrevented()) {
- return;
- }
+ var actives = void 0;
+ var activesData = void 0;
- if (actives) {
- Collapse._jQueryInterface.call($(actives), 'hide');
- if (!activesData) {
- $(actives).data(DATA_KEY, null);
+ if (this._parent) {
+ actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES));
+ if (!actives.length) {
+ actives = null;
+ }
}
- }
- var dimension = this._getDimension();
+ if (actives) {
+ activesData = $(actives).data(DATA_KEY);
+ if (activesData && activesData._isTransitioning) {
+ return;
+ }
+ }
- $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
+ var startEvent = $.Event(Event.SHOW);
+ $(this._element).trigger(startEvent);
+ if (startEvent.isDefaultPrevented()) {
+ return;
+ }
- this._element.style[dimension] = 0;
+ if (actives) {
+ Collapse._jQueryInterface.call($(actives), 'hide');
+ if (!activesData) {
+ $(actives).data(DATA_KEY, null);
+ }
+ }
- if (this._triggerArray.length) {
- $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
- }
+ var dimension = this._getDimension();
- this.setTransitioning(true);
+ $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
- var complete = function complete() {
- $(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
+ this._element.style[dimension] = 0;
- _this._element.style[dimension] = '';
+ if (this._triggerArray.length) {
+ $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
+ }
- _this.setTransitioning(false);
+ this.setTransitioning(true);
- $(_this._element).trigger(Event.SHOWN);
- };
+ var complete = function complete() {
+ $(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
- if (!Util.supportsTransitionEnd()) {
- complete();
- return;
- }
+ _this._element.style[dimension] = '';
- var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
- var scrollSize = 'scroll' + capitalizedDimension;
+ _this.setTransitioning(false);
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ $(_this._element).trigger(Event.SHOWN);
+ };
- this._element.style[dimension] = this._element[scrollSize] + 'px';
- };
+ if (!Util.supportsTransitionEnd()) {
+ complete();
+ return;
+ }
- Collapse.prototype.hide = function hide() {
- var _this2 = this;
+ var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
+ var scrollSize = 'scroll' + capitalizedDimension;
- if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) {
- return;
- }
+ $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
- var startEvent = $.Event(Event.HIDE);
- $(this._element).trigger(startEvent);
- if (startEvent.isDefaultPrevented()) {
- return;
+ this._element.style[dimension] = this._element[scrollSize] + 'px';
}
+ }, {
+ key: 'hide',
+ value: function hide() {
+ var _this2 = this;
- 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);
+ if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) {
+ return;
+ }
- if (this._triggerArray.length) {
- for (var i = 0; i < this._triggerArray.length; i++) {
- var trigger = this._triggerArray[i];
- var selector = Util.getSelectorFromElement(trigger);
- if (selector !== null) {
- var $elem = $(selector);
- if (!$elem.hasClass(ClassName.SHOW)) {
- $(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
- }
- }
+ var startEvent = $.Event(Event.HIDE);
+ $(this._element).trigger(startEvent);
+ if (startEvent.isDefaultPrevented()) {
+ return;
}
- }
- this.setTransitioning(true);
+ var dimension = this._getDimension();
- var complete = function complete() {
- _this2.setTransitioning(false);
- $(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
- };
+ this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + 'px';
- this._element.style[dimension] = '';
+ Util.reflow(this._element);
- if (!Util.supportsTransitionEnd()) {
- complete();
- return;
- }
+ $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
- };
-
- Collapse.prototype.setTransitioning = function setTransitioning(isTransitioning) {
- this._isTransitioning = isTransitioning;
- };
+ if (this._triggerArray.length) {
+ for (var i = 0; i < this._triggerArray.length; i++) {
+ var trigger = this._triggerArray[i];
+ var selector = Util.getSelectorFromElement(trigger);
+ if (selector !== null) {
+ var $elem = $(selector);
+ if (!$elem.hasClass(ClassName.SHOW)) {
+ $(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
+ }
+ }
+ }
+ }
- Collapse.prototype.dispose = function dispose() {
- $.removeData(this._element, DATA_KEY);
+ this.setTransitioning(true);
- this._config = null;
- this._parent = null;
- this._element = null;
- this._triggerArray = null;
- this._isTransitioning = null;
- };
+ var complete = function complete() {
+ _this2.setTransitioning(false);
+ $(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
+ };
- // private
+ this._element.style[dimension] = '';
- Collapse.prototype._getConfig = function _getConfig(config) {
- config = $.extend({}, Default, config);
- config.toggle = Boolean(config.toggle); // coerce string values
- Util.typeCheckConfig(NAME, config, DefaultType);
- return config;
- };
+ if (!Util.supportsTransitionEnd()) {
+ complete();
+ return;
+ }
- Collapse.prototype._getDimension = function _getDimension() {
- var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
- };
+ $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ }
+ }, {
+ key: 'setTransitioning',
+ value: function setTransitioning(isTransitioning) {
+ this._isTransitioning = isTransitioning;
+ }
+ }, {
+ key: 'dispose',
+ value: function dispose() {
+ $.removeData(this._element, DATA_KEY);
+
+ this._config = null;
+ this._parent = null;
+ this._element = null;
+ this._triggerArray = null;
+ this._isTransitioning = null;
+ }
- Collapse.prototype._getParent = function _getParent() {
- var _this3 = this;
+ // private
- var parent = $(this._config.parent)[0];
- var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
+ }, {
+ key: '_getConfig',
+ value: function _getConfig(config) {
+ config = $.extend({}, Default, config);
+ config.toggle = Boolean(config.toggle); // coerce string values
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ }
+ }, {
+ key: '_getDimension',
+ value: function _getDimension() {
+ var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
+ return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+ }
+ }, {
+ key: '_getParent',
+ value: function _getParent() {
+ var _this3 = this;
- $(parent).find(selector).each(function (i, element) {
- _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
- });
+ var parent = $(this._config.parent)[0];
+ var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]';
- return parent;
- };
+ $(parent).find(selector).each(function (i, element) {
+ _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
+ });
- Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
- if (element) {
- var isOpen = $(element).hasClass(ClassName.SHOW);
+ return parent;
+ }
+ }, {
+ key: '_addAriaAndCollapsedClass',
+ value: function _addAriaAndCollapsedClass(element, triggerArray) {
+ if (element) {
+ var isOpen = $(element).hasClass(ClassName.SHOW);
- if (triggerArray.length) {
- $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+ if (triggerArray.length) {
+ $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+ }
}
}
- };
-
- // static
- Collapse._getTargetFromElement = function _getTargetFromElement(element) {
- var selector = Util.getSelectorFromElement(element);
- return selector ? $(selector)[0] : null;
- };
+ // static
- Collapse._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var $this = $(this);
- var data = $this.data(DATA_KEY);
- var _config = $.extend({}, Default, $this.data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
-
- if (!data && _config.toggle && /show|hide/.test(config)) {
- _config.toggle = false;
- }
-
- if (!data) {
- data = new Collapse(this, _config);
- $this.data(DATA_KEY, data);
- }
+ }], [{
+ key: '_getTargetFromElement',
+ value: function _getTargetFromElement(element) {
+ var selector = Util.getSelectorFromElement(element);
+ return selector ? $(selector)[0] : null;
+ }
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $this = $(this);
+ var data = $this.data(DATA_KEY);
+ var _config = $.extend({}, Default, $this.data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
+
+ if (!data && _config.toggle && /show|hide/.test(config)) {
+ _config.toggle = false;
+ }
- if (typeof config === 'string') {
- if (data[config] === undefined) {
- throw new Error('No method named "' + config + '"');
+ if (!data) {
+ data = new Collapse(this, _config);
+ $this.data(DATA_KEY, data);
}
- data[config]();
- }
- });
- };
- _createClass(Collapse, null, [{
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ }
+ }, {
key: 'VERSION',
get: function get() {
return VERSION;
@@ -335,7 +352,8 @@ var Collapse = function ($) {
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- if (!/input|textarea/i.test(event.target.tagName)) {
+ // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
+ if (event.target.tagName === 'A' && !$.contains(this, event.target)) {
event.preventDefault();
}
diff --git a/js/dist/collapse.js.map b/js/dist/collapse.js.map
index 0bd5517be1..c4ec464d98 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","TRANSITION_DURATION","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","id","tabToggles","i","length","elem","selector","Util","getSelectorFromElement","filter","push","_parent","_getParent","_addAriaAndCollapsedClass","hasClass","hide","show","actives","activesData","children","data","startEvent","trigger","isDefaultPrevented","_jQueryInterface","call","dimension","_getDimension","removeClass","addClass","style","attr","setTransitioning","complete","supportsTransitionEnd","capitalizedDimension","toUpperCase","slice","scrollSize","one","TRANSITION_END","emulateTransitionEnd","getBoundingClientRect","reflow","$elem","isTransitioning","dispose","removeData","extend","Boolean","typeCheckConfig","hasWidth","find","each","_getTargetFromElement","triggerArray","isOpen","toggleClass","$this","test","undefined","Error","document","on","event","target","tagName","preventDefault","$trigger","$target","Constructor","noConflict","jQuery"],"mappings":";;;;;;AAGA;;;;;;;AAOA,IAAMA,WAAY,UAACC,CAAD,EAAO;;AAGvB;;;;;;AAMA,MAAMC,OAAsB,UAA5B;AACA,MAAMC,UAAsB,YAA5B;AACA,MAAMC,WAAsB,aAA5B;AACA,MAAMC,kBAA0BD,QAAhC;AACA,MAAME,eAAsB,WAA5B;AACA,MAAMC,qBAAsBN,EAAEO,EAAF,CAAKN,IAAL,CAA5B;AACA,MAAMO,sBAAsB,GAA5B;;AAEA,MAAMC,UAAU;AACdC,YAAS,IADK;AAEdC,YAAS;AAFK,GAAhB;;AAKA,MAAMC,cAAc;AAClBF,YAAS,SADS;AAElBC,YAAS;AAFS,GAApB;;AAKA,MAAME,QAAQ;AACZC,mBAAwBV,SADZ;AAEZW,qBAAyBX,SAFb;AAGZY,mBAAwBZ,SAHZ;AAIZa,uBAA0Bb,SAJd;AAKZc,8BAAyBd,SAAzB,GAAqCC;AALzB,GAAd;;AAQA,MAAMc,YAAY;AAChBL,UAAa,MADG;AAEhBM,cAAa,UAFG;AAGhBC,gBAAa,YAHG;AAIhBC,eAAa;AAJG,GAAlB;;AAOA,MAAMC,YAAY;AAChBC,WAAS,OADO;AAEhBC,YAAS;AAFO,GAAlB;;AAKA,MAAMC,WAAW;AACfC,aAAc,oBADC;AAEfC,iBAAc;;AAIhB;;;;;;AANiB,GAAjB;AA/CuB,MA2DjB7B,QA3DiB;AA6DrB,sBAAY8B,OAAZ,EAAqBC,MAArB,EAA6B;AAAA;;AAC3B,WAAKC,gBAAL,GAAwB,KAAxB;AACA,WAAKC,QAAL,GAAwBH,OAAxB;AACA,WAAKI,OAAL,GAAwB,KAAKC,UAAL,CAAgBJ,MAAhB,CAAxB;AACA,WAAKK,aAAL,GAAwBnC,EAAEoC,SAAF,CAAYpC,EAClC,qCAAmC6B,QAAQQ,EAA3C,wDAC0CR,QAAQQ,EADlD,QADkC,CAAZ,CAAxB;AAIA,UAAMC,aAAatC,EAAE0B,SAASE,WAAX,CAAnB;AACA,WAAK,IAAIW,IAAI,CAAb,EAAgBA,IAAID,WAAWE,MAA/B,EAAuCD,GAAvC,EAA4C;AAC1C,YAAME,OAAOH,WAAWC,CAAX,CAAb;AACA,YAAMG,WAAWC,KAAKC,sBAAL,CAA4BH,IAA5B,CAAjB;AACA,YAAIC,aAAa,IAAb,IAAqB1C,EAAE0C,QAAF,EAAYG,MAAZ,CAAmBhB,OAAnB,EAA4BW,MAA5B,GAAqC,CAA9D,EAAiE;AAC/D,eAAKL,aAAL,CAAmBW,IAAnB,CAAwBL,IAAxB;AACD;AACF;;AAED,WAAKM,OAAL,GAAe,KAAKd,OAAL,CAAatB,MAAb,GAAsB,KAAKqC,UAAL,EAAtB,GAA0C,IAAzD;;AAEA,UAAI,CAAC,KAAKf,OAAL,CAAatB,MAAlB,EAA0B;AACxB,aAAKsC,yBAAL,CAA+B,KAAKjB,QAApC,EAA8C,KAAKG,aAAnD;AACD;;AAED,UAAI,KAAKF,OAAL,CAAavB,MAAjB,EAAyB;AACvB,aAAKA,MAAL;AACD;AACF;;AAGD;;AAWA;;AArGqB,uBAuGrBA,MAvGqB,qBAuGZ;AACP,UAAIV,EAAE,KAAKgC,QAAP,EAAiBkB,QAAjB,CAA0B/B,UAAUL,IAApC,CAAJ,EAA+C;AAC7C,aAAKqC,IAAL;AACD,OAFD,MAEO;AACL,aAAKC,IAAL;AACD;AACF,KA7GoB;;AAAA,uBA+GrBA,IA/GqB,mBA+Gd;AAAA;;AACL,UAAI,KAAKrB,gBAAL,IACF/B,EAAE,KAAKgC,QAAP,EAAiBkB,QAAjB,CAA0B/B,UAAUL,IAApC,CADF,EAC6C;AAC3C;AACD;;AAED,UAAIuC,gBAAJ;AACA,UAAIC,oBAAJ;;AAEA,UAAI,KAAKP,OAAT,EAAkB;AAChBM,kBAAUrD,EAAEoC,SAAF,CAAYpC,EAAE,KAAK+C,OAAP,EAAgBQ,QAAhB,GAA2BA,QAA3B,CAAoC7B,SAASC,OAA7C,CAAZ,CAAV;AACA,YAAI,CAAC0B,QAAQb,MAAb,EAAqB;AACnBa,oBAAU,IAAV;AACD;AACF;;AAED,UAAIA,OAAJ,EAAa;AACXC,sBAActD,EAAEqD,OAAF,EAAWG,IAAX,CAAgBrD,QAAhB,CAAd;AACA,YAAImD,eAAeA,YAAYvB,gBAA/B,EAAiD;AAC/C;AACD;AACF;;AAED,UAAM0B,aAAazD,EAAEa,KAAF,CAAQA,MAAMC,IAAd,CAAnB;AACAd,QAAE,KAAKgC,QAAP,EAAiB0B,OAAjB,CAAyBD,UAAzB;AACA,UAAIA,WAAWE,kBAAX,EAAJ,EAAqC;AACnC;AACD;;AAED,UAAIN,OAAJ,EAAa;AACXtD,iBAAS6D,gBAAT,CAA0BC,IAA1B,CAA+B7D,EAAEqD,OAAF,CAA/B,EAA2C,MAA3C;AACA,YAAI,CAACC,WAAL,EAAkB;AAChBtD,YAAEqD,OAAF,EAAWG,IAAX,CAAgBrD,QAAhB,EAA0B,IAA1B;AACD;AACF;;AAED,UAAM2D,YAAY,KAAKC,aAAL,EAAlB;;AAEA/D,QAAE,KAAKgC,QAAP,EACGgC,WADH,CACe7C,UAAUC,QADzB,EAEG6C,QAFH,CAEY9C,UAAUE,UAFtB;;AAIA,WAAKW,QAAL,CAAckC,KAAd,CAAoBJ,SAApB,IAAiC,CAAjC;;AAEA,UAAI,KAAK3B,aAAL,CAAmBK,MAAvB,EAA+B;AAC7BxC,UAAE,KAAKmC,aAAP,EACG6B,WADH,CACe7C,UAAUG,SADzB,EAEG6C,IAFH,CAEQ,eAFR,EAEyB,IAFzB;AAGD;;AAED,WAAKC,gBAAL,CAAsB,IAAtB;;AAEA,UAAMC,WAAW,SAAXA,QAAW,GAAM;AACrBrE,UAAE,MAAKgC,QAAP,EACGgC,WADH,CACe7C,UAAUE,UADzB,EAEG4C,QAFH,CAEY9C,UAAUC,QAFtB,EAGG6C,QAHH,CAGY9C,UAAUL,IAHtB;;AAKA,cAAKkB,QAAL,CAAckC,KAAd,CAAoBJ,SAApB,IAAiC,EAAjC;;AAEA,cAAKM,gBAAL,CAAsB,KAAtB;;AAEApE,UAAE,MAAKgC,QAAP,EAAiB0B,OAAjB,CAAyB7C,MAAME,KAA/B;AACD,OAXD;;AAaA,UAAI,CAAC4B,KAAK2B,qBAAL,EAAL,EAAmC;AACjCD;AACA;AACD;;AAED,UAAME,uBAAuBT,UAAU,CAAV,EAAaU,WAAb,KAA6BV,UAAUW,KAAV,CAAgB,CAAhB,CAA1D;AACA,UAAMC,wBAAgCH,oBAAtC;;AAEAvE,QAAE,KAAKgC,QAAP,EACG2C,GADH,CACOhC,KAAKiC,cADZ,EAC4BP,QAD5B,EAEGQ,oBAFH,CAEwBrE,mBAFxB;;AAIA,WAAKwB,QAAL,CAAckC,KAAd,CAAoBJ,SAApB,IAAoC,KAAK9B,QAAL,CAAc0C,UAAd,CAApC;AACD,KA7LoB;;AAAA,uBA+LrBvB,IA/LqB,mBA+Ld;AAAA;;AACL,UAAI,KAAKpB,gBAAL,IACF,CAAC/B,EAAE,KAAKgC,QAAP,EAAiBkB,QAAjB,CAA0B/B,UAAUL,IAApC,CADH,EAC8C;AAC5C;AACD;;AAED,UAAM2C,aAAazD,EAAEa,KAAF,CAAQA,MAAMG,IAAd,CAAnB;AACAhB,QAAE,KAAKgC,QAAP,EAAiB0B,OAAjB,CAAyBD,UAAzB;AACA,UAAIA,WAAWE,kBAAX,EAAJ,EAAqC;AACnC;AACD;;AAED,UAAMG,YAAkB,KAAKC,aAAL,EAAxB;;AAEA,WAAK/B,QAAL,CAAckC,KAAd,CAAoBJ,SAApB,IAAoC,KAAK9B,QAAL,CAAc8C,qBAAd,GAAsChB,SAAtC,CAApC;;AAEAnB,WAAKoC,MAAL,CAAY,KAAK/C,QAAjB;;AAEAhC,QAAE,KAAKgC,QAAP,EACGiC,QADH,CACY9C,UAAUE,UADtB,EAEG2C,WAFH,CAEe7C,UAAUC,QAFzB,EAGG4C,WAHH,CAGe7C,UAAUL,IAHzB;;AAKA,UAAI,KAAKqB,aAAL,CAAmBK,MAAvB,EAA+B;AAC7B,aAAK,IAAID,IAAI,CAAb,EAAgBA,IAAI,KAAKJ,aAAL,CAAmBK,MAAvC,EAA+CD,GAA/C,EAAoD;AAClD,cAAMmB,UAAU,KAAKvB,aAAL,CAAmBI,CAAnB,CAAhB;AACA,cAAMG,WAAWC,KAAKC,sBAAL,CAA4Bc,OAA5B,CAAjB;AACA,cAAIhB,aAAa,IAAjB,EAAuB;AACrB,gBAAMsC,QAAQhF,EAAE0C,QAAF,CAAd;AACA,gBAAI,CAACsC,MAAM9B,QAAN,CAAe/B,UAAUL,IAAzB,CAAL,EAAqC;AACnCd,gBAAE0D,OAAF,EAAWO,QAAX,CAAoB9C,UAAUG,SAA9B,EACM6C,IADN,CACW,eADX,EAC4B,KAD5B;AAED;AACF;AACF;AACF;;AAED,WAAKC,gBAAL,CAAsB,IAAtB;;AAEA,UAAMC,WAAW,SAAXA,QAAW,GAAM;AACrB,eAAKD,gBAAL,CAAsB,KAAtB;AACApE,UAAE,OAAKgC,QAAP,EACGgC,WADH,CACe7C,UAAUE,UADzB,EAEG4C,QAFH,CAEY9C,UAAUC,QAFtB,EAGGsC,OAHH,CAGW7C,MAAMI,MAHjB;AAID,OAND;;AAQA,WAAKe,QAAL,CAAckC,KAAd,CAAoBJ,SAApB,IAAiC,EAAjC;;AAEA,UAAI,CAACnB,KAAK2B,qBAAL,EAAL,EAAmC;AACjCD;AACA;AACD;;AAEDrE,QAAE,KAAKgC,QAAP,EACG2C,GADH,CACOhC,KAAKiC,cADZ,EAC4BP,QAD5B,EAEGQ,oBAFH,CAEwBrE,mBAFxB;AAGD,KAxPoB;;AAAA,uBA0PrB4D,gBA1PqB,6BA0PJa,eA1PI,EA0Pa;AAChC,WAAKlD,gBAAL,GAAwBkD,eAAxB;AACD,KA5PoB;;AAAA,uBA8PrBC,OA9PqB,sBA8PX;AACRlF,QAAEmF,UAAF,CAAa,KAAKnD,QAAlB,EAA4B7B,QAA5B;;AAEA,WAAK8B,OAAL,GAAwB,IAAxB;AACA,WAAKc,OAAL,GAAwB,IAAxB;AACA,WAAKf,QAAL,GAAwB,IAAxB;AACA,WAAKG,aAAL,GAAwB,IAAxB;AACA,WAAKJ,gBAAL,GAAwB,IAAxB;AACD,KAtQoB;;AAyQrB;;AAzQqB,uBA2QrBG,UA3QqB,uBA2QVJ,MA3QU,EA2QF;AACjBA,eAAS9B,EAAEoF,MAAF,CAAS,EAAT,EAAa3E,OAAb,EAAsBqB,MAAtB,CAAT;AACAA,aAAOpB,MAAP,GAAgB2E,QAAQvD,OAAOpB,MAAf,CAAhB,CAFiB,CAEsB;AACvCiC,WAAK2C,eAAL,CAAqBrF,IAArB,EAA2B6B,MAA3B,EAAmClB,WAAnC;AACA,aAAOkB,MAAP;AACD,KAhRoB;;AAAA,uBAkRrBiC,aAlRqB,4BAkRL;AACd,UAAMwB,WAAWvF,EAAE,KAAKgC,QAAP,EAAiBkB,QAAjB,CAA0B3B,UAAUC,KAApC,CAAjB;AACA,aAAO+D,WAAWhE,UAAUC,KAArB,GAA6BD,UAAUE,MAA9C;AACD,KArRoB;;AAAA,uBAuRrBuB,UAvRqB,yBAuRR;AAAA;;AACX,UAAMrC,SAAWX,EAAE,KAAKiC,OAAL,CAAatB,MAAf,EAAuB,CAAvB,CAAjB;AACA,UAAM+B,sDACqC,KAAKT,OAAL,CAAatB,MADlD,OAAN;;AAGAX,QAAEW,MAAF,EAAU6E,IAAV,CAAe9C,QAAf,EAAyB+C,IAAzB,CAA8B,UAAClD,CAAD,EAAIV,OAAJ,EAAgB;AAC5C,eAAKoB,yBAAL,CACElD,SAAS2F,qBAAT,CAA+B7D,OAA/B,CADF,EAEE,CAACA,OAAD,CAFF;AAID,OALD;;AAOA,aAAOlB,MAAP;AACD,KApSoB;;AAAA,uBAsSrBsC,yBAtSqB,sCAsSKpB,OAtSL,EAsSc8D,YAtSd,EAsS4B;AAC/C,UAAI9D,OAAJ,EAAa;AACX,YAAM+D,SAAS5F,EAAE6B,OAAF,EAAWqB,QAAX,CAAoB/B,UAAUL,IAA9B,CAAf;;AAEA,YAAI6E,aAAanD,MAAjB,EAAyB;AACvBxC,YAAE2F,YAAF,EACGE,WADH,CACe1E,UAAUG,SADzB,EACoC,CAACsE,MADrC,EAEGzB,IAFH,CAEQ,eAFR,EAEyByB,MAFzB;AAGD;AACF;AACF,KAhToB;;AAmTrB;;AAnTqB,aAqTdF,qBArTc,kCAqTQ7D,OArTR,EAqTiB;AACpC,UAAMa,WAAWC,KAAKC,sBAAL,CAA4Bf,OAA5B,CAAjB;AACA,aAAOa,WAAW1C,EAAE0C,QAAF,EAAY,CAAZ,CAAX,GAA4B,IAAnC;AACD,KAxToB;;AAAA,aA0TdkB,gBA1Tc,6BA0TG9B,MA1TH,EA0TW;AAC9B,aAAO,KAAK2D,IAAL,CAAU,YAAY;AAC3B,YAAMK,QAAU9F,EAAE,IAAF,CAAhB;AACA,YAAIwD,OAAYsC,MAAMtC,IAAN,CAAWrD,QAAX,CAAhB;AACA,YAAM8B,UAAUjC,EAAEoF,MAAF,CACd,EADc,EAEd3E,OAFc,EAGdqF,MAAMtC,IAAN,EAHc,EAId,QAAO1B,MAAP,yCAAOA,MAAP,OAAkB,QAAlB,IAA8BA,MAJhB,CAAhB;;AAOA,YAAI,CAAC0B,IAAD,IAASvB,QAAQvB,MAAjB,IAA2B,YAAYqF,IAAZ,CAAiBjE,MAAjB,CAA/B,EAAyD;AACvDG,kBAAQvB,MAAR,GAAiB,KAAjB;AACD;;AAED,YAAI,CAAC8C,IAAL,EAAW;AACTA,iBAAO,IAAIzD,QAAJ,CAAa,IAAb,EAAmBkC,OAAnB,CAAP;AACA6D,gBAAMtC,IAAN,CAAWrD,QAAX,EAAqBqD,IAArB;AACD;;AAED,YAAI,OAAO1B,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,cAAI0B,KAAK1B,MAAL,MAAiBkE,SAArB,EAAgC;AAC9B,kBAAM,IAAIC,KAAJ,uBAA8BnE,MAA9B,OAAN;AACD;AACD0B,eAAK1B,MAAL;AACD;AACF,OAzBM,CAAP;AA0BD,KArVoB;;AAAA;AAAA;AAAA,0BA4FA;AACnB,eAAO5B,OAAP;AACD;AA9FoB;AAAA;AAAA,0BAgGA;AACnB,eAAOO,OAAP;AACD;AAlGoB;;AAAA;AAAA;;AA0VvB;;;;;;AAMAT,IAAEkG,QAAF,EAAYC,EAAZ,CAAetF,MAAMK,cAArB,EAAqCQ,SAASE,WAA9C,EAA2D,UAAUwE,KAAV,EAAiB;AAC1E,QAAI,CAAC,kBAAkBL,IAAlB,CAAuBK,MAAMC,MAAN,CAAaC,OAApC,CAAL,EAAmD;AACjDF,YAAMG,cAAN;AACD;;AAED,QAAMC,WAAWxG,EAAE,IAAF,CAAjB;AACA,QAAM0C,WAAWC,KAAKC,sBAAL,CAA4B,IAA5B,CAAjB;AACA5C,MAAE0C,QAAF,EAAY+C,IAAZ,CAAiB,YAAY;AAC3B,UAAMgB,UAAUzG,EAAE,IAAF,CAAhB;AACA,UAAMwD,OAAUiD,QAAQjD,IAAR,CAAarD,QAAb,CAAhB;AACA,UAAM2B,SAAU0B,OAAO,QAAP,GAAkBgD,SAAShD,IAAT,EAAlC;AACAzD,eAAS6D,gBAAT,CAA0BC,IAA1B,CAA+B4C,OAA/B,EAAwC3E,MAAxC;AACD,KALD;AAMD,GAbD;;AAgBA;;;;;;AAMA9B,IAAEO,EAAF,CAAKN,IAAL,IAAyBF,SAAS6D,gBAAlC;AACA5D,IAAEO,EAAF,CAAKN,IAAL,EAAWyG,WAAX,GAAyB3G,QAAzB;AACAC,IAAEO,EAAF,CAAKN,IAAL,EAAW0G,UAAX,GAAyB,YAAY;AACnC3G,MAAEO,EAAF,CAAKN,IAAL,IAAaK,kBAAb;AACA,WAAOP,SAAS6D,gBAAhB;AACD,GAHD;;AAKA,SAAO7D,QAAP;AAED,CA/XgB,CA+Xd6G,MA/Xc,CAAjB","file":"collapse.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0-beta'\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 const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : 'string'\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 * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\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\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\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 = $.makeArray($(this._parent).children().children(Selector.ACTIVES))\n if (!actives.length) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).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), '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 if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\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 if (this._triggerArray.length) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(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\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\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\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\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 const parent = $(this._config.parent)[0]\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).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\n // static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : 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 = $.extend(\n {},\n Default,\n $this.data(),\n typeof config === 'object' && 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 (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\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 if (!/input|textarea/i.test(event.target.tagName)) {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).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 * ------------------------------------------------------------------------\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})(jQuery)\n\nexport default Collapse\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/collapse.js"],"names":["Collapse","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","TRANSITION_DURATION","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","id","tabToggles","i","length","elem","selector","Util","getSelectorFromElement","filter","push","_parent","_getParent","_addAriaAndCollapsedClass","hasClass","hide","show","actives","activesData","children","data","startEvent","trigger","isDefaultPrevented","_jQueryInterface","call","dimension","_getDimension","removeClass","addClass","style","attr","setTransitioning","complete","supportsTransitionEnd","capitalizedDimension","toUpperCase","slice","scrollSize","one","TRANSITION_END","emulateTransitionEnd","getBoundingClientRect","reflow","$elem","isTransitioning","removeData","extend","Boolean","typeCheckConfig","hasWidth","find","each","_getTargetFromElement","triggerArray","isOpen","toggleClass","$this","test","Error","document","on","event","target","tagName","contains","preventDefault","$trigger","$target","Constructor","noConflict","jQuery"],"mappings":"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","file":"collapse.js","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0-beta'\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 const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : 'string'\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 * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\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\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\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 = $.makeArray($(this._parent).children().children(Selector.ACTIVES))\n if (!actives.length) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).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), '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 if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\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 if (this._triggerArray.length) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(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\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\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\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\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 const parent = $(this._config.parent)[0]\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).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\n // static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : 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 = $.extend(\n {},\n Default,\n $this.data(),\n typeof config === 'object' && 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 Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\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 <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' && !$.contains(this, event.target)) {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).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 * ------------------------------------------------------------------------\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})(jQuery)\n\nexport default Collapse\n"]} \ No newline at end of file
diff --git a/js/dist/dropdown.js b/js/dist/dropdown.js
index 0b41280743..39096759c6 100644
--- a/js/dist/dropdown.js
+++ b/js/dist/dropdown.js
@@ -1,3 +1,5 @@
+'use strict';
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -11,7 +13,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
* --------------------------------------------------------------------------
*/
-var Dropdown = function ($) {
+var Dropdown = function () {
/**
* Check for Popper dependency
@@ -108,278 +110,295 @@ var Dropdown = function ($) {
// getters
- // public
+ _createClass(Dropdown, [{
+ key: 'toggle',
- Dropdown.prototype.toggle = function toggle() {
- if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {
- return;
- }
- var parent = Dropdown._getParentFromElement(this._element);
- var isActive = $(this._menu).hasClass(ClassName.SHOW);
+ // public
- Dropdown._clearMenus();
+ value: function toggle() {
+ if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {
+ return;
+ }
- if (isActive) {
- return;
- }
+ var parent = Dropdown._getParentFromElement(this._element);
+ var isActive = $(this._menu).hasClass(ClassName.SHOW);
- var relatedTarget = {
- relatedTarget: this._element
- };
- var showEvent = $.Event(Event.SHOW, relatedTarget);
+ Dropdown._clearMenus();
- $(parent).trigger(showEvent);
+ if (isActive) {
+ return;
+ }
- if (showEvent.isDefaultPrevented()) {
- return;
- }
+ var relatedTarget = {
+ relatedTarget: this._element
+ };
+ var showEvent = $.Event(Event.SHOW, relatedTarget);
- var element = this._element;
- // for dropup with alignment we use the parent as popper container
- if ($(parent).hasClass(ClassName.DROPUP)) {
- if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {
- element = parent;
+ $(parent).trigger(showEvent);
+
+ if (showEvent.isDefaultPrevented()) {
+ return;
}
- }
- this._popper = new Popper(element, 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) {
- $('body').children().on('mouseover', null, $.noop);
- }
- this._element.focus();
- this._element.setAttribute('aria-expanded', true);
+ var element = this._element;
+ // for dropup with alignment we use the parent as popper container
+ if ($(parent).hasClass(ClassName.DROPUP)) {
+ if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {
+ element = parent;
+ }
+ }
+ this._popper = new Popper(element, 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) {
+ $('body').children().on('mouseover', null, $.noop);
+ }
- $(this._menu).toggleClass(ClassName.SHOW);
- $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget));
- };
+ this._element.focus();
+ this._element.setAttribute('aria-expanded', true);
- Dropdown.prototype.dispose = function dispose() {
- $.removeData(this._element, DATA_KEY);
- $(this._element).off(EVENT_KEY);
- this._element = null;
- this._menu = null;
- if (this._popper !== null) {
- this._popper.destroy();
+ $(this._menu).toggleClass(ClassName.SHOW);
+ $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget));
}
- this._popper = null;
- };
-
- Dropdown.prototype.update = function update() {
- this._inNavbar = this._detectNavbar();
- if (this._popper !== null) {
- this._popper.scheduleUpdate();
+ }, {
+ key: 'dispose',
+ value: function dispose() {
+ $.removeData(this._element, DATA_KEY);
+ $(this._element).off(EVENT_KEY);
+ this._element = null;
+ this._menu = null;
+ if (this._popper !== null) {
+ this._popper.destroy();
+ }
+ this._popper = null;
+ }
+ }, {
+ key: 'update',
+ value: function update() {
+ this._inNavbar = this._detectNavbar();
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate();
+ }
}
- };
-
- // private
- Dropdown.prototype._addEventListeners = function _addEventListeners() {
- var _this = this;
+ // private
- $(this._element).on(Event.CLICK, function (event) {
- event.preventDefault();
- event.stopPropagation();
- _this.toggle();
- });
- };
-
- Dropdown.prototype._getConfig = function _getConfig(config) {
- var elementData = $(this._element).data();
- if (elementData.placement !== undefined) {
- elementData.placement = AttachmentMap[elementData.placement.toUpperCase()];
+ }, {
+ key: '_addEventListeners',
+ value: function _addEventListeners() {
+ var _this = this;
+
+ $(this._element).on(Event.CLICK, function (event) {
+ event.preventDefault();
+ event.stopPropagation();
+ _this.toggle();
+ });
}
+ }, {
+ key: '_getConfig',
+ value: function _getConfig(config) {
+ var elementData = $(this._element).data();
+ if (typeof elementData.placement !== 'undefined') {
+ elementData.placement = AttachmentMap[elementData.placement.toUpperCase()];
+ }
- config = $.extend({}, this.constructor.Default, $(this._element).data(), config);
-
- Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+ config = $.extend({}, this.constructor.Default, $(this._element).data(), config);
- return config;
- };
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
- Dropdown.prototype._getMenuElement = function _getMenuElement() {
- if (!this._menu) {
- var parent = Dropdown._getParentFromElement(this._element);
- this._menu = $(parent).find(Selector.MENU)[0];
+ return config;
}
- return this._menu;
- };
-
- Dropdown.prototype._getPlacement = function _getPlacement() {
- var $parentDropdown = $(this._element).parent();
- var placement = this._config.placement;
-
- // Handle dropup
- if ($parentDropdown.hasClass(ClassName.DROPUP) || this._config.placement === AttachmentMap.TOP) {
- placement = AttachmentMap.TOP;
- if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
- placement = AttachmentMap.TOPEND;
+ }, {
+ key: '_getMenuElement',
+ value: function _getMenuElement() {
+ if (!this._menu) {
+ var parent = Dropdown._getParentFromElement(this._element);
+ this._menu = $(parent).find(Selector.MENU)[0];
}
- } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
- placement = AttachmentMap.BOTTOMEND;
+ return this._menu;
}
- return placement;
- };
-
- Dropdown.prototype._detectNavbar = function _detectNavbar() {
- return $(this._element).closest('.navbar').length > 0;
- };
-
- Dropdown.prototype._getPopperConfig = function _getPopperConfig() {
- var popperConfig = {
- placement: this._getPlacement(),
- modifiers: {
- offset: {
- offset: this._config.offset
- },
- flip: {
- enabled: this._config.flip
+ }, {
+ key: '_getPlacement',
+ value: function _getPlacement() {
+ var $parentDropdown = $(this._element).parent();
+ var placement = this._config.placement;
+
+ // Handle dropup
+ if ($parentDropdown.hasClass(ClassName.DROPUP) || this._config.placement === AttachmentMap.TOP) {
+ placement = AttachmentMap.TOP;
+ if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
+ placement = AttachmentMap.TOPEND;
}
+ } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
+ placement = AttachmentMap.BOTTOMEND;
}
+ return placement;
+ }
+ }, {
+ key: '_detectNavbar',
+ value: function _detectNavbar() {
+ return $(this._element).closest('.navbar').length > 0;
+ }
+ }, {
+ key: '_getPopperConfig',
+ value: function _getPopperConfig() {
+ var popperConfig = {
+ placement: this._getPlacement(),
+ modifiers: {
+ offset: {
+ offset: this._config.offset
+ },
+ flip: {
+ enabled: this._config.flip
+ }
+ }
- // Disable Popper.js for Dropdown in Navbar
- };if (this._inNavbar) {
- popperConfig.modifiers.applyStyle = {
- enabled: !this._inNavbar
- };
+ // Disable Popper.js for Dropdown in Navbar
+ };if (this._inNavbar) {
+ popperConfig.modifiers.applyStyle = {
+ enabled: !this._inNavbar
+ };
+ }
+ return popperConfig;
}
- return popperConfig;
- };
- // static
+ // static
- Dropdown._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $(this).data(DATA_KEY);
- var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
- if (!data) {
- data = new Dropdown(this, _config);
- $(this).data(DATA_KEY, data);
- }
-
- if (typeof config === 'string') {
- if (data[config] === undefined) {
- throw new Error('No method named "' + config + '"');
+ if (!data) {
+ data = new Dropdown(this, _config);
+ $(this).data(DATA_KEY, data);
}
- data[config]();
- }
- });
- };
- Dropdown._clearMenus = function _clearMenus(event) {
- if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
- return;
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
}
-
- var toggles = $.makeArray($(Selector.DATA_TOGGLE));
- for (var i = 0; i < toggles.length; i++) {
- var parent = Dropdown._getParentFromElement(toggles[i]);
- var context = $(toggles[i]).data(DATA_KEY);
- var relatedTarget = {
- relatedTarget: toggles[i]
- };
-
- if (!context) {
- continue;
+ }, {
+ key: '_clearMenus',
+ value: function _clearMenus(event) {
+ if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
+ return;
}
- var dropdownMenu = context._menu;
- if (!$(parent).hasClass(ClassName.SHOW)) {
- continue;
- }
+ var toggles = $.makeArray($(Selector.DATA_TOGGLE));
+ for (var i = 0; i < toggles.length; i++) {
+ var parent = Dropdown._getParentFromElement(toggles[i]);
+ var context = $(toggles[i]).data(DATA_KEY);
+ var relatedTarget = {
+ relatedTarget: toggles[i]
+ };
- if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
- continue;
- }
+ if (!context) {
+ continue;
+ }
- var hideEvent = $.Event(Event.HIDE, relatedTarget);
- $(parent).trigger(hideEvent);
- if (hideEvent.isDefaultPrevented()) {
- continue;
- }
+ var dropdownMenu = context._menu;
+ if (!$(parent).hasClass(ClassName.SHOW)) {
+ 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) {
- $('body').children().off('mouseover', null, $.noop);
- }
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
+ continue;
+ }
- toggles[i].setAttribute('aria-expanded', 'false');
+ var hideEvent = $.Event(Event.HIDE, relatedTarget);
+ $(parent).trigger(hideEvent);
+ if (hideEvent.isDefaultPrevented()) {
+ continue;
+ }
- $(dropdownMenu).removeClass(ClassName.SHOW);
- $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
- }
- };
+ // if this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().off('mouseover', null, $.noop);
+ }
- Dropdown._getParentFromElement = function _getParentFromElement(element) {
- var parent = void 0;
- var selector = Util.getSelectorFromElement(element);
+ toggles[i].setAttribute('aria-expanded', 'false');
- if (selector) {
- parent = $(selector)[0];
+ $(dropdownMenu).removeClass(ClassName.SHOW);
+ $(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
+ }
}
+ }, {
+ key: '_getParentFromElement',
+ value: function _getParentFromElement(element) {
+ var parent = void 0;
+ var selector = Util.getSelectorFromElement(element);
- return parent || element.parentNode;
- };
+ if (selector) {
+ parent = $(selector)[0];
+ }
- Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
- if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE || /input|textarea/i.test(event.target.tagName)) {
- return;
+ return parent || element.parentNode;
}
+ }, {
+ key: '_dataApiKeydownHandler',
+ value: function _dataApiKeydownHandler(event) {
+ if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE || /input|textarea/i.test(event.target.tagName)) {
+ return;
+ }
+
+ event.preventDefault();
+ event.stopPropagation();
- event.preventDefault();
- event.stopPropagation();
+ if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
+ return;
+ }
- if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
- return;
- }
+ var parent = Dropdown._getParentFromElement(this);
+ var isActive = $(parent).hasClass(ClassName.SHOW);
- var parent = Dropdown._getParentFromElement(this);
- 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 (!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).find(Selector.DATA_TOGGLE)[0];
+ $(toggle).trigger('focus');
+ }
- if (event.which === ESCAPE_KEYCODE) {
- var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
- $(toggle).trigger('focus');
+ $(this).trigger('click');
+ return;
}
- $(this).trigger('click');
- return;
- }
+ var items = $(parent).find(Selector.VISIBLE_ITEMS).get();
- var items = $(parent).find(Selector.VISIBLE_ITEMS).get();
+ if (!items.length) {
+ return;
+ }
- if (!items.length) {
- 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;
@@ -427,5 +446,5 @@ var Dropdown = function ($) {
};
return Dropdown;
-}(jQuery); /* global Popper */
+}(jQuery, Popper);
//# sourceMappingURL=dropdown.js.map \ No newline at end of file
diff --git a/js/dist/dropdown.js.map b/js/dist/dropdown.js.map
index c1f128ff03..64af50fb75 100644
--- a/js/dist/dropdown.js.map
+++ b/js/dist/dropdown.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/dropdown.js"],"names":["Dropdown","$","Popper","Error","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","MENURIGHT","MENULEFT","Selector","DATA_TOGGLE","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","Default","placement","offset","flip","DefaultType","element","config","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","toggle","disabled","hasClass","parent","_getParentFromElement","isActive","_clearMenus","relatedTarget","showEvent","trigger","isDefaultPrevented","_getPopperConfig","document","documentElement","closest","length","children","on","noop","focus","setAttribute","toggleClass","dispose","removeData","off","destroy","update","scheduleUpdate","event","preventDefault","stopPropagation","elementData","data","undefined","toUpperCase","extend","constructor","Util","typeCheckConfig","find","_getPlacement","$parentDropdown","popperConfig","modifiers","enabled","applyStyle","_jQueryInterface","each","which","type","toggles","makeArray","i","context","dropdownMenu","test","target","tagName","contains","hideEvent","removeClass","selector","getSelectorFromElement","parentNode","_dataApiKeydownHandler","items","get","index","indexOf","call","e","Constructor","noConflict","jQuery"],"mappings":"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","file":"dropdown.js","sourcesContent":["/* global Popper */\n\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0-beta'\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 MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left'\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)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end'\n }\n\n const Default = {\n placement : AttachmentMap.BOTTOM,\n offset : 0,\n flip : true\n }\n\n const DefaultType = {\n placement : 'string',\n offset : '(number|string)',\n flip : 'boolean'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n\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\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 let element = this._element\n // for dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n this._popper = new Popper(element, this._menu, this._getPopperConfig())\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) {\n $('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 }\n this._popper = null\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 const elementData = $(this._element).data()\n if (elementData.placement !== undefined) {\n elementData.placement = AttachmentMap[elementData.placement.toUpperCase()]\n }\n\n config = $.extend(\n {},\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 this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = this._config.placement\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP) || this._config.placement === AttachmentMap.TOP) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\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 popperConfig = {\n placement : this._getPlacement(),\n modifiers : {\n offset : {\n offset : this._config.offset\n },\n flip : {\n enabled : this._config.flip\n }\n }\n }\n\n // Disable Popper.js for Dropdown in Navbar\n if (this._inNavbar) {\n popperConfig.modifiers.applyStyle = {\n enabled: !this._inNavbar\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 (data[config] === undefined) {\n throw new Error(`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 = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; 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 (!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 $('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 = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n static _dataApiKeydownHandler(event) {\n if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||\n /input|textarea/i.test(event.target.tagName)) {\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\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (!items.length) {\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 /**\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 * ------------------------------------------------------------------------\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\n})(jQuery)\n\nexport default Dropdown\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/dropdown.js"],"names":["Dropdown","Popper","Error","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","MENURIGHT","MENULEFT","Selector","DATA_TOGGLE","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","Default","placement","offset","flip","DefaultType","element","config","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","disabled","hasClass","parent","_getParentFromElement","isActive","_clearMenus","relatedTarget","showEvent","trigger","isDefaultPrevented","_getPopperConfig","document","documentElement","closest","length","children","on","noop","focus","setAttribute","toggleClass","removeData","off","destroy","scheduleUpdate","event","preventDefault","stopPropagation","toggle","elementData","data","toUpperCase","extend","constructor","Util","typeCheckConfig","find","$parentDropdown","popperConfig","_getPlacement","modifiers","enabled","applyStyle","each","which","type","toggles","makeArray","i","context","dropdownMenu","test","target","tagName","contains","hideEvent","removeClass","selector","getSelectorFromElement","parentNode","items","get","index","indexOf","_dataApiKeydownHandler","_jQueryInterface","call","e","Constructor","noConflict","jQuery"],"mappings":";;;;;;;;AAKA;;;;;;;AAOA,IAAMA,WAAY,YAAM;;AAEtB;;;;AAIA,MAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;AACjC,UAAM,IAAIC,KAAJ,CAAU,8DAAV,CAAN;AACD;;AAED;;;;;;AAMA,MAAMC,OAA2B,UAAjC;AACA,MAAMC,UAA2B,YAAjC;AACA,MAAMC,WAA2B,aAAjC;AACA,MAAMC,kBAA+BD,QAArC;AACA,MAAME,eAA2B,WAAjC;AACA,MAAMC,qBAA2BC,EAAEC,EAAF,CAAKP,IAAL,CAAjC;AACA,MAAMQ,iBAA2B,EAAjC,CAtBsB,CAsBc;AACpC,MAAMC,gBAA2B,EAAjC,CAvBsB,CAuBc;AACpC,MAAMC,cAA2B,CAAjC,CAxBsB,CAwBa;AACnC,MAAMC,mBAA2B,EAAjC,CAzBsB,CAyBc;AACpC,MAAMC,qBAA2B,EAAjC,CA1BsB,CA0Bc;AACpC,MAAMC,2BAA2B,CAAjC,CA3BsB,CA2Ba;AACnC,MAAMC,iBAA2B,IAAIC,MAAJ,CAAcJ,gBAAd,SAAkCC,kBAAlC,SAAwDJ,cAAxD,CAAjC;;AAEA,MAAMQ,QAAQ;AACZC,mBAA0Bd,SADd;AAEZe,uBAA4Bf,SAFhB;AAGZgB,mBAA0BhB,SAHd;AAIZiB,qBAA2BjB,SAJf;AAKZkB,qBAA2BlB,SALf;AAMZmB,8BAA2BnB,SAA3B,GAAuCC,YAN3B;AAOZmB,kCAA6BpB,SAA7B,GAAyCC,YAP7B;AAQZoB,8BAA2BrB,SAA3B,GAAuCC;AAR3B,GAAd;;AAWA,MAAMqB,YAAY;AAChBC,cAAY,UADI;AAEhBP,UAAY,MAFI;AAGhBQ,YAAY,QAHI;AAIhBC,eAAY,qBAJI;AAKhBC,cAAY;AALI,GAAlB;;AAQA,MAAMC,WAAW;AACfC,iBAAgB,0BADD;AAEfC,gBAAgB,gBAFD;AAGfC,UAAgB,gBAHD;AAIfC,gBAAgB,aAJD;AAKfC,mBAAgB;AALD,GAAjB;;AAQA,MAAMC,gBAAgB;AACpBC,SAAY,WADQ;AAEpBC,YAAY,SAFQ;AAGpBC,YAAY,cAHQ;AAIpBC,eAAY;AAJQ,GAAtB;;AAOA,MAAMC,UAAU;AACdC,eAAcN,cAAcG,MADd;AAEdI,YAAc,CAFA;AAGdC,UAAc;AAHA,GAAhB;;AAMA,MAAMC,cAAc;AAClBH,eAAc,QADI;AAElBC,YAAc,iBAFI;AAGlBC,UAAc;;AAIhB;;;;;;AAPoB,GAApB;AAtEsB,MAmFhB/C,QAnFgB;AAqFpB,sBAAYiD,OAAZ,EAAqBC,MAArB,EAA6B;AAAA;;AAC3B,WAAKC,QAAL,GAAiBF,OAAjB;AACA,WAAKG,OAAL,GAAiB,IAAjB;AACA,WAAKC,OAAL,GAAiB,KAAKC,UAAL,CAAgBJ,MAAhB,CAAjB;AACA,WAAKK,KAAL,GAAiB,KAAKC,eAAL,EAAjB;AACA,WAAKC,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;AAEA,WAAKC,kBAAL;AACD;;AAGD;;AAhGoB;AAAA;;;AA8GpB;;AA9GoB,+BAgHX;AACP,YAAI,KAAKR,QAAL,CAAcS,QAAd,IAA0BnD,EAAE,KAAK0C,QAAP,EAAiBU,QAAjB,CAA0BjC,UAAUC,QAApC,CAA9B,EAA6E;AAC3E;AACD;;AAED,YAAMiC,SAAW9D,SAAS+D,qBAAT,CAA+B,KAAKZ,QAApC,CAAjB;AACA,YAAMa,WAAWvD,EAAE,KAAK8C,KAAP,EAAcM,QAAd,CAAuBjC,UAAUN,IAAjC,CAAjB;;AAEAtB,iBAASiE,WAAT;;AAEA,YAAID,QAAJ,EAAc;AACZ;AACD;;AAED,YAAME,gBAAgB;AACpBA,yBAAgB,KAAKf;AADD,SAAtB;AAGA,YAAMgB,YAAY1D,EAAEU,KAAF,CAAQA,MAAMG,IAAd,EAAoB4C,aAApB,CAAlB;;AAEAzD,UAAEqD,MAAF,EAAUM,OAAV,CAAkBD,SAAlB;;AAEA,YAAIA,UAAUE,kBAAV,EAAJ,EAAoC;AAClC;AACD;;AAED,YAAIpB,UAAU,KAAKE,QAAnB;AACA;AACA,YAAI1C,EAAEqD,MAAF,EAAUD,QAAV,CAAmBjC,UAAUE,MAA7B,CAAJ,EAA0C;AACxC,cAAIrB,EAAE,KAAK8C,KAAP,EAAcM,QAAd,CAAuBjC,UAAUI,QAAjC,KAA8CvB,EAAE,KAAK8C,KAAP,EAAcM,QAAd,CAAuBjC,UAAUG,SAAjC,CAAlD,EAA+F;AAC7FkB,sBAAUa,MAAV;AACD;AACF;AACD,aAAKV,OAAL,GAAe,IAAInD,MAAJ,CAAWgD,OAAX,EAAoB,KAAKM,KAAzB,EAAgC,KAAKe,gBAAL,EAAhC,CAAf;;AAEA;AACA;AACA;AACA;AACA,YAAI,kBAAkBC,SAASC,eAA3B,IACD,CAAC/D,EAAEqD,MAAF,EAAUW,OAAV,CAAkBxC,SAASI,UAA3B,EAAuCqC,MAD3C,EACmD;AACjDjE,YAAE,MAAF,EAAUkE,QAAV,GAAqBC,EAArB,CAAwB,WAAxB,EAAqC,IAArC,EAA2CnE,EAAEoE,IAA7C;AACD;;AAED,aAAK1B,QAAL,CAAc2B,KAAd;AACA,aAAK3B,QAAL,CAAc4B,YAAd,CAA2B,eAA3B,EAA4C,IAA5C;;AAEAtE,UAAE,KAAK8C,KAAP,EAAcyB,WAAd,CAA0BpD,UAAUN,IAApC;AACAb,UAAEqD,MAAF,EACGkB,WADH,CACepD,UAAUN,IADzB,EAEG8C,OAFH,CAEW3D,EAAEU,KAAF,CAAQA,MAAMI,KAAd,EAAqB2C,aAArB,CAFX;AAGD;AAlKmB;AAAA;AAAA,gCAoKV;AACRzD,UAAEwE,UAAF,CAAa,KAAK9B,QAAlB,EAA4B9C,QAA5B;AACAI,UAAE,KAAK0C,QAAP,EAAiB+B,GAAjB,CAAqB5E,SAArB;AACA,aAAK6C,QAAL,GAAgB,IAAhB;AACA,aAAKI,KAAL,GAAa,IAAb;AACA,YAAI,KAAKH,OAAL,KAAiB,IAArB,EAA2B;AACzB,eAAKA,OAAL,CAAa+B,OAAb;AACD;AACD,aAAK/B,OAAL,GAAe,IAAf;AACD;AA7KmB;AAAA;AAAA,+BA+KX;AACP,aAAKK,SAAL,GAAiB,KAAKC,aAAL,EAAjB;AACA,YAAI,KAAKN,OAAL,KAAiB,IAArB,EAA2B;AACzB,eAAKA,OAAL,CAAagC,cAAb;AACD;AACF;;AAED;;AAtLoB;AAAA;AAAA,2CAwLC;AAAA;;AACnB3E,UAAE,KAAK0C,QAAP,EAAiByB,EAAjB,CAAoBzD,MAAMK,KAA1B,EAAiC,UAAC6D,KAAD,EAAW;AAC1CA,gBAAMC,cAAN;AACAD,gBAAME,eAAN;AACA,gBAAKC,MAAL;AACD,SAJD;AAKD;AA9LmB;AAAA;AAAA,iCAgMTtC,MAhMS,EAgMD;AACjB,YAAMuC,cAAchF,EAAE,KAAK0C,QAAP,EAAiBuC,IAAjB,EAApB;AACA,YAAI,OAAOD,YAAY5C,SAAnB,KAAiC,WAArC,EAAkD;AAChD4C,sBAAY5C,SAAZ,GAAwBN,cAAckD,YAAY5C,SAAZ,CAAsB8C,WAAtB,EAAd,CAAxB;AACD;;AAEDzC,iBAASzC,EAAEmF,MAAF,CACP,EADO,EAEP,KAAKC,WAAL,CAAiBjD,OAFV,EAGPnC,EAAE,KAAK0C,QAAP,EAAiBuC,IAAjB,EAHO,EAIPxC,MAJO,CAAT;;AAOA4C,aAAKC,eAAL,CACE5F,IADF,EAEE+C,MAFF,EAGE,KAAK2C,WAAL,CAAiB7C,WAHnB;;AAMA,eAAOE,MAAP;AACD;AApNmB;AAAA;AAAA,wCAsNF;AAChB,YAAI,CAAC,KAAKK,KAAV,EAAiB;AACf,cAAMO,SAAS9D,SAAS+D,qBAAT,CAA+B,KAAKZ,QAApC,CAAf;AACA,eAAKI,KAAL,GAAa9C,EAAEqD,MAAF,EAAUkC,IAAV,CAAe/D,SAASG,IAAxB,EAA8B,CAA9B,CAAb;AACD;AACD,eAAO,KAAKmB,KAAZ;AACD;AA5NmB;AAAA;AAAA,sCA8NJ;AACd,YAAM0C,kBAAkBxF,EAAE,KAAK0C,QAAP,EAAiBW,MAAjB,EAAxB;AACA,YAAIjB,YAAY,KAAKQ,OAAL,CAAaR,SAA7B;;AAEA;AACA,YAAIoD,gBAAgBpC,QAAhB,CAAyBjC,UAAUE,MAAnC,KAA8C,KAAKuB,OAAL,CAAaR,SAAb,KAA2BN,cAAcC,GAA3F,EAAgG;AAC9FK,sBAAYN,cAAcC,GAA1B;AACA,cAAI/B,EAAE,KAAK8C,KAAP,EAAcM,QAAd,CAAuBjC,UAAUG,SAAjC,CAAJ,EAAiD;AAC/Cc,wBAAYN,cAAcE,MAA1B;AACD;AACF,SALD,MAKO,IAAIhC,EAAE,KAAK8C,KAAP,EAAcM,QAAd,CAAuBjC,UAAUG,SAAjC,CAAJ,EAAiD;AACtDc,sBAAYN,cAAcI,SAA1B;AACD;AACD,eAAOE,SAAP;AACD;AA5OmB;AAAA;AAAA,sCA8OJ;AACd,eAAOpC,EAAE,KAAK0C,QAAP,EAAiBsB,OAAjB,CAAyB,SAAzB,EAAoCC,MAApC,GAA6C,CAApD;AACD;AAhPmB;AAAA;AAAA,yCAkPD;AACjB,YAAMwB,eAAe;AACnBrD,qBAAY,KAAKsD,aAAL,EADO;AAEnBC,qBAAY;AACVtD,oBAAS;AACPA,sBAAS,KAAKO,OAAL,CAAaP;AADf,aADC;AAIVC,kBAAO;AACLsD,uBAAU,KAAKhD,OAAL,CAAaN;AADlB;AAJG;;AAUd;AAZqB,SAArB,CAaA,IAAI,KAAKU,SAAT,EAAoB;AAClByC,uBAAaE,SAAb,CAAuBE,UAAvB,GAAoC;AAClCD,qBAAS,CAAC,KAAK5C;AADmB,WAApC;AAGD;AACD,eAAOyC,YAAP;AACD;;AAED;;AAxQoB;AAAA;AAAA,uCA0QIhD,MA1QJ,EA0QY;AAC9B,eAAO,KAAKqD,IAAL,CAAU,YAAY;AAC3B,cAAIb,OAAOjF,EAAE,IAAF,EAAQiF,IAAR,CAAarF,QAAb,CAAX;AACA,cAAMgD,UAAU,QAAOH,MAAP,yCAAOA,MAAP,OAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;AAEA,cAAI,CAACwC,IAAL,EAAW;AACTA,mBAAO,IAAI1F,QAAJ,CAAa,IAAb,EAAmBqD,OAAnB,CAAP;AACA5C,cAAE,IAAF,EAAQiF,IAAR,CAAarF,QAAb,EAAuBqF,IAAvB;AACD;;AAED,cAAI,OAAOxC,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,gBAAI,OAAOwC,KAAKxC,MAAL,CAAP,KAAwB,WAA5B,EAAyC;AACvC,oBAAM,IAAIhD,KAAJ,uBAA8BgD,MAA9B,OAAN;AACD;AACDwC,iBAAKxC,MAAL;AACD;AACF,SAfM,CAAP;AAgBD;AA3RmB;AAAA;AAAA,kCA6RDmC,KA7RC,EA6RM;AACxB,YAAIA,UAAUA,MAAMmB,KAAN,KAAgBxF,wBAAhB,IACZqE,MAAMoB,IAAN,KAAe,OAAf,IAA0BpB,MAAMmB,KAAN,KAAgB3F,WADxC,CAAJ,EAC0D;AACxD;AACD;;AAED,YAAM6F,UAAUjG,EAAEkG,SAAF,CAAYlG,EAAEwB,SAASC,WAAX,CAAZ,CAAhB;AACA,aAAK,IAAI0E,IAAI,CAAb,EAAgBA,IAAIF,QAAQhC,MAA5B,EAAoCkC,GAApC,EAAyC;AACvC,cAAM9C,SAAgB9D,SAAS+D,qBAAT,CAA+B2C,QAAQE,CAAR,CAA/B,CAAtB;AACA,cAAMC,UAAgBpG,EAAEiG,QAAQE,CAAR,CAAF,EAAclB,IAAd,CAAmBrF,QAAnB,CAAtB;AACA,cAAM6D,gBAAgB;AACpBA,2BAAgBwC,QAAQE,CAAR;AADI,WAAtB;;AAIA,cAAI,CAACC,OAAL,EAAc;AACZ;AACD;;AAED,cAAMC,eAAeD,QAAQtD,KAA7B;AACA,cAAI,CAAC9C,EAAEqD,MAAF,EAAUD,QAAV,CAAmBjC,UAAUN,IAA7B,CAAL,EAAyC;AACvC;AACD;;AAED,cAAI+D,UAAUA,MAAMoB,IAAN,KAAe,OAAf,IACV,kBAAkBM,IAAlB,CAAuB1B,MAAM2B,MAAN,CAAaC,OAApC,CADU,IACsC5B,MAAMoB,IAAN,KAAe,OAAf,IAA0BpB,MAAMmB,KAAN,KAAgB3F,WAD1F,KAEGJ,EAAEyG,QAAF,CAAWpD,MAAX,EAAmBuB,MAAM2B,MAAzB,CAFP,EAEyC;AACvC;AACD;;AAED,cAAMG,YAAY1G,EAAEU,KAAF,CAAQA,MAAMC,IAAd,EAAoB8C,aAApB,CAAlB;AACAzD,YAAEqD,MAAF,EAAUM,OAAV,CAAkB+C,SAAlB;AACA,cAAIA,UAAU9C,kBAAV,EAAJ,EAAoC;AAClC;AACD;;AAED;AACA;AACA,cAAI,kBAAkBE,SAASC,eAA/B,EAAgD;AAC9C/D,cAAE,MAAF,EAAUkE,QAAV,GAAqBO,GAArB,CAAyB,WAAzB,EAAsC,IAAtC,EAA4CzE,EAAEoE,IAA9C;AACD;;AAED6B,kBAAQE,CAAR,EAAW7B,YAAX,CAAwB,eAAxB,EAAyC,OAAzC;;AAEAtE,YAAEqG,YAAF,EAAgBM,WAAhB,CAA4BxF,UAAUN,IAAtC;AACAb,YAAEqD,MAAF,EACGsD,WADH,CACexF,UAAUN,IADzB,EAEG8C,OAFH,CAEW3D,EAAEU,KAAF,CAAQA,MAAME,MAAd,EAAsB6C,aAAtB,CAFX;AAGD;AACF;AA7UmB;AAAA;AAAA,4CA+USjB,OA/UT,EA+UkB;AACpC,YAAIa,eAAJ;AACA,YAAMuD,WAAWvB,KAAKwB,sBAAL,CAA4BrE,OAA5B,CAAjB;;AAEA,YAAIoE,QAAJ,EAAc;AACZvD,mBAASrD,EAAE4G,QAAF,EAAY,CAAZ,CAAT;AACD;;AAED,eAAOvD,UAAUb,QAAQsE,UAAzB;AACD;AAxVmB;AAAA;AAAA,6CA0VUlC,KA1VV,EA0ViB;AACnC,YAAI,CAACpE,eAAe8F,IAAf,CAAoB1B,MAAMmB,KAA1B,CAAD,IAAqC,UAAUO,IAAV,CAAe1B,MAAM2B,MAAN,CAAaC,OAA5B,KAAwC5B,MAAMmB,KAAN,KAAgB5F,aAA7F,IACD,kBAAkBmG,IAAlB,CAAuB1B,MAAM2B,MAAN,CAAaC,OAApC,CADH,EACiD;AAC/C;AACD;;AAED5B,cAAMC,cAAN;AACAD,cAAME,eAAN;;AAEA,YAAI,KAAK3B,QAAL,IAAiBnD,EAAE,IAAF,EAAQoD,QAAR,CAAiBjC,UAAUC,QAA3B,CAArB,EAA2D;AACzD;AACD;;AAED,YAAMiC,SAAW9D,SAAS+D,qBAAT,CAA+B,IAA/B,CAAjB;AACA,YAAMC,WAAWvD,EAAEqD,MAAF,EAAUD,QAAV,CAAmBjC,UAAUN,IAA7B,CAAjB;;AAEA,YAAI,CAAC0C,QAAD,KAAcqB,MAAMmB,KAAN,KAAgB7F,cAAhB,IAAkC0E,MAAMmB,KAAN,KAAgB5F,aAAhE,KACCoD,aAAaqB,MAAMmB,KAAN,KAAgB7F,cAAhB,IAAkC0E,MAAMmB,KAAN,KAAgB5F,aAA/D,CADL,EACoF;;AAElF,cAAIyE,MAAMmB,KAAN,KAAgB7F,cAApB,EAAoC;AAClC,gBAAM6E,SAAS/E,EAAEqD,MAAF,EAAUkC,IAAV,CAAe/D,SAASC,WAAxB,EAAqC,CAArC,CAAf;AACAzB,cAAE+E,MAAF,EAAUpB,OAAV,CAAkB,OAAlB;AACD;;AAED3D,YAAE,IAAF,EAAQ2D,OAAR,CAAgB,OAAhB;AACA;AACD;;AAED,YAAMoD,QAAQ/G,EAAEqD,MAAF,EAAUkC,IAAV,CAAe/D,SAASK,aAAxB,EAAuCmF,GAAvC,EAAd;;AAEA,YAAI,CAACD,MAAM9C,MAAX,EAAmB;AACjB;AACD;;AAED,YAAIgD,QAAQF,MAAMG,OAAN,CAActC,MAAM2B,MAApB,CAAZ;;AAEA,YAAI3B,MAAMmB,KAAN,KAAgB1F,gBAAhB,IAAoC4G,QAAQ,CAAhD,EAAmD;AAAE;AACnDA;AACD;;AAED,YAAIrC,MAAMmB,KAAN,KAAgBzF,kBAAhB,IAAsC2G,QAAQF,MAAM9C,MAAN,GAAe,CAAjE,EAAoE;AAAE;AACpEgD;AACD;;AAED,YAAIA,QAAQ,CAAZ,EAAe;AACbA,kBAAQ,CAAR;AACD;;AAEDF,cAAME,KAAN,EAAa5C,KAAb;AACD;AA3YmB;AAAA;AAAA,0BAkGC;AACnB,eAAO1E,OAAP;AACD;AApGmB;AAAA;AAAA,0BAsGC;AACnB,eAAOwC,OAAP;AACD;AAxGmB;AAAA;AAAA,0BA0GK;AACvB,eAAOI,WAAP;AACD;AA5GmB;;AAAA;AAAA;;AAgZtB;;;;;;AAMAvC,IAAE8D,QAAF,EACGK,EADH,CACMzD,MAAMO,gBADZ,EAC8BO,SAASC,WADvC,EACqDlC,SAAS4H,sBAD9D,EAEGhD,EAFH,CAEMzD,MAAMO,gBAFZ,EAE8BO,SAASG,IAFvC,EAE6CpC,SAAS4H,sBAFtD,EAGGhD,EAHH,CAGSzD,MAAMM,cAHf,SAGiCN,MAAMQ,cAHvC,EAGyD3B,SAASiE,WAHlE,EAIGW,EAJH,CAIMzD,MAAMM,cAJZ,EAI4BQ,SAASC,WAJrC,EAIkD,UAAUmD,KAAV,EAAiB;AAC/DA,UAAMC,cAAN;AACAD,UAAME,eAAN;AACAvF,aAAS6H,gBAAT,CAA0BC,IAA1B,CAA+BrH,EAAE,IAAF,CAA/B,EAAwC,QAAxC;AACD,GARH,EASGmE,EATH,CASMzD,MAAMM,cATZ,EAS4BQ,SAASE,UATrC,EASiD,UAAC4F,CAAD,EAAO;AACpDA,MAAExC,eAAF;AACD,GAXH;;AAcA;;;;;;AAMA9E,IAAEC,EAAF,CAAKP,IAAL,IAAyBH,SAAS6H,gBAAlC;AACApH,IAAEC,EAAF,CAAKP,IAAL,EAAW6H,WAAX,GAAyBhI,QAAzB;AACAS,IAAEC,EAAF,CAAKP,IAAL,EAAW8H,UAAX,GAAyB,YAAY;AACnCxH,MAAEC,EAAF,CAAKP,IAAL,IAAaK,kBAAb;AACA,WAAOR,SAAS6H,gBAAhB;AACD,GAHD;;AAKA,SAAO7H,QAAP;AAED,CAnbgB,CAmbdkI,MAnbc,EAmbNjI,MAnbM,CAAjB","file":"dropdown.js","sourcesContent":["import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (() => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0-beta'\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 MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left'\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)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end'\n }\n\n const Default = {\n placement : AttachmentMap.BOTTOM,\n offset : 0,\n flip : true\n }\n\n const DefaultType = {\n placement : 'string',\n offset : '(number|string)',\n flip : 'boolean'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n\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\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 let element = this._element\n // for dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n this._popper = new Popper(element, this._menu, this._getPopperConfig())\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) {\n $('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 }\n this._popper = null\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 const elementData = $(this._element).data()\n if (typeof elementData.placement !== 'undefined') {\n elementData.placement = AttachmentMap[elementData.placement.toUpperCase()]\n }\n\n config = $.extend(\n {},\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 this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = this._config.placement\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP) || this._config.placement === AttachmentMap.TOP) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\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 popperConfig = {\n placement : this._getPlacement(),\n modifiers : {\n offset : {\n offset : this._config.offset\n },\n flip : {\n enabled : this._config.flip\n }\n }\n }\n\n // Disable Popper.js for Dropdown in Navbar\n if (this._inNavbar) {\n popperConfig.modifiers.applyStyle = {\n enabled: !this._inNavbar\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 Error(`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 = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; 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 (!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 $('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 = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n static _dataApiKeydownHandler(event) {\n if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||\n /input|textarea/i.test(event.target.tagName)) {\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\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (!items.length) {\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 /**\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 * ------------------------------------------------------------------------\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\n})(jQuery, Popper)\n\nexport default Dropdown\n"]} \ No newline at end of file
diff --git a/js/dist/index.js b/js/dist/index.js
new file mode 100644
index 0000000000..21d9140092
--- /dev/null
+++ b/js/dist/index.js
@@ -0,0 +1,22 @@
+'use strict';
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.6): index.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+(function () {
+ if (typeof jQuery === 'undefined') {
+ throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
+ }
+
+ var version = $.fn.jquery.split(' ')[0].split('.');
+ var min = 3;
+ var max = 4;
+ if (version[0] < min || version[0] >= max) {
+ throw new Error('Bootstrap\'s JavaScript requires at least jQuery v3.0.0 but less than v4.0.0');
+ }
+})(jQuery);
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/js/dist/index.js.map b/js/dist/index.js.map
new file mode 100644
index 0000000000..96abc6edc9
--- /dev/null
+++ b/js/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../src/index.js"],"names":["jQuery","Error","version","$","fn","jquery","split","min","max"],"mappings":";;AAaA;;;;;;;AAOA,CAAC,YAAM;AACL,MAAI,OAAOA,MAAP,KAAkB,WAAtB,EAAmC;AACjC,UAAM,IAAIC,KAAJ,CAAU,kGAAV,CAAN;AACD;;AAED,MAAMC,UAAUC,EAAEC,EAAF,CAAKC,MAAL,CAAYC,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,EAA0BA,KAA1B,CAAgC,GAAhC,CAAhB;AACA,MAAMC,MAAM,CAAZ;AACA,MAAMC,MAAM,CAAZ;AACA,MAAIN,QAAQ,CAAR,IAAaK,GAAb,IAAoBL,QAAQ,CAAR,KAAcM,GAAtC,EAA2C;AACzC,UAAM,IAAIP,KAAJ,CAAU,8EAAV,CAAN;AACD;AACF,CAXD,EAWGD,MAXH","file":"index.js","sourcesContent":["import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n if (typeof jQuery === 'undefined') {\n throw new Error('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const min = 3\n const max = 4\n if (version[0] < min || version[0] >= max) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v3.0.0 but less than v4.0.0')\n }\n})(jQuery)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"]} \ No newline at end of file
diff --git a/js/dist/modal.js b/js/dist/modal.js
index 877111bf25..c3482de57c 100644
--- a/js/dist/modal.js
+++ b/js/dist/modal.js
@@ -1,3 +1,5 @@
+'use strict';
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -11,7 +13,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
* --------------------------------------------------------------------------
*/
-var Modal = function ($) {
+var Modal = function () {
/**
* ------------------------------------------------------------------------
@@ -70,6 +72,7 @@ var Modal = function ($) {
DATA_TOGGLE: '[data-toggle="modal"]',
DATA_DISMISS: '[data-dismiss="modal"]',
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
+ STICKY_CONTENT: '.sticky-top',
NAVBAR_TOGGLER: '.navbar-toggler'
/**
@@ -96,417 +99,452 @@ var Modal = function ($) {
// getters
- // public
-
- Modal.prototype.toggle = function toggle(relatedTarget) {
- return this._isShown ? this.hide() : this.show(relatedTarget);
- };
-
- Modal.prototype.show = function show(relatedTarget) {
- var _this = this;
+ _createClass(Modal, [{
+ key: 'toggle',
- if (this._isTransitioning) {
- return;
- }
-
- if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
- this._isTransitioning = true;
- }
-
- var showEvent = $.Event(Event.SHOW, {
- relatedTarget: relatedTarget
- });
- $(this._element).trigger(showEvent);
+ // public
- if (this._isShown || showEvent.isDefaultPrevented()) {
- return;
+ value: function toggle(relatedTarget) {
+ return this._isShown ? this.hide() : this.show(relatedTarget);
}
+ }, {
+ key: 'show',
+ value: function show(relatedTarget) {
+ var _this = this;
- this._isShown = true;
-
- this._checkScrollbar();
- this._setScrollbar();
-
- $(document.body).addClass(ClassName.OPEN);
-
- this._setEscapeEvent();
- this._setResizeEvent();
+ if (this._isTransitioning) {
+ return;
+ }
- $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
- return _this.hide(event);
- });
+ if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
+ this._isTransitioning = true;
+ }
- $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
- $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
- if ($(event.target).is(_this._element)) {
- _this._ignoreBackdropClick = true;
- }
+ var showEvent = $.Event(Event.SHOW, {
+ relatedTarget: relatedTarget
});
- });
- this._showBackdrop(function () {
- return _this._showElement(relatedTarget);
- });
- };
+ $(this._element).trigger(showEvent);
- Modal.prototype.hide = function hide(event) {
- var _this2 = this;
+ if (this._isShown || showEvent.isDefaultPrevented()) {
+ return;
+ }
- if (event) {
- event.preventDefault();
- }
+ this._isShown = true;
- if (this._isTransitioning || !this._isShown) {
- return;
- }
+ this._checkScrollbar();
+ this._setScrollbar();
- var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+ this._adjustDialog();
- if (transition) {
- this._isTransitioning = true;
- }
+ $(document.body).addClass(ClassName.OPEN);
- var hideEvent = $.Event(Event.HIDE);
+ this._setEscapeEvent();
+ this._setResizeEvent();
- $(this._element).trigger(hideEvent);
+ $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
+ return _this.hide(event);
+ });
- if (!this._isShown || hideEvent.isDefaultPrevented()) {
- return;
+ $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
+ $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
+ if ($(event.target).is(_this._element)) {
+ _this._ignoreBackdropClick = true;
+ }
+ });
+ });
+
+ this._showBackdrop(function () {
+ return _this._showElement(relatedTarget);
+ });
}
+ }, {
+ key: 'hide',
+ value: function hide(event) {
+ var _this2 = this;
- this._isShown = false;
+ if (event) {
+ event.preventDefault();
+ }
- this._setEscapeEvent();
- this._setResizeEvent();
+ if (this._isTransitioning || !this._isShown) {
+ return;
+ }
- $(document).off(Event.FOCUSIN);
+ var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
- $(this._element).removeClass(ClassName.SHOW);
+ if (transition) {
+ this._isTransitioning = true;
+ }
- $(this._element).off(Event.CLICK_DISMISS);
- $(this._dialog).off(Event.MOUSEDOWN_DISMISS);
+ var hideEvent = $.Event(Event.HIDE);
- if (transition) {
+ $(this._element).trigger(hideEvent);
- $(this._element).one(Util.TRANSITION_END, function (event) {
- return _this2._hideModal(event);
- }).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- this._hideModal();
- }
- };
+ if (!this._isShown || hideEvent.isDefaultPrevented()) {
+ return;
+ }
- Modal.prototype.dispose = function dispose() {
- $.removeData(this._element, DATA_KEY);
+ this._isShown = false;
- $(window, document, this._element, this._backdrop).off(EVENT_KEY);
+ this._setEscapeEvent();
+ this._setResizeEvent();
- this._config = null;
- this._element = null;
- this._dialog = null;
- this._backdrop = null;
- this._isShown = null;
- this._isBodyOverflowing = null;
- this._ignoreBackdropClick = null;
- this._scrollbarWidth = null;
- };
+ $(document).off(Event.FOCUSIN);
- Modal.prototype.handleUpdate = function handleUpdate() {
- this._adjustDialog();
- };
+ $(this._element).removeClass(ClassName.SHOW);
- // private
+ $(this._element).off(Event.CLICK_DISMISS);
+ $(this._dialog).off(Event.MOUSEDOWN_DISMISS);
- Modal.prototype._getConfig = function _getConfig(config) {
- config = $.extend({}, Default, config);
- Util.typeCheckConfig(NAME, config, DefaultType);
- return config;
- };
+ if (transition) {
- Modal.prototype._showElement = function _showElement(relatedTarget) {
- var _this3 = this;
+ $(this._element).one(Util.TRANSITION_END, function (event) {
+ return _this2._hideModal(event);
+ }).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ this._hideModal();
+ }
+ }
+ }, {
+ key: 'dispose',
+ value: function dispose() {
+ $.removeData(this._element, DATA_KEY);
- var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+ $(window, document, this._element, this._backdrop).off(EVENT_KEY);
- if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
- // don't move modals dom position
- document.body.appendChild(this._element);
+ this._config = null;
+ this._element = null;
+ this._dialog = null;
+ this._backdrop = null;
+ this._isShown = null;
+ this._isBodyOverflowing = null;
+ this._ignoreBackdropClick = null;
+ this._scrollbarWidth = null;
+ }
+ }, {
+ key: 'handleUpdate',
+ value: function handleUpdate() {
+ this._adjustDialog();
}
- this._element.style.display = 'block';
- this._element.removeAttribute('aria-hidden');
- this._element.scrollTop = 0;
+ // private
- if (transition) {
- Util.reflow(this._element);
+ }, {
+ key: '_getConfig',
+ value: function _getConfig(config) {
+ config = $.extend({}, Default, config);
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
}
+ }, {
+ key: '_showElement',
+ value: function _showElement(relatedTarget) {
+ var _this3 = this;
- $(this._element).addClass(ClassName.SHOW);
+ var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
- if (this._config.focus) {
- this._enforceFocus();
- }
+ if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
+ // don't move modals dom position
+ document.body.appendChild(this._element);
+ }
- var shownEvent = $.Event(Event.SHOWN, {
- relatedTarget: relatedTarget
- });
+ this._element.style.display = 'block';
+ this._element.removeAttribute('aria-hidden');
+ this._element.scrollTop = 0;
- var transitionComplete = function transitionComplete() {
- if (_this3._config.focus) {
- _this3._element.focus();
+ if (transition) {
+ Util.reflow(this._element);
}
- _this3._isTransitioning = false;
- $(_this3._element).trigger(shownEvent);
- };
-
- if (transition) {
- $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- transitionComplete();
- }
- };
- Modal.prototype._enforceFocus = function _enforceFocus() {
- var _this4 = this;
+ $(this._element).addClass(ClassName.SHOW);
- $(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) {
- _this4._element.focus();
+ if (this._config.focus) {
+ this._enforceFocus();
}
- });
- };
- Modal.prototype._setEscapeEvent = function _setEscapeEvent() {
- var _this5 = this;
+ var shownEvent = $.Event(Event.SHOWN, {
+ relatedTarget: relatedTarget
+ });
- if (this._isShown && this._config.keyboard) {
- $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
- if (event.which === ESCAPE_KEYCODE) {
- event.preventDefault();
- _this5.hide();
+ var transitionComplete = function transitionComplete() {
+ if (_this3._config.focus) {
+ _this3._element.focus();
+ }
+ _this3._isTransitioning = false;
+ $(_this3._element).trigger(shownEvent);
+ };
+
+ if (transition) {
+ $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ transitionComplete();
+ }
+ }
+ }, {
+ key: '_enforceFocus',
+ value: function _enforceFocus() {
+ var _this4 = this;
+
+ $(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) {
+ _this4._element.focus();
}
});
- } else if (!this._isShown) {
- $(this._element).off(Event.KEYDOWN_DISMISS);
}
- };
-
- Modal.prototype._setResizeEvent = function _setResizeEvent() {
- var _this6 = this;
-
- if (this._isShown) {
- $(window).on(Event.RESIZE, function (event) {
- return _this6.handleUpdate(event);
+ }, {
+ key: '_setEscapeEvent',
+ value: 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();
+ _this5.hide();
+ }
+ });
+ } else if (!this._isShown) {
+ $(this._element).off(Event.KEYDOWN_DISMISS);
+ }
+ }
+ }, {
+ key: '_setResizeEvent',
+ value: function _setResizeEvent() {
+ var _this6 = this;
+
+ if (this._isShown) {
+ $(window).on(Event.RESIZE, function (event) {
+ return _this6.handleUpdate(event);
+ });
+ } else {
+ $(window).off(Event.RESIZE);
+ }
+ }
+ }, {
+ key: '_hideModal',
+ value: function _hideModal() {
+ var _this7 = this;
+
+ this._element.style.display = 'none';
+ this._element.setAttribute('aria-hidden', true);
+ this._isTransitioning = false;
+ this._showBackdrop(function () {
+ $(document.body).removeClass(ClassName.OPEN);
+ _this7._resetAdjustments();
+ _this7._resetScrollbar();
+ $(_this7._element).trigger(Event.HIDDEN);
});
- } else {
- $(window).off(Event.RESIZE);
}
- };
-
- Modal.prototype._hideModal = function _hideModal() {
- var _this7 = this;
-
- this._element.style.display = 'none';
- this._element.setAttribute('aria-hidden', true);
- this._isTransitioning = false;
- this._showBackdrop(function () {
- $(document.body).removeClass(ClassName.OPEN);
- _this7._resetAdjustments();
- _this7._resetScrollbar();
- $(_this7._element).trigger(Event.HIDDEN);
- });
- };
-
- Modal.prototype._removeBackdrop = function _removeBackdrop() {
- if (this._backdrop) {
- $(this._backdrop).remove();
- this._backdrop = null;
+ }, {
+ key: '_removeBackdrop',
+ value: function _removeBackdrop() {
+ if (this._backdrop) {
+ $(this._backdrop).remove();
+ this._backdrop = null;
+ }
}
- };
+ }, {
+ key: '_showBackdrop',
+ value: function _showBackdrop(callback) {
+ var _this8 = this;
- Modal.prototype._showBackdrop = function _showBackdrop(callback) {
- var _this8 = this;
+ var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
- var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
+ if (this._isShown && this._config.backdrop) {
+ var doAnimate = Util.supportsTransitionEnd() && animate;
- if (this._isShown && this._config.backdrop) {
- var doAnimate = Util.supportsTransitionEnd() && animate;
+ this._backdrop = document.createElement('div');
+ this._backdrop.className = ClassName.BACKDROP;
- this._backdrop = document.createElement('div');
- this._backdrop.className = ClassName.BACKDROP;
+ if (animate) {
+ $(this._backdrop).addClass(animate);
+ }
- if (animate) {
- $(this._backdrop).addClass(animate);
- }
+ $(this._backdrop).appendTo(document.body);
+
+ $(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 (doAnimate) {
+ Util.reflow(this._backdrop);
+ }
- $(this._backdrop).appendTo(document.body);
+ $(this._backdrop).addClass(ClassName.SHOW);
- $(this._element).on(Event.CLICK_DISMISS, function (event) {
- if (_this8._ignoreBackdropClick) {
- _this8._ignoreBackdropClick = false;
+ if (!callback) {
return;
}
- if (event.target !== event.currentTarget) {
+
+ if (!doAnimate) {
+ callback();
return;
}
- if (_this8._config.backdrop === 'static') {
- _this8._element.focus();
- } else {
- _this8.hide();
- }
- });
- if (doAnimate) {
- Util.reflow(this._backdrop);
- }
+ $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+ } else if (!this._isShown && this._backdrop) {
+ $(this._backdrop).removeClass(ClassName.SHOW);
- $(this._backdrop).addClass(ClassName.SHOW);
+ var callbackRemove = function callbackRemove() {
+ _this8._removeBackdrop();
+ if (callback) {
+ callback();
+ }
+ };
- if (!callback) {
- return;
- }
-
- if (!doAnimate) {
+ if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
+ $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
+ } else {
+ callbackRemove();
+ }
+ } else if (callback) {
callback();
- return;
}
+ }
- $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
- } else if (!this._isShown && this._backdrop) {
- $(this._backdrop).removeClass(ClassName.SHOW);
+ // ----------------------------------------------------------------------
+ // the following methods are used to handle overflowing modals
+ // todo (fat): these should probably be refactored out of modal.js
+ // ----------------------------------------------------------------------
- var callbackRemove = function callbackRemove() {
- _this8._removeBackdrop();
- if (callback) {
- callback();
- }
- };
+ }, {
+ key: '_adjustDialog',
+ value: function _adjustDialog() {
+ var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
- if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
- $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
- } 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
- // ----------------------------------------------------------------------
-
- Modal.prototype._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';
+ }, {
+ key: '_resetAdjustments',
+ value: function _resetAdjustments() {
+ this._element.style.paddingLeft = '';
+ this._element.style.paddingRight = '';
}
- };
-
- Modal.prototype._resetAdjustments = function _resetAdjustments() {
- this._element.style.paddingLeft = '';
- this._element.style.paddingRight = '';
- };
-
- Modal.prototype._checkScrollbar = function _checkScrollbar() {
- this._isBodyOverflowing = document.body.clientWidth < window.innerWidth;
- this._scrollbarWidth = this._getScrollbarWidth();
- };
-
- Modal.prototype._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
-
- // Adjust fixed content padding
+ }, {
+ key: '_checkScrollbar',
+ value: function _checkScrollbar() {
+ var rect = document.body.getBoundingClientRect();
+ this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
+ this._scrollbarWidth = this._getScrollbarWidth();
+ }
+ }, {
+ key: '_setScrollbar',
+ value: 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
+
+ // Adjust fixed content padding
+ $(Selector.FIXED_CONTENT).each(function (index, element) {
+ var actualPadding = $(element)[0].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
+ $(Selector.STICKY_CONTENT).each(function (index, element) {
+ var actualMargin = $(element)[0].style.marginRight;
+ var calculatedMargin = $(element).css('margin-right');
+ $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + 'px');
+ });
+
+ // Adjust navbar-toggler margin
+ $(Selector.NAVBAR_TOGGLER).each(function (index, element) {
+ var actualMargin = $(element)[0].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 = $('body').css('padding-right');
+ $('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + 'px');
+ }
+ }
+ }, {
+ key: '_resetScrollbar',
+ value: function _resetScrollbar() {
+ // Restore fixed content padding
$(Selector.FIXED_CONTENT).each(function (index, element) {
- var actualPadding = $(element)[0].style.paddingRight;
- var calculatedPadding = $(element).css('padding-right');
- $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + 'px');
+ var padding = $(element).data('padding-right');
+ if (typeof padding !== 'undefined') {
+ $(element).css('padding-right', padding).removeData('padding-right');
+ }
});
- // Adjust navbar-toggler margin
- $(Selector.NAVBAR_TOGGLER).each(function (index, element) {
- var actualMargin = $(element)[0].style.marginRight;
- var calculatedMargin = $(element).css('margin-right');
- $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + 'px');
+ // Restore sticky content and navbar-toggler margin
+ $(Selector.STICKY_CONTENT + ', ' + Selector.NAVBAR_TOGGLER).each(function (index, element) {
+ var margin = $(element).data('margin-right');
+ if (typeof margin !== 'undefined') {
+ $(element).css('margin-right', margin).removeData('margin-right');
+ }
});
- // Adjust body padding
- var actualPadding = document.body.style.paddingRight;
- var calculatedPadding = $('body').css('padding-right');
- $('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + 'px');
- }
- };
-
- Modal.prototype._resetScrollbar = function _resetScrollbar() {
- // Restore fixed content padding
- $(Selector.FIXED_CONTENT).each(function (index, element) {
- var padding = $(element).data('padding-right');
+ // Restore body padding
+ var padding = $('body').data('padding-right');
if (typeof padding !== 'undefined') {
- $(element).css('padding-right', padding).removeData('padding-right');
+ $('body').css('padding-right', padding).removeData('padding-right');
}
- });
+ }
+ }, {
+ key: '_getScrollbarWidth',
+ value: 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;
+ }
- // Restore navbar-toggler margin
- $(Selector.NAVBAR_TOGGLER).each(function (index, element) {
- var margin = $(element).data('margin-right');
- if (typeof margin !== 'undefined') {
- $(element).css('margin-right', margin).removeData('margin-right');
- }
- });
+ // static
- // Restore body padding
- var padding = $('body').data('padding-right');
- if (typeof padding !== 'undefined') {
- $('body').css('padding-right', padding).removeData('padding-right');
- }
- };
-
- Modal.prototype._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 = $(this).data(DATA_KEY);
- var _config = $.extend({}, Modal.Default, $(this).data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
-
- if (!data) {
- data = new Modal(this, _config);
- $(this).data(DATA_KEY, data);
- }
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config, relatedTarget) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = $.extend({}, Modal.Default, $(this).data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config);
- if (typeof config === 'string') {
- if (data[config] === undefined) {
- throw new Error('No method named "' + config + '"');
+ if (!data) {
+ data = new Modal(this, _config);
+ $(this).data(DATA_KEY, data);
}
- data[config](relatedTarget);
- } else if (_config.show) {
- data.show(relatedTarget);
- }
- });
- };
- _createClass(Modal, null, [{
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config](relatedTarget);
+ } else if (_config.show) {
+ data.show(relatedTarget);
+ }
+ });
+ }
+ }, {
key: 'VERSION',
get: function get() {
return VERSION;
diff --git a/js/dist/modal.js.map b/js/dist/modal.js.map
index 04913e26ee..3378029fa2 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","TRANSITION_DURATION","BACKDROP_TRANSITION_DURATION","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","NAVBAR_TOGGLER","element","config","_config","_getConfig","_element","_dialog","find","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","toggle","relatedTarget","hide","_isTransitioning","Util","supportsTransitionEnd","hasClass","showEvent","trigger","isDefaultPrevented","_checkScrollbar","_setScrollbar","document","body","addClass","_setEscapeEvent","_setResizeEvent","on","event","one","target","is","_showBackdrop","_showElement","preventDefault","transition","hideEvent","off","removeClass","TRANSITION_END","_hideModal","emulateTransitionEnd","dispose","removeData","window","handleUpdate","_adjustDialog","extend","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","doAnimate","createElement","className","appendTo","currentTarget","callbackRemove","isModalOverflowing","scrollHeight","documentElement","clientHeight","paddingLeft","paddingRight","clientWidth","innerWidth","_getScrollbarWidth","each","index","actualPadding","calculatedPadding","css","data","parseFloat","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","getBoundingClientRect","width","removeChild","_jQueryInterface","undefined","Error","selector","getSelectorFromElement","tagName","$target","call","Constructor","noConflict","jQuery"],"mappings":";;;;;;AAGA;;;;;;;AAOA,IAAMA,QAAS,UAACC,CAAD,EAAO;;AAGpB;;;;;;AAMA,MAAMC,OAA+B,OAArC;AACA,MAAMC,UAA+B,YAArC;AACA,MAAMC,WAA+B,UAArC;AACA,MAAMC,kBAAmCD,QAAzC;AACA,MAAME,eAA+B,WAArC;AACA,MAAMC,qBAA+BN,EAAEO,EAAF,CAAKN,IAAL,CAArC;AACA,MAAMO,sBAA+B,GAArC;AACA,MAAMC,+BAA+B,GAArC;AACA,MAAMC,iBAA+B,EAArC,CAjBoB,CAiBoB;;AAExC,MAAMC,UAAU;AACdC,cAAW,IADG;AAEdC,cAAW,IAFG;AAGdC,WAAW,IAHG;AAIdC,UAAW;AAJG,GAAhB;;AAOA,MAAMC,cAAc;AAClBJ,cAAW,kBADO;AAElBC,cAAW,SAFO;AAGlBC,WAAW,SAHO;AAIlBC,UAAW;AAJO,GAApB;;AAOA,MAAME,QAAQ;AACZC,mBAA2Bd,SADf;AAEZe,uBAA6Bf,SAFjB;AAGZgB,mBAA2BhB,SAHf;AAIZiB,qBAA4BjB,SAJhB;AAKZkB,yBAA8BlB,SALlB;AAMZmB,uBAA6BnB,SANjB;AAOZoB,qCAAoCpB,SAPxB;AAQZqB,yCAAsCrB,SAR1B;AASZsB,yCAAsCtB,SAT1B;AAUZuB,6CAAwCvB,SAV5B;AAWZwB,8BAA4BxB,SAA5B,GAAwCC;AAX5B,GAAd;;AAcA,MAAMwB,YAAY;AAChBC,wBAAqB,yBADL;AAEhBC,cAAqB,gBAFL;AAGhBC,UAAqB,YAHL;AAIhBC,UAAqB,MAJL;AAKhBb,UAAqB;AALL,GAAlB;;AAQA,MAAMc,WAAW;AACfC,YAAqB,eADN;AAEfC,iBAAqB,uBAFN;AAGfC,kBAAqB,wBAHN;AAIfC,mBAAqB,mDAJN;AAKfC,oBAAqB;;AAIvB;;;;;;AATiB,GAAjB;AAvDoB,MAsEdxC,KAtEc;AAwElB,mBAAYyC,OAAZ,EAAqBC,MAArB,EAA6B;AAAA;;AAC3B,WAAKC,OAAL,GAA4B,KAAKC,UAAL,CAAgBF,MAAhB,CAA5B;AACA,WAAKG,QAAL,GAA4BJ,OAA5B;AACA,WAAKK,OAAL,GAA4B7C,EAAEwC,OAAF,EAAWM,IAAX,CAAgBZ,SAASC,MAAzB,EAAiC,CAAjC,CAA5B;AACA,WAAKY,SAAL,GAA4B,IAA5B;AACA,WAAKC,QAAL,GAA4B,KAA5B;AACA,WAAKC,kBAAL,GAA4B,KAA5B;AACA,WAAKC,oBAAL,GAA4B,KAA5B;AACA,WAAKC,oBAAL,GAA4B,CAA5B;AACA,WAAKC,eAAL,GAA4B,CAA5B;AACD;;AAGD;;AAWA;;AAhGkB,oBAkGlBC,MAlGkB,mBAkGXC,aAlGW,EAkGI;AACpB,aAAO,KAAKN,QAAL,GAAgB,KAAKO,IAAL,EAAhB,GAA8B,KAAKxC,IAAL,CAAUuC,aAAV,CAArC;AACD,KApGiB;;AAAA,oBAsGlBvC,IAtGkB,iBAsGbuC,aAtGa,EAsGE;AAAA;;AAClB,UAAI,KAAKE,gBAAT,EAA2B;AACzB;AACD;;AAED,UAAIC,KAAKC,qBAAL,MAAgC1D,EAAE,KAAK4C,QAAP,EAAiBe,QAAjB,CAA0B9B,UAAUI,IAApC,CAApC,EAA+E;AAC7E,aAAKuB,gBAAL,GAAwB,IAAxB;AACD;;AAED,UAAMI,YAAY5D,EAAEiB,KAAF,CAAQA,MAAMG,IAAd,EAAoB;AACpCkC;AADoC,OAApB,CAAlB;;AAIAtD,QAAE,KAAK4C,QAAP,EAAiBiB,OAAjB,CAAyBD,SAAzB;;AAEA,UAAI,KAAKZ,QAAL,IAAiBY,UAAUE,kBAAV,EAArB,EAAqD;AACnD;AACD;;AAED,WAAKd,QAAL,GAAgB,IAAhB;;AAEA,WAAKe,eAAL;AACA,WAAKC,aAAL;;AAEAhE,QAAEiE,SAASC,IAAX,EAAiBC,QAAjB,CAA0BtC,UAAUG,IAApC;;AAEA,WAAKoC,eAAL;AACA,WAAKC,eAAL;;AAEArE,QAAE,KAAK4C,QAAP,EAAiB0B,EAAjB,CACErD,MAAMO,aADR,EAEEU,SAASG,YAFX,EAGE,UAACkC,KAAD;AAAA,eAAW,MAAKhB,IAAL,CAAUgB,KAAV,CAAX;AAAA,OAHF;;AAMAvE,QAAE,KAAK6C,OAAP,EAAgByB,EAAhB,CAAmBrD,MAAMU,iBAAzB,EAA4C,YAAM;AAChD3B,UAAE,MAAK4C,QAAP,EAAiB4B,GAAjB,CAAqBvD,MAAMS,eAA3B,EAA4C,UAAC6C,KAAD,EAAW;AACrD,cAAIvE,EAAEuE,MAAME,MAAR,EAAgBC,EAAhB,CAAmB,MAAK9B,QAAxB,CAAJ,EAAuC;AACrC,kBAAKM,oBAAL,GAA4B,IAA5B;AACD;AACF,SAJD;AAKD,OAND;;AAQA,WAAKyB,aAAL,CAAmB;AAAA,eAAM,MAAKC,YAAL,CAAkBtB,aAAlB,CAAN;AAAA,OAAnB;AACD,KAlJiB;;AAAA,oBAoJlBC,IApJkB,iBAoJbgB,KApJa,EAoJN;AAAA;;AACV,UAAIA,KAAJ,EAAW;AACTA,cAAMM,cAAN;AACD;;AAED,UAAI,KAAKrB,gBAAL,IAAyB,CAAC,KAAKR,QAAnC,EAA6C;AAC3C;AACD;;AAED,UAAM8B,aAAarB,KAAKC,qBAAL,MAAgC1D,EAAE,KAAK4C,QAAP,EAAiBe,QAAjB,CAA0B9B,UAAUI,IAApC,CAAnD;;AAEA,UAAI6C,UAAJ,EAAgB;AACd,aAAKtB,gBAAL,GAAwB,IAAxB;AACD;;AAED,UAAMuB,YAAY/E,EAAEiB,KAAF,CAAQA,MAAMC,IAAd,CAAlB;;AAEAlB,QAAE,KAAK4C,QAAP,EAAiBiB,OAAjB,CAAyBkB,SAAzB;;AAEA,UAAI,CAAC,KAAK/B,QAAN,IAAkB+B,UAAUjB,kBAAV,EAAtB,EAAsD;AACpD;AACD;;AAED,WAAKd,QAAL,GAAgB,KAAhB;;AAEA,WAAKoB,eAAL;AACA,WAAKC,eAAL;;AAEArE,QAAEiE,QAAF,EAAYe,GAAZ,CAAgB/D,MAAMK,OAAtB;;AAEAtB,QAAE,KAAK4C,QAAP,EAAiBqC,WAAjB,CAA6BpD,UAAUT,IAAvC;;AAEApB,QAAE,KAAK4C,QAAP,EAAiBoC,GAAjB,CAAqB/D,MAAMO,aAA3B;AACAxB,QAAE,KAAK6C,OAAP,EAAgBmC,GAAhB,CAAoB/D,MAAMU,iBAA1B;;AAEA,UAAImD,UAAJ,EAAgB;;AAEd9E,UAAE,KAAK4C,QAAP,EACG4B,GADH,CACOf,KAAKyB,cADZ,EAC4B,UAACX,KAAD;AAAA,iBAAW,OAAKY,UAAL,CAAgBZ,KAAhB,CAAX;AAAA,SAD5B,EAEGa,oBAFH,CAEwB5E,mBAFxB;AAGD,OALD,MAKO;AACL,aAAK2E,UAAL;AACD;AACF,KA/LiB;;AAAA,oBAiMlBE,OAjMkB,sBAiMR;AACRrF,QAAEsF,UAAF,CAAa,KAAK1C,QAAlB,EAA4BzC,QAA5B;;AAEAH,QAAEuF,MAAF,EAAUtB,QAAV,EAAoB,KAAKrB,QAAzB,EAAmC,KAAKG,SAAxC,EAAmDiC,GAAnD,CAAuD5E,SAAvD;;AAEA,WAAKsC,OAAL,GAA4B,IAA5B;AACA,WAAKE,QAAL,GAA4B,IAA5B;AACA,WAAKC,OAAL,GAA4B,IAA5B;AACA,WAAKE,SAAL,GAA4B,IAA5B;AACA,WAAKC,QAAL,GAA4B,IAA5B;AACA,WAAKC,kBAAL,GAA4B,IAA5B;AACA,WAAKC,oBAAL,GAA4B,IAA5B;AACA,WAAKE,eAAL,GAA4B,IAA5B;AACD,KA9MiB;;AAAA,oBAgNlBoC,YAhNkB,2BAgNH;AACb,WAAKC,aAAL;AACD,KAlNiB;;AAoNlB;;AApNkB,oBAsNlB9C,UAtNkB,uBAsNPF,MAtNO,EAsNC;AACjBA,eAASzC,EAAE0F,MAAF,CAAS,EAAT,EAAa/E,OAAb,EAAsB8B,MAAtB,CAAT;AACAgB,WAAKkC,eAAL,CAAqB1F,IAArB,EAA2BwC,MAA3B,EAAmCzB,WAAnC;AACA,aAAOyB,MAAP;AACD,KA1NiB;;AAAA,oBA4NlBmC,YA5NkB,yBA4NLtB,aA5NK,EA4NU;AAAA;;AAC1B,UAAMwB,aAAarB,KAAKC,qBAAL,MACjB1D,EAAE,KAAK4C,QAAP,EAAiBe,QAAjB,CAA0B9B,UAAUI,IAApC,CADF;;AAGA,UAAI,CAAC,KAAKW,QAAL,CAAcgD,UAAf,IACD,KAAKhD,QAAL,CAAcgD,UAAd,CAAyBC,QAAzB,KAAsCC,KAAKC,YAD9C,EAC4D;AAC1D;AACA9B,iBAASC,IAAT,CAAc8B,WAAd,CAA0B,KAAKpD,QAA/B;AACD;;AAED,WAAKA,QAAL,CAAcqD,KAAd,CAAoBC,OAApB,GAA8B,OAA9B;AACA,WAAKtD,QAAL,CAAcuD,eAAd,CAA8B,aAA9B;AACA,WAAKvD,QAAL,CAAcwD,SAAd,GAA0B,CAA1B;;AAEA,UAAItB,UAAJ,EAAgB;AACdrB,aAAK4C,MAAL,CAAY,KAAKzD,QAAjB;AACD;;AAED5C,QAAE,KAAK4C,QAAP,EAAiBuB,QAAjB,CAA0BtC,UAAUT,IAApC;;AAEA,UAAI,KAAKsB,OAAL,CAAa5B,KAAjB,EAAwB;AACtB,aAAKwF,aAAL;AACD;;AAED,UAAMC,aAAavG,EAAEiB,KAAF,CAAQA,MAAMI,KAAd,EAAqB;AACtCiC;AADsC,OAArB,CAAnB;;AAIA,UAAMkD,qBAAqB,SAArBA,kBAAqB,GAAM;AAC/B,YAAI,OAAK9D,OAAL,CAAa5B,KAAjB,EAAwB;AACtB,iBAAK8B,QAAL,CAAc9B,KAAd;AACD;AACD,eAAK0C,gBAAL,GAAwB,KAAxB;AACAxD,UAAE,OAAK4C,QAAP,EAAiBiB,OAAjB,CAAyB0C,UAAzB;AACD,OAND;;AAQA,UAAIzB,UAAJ,EAAgB;AACd9E,UAAE,KAAK6C,OAAP,EACG2B,GADH,CACOf,KAAKyB,cADZ,EAC4BsB,kBAD5B,EAEGpB,oBAFH,CAEwB5E,mBAFxB;AAGD,OAJD,MAIO;AACLgG;AACD;AACF,KAvQiB;;AAAA,oBAyQlBF,aAzQkB,4BAyQF;AAAA;;AACdtG,QAAEiE,QAAF,EACGe,GADH,CACO/D,MAAMK,OADb,EACsB;AADtB,OAEGgD,EAFH,CAEMrD,MAAMK,OAFZ,EAEqB,UAACiD,KAAD,EAAW;AAC5B,YAAIN,aAAaM,MAAME,MAAnB,IACA,OAAK7B,QAAL,KAAkB2B,MAAME,MADxB,IAEA,CAACzE,EAAE,OAAK4C,QAAP,EAAiB6D,GAAjB,CAAqBlC,MAAME,MAA3B,EAAmCiC,MAFxC,EAEgD;AAC9C,iBAAK9D,QAAL,CAAc9B,KAAd;AACD;AACF,OARH;AASD,KAnRiB;;AAAA,oBAqRlBsD,eArRkB,8BAqRA;AAAA;;AAChB,UAAI,KAAKpB,QAAL,IAAiB,KAAKN,OAAL,CAAa7B,QAAlC,EAA4C;AAC1Cb,UAAE,KAAK4C,QAAP,EAAiB0B,EAAjB,CAAoBrD,MAAMQ,eAA1B,EAA2C,UAAC8C,KAAD,EAAW;AACpD,cAAIA,MAAMoC,KAAN,KAAgBjG,cAApB,EAAoC;AAClC6D,kBAAMM,cAAN;AACA,mBAAKtB,IAAL;AACD;AACF,SALD;AAOD,OARD,MAQO,IAAI,CAAC,KAAKP,QAAV,EAAoB;AACzBhD,UAAE,KAAK4C,QAAP,EAAiBoC,GAAjB,CAAqB/D,MAAMQ,eAA3B;AACD;AACF,KAjSiB;;AAAA,oBAmSlB4C,eAnSkB,8BAmSA;AAAA;;AAChB,UAAI,KAAKrB,QAAT,EAAmB;AACjBhD,UAAEuF,MAAF,EAAUjB,EAAV,CAAarD,MAAMM,MAAnB,EAA2B,UAACgD,KAAD;AAAA,iBAAW,OAAKiB,YAAL,CAAkBjB,KAAlB,CAAX;AAAA,SAA3B;AACD,OAFD,MAEO;AACLvE,UAAEuF,MAAF,EAAUP,GAAV,CAAc/D,MAAMM,MAApB;AACD;AACF,KAzSiB;;AAAA,oBA2SlB4D,UA3SkB,yBA2SL;AAAA;;AACX,WAAKvC,QAAL,CAAcqD,KAAd,CAAoBC,OAApB,GAA8B,MAA9B;AACA,WAAKtD,QAAL,CAAcgE,YAAd,CAA2B,aAA3B,EAA0C,IAA1C;AACA,WAAKpD,gBAAL,GAAwB,KAAxB;AACA,WAAKmB,aAAL,CAAmB,YAAM;AACvB3E,UAAEiE,SAASC,IAAX,EAAiBe,WAAjB,CAA6BpD,UAAUG,IAAvC;AACA,eAAK6E,iBAAL;AACA,eAAKC,eAAL;AACA9G,UAAE,OAAK4C,QAAP,EAAiBiB,OAAjB,CAAyB5C,MAAME,MAA/B;AACD,OALD;AAMD,KArTiB;;AAAA,oBAuTlB4F,eAvTkB,8BAuTA;AAChB,UAAI,KAAKhE,SAAT,EAAoB;AAClB/C,UAAE,KAAK+C,SAAP,EAAkBiE,MAAlB;AACA,aAAKjE,SAAL,GAAiB,IAAjB;AACD;AACF,KA5TiB;;AAAA,oBA8TlB4B,aA9TkB,0BA8TJsC,QA9TI,EA8TM;AAAA;;AACtB,UAAMC,UAAUlH,EAAE,KAAK4C,QAAP,EAAiBe,QAAjB,CAA0B9B,UAAUI,IAApC,IACdJ,UAAUI,IADI,GACG,EADnB;;AAGA,UAAI,KAAKe,QAAL,IAAiB,KAAKN,OAAL,CAAa9B,QAAlC,EAA4C;AAC1C,YAAMuG,YAAY1D,KAAKC,qBAAL,MAAgCwD,OAAlD;;AAEA,aAAKnE,SAAL,GAAiBkB,SAASmD,aAAT,CAAuB,KAAvB,CAAjB;AACA,aAAKrE,SAAL,CAAesE,SAAf,GAA2BxF,UAAUE,QAArC;;AAEA,YAAImF,OAAJ,EAAa;AACXlH,YAAE,KAAK+C,SAAP,EAAkBoB,QAAlB,CAA2B+C,OAA3B;AACD;;AAEDlH,UAAE,KAAK+C,SAAP,EAAkBuE,QAAlB,CAA2BrD,SAASC,IAApC;;AAEAlE,UAAE,KAAK4C,QAAP,EAAiB0B,EAAjB,CAAoBrD,MAAMO,aAA1B,EAAyC,UAAC+C,KAAD,EAAW;AAClD,cAAI,OAAKrB,oBAAT,EAA+B;AAC7B,mBAAKA,oBAAL,GAA4B,KAA5B;AACA;AACD;AACD,cAAIqB,MAAME,MAAN,KAAiBF,MAAMgD,aAA3B,EAA0C;AACxC;AACD;AACD,cAAI,OAAK7E,OAAL,CAAa9B,QAAb,KAA0B,QAA9B,EAAwC;AACtC,mBAAKgC,QAAL,CAAc9B,KAAd;AACD,WAFD,MAEO;AACL,mBAAKyC,IAAL;AACD;AACF,SAbD;;AAeA,YAAI4D,SAAJ,EAAe;AACb1D,eAAK4C,MAAL,CAAY,KAAKtD,SAAjB;AACD;;AAED/C,UAAE,KAAK+C,SAAP,EAAkBoB,QAAlB,CAA2BtC,UAAUT,IAArC;;AAEA,YAAI,CAAC6F,QAAL,EAAe;AACb;AACD;;AAED,YAAI,CAACE,SAAL,EAAgB;AACdF;AACA;AACD;;AAEDjH,UAAE,KAAK+C,SAAP,EACGyB,GADH,CACOf,KAAKyB,cADZ,EAC4B+B,QAD5B,EAEG7B,oBAFH,CAEwB3E,4BAFxB;AAID,OA9CD,MA8CO,IAAI,CAAC,KAAKuC,QAAN,IAAkB,KAAKD,SAA3B,EAAsC;AAC3C/C,UAAE,KAAK+C,SAAP,EAAkBkC,WAAlB,CAA8BpD,UAAUT,IAAxC;;AAEA,YAAMoG,iBAAiB,SAAjBA,cAAiB,GAAM;AAC3B,iBAAKT,eAAL;AACA,cAAIE,QAAJ,EAAc;AACZA;AACD;AACF,SALD;;AAOA,YAAIxD,KAAKC,qBAAL,MACD1D,EAAE,KAAK4C,QAAP,EAAiBe,QAAjB,CAA0B9B,UAAUI,IAApC,CADH,EAC8C;AAC5CjC,YAAE,KAAK+C,SAAP,EACGyB,GADH,CACOf,KAAKyB,cADZ,EAC4BsC,cAD5B,EAEGpC,oBAFH,CAEwB3E,4BAFxB;AAGD,SALD,MAKO;AACL+G;AACD;AAEF,OAnBM,MAmBA,IAAIP,QAAJ,EAAc;AACnBA;AACD;AACF,KAtYiB;;AAyYlB;AACA;AACA;AACA;;AA5YkB,oBA8YlBxB,aA9YkB,4BA8YF;AACd,UAAMgC,qBACJ,KAAK7E,QAAL,CAAc8E,YAAd,GAA6BzD,SAAS0D,eAAT,CAAyBC,YADxD;;AAGA,UAAI,CAAC,KAAK3E,kBAAN,IAA4BwE,kBAAhC,EAAoD;AAClD,aAAK7E,QAAL,CAAcqD,KAAd,CAAoB4B,WAApB,GAAqC,KAAKzE,eAA1C;AACD;;AAED,UAAI,KAAKH,kBAAL,IAA2B,CAACwE,kBAAhC,EAAoD;AAClD,aAAK7E,QAAL,CAAcqD,KAAd,CAAoB6B,YAApB,GAAsC,KAAK1E,eAA3C;AACD;AACF,KAzZiB;;AAAA,oBA2ZlByD,iBA3ZkB,gCA2ZE;AAClB,WAAKjE,QAAL,CAAcqD,KAAd,CAAoB4B,WAApB,GAAkC,EAAlC;AACA,WAAKjF,QAAL,CAAcqD,KAAd,CAAoB6B,YAApB,GAAmC,EAAnC;AACD,KA9ZiB;;AAAA,oBAgalB/D,eAhakB,8BAgaA;AAChB,WAAKd,kBAAL,GAA0BgB,SAASC,IAAT,CAAc6D,WAAd,GAA4BxC,OAAOyC,UAA7D;AACA,WAAK5E,eAAL,GAAuB,KAAK6E,kBAAL,EAAvB;AACD,KAnaiB;;AAAA,oBAqalBjE,aArakB,4BAqaF;AAAA;;AACd,UAAI,KAAKf,kBAAT,EAA6B;AAC3B;AACA;;AAEA;AACAjD,UAAEkC,SAASI,aAAX,EAA0B4F,IAA1B,CAA+B,UAACC,KAAD,EAAQ3F,OAAR,EAAoB;AACjD,cAAM4F,gBAAgBpI,EAAEwC,OAAF,EAAW,CAAX,EAAcyD,KAAd,CAAoB6B,YAA1C;AACA,cAAMO,oBAAoBrI,EAAEwC,OAAF,EAAW8F,GAAX,CAAe,eAAf,CAA1B;AACAtI,YAAEwC,OAAF,EAAW+F,IAAX,CAAgB,eAAhB,EAAiCH,aAAjC,EAAgDE,GAAhD,CAAoD,eAApD,EAAwEE,WAAWH,iBAAX,IAAgC,OAAKjF,eAA7G;AACD,SAJD;;AAMA;AACApD,UAAEkC,SAASK,cAAX,EAA2B2F,IAA3B,CAAgC,UAACC,KAAD,EAAQ3F,OAAR,EAAoB;AAClD,cAAMiG,eAAezI,EAAEwC,OAAF,EAAW,CAAX,EAAcyD,KAAd,CAAoByC,WAAzC;AACA,cAAMC,mBAAmB3I,EAAEwC,OAAF,EAAW8F,GAAX,CAAe,cAAf,CAAzB;AACAtI,YAAEwC,OAAF,EAAW+F,IAAX,CAAgB,cAAhB,EAAgCE,YAAhC,EAA8CH,GAA9C,CAAkD,cAAlD,EAAqEE,WAAWG,gBAAX,IAA+B,OAAKvF,eAAzG;AACD,SAJD;;AAMA;AACA,YAAMgF,gBAAgBnE,SAASC,IAAT,CAAc+B,KAAd,CAAoB6B,YAA1C;AACA,YAAMO,oBAAoBrI,EAAE,MAAF,EAAUsI,GAAV,CAAc,eAAd,CAA1B;AACAtI,UAAE,MAAF,EAAUuI,IAAV,CAAe,eAAf,EAAgCH,aAAhC,EAA+CE,GAA/C,CAAmD,eAAnD,EAAuEE,WAAWH,iBAAX,IAAgC,KAAKjF,eAA5G;AACD;AACF,KA7biB;;AAAA,oBA+blB0D,eA/bkB,8BA+bA;AAChB;AACA9G,QAAEkC,SAASI,aAAX,EAA0B4F,IAA1B,CAA+B,UAACC,KAAD,EAAQ3F,OAAR,EAAoB;AACjD,YAAMoG,UAAU5I,EAAEwC,OAAF,EAAW+F,IAAX,CAAgB,eAAhB,CAAhB;AACA,YAAI,OAAOK,OAAP,KAAmB,WAAvB,EAAoC;AAClC5I,YAAEwC,OAAF,EAAW8F,GAAX,CAAe,eAAf,EAAgCM,OAAhC,EAAyCtD,UAAzC,CAAoD,eAApD;AACD;AACF,OALD;;AAOA;AACAtF,QAAEkC,SAASK,cAAX,EAA2B2F,IAA3B,CAAgC,UAACC,KAAD,EAAQ3F,OAAR,EAAoB;AAClD,YAAMqG,SAAS7I,EAAEwC,OAAF,EAAW+F,IAAX,CAAgB,cAAhB,CAAf;AACA,YAAI,OAAOM,MAAP,KAAkB,WAAtB,EAAmC;AACjC7I,YAAEwC,OAAF,EAAW8F,GAAX,CAAe,cAAf,EAA+BO,MAA/B,EAAuCvD,UAAvC,CAAkD,cAAlD;AACD;AACF,OALD;;AAOA;AACA,UAAMsD,UAAU5I,EAAE,MAAF,EAAUuI,IAAV,CAAe,eAAf,CAAhB;AACA,UAAI,OAAOK,OAAP,KAAmB,WAAvB,EAAoC;AAClC5I,UAAE,MAAF,EAAUsI,GAAV,CAAc,eAAd,EAA+BM,OAA/B,EAAwCtD,UAAxC,CAAmD,eAAnD;AACD;AACF,KArdiB;;AAAA,oBAudlB2C,kBAvdkB,iCAudG;AAAE;AACrB,UAAMa,YAAY7E,SAASmD,aAAT,CAAuB,KAAvB,CAAlB;AACA0B,gBAAUzB,SAAV,GAAsBxF,UAAUC,kBAAhC;AACAmC,eAASC,IAAT,CAAc8B,WAAd,CAA0B8C,SAA1B;AACA,UAAMC,iBAAiBD,UAAUE,qBAAV,GAAkCC,KAAlC,GAA0CH,UAAUf,WAA3E;AACA9D,eAASC,IAAT,CAAcgF,WAAd,CAA0BJ,SAA1B;AACA,aAAOC,cAAP;AACD,KA9diB;;AAielB;;AAjekB,UAmeXI,gBAneW,6BAmeM1G,MAneN,EAmeca,aAned,EAme6B;AAC7C,aAAO,KAAK4E,IAAL,CAAU,YAAY;AAC3B,YAAIK,OAAYvI,EAAE,IAAF,EAAQuI,IAAR,CAAapI,QAAb,CAAhB;AACA,YAAMuC,UAAU1C,EAAE0F,MAAF,CACd,EADc,EAEd3F,MAAMY,OAFQ,EAGdX,EAAE,IAAF,EAAQuI,IAAR,EAHc,EAId,QAAO9F,MAAP,yCAAOA,MAAP,OAAkB,QAAlB,IAA8BA,MAJhB,CAAhB;;AAOA,YAAI,CAAC8F,IAAL,EAAW;AACTA,iBAAO,IAAIxI,KAAJ,CAAU,IAAV,EAAgB2C,OAAhB,CAAP;AACA1C,YAAE,IAAF,EAAQuI,IAAR,CAAapI,QAAb,EAAuBoI,IAAvB;AACD;;AAED,YAAI,OAAO9F,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,cAAI8F,KAAK9F,MAAL,MAAiB2G,SAArB,EAAgC;AAC9B,kBAAM,IAAIC,KAAJ,uBAA8B5G,MAA9B,OAAN;AACD;AACD8F,eAAK9F,MAAL,EAAaa,aAAb;AACD,SALD,MAKO,IAAIZ,QAAQ3B,IAAZ,EAAkB;AACvBwH,eAAKxH,IAAL,CAAUuC,aAAV;AACD;AACF,OAtBM,CAAP;AAuBD,KA3fiB;;AAAA;AAAA;AAAA,0BAuFG;AACnB,eAAOpD,OAAP;AACD;AAzFiB;AAAA;AAAA,0BA2FG;AACnB,eAAOS,OAAP;AACD;AA7FiB;;AAAA;AAAA;;AAggBpB;;;;;;AAMAX,IAAEiE,QAAF,EAAYK,EAAZ,CAAerD,MAAMW,cAArB,EAAqCM,SAASE,WAA9C,EAA2D,UAAUmC,KAAV,EAAiB;AAAA;;AAC1E,QAAIE,eAAJ;AACA,QAAM6E,WAAW7F,KAAK8F,sBAAL,CAA4B,IAA5B,CAAjB;;AAEA,QAAID,QAAJ,EAAc;AACZ7E,eAASzE,EAAEsJ,QAAF,EAAY,CAAZ,CAAT;AACD;;AAED,QAAM7G,SAASzC,EAAEyE,MAAF,EAAU8D,IAAV,CAAepI,QAAf,IACb,QADa,GACFH,EAAE0F,MAAF,CAAS,EAAT,EAAa1F,EAAEyE,MAAF,EAAU8D,IAAV,EAAb,EAA+BvI,EAAE,IAAF,EAAQuI,IAAR,EAA/B,CADb;;AAGA,QAAI,KAAKiB,OAAL,KAAiB,GAAjB,IAAwB,KAAKA,OAAL,KAAiB,MAA7C,EAAqD;AACnDjF,YAAMM,cAAN;AACD;;AAED,QAAM4E,UAAUzJ,EAAEyE,MAAF,EAAUD,GAAV,CAAcvD,MAAMG,IAApB,EAA0B,UAACwC,SAAD,EAAe;AACvD,UAAIA,UAAUE,kBAAV,EAAJ,EAAoC;AAClC;AACA;AACD;;AAED2F,cAAQjF,GAAR,CAAYvD,MAAME,MAAlB,EAA0B,YAAM;AAC9B,YAAInB,WAAQ0E,EAAR,CAAW,UAAX,CAAJ,EAA4B;AAC1B,kBAAK5D,KAAL;AACD;AACF,OAJD;AAKD,KAXe,CAAhB;;AAaAf,UAAMoJ,gBAAN,CAAuBO,IAAvB,CAA4B1J,EAAEyE,MAAF,CAA5B,EAAuChC,MAAvC,EAA+C,IAA/C;AACD,GA7BD;;AAgCA;;;;;;AAMAzC,IAAEO,EAAF,CAAKN,IAAL,IAAyBF,MAAMoJ,gBAA/B;AACAnJ,IAAEO,EAAF,CAAKN,IAAL,EAAW0J,WAAX,GAAyB5J,KAAzB;AACAC,IAAEO,EAAF,CAAKN,IAAL,EAAW2J,UAAX,GAAyB,YAAY;AACnC5J,MAAEO,EAAF,CAAKN,IAAL,IAAaK,kBAAb;AACA,WAAOP,MAAMoJ,gBAAb;AACD,GAHD;;AAKA,SAAOpJ,KAAP;AAED,CArjBa,CAqjBX8J,MArjBW,CAAd","file":"modal.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0-beta'\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 TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\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 NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\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\n // public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(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 $(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 transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\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\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 if (transition) {\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\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 = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // don't move modals 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 $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\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) {\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\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 const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(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 (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\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 (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n\n } else if (callback) {\n callback()\n }\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 this._isBodyOverflowing = document.body.clientWidth < 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\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).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 = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\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\n // static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend(\n {},\n Modal.Default,\n $(this).data(),\n typeof config === 'object' && 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 (data[config] === undefined) {\n throw new Error(`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 /**\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 = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : $.extend({}, $(target).data(), $(this).data())\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 * ------------------------------------------------------------------------\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})(jQuery)\n\nexport default Modal\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/modal.js"],"names":["Modal","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","TRANSITION_DURATION","BACKDROP_TRANSITION_DURATION","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","NAVBAR_TOGGLER","element","config","_config","_getConfig","_element","_dialog","find","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","relatedTarget","hide","_isTransitioning","Util","supportsTransitionEnd","hasClass","showEvent","trigger","isDefaultPrevented","_checkScrollbar","_setScrollbar","_adjustDialog","document","body","addClass","_setEscapeEvent","_setResizeEvent","on","event","one","target","is","_showBackdrop","_showElement","preventDefault","transition","hideEvent","off","removeClass","TRANSITION_END","_hideModal","emulateTransitionEnd","removeData","window","extend","typeCheckConfig","parentNode","nodeType","Node","ELEMENT_NODE","appendChild","style","display","removeAttribute","scrollTop","reflow","_enforceFocus","shownEvent","transitionComplete","has","length","which","handleUpdate","setAttribute","_resetAdjustments","_resetScrollbar","remove","callback","animate","doAnimate","createElement","className","appendTo","currentTarget","callbackRemove","_removeBackdrop","isModalOverflowing","scrollHeight","documentElement","clientHeight","paddingLeft","paddingRight","rect","getBoundingClientRect","left","right","innerWidth","_getScrollbarWidth","each","index","actualPadding","calculatedPadding","css","data","parseFloat","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","Error","selector","getSelectorFromElement","tagName","$target","_jQueryInterface","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"modal.js","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0-beta'\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 TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\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 NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\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\n // public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(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 transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\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\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 if (transition) {\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\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 = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // don't move modals 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 $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\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) {\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\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 const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(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 (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\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 (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n\n } else if (callback) {\n callback()\n }\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\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).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 = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\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\n // static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend(\n {},\n Modal.Default,\n $(this).data(),\n typeof config === 'object' && 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 Error(`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 /**\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 = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : $.extend({}, $(target).data(), $(this).data())\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 * ------------------------------------------------------------------------\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})(jQuery)\n\nexport default Modal\n"]} \ No newline at end of file
diff --git a/js/dist/popover.js b/js/dist/popover.js
index 901fc87cb9..b20459c2c3 100644
--- a/js/dist/popover.js
+++ b/js/dist/popover.js
@@ -1,3 +1,5 @@
+'use strict';
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -15,7 +17,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
* --------------------------------------------------------------------------
*/
-var Popover = function ($) {
+var Popover = function () {
/**
* ------------------------------------------------------------------------
@@ -77,73 +79,85 @@ var Popover = function ($) {
function Popover() {
_classCallCheck(this, Popover);
- return _possibleConstructorReturn(this, _Tooltip.apply(this, arguments));
+ return _possibleConstructorReturn(this, (Popover.__proto__ || Object.getPrototypeOf(Popover)).apply(this, arguments));
}
- // overrides
-
- Popover.prototype.isWithContent = function isWithContent() {
- return this.getTitle() || this._getContent();
- };
-
- Popover.prototype.addAttachmentClass = function addAttachmentClass(attachment) {
- $(this.getTipElement()).addClass(CLASS_PREFIX + '-' + attachment);
- };
+ _createClass(Popover, [{
+ key: 'isWithContent',
- Popover.prototype.getTipElement = function getTipElement() {
- return this.tip = this.tip || $(this.config.template)[0];
- };
- Popover.prototype.setContent = function setContent() {
- var $tip = $(this.getTipElement());
+ // overrides
- // we use append for html objects to maintain js events
- this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
- this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
+ value: function isWithContent() {
+ return this.getTitle() || this._getContent();
+ }
+ }, {
+ key: 'addAttachmentClass',
+ value: function addAttachmentClass(attachment) {
+ $(this.getTipElement()).addClass(CLASS_PREFIX + '-' + attachment);
+ }
+ }, {
+ key: 'getTipElement',
+ value: function getTipElement() {
+ this.tip = this.tip || $(this.config.template)[0];
+ return this.tip;
+ }
+ }, {
+ key: 'setContent',
+ value: function setContent() {
+ var $tip = $(this.getTipElement());
- $tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
- };
+ // we use append for html objects to maintain js events
+ this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
+ this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
- // private
+ $tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
+ }
- Popover.prototype._getContent = function _getContent() {
- return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
- };
+ // private
- Popover.prototype._cleanTipClass = function _cleanTipClass() {
- var $tip = $(this.getTipElement());
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
- if (tabClass !== null && tabClass.length > 0) {
- $tip.removeClass(tabClass.join(''));
+ }, {
+ key: '_getContent',
+ value: function _getContent() {
+ return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
+ }
+ }, {
+ key: '_cleanTipClass',
+ value: function _cleanTipClass() {
+ var $tip = $(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 === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
+ // static
- if (!data && /destroy|hide/.test(config)) {
- return;
- }
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = (typeof config === 'undefined' ? 'undefined' : _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 (data[config] === undefined) {
- throw new Error('No method named "' + config + '"');
+ if (!data) {
+ data = new Popover(this, _config);
+ $(this).data(DATA_KEY, data);
}
- data[config]();
- }
- });
- };
- _createClass(Popover, null, [{
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ }
+ }, {
key: 'VERSION',
diff --git a/js/dist/popover.js.map b/js/dist/popover.js.map
index 5c335ed337..ddf0e586c1 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","extend","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","removeClass","element","getAttribute","call","_cleanTipClass","tabClass","attr","match","length","join","_jQueryInterface","each","data","_config","test","undefined","Error","Constructor","noConflict","jQuery"],"mappings":"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","file":"popover.js","sourcesContent":["import Tooltip from './tooltip'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0-beta'\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 = $.extend({}, Tooltip.Default, {\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">'\n + '<div class=\"arrow\"></div>'\n + '<h3 class=\"popover-header\"></h3>'\n + '<div class=\"popover-body\"></div></div>'\n })\n\n const DefaultType = $.extend({}, 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 * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\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 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\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 return this.tip = this.tip || $(this.config.template)[0]\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 this.setElementContent($tip.find(Selector.CONTENT), this._getContent())\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // private\n\n _getContent() {\n return this.element.getAttribute('data-content')\n || (typeof this.config.content === 'function' ?\n this.config.content.call(this.element) :\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\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 (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\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})(jQuery)\n\nexport default Popover\n"]} \ No newline at end of file
+{"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","extend","Tooltip","placement","trigger","content","template","DefaultType","ClassName","FADE","SHOW","Selector","TITLE","CONTENT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","getTitle","_getContent","attachment","getTipElement","addClass","tip","config","$tip","setElementContent","find","removeClass","element","getAttribute","call","tabClass","attr","match","length","join","each","data","_config","test","Error","_jQueryInterface","Constructor","noConflict","jQuery"],"mappings":"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","file":"popover.js","sourcesContent":["import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0-beta'\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 = $.extend({}, Tooltip.Default, {\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">'\n + '<div class=\"arrow\"></div>'\n + '<h3 class=\"popover-header\"></h3>'\n + '<div class=\"popover-body\"></div></div>'\n })\n\n const DefaultType = $.extend({}, 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 * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\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 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\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 this.setElementContent($tip.find(Selector.CONTENT), this._getContent())\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // private\n\n _getContent() {\n return this.element.getAttribute('data-content')\n || (typeof this.config.content === 'function' ?\n this.config.content.call(this.element) :\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\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 Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\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})(jQuery)\n\nexport default Popover\n"]} \ No newline at end of file
diff --git a/js/dist/scrollspy.js b/js/dist/scrollspy.js
index 11d9981bf9..c1365a7413 100644
--- a/js/dist/scrollspy.js
+++ b/js/dist/scrollspy.js
@@ -1,3 +1,5 @@
+'use strict';
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -11,7 +13,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
* --------------------------------------------------------------------------
*/
-var ScrollSpy = function ($) {
+var ScrollSpy = function () {
/**
* ------------------------------------------------------------------------
@@ -97,182 +99,197 @@ var ScrollSpy = function ($) {
// getters
- // public
+ _createClass(ScrollSpy, [{
+ key: 'refresh',
- ScrollSpy.prototype.refresh = function refresh() {
- var _this2 = this;
- var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
+ // public
- var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
+ value: function refresh() {
+ var _this2 = this;
- var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+ var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
- this._offsets = [];
- this._targets = [];
+ var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
- this._scrollHeight = this._getScrollHeight();
+ var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
- var targets = $.makeArray($(this._selector));
+ this._offsets = [];
+ this._targets = [];
- targets.map(function (element) {
- var target = void 0;
- var targetSelector = Util.getSelectorFromElement(element);
+ this._scrollHeight = this._getScrollHeight();
- if (targetSelector) {
- target = $(targetSelector)[0];
- }
-
- 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];
- }
- }
- 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]);
- });
- };
-
- ScrollSpy.prototype.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;
- };
+ var targets = $.makeArray($(this._selector));
- // private
+ targets.map(function (element) {
+ var target = void 0;
+ var targetSelector = Util.getSelectorFromElement(element);
- ScrollSpy.prototype._getConfig = function _getConfig(config) {
- config = $.extend({}, Default, config);
+ if (targetSelector) {
+ target = $(targetSelector)[0];
+ }
- if (typeof config.target !== 'string') {
- var id = $(config.target).attr('id');
- if (!id) {
- id = Util.getUID(NAME);
- $(config.target).attr('id', id);
- }
- config.target = '#' + id;
+ 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];
+ }
+ }
+ 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]);
+ });
+ }
+ }, {
+ key: 'dispose',
+ value: 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;
}
- Util.typeCheckConfig(NAME, config, DefaultType);
-
- return config;
- };
-
- ScrollSpy.prototype._getScrollTop = function _getScrollTop() {
- return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
- };
-
- ScrollSpy.prototype._getScrollHeight = function _getScrollHeight() {
- return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
- };
+ // private
- ScrollSpy.prototype._getOffsetHeight = function _getOffsetHeight() {
- return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
- };
+ }, {
+ key: '_getConfig',
+ value: function _getConfig(config) {
+ config = $.extend({}, Default, config);
+
+ if (typeof config.target !== 'string') {
+ var id = $(config.target).attr('id');
+ if (!id) {
+ id = Util.getUID(NAME);
+ $(config.target).attr('id', id);
+ }
+ config.target = '#' + id;
+ }
- ScrollSpy.prototype._process = function _process() {
- var scrollTop = this._getScrollTop() + this._config.offset;
- var scrollHeight = this._getScrollHeight();
- var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
+ Util.typeCheckConfig(NAME, config, DefaultType);
- if (this._scrollHeight !== scrollHeight) {
- this.refresh();
+ return config;
}
-
- if (scrollTop >= maxScroll) {
- var target = this._targets[this._targets.length - 1];
-
- if (this._activeTarget !== target) {
- this._activate(target);
- }
- return;
+ }, {
+ key: '_getScrollTop',
+ value: function _getScrollTop() {
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
}
-
- if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
- this._activeTarget = null;
- this._clear();
- return;
+ }, {
+ key: '_getScrollHeight',
+ value: function _getScrollHeight() {
+ return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
+ }
+ }, {
+ key: '_getOffsetHeight',
+ value: function _getOffsetHeight() {
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
}
+ }, {
+ key: '_process',
+ value: function _process() {
+ var scrollTop = this._getScrollTop() + this._config.offset;
+ var scrollHeight = this._getScrollHeight();
+ var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
+
+ if (this._scrollHeight !== scrollHeight) {
+ this.refresh();
+ }
- for (var i = this._offsets.length; i--;) {
- var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (this._offsets[i + 1] === undefined || scrollTop < this._offsets[i + 1]);
+ if (scrollTop >= maxScroll) {
+ var target = this._targets[this._targets.length - 1];
- if (isActiveTarget) {
- this._activate(this._targets[i]);
+ if (this._activeTarget !== target) {
+ this._activate(target);
+ }
+ return;
}
- }
- };
-
- ScrollSpy.prototype._activate = function _activate(target) {
- this._activeTarget = target;
- this._clear();
+ if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
+ this._activeTarget = null;
+ this._clear();
+ return;
+ }
- var queries = this._selector.split(',');
- queries = queries.map(function (selector) {
- return selector + '[data-target="' + target + '"],' + (selector + '[href="' + target + '"]');
- });
+ for (var i = this._offsets.length; i--;) {
+ var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
- var $link = $(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 <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
- $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ', ' + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE);
+ if (isActiveTarget) {
+ this._activate(this._targets[i]);
+ }
+ }
}
+ }, {
+ key: '_activate',
+ value: function _activate(target) {
+ this._activeTarget = target;
- $(this._scrollElement).trigger(Event.ACTIVATE, {
- relatedTarget: target
- });
- };
+ this._clear();
- ScrollSpy.prototype._clear = function _clear() {
- $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
- };
+ 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 = $(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 <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ', ' + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE);
+ }
- // static
+ $(this._scrollElement).trigger(Event.ACTIVATE, {
+ relatedTarget: target
+ });
+ }
+ }, {
+ key: '_clear',
+ value: function _clear() {
+ $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+ }
- ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $(this).data(DATA_KEY);
- var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
+ // static
- if (!data) {
- data = new ScrollSpy(this, _config);
- $(this).data(DATA_KEY, data);
- }
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
- if (typeof config === 'string') {
- if (data[config] === undefined) {
- throw new Error('No method named "' + config + '"');
+ if (!data) {
+ data = new ScrollSpy(this, _config);
+ $(this).data(DATA_KEY, data);
}
- data[config]();
- }
- });
- };
- _createClass(ScrollSpy, null, [{
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ }
+ }, {
key: 'VERSION',
get: function get() {
return VERSION;
diff --git a/js/dist/scrollspy.js.map b/js/dist/scrollspy.js.map
index 6961e5fcbc..9eb9902150 100644
--- a/js/dist/scrollspy.js.map
+++ b/js/dist/scrollspy.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/scrollspy.js"],"names":["ScrollSpy","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","Default","offset","method","target","DefaultType","Event","ACTIVATE","SCROLL","LOAD_DATA_API","ClassName","DROPDOWN_ITEM","DROPDOWN_MENU","ACTIVE","Selector","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","element","config","_element","_scrollElement","tagName","window","_config","_getConfig","_selector","_offsets","_targets","_activeTarget","_scrollHeight","on","event","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","makeArray","map","targetSelector","Util","getSelectorFromElement","targetBCR","getBoundingClientRect","width","height","top","filter","item","sort","a","b","forEach","push","dispose","removeData","off","extend","id","attr","getUID","typeCheckConfig","pageYOffset","scrollTop","scrollHeight","Math","max","document","body","documentElement","_getOffsetHeight","innerHeight","maxScroll","length","_activate","_clear","i","isActiveTarget","undefined","queries","split","selector","$link","join","hasClass","closest","find","addClass","parents","prev","trigger","relatedTarget","removeClass","_jQueryInterface","each","data","Error","scrollSpys","$spy","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"scrollspy.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0-beta'\n const DATA_KEY = 'bs.scrollspy'\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 offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},`\n + `${this._config.target} ${Selector.LIST_ITEMS},`\n + `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\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\n // public\n\n refresh() {\n const autoMethod = this._scrollElement !== this._scrollElement.window ?\n OffsetMethod.POSITION : OffsetMethod.OFFSET\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // todo (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset\n + scrollHeight\n - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i]\n && scrollTop >= this._offsets[i]\n && (this._offsets[i + 1] === undefined ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\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\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n\n})(jQuery)\n\nexport default ScrollSpy\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/scrollspy.js"],"names":["ScrollSpy","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","Default","offset","method","target","DefaultType","Event","ACTIVATE","SCROLL","LOAD_DATA_API","ClassName","DROPDOWN_ITEM","DROPDOWN_MENU","ACTIVE","Selector","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","element","config","_element","_scrollElement","tagName","window","_config","_getConfig","_selector","_offsets","_targets","_activeTarget","_scrollHeight","on","event","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","makeArray","map","targetSelector","Util","getSelectorFromElement","targetBCR","getBoundingClientRect","width","height","top","filter","item","sort","a","b","forEach","push","removeData","off","extend","id","attr","getUID","typeCheckConfig","pageYOffset","scrollTop","scrollHeight","Math","max","document","body","documentElement","innerHeight","maxScroll","_getOffsetHeight","length","_activate","_clear","i","isActiveTarget","queries","split","selector","$link","join","hasClass","closest","find","addClass","parents","prev","trigger","relatedTarget","removeClass","each","data","Error","scrollSpys","$spy","_jQueryInterface","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"scrollspy.js","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0-beta'\n const DATA_KEY = 'bs.scrollspy'\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 offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},`\n + `${this._config.target} ${Selector.LIST_ITEMS},`\n + `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\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\n // public\n\n refresh() {\n const autoMethod = this._scrollElement !== this._scrollElement.window ?\n OffsetMethod.POSITION : OffsetMethod.OFFSET\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // todo (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset\n + scrollHeight\n - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i]\n && scrollTop >= this._offsets[i]\n && (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\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\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n\n})(jQuery)\n\nexport default ScrollSpy\n"]} \ No newline at end of file
diff --git a/js/dist/tab.js b/js/dist/tab.js
index 09afbeadc4..3efbf5d5d1 100644
--- a/js/dist/tab.js
+++ b/js/dist/tab.js
@@ -1,3 +1,5 @@
+'use strict';
+
var _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -9,7 +11,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
* --------------------------------------------------------------------------
*/
-var Tab = function ($) {
+var Tab = function () {
/**
* ------------------------------------------------------------------------
@@ -66,165 +68,174 @@ var Tab = function ($) {
// getters
- // public
-
- Tab.prototype.show = function show() {
- var _this = this;
-
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
- return;
- }
-
- var target = void 0;
- var previous = void 0;
- var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0];
- var selector = Util.getSelectorFromElement(this._element);
+ _createClass(Tab, [{
+ key: 'show',
- if (listElement) {
- var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
- previous = $.makeArray($(listElement).find(itemSelector));
- previous = previous[previous.length - 1];
- }
-
- var hideEvent = $.Event(Event.HIDE, {
- relatedTarget: this._element
- });
- var showEvent = $.Event(Event.SHOW, {
- relatedTarget: previous
- });
+ // public
- if (previous) {
- $(previous).trigger(hideEvent);
- }
+ value: function show() {
+ var _this = this;
- $(this._element).trigger(showEvent);
-
- if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
- return;
- }
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
+ return;
+ }
- if (selector) {
- target = $(selector)[0];
- }
+ var target = void 0;
+ var previous = void 0;
+ var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0];
+ var selector = Util.getSelectorFromElement(this._element);
- this._activate(this._element, listElement);
+ if (listElement) {
+ var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
+ previous = $.makeArray($(listElement).find(itemSelector));
+ previous = previous[previous.length - 1];
+ }
- var complete = function complete() {
- var hiddenEvent = $.Event(Event.HIDDEN, {
- relatedTarget: _this._element
+ var hideEvent = $.Event(Event.HIDE, {
+ relatedTarget: this._element
});
- var shownEvent = $.Event(Event.SHOWN, {
+ var showEvent = $.Event(Event.SHOW, {
relatedTarget: previous
});
- $(previous).trigger(hiddenEvent);
- $(_this._element).trigger(shownEvent);
- };
+ if (previous) {
+ $(previous).trigger(hideEvent);
+ }
- if (target) {
- this._activate(target, target.parentNode, complete);
- } else {
- complete();
- }
- };
+ $(this._element).trigger(showEvent);
- Tab.prototype.dispose = function dispose() {
- $.removeData(this._element, DATA_KEY);
- this._element = null;
- };
+ if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
+ return;
+ }
- // private
+ if (selector) {
+ target = $(selector)[0];
+ }
- Tab.prototype._activate = function _activate(element, container, callback) {
- var _this2 = this;
+ this._activate(this._element, listElement);
- var activeElements = void 0;
- if (container.nodeName === 'UL') {
- activeElements = $(container).find(Selector.ACTIVE_UL);
- } else {
- activeElements = $(container).children(Selector.ACTIVE);
- }
+ var complete = function complete() {
+ var hiddenEvent = $.Event(Event.HIDDEN, {
+ relatedTarget: _this._element
+ });
- var active = activeElements[0];
- var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE);
+ var shownEvent = $.Event(Event.SHOWN, {
+ relatedTarget: previous
+ });
- var complete = function complete() {
- return _this2._transitionComplete(element, active, isTransitioning, callback);
- };
+ $(previous).trigger(hiddenEvent);
+ $(_this._element).trigger(shownEvent);
+ };
- if (active && isTransitioning) {
- $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- complete();
+ if (target) {
+ this._activate(target, target.parentNode, complete);
+ } else {
+ complete();
+ }
}
-
- if (active) {
- $(active).removeClass(ClassName.SHOW);
+ }, {
+ key: 'dispose',
+ value: function dispose() {
+ $.removeData(this._element, DATA_KEY);
+ this._element = null;
}
- };
- Tab.prototype._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) {
- if (active) {
- $(active).removeClass(ClassName.ACTIVE);
+ // private
- var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
+ }, {
+ key: '_activate',
+ value: function _activate(element, container, callback) {
+ var _this2 = this;
- if (dropdownChild) {
- $(dropdownChild).removeClass(ClassName.ACTIVE);
+ var activeElements = void 0;
+ if (container.nodeName === 'UL') {
+ activeElements = $(container).find(Selector.ACTIVE_UL);
+ } else {
+ activeElements = $(container).children(Selector.ACTIVE);
}
- active.setAttribute('aria-expanded', false);
- }
+ var active = activeElements[0];
+ var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE);
+
+ var complete = function complete() {
+ return _this2._transitionComplete(element, active, isTransitioning, callback);
+ };
- $(element).addClass(ClassName.ACTIVE);
- element.setAttribute('aria-expanded', true);
+ if (active && isTransitioning) {
+ $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ complete();
+ }
- if (isTransitioning) {
- Util.reflow(element);
- $(element).addClass(ClassName.SHOW);
- } else {
- $(element).removeClass(ClassName.FADE);
+ if (active) {
+ $(active).removeClass(ClassName.SHOW);
+ }
}
+ }, {
+ key: '_transitionComplete',
+ value: function _transitionComplete(element, active, isTransitioning, callback) {
+ if (active) {
+ $(active).removeClass(ClassName.ACTIVE);
+
+ var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
- if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
+ if (dropdownChild) {
+ $(dropdownChild).removeClass(ClassName.ACTIVE);
+ }
- var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
- if (dropdownElement) {
- $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+ active.setAttribute('aria-expanded', false);
}
+ $(element).addClass(ClassName.ACTIVE);
element.setAttribute('aria-expanded', true);
- }
- if (callback) {
- callback();
- }
- };
+ if (isTransitioning) {
+ Util.reflow(element);
+ $(element).addClass(ClassName.SHOW);
+ } else {
+ $(element).removeClass(ClassName.FADE);
+ }
- // static
+ if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
- Tab._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var $this = $(this);
- var data = $this.data(DATA_KEY);
+ var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];
+ if (dropdownElement) {
+ $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+ }
- if (!data) {
- data = new Tab(this);
- $this.data(DATA_KEY, data);
+ element.setAttribute('aria-expanded', true);
}
- if (typeof config === 'string') {
- if (data[config] === undefined) {
- throw new Error('No method named "' + config + '"');
- }
- data[config]();
+ if (callback) {
+ callback();
}
- });
- };
+ }
+
+ // static
- _createClass(Tab, null, [{
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $this = $(this);
+ var data = $this.data(DATA_KEY);
+
+ if (!data) {
+ data = new Tab(this);
+ $this.data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ }
+ }, {
key: 'VERSION',
get: function get() {
return VERSION;
diff --git a/js/dist/tab.js.map b/js/dist/tab.js.map
index 4fbdae5b79..3f8512c81b 100644
--- a/js/dist/tab.js.map
+++ b/js/dist/tab.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/tab.js"],"names":["Tab","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK_DATA_API","ClassName","DROPDOWN_MENU","ACTIVE","DISABLED","FADE","Selector","DROPDOWN","NAV_LIST_GROUP","ACTIVE_UL","DATA_TOGGLE","DROPDOWN_TOGGLE","DROPDOWN_ACTIVE_CHILD","element","_element","show","parentNode","nodeType","Node","ELEMENT_NODE","hasClass","target","previous","listElement","closest","selector","Util","getSelectorFromElement","itemSelector","nodeName","makeArray","find","length","hideEvent","relatedTarget","showEvent","trigger","isDefaultPrevented","_activate","complete","hiddenEvent","shownEvent","dispose","removeData","container","callback","activeElements","children","active","isTransitioning","supportsTransitionEnd","_transitionComplete","one","TRANSITION_END","emulateTransitionEnd","removeClass","dropdownChild","setAttribute","addClass","reflow","dropdownElement","_jQueryInterface","config","each","$this","data","undefined","Error","document","on","event","preventDefault","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"tab.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.0.0-beta'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\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_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _activate(element, container, callback) {\n let activeElements\n if (container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback\n && Util.supportsTransitionEnd()\n && (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n isTransitioning,\n callback\n )\n\n if (active && isTransitioning) {\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n if (active) {\n $(active).removeClass(ClassName.SHOW)\n }\n }\n\n _transitionComplete(element, active, isTransitioning, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n active.setAttribute('aria-expanded', false)\n }\n\n $(element).addClass(ClassName.ACTIVE)\n element.setAttribute('aria-expanded', true)\n\n if (isTransitioning) {\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n } else {\n $(element).removeClass(ClassName.FADE)\n }\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\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, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n\n})(jQuery)\n\nexport default Tab\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/tab.js"],"names":["Tab","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","TRANSITION_DURATION","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK_DATA_API","ClassName","DROPDOWN_MENU","ACTIVE","DISABLED","FADE","Selector","DROPDOWN","NAV_LIST_GROUP","ACTIVE_UL","DATA_TOGGLE","DROPDOWN_TOGGLE","DROPDOWN_ACTIVE_CHILD","element","_element","parentNode","nodeType","Node","ELEMENT_NODE","hasClass","target","previous","listElement","closest","selector","Util","getSelectorFromElement","itemSelector","nodeName","makeArray","find","length","hideEvent","relatedTarget","showEvent","trigger","isDefaultPrevented","_activate","complete","hiddenEvent","shownEvent","removeData","container","callback","activeElements","children","active","isTransitioning","supportsTransitionEnd","_transitionComplete","one","TRANSITION_END","emulateTransitionEnd","removeClass","dropdownChild","setAttribute","addClass","reflow","dropdownElement","config","each","$this","data","Error","document","on","event","preventDefault","_jQueryInterface","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"tab.js","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.0.0-beta'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\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_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _activate(element, container, callback) {\n let activeElements\n if (container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback\n && Util.supportsTransitionEnd()\n && (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n isTransitioning,\n callback\n )\n\n if (active && isTransitioning) {\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n if (active) {\n $(active).removeClass(ClassName.SHOW)\n }\n }\n\n _transitionComplete(element, active, isTransitioning, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n active.setAttribute('aria-expanded', false)\n }\n\n $(element).addClass(ClassName.ACTIVE)\n element.setAttribute('aria-expanded', true)\n\n if (isTransitioning) {\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n } else {\n $(element).removeClass(ClassName.FADE)\n }\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\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, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n\n})(jQuery)\n\nexport default Tab\n"]} \ No newline at end of file
diff --git a/js/dist/tooltip.js b/js/dist/tooltip.js
index 9193ba5f29..a386e0241f 100644
--- a/js/dist/tooltip.js
+++ b/js/dist/tooltip.js
@@ -1,3 +1,5 @@
+'use strict';
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -11,7 +13,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
* --------------------------------------------------------------------------
*/
-var Tooltip = function ($) {
+var Tooltip = function () {
/**
* Check for Popper dependency
@@ -135,493 +137,529 @@ var Tooltip = function ($) {
// getters
- // public
+ _createClass(Tooltip, [{
+ key: 'enable',
- Tooltip.prototype.enable = function enable() {
- this._isEnabled = true;
- };
- Tooltip.prototype.disable = function disable() {
- this._isEnabled = false;
- };
+ // public
- Tooltip.prototype.toggleEnabled = function toggleEnabled() {
- this._isEnabled = !this._isEnabled;
- };
+ value: function enable() {
+ this._isEnabled = true;
+ }
+ }, {
+ key: 'disable',
+ value: function disable() {
+ this._isEnabled = false;
+ }
+ }, {
+ key: 'toggleEnabled',
+ value: function toggleEnabled() {
+ this._isEnabled = !this._isEnabled;
+ }
+ }, {
+ key: 'toggle',
+ value: function toggle(event) {
+ if (!this._isEnabled) {
+ return;
+ }
- Tooltip.prototype.toggle = function toggle(event) {
- if (event) {
- var dataKey = this.constructor.DATA_KEY;
- var context = $(event.currentTarget).data(dataKey);
+ if (event) {
+ var dataKey = this.constructor.DATA_KEY;
+ var context = $(event.currentTarget).data(dataKey);
- if (!context) {
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $(event.currentTarget).data(dataKey, context);
- }
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $(event.currentTarget).data(dataKey, context);
+ }
- context._activeTrigger.click = !context._activeTrigger.click;
+ context._activeTrigger.click = !context._activeTrigger.click;
- if (context._isWithActiveTrigger()) {
- context._enter(null, context);
+ if (context._isWithActiveTrigger()) {
+ context._enter(null, context);
+ } else {
+ context._leave(null, context);
+ }
} else {
- context._leave(null, context);
- }
- } else {
- if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
- this._leave(null, this);
- return;
- }
+ if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
+ this._leave(null, this);
+ return;
+ }
- this._enter(null, this);
+ this._enter(null, this);
+ }
}
- };
-
- Tooltip.prototype.dispose = function dispose() {
- clearTimeout(this._timeout);
-
- $.removeData(this.element, this.constructor.DATA_KEY);
-
- $(this.element).off(this.constructor.EVENT_KEY);
- $(this.element).closest('.modal').off('hide.bs.modal');
+ }, {
+ key: 'dispose',
+ value: function dispose() {
+ clearTimeout(this._timeout);
- if (this.tip) {
- $(this.tip).remove();
- }
+ $.removeData(this.element, this.constructor.DATA_KEY);
- this._isEnabled = null;
- this._timeout = null;
- this._hoverState = null;
- this._activeTrigger = null;
- if (this._popper !== null) {
- this._popper.destroy();
- }
- this._popper = null;
+ $(this.element).off(this.constructor.EVENT_KEY);
+ $(this.element).closest('.modal').off('hide.bs.modal');
- this.element = null;
- this.config = null;
- this.tip = null;
- };
+ if (this.tip) {
+ $(this.tip).remove();
+ }
- Tooltip.prototype.show = function show() {
- var _this = this;
+ this._isEnabled = null;
+ this._timeout = null;
+ this._hoverState = null;
+ this._activeTrigger = null;
+ if (this._popper !== null) {
+ this._popper.destroy();
+ }
- if ($(this.element).css('display') === 'none') {
- throw new Error('Please use show on visible elements');
+ this._popper = null;
+ this.element = null;
+ this.config = null;
+ this.tip = null;
}
+ }, {
+ key: 'show',
+ value: function show() {
+ var _this = this;
- var showEvent = $.Event(this.constructor.Event.SHOW);
- if (this.isWithContent() && this._isEnabled) {
- $(this.element).trigger(showEvent);
+ if ($(this.element).css('display') === 'none') {
+ throw new Error('Please use show on visible elements');
+ }
- var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
+ var showEvent = $.Event(this.constructor.Event.SHOW);
+ if (this.isWithContent() && this._isEnabled) {
+ $(this.element).trigger(showEvent);
- if (showEvent.isDefaultPrevented() || !isInTheDom) {
- return;
- }
+ var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
- var tip = this.getTipElement();
- var tipId = Util.getUID(this.constructor.NAME);
+ if (showEvent.isDefaultPrevented() || !isInTheDom) {
+ return;
+ }
- tip.setAttribute('id', tipId);
- this.element.setAttribute('aria-describedby', tipId);
+ var tip = this.getTipElement();
+ var tipId = Util.getUID(this.constructor.NAME);
- this.setContent();
+ tip.setAttribute('id', tipId);
+ this.element.setAttribute('aria-describedby', tipId);
- if (this.config.animation) {
- $(tip).addClass(ClassName.FADE);
- }
+ this.setContent();
- var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
+ if (this.config.animation) {
+ $(tip).addClass(ClassName.FADE);
+ }
- var attachment = this._getAttachment(placement);
- this.addAttachmentClass(attachment);
+ var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
- var container = this.config.container === false ? document.body : $(this.config.container);
+ var attachment = this._getAttachment(placement);
+ this.addAttachmentClass(attachment);
- $(tip).data(this.constructor.DATA_KEY, this);
+ var container = this.config.container === false ? document.body : $(this.config.container);
- if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
- $(tip).appendTo(container);
- }
+ $(tip).data(this.constructor.DATA_KEY, this);
- $(this.element).trigger(this.constructor.Event.INSERTED);
+ if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
+ $(tip).appendTo(container);
+ }
- this._popper = new Popper(this.element, tip, {
- placement: attachment,
- modifiers: {
- offset: {
- offset: this.config.offset
+ $(this.element).trigger(this.constructor.Event.INSERTED);
+
+ this._popper = new Popper(this.element, tip, {
+ placement: attachment,
+ modifiers: {
+ offset: {
+ offset: this.config.offset
+ },
+ flip: {
+ behavior: this.config.fallbackPlacement
+ },
+ arrow: {
+ element: Selector.ARROW
+ }
},
- flip: {
- behavior: this.config.fallbackPlacement
+ onCreate: function onCreate(data) {
+ if (data.originalPlacement !== data.placement) {
+ _this._handlePopperPlacementChange(data);
+ }
},
- arrow: {
- element: Selector.ARROW
- }
- },
- onCreate: function onCreate(data) {
- if (data.originalPlacement !== data.placement) {
+ onUpdate: function onUpdate(data) {
_this._handlePopperPlacementChange(data);
}
- },
- onUpdate: function onUpdate(data) {
- _this._handlePopperPlacementChange(data);
+ });
+
+ $(tip).addClass(ClassName.SHOW);
+
+ // if this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().on('mouseover', null, $.noop);
}
- });
- $(tip).addClass(ClassName.SHOW);
+ var complete = function complete() {
+ if (_this.config.animation) {
+ _this._fixTransition();
+ }
+ var prevHoverState = _this._hoverState;
+ _this._hoverState = null;
- // 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) {
- $('body').children().on('mouseover', null, $.noop);
+ $(_this.element).trigger(_this.constructor.Event.SHOWN);
+
+ if (prevHoverState === HoverState.OUT) {
+ _this._leave(null, _this);
+ }
+ };
+
+ if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
+ $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
+ } else {
+ complete();
+ }
}
+ }
+ }, {
+ key: 'hide',
+ value: function hide(callback) {
+ var _this2 = this;
+ var tip = this.getTipElement();
+ var hideEvent = $.Event(this.constructor.Event.HIDE);
var complete = function complete() {
- if (_this.config.animation) {
- _this._fixTransition();
+ if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+ tip.parentNode.removeChild(tip);
}
- var prevHoverState = _this._hoverState;
- _this._hoverState = null;
- $(_this.element).trigger(_this.constructor.Event.SHOWN);
+ _this2._cleanTipClass();
+ _this2.element.removeAttribute('aria-describedby');
+ $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
+ if (_this2._popper !== null) {
+ _this2._popper.destroy();
+ }
- if (prevHoverState === HoverState.OUT) {
- _this._leave(null, _this);
+ if (callback) {
+ callback();
}
};
- if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
- $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
- } else {
- complete();
- }
- }
- };
-
- Tooltip.prototype.hide = function hide(callback) {
- var _this2 = this;
+ $(this.element).trigger(hideEvent);
- var tip = this.getTipElement();
- var hideEvent = $.Event(this.constructor.Event.HIDE);
- var complete = function complete() {
- if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
- tip.parentNode.removeChild(tip);
+ if (hideEvent.isDefaultPrevented()) {
+ return;
}
- _this2._cleanTipClass();
- _this2.element.removeAttribute('aria-describedby');
- $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
- if (_this2._popper !== null) {
- _this2._popper.destroy();
- }
+ $(tip).removeClass(ClassName.SHOW);
- if (callback) {
- callback();
+ // if this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().off('mouseover', null, $.noop);
}
- };
- $(this.element).trigger(hideEvent);
+ this._activeTrigger[Trigger.CLICK] = false;
+ this._activeTrigger[Trigger.FOCUS] = false;
+ this._activeTrigger[Trigger.HOVER] = false;
- if (hideEvent.isDefaultPrevented()) {
- return;
- }
+ if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
- $(tip).removeClass(ClassName.SHOW);
+ $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
+ } else {
+ complete();
+ }
- // if this is a touch-enabled device we remove the extra
- // empty mouseover listeners we added for iOS support
- if ('ontouchstart' in document.documentElement) {
- $('body').children().off('mouseover', null, $.noop);
+ this._hoverState = '';
}
-
- this._activeTrigger[Trigger.CLICK] = false;
- this._activeTrigger[Trigger.FOCUS] = false;
- this._activeTrigger[Trigger.HOVER] = false;
-
- if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
-
- $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- complete();
+ }, {
+ key: 'update',
+ value: function update() {
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate();
+ }
}
- this._hoverState = '';
- };
+ // protected
- Tooltip.prototype.update = function update() {
- if (this._popper !== null) {
- this._popper.scheduleUpdate();
+ }, {
+ key: 'isWithContent',
+ value: function isWithContent() {
+ return Boolean(this.getTitle());
}
- };
-
- // protected
-
- Tooltip.prototype.isWithContent = function isWithContent() {
- return Boolean(this.getTitle());
- };
-
- Tooltip.prototype.addAttachmentClass = function addAttachmentClass(attachment) {
- $(this.getTipElement()).addClass(CLASS_PREFIX + '-' + attachment);
- };
-
- Tooltip.prototype.getTipElement = function getTipElement() {
- return this.tip = this.tip || $(this.config.template)[0];
- };
-
- Tooltip.prototype.setContent = function setContent() {
- var $tip = $(this.getTipElement());
- this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
- $tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
- };
-
- Tooltip.prototype.setElementContent = function setElementContent($element, content) {
- var html = this.config.html;
- if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object' && (content.nodeType || content.jquery)) {
- // content is a DOM node or a jQuery
- if (html) {
- if (!$(content).parent().is($element)) {
- $element.empty().append(content);
+ }, {
+ key: 'addAttachmentClass',
+ value: function addAttachmentClass(attachment) {
+ $(this.getTipElement()).addClass(CLASS_PREFIX + '-' + attachment);
+ }
+ }, {
+ key: 'getTipElement',
+ value: function getTipElement() {
+ this.tip = this.tip || $(this.config.template)[0];
+ return this.tip;
+ }
+ }, {
+ key: 'setContent',
+ value: function setContent() {
+ var $tip = $(this.getTipElement());
+ this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
+ $tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
+ }
+ }, {
+ key: 'setElementContent',
+ value: function setElementContent($element, content) {
+ var html = this.config.html;
+ if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object' && (content.nodeType || content.jquery)) {
+ // content is a DOM node or a jQuery
+ if (html) {
+ if (!$(content).parent().is($element)) {
+ $element.empty().append(content);
+ }
+ } else {
+ $element.text($(content).text());
}
} else {
- $element.text($(content).text());
+ $element[html ? 'html' : 'text'](content);
}
- } else {
- $element[html ? 'html' : 'text'](content);
}
- };
+ }, {
+ key: 'getTitle',
+ value: function getTitle() {
+ var title = this.element.getAttribute('data-original-title');
- Tooltip.prototype.getTitle = function getTitle() {
- var title = this.element.getAttribute('data-original-title');
+ if (!title) {
+ title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
+ }
- if (!title) {
- title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
+ return title;
}
- return title;
- };
-
- // private
-
- Tooltip.prototype._getAttachment = function _getAttachment(placement) {
- return AttachmentMap[placement.toUpperCase()];
- };
-
- Tooltip.prototype._setListeners = function _setListeners() {
- var _this3 = this;
+ // private
- var triggers = this.config.trigger.split(' ');
+ }, {
+ key: '_getAttachment',
+ value: function _getAttachment(placement) {
+ return AttachmentMap[placement.toUpperCase()];
+ }
+ }, {
+ key: '_setListeners',
+ value: function _setListeners() {
+ var _this3 = this;
+
+ var triggers = this.config.trigger.split(' ');
+
+ triggers.forEach(function (trigger) {
+ if (trigger === 'click') {
+ $(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
+ return _this3.toggle(event);
+ });
+ } else if (trigger !== Trigger.MANUAL) {
+ var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
+ var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
+
+ $(_this3.element).on(eventIn, _this3.config.selector, function (event) {
+ return _this3._enter(event);
+ }).on(eventOut, _this3.config.selector, function (event) {
+ return _this3._leave(event);
+ });
+ }
- triggers.forEach(function (trigger) {
- if (trigger === 'click') {
- $(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
- return _this3.toggle(event);
- });
- } else if (trigger !== Trigger.MANUAL) {
- var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
- var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
-
- $(_this3.element).on(eventIn, _this3.config.selector, function (event) {
- return _this3._enter(event);
- }).on(eventOut, _this3.config.selector, function (event) {
- return _this3._leave(event);
+ $(_this3.element).closest('.modal').on('hide.bs.modal', function () {
+ return _this3.hide();
});
- }
-
- $(_this3.element).closest('.modal').on('hide.bs.modal', function () {
- return _this3.hide();
});
- });
- if (this.config.selector) {
- this.config = $.extend({}, this.config, {
- trigger: 'manual',
- selector: ''
- });
- } else {
- this._fixTitle();
+ if (this.config.selector) {
+ this.config = $.extend({}, this.config, {
+ trigger: 'manual',
+ selector: ''
+ });
+ } else {
+ this._fixTitle();
+ }
}
- };
-
- Tooltip.prototype._fixTitle = function _fixTitle() {
- var titleType = _typeof(this.element.getAttribute('data-original-title'));
- if (this.element.getAttribute('title') || titleType !== 'string') {
- this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
- this.element.setAttribute('title', '');
+ }, {
+ key: '_fixTitle',
+ value: function _fixTitle() {
+ var titleType = _typeof(this.element.getAttribute('data-original-title'));
+ if (this.element.getAttribute('title') || titleType !== 'string') {
+ this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
+ this.element.setAttribute('title', '');
+ }
}
- };
-
- Tooltip.prototype._enter = function _enter(event, context) {
- var dataKey = this.constructor.DATA_KEY;
-
- context = context || $(event.currentTarget).data(dataKey);
+ }, {
+ key: '_enter',
+ value: function _enter(event, context) {
+ var dataKey = this.constructor.DATA_KEY;
- if (!context) {
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $(event.currentTarget).data(dataKey, context);
- }
+ context = context || $(event.currentTarget).data(dataKey);
- if (event) {
- context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
- }
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $(event.currentTarget).data(dataKey, context);
+ }
- if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
- context._hoverState = HoverState.SHOW;
- return;
- }
+ if (event) {
+ context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+ }
- clearTimeout(context._timeout);
+ if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
+ context._hoverState = HoverState.SHOW;
+ return;
+ }
- context._hoverState = HoverState.SHOW;
+ clearTimeout(context._timeout);
- if (!context.config.delay || !context.config.delay.show) {
- context.show();
- return;
- }
+ context._hoverState = HoverState.SHOW;
- context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.SHOW) {
+ if (!context.config.delay || !context.config.delay.show) {
context.show();
+ return;
}
- }, context.config.delay.show);
- };
- Tooltip.prototype._leave = function _leave(event, context) {
- var dataKey = this.constructor.DATA_KEY;
-
- context = context || $(event.currentTarget).data(dataKey);
-
- if (!context) {
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $(event.currentTarget).data(dataKey, context);
- }
-
- if (event) {
- context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
- }
-
- if (context._isWithActiveTrigger()) {
- return;
+ context._timeout = setTimeout(function () {
+ if (context._hoverState === HoverState.SHOW) {
+ context.show();
+ }
+ }, context.config.delay.show);
}
+ }, {
+ key: '_leave',
+ value: function _leave(event, context) {
+ var dataKey = this.constructor.DATA_KEY;
- clearTimeout(context._timeout);
-
- context._hoverState = HoverState.OUT;
+ context = context || $(event.currentTarget).data(dataKey);
- if (!context.config.delay || !context.config.delay.hide) {
- context.hide();
- return;
- }
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $(event.currentTarget).data(dataKey, context);
+ }
- context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.OUT) {
- context.hide();
+ if (event) {
+ context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
}
- }, context.config.delay.hide);
- };
- Tooltip.prototype._isWithActiveTrigger = function _isWithActiveTrigger() {
- for (var trigger in this._activeTrigger) {
- if (this._activeTrigger[trigger]) {
- return true;
+ if (context._isWithActiveTrigger()) {
+ return;
}
- }
- return false;
- };
+ clearTimeout(context._timeout);
- Tooltip.prototype._getConfig = function _getConfig(config) {
- config = $.extend({}, this.constructor.Default, $(this.element).data(), config);
+ context._hoverState = HoverState.OUT;
- if (config.delay && typeof config.delay === 'number') {
- config.delay = {
- show: config.delay,
- hide: config.delay
- };
- }
+ if (!context.config.delay || !context.config.delay.hide) {
+ context.hide();
+ return;
+ }
- if (config.title && typeof config.title === 'number') {
- config.title = config.title.toString();
+ context._timeout = setTimeout(function () {
+ if (context._hoverState === HoverState.OUT) {
+ context.hide();
+ }
+ }, context.config.delay.hide);
}
+ }, {
+ key: '_isWithActiveTrigger',
+ value: function _isWithActiveTrigger() {
+ for (var trigger in this._activeTrigger) {
+ if (this._activeTrigger[trigger]) {
+ return true;
+ }
+ }
- if (config.content && typeof config.content === 'number') {
- config.content = config.content.toString();
+ return false;
}
+ }, {
+ key: '_getConfig',
+ value: function _getConfig(config) {
+ config = $.extend({}, this.constructor.Default, $(this.element).data(), config);
+
+ if (config.delay && typeof config.delay === 'number') {
+ config.delay = {
+ show: config.delay,
+ hide: config.delay
+ };
+ }
- Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+ if (config.title && typeof config.title === 'number') {
+ config.title = config.title.toString();
+ }
- return config;
- };
+ if (config.content && typeof config.content === 'number') {
+ config.content = config.content.toString();
+ }
- Tooltip.prototype._getDelegateConfig = function _getDelegateConfig() {
- var config = {};
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
- if (this.config) {
- for (var key in this.config) {
- if (this.constructor.Default[key] !== this.config[key]) {
- config[key] = this.config[key];
+ return config;
+ }
+ }, {
+ key: '_getDelegateConfig',
+ value: function _getDelegateConfig() {
+ var config = {};
+
+ if (this.config) {
+ for (var key in this.config) {
+ if (this.constructor.Default[key] !== this.config[key]) {
+ config[key] = this.config[key];
+ }
}
}
- }
- return config;
- };
-
- Tooltip.prototype._cleanTipClass = function _cleanTipClass() {
- var $tip = $(this.getTipElement());
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
- if (tabClass !== null && tabClass.length > 0) {
- $tip.removeClass(tabClass.join(''));
+ return config;
}
- };
-
- Tooltip.prototype._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
- this._cleanTipClass();
- this.addAttachmentClass(this._getAttachment(data.placement));
- };
-
- Tooltip.prototype._fixTransition = function _fixTransition() {
- var tip = this.getTipElement();
- var initConfigAnimation = this.config.animation;
- if (tip.getAttribute('x-placement') !== null) {
- return;
+ }, {
+ key: '_cleanTipClass',
+ value: function _cleanTipClass() {
+ var $tip = $(this.getTipElement());
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''));
+ }
}
- $(tip).removeClass(ClassName.FADE);
- this.config.animation = false;
- this.hide();
- this.show();
- this.config.animation = initConfigAnimation;
- };
-
- // static
-
- Tooltip._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $(this).data(DATA_KEY);
- var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
-
- if (!data && /dispose|hide/.test(config)) {
+ }, {
+ key: '_handlePopperPlacementChange',
+ value: function _handlePopperPlacementChange(data) {
+ this._cleanTipClass();
+ this.addAttachmentClass(this._getAttachment(data.placement));
+ }
+ }, {
+ key: '_fixTransition',
+ value: function _fixTransition() {
+ var tip = this.getTipElement();
+ var initConfigAnimation = this.config.animation;
+ if (tip.getAttribute('x-placement') !== null) {
return;
}
+ $(tip).removeClass(ClassName.FADE);
+ this.config.animation = false;
+ this.hide();
+ this.show();
+ this.config.animation = initConfigAnimation;
+ }
- if (!data) {
- data = new Tooltip(this, _config);
- $(this).data(DATA_KEY, data);
- }
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $(this).data(DATA_KEY);
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config;
- if (typeof config === 'string') {
- if (data[config] === undefined) {
- throw new Error('No method named "' + config + '"');
+ if (!data && /dispose|hide/.test(config)) {
+ return;
+ }
+
+ if (!data) {
+ data = new Tooltip(this, _config);
+ $(this).data(DATA_KEY, data);
}
- data[config]();
- }
- });
- };
- _createClass(Tooltip, null, [{
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new Error('No method named "' + config + '"');
+ }
+ data[config]();
+ }
+ });
+ }
+ }, {
key: 'VERSION',
get: function get() {
return VERSION;
@@ -675,5 +713,5 @@ var Tooltip = function ($) {
};
return Tooltip;
-}(jQuery); /* global Popper */
+}(jQuery, Popper);
//# sourceMappingURL=tooltip.js.map \ No newline at end of file
diff --git a/js/dist/tooltip.js.map b/js/dist/tooltip.js.map
index 7785033557..50b1e36fa0 100644
--- a/js/dist/tooltip.js.map
+++ b/js/dist/tooltip.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/tooltip.js"],"names":["Tooltip","$","Popper","Error","NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","DefaultType","animation","template","title","trigger","delay","html","selector","placement","offset","container","fallbackPlacement","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default","HoverState","SHOW","OUT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","ClassName","FADE","Selector","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","FOCUS","MANUAL","element","config","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","_getConfig","tip","_setListeners","enable","disable","toggleEnabled","toggle","event","dataKey","constructor","context","currentTarget","data","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","hasClass","dispose","clearTimeout","removeData","off","closest","remove","destroy","show","css","showEvent","isWithContent","isInTheDom","contains","ownerDocument","documentElement","isDefaultPrevented","tipId","Util","getUID","setAttribute","setContent","addClass","call","attachment","_getAttachment","addAttachmentClass","document","body","appendTo","modifiers","flip","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","children","on","noop","complete","_fixTransition","prevHoverState","supportsTransitionEnd","one","TRANSITION_END","emulateTransitionEnd","_TRANSITION_DURATION","hide","callback","hideEvent","parentNode","removeChild","_cleanTipClass","removeAttribute","removeClass","update","scheduleUpdate","Boolean","getTitle","$tip","setElementContent","find","$element","content","nodeType","jquery","parent","is","empty","append","text","getAttribute","toUpperCase","triggers","split","forEach","eventIn","eventOut","extend","_fixTitle","titleType","type","setTimeout","toString","typeCheckConfig","key","tabClass","attr","match","length","join","initConfigAnimation","_jQueryInterface","each","_config","test","undefined","Constructor","noConflict","jQuery"],"mappings":"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","file":"tooltip.js","sourcesContent":["/* global Popper */\n\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0-beta'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">'\n + '<div class=\"arrow\"></div>'\n + '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\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 const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n\n constructor(element, config) {\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n\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 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\n // public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n\n } else {\n\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n this._popper = null\n\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate : (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\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 $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\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 $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n this._hoverState = ''\n\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n return this.tip = this.tip || $(this.config.template)[0]\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n\n // private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = $.extend({}, this.config, {\n trigger : 'manual',\n selector : ''\n })\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = $.extend(\n {},\n this.constructor.Default,\n $(this.element).data(),\n config\n )\n\n if (config.delay && typeof config.delay === 'number') {\n config.delay = {\n show : config.delay,\n hide : config.delay\n }\n }\n\n if (config.title && typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (config.content && typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\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 _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\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\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n\n})(jQuery)\n\nexport default Tooltip\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/tooltip.js"],"names":["Tooltip","Popper","Error","NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","TRANSITION_DURATION","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","DefaultType","animation","template","title","trigger","delay","html","selector","placement","offset","container","fallbackPlacement","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default","HoverState","SHOW","OUT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","ClassName","FADE","Selector","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","FOCUS","MANUAL","element","config","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","_getConfig","tip","_setListeners","event","dataKey","constructor","context","currentTarget","data","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","hasClass","clearTimeout","removeData","off","closest","remove","destroy","css","showEvent","isWithContent","isInTheDom","contains","ownerDocument","documentElement","isDefaultPrevented","tipId","Util","getUID","setAttribute","setContent","addClass","call","attachment","_getAttachment","addAttachmentClass","document","body","appendTo","modifiers","flip","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","children","on","noop","complete","_fixTransition","prevHoverState","supportsTransitionEnd","one","TRANSITION_END","emulateTransitionEnd","_TRANSITION_DURATION","callback","hideEvent","parentNode","removeChild","_cleanTipClass","removeAttribute","removeClass","scheduleUpdate","Boolean","getTitle","$tip","setElementContent","find","$element","content","nodeType","jquery","parent","is","empty","append","text","getAttribute","toUpperCase","triggers","split","forEach","toggle","eventIn","eventOut","hide","extend","_fixTitle","titleType","type","show","setTimeout","toString","typeCheckConfig","key","tabClass","attr","match","length","join","initConfigAnimation","each","_config","test","_jQueryInterface","Constructor","noConflict","jQuery"],"mappings":"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","file":"tooltip.js","sourcesContent":["import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (() => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0-beta'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">'\n + '<div class=\"arrow\"></div>'\n + '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\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 const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n\n constructor(element, config) {\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n\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 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\n // public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n\n } else {\n\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate : (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\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 $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\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 $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n this._hoverState = ''\n\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // protected\n\n isWithContent() {\n return Boolean(this.getTitle())\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 this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n\n // private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = $.extend({}, this.config, {\n trigger : 'manual',\n selector : ''\n })\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = $.extend(\n {},\n this.constructor.Default,\n $(this.element).data(),\n config\n )\n\n if (config.delay && typeof config.delay === 'number') {\n config.delay = {\n show : config.delay,\n hide : config.delay\n }\n }\n\n if (config.title && typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (config.content && typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\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 _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\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\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n\n})(jQuery, Popper)\n\nexport default Tooltip\n"]} \ No newline at end of file
diff --git a/js/dist/util.js b/js/dist/util.js
index b6d5f03e91..0cb4b614e0 100644
--- a/js/dist/util.js
+++ b/js/dist/util.js
@@ -1,3 +1,5 @@
+'use strict';
+
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta): util.js
@@ -5,7 +7,7 @@
* --------------------------------------------------------------------------
*/
-var Util = function ($) {
+var Util = function () {
/**
* ------------------------------------------------------------------------
@@ -40,7 +42,7 @@ var Util = function ($) {
if ($(event.target).is(this)) {
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
}
- return undefined;
+ return undefined; // eslint-disable-line no-undefined
}
};
}
@@ -53,7 +55,7 @@ var Util = function ($) {
var el = document.createElement('bootstrap');
for (var name in TransitionEndEvent) {
- if (el.style[name] !== undefined) {
+ if (typeof el.style[name] !== 'undefined') {
return {
end: TransitionEndEvent[name]
};
@@ -115,7 +117,7 @@ var Util = function ($) {
}
try {
- var $selector = $(selector);
+ var $selector = $(document).find(selector);
return $selector.length > 0 ? selector : null;
} catch (error) {
return null;
@@ -132,7 +134,7 @@ var Util = function ($) {
},
typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
for (var property in configTypes) {
- if (configTypes.hasOwnProperty(property)) {
+ if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
var expectedTypes = configTypes[property];
var value = config[property];
var valueType = value && isElement(value) ? 'element' : toType(value);
diff --git a/js/dist/util.js.map b/js/dist/util.js.map
index 960f4b4f7d..aa1d755996 100644
--- a/js/dist/util.js.map
+++ b/js/dist/util.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/util.js"],"names":["Util","$","transition","MAX_UID","TransitionEndEvent","WebkitTransition","MozTransition","OTransition","toType","obj","toString","call","match","toLowerCase","isElement","nodeType","getSpecialTransitionEndEvent","bindType","end","delegateType","handle","event","target","is","handleObj","handler","apply","arguments","undefined","transitionEndTest","window","QUnit","el","document","createElement","name","style","transitionEndEmulator","duration","called","one","TRANSITION_END","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","supportsTransitionEnd","special","getUID","prefix","Math","random","getElementById","getSelectorFromElement","element","selector","getAttribute","$selector","length","error","reflow","offsetHeight","trigger","Boolean","typeCheckConfig","componentName","config","configTypes","property","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","jQuery"],"mappings":"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","file":"util.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n const TransitionEndEvent = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n // shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function isElement(obj) {\n return (obj[0] || obj).nodeType\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n const el = document.createElement('bootstrap')\n\n for (const name in TransitionEndEvent) {\n if (el.style[name] !== undefined) {\n return {\n end: TransitionEndEvent[name]\n }\n }\n }\n\n return false\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(selector)\n return $selector.length > 0 ? selector : null\n } catch (error) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (configTypes.hasOwnProperty(property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n\n})(jQuery)\n\nexport default Util\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/util.js"],"names":["Util","transition","MAX_UID","TransitionEndEvent","WebkitTransition","MozTransition","OTransition","toType","obj","toString","call","match","toLowerCase","isElement","nodeType","getSpecialTransitionEndEvent","bindType","end","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndTest","window","QUnit","el","document","createElement","name","style","transitionEndEmulator","duration","called","one","TRANSITION_END","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","supportsTransitionEnd","special","getUID","prefix","Math","random","getElementById","getSelectorFromElement","element","selector","getAttribute","$selector","find","length","error","reflow","offsetHeight","trigger","Boolean","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","jQuery"],"mappings":"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","file":"util.js","sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (() => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n const TransitionEndEvent = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n // shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function isElement(obj) {\n return (obj[0] || obj).nodeType\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n const el = document.createElement('bootstrap')\n\n for (const name in TransitionEndEvent) {\n if (typeof el.style[name] !== 'undefined') {\n return {\n end: TransitionEndEvent[name]\n }\n }\n }\n\n return false\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (error) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n\n})(jQuery)\n\nexport default Util\n"]} \ No newline at end of file