1{"version":3,"sources":["../../src/bootstrap/dropdown.js"],"names":["DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","$","fn","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","REGEXP_KEYDOWN","RegExp","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_SHOW","CLASS_NAME_MENURIGHT","SELECTOR_DATA_TOGGLE","SELECTOR_MENU","Default","offset","flip","boundary","reference","display","popperConfig","DefaultType","Dropdown","element","config","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_inNavbar","_detectNavbar","_addEventListeners","disabled","hasClass","isActive","_clearMenus","show","usePopper","relatedTarget","showEvent","Event","parent","_getParentFromElement","trigger","isDefaultPrevented","Popper","TypeError","referenceElement","Util","isElement","jquery","addClass","_getPopperConfig","document","documentElement","closest","length","body","children","on","noop","focus","setAttribute","toggleClass","hideEvent","destroy","removeData","off","scheduleUpdate","event","preventDefault","stopPropagation","toggle","constructor","data","typeCheckConfig","querySelector","$parentDropdown","parentNode","placement","offsets","_getPlacement","modifiers","_getOffset","enabled","preventOverflow","boundariesElement","applyStyle","each","which","type","toggles","slice","call","querySelectorAll","i","len","context","clickEvent","dropdownMenu","test","target","tagName","contains","removeClass","selector","getSelectorFromElement","items","filter","item","is","index","indexOf","_dataApiKeydownHandler","_jQueryInterface","e","Constructor","noConflict"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'core/popper'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME                     = 'dropdown'\nconst VERSION                  = '4.5.0'\nconst DATA_KEY                 = 'bs.dropdown'\nconst EVENT_KEY                = `.${DATA_KEY}`\nconst DATA_API_KEY             = '.data-api'\nconst JQUERY_NO_CONFLICT       = $.fn[NAME]\nconst ESCAPE_KEYCODE           = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE            = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE              = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE         = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE       = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN           = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE             = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN           = `hidden${EVENT_KEY}`\nconst EVENT_SHOW             = `show${EVENT_KEY}`\nconst EVENT_SHOWN            = `shown${EVENT_KEY}`\nconst EVENT_CLICK            = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API   = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API   = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED        = 'disabled'\nconst CLASS_NAME_SHOW            = 'show'\nconst CLASS_NAME_DROPUP          = 'dropup'\nconst CLASS_NAME_DROPRIGHT       = 'dropright'\nconst CLASS_NAME_DROPLEFT        = 'dropleft'\nconst CLASS_NAME_MENURIGHT       = 'dropdown-menu-right'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE   = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD    = '.dropdown form'\nconst SELECTOR_MENU          = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV    = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP       = 'top-start'\nconst PLACEMENT_TOPEND    = 'top-end'\nconst PLACEMENT_BOTTOM    = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT     = 'right-start'\nconst PLACEMENT_LEFT      = 'left-start'\n\nconst Default = {\n  offset       : 0,\n  flip         : true,\n  boundary     : 'scrollParent',\n  reference    : 'toggle',\n  display      : 'dynamic',\n  popperConfig : null\n}\n\nconst DefaultType = {\n  offset       : '(number|string|function)',\n  flip         : 'boolean',\n  boundary     : '(string|element)',\n  reference    : '(string|element)',\n  display      : 'string',\n  popperConfig : '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass 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(CLASS_NAME_DISABLED)) {\n      return\n    }\n\n    const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)\n\n    Dropdown._clearMenus()\n\n    if (isActive) {\n      return\n    }\n\n    this.show(true)\n  }\n\n  show(usePopper = false) {\n    if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const showEvent = $.Event(EVENT_SHOW, relatedTarget)\n    const parent = Dropdown._getParentFromElement(this._element)\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 && usePopper) {\n      /**\n       * Check for Popper dependency\n       * Popper - https://popper.js.org\n       */\n      if (typeof Popper === 'undefined') {\n        throw new TypeError('Bootstrap\\'s dropdowns 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(CLASS_NAME_POSITION_STATIC)\n      }\n      this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n    }\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement &&\n        $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n      $(document.body).children().on('mouseover', null, $.noop)\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', true)\n\n    $(this._menu).toggleClass(CLASS_NAME_SHOW)\n    $(parent)\n      .toggleClass(CLASS_NAME_SHOW)\n      .trigger($.Event(EVENT_SHOWN, relatedTarget))\n  }\n\n  hide() {\n    if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n    const parent = Dropdown._getParentFromElement(this._element)\n\n    $(parent).trigger(hideEvent)\n\n    if (hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    $(this._menu).toggleClass(CLASS_NAME_SHOW)\n    $(parent)\n      .toggleClass(CLASS_NAME_SHOW)\n      .trigger($.Event(EVENT_HIDDEN, 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\n      if (parent) {\n        this._menu = parent.querySelector(SELECTOR_MENU)\n      }\n    }\n    return this._menu\n  }\n\n  _getPlacement() {\n    const $parentDropdown = $(this._element.parentNode)\n    let placement = PLACEMENT_BOTTOM\n\n    // Handle dropup\n    if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n      placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT)\n        ? PLACEMENT_TOPEND\n        : PLACEMENT_TOP\n    } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n      placement = PLACEMENT_RIGHT\n    } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n      placement = PLACEMENT_LEFT\n    } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n      placement = PLACEMENT_BOTTOMEND\n    }\n    return placement\n  }\n\n  _detectNavbar() {\n    return $(this._element).closest('.navbar').length > 0\n  }\n\n  _getOffset() {\n    const offset = {}\n\n    if (typeof this._config.offset === 'function') {\n      offset.fn = (data) => {\n        data.offsets = {\n          ...data.offsets,\n          ...this._config.offset(data.offsets, this._element) || {}\n        }\n\n        return data\n      }\n    } else {\n      offset.offset = this._config.offset\n    }\n\n    return offset\n  }\n\n  _getPopperConfig() {\n    const popperConfig = {\n      placement: this._getPlacement(),\n      modifiers: {\n        offset: this._getOffset(),\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\n    return {\n      ...popperConfig,\n      ...this._config.popperConfig\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      const _config = typeof config === 'object' ? config : null\n\n      if (!data) {\n        data = new Dropdown(this, _config)\n        $(this).data(DATA_KEY, data)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n        data[config]()\n      }\n    })\n  }\n\n  static _clearMenus(event) {\n    if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n      event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n      return\n    }\n\n    const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n\n    for (let i = 0, len = toggles.length; i < len; i++) {\n      const parent = Dropdown._getParentFromElement(toggles[i])\n      const context = $(toggles[i]).data(DATA_KEY)\n      const relatedTarget = {\n        relatedTarget: toggles[i]\n      }\n\n      if (event && event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      if (!context) {\n        continue\n      }\n\n      const dropdownMenu = context._menu\n      if (!$(parent).hasClass(CLASS_NAME_SHOW)) {\n        continue\n      }\n\n      if (event && (event.type === 'click' &&\n          /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n          $.contains(parent, event.target)) {\n        continue\n      }\n\n      const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n      $(parent).trigger(hideEvent)\n      if (hideEvent.isDefaultPrevented()) {\n        continue\n      }\n\n      // If this is a touch-enabled device we remove the extra\n      // empty mouseover listeners we added for iOS support\n      if ('ontouchstart' in document.documentElement) {\n        $(document.body).children().off('mouseover', null, $.noop)\n      }\n\n      toggles[i].setAttribute('aria-expanded', 'false')\n\n      if (context._popper) {\n        context._popper.destroy()\n      }\n\n      $(dropdownMenu).removeClass(CLASS_NAME_SHOW)\n      $(parent)\n        .removeClass(CLASS_NAME_SHOW)\n        .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n    }\n  }\n\n  static _getParentFromElement(element) {\n    let parent\n    const selector = Util.getSelectorFromElement(element)\n\n    if (selector) {\n      parent = document.querySelector(selector)\n    }\n\n    return parent || element.parentNode\n  }\n\n  // eslint-disable-next-line complexity\n  static _dataApiKeydownHandler(event) {\n    // If not input/textarea:\n    //  - And not a key in REGEXP_KEYDOWN => not a dropdown command\n    // If input/textarea:\n    //  - If space key => not a dropdown command\n    //  - If key is other than escape\n    //    - If key is not up or down => not a dropdown command\n    //    - If trigger inside the menu => not a dropdown command\n    if (/input|textarea/i.test(event.target.tagName)\n      ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n      (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n        $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n      return\n    }\n\n    if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n      return\n    }\n\n    const parent   = Dropdown._getParentFromElement(this)\n    const isActive = $(parent).hasClass(CLASS_NAME_SHOW)\n\n    if (!isActive && event.which === ESCAPE_KEYCODE) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n      if (event.which === ESCAPE_KEYCODE) {\n        $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')\n      }\n\n      $(this).trigger('click')\n      return\n    }\n\n    const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))\n      .filter((item) => $(item).is(':visible'))\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 = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Dropdown._jQueryInterface\n}\n\nexport default Dropdown\n"],"file":"dropdown.min.js"}