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>2018-02-12 01:53:29 +0300
committerMark Otto <markdotto@gmail.com>2018-02-12 01:53:29 +0300
commite373fbea9220732283761f3720b4be6280d5135d (patch)
tree2aac6819b440f92d055cdf9c1961831c92bf01a5 /js/dist
parentf81f419b22949d2bf0f4d346891be44724109135 (diff)
dist
Diffstat (limited to 'js/dist')
-rw-r--r--js/dist/dropdown.js20
-rw-r--r--js/dist/dropdown.js.map2
-rw-r--r--js/dist/util.js14
-rw-r--r--js/dist/util.js.map2
4 files changed, 16 insertions, 22 deletions
diff --git a/js/dist/dropdown.js b/js/dist/dropdown.js
index 263d35bf63..ed1d52d7d1 100644
--- a/js/dist/dropdown.js
+++ b/js/dist/dropdown.js
@@ -75,12 +75,14 @@ var Dropdown = function ($) {
var Default = {
offset: 0,
flip: true,
- boundary: 'scrollParent'
+ boundary: 'scrollParent',
+ reference: 'toggle'
};
var DefaultType = {
offset: '(number|string|function)',
flip: 'boolean',
- boundary: '(string|element)'
+ boundary: '(string|element)',
+ reference: '(string|element)'
/**
* ------------------------------------------------------------------------
* Class Definition
@@ -141,11 +143,15 @@ var Dropdown = function ($) {
throw new TypeError('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 referenceElement = this._element;
- if ($(parent).hasClass(ClassName.DROPUP)) {
- if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {
- element = parent;
+ if (this._config.reference === 'parent') {
+ referenceElement = parent;
+ } else if (Util.isElement(this._config.reference)) {
+ referenceElement = this._config.reference; // Check if it's jQuery element
+
+ if (typeof this._config.reference.jquery !== 'undefined') {
+ referenceElement = this._config.reference[0];
}
} // If boundary is not `scrollParent`, then set position to `static`
// to allow the menu to "escape" the scroll parent's boundaries
@@ -156,7 +162,7 @@ var Dropdown = function ($) {
$(parent).addClass(ClassName.POSITION_STATIC);
}
- this._popper = new Popper(element, this._menu, this._getPopperConfig());
+ this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
} // If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS
diff --git a/js/dist/dropdown.js.map b/js/dist/dropdown.js.map
index 09385f1abd..f44b6e73e8 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","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","addClass","_getPopperConfig","document","documentElement","closest","length","children","on","noop","focus","setAttribute","toggleClass","dispose","removeData","off","destroy","update","scheduleUpdate","event","preventDefault","stopPropagation","constructor","data","Util","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 }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(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 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 // 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(element, 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","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
diff --git a/js/dist/util.js b/js/dist/util.js
index 778145500f..0b4963174f 100644
--- a/js/dist/util.js
+++ b/js/dist/util.js
@@ -14,7 +14,7 @@ var Util = function ($) {
var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
function toType(obj) {
- return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
+ return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
}
function getSpecialTransitionEndEvent() {
@@ -64,13 +64,6 @@ var Util = function ($) {
$.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
}
}
-
- function escapeId(selector) {
- // We escape IDs in case of special selectors (selector = '#myId:something')
- // $.escapeSelector does not exist in jQuery < 3
- selector = typeof $.escapeSelector === 'function' ? $.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
- return selector;
- }
/**
* --------------------------------------------------------------------------
* Public Util Api
@@ -93,11 +86,6 @@ var Util = function ($) {
if (!selector || selector === '#') {
selector = element.getAttribute('href') || '';
- } // If it's an ID
-
-
- if (selector.charAt(0) === '#') {
- selector = escapeId(selector);
}
try {
diff --git a/js/dist/util.js.map b/js/dist/util.js.map
index b2a43aa424..4e76822538 100644
--- a/js/dist/util.js.map
+++ b/js/dist/util.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/util.js"],"names":["Util","$","transition","MAX_UID","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","end","delegateType","handle","event","target","is","handleObj","handler","apply","arguments","undefined","transitionEndTest","window","QUnit","transitionEndEmulator","duration","called","one","TRANSITION_END","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","supportsTransitionEnd","special","escapeId","selector","escapeSelector","substr","replace","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","getAttribute","charAt","$selector","find","length","err","reflow","offsetHeight","trigger","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase"],"mappings":"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","file":"util.js","sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (typeof window !== 'undefined' && window.QUnit) {\n return false\n }\n\n return {\n end: 'transitionend'\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n function escapeId(selector) {\n // We escape IDs in case of special selectors (selector = '#myId:something')\n // $.escapeSelector does not exist in jQuery < 3\n selector = typeof $.escapeSelector === 'function' ? $.escapeSelector(selector).substr(1)\n : selector.replace(/(:|\\.|\\[|\\]|,|=|@)/g, '\\\\$1')\n\n return selector\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n // If it's an ID\n if (selector.charAt(0) === '#') {\n selector = escapeId(selector)\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (err) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/util.js"],"names":["Util","$","transition","MAX_UID","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","end","delegateType","handle","event","target","is","handleObj","handler","apply","arguments","undefined","transitionEndTest","window","QUnit","transitionEndEmulator","duration","called","one","TRANSITION_END","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","supportsTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","$selector","find","length","err","reflow","offsetHeight","trigger","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase"],"mappings":"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","file":"util.js","sourcesContent":["import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (typeof window !== 'undefined' && window.QUnit) {\n return false\n }\n\n return {\n end: 'transitionend'\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (err) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n"]} \ No newline at end of file