1{"version":3,"sources":["../../src/bootstrap/modal.js"],"names":["DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","ESCAPE_KEYCODE","Default","backdrop","keyboard","focus","show","DefaultType","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_CLICK_DATA_API","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_SHOW","CLASS_NAME_STATIC","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","element","config","_config","_getConfig","_element","_dialog","querySelector","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_isTransitioning","_scrollbarWidth","relatedTarget","hide","hasClass","showEvent","Event","trigger","isDefaultPrevented","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","on","event","one","target","is","_showBackdrop","_showElement","preventDefault","hideEvent","transition","document","off","removeClass","transitionDuration","Util","getTransitionDurationFromElement","TRANSITION_END","_hideModal","emulateTransitionEnd","window","forEach","htmlElement","removeData","typeCheckConfig","hideEventPrevented","isModalOverflowing","scrollHeight","documentElement","clientHeight","style","overflowY","classList","add","modalTransitionDuration","remove","modalBody","parentNode","nodeType","Node","ELEMENT_NODE","body","appendChild","display","removeAttribute","setAttribute","scrollTop","reflow","addClass","_enforceFocus","shownEvent","transitionComplete","has","length","which","_triggerBackdropTransition","handleUpdate","_resetAdjustments","_resetScrollbar","callback","animate","createElement","className","appendTo","currentTarget","backdropTransitionDuration","callbackRemove","_removeBackdrop","paddingLeft","paddingRight","rect","getBoundingClientRect","Math","round","left","right","innerWidth","_getScrollbarWidth","fixedContent","slice","call","querySelectorAll","stickyContent","each","index","actualPadding","calculatedPadding","css","data","parseFloat","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","TypeError","selector","getSelectorFromElement","tagName","$target","_jQueryInterface","Constructor","noConflict"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.modal'\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\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  focus: true,\n  show: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  focus: 'boolean',\n  show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n  constructor(element, config) {\n    this._config = this._getConfig(config)\n    this._element = element\n    this._dialog = element.querySelector(SELECTOR_DIALOG)\n    this._backdrop = null\n    this._isShown = false\n    this._isBodyOverflowing = false\n    this._ignoreBackdropClick = false\n    this._isTransitioning = false\n    this._scrollbarWidth = 0\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  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown || this._isTransitioning) {\n      return\n    }\n\n    if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n      this._isTransitioning = true\n    }\n\n    const showEvent = $.Event(EVENT_SHOW, {\n      relatedTarget\n    })\n\n    $(this._element).trigger(showEvent)\n\n    if (this._isShown || showEvent.isDefaultPrevented()) {\n      return\n    }\n\n    this._isShown = true\n\n    this._checkScrollbar()\n    this._setScrollbar()\n\n    this._adjustDialog()\n\n    this._setEscapeEvent()\n    this._setResizeEvent()\n\n    $(this._element).on(\n      EVENT_CLICK_DISMISS,\n      SELECTOR_DATA_DISMISS,\n      event => this.hide(event)\n    )\n\n    $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {\n      $(this._element).one(EVENT_MOUSEUP_DISMISS, event => {\n        if ($(event.target).is(this._element)) {\n          this._ignoreBackdropClick = true\n        }\n      })\n    })\n\n    this._showBackdrop(() => this._showElement(relatedTarget))\n  }\n\n  hide(event) {\n    if (event) {\n      event.preventDefault()\n    }\n\n    if (!this._isShown || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = $.Event(EVENT_HIDE)\n\n    $(this._element).trigger(hideEvent)\n\n    if (!this._isShown || hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    this._isShown = false\n    const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n\n    if (transition) {\n      this._isTransitioning = true\n    }\n\n    this._setEscapeEvent()\n    this._setResizeEvent()\n\n    $(document).off(EVENT_FOCUSIN)\n\n    $(this._element).removeClass(CLASS_NAME_SHOW)\n\n    $(this._element).off(EVENT_CLICK_DISMISS)\n    $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)\n\n    if (transition) {\n      const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, event => this._hideModal(event))\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      this._hideModal()\n    }\n  }\n\n  dispose() {\n    [window, this._element, this._dialog]\n      .forEach(htmlElement => $(htmlElement).off(EVENT_KEY))\n\n    /**\n     * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n     * Do not move `document` in `htmlElements` array\n     * It will remove `EVENT_CLICK_DATA_API` event that should remain\n     */\n    $(document).off(EVENT_FOCUSIN)\n\n    $.removeData(this._element, DATA_KEY)\n\n    this._config = null\n    this._element = null\n    this._dialog = null\n    this._backdrop = null\n    this._isShown = null\n    this._isBodyOverflowing = null\n    this._ignoreBackdropClick = null\n    this._isTransitioning = null\n    this._scrollbarWidth = null\n  }\n\n  handleUpdate() {\n    this._adjustDialog()\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  _triggerBackdropTransition() {\n    const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)\n\n    $(this._element).trigger(hideEventPrevented)\n    if (hideEventPrevented.isDefaultPrevented()) {\n      return\n    }\n\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n    if (!isModalOverflowing) {\n      this._element.style.overflowY = 'hidden'\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n\n    const modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n    $(this._element).off(Util.TRANSITION_END)\n\n    $(this._element).one(Util.TRANSITION_END, () => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n      if (!isModalOverflowing) {\n        $(this._element).one(Util.TRANSITION_END, () => {\n          this._element.style.overflowY = ''\n        })\n          .emulateTransitionEnd(this._element, modalTransitionDuration)\n      }\n    })\n      .emulateTransitionEnd(modalTransitionDuration)\n    this._element.focus()\n  }\n\n  _showElement(relatedTarget) {\n    const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n    const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null\n\n    if (!this._element.parentNode ||\n        this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n      // Don't move modal's DOM position\n      document.body.appendChild(this._element)\n    }\n\n    this._element.style.display = 'block'\n    this._element.removeAttribute('aria-hidden')\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n\n    if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n      modalBody.scrollTop = 0\n    } else {\n      this._element.scrollTop = 0\n    }\n\n    if (transition) {\n      Util.reflow(this._element)\n    }\n\n    $(this._element).addClass(CLASS_NAME_SHOW)\n\n    if (this._config.focus) {\n      this._enforceFocus()\n    }\n\n    const shownEvent = $.Event(EVENT_SHOWN, {\n      relatedTarget\n    })\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._element.focus()\n      }\n\n      this._isTransitioning = false\n      $(this._element).trigger(shownEvent)\n    }\n\n    if (transition) {\n      const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n      $(this._dialog)\n        .one(Util.TRANSITION_END, transitionComplete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      transitionComplete()\n    }\n  }\n\n  _enforceFocus() {\n    $(document)\n      .off(EVENT_FOCUSIN) // Guard against infinite focus loop\n      .on(EVENT_FOCUSIN, event => {\n        if (document !== event.target &&\n            this._element !== event.target &&\n            $(this._element).has(event.target).length === 0) {\n          this._element.focus()\n        }\n      })\n  }\n\n  _setEscapeEvent() {\n    if (this._isShown) {\n      $(this._element).on(EVENT_KEYDOWN_DISMISS, event => {\n        if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n          event.preventDefault()\n          this.hide()\n        } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n          this._triggerBackdropTransition()\n        }\n      })\n    } else if (!this._isShown) {\n      $(this._element).off(EVENT_KEYDOWN_DISMISS)\n    }\n  }\n\n  _setResizeEvent() {\n    if (this._isShown) {\n      $(window).on(EVENT_RESIZE, event => this.handleUpdate(event))\n    } else {\n      $(window).off(EVENT_RESIZE)\n    }\n  }\n\n  _hideModal() {\n    this._element.style.display = 'none'\n    this._element.setAttribute('aria-hidden', true)\n    this._element.removeAttribute('aria-modal')\n    this._element.removeAttribute('role')\n    this._isTransitioning = false\n    this._showBackdrop(() => {\n      $(document.body).removeClass(CLASS_NAME_OPEN)\n      this._resetAdjustments()\n      this._resetScrollbar()\n      $(this._element).trigger(EVENT_HIDDEN)\n    })\n  }\n\n  _removeBackdrop() {\n    if (this._backdrop) {\n      $(this._backdrop).remove()\n      this._backdrop = null\n    }\n  }\n\n  _showBackdrop(callback) {\n    const animate = $(this._element).hasClass(CLASS_NAME_FADE) ?\n      CLASS_NAME_FADE : ''\n\n    if (this._isShown && this._config.backdrop) {\n      this._backdrop = document.createElement('div')\n      this._backdrop.className = CLASS_NAME_BACKDROP\n\n      if (animate) {\n        this._backdrop.classList.add(animate)\n      }\n\n      $(this._backdrop).appendTo(document.body)\n\n      $(this._element).on(EVENT_CLICK_DISMISS, event => {\n        if (this._ignoreBackdropClick) {\n          this._ignoreBackdropClick = false\n          return\n        }\n\n        if (event.target !== event.currentTarget) {\n          return\n        }\n\n        if (this._config.backdrop === 'static') {\n          this._triggerBackdropTransition()\n        } else {\n          this.hide()\n        }\n      })\n\n      if (animate) {\n        Util.reflow(this._backdrop)\n      }\n\n      $(this._backdrop).addClass(CLASS_NAME_SHOW)\n\n      if (!callback) {\n        return\n      }\n\n      if (!animate) {\n        callback()\n        return\n      }\n\n      const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n      $(this._backdrop)\n        .one(Util.TRANSITION_END, callback)\n        .emulateTransitionEnd(backdropTransitionDuration)\n    } else if (!this._isShown && this._backdrop) {\n      $(this._backdrop).removeClass(CLASS_NAME_SHOW)\n\n      const callbackRemove = () => {\n        this._removeBackdrop()\n        if (callback) {\n          callback()\n        }\n      }\n\n      if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n        const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n        $(this._backdrop)\n          .one(Util.TRANSITION_END, callbackRemove)\n          .emulateTransitionEnd(backdropTransitionDuration)\n      } else {\n        callbackRemove()\n      }\n    } else if (callback) {\n      callback()\n    }\n  }\n\n  // ----------------------------------------------------------------------\n  // the following methods are used to handle overflowing modals\n  // todo (fat): these should probably be refactored out of modal.js\n  // ----------------------------------------------------------------------\n\n  _adjustDialog() {\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n    if (!this._isBodyOverflowing && isModalOverflowing) {\n      this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n    }\n\n    if (this._isBodyOverflowing && !isModalOverflowing) {\n      this._element.style.paddingRight = `${this._scrollbarWidth}px`\n    }\n  }\n\n  _resetAdjustments() {\n    this._element.style.paddingLeft = ''\n    this._element.style.paddingRight = ''\n  }\n\n  _checkScrollbar() {\n    const rect = document.body.getBoundingClientRect()\n    this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n    this._scrollbarWidth = this._getScrollbarWidth()\n  }\n\n  _setScrollbar() {\n    if (this._isBodyOverflowing) {\n      // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n      //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n      const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n      const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n      // Adjust fixed content padding\n      $(fixedContent).each((index, element) => {\n        const actualPadding = element.style.paddingRight\n        const calculatedPadding = $(element).css('padding-right')\n        $(element)\n          .data('padding-right', actualPadding)\n          .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n      })\n\n      // Adjust sticky content margin\n      $(stickyContent).each((index, element) => {\n        const actualMargin = element.style.marginRight\n        const calculatedMargin = $(element).css('margin-right')\n        $(element)\n          .data('margin-right', actualMargin)\n          .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n      })\n\n      // Adjust body padding\n      const actualPadding = document.body.style.paddingRight\n      const calculatedPadding = $(document.body).css('padding-right')\n      $(document.body)\n        .data('padding-right', actualPadding)\n        .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n    }\n\n    $(document.body).addClass(CLASS_NAME_OPEN)\n  }\n\n  _resetScrollbar() {\n    // Restore fixed content padding\n    const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n    $(fixedContent).each((index, element) => {\n      const padding = $(element).data('padding-right')\n      $(element).removeData('padding-right')\n      element.style.paddingRight = padding ? padding : ''\n    })\n\n    // Restore sticky content\n    const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))\n    $(elements).each((index, element) => {\n      const margin = $(element).data('margin-right')\n      if (typeof margin !== 'undefined') {\n        $(element).css('margin-right', margin).removeData('margin-right')\n      }\n    })\n\n    // Restore body padding\n    const padding = $(document.body).data('padding-right')\n    $(document.body).removeData('padding-right')\n    document.body.style.paddingRight = padding ? padding : ''\n  }\n\n  _getScrollbarWidth() { // thx d.walsh\n    const scrollDiv = document.createElement('div')\n    scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n    document.body.appendChild(scrollDiv)\n    const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n    document.body.removeChild(scrollDiv)\n    return scrollbarWidth\n  }\n\n  // Static\n\n  static _jQueryInterface(config, relatedTarget) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      const _config = {\n        ...Default,\n        ...$(this).data(),\n        ...(typeof config === 'object' && config ? config : {})\n      }\n\n      if (!data) {\n        data = new Modal(this, _config)\n        $(this).data(DATA_KEY, data)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n\n        data[config](relatedTarget)\n      } else if (_config.show) {\n        data.show(relatedTarget)\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  let target\n  const selector = Util.getSelectorFromElement(this)\n\n  if (selector) {\n    target = document.querySelector(selector)\n  }\n\n  const config = $(target).data(DATA_KEY) ?\n    'toggle' : {\n      ...$(target).data(),\n      ...$(this).data()\n    }\n\n  if (this.tagName === 'A' || this.tagName === 'AREA') {\n    event.preventDefault()\n  }\n\n  const $target = $(target).one(EVENT_SHOW, showEvent => {\n    if (showEvent.isDefaultPrevented()) {\n      // Only register focus restorer if modal will actually get shown\n      return\n    }\n\n    $target.one(EVENT_HIDDEN, () => {\n      if ($(this).is(':visible')) {\n        this.focus()\n      }\n    })\n  })\n\n  Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Modal._jQueryInterface\n}\n\nexport default Modal\n"],"file":"modal.min.js"}