0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-12-13 01:08:58 +01:00
Bootstrap/js/dist/modal.js.map
2019-11-08 10:11:23 +02:00

1 line
45 KiB
Plaintext

{"version":3,"file":"modal.js","sources":["../src/util/index.js","../src/modal.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n 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\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\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 = {\n HIDE: `hide${EVENT_KEY}`,\n HIDE_PREVENTED: `hidePrevented${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show',\n STATIC: 'modal-static'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\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 = SelectorEngine.findOne(Selector.DIALOG, element)\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 Data.setData(element, DATA_KEY, this)\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.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\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 EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === 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 = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, 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 EventHandler.off(document, Event.FOCUSIN)\n\n Data.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 typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\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\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, 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._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, 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 this._triggerBackdropTransition()\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n _triggerBackdropTransition() {\n if (this._config.backdrop === 'static') {\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.add(ClassName.STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(ClassName.STATIC)\n })\n emulateTransitionEnd(this._element, modalTransitionDuration)\n this._element.focus()\n } else {\n this.hide()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n 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 = 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\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.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 = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\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 static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\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}\n\nexport default Modal\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","trim","getElementFromSelector","document","querySelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","elementStyle","parentNodeStyle","display","visibility","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEYCODE","Default","backdrop","keyboard","focus","show","DefaultType","Event","HIDE","HIDE_PREVENTED","HIDDEN","SHOW","SHOWN","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","CLICK_DATA_API","ClassName","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","FADE","STATIC","Selector","DIALOG","MODAL_BODY","DATA_TOGGLE","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_config","_getConfig","_element","_dialog","SelectorEngine","findOne","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_isTransitioning","_scrollbarWidth","Data","setData","toggle","relatedTarget","hide","classList","contains","showEvent","EventHandler","trigger","defaultPrevented","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","on","event","one","target","_showBackdrop","_showElement","preventDefault","hideEvent","transition","off","remove","_hideModal","dispose","htmlElement","removeData","handleUpdate","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","setAttribute","scrollTop","add","_enforceFocus","transitionComplete","which","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","_removeBackdrop","removeChild","callback","animate","createElement","className","currentTarget","backdropTransitionDuration","callbackRemove","modalTransitionDuration","isModalOverflowing","scrollHeight","documentElement","clientHeight","paddingLeft","paddingRight","rect","getBoundingClientRect","left","right","innerWidth","_getScrollbarWidth","find","actualPadding","calculatedPadding","Manipulator","setDataAttribute","actualMargin","marginRight","calculatedMargin","padding","getDataAttribute","removeDataAttribute","margin","scrollDiv","scrollbarWidth","width","clientWidth","jQueryInterface","each","data","getData","getDataAttributes","TypeError","getInstance","tagName","$","JQUERY_NO_CONFLICT","fn","Constructor","noConflict"],"mappings":"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"}