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
diff options
context:
space:
mode:
authorMark Otto <markdotto@gmail.com>2018-02-20 01:50:56 +0300
committerMark Otto <markdotto@gmail.com>2018-02-20 01:50:56 +0300
commit6a52ebfe1a7c7409d308d1c87c088b770a845e88 (patch)
tree882fd0237018aab42c5bfe300c519122da84a5dc /js
parent33f3ba33c208937a2aec30accddc6b7384442c6b (diff)
dist
Diffstat (limited to 'js')
-rw-r--r--js/dist/carousel.js19
-rw-r--r--js/dist/carousel.js.map2
-rw-r--r--js/dist/dropdown.js16
-rw-r--r--js/dist/dropdown.js.map2
4 files changed, 32 insertions, 7 deletions
diff --git a/js/dist/carousel.js b/js/dist/carousel.js
index 439879e930..93fa3f19d9 100644
--- a/js/dist/carousel.js
+++ b/js/dist/carousel.js
@@ -22,13 +22,13 @@ var Carousel = function ($) {
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
- var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
+ var MILLISECONDS_MULTIPLIER = 1000;
var Default = {
interval: 5000,
keyboard: true,
@@ -98,6 +98,7 @@ var Carousel = function ($) {
this._config = this._getConfig(config);
this._element = $(element)[0];
this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
+ this._transitionDuration = this._getTransitionDuration();
this._addEventListeners();
} // Getters
@@ -204,6 +205,20 @@ var Carousel = function ($) {
return config;
};
+ _proto._getTransitionDuration = function _getTransitionDuration() {
+ // Get transition-duration of first element in the carousel
+ var transitionDuration = $(this._element).find(Selector.ITEM).css('transition-duration'); // Return 0 carousel item is not found
+
+ if (!transitionDuration) {
+ return 0;
+ } // If multiple durations are defined, take the first
+
+
+ transitionDuration = transitionDuration.split(',')[0]; // Multiply by 1000 if transition-duration is defined in seconds
+
+ return transitionDuration.indexOf('ms') > -1 ? parseFloat(transitionDuration) : parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER;
+ };
+
_proto._addEventListeners = function _addEventListeners() {
var _this2 = this;
@@ -382,7 +397,7 @@ var Carousel = function ($) {
setTimeout(function () {
return $(_this3._element).trigger(slidEvent);
}, 0);
- }).emulateTransitionEnd(TRANSITION_DURATION);
+ }).emulateTransitionEnd(this._transitionDuration);
} else {
$(activeElement).removeClass(ClassName.ACTIVE);
$(nextElement).addClass(ClassName.ACTIVE);
diff --git a/js/dist/carousel.js.map b/js/dist/carousel.js.map
index 47e1dd10c4..71bb1b9872 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","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","TypeError","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","getAttribute","call","window","$carousel","Constructor","noConflict"],"mappings":"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","file":"carousel.js","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0'\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 * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).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 // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = $.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 _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 $(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 .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n"]} \ 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","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","MILLISECONDS_MULTIPLIER","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","_transitionDuration","_getTransitionDuration","_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","typeCheckConfig","transitionDuration","split","indexOf","parseFloat","on","_keydown","documentElement","clearTimeout","setTimeout","test","target","tagName","which","preventDefault","makeArray","parent","_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","TypeError","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","getAttribute","call","window","$carousel","Constructor","noConflict"],"mappings":"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","file":"carousel.js","sourcesContent":["import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n const MILLISECONDS_MULTIPLIER = 1000\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._transitionDuration = this._getTransitionDuration()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).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 // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getTransitionDuration() {\n // Get transition-duration of first element in the carousel\n let transitionDuration = $(this._element).find(Selector.ITEM).css('transition-duration')\n\n // Return 0 carousel item is not found\n if (!transitionDuration) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n\n // Multiply by 1000 if transition-duration is defined in seconds\n return transitionDuration.indexOf('ms') > -1\n ? parseFloat(transitionDuration)\n : parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = $.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 _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 $(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 .emulateTransitionEnd(this._transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n"]} \ No newline at end of file
diff --git a/js/dist/dropdown.js b/js/dist/dropdown.js
index ed1d52d7d1..3ca0ace83d 100644
--- a/js/dist/dropdown.js
+++ b/js/dist/dropdown.js
@@ -76,13 +76,15 @@ var Dropdown = function ($) {
offset: 0,
flip: true,
boundary: 'scrollParent',
- reference: 'toggle'
+ reference: 'toggle',
+ display: 'dynamic'
};
var DefaultType = {
offset: '(number|string|function)',
flip: 'boolean',
boundary: '(string|element)',
- reference: '(string|element)'
+ reference: '(string|element)',
+ display: 'string'
/**
* ------------------------------------------------------------------------
* Class Definition
@@ -279,8 +281,16 @@ var Dropdown = function ($) {
preventOverflow: {
boundariesElement: this._config.boundary
}
- }
+ } // Disable Popper.js if we have a static display
+
};
+
+ if (this._config.display === 'static') {
+ popperConfig.modifiers.applyStyle = {
+ enabled: false
+ };
+ }
+
return popperConfig;
}; // Static
diff --git a/js/dist/dropdown.js.map b/js/dist/dropdown.js.map
index f44b6e73e8..9be8eb46d5 100644
--- a/js/dist/dropdown.js.map
+++ b/js/dist/dropdown.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/dropdown.js"],"names":["Dropdown","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","RegExp","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK","CLICK_DATA_API","KEYDOWN_DATA_API","KEYUP_DATA_API","ClassName","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","Selector","DATA_TOGGLE","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHT","RIGHTEND","LEFT","LEFTEND","Default","offset","flip","boundary","reference","DefaultType","element","config","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","toggle","disabled","hasClass","parent","_getParentFromElement","isActive","_clearMenus","relatedTarget","showEvent","trigger","isDefaultPrevented","Popper","TypeError","referenceElement","Util","isElement","jquery","addClass","_getPopperConfig","document","documentElement","closest","length","children","on","noop","focus","setAttribute","toggleClass","dispose","removeData","off","destroy","update","scheduleUpdate","event","preventDefault","stopPropagation","constructor","data","typeCheckConfig","find","_getPlacement","$parentDropdown","placement","offsetConf","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","_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"],"mappings":"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","file":"dropdown.js","sourcesContent":["import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n 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 = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.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 // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).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 === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/dropdown.js"],"names":["Dropdown","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","RegExp","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK","CLICK_DATA_API","KEYDOWN_DATA_API","KEYUP_DATA_API","ClassName","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","Selector","DATA_TOGGLE","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHT","RIGHTEND","LEFT","LEFTEND","Default","offset","flip","boundary","reference","display","DefaultType","element","config","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","toggle","disabled","hasClass","parent","_getParentFromElement","isActive","_clearMenus","relatedTarget","showEvent","trigger","isDefaultPrevented","Popper","TypeError","referenceElement","Util","isElement","jquery","addClass","_getPopperConfig","document","documentElement","closest","length","children","on","noop","focus","setAttribute","toggleClass","dispose","removeData","off","destroy","update","scheduleUpdate","event","preventDefault","stopPropagation","constructor","data","typeCheckConfig","find","_getPlacement","$parentDropdown","placement","offsetConf","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","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"],"mappings":"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","file":"dropdown.js","sourcesContent":["import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n 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 = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.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 // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).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 === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n"]} \ No newline at end of file