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-10-30 22:48:13 +0300
committerMark Otto <markdotto@gmail.com>2017-10-30 22:48:13 +0300
commit2fec9f13cd044cb46060ebecfb10d410c3d97c19 (patch)
tree111d913ba180d51db16d0cc780668ee30685a7e4 /js/dist
parent10773f45d430e1d9629afac5c27adcf5a29553b9 (diff)
dist
Diffstat (limited to 'js/dist')
-rw-r--r--js/dist/dropdown.js45
-rw-r--r--js/dist/dropdown.js.map2
2 files changed, 21 insertions, 26 deletions
diff --git a/js/dist/dropdown.js b/js/dist/dropdown.js
index cf8674871f..83e24f31ac 100644
--- a/js/dist/dropdown.js
+++ b/js/dist/dropdown.js
@@ -124,30 +124,33 @@ var Dropdown = function ($) {
if (showEvent.isDefaultPrevented()) {
return;
- }
- /**
- * Check for Popper dependency
- * Popper - https://popper.js.org
- */
+ } // Disable totally Popper.js for Dropdown in Navbar
- if (typeof Popper === 'undefined') {
- throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)');
- }
+ if (!this._inNavbar) {
+ /**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+ if (typeof Popper === 'undefined') {
+ throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)');
+ }
- var element = this._element; // for dropup with alignment we use the parent as popper container
+ var element = this._element; // for dropup with alignment we use the parent as popper container
- if ($(parent).hasClass(ClassName.DROPUP)) {
- if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {
- element = parent;
+ 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
+ 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);
}
@@ -168,9 +171,9 @@ var Dropdown = function ($) {
if (this._popper !== null) {
this._popper.destroy();
- }
- this._popper = null;
+ this._popper = null;
+ }
};
_proto.update = function update() {
@@ -255,16 +258,8 @@ var Dropdown = function ($) {
flip: {
enabled: this._config.flip
}
- } // Disable Popper.js for Dropdown in Navbar
-
+ }
};
-
- if (this._inNavbar) {
- popperConfig.modifiers.applyStyle = {
- enabled: !this._inNavbar
- };
- }
-
return popperConfig;
}; // static
diff --git a/js/dist/dropdown.js.map b/js/dist/dropdown.js.map
index a103c58e9f..36cdc265c8 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","Selector","DATA_TOGGLE","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHT","RIGHTEND","LEFT","LEFTEND","Default","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","Popper","Error","_getPopperConfig","document","documentElement","closest","length","children","on","noop","focus","setAttribute","toggleClass","dispose","removeData","off","destroy","update","scheduleUpdate","event","preventDefault","stopPropagation","extend","constructor","data","Util","typeCheckConfig","find","_getPlacement","$parentDropdown","placement","offsetConf","offsets","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"],"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 * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left'\n }\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 }\n\n const DefaultType = {\n offset : '(number|string|function)',\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 /**\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 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 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 = 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 = $.extend({}, data.offsets, this._config.offset(data.offsets) || {})\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 }\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 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\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})($, 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","Selector","DATA_TOGGLE","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHT","RIGHTEND","LEFT","LEFTEND","Default","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","Popper","Error","_getPopperConfig","document","documentElement","closest","length","children","on","noop","focus","setAttribute","toggleClass","dispose","removeData","off","destroy","update","scheduleUpdate","event","preventDefault","stopPropagation","extend","constructor","data","Util","typeCheckConfig","find","_getPlacement","$parentDropdown","placement","offsetConf","offsets","popperConfig","modifiers","enabled","_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 * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-beta.2): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0-beta.2'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left'\n }\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 }\n\n const DefaultType = {\n offset : '(number|string|function)',\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 // 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 Error('Bootstrap dropdown require Popper.js (https://popper.js.org)')\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\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 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 = $.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 = 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 = $.extend({}, data.offsets, this._config.offset(data.offsets) || {})\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 }\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 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\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})($, Popper)\n\nexport default Dropdown\n"]} \ No newline at end of file