{“version”:3,“sources”:,“names”:,“mappings”:“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”,“sourcesContent”:[“/**n * ————————————————————————–n * Bootstrap (v4.5.2): modal.jsn * Licensed under MIT (github.com/twbs/bootstrap/blob/main/LICENSE)n * ————————————————————————–n */nnimport $ from 'jquery'nimport Util from './util'nn/**n * ————————————————————————n * Constantsn * ————————————————————————n */nnconst NAME = 'modal'nconst VERSION = '4.5.2'nconst DATA_KEY = 'bs.modal'nconst EVENT_KEY = `.${DATA_KEY}`nconst DATA_API_KEY = '.data-api'nconst JQUERY_NO_CONFLICT = $.fnnconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) keynnconst Default = {n backdrop : true,n keyboard : true,n focus : true,n show : truen}nnconst DefaultType = {n backdrop : '(boolean|string)',n keyboard : 'boolean',n focus : 'boolean',n show : 'boolean'n}nnconst 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}`nnconst 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'nnconst 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'nn/**n * ————————————————————————n * Class Definitionn * ————————————————————————n */nnclass Modal {n constructor(element, config) {n this._config = this._getConfig(config)n this._element = elementn this._dialog = element.querySelector(SELECTOR_DIALOG)n this._backdrop = nulln this._isShown = falsen this._isBodyOverflowing = falsen this._ignoreBackdropClick = falsen this._isTransitioning = falsen this._scrollbarWidth = 0n }nn // Gettersnn static get VERSION() {n return VERSIONn }nn static get Default() {n return Defaultn }nn // Publicnn toggle(relatedTarget) {n return this._isShown ? this.hide() : this.show(relatedTarget)n }nn show(relatedTarget) {n if (this._isShown || this._isTransitioning) {n returnn }nn if ($(this._element).hasClass(CLASS_NAME_FADE)) {n this._isTransitioning = truen }nn const showEvent = $.Event(EVENT_SHOW, {n relatedTargetn })nn $(this._element).trigger(showEvent)nn if (this._isShown || showEvent.isDefaultPrevented()) {n returnn }nn this._isShown = truenn this._checkScrollbar()n this._setScrollbar()nn this._adjustDialog()nn this._setEscapeEvent()n this._setResizeEvent()nn $(this._element).on(n EVENT_CLICK_DISMISS,n SELECTOR_DATA_DISMISS,n (event) => this.hide(event)n )nn $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {n $(this._element).one(EVENT_MOUSEUP_DISMISS, (event) => {n if ($(event.target).is(this._element)) {n this._ignoreBackdropClick = truen }n })n })nn this._showBackdrop(() => this._showElement(relatedTarget))n }nn hide(event) {n if (event) {n event.preventDefault()n }nn if (!this._isShown || this._isTransitioning) {n returnn }nn const hideEvent = $.Event(EVENT_HIDE)nn $(this._element).trigger(hideEvent)nn if (!this._isShown || hideEvent.isDefaultPrevented()) {n returnn }nn this._isShown = falsen const transition = $(this._element).hasClass(CLASS_NAME_FADE)nn if (transition) {n this._isTransitioning = truen }nn this._setEscapeEvent()n this._setResizeEvent()nn $(document).off(EVENT_FOCUSIN)nn $(this._element).removeClass(CLASS_NAME_SHOW)nn $(this._element).off(EVENT_CLICK_DISMISS)n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)nn if (transition) {n const transitionDuration = Util.getTransitionDurationFromElement(this._element)nn $(this._element)n .one(Util.TRANSITION_END, (event) => this._hideModal(event))n .emulateTransitionEnd(transitionDuration)n } else {n this._hideModal()n }n }nn dispose() {n [window, this._element, this._dialog]n .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY))nn /**n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`n * Do not move `document` in `htmlElements` arrayn * It will remove `EVENT_CLICK_DATA_API` event that should remainn */n $(document).off(EVENT_FOCUSIN)nn $.removeData(this._element, DATA_KEY)nn this._config = nulln this._element = nulln this._dialog = nulln this._backdrop = nulln this._isShown = nulln this._isBodyOverflowing = nulln this._ignoreBackdropClick = nulln this._isTransitioning = nulln this._scrollbarWidth = nulln }nn handleUpdate() {n this._adjustDialog()n }nn // Privatenn _getConfig(config) {n config = {n …Default,n …confign }n Util.typeCheckConfig(NAME, config, DefaultType)n return confign }nn _triggerBackdropTransition() {n if (this._config.backdrop === 'static') {n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)nn $(this._element).trigger(hideEventPrevented)n if (hideEventPrevented.defaultPrevented) {n returnn }nn const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeightnn if (!isModalOverflowing) {n this._element.style.overflowY = 'hidden'n }nn this._element.classList.add(CLASS_NAME_STATIC)nn const modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog)n $(this._element).off(Util.TRANSITION_END)nn $(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 } else {n this.hide()n }n }nn _showElement(relatedTarget) {n const transition = $(this._element).hasClass(CLASS_NAME_FADE)n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : nullnn if (!this._element.parentNode ||n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {n // Don't move modal's DOM positionn document.body.appendChild(this._element)n }nn this._element.style.display = 'block'n this._element.removeAttribute('aria-hidden')n this._element.setAttribute('aria-modal', true)n this._element.setAttribute('role', 'dialog')nn if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {n modalBody.scrollTop = 0n } else {n this._element.scrollTop = 0n }nn if (transition) {n Util.reflow(this._element)n }nn $(this._element).addClass(CLASS_NAME_SHOW)nn if (this._config.focus) {n this._enforceFocus()n }nn const shownEvent = $.Event(EVENT_SHOWN, {n relatedTargetn })nn const transitionComplete = () => {n if (this._config.focus) {n this._element.focus()n }n this._isTransitioning = falsen $(this._element).trigger(shownEvent)n }nn if (transition) {n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)nn $(this._dialog)n .one(Util.TRANSITION_END, transitionComplete)n .emulateTransitionEnd(transitionDuration)n } else {n transitionComplete()n }n }nn _enforceFocus() {n $(document)n .off(EVENT_FOCUSIN) // Guard against infinite focus loopn .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 }nn _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 }nn _setResizeEvent() {n if (this._isShown) {n $(window).on(EVENT_RESIZE, (event) => this.handleUpdate(event))n } else {n $(window).off(EVENT_RESIZE)n }n }nn _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 = falsen this._showBackdrop(() => {n $(document.body).removeClass(CLASS_NAME_OPEN)n this._resetAdjustments()n this._resetScrollbar()n $(this._element).trigger(EVENT_HIDDEN)n })n }nn _removeBackdrop() {n if (this._backdrop) {n $(this._backdrop).remove()n this._backdrop = nulln }n }nn _showBackdrop(callback) {n const animate = $(this._element).hasClass(CLASS_NAME_FADE)n ? CLASS_NAME_FADE : ''nn if (this._isShown && this._config.backdrop) {n this._backdrop = document.createElement('div')n this._backdrop.className = CLASS_NAME_BACKDROPnn if (animate) {n this._backdrop.classList.add(animate)n }nn $(this._backdrop).appendTo(document.body)nn $(this._element).on(EVENT_CLICK_DISMISS, (event) => {n if (this._ignoreBackdropClick) {n this._ignoreBackdropClick = falsen returnn }n if (event.target !== event.currentTarget) {n returnn }nn this._triggerBackdropTransition()n })nn if (animate) {n Util.reflow(this._backdrop)n }nn $(this._backdrop).addClass(CLASS_NAME_SHOW)nn if (!callback) {n returnn }nn if (!animate) {n callback()n returnn }nn const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)nn $(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)nn const callbackRemove = () => {n this._removeBackdrop()n if (callback) {n callback()n }n }nn if ($(this._element).hasClass(CLASS_NAME_FADE)) {n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)nn $(this._backdrop)n .one(Util.TRANSITION_END, callbackRemove)n .emulateTransitionEnd(backdropTransitionDuration)n } else {n callbackRemove()n }n } else if (callback) {n callback()n }n }nn // ———————————————————————-n // the following methods are used to handle overflowing modalsn // todo (fat): these should probably be refactored out of modal.jsn // ———————————————————————-nn _adjustDialog() {n const isModalOverflowing =n this._element.scrollHeight > document.documentElement.clientHeightnn if (!this._isBodyOverflowing && isModalOverflowing) {n this._element.style.paddingLeft = `${this._scrollbarWidth}px`n }nn if (this._isBodyOverflowing && !isModalOverflowing) {n this._element.style.paddingRight = `${this._scrollbarWidth}px`n }n }nn _resetAdjustments() {n this._element.style.paddingLeft = ''n this._element.style.paddingRight = ''n }nn _checkScrollbar() {n const rect = document.body.getBoundingClientRect()n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidthn this._scrollbarWidth = this._getScrollbarWidth()n }nn _setScrollbar() {n if (this._isBodyOverflowing) {n // Note: DOMNode.style.paddingRight returns the actual value or '' if not setn // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not setn const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))nn // Adjust fixed content paddingn $(fixedContent).each((index, element) => {n const actualPadding = element.style.paddingRightn const calculatedPadding = $(element).css('padding-right')n $(element)n .data('padding-right', actualPadding)n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)n })nn // Adjust sticky content marginn $(stickyContent).each((index, element) => {n const actualMargin = element.style.marginRightn const calculatedMargin = $(element).css('margin-right')n $(element)n .data('margin-right', actualMargin)n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)n })nn // Adjust body paddingn const actualPadding = document.body.style.paddingRightn 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 }nn $(document.body).addClass(CLASS_NAME_OPEN)n }nn _resetScrollbar() {n // Restore fixed content paddingn 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 })nn // Restore sticky contentn 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 })nn // Restore body paddingn const padding = $(document.body).data('padding-right')n $(document.body).removeData('padding-right')n document.body.style.paddingRight = padding ? padding : ''n }nn _getScrollbarWidth() { // thx d.walshn const scrollDiv = document.createElement('div')n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURERn document.body.appendChild(scrollDiv)n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidthn document.body.removeChild(scrollDiv)n return scrollbarWidthn }nn // Staticnn 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 }nn if (!data) {n data = new Modal(this, _config)n $(this).data(DATA_KEY, data)n }nn if (typeof config === 'string') {n if (typeof data === 'undefined') {n throw new TypeError(`No method named "${config}"`)n }n data(relatedTarget)n } else if (_config.show) {n data.show(relatedTarget)n }n })n }n}nn/**n * ————————————————————————n * Data Api implementationn * ————————————————————————n */nn$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {n let targetn const selector = Util.getSelectorFromElement(this)nn if (selector) {n target = document.querySelector(selector)n }nn const config = $(target).data(DATA_KEY)n ? 'toggle' : {n …$(target).data(),n …$(this).data()n }nn if (this.tagName === 'A' || this.tagName === 'AREA') {n event.preventDefault()n }nn const $target = $(target).one(EVENT_SHOW, (showEvent) => {n if (showEvent.isDefaultPrevented()) {n // Only register focus restorer if modal will actually get shownn returnn }nn $target.one(EVENT_HIDDEN, () => {n if ($(this).is(':visible')) {n this.focus()n }n })n })nn Modal._jQueryInterface.call($(target), config, this)n})nn/**n * ————————————————————————n * jQueryn * ————————————————————————n */nn$.fn = Modal._jQueryInterfacen$.fn.Constructor = Modaln$.fn.noConflict = () => {n $.fn = JQUERY_NO_CONFLICTn return Modal._jQueryInterfacen}nnexport default Modaln”]}